:root{color-scheme:light dark;--bg:#f7f4eb;--surface:#fffdf6;--ink:#242c29;--muted:#505e56;--line:#c3c9bc;--accent:#285341;--tint:#e7ebdc;--on-accent:#fffdf6;--focus:#9a3c12}
*{box-sizing:border-box}html{scroll-padding-top:1rem}body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}button{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}button{cursor:pointer}button:disabled{cursor:default}p,h1,h2,h3{margin:0}p+p{margin-top:1rem}h1,h2,h3{line-height:1.12;text-wrap:balance}h1{font-size:clamp(3.4rem,6.4vw,6.8rem);font-weight:540;letter-spacing:-.065em}h2{font-size:clamp(1.8rem,3.6vw,3rem);font-weight:520;letter-spacing:-.04em}h3{font-size:1.25rem;font-weight:620;letter-spacing:-.025em}p,li,button,dd{overflow-wrap:anywhere}main,header,footer{width:min(1200px,calc(100% - 5rem));margin:auto}.notice{background:var(--ink);color:var(--bg);text-align:center;padding:.55rem 1rem;font-size:.76rem;letter-spacing:.055em}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.8rem 0;border-bottom:1px solid var(--line)}.wordmark{font-size:1.45rem;font-weight:650;letter-spacing:-.05em;text-decoration:none}nav{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.86rem}.skip{position:absolute;top:-100px;left:1rem;padding:1rem;background:var(--surface);z-index:5}.skip:focus{top:1rem}.hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start;padding:4.5rem 0 4rem}.eyebrow{text-transform:uppercase;font-size:.73rem;font-weight:700;letter-spacing:.14em;color:var(--muted);margin-bottom:1.3rem}.intro{margin-top:1.8rem;max-width:40ch;color:var(--muted);font-size:1.1rem}.cta{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;min-height:48px;margin-top:2rem;padding:.75rem 1.2rem;border:1px solid var(--accent);border-radius:3px;text-decoration:none;background:var(--accent);color:var(--on-accent);font-size:.9rem;font-weight:600}.hero-note{margin-top:1.2rem;font-size:.75rem;color:var(--muted)}.conversation{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1.65rem;box-shadow:0 16px 32px #182d1b08}.demo-label{font-size:.71rem;color:var(--accent);font-weight:750;letter-spacing:.03em;border-bottom:1px solid var(--line);padding-bottom:.9rem;margin-bottom:1.3rem}.conversation h2{font-size:1.7rem}.helper{font-size:.85rem;color:var(--muted);margin-top:.7rem}.suggestions{display:grid;gap:.55rem;margin-top:1.3rem}.suggestions button{width:100%;text-align:left;min-height:48px;padding:.65rem .8rem;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:var(--bg);font-size:.83rem;line-height:1.45}.suggestions button:hover,.suggestions button[aria-pressed=true]{border-color:var(--accent);background:var(--tint)}.kind{display:block;color:var(--muted);text-transform:uppercase;font-size:.6rem;letter-spacing:.08em;font-weight:700;margin-bottom:.15rem}.reply{border-left:3px solid var(--accent);padding-left:1rem;margin-top:1.3rem;font-size:.9rem}.reply p+p{margin-top:.6rem}.reply .question{font-weight:650}.source-link{font-size:.78rem}.audio-note{border-top:1px solid var(--line);padding-top:.8rem;margin-top:1.3rem;font-size:.72rem;color:var(--muted)}[hidden]{display:none!important}.section{border-top:1px solid var(--line);padding:3.2rem 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:2rem}.section-head p{font-size:.8rem;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.7rem}.service{border-top:2px solid var(--accent);padding-top:1.2rem}.number{font-size:.7rem;color:var(--muted);margin-bottom:1.5rem}.service p:last-child{font-size:.93rem;color:var(--muted);margin-top:.8rem}.visit{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.hours{list-style:none;padding:0;margin:1.3rem 0 0}.hours li{padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.93rem}.contact{margin-top:1.4rem}.contact p{font-size:.93rem;color:var(--muted)}.contact strong{display:block;color:var(--ink);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}.contact p+p{margin-top:1.3rem}.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:0 2.5rem}.faq{padding:1.3rem 0;border-top:1px solid var(--line)}.faq h3{font-size:1rem;line-height:1.45}.faq p{font-size:.9rem;color:var(--muted);margin-top:.6rem}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:1.5rem 0 2rem;font-size:.72rem;color:var(--muted)}.metadata{max-width:65ch;overflow-wrap:anywhere}.gallery-hero{padding:4rem 0 3rem;max-width:800px}.gallery-hero h1{font-size:clamp(3rem,6vw,5.5rem)}.gallery-hero .intro{max-width:60ch}.sample-card{background:var(--surface);padding:1.6rem;border:1px solid var(--line);border-radius:8px}.sample-card h2{font-size:2rem;margin:1.5rem 0 1rem}.sample-card p{color:var(--muted);font-size:.9rem}.sample-card .cta{margin-top:1.5rem}.gallery-grid{padding-bottom:4rem}
@media(prefers-color-scheme:dark){:root{--bg:#171d1a;--surface:#202923;--ink:#f3f2e9;--muted:#bcc8bc;--line:#536357;--accent:#b3d9b5;--tint:#2b3c30;--on-accent:#17251b;--focus:#ffbd8a}.conversation{box-shadow:none}}
@media(max-width:800px){main,header,footer{width:calc(100% - 2.5rem)}.hero{grid-template-columns:1fr;padding:3rem 0;gap:2.5rem}.intro{max-width:55ch}.cards{grid-template-columns:1fr;gap:1.8rem}.service .number{margin-bottom:.6rem}.visit{gap:2rem}.gallery-grid{grid-template-columns:1fr}.topbar{padding:1.2rem 0}.section{padding:2.5rem 0}.gallery-hero{padding-top:3rem}}
@media(max-width:520px){.topbar{align-items:flex-start;flex-direction:column;gap:.7rem}nav{gap:1rem}.visit,.faq-list{grid-template-columns:1fr}.visit{gap:2.5rem}.section-head{align-items:flex-start;flex-direction:column}.conversation{padding:1.15rem}h1{font-size:3.5rem}.hero{padding-top:2.5rem}.notice{font-size:.65rem}.footer{flex-direction:column}}
