*,*:before,*:after{box-sizing:border-box}html,body{margin:0}html{color-scheme:light;scroll-behavior:smooth}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid currentColor;outline-offset:4px}.skip-link{background:#1a1812;border-radius:999px;color:#f5efe1;font-family:Geist,ui-sans-serif,system-ui,sans-serif;font-size:13px;left:1rem;letter-spacing:.02em;padding:.65rem 1rem;position:fixed;top:1rem;transform:translateY(-150%);transition:transform .2s ease;z-index:50}.skip-link:focus{transform:translateY(0)}:root{--font-display: "Instrument Serif", "Times New Roman", serif;--font-body: "Geist", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--r-card: 28px;--r-pill: 999px;--r-chip: 12px;--gap-page: clamp(16px, 2vw, 28px);--col-gap: clamp(18px, 1.6vw, 24px);--shadow-soft: 0 1px 0 rgba(255, 255, 255, .5) inset, 0 14px 40px -20px rgba(0, 0, 0, .25)}html[data-theme=ink]{--bg: oklch(.965 .012 80);--paper: oklch(.985 .008 80);--ink: oklch(.18 .015 60);--ink-muted: oklch(.42 .015 60);--ink-soft: oklch(.62 .012 60);--line: oklch(.88 .012 70);--dark: oklch(.22 .025 70);--dark-2: oklch(.28 .025 70);--on-dark: oklch(.93 .015 80);--on-dark-muted: oklch(.72 .012 80);--warm: oklch(.92 .025 80);--on-warm: oklch(.22 .02 60);--accent: oklch(.74 .13 75);--accent-ink: oklch(.28 .06 70);--rule: color-mix(in oklch, var(--ink), transparent 88%)}html[data-theme=forest]{--bg: oklch(.96 .012 90);--paper: oklch(.985 .008 90);--ink: oklch(.2 .02 160);--ink-muted: oklch(.42 .018 160);--ink-soft: oklch(.6 .014 160);--line: oklch(.88 .012 150);--dark: oklch(.24 .04 165);--dark-2: oklch(.3 .04 165);--on-dark: oklch(.94 .012 90);--on-dark-muted: oklch(.74 .012 90);--warm: oklch(.93 .02 95);--on-warm: oklch(.22 .03 160);--accent: oklch(.68 .13 55);--accent-ink: oklch(.28 .06 50);--rule: color-mix(in oklch, var(--ink), transparent 88%)}html[data-theme=blush]{--bg: oklch(.955 .014 20);--paper: oklch(.98 .01 20);--ink: oklch(.22 .025 350);--ink-muted: oklch(.44 .02 350);--ink-soft: oklch(.62 .015 350);--line: oklch(.88 .014 20);--dark: oklch(.24 .035 340);--dark-2: oklch(.3 .035 340);--on-dark: oklch(.94 .012 20);--on-dark-muted: oklch(.74 .012 20);--warm: oklch(.93 .022 25);--on-warm: oklch(.22 .03 340);--accent: oklch(.7 .11 18);--accent-ink: oklch(.3 .06 15);--rule: color-mix(in oklch, var(--ink), transparent 88%)}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .35s ease,color .35s ease}a:hover{color:var(--accent-ink)}::selection{background:var(--accent);color:var(--accent-ink)}.frame{padding:0 var(--gap-page)}.wrap{max-width:1320px;margin:0 auto}.stack>*+*{margin-top:var(--col-gap)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--col-gap)}@media(max-width:880px){.grid-2{grid-template-columns:1fr}}.util{border-bottom:1px solid var(--line);font-size:12px;color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase}.util .wrap{display:flex;justify-content:space-between;align-items:center;height:38px}.util-l,.util-r{display:flex;gap:22px;align-items:center}.util a:hover{color:var(--ink)}.util .dot{width:6px;height:6px;border-radius:50%;background:#31aa40;display:inline-block;margin-right:6px;box-shadow:0 0 0 3px color-mix(in oklch,oklch(.65 .18 145),transparent 80%)}header.top{padding-top:18px}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:26px;letter-spacing:.01em}.brand .mark{width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-family:var(--font-display);font-style:italic;font-size:18px}.brand .name{text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-family:var(--font-body);font-weight:500}.brand .name b{display:block;font-family:var(--font-display);font-style:italic;font-weight:400;font-size:22px;letter-spacing:.01em;text-transform:none;line-height:1;margin-top:2px}.cta{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:var(--r-pill);background:var(--ink);color:var(--bg);font-size:13px;letter-spacing:.03em;border:1px solid var(--ink);transition:transform .2s ease,background .2s ease;font-family:var(--font-body);font-weight:500}.cta:hover{transform:translateY(-1px);background:var(--dark-2);color:var(--bg)}.cta .arr{font-family:var(--font-display);font-style:italic;font-size:16px}.cta-ghost{background:transparent;color:var(--ink)}.cta-ghost:hover{background:var(--ink);color:var(--bg)}nav.primary{margin-top:18px;padding:10px 22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-pill);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}nav.primary ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}nav.primary li a{display:inline-block;padding:8px 14px;border-radius:var(--r-pill);color:var(--ink-muted);transition:background .2s,color .2s}nav.primary li a:hover,nav.primary li a.is-active{background:var(--bg);color:var(--ink)}nav.primary li a.is-active{background:var(--ink);color:var(--bg)}nav.primary .end{color:var(--ink-soft);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding-right:8px}.hero{margin-top:var(--col-gap);border-radius:var(--r-card);overflow:hidden;position:relative;aspect-ratio:24 / 9;background-color:var(--dark);background-image:url(/assets/hero/hero-poster.webp);background-size:cover;background-position:center}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--dark)}.hero-tint{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,#0009,#0003 55%,#00000073)}@media(prefers-reduced-motion:reduce){.hero-video{display:none}}.hero .label{position:absolute;left:6%;bottom:8%;font-family:var(--font-display);color:#f9f4ee;font-size:clamp(36px,5vw,76px);line-height:.95;max-width:14ch;letter-spacing:-.005em;font-weight:400;margin:0}.hero .label em{color:var(--accent);font-style:italic}.hero .kicker{position:absolute;left:6%;top:8%;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#f9f4eecc;display:flex;gap:10px;align-items:center}.hero .kicker:before{content:"";width:28px;height:1px;background:#f9f4ee99}.hero .markblock{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:clamp(110px,14vw,220px);aspect-ratio:1;border-radius:50%;border:1px solid oklch(.97 .01 80 / .35);display:grid;place-items:center;font-family:var(--font-display);font-style:italic;color:#f9f4ee;font-size:clamp(60px,9vw,130px);line-height:1}.hero .markblock:before{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid oklch(.97 .01 80 / .15)}.section{margin-top:var(--col-gap)}.card{border-radius:var(--r-card);overflow:hidden;min-height:480px;display:flex;flex-direction:column}.card.dark{background:var(--dark);color:var(--on-dark)}.card.warm{background:var(--warm);color:var(--on-warm)}.card.paper{background:var(--paper);color:var(--ink);border:1px solid var(--line)}.card.image{background:var(--dark);position:relative;margin:0;min-height:480px}.card.image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.card.image:after{content:attr(data-caption);position:absolute;left:18px;bottom:18px;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:#f9f4eed9;background:#00000073;padding:5px 10px;border-radius:999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.card .pad{padding:clamp(28px,3.5vw,56px);display:flex;flex-direction:column;flex:1}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);display:flex;align-items:center;gap:10px}.card.dark .eyebrow{color:var(--on-dark-muted)}.eyebrow:before{content:"";width:28px;height:1px;background:currentColor;opacity:.5}h1,h2,h3{font-family:var(--font-display);font-weight:400;margin:0;letter-spacing:-.01em;text-wrap:balance}.h-display{font-size:clamp(40px,4.4vw,64px);line-height:1.02;margin-top:22px}.h-display em{color:var(--accent);font-style:italic}.card.dark .h-display em{color:var(--accent)}.h-section{font-size:clamp(34px,3.2vw,48px);line-height:1.05;margin-top:18px}.h-section em{font-style:italic;color:var(--accent)}.lede{margin-top:20px;font-size:clamp(15px,1.05vw,17px);color:inherit;opacity:.85;max-width:44ch}.card.dark .lede{color:var(--on-dark-muted);opacity:1}.body-cols{margin-top:22px;columns:2;column-gap:28px;column-rule:1px solid var(--rule);font-size:14.5px;line-height:1.6;color:var(--ink-muted)}.card.dark .body-cols{color:var(--on-dark-muted)}.body-cols p{margin:0 0 12px;break-inside:avoid}.body-cols p strong{color:var(--ink);font-weight:600}.card.dark .body-cols p strong{color:var(--on-dark)}@media(max-width:720px){.body-cols{columns:1}}.card-actions{margin-top:auto;padding-top:28px;display:flex;gap:10px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:10px;padding:11px 16px 11px 14px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-chip);font-size:13.5px;letter-spacing:.01em;transition:background .2s ease,color .2s ease,border-color .2s ease}.chip .num{font-family:var(--font-mono);font-size:10px;color:var(--ink-soft);letter-spacing:.04em}.chip:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip:hover .num{color:var(--accent)}.chip .arr{margin-left:auto;font-family:var(--font-display);font-style:italic}.chip-list{display:flex;flex-direction:column;gap:8px;margin-top:28px;max-width:360px}.btn-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent);border-bottom:1px solid currentColor;padding-bottom:2px;font-size:13px;letter-spacing:.04em;text-transform:uppercase}.review{background:var(--paper);border-radius:18px;padding:22px;margin-top:24px;color:var(--ink);display:block;border:1px solid transparent;transition:border-color .2s ease,transform .2s ease}a.review:hover{border-color:var(--accent);transform:translateY(-1px);color:var(--ink)}.review .top-row{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;color:var(--ink-soft)}.review .g-mark{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--bg);border:1px solid var(--line);margin-right:8px}.review .top-row>span:nth-child(2){flex:1;text-align:left;margin-left:0}.review .by .arr{font-family:var(--font-display);font-style:italic;color:var(--accent-ink)}.review .stars{display:flex;gap:3px;margin:12px 0}.review .stars span{width:22px;height:22px;background:var(--accent);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.review .quote{font-family:var(--font-display);font-size:22px;line-height:1.3;color:var(--ink);margin:0;text-wrap:balance}.review .by{margin-top:14px;font-size:13px;color:var(--ink-muted);display:flex;justify-content:space-between}.pager{margin-top:18px;display:flex;gap:6px;justify-content:center}.pager span{width:6px;height:6px;border-radius:50%;background:var(--on-dark-muted);opacity:.35}.pager span.is-on{opacity:1;background:var(--accent)}.faq{margin-top:calc(var(--col-gap) * 2);padding:clamp(36px,5vw,80px) 0;border-top:1px solid var(--line)}.faq .head{text-align:center;margin-bottom:48px}.faq .head .eyebrow{justify-content:center;display:inline-flex}.faq .head h2{margin-top:16px;font-size:clamp(34px,3.4vw,52px);line-height:1.05}.faq .head h2 em{font-style:italic;color:var(--accent)}.faq-grid{display:grid;grid-template-columns:280px 1fr;gap:48px}@media(max-width:880px){.faq-grid{grid-template-columns:1fr;gap:24px}}.faq-grid h3{font-size:22px;line-height:1.2;position:sticky;top:18px}.faq-grid h3 em{color:var(--accent);font-style:italic}.qa-list{display:flex;flex-direction:column}.qa{border-top:1px solid var(--line);padding:20px 0}.qa:last-child{border-bottom:1px solid var(--line)}.qa-q{font-family:var(--font-display);font-size:22px;line-height:1.25;color:var(--ink);margin:0 0 8px;display:flex;gap:18px;align-items:baseline}.qa-q .num{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);flex:0 0 auto;letter-spacing:.04em}.qa-a{color:var(--ink-muted);font-size:14.5px;line-height:1.6;margin:0;padding-left:36px;max-width:70ch}.contact-card{padding:clamp(28px,3.5vw,56px)}.phone{font-family:var(--font-display);font-size:clamp(40px,4.4vw,64px);line-height:1;margin-top:24px}.phone a{color:inherit}.contact-meta{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:24px;font-size:14px;color:var(--on-dark-muted)}.contact-meta dt{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-muted);margin-bottom:4px}.contact-meta dd{margin:0;color:var(--on-dark)}.map{aspect-ratio:4 / 3;border-radius:var(--r-card);overflow:hidden;position:relative;background:var(--paper);border:1px solid var(--line);margin:0}.map-frame{width:100%;height:100%;border:0;display:block;filter:saturate(.78) contrast(.96)}.map-label{position:absolute;left:16px;top:16px;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--ink-muted);background:var(--paper);border:1px solid var(--line);padding:6px 10px;border-radius:999px;pointer-events:none;box-shadow:0 1px #0000000a}.map-cta{position:absolute;right:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--bg);background:var(--ink);border:1px solid var(--ink);padding:9px 14px;border-radius:999px;transition:transform .2s ease,background .2s ease}.map-cta:hover{transform:translateY(-1px);background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.map-cta .arr{font-family:var(--font-display);font-style:italic}footer.foot{margin-top:var(--col-gap);padding:60px 0 30px;border-top:1px solid var(--line)}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}@media(max-width:720px){.foot-grid{grid-template-columns:1fr 1fr}}.foot h4{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 14px;font-weight:500}.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--ink-muted)}.foot ul a:hover{color:var(--ink)}.foot .lockup{font-family:var(--font-display);font-size:32px;line-height:1}.foot .lockup small{display:block;font-family:var(--font-body);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:10px}.foot-bottom{margin-top:56px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);letter-spacing:.04em}.ph{--ph-stripe: color-mix(in oklch, var(--ink), transparent 92%);background:repeating-linear-gradient(135deg,var(--ph-stripe) 0 1px,transparent 1px 14px),var(--warm);position:relative;overflow:hidden}.ph[data-tone=dark]{--ph-stripe: color-mix(in oklch, var(--on-dark), transparent 90%);background:repeating-linear-gradient(135deg,var(--ph-stripe) 0 1px,transparent 1px 14px),var(--dark)}.ph[data-tone=accent]{--ph-stripe: color-mix(in oklch, var(--accent-ink), transparent 80%);background:repeating-linear-gradient(135deg,var(--ph-stripe) 0 1px,transparent 1px 14px),color-mix(in oklch,var(--accent),white 60%)}.ph:before{content:attr(data-label);position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);opacity:.65;text-align:center;padding:24px}.ph[data-tone=dark]:before{color:var(--on-dark-muted)}.ph[data-tone=accent]:before{color:var(--accent-ink)}.ph .badge{position:absolute;left:18px;top:18px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);padding:5px 10px;border-radius:999px}.hero-ph{--ph-stripe: rgba(255, 255, 255, .06);background:linear-gradient(115deg,#3b2a17,#6a4f39,#442d20),var(--dark);background-blend-mode:multiply,normal;position:absolute;inset:0}.hero-ph:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0 1px,transparent 1px 16px)}.reviews-stats{display:flex;gap:18px;margin-top:18px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--on-dark-muted);text-transform:uppercase}.reviews-stats b{display:block;font-family:var(--font-display);font-size:26px;color:var(--on-dark);text-transform:none;letter-spacing:-.01em;margin-bottom:4px;font-weight:400}@media(max-width:720px){.hero{aspect-ratio:4 / 5}.hero .markblock{display:none}}.topbar{position:relative}.topbar-end{display:flex;align-items:center;justify-content:flex-end;gap:8px}.nav-mobile{display:none}.nav-toggle{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;padding:9px 14px 9px 12px;border-radius:var(--r-pill);border:1px solid var(--ink);background:transparent;color:var(--ink);font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:.03em;user-select:none;-webkit-user-select:none;transition:background .2s ease,color .2s ease}.nav-toggle::-webkit-details-marker{display:none}.nav-toggle::marker{content:""}.nav-toggle:hover,.nav-mobile[open] .nav-toggle{background:var(--ink);color:var(--bg)}.nav-toggle .bars{width:18px;height:12px;flex:0 0 auto;background:linear-gradient(currentColor,currentColor) top / 100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) center / 100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) bottom / 100% 1.5px no-repeat}.nav-mobile-panel{position:absolute;top:calc(100% + 12px);left:0;right:0;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:12px;z-index:30;display:flex;flex-direction:column;gap:6px;box-shadow:0 18px 50px -20px #00000040}.nav-mobile-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.nav-mobile-panel li a{display:block;padding:12px 16px;border-radius:10px;color:var(--ink-muted);font-size:14px;letter-spacing:.01em;transition:background .15s ease,color .15s ease}.nav-mobile-panel li a:hover,.nav-mobile-panel li a:focus-visible{background:var(--bg);color:var(--ink)}.nav-mobile-cta{display:flex;justify-content:center;margin-top:8px}@media(max-width:880px){.topbar{grid-template-columns:1fr auto}.topbar-spacer,.cta-desktop,nav.primary.nav-desktop{display:none}.nav-mobile{display:block}}@media(max-width:720px){.util .util-l a{display:none}}@media(max-width:480px){.util{display:none}}@media(max-width:720px){.h-display br,.h-section br{display:none}}@media(max-width:880px){.faq-grid h3{position:static}}@media(max-width:480px){.contact-meta{grid-template-columns:1fr;gap:18px}}@media(max-width:480px){.map-label{font-size:10px;padding:5px 9px}.map-cta{font-size:11px;padding:7px 11px}}@media(max-width:480px){.foot-bottom{flex-direction:column;align-items:flex-start;gap:8px}}
