:root {
  --forest: #192C27;
  --cedar: #9A704D;
  --lantern: #E7C28D;
  --ivory: #F5F1E8;
  --charcoal: #303836;
  --white: #fffdf8;
  --muted: #61716a;
  --line: #dedbd2;
  --light-cedar: #e6d5c2;
  --cream: #ebe6da;
  --shadow: 0 24px 75px rgba(25,44,39,.1);
}
* {box-sizing: border-box}
html {scroll-behavior: smooth}
body {margin: 0; background: var(--ivory); color: var(--forest); font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif; font-size: 16px; line-height: 1.6; text-rendering: optimizeLegibility}
img,svg {max-width: 100%}
a {color: inherit; text-underline-offset: .23em}
a:hover {color: #89613e}
a:focus-visible, button:focus-visible {outline: 3px solid #d39b54; outline-offset: 4px; border-radius: 3px}
.skip-link {position: absolute; top: -100px; left: 1rem; z-index: 30; padding: .5rem 1rem; background: var(--lantern); color: var(--forest)}
.skip-link:focus {top: 1rem}
.container {width: min(1140px, calc(100% - 48px)); margin-inline: auto}
.narrow {width: min(780px, calc(100% - 48px)); margin-inline: auto}
.site-header {background: rgba(245,241,232,.97); border-bottom: 1px solid var(--line); position: relative; z-index: 10}
.nav-wrap {display:flex; align-items:center; justify-content:space-between; gap: 1.3rem; min-height: 87px}
.brand {display:inline-flex; align-items:center; gap: .75rem; text-decoration:none; color: var(--forest)}
.brand img {width: 43px; height:43px}
.brand-word {font-family: Georgia,"Palatino Linotype",serif; letter-spacing:-.04em; font-weight:700; font-size: 1.45rem}
.brand-word span {color:var(--cedar)}
.site-nav {display:flex; flex-wrap:wrap; gap:clamp(.7rem,2.4vw,2rem); align-items:center}
.site-nav a {font-weight: 600; text-decoration:none; font-size: .94rem; color: var(--charcoal)}
.site-nav a[aria-current=page] {color: #845e3e}
.site-nav a:hover {color: #845e3e}
.nav-contact {border: 1px solid #b8afa1; border-radius: 999px; padding: .45rem .95rem}
.site-footer {background: var(--forest); color:#e5e8dc; margin-top: 5rem}
.footer-main {display:grid; grid-template-columns:1fr 1fr; gap:3rem; padding: 3.3rem 0 2rem}
.footer-brand {display:flex;align-items:center;gap:.8rem;text-decoration:none;max-width:max-content;color:var(--ivory)}
.footer-brand img {width:44px;height:44px}
.footer-brand strong {font-family: Georgia,serif;font-size:1.4rem}
.site-footer p {color:#c9d5ce; max-width:370px; margin:.7rem 0 0}
.footer-links {display:grid;grid-template-columns:1fr 1fr;gap:2rem;justify-self:end}
.footer-links strong {color:var(--lantern); font-size:.77rem; text-transform:uppercase;letter-spacing:.15em}
.footer-links a {display:block;color:#e5e8dc;text-decoration:none;margin-top:.55rem;font-size:.95rem}
.footer-links a:hover {color:var(--lantern)}
.footer-end {border-top:1px solid #40564c;padding:1rem 0 1.6rem;font-size:.85rem;color:#bdc8c1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.eyebrow {display:block; font-weight: 800; letter-spacing:.16em; font-size:.72rem; text-transform:uppercase;color:#946943}
.eyebrow-light {color:var(--lantern)}
h1,h2,h3,p {margin-top:0}
h1,h2,h3 {line-height:1.16}
h1,h2 {font-family: Georgia,"Palatino Linotype",serif;letter-spacing:-.045em}
h1 {font-size:clamp(2.9rem,5.5vw,5rem)}
h2 {font-size:clamp(2rem,3.5vw,3.15rem)}
h3 {font-size:1.3rem;letter-spacing:-.02em}
p {color:var(--charcoal)}
.lead {font-size: clamp(1.05rem,1.8vw,1.25rem); line-height:1.8}
.muted {color:var(--muted)}
.hero {padding-top: 2rem}
.hero-panel {background: var(--forest);border-radius: 26px;overflow:hidden;min-height:530px;display:grid;grid-template-columns:1.08fr .92fr;position:relative;box-shadow:var(--shadow)}
.hero-panel:before {content:"";position:absolute;width:480px;height:480px;background:radial-gradient(circle,rgba(231,194,141,.09),transparent 68%);right:0;top:0;pointer-events:none}
.hero-copy {padding:clamp(2.2rem,5vw,5.5rem);z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero-copy h1 {color:var(--ivory);margin:1.4rem 0 1.3rem}
.hero-copy h1 em {color:var(--lantern);font-style:normal}
.hero-copy p {color:#cbd7ce;max-width:475px;font-size:1.13rem;line-height:1.82;margin-bottom:2rem}
.hero-art {display:grid;place-items:center;position:relative;min-height:410px;padding:1rem}
.hero-art svg {max-height:500px;width:100%;height:100%}
.button-row {display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.btn {display:inline-flex;justify-content:center;align-items:center;gap:.6rem;padding:.9rem 1.25rem;border-radius:9px;text-decoration:none;font-weight:750;font-size:.95rem;line-height:1.2;transition:transform .16s ease,background-color .16s ease,color .16s ease}
.btn:hover {transform: translateY(-2px)}
.btn-primary {background:var(--lantern);color:var(--forest)}
.btn-primary:hover {background:#f4d5a8;color:var(--forest)}
.btn-ghost {border:1px solid #81968b;color:var(--ivory)}
.btn-ghost:hover {background:#2f4940;color:var(--ivory)}
.btn-dark {background:var(--forest);color:var(--ivory)}
.btn-dark:hover {background:#385046;color:var(--ivory)}
.btn-outline {border:1px solid #9aada2;color:var(--forest)}
.btn-outline:hover {background:#e5eae3;color:var(--forest)}
.section {padding: 5rem 0 0}
.section-heading {display:flex;align-items:end;justify-content:space-between;gap:1.4rem;margin-bottom:2rem}
.section-heading h2 {margin:.65rem 0 0}
.section-heading p {max-width:480px;margin:0}
.text-link {font-weight:750;text-decoration:none;border-bottom:1px solid #a88b65;padding-bottom:4px}
.project-card {background:var(--white);border:1px solid #e7e1d6;border-radius:20px;padding:clamp(1.5rem,4vw,3rem);display:grid;grid-template-columns: 1fr 1.1fr;gap:2rem;align-items:center;box-shadow:0 10px 35px rgba(25,44,39,.045)}
.app-signature {display:flex;align-items:center;gap:1.1rem;margin-bottom:1.6rem}
.app-signature img {width:78px;height:78px;border-radius:21px;box-shadow:0 8px 20px rgba(60,54,40,.12)}
.app-signature h3 {font-family:Georgia,serif;font-size:1.9rem;margin:0 0 .1rem}
.status {display:inline-flex;align-items:center;gap:.5rem;color:#76543c;font-weight:750;font-size:.8rem;letter-spacing:.04em}
.status:before {content:"";width:7px;height:7px;border-radius:50%;background:var(--cedar)}
.project-card p {max-width:440px;line-height:1.8}
.feature-pills {display:flex;gap:.5rem;flex-wrap:wrap;margin:1.2rem 0 1.7rem}
.pill {font-size:.8rem;color:#58645d;border:1px solid #cfdbd0;background:#eff3eb;border-radius:999px;padding:.35rem .65rem;font-weight:650}
.scentory-illustration {min-height:330px;display:grid;place-items:center;background:radial-gradient(ellipse at 35% 10%,#efe1c8 0,#e8dfd0 40%,#d7d6c6 100%);border-radius:16px;position:relative;overflow:hidden;padding:2rem}
.scentory-illustration:before,.scentory-illustration:after {content:"";position:absolute;border-radius:50%;border:1px solid rgba(154,112,77,.15)}
.scentory-illustration:before {width:380px;height:380px;left:-150px;top:-150px}
.scentory-illustration:after {width:280px;height:280px;right:-110px;bottom:-150px}
.phone {width:194px;height:354px;border-radius:27px;background:#f9f7f0;border:7px solid #333c39;box-shadow:18px 21px 35px rgba(22,43,34,.22);transform:rotate(-6deg);z-index:1;overflow:hidden;padding:16px 12px;color:#303836}
.phone-notch {height:9px;background:#333c39;border-radius:0 0 8px 8px;width:63px;margin:-16px auto 15px}
.phone-head {font-size:.58rem;text-transform:uppercase;letter-spacing:.15em;color:#9a704d;font-weight:800}
.phone-title {font-family:Georgia,serif;font-weight:700;font-size:1.25rem;line-height:1.2;margin:.3rem 0 1rem}
.phone-search {background:#e7e7de;border-radius:7px;padding:.4rem .55rem;font-size:.65rem;color:#7b887f;margin-bottom:.7rem}
.phone-item {display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid #dedbd2}
.phone-jar {width:28px;height:30px;border-radius:3px 3px 7px 7px;background:#bd986c;position:relative;flex-shrink:0}
.phone-jar:before {content:"";position:absolute;top:-4px;left:-2px;width:32px;height:6px;background:#6a5745;border-radius:3px}
.phone-jar.rose {background:#bd867c}.phone-jar.moss {background:#6c8067}
.phone-item b {display:block;font-size:.65rem;line-height:1.3}.phone-item span {font-size:.57rem;color:#94724c}
.ui-note {position:absolute;bottom:1rem;right:1.15rem;font-size:.65rem;letter-spacing:.09em;font-weight:800;text-transform:uppercase;color:#7c735d}
.values-grid {display:grid;grid-template-columns: repeat(3,1fr);gap:1rem}
.value-card {padding:1.75rem;background:#ede8dc;border:1px solid #e1dbcf;border-radius:17px}
.value-icon {display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#d6c3a8;color:#314a3f;font-size:1.35rem;margin-bottom:1.2rem}
.value-card h3 {margin-bottom:.55rem}
.value-card p {margin:0;font-size:.94rem;line-height:1.7;color:#536159}
.statement {background:var(--forest);color:var(--ivory);padding:4rem;border-radius:22px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem}
.statement h2 {font-size:clamp(1.9rem,3vw,2.7rem);margin:.5rem 0 .8rem;color:var(--ivory)}
.statement p {color:#d1ddd4;margin:0}
.page-intro {padding:4.5rem 0 2rem}
.page-intro h1 {font-size:clamp(2.65rem,5vw,4.45rem);margin: .9rem 0 1rem}
.page-intro .lead {max-width:735px}
.app-detail-intro {display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:center}
.app-detail-intro .scentory-illustration {min-height:395px}
.app-detail-intro .phone {transform:rotate(4deg)}
.paper {background:var(--white);border:1px solid #e7e1d6;border-radius:19px;padding:clamp(1.5rem,4vw,3rem);box-shadow:0 10px 35px rgba(25,44,39,.035)}
.paper h2 {font-size:1.9rem;margin:0 0 1rem}
.paper h3 {font-size:1.15rem;margin:1.6rem 0 .5rem}
.paper p,.paper li {line-height:1.8;color:var(--charcoal)}
.paper ul {padding-left:1.25rem}
.paper a {color:#805b3b;font-weight:650}
.info-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.info-card {background:var(--white);border:1px solid #e7e1d6;border-radius:16px;padding:1.6rem}
.info-card h3 {margin:.4rem 0 .7rem}
.info-card p {font-size:.94rem;margin-bottom:0;line-height:1.7}
.info-card a {color:#805b3b;font-weight:750}
.breadcrumbs {font-size:.86rem;color:#586960;margin-bottom:1.2rem}
.breadcrumbs a {color:#5b6b61}
.breadcrumbs span {margin:0 .6rem;color:#a5afa7}
.rule-note {border-left:4px solid var(--cedar);background:#eae2d3;padding:1rem 1.2rem;border-radius:0 12px 12px 0;margin:1.3rem 0;color:var(--charcoal)}
.rule-note strong {color:var(--forest)}
.contact-box {background:#f2ebdd;border:1px solid #e0d0b9;border-radius:13px;padding:1.3rem;margin-top:1rem}
.contact-box h3 {margin:.15rem 0 .5rem}
.contact-pending {display:block;color:#765e48;font-weight:600}
.contact-address {font-weight:800;color:#805b3b;overflow-wrap:anywhere}
.simple-list {padding-left:1.2rem}
.simple-list li {margin-bottom:.5rem}
.kicker-small {font-size:.8rem;color:#805b3b;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.app-tile {width:100%;display:grid;grid-template-columns:90px 1fr;gap:1.5rem;align-items:center;background:var(--white);padding:2rem;border:1px solid #e4ded3;border-radius:18px;text-decoration:none}
.app-tile:hover {color:var(--forest);border-color:#bda58a;box-shadow:var(--shadow)}
.app-tile img {width:90px;height:90px;border-radius:22px}
.app-tile h2 {font-family:Georgia,serif;font-size:2rem;margin:.2rem 0 .4rem}
.app-tile p {margin:0;max-width:600px;color:#59675e}
.sep {border:0;border-top:1px solid var(--line);margin:2rem 0}
.faq details {border-bottom:1px solid #dedbd2;padding:1rem 0}
.faq summary {cursor:pointer;font-weight:800;color:var(--forest);list-style-position:inside}
.faq p {padding:.6rem 0 0 1rem;margin:0}
code {background:#eee7d9;padding:.1rem .4rem;border-radius:4px;font-size:.94em}
@media (max-width: 870px) {
  .hero-panel,.project-card,.app-detail-intro {grid-template-columns:1fr}
  .hero-panel {min-height:0}
  .hero-copy {padding:3rem}
  .hero-art {min-height:340px}
  .hero-art svg {max-height:360px}
  .project-card {gap:1.3rem}
  .section-heading {align-items:start;flex-direction:column}
  .values-grid {grid-template-columns:1fr 1fr}
  .statement {grid-template-columns:1fr;padding:2.5rem}
}
@media (max-width: 620px) {
  .container,.narrow {width:min(100% - 32px,1140px)}
  .nav-wrap {align-items:flex-start;flex-direction:column;padding:1rem 0;gap:.65rem}
  .brand img {width:39px;height:39px}
  .brand-word {font-size:1.3rem}
  .site-nav {gap:1.1rem}
  .site-nav a {font-size:.87rem}
  .nav-contact {padding:.2rem .5rem}
  .hero {padding-top:1rem}
  .hero-panel {border-radius:19px}
  .hero-copy {padding:2rem 1.5rem 1.1rem}
  .hero-copy h1 {font-size:2.8rem}
  .hero-copy p {font-size:1rem}
  .hero-art {min-height:235px;padding:0}
  .hero-art svg {max-height:260px}
  .section {padding-top:3.3rem}
  .values-grid,.info-grid {grid-template-columns:1fr}
  .footer-main {grid-template-columns:1fr;gap:2rem}
  .footer-links {justify-self:start;gap:3rem}
  .site-footer {margin-top:3.5rem}
  .app-tile {grid-template-columns:1fr;gap:1rem;padding:1.5rem}
  .app-tile img {width:75px;height:75px}
  .page-intro {padding:2.7rem 0 1.5rem}
  .statement {padding:1.8rem}
}
@media (prefers-reduced-motion: reduce) {html {scroll-behavior:auto}.btn {transition:none}}
/* The hidden attribute must win over display on button-like links. */
[hidden] {display:none !important}
/* Keep button text readable when buttons appear inside long-form content. */
.paper a.btn-dark {color:var(--ivory)}
.paper a.btn-outline {color:var(--forest)}
.paper a.btn-primary {color:var(--forest)}
