@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/79e9e0e3b9220e46-s.3a-pd9010p_dh.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/e62850744c7f266e-s.0n7ulcr4ivksg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/9433d1a810498265-s.p.1hij5ex6k3v9q.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/150f724d70372c02-s.1ljbalzvxyif7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/750c737482d9de2f-s.3ex3j6ahhvjry.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.40bho2kviej2o.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.Tx0qMG_className{font-family:Newsreader,Newsreader Fallback}.Tx0qMG_variable{--font-newsreader:"Newsreader", "Newsreader Fallback"}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.u8MhCG_className{font-family:Geist,Geist Fallback;font-style:normal}.u8MhCG_variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}._2QVhuG_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}._2QVhuG_variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--bg:#f5f2eb;--bg-deep:#ece7dc;--surface:#fffdf9;--surface-2:#faf8f3;--ink:#1b2420;--text:#39413c;--muted:#666a61;--line:#1b242017;--line-strong:#1b242029;--sage:#5a7d5a;--sage-soft:#a8bba0;--forest:#22362a;--forest-hover:#2d4636;--sage-pale:#e9eee4;--sage-ink:#3f6a42;--sand-pale:#f6eedb;--sand-ink:#85601a;--red-pale:#fbeaea;--red-ink:#973a36;--font-serif:var(--font-newsreader), "Newsreader", Georgia, serif;--font-sans:var(--font-geist), "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:var(--font-geist-mono), "SF Mono", ui-monospace, monospace;--r-s:12px;--r:20px;--r-l:28px;--bezel-pad:6px;--shadow-soft:0 1px 1px #22362a08, 0 12px 32px -12px #22362a1f;--shadow-float:0 2px 4px #22362a0a, 0 24px 60px -20px #22362a38;--spring:cubic-bezier(.32, .72, 0, 1);--wrap:1200px;--wrap-text:720px;--gutter:clamp(20px, 4.5vw, 48px);--section:clamp(68px, 11vw, 152px);--header-h:84px;--bar-h:0px;--pad-l:max(var(--gutter), env(safe-area-inset-left));--pad-r:max(var(--gutter), env(safe-area-inset-right));--z-bar:30;--z-header:40;--z-menu:45;--z-grain:60}@media (max-width:360px){:root{--gutter:16px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px);scroll-padding-bottom:calc(var(--bar-h) + 16px);overflow-x:clip}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow-wrap:break-word;margin:0;font-size:17px;line-height:1.65}body:after{content:"";z-index:var(--z-grain);pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}img{max-width:100%;height:auto;display:block}a{color:inherit}a,button,summary,label{-webkit-tap-highlight-color:#22362a14}button,input,select,textarea{font:inherit;color:inherit}button,summary,.btn,.chip-btn,.slot,.cal-day{touch-action:manipulation}:focus-visible{outline:2px solid var(--sage);outline-offset:3px;border-radius:6px}::selection{background:var(--sage-pale);color:var(--ink)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:999px;padding:10px 16px;text-decoration:none;position:absolute;top:-60px;left:16px}.skip-link:focus{top:12px}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--ink);text-wrap:balance;margin:0;font-weight:400}p,li,dd,blockquote{text-wrap:pretty}.display{letter-spacing:-.04em;font-size:clamp(2.9rem,6.6vw,5.6rem);font-weight:350;line-height:.99}h1,.h1{letter-spacing:-.035em;font-size:clamp(2.5rem,5.2vw,4.2rem);font-weight:350;line-height:1.03}h2,.h2{letter-spacing:-.03em;font-size:clamp(2rem,3.9vw,3.1rem);font-weight:350;line-height:1.07}h3,.h3{letter-spacing:-.015em;font-size:1.45rem;line-height:1.2}h1 em,h2 em,.display em{color:var(--sage);font-style:italic;font-weight:300}p{margin:0 0 1em}.lead{color:var(--text);max-width:52ch;font-size:clamp(1.1rem,1.5vw,1.24rem);line-height:1.6}.muted{color:var(--muted)}.small{font-size:.9rem}.eyebrow{background:var(--surface);border:1px solid var(--line);font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-radius:999px;align-items:center;gap:8px;margin:0 0 22px;padding:6px 13px 6px 11px;font-size:.68rem;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--sage);border-radius:50%;width:6px;height:6px}.prose{max-width:var(--wrap-text)}.prose h2{margin:2em 0 .6em;font-size:clamp(1.7rem,2.8vw,2.2rem)}.prose h2:first-child{margin-top:0}.prose h3{margin:1.8em 0 .5em}.prose ul{margin:0 0 1.2em;padding-left:1.2em}.prose li{margin-bottom:.45em}.prose a{color:var(--forest);text-underline-offset:3px}.wrap{width:100%;max-width:var(--wrap);padding:0 var(--pad-r) 0 var(--pad-l);margin:0 auto}.wrap-text{max-width:calc(var(--wrap-text) + 2 * var(--gutter))}.section{padding:var(--section) 0 calc(var(--section) * 1.08)}.section-tight{padding:calc(var(--section) * .5) 0 calc(var(--section) * .62)}.section-alt{background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{max-width:680px;margin-bottom:clamp(44px,6vw,72px)}.section-head .lead{margin:20px 0 0}.split{align-items:center;gap:clamp(40px,7vw,104px);display:grid}.split>*,.page-hero-grid>*,.hero-grid>*,.footer-cta>*,.footer-grid>*,.qa-grid>*,.service-grid>*{min-width:0}.split-top{align-items:start}@media (min-width:900px){.split{grid-template-columns:1fr 1fr}.split-wide-left{grid-template-columns:1.15fr .85fr}.split-wide-right{grid-template-columns:.85fr 1.15fr}.sticky{top:calc(var(--header-h) + 32px);position:sticky}}main{min-height:60vh}.bezel{padding:var(--bezel-pad);border-radius:var(--r-l);background:#22362a09;border:1px solid #22362a12}.bezel-core{border-radius:calc(var(--r-l) - var(--bezel-pad));background:var(--surface);box-shadow:inset 0 1px 0 #ffffffe6, var(--shadow-soft);position:relative;overflow:hidden}.bezel-core.pad{padding:clamp(24px,3.4vw,40px)}.btn{--btn-bg:var(--forest);--btn-fg:#fff;--btn-border:var(--forest);--icon-bg:#ffffff24;background:var(--btn-bg);min-height:52px;color:var(--btn-fg);border:1px solid var(--btn-border);letter-spacing:-.005em;cursor:pointer;white-space:nowrap;transition:background-color .4s var(--spring), border-color .4s var(--spring), color .4s var(--spring), transform .3s var(--spring), box-shadow .4s var(--spring);border-radius:999px;justify-content:center;align-items:center;gap:12px;max-width:100%;padding:0 24px;font-size:.97rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:has(.btn-icon){padding-right:6px}.btn-icon{background:var(--icon-bg);width:40px;height:40px;transition:transform .5s var(--spring), background-color .4s var(--spring);border-radius:50%;flex:none;place-items:center;display:grid}.btn:hover{--btn-bg:var(--forest-hover);--btn-border:var(--forest-hover);box-shadow:0 10px 24px -12px #22362a80}.btn:hover .btn-icon{transform:translate(2px,-1px)scale(1.05)}.btn:active{transform:scale(.98)}.btn[disabled],.btn[aria-disabled=true]{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{--btn-bg:transparent;--btn-fg:var(--ink);--btn-border:var(--line-strong);--icon-bg:var(--sage-pale)}.btn-ghost:hover{--btn-bg:var(--surface);--btn-border:var(--ink);box-shadow:none}.btn-light{--btn-bg:var(--bg);--btn-fg:var(--forest);--btn-border:var(--bg);--icon-bg:var(--sage-pale)}.btn-light:hover{--btn-bg:#fff;--btn-border:#fff}.btn-sage{--btn-bg:var(--sage);--btn-fg:#fff;--btn-border:var(--sage);--icon-bg:#ffffff2e}.btn-sage:hover{--btn-bg:#4c6c4c;--btn-border:#4c6c4c;box-shadow:0 10px 24px -12px #00000073}.btn-danger{--btn-bg:transparent;--btn-fg:var(--red-ink);--btn-border:#973a364d}.btn-danger:hover{--btn-bg:var(--red-pale);--btn-border:var(--red-ink);box-shadow:none}.btn-sm{min-height:42px;padding:0 18px;font-size:.9rem}.btn-sm:has(.btn-icon){padding-right:4px}.btn-sm .btn-icon{width:34px;height:34px}.btn-block{width:100%}@media (max-width:420px){.btn{white-space:normal;text-align:center;padding-block:10px;line-height:1.25}}.btn-row{flex-wrap:wrap;align-items:center;gap:14px 24px;display:flex}.text-link,.link-arrow{color:var(--ink);transition:background-size .5s var(--spring), color .3s;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;align-items:center;gap:8px;padding-bottom:2px;font-weight:500;text-decoration:none;display:inline-flex}.text-link:hover,.link-arrow:hover{color:var(--forest);background-position:100% 100%;background-size:0% 1px}.text-link svg,.link-arrow svg{transition:transform .5s var(--spring)}.text-link:hover svg,.link-arrow:hover svg{transform:translate(3px)}.badge{letter-spacing:.08em;text-transform:uppercase;background:var(--sage-pale);color:var(--sage-ink);border-radius:6px;align-items:center;gap:6px;padding:3px 9px;font-size:.7rem;font-weight:500;display:inline-flex}.site-header{z-index:var(--z-header);height:var(--header-h);padding:12px var(--pad-r) 0 var(--pad-l);pointer-events:none;position:sticky;top:0}.nav-island{pointer-events:auto;max-width:calc(var(--wrap) - 2 * var(--gutter) + 28px);-webkit-backdrop-filter:saturate(1.6)blur(18px);height:60px;transition:box-shadow .5s var(--spring), background-color .5s var(--spring);background:#fffdf9b3;border:1px solid #22362a14;border-radius:999px;justify-content:space-between;align-items:center;gap:20px;margin:0 auto;padding:0 8px 0 18px;display:flex}.site-header[data-scrolled=true] .nav-island{box-shadow:var(--shadow-float);background:#fffdf9e0}.brand{min-width:0;min-height:44px;color:var(--ink);flex:0 auto;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand img{flex:none;width:30px;height:auto}.brand-name{font-family:var(--font-serif);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-block:.15em;font-size:1.22rem;line-height:1.1;overflow:hidden}.nav{align-items:center;gap:2px;display:none}.nav a{color:var(--text);transition:background-color .3s var(--spring), color .3s;border-radius:999px;padding:8px 14px;font-size:.93rem;text-decoration:none}.nav a:hover{color:var(--ink);background:#22362a0d}.nav a[aria-current=page]{color:var(--ink);background:#22362a12}.header-actions{align-items:center;gap:4px;display:none}.header-phone{color:var(--ink);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.9rem;text-decoration:none;transition:background-color .3s;display:inline-flex}.header-phone:hover{background:#22362a0d}.menu-toggle{background:var(--forest);cursor:pointer;border:0;border-radius:50%;flex:none;width:44px;height:44px;position:relative}.menu-toggle span{height:1.5px;transition:transform .5s var(--spring), top .5s var(--spring);background:#fff;border-radius:2px;position:absolute;left:14px;right:14px}.menu-toggle span:first-child{top:18px}.menu-toggle span:nth-child(2){top:25px}.menu-toggle[aria-expanded=true] span:first-child{top:21.5px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){top:21.5px;transform:rotate(-45deg)}@media (min-width:1040px){.nav,.header-actions{display:flex}.menu-toggle{display:none}}@media (max-width:340px){.nav-island{gap:10px;padding-left:14px}.brand{gap:8px}.brand-name{font-size:1.12rem}}.mobile-menu{z-index:var(--z-menu);padding:calc(var(--header-h) + 28px) var(--pad-r) calc(48px + env(safe-area-inset-bottom)) var(--pad-l);background:var(--bg);overscroll-behavior:contain;animation:fade .4s var(--spring);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.mobile-menu a.mobile-link{font-family:var(--font-serif);letter-spacing:-.03em;color:var(--ink);border-bottom:1px solid var(--line);opacity:0;animation:rise .7s var(--spring) forwards;animation-delay:calc(80ms + var(--i,0) * 60ms);padding:12px 0;font-size:clamp(2.2rem,9vw,3rem);line-height:1.1;text-decoration:none}.mobile-menu .btn-row{opacity:0;animation:rise .7s var(--spring) .46s forwards;margin-top:32px}.site-header:has(+.mobile-menu){z-index:calc(var(--z-menu) + 1)}.action-bar{left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));z-index:var(--z-bar);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow-float);background:#fffdf9db;border:1px solid #22362a14;border-radius:999px;grid-template-columns:1fr 1.5fr;gap:6px;padding:6px;display:grid;position:fixed}.action-bar .btn{min-height:48px;padding:0 16px}.action-bar .btn-ghost{--btn-bg:var(--surface)}.action-bar{transition:transform .4s var(--spring), opacity .3s var(--spring)}@media (min-width:1040px){.action-bar{display:none}}@media (max-width:1039px){:root:has(body>.action-bar){--bar-h:calc(74px + env(safe-area-inset-bottom))}body:has(>.action-bar) .site-footer{padding-bottom:calc(36px + var(--bar-h))}html:has(body>.action-bar):has(:is(input:not([type=checkbox]):not([type=radio]),textarea,select):focus){scroll-padding-bottom:16px}body:has(:is(input:not([type=checkbox]):not([type=radio]),textarea,select):focus) .action-bar{opacity:0;pointer-events:none;transform:translateY(calc(100% + 24px))}}.hero{padding:clamp(28px,5vw,72px) 0 clamp(72px,10vw,136px);position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#5a7d5a1f,#0000 70%);width:64vw;max-width:880px;height:64vw;max-height:880px;animation:28s ease-in-out infinite alternate drift;position:absolute;top:-18%;right:-12%}.hero-grid{align-items:center;gap:clamp(48px,7vw,88px);display:grid;position:relative}@media (min-width:980px){.hero-grid{grid-template-columns:1.08fr .92fr}}.hero .display{margin-bottom:28px}.hero .lead{margin-bottom:38px}.hero-trust{color:var(--muted);flex-wrap:wrap;gap:10px 26px;margin:44px 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.hero-trust li{align-items:center;gap:9px;display:inline-flex}.hero-trust svg{color:var(--sage)}@media (max-width:640px){.hero .display{margin-bottom:20px}.hero .lead{margin-bottom:28px}.hero-trust{gap:8px 22px;margin-top:30px}.hero .eyebrow{margin-bottom:18px}}.cascade{aspect-ratio:1/1.06;justify-self:end;width:100%;max-width:560px;position:relative}.cascade>.bezel{position:absolute}.cascade .bezel-core{height:100%}.cascade .c-main{inset:7% 0 11% 15%}.cascade .c-back{aspect-ratio:1;width:40%;top:0;left:0;transform:rotate(-3deg)}.cascade .c-front{aspect-ratio:1.55;width:50%;bottom:0;left:0;transform:rotate(2deg)}.cascade .c-front img{object-position:50% 45%}.chip{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-float);color:var(--ink);border-radius:999px;align-items:center;gap:10px;padding:10px 16px 10px 10px;font-size:.88rem;display:inline-flex}.chip .dot{background:var(--sage-pale);width:30px;height:30px;color:var(--sage-ink);border-radius:50%;flex:none;place-items:center;display:grid}.cascade .chip{position:absolute;bottom:20%;right:-3%}@media (max-width:979px){.cascade{justify-self:stretch;max-width:540px;margin:0 auto}}@media (max-width:640px){.cascade{aspect-ratio:1/1.02}.cascade .c-back,.cascade .c-front{transform:none}.cascade .c-back{display:none}.cascade .c-main{inset:0 0 15%}.cascade .c-front{width:50%;left:auto;right:4%}.cascade .chip{max-width:calc(100% - 28px);padding:8px 14px 8px 8px;font-size:.84rem;line-height:1.35;inset:14px auto auto 14px}}@media (max-width:979px){.hero{padding-top:10px}.hero-grid{gap:0}.hero .cascade{aspect-ratio:auto;order:-1;max-width:560px;height:clamp(236px,64vw,440px)}.hero .cascade .c-main{inset:0}.hero .cascade .c-back,.hero .cascade .chip{display:none}.hero .cascade .c-front{aspect-ratio:1.55;background:var(--surface);border:0;border-radius:16px;width:clamp(112px,30vw,150px);padding:4px;inset:18px 16px auto auto;transform:rotate(3deg);box-shadow:0 18px 40px -16px #22362a73}.hero .cascade .c-front .bezel-core{box-shadow:none;border-radius:12px}.hero-copy{z-index:1;background:var(--surface);border-radius:24px;width:calc(100% - 24px);max-width:536px;margin:-64px auto 0;padding:22px 22px 24px;position:relative;box-shadow:0 0 0 6px #22362a0a,0 0 0 7px #22362a14,0 24px 50px -24px #22362a59}.hero-copy .eyebrow{background:var(--bg);margin-bottom:16px}.hero-copy .display{margin-bottom:14px;font-size:clamp(2.05rem,8.6vw,2.9rem)}.hero-copy .lead{margin-bottom:20px;font-size:1rem;line-height:1.55}.hero-copy .btn-row{gap:12px 20px}.hero-copy .hero-trust{gap:6px 18px;margin-top:20px;font-size:.85rem}}@media (max-width:400px){.hero-copy{margin-top:-56px;padding:18px 18px 20px}.hero-copy .eyebrow{letter-spacing:.1em;margin-bottom:12px;padding:5px 11px 5px 9px;font-size:.62rem}.hero-copy .display{margin-bottom:12px}.hero-copy .lead{margin-bottom:18px;font-size:.97rem}}.photo{background:var(--bg-deep);position:relative;overflow:hidden}.photo img{object-fit:cover;filter:saturate(.85)contrast(1.03)sepia(.05);width:100%;height:100%;transition:transform 1.4s var(--spring)}a:hover .photo img,.photo:hover img{transform:scale(1.03)}.page-hero{padding:clamp(28px,4.5vw,56px) 0 clamp(56px,7vw,96px);position:relative;overflow:hidden}.page-hero:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#5a7d5a17,#0000 70%);width:56vw;max-width:720px;height:56vw;max-height:720px;position:absolute;top:-50%;right:-14%}.page-hero .wrap{position:relative}.page-hero-grid{align-items:end;gap:clamp(36px,6vw,80px);display:grid}@media (min-width:900px){.page-hero-grid.has-aside{grid-template-columns:1.2fr .8fr}}.page-hero h1{max-width:15ch;margin-bottom:22px}.page-hero .lead{margin:0}.page-hero-aside .bezel-core{aspect-ratio:4/3}.breadcrumbs{color:var(--muted);margin-bottom:26px;font-size:.82rem}.breadcrumbs ol{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";opacity:.45;margin-right:8px}.breadcrumbs a{margin:-12px 0;padding:12px 0;text-decoration:none;display:inline-block}.breadcrumbs a:hover{color:var(--ink)}@media (max-width:640px){.page-hero{padding-bottom:44px}.breadcrumbs{margin-bottom:20px}.page-hero h1{margin-bottom:18px}.page-hero-grid{gap:32px}}.trust-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-2)}.trust-band ul{padding:24px var(--pad-r) 24px var(--pad-l);max-width:var(--wrap);grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:14px 32px;margin:0 auto;list-style:none;display:grid}.trust-band li{color:var(--text);padding-left:28px;font-size:.92rem;display:block;position:relative}.trust-band svg{color:var(--sage);flex:none;position:absolute;top:.2em;left:0}.trust-band a{color:inherit;text-underline-offset:3px}.index{border-top:1px solid var(--line-strong);margin:0;padding:0;list-style:none}.index li{border-bottom:1px solid var(--line-strong)}.index a{color:inherit;isolation:isolate;transition:padding .6s var(--spring);grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:6px 16px;padding:24px 4px 24px 0;text-decoration:none;display:grid;position:relative}.index a:before{content:"";border-radius:var(--r-s);background:var(--surface);opacity:0;transition:opacity .4s var(--spring);z-index:-1;position:absolute;inset:0 -16px}.index a:hover{padding-left:10px}.index a:hover:before{opacity:1}.index .num{font-family:var(--font-serif);color:var(--sage);font-variant-numeric:tabular-nums;font-size:1.1rem;font-style:italic}.index .name{font-family:var(--font-serif);letter-spacing:-.025em;color:var(--ink);font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.1}.index .desc{color:var(--muted);grid-column:2;max-width:52ch;margin:0;font-size:.97rem}.index .go{border:1px solid var(--line-strong);width:44px;height:44px;color:var(--ink);transition:background-color .5s var(--spring), border-color .5s var(--spring), color .5s, transform .6s var(--spring);border-radius:50%;grid-area:1/3/span 2;place-items:center;display:grid}.index a:hover .go{background:var(--forest);border-color:var(--forest);color:#fff;transform:rotate(-45deg)}@media (min-width:900px){.index a{grid-template-columns:60px minmax(0,.85fr) minmax(0,1.15fr) 44px;gap:6px 24px;padding:30px 4px 30px 0}.index .desc{grid-column:3}.index .go{grid-area:1/4}}.service-grid{grid-template-columns:1fr;gap:18px;display:grid}@media (min-width:600px){.service-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1040px){.service-grid{grid-template-columns:repeat(4,1fr)}}.service-card{color:inherit;background:var(--surface);border-radius:calc(var(--r-l) - var(--bezel-pad));box-shadow:0 0 0 6px #22362a09, 0 0 0 7px #22362a12, inset 0 1px 0 #ffffffe6, var(--shadow-soft);transition:transform .6s var(--spring), box-shadow .6s var(--spring);flex-direction:column;gap:12px;margin:7px;padding:26px 24px 24px;text-decoration:none;display:flex}.service-card:hover{box-shadow:0 0 0 6px #22362a0d, 0 0 0 7px #22362a1a, inset 0 1px 0 #ffffffe6, var(--shadow-float);transform:translateY(-4px)}.service-icon{background:var(--sage-pale);width:52px;height:52px;color:var(--sage-ink);transition:background-color .4s var(--spring), color .4s;border-radius:16px;place-items:center;margin-bottom:6px;display:grid}.service-card:hover .service-icon{background:var(--forest);color:#fff}.service-title{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--ink);font-size:1.45rem;line-height:1.15}.service-desc{color:var(--muted);flex:1;font-size:.95rem;line-height:1.55}.service-more{color:var(--forest);align-items:center;gap:8px;margin-top:8px;font-size:.93rem;font-weight:500;display:inline-flex}.service-more svg{transition:transform .5s var(--spring)}.service-card:hover .service-more svg{transform:translate(4px)}.service-card-cta{background:var(--sage-pale)}.service-card-cta .service-title{font-size:1.6rem}@media (max-width:599px){.service-grid{gap:12px}.service-card{grid-template-columns:44px minmax(0,1fr);align-content:start;gap:6px 16px;padding:22px 20px 20px;display:grid}.service-card>*{grid-column:2}.service-icon{border-radius:14px;grid-area:1/1/span 3;width:44px;height:44px;margin:0}.service-card-cta>*{grid-column:1/-1}.service-title{font-size:1.35rem}.service-card-cta .service-title{font-size:1.45rem}.service-more{margin-top:4px}}.carousel-viewport{display:grid}.carousel-slide{opacity:0;visibility:hidden;transition:opacity .7s var(--spring), transform .8s var(--spring), visibility 0s linear .7s;grid-area:1/1;transform:translateY(14px)}.carousel-slide[data-active=true]{opacity:1;visibility:visible;transition:opacity .7s var(--spring), transform .8s var(--spring), visibility 0s;transform:none}.carousel-controls{justify-content:space-between;align-items:center;gap:16px;margin-top:36px;display:flex}.carousel-dots{align-items:center;gap:8px;display:flex}.carousel-dot{background:var(--line-strong);cursor:pointer;width:8px;height:8px;transition:width .5s var(--spring), background-color .4s;border:0;border-radius:999px;padding:0}.carousel-dot[aria-selected=true]{background:var(--forest);width:28px}.carousel-dot:before{content:"";box-sizing:content-box;width:100%;height:100%;margin:-10px;padding:10px;display:block}.carousel-viewport{touch-action:pan-y}@media (max-width:640px){.carousel-dots{gap:16px}.carousel-controls{margin-top:28px}.carousel .pull blockquote{font-size:1.42rem;line-height:1.28}.carousel .icon-btn{width:46px;height:46px}}.review-summary{padding-top:8px}.review-score{font-family:var(--font-serif);letter-spacing:-.04em;color:var(--ink);align-items:center;gap:16px;margin:0 0 12px;font-size:clamp(3.4rem,6vw,4.6rem);line-height:1;display:flex}.feature-photo .bezel-core{aspect-ratio:4/5}.ticks{gap:12px;margin:0;padding:0;list-style:none;display:grid}.ticks.two{gap:12px 28px}@media (min-width:640px){.ticks.two{grid-template-columns:1fr 1fr}}.ticks li{grid-template-columns:22px minmax(0,1fr);align-items:start;gap:12px;display:grid}.ticks svg{color:var(--sage);margin-top:4px}.pull{margin:0}.pull blockquote{font-family:var(--font-serif);letter-spacing:-.025em;color:var(--ink);margin:0;font-size:clamp(1.65rem,3.2vw,2.6rem);font-weight:350;line-height:1.2}.pull blockquote:before{content:"“";color:var(--sage-soft);margin-bottom:18px;font-size:4.5rem;line-height:.6;display:block}.pull figcaption{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:28px;font-size:.95rem;display:flex}.stars{color:var(--sage);gap:2px;display:inline-flex}.quote-small{border-top:1px solid var(--line-strong);margin:0;padding-top:28px}.quote-small blockquote{font-family:var(--font-serif);color:var(--ink);letter-spacing:-.015em;margin:0 0 12px;font-size:1.4rem;line-height:1.35}.quote-small figcaption{color:var(--muted);font-size:.92rem}.gallery{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.gallery .bezel-core{aspect-ratio:1}.gallery .wide{grid-column:span 2}.gallery .wide .bezel-core{aspect-ratio:2}.steps{counter-reset:step;margin:0;padding:0;list-style:none}.steps li{border-top:1px solid var(--line-strong);counter-increment:step;grid-template-columns:60px minmax(0,1fr);gap:16px;padding:28px 0;display:grid}.steps li:last-child{border-bottom:1px solid var(--line-strong)}.steps li:before{content:counter(step, decimal-leading-zero);font-family:var(--font-serif);color:var(--sage);font-size:1.5rem;font-style:italic;line-height:1.1}.steps h3{margin-bottom:6px;font-size:1.35rem}.steps p{color:var(--muted);margin:0}.qa-grid{gap:40px 64px;display:grid}@media (min-width:800px){.qa-grid{grid-template-columns:1fr 1fr}}.qa-grid>div{border-top:1px solid var(--line-strong);padding-top:24px}.qa-grid h3{margin-bottom:10px;font-size:1.3rem}.qa-grid p{color:var(--muted);margin:0}.faq{border-top:1px solid var(--line-strong)}.faq details{border-bottom:1px solid var(--line-strong)}.faq summary{cursor:pointer;font-family:var(--font-serif);color:var(--ink);letter-spacing:-.015em;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font-size:clamp(1.18rem,1.9vw,1.4rem);list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary .pm{border:1px solid var(--line-strong);width:36px;height:36px;transition:background-color .4s var(--spring), border-color .4s;border-radius:50%;flex:none;position:relative}.faq summary .pm:before,.faq summary .pm:after{content:"";background:var(--ink);height:1.5px;transition:transform .5s var(--spring), background-color .4s;margin-top:-.75px;position:absolute;top:50%;left:11px;right:11px}.faq summary .pm:after{transform:rotate(90deg)}.faq summary:hover .pm{border-color:var(--ink)}.faq details[open] summary .pm{background:var(--forest);border-color:var(--forest)}.faq details[open] summary .pm:before,.faq details[open] summary .pm:after{background:#fff}.faq details[open] summary .pm:after{transform:rotate(0)}.faq .answer{max-width:66ch;color:var(--text);padding:0 60px 28px 0}.faq .answer p:last-child{margin:0}@media (max-width:640px){.faq summary{gap:16px;min-height:64px;padding:20px 0}.faq .answer{padding:0 0 24px}}@media (hover:none){.faq summary:hover .pm{border-color:var(--line-strong)}}.hours{border-collapse:collapse;width:100%;font-size:.96rem}.hours th,.hours td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:12px 0;font-weight:400}.hours th{color:var(--ink)}.hours td{text-align:right;color:var(--text);font-variant-numeric:tabular-nums}.hours td span{line-height:1.7}.hours tr.closed td{color:var(--muted)}.contact-list{border-top:1px solid var(--line-strong);gap:0;display:grid}.contact-list>div{border-bottom:1px solid var(--line-strong);grid-template-columns:110px minmax(0,1fr);gap:16px;padding:18px 0;display:grid}.contact-list dt{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:4px;font-size:.72rem;font-weight:500}.contact-list dd{color:var(--ink);margin:0}.contact-list a{color:var(--ink);text-underline-offset:3px}.contact-list>div.stacked{grid-template-columns:1fr;gap:4px;padding:14px 0}.contact-list .stacked dd{color:var(--muted);font-size:.94rem}.contact-list dd a{overflow-wrap:anywhere;margin:-10px 0;padding:10px 0;display:inline-block}@media (max-width:480px){.contact-list>div{grid-template-columns:84px minmax(0,1fr);gap:12px}}.map-frame{aspect-ratio:4/3}.map-frame iframe{filter:grayscale(.4)sepia(.12)contrast(.95);border:0;width:100%;height:100%;display:block}@media (hover:none) and (pointer:coarse){.map-frame iframe,.footer-map iframe{pointer-events:none}}.site-footer{background:var(--forest);color:#c9d2c4;padding:clamp(72px,10vw,128px) 0 36px;font-size:.95rem;position:relative;overflow:hidden}.site-footer:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#a8bba01f,#0000 70%);width:60vw;max-width:760px;height:60vw;max-height:760px;position:absolute;top:-30%;left:-10%}.site-footer .wrap{position:relative}.footer-cta{border-bottom:1px solid #ffffff1a;gap:32px;padding-bottom:clamp(56px,8vw,96px);display:grid}@media (min-width:900px){.footer-cta{grid-template-columns:1.4fr 1fr;align-items:end}}.footer-cta h2{color:#f5f2eb;max-width:13ch;font-size:clamp(2.4rem,5vw,4rem)}.footer-cta h2 em{color:var(--sage-soft)}.footer-cta p{color:#b6c1b1;max-width:46ch;margin:18px 0 0}@media (min-width:900px){.footer-cta .btn-row{justify-content:flex-end}}.footer-cta .text-link{color:#f5f2eb}.footer-grid{gap:40px;padding-top:56px;display:grid}@media (min-width:640px){.footer-grid{grid-template-columns:1fr 1fr}}@media (min-width:1040px){.footer-grid{grid-template-columns:1.1fr .8fr 1.2fr 1fr}}.footer-map{aspect-ratio:4/3;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:16px;overflow:hidden}.footer-map iframe{filter:grayscale(.55)sepia(.15)brightness(.96);border:0;width:100%;height:100%;display:block}.footer-brand{font-family:var(--font-serif);letter-spacing:-.02em;color:#f5f2eb;margin:0 0 14px;font-size:1.6rem}.site-footer .label{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:#9aa695;margin:0 0 16px;font-size:.7rem;font-weight:500}.site-footer ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.site-footer a{color:#e6ebe2;text-decoration:none;transition:color .3s}.site-footer a:hover{color:#fff;text-underline-offset:4px;text-decoration:underline}.site-footer address{font-style:normal}.site-footer a[href^=mailto\:],.contact-list a[href^=mailto\:],.admin-appt a[href^=mailto\:]{overflow-wrap:anywhere}.site-footer .hours th,.site-footer .hours td{color:#e6ebe2;border-color:#ffffff1a}.site-footer .hours tr.closed td{color:#9aa695}.footer-bottom{color:#9aa695;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:64px;padding-top:24px;font-size:.84rem;display:flex}.footer-bottom a{color:#c9d2c4}@media (max-width:1039px){.site-footer ul{gap:0}.site-footer ul a,.site-footer address+p a{padding:9px 0;display:inline-block}.site-footer address+p{line-height:1.4}.footer-bottom a{margin:-8px 0;padding:8px 0;display:inline-block}}@media (max-width:640px){.footer-grid{gap:36px;padding-top:44px}.footer-bottom{margin-top:44px}.footer-map{aspect-ratio:16/10}}.field{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.field label,.field .label{color:var(--ink);font-size:.9rem;font-weight:500}.field .hint{color:var(--muted);margin:0;font-size:.85rem}.field .optional{color:var(--muted);font-weight:400}.input,.select,.textarea{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-s);width:100%;min-height:52px;color:var(--ink);appearance:none;transition:border-color .3s var(--spring), box-shadow .3s var(--spring), background-color .3s;padding:13px 16px;font-size:1rem}.select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%231b2420' stroke-width='1.4'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:42px}.textarea{resize:vertical;min-height:128px;line-height:1.55}.input:hover,.select:hover,.textarea:hover{border-color:#1b242047}.input:focus,.select:focus,.textarea:focus{border-color:var(--sage);background:#fff;outline:none;box-shadow:0 0 0 4px #5a7d5a24}.field[data-invalid=true] .input,.field[data-invalid=true] .select,.field[data-invalid=true] .textarea{border-color:var(--red-ink)}.field .error{color:var(--red-ink);margin:0;font-size:.85rem}.form-grid{gap:20px;display:grid}.form-grid>*,.choice-grid>*{min-width:0}@media (min-width:1000px){.booking-shell .card .form-grid.two{grid-template-columns:minmax(0,1fr)}}@media (min-width:640px){.form-grid.two{grid-template-columns:1fr 1fr}.form-grid .span-2{grid-column:span 2}}.check{cursor:pointer;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:12px;font-size:.94rem;display:grid}.check input{width:20px;height:20px;accent-color:var(--forest);margin:2px 0 0}.check a{color:var(--forest)}.honeypot{width:1px;height:1px;overflow:hidden;position:absolute!important;left:-9999px!important}.alert{border-radius:var(--r-s);border:1px solid;padding:14px 18px;font-size:.95rem}.alert a{color:inherit;font-weight:500}.alert-error{background:var(--red-pale);color:var(--red-ink);border-color:#973a362e}.alert-info{background:var(--sand-pale);color:var(--sand-ink);border-color:#85601a29}.alert-success{background:var(--sage-pale);color:var(--sage-ink);border-color:#3f6a422e}.booking-shell{align-items:start;gap:24px;display:grid}@media (min-width:1000px){.booking-shell{grid-template-columns:minmax(0,1fr) 360px;gap:28px}}.booking-shell>*{min-width:0}.booking-panel,.card{scroll-margin-top:calc(var(--header-h) + 20px);background:var(--surface);border-radius:calc(var(--r-l) - var(--bezel-pad));box-shadow:0 0 0 6px #22362a09, 0 0 0 7px #22362a12, inset 0 1px 0 #ffffffe6, var(--shadow-soft);margin:7px;padding:clamp(24px,4vw,44px)}.card{padding:clamp(22px,3vw,32px)}.booking-steps{gap:6px;margin-bottom:32px;display:flex}.booking-steps span{background:var(--line);height:3px;transition:background .6s var(--spring);border-radius:3px;flex:1}.booking-steps span[data-done=true]{background:var(--sage)}.step-title{letter-spacing:-.03em;margin-bottom:8px;font-size:clamp(1.75rem,3vw,2.3rem)}.step-sub{color:var(--muted);margin-bottom:28px}.choice-grid{gap:12px;display:grid}@media (min-width:640px){.choice-grid.two{grid-template-columns:1fr 1fr}}.choice{text-align:left;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r);cursor:pointer;width:100%;transition:border-color .3s var(--spring), background .3s, box-shadow .3s var(--spring), transform .3s var(--spring);flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:22px 22px 20px;display:flex;position:relative}.choice:hover{background:#fff;border-color:#1b24204d}.choice:active{transform:scale(.99)}.choice[aria-pressed=true],.choice[aria-checked=true]{border-color:var(--forest);box-shadow:0 0 0 1px var(--forest) inset, var(--shadow-soft);background:#fff}.choice h3{margin-bottom:6px;font-size:1.35rem}.choice p{color:var(--muted);margin:0;font-size:.93rem}.choice .meta{color:var(--sage-ink);margin-top:12px;font-size:.8rem;font-weight:500;display:inline-block}.chip-grid{flex-wrap:wrap;gap:8px;display:flex}.chip-btn{border:1px solid var(--line-strong);background:var(--surface-2);cursor:pointer;transition:all .3s var(--spring);border-radius:999px;padding:10px 16px;font-size:.93rem}.chip-btn:hover{background:#fff;border-color:#1b24204d}.chip-btn[aria-checked=true]{background:var(--forest);border-color:var(--forest);color:#fff}.cal{-webkit-user-select:none;user-select:none;min-width:0;container:cal/inline-size}.cal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.cal-head h3{overflow-wrap:anywhere;min-width:0;font-size:1.4rem}.cal-nav{flex:none;gap:6px;display:flex}.icon-btn{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;width:42px;height:42px;color:var(--ink);transition:border-color .3s var(--spring);border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.icon-btn:hover:not(:disabled){border-color:var(--ink)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}@media (max-width:1039px){.icon-btn{width:44px;height:44px}}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.cal-dow{white-space:nowrap;letter-spacing:.1em;text-transform:uppercase;min-width:0;color:var(--muted);text-align:center;padding:6px 0;font-size:.7rem;font-weight:500;overflow:hidden}.cal-dow .s{display:none}.cal-day{appearance:none;border-radius:var(--r-s);font-variant-numeric:tabular-nums;cursor:pointer;width:100%;min-width:0;height:clamp(40px,9vw,52px);color:var(--ink);background:0 0;border:1px solid #0000;place-items:center;margin:0;padding:0;font-size:.96rem;transition:background .25s,border-color .25s,color .25s;display:grid;position:relative}@container cal (max-width:300px){.cal-head h3{font-size:1.25rem}.cal-grid{gap:3px}.cal-dow{letter-spacing:.02em}.cal-dow .l{display:none}.cal-dow .s{display:inline}.cal-day{font-size:clamp(.85rem,5.4cqi,.96rem)}}.cal-day:disabled{color:#1b242040;cursor:default}.cal-day.available{background:var(--sage-pale);color:var(--sage-ink);font-weight:500}.cal-day.available:hover{border-color:var(--sage)}.cal-day[aria-pressed=true]{background:var(--forest);color:#fff}.cal-day.today:after{content:"";opacity:.6;background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;bottom:6px}.slot-groups{gap:22px;margin-top:28px;display:grid}.slot-date{color:var(--ink);scroll-margin-top:calc(var(--header-h) + 16px);margin:0;font-weight:500}.slot-date:focus{outline:none}.slot-date:focus-visible{outline:2px solid var(--sage)}.slot-group h4{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:.7rem;font-weight:500}.slots{grid-template-columns:repeat(auto-fill,minmax(min(5em,100%),1fr));gap:8px;display:grid}.slot{white-space:nowrap;border:1px solid var(--line-strong);background:var(--surface);font-variant-numeric:tabular-nums;cursor:pointer;min-width:0;min-height:46px;transition:all .25s var(--spring);border-radius:999px;padding:0 8px;font-size:.93rem}.slot:hover{border-color:var(--forest)}.slot:active{transform:scale(.97)}.slot[aria-pressed=true]{background:var(--forest);color:#fff;border-color:var(--forest)}.step-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:34px;padding-top:24px;display:flex}.back-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:10px 0;font-size:.95rem;display:inline-flex}.back-btn:hover{color:var(--ink)}@media (min-width:1000px){.summary{top:calc(var(--header-h) + 20px);position:sticky}}@media (max-width:640px){.booking-panel{padding:22px 18px 24px}.booking-steps{margin-bottom:24px}.step-sub{margin-bottom:22px}.choice{padding:18px 18px 16px}.chip-btn{min-height:44px}.cal-grid{gap:4px}.cal-day{height:44px}.cal-dow{letter-spacing:.04em}.slot{min-height:48px;font-size:1rem}.step-actions{flex-wrap:wrap;gap:12px 16px;margin-top:28px}.step-actions>.muted{flex:100%}.step-actions .btn{flex:auto}.back-btn{min-height:44px;padding:0 8px 0 0}.booking-panel:not(:has(form)) .step-actions:not(:has(>.muted)){z-index:2;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-radius:0 0 calc(var(--r-l) - var(--bezel-pad)) calc(var(--r-l) - var(--bezel-pad));background:#fffdf9f7;margin:28px -18px -24px;position:sticky;bottom:0;box-shadow:0 -10px 24px -18px #22362a59}.booking-panel:not(:has(form)) .step-actions:not(:has(>.muted)){flex-wrap:nowrap}.booking-panel:not(:has(form)) .step-actions:not(:has(>.muted)) .back-btn{flex:none}.step-actions .btn{min-width:0}}@media (max-width:480px){.booking-panel .btn-row>.btn{flex:auto}}@media (max-width:360px){.booking-panel,.card{margin-inline:0}.booking-panel{padding-inline:14px}.card{padding-inline:18px}.booking-panel:not(:has(form)) .step-actions:not(:has(>.muted)){margin-inline:-14px;padding-inline:14px}}.summary dl{gap:16px;margin:0;display:grid}.summary dt{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:500}.summary dd{color:var(--ink);overflow-wrap:anywhere;margin:3px 0 0}.booking-panel strong{overflow-wrap:anywhere}.summary .note{color:var(--muted);border-top:1px solid var(--line);margin:20px 0 0;padding-top:18px;font-size:.88rem}.summary .note a{color:var(--forest)}.success-mark{background:var(--sage-pale);width:60px;height:60px;color:var(--sage-ink);border-radius:50%;place-items:center;margin-bottom:24px;display:grid}.skeleton{background:linear-gradient(90deg, var(--bg-deep), var(--bg), var(--bg-deep));border-radius:var(--r-s);background-size:200% 100%;animation:1.4s linear infinite shimmer}.admin-day{font-family:var(--font-serif);color:var(--ink);margin:36px 0 8px;font-size:1.4rem}.admin-day:first-child{margin-top:0}.admin-appt{border-top:1px solid var(--line);gap:6px;padding:18px 0;display:grid}@media (min-width:800px){.admin-appt{grid-template-columns:130px 1fr auto;align-items:start;gap:20px}}.admin-appt>*{min-width:0}.admin-appt .detail,.admin-appt .who{overflow-wrap:anywhere}.grid{display:grid}.grid>*{min-width:0}.admin-block{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.admin-block>:first-child{overflow-wrap:anywhere;min-width:0;font-size:.92rem}@media (max-width:1039px){.admin-appt .btn-sm,.admin-block .btn-sm,.admin-head .btn-sm{min-height:44px}.admin-appt form{margin-top:6px}}.admin-appt .time{font-variant-numeric:tabular-nums;color:var(--ink);font-size:1rem;font-weight:500}.admin-appt .who{color:var(--ink);font-weight:600}.admin-tag{background:var(--bg);color:var(--muted);letter-spacing:.04em;vertical-align:2px;border-radius:999px;margin-left:8px;padding:2px 9px;font-size:.72rem;font-weight:500;display:inline-block}.admin-appt .detail{color:var(--muted);margin:2px 0 0;font-size:.92rem}.js [data-reveal]{opacity:0;filter:blur(6px);transition:opacity .9s var(--spring), transform 1s var(--spring), filter .9s var(--spring);transition-delay:calc(var(--i,0) * 90ms);transform:translateY(26px)}.js [data-reveal][data-shown=true]{opacity:1;filter:none;transform:none}.js .cascade>[data-reveal][data-shown=true].c-back{transform:rotate(-3deg)}.js .cascade>[data-reveal][data-shown=true].c-front{transform:rotate(2deg)}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes drift{0%{transform:translate(0)scale(1)}to{transform:translate(-6%,8%)scale(1.08)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes reveal-fallback{to{opacity:1;filter:none;transform:none}}.js:not(.reveal-ready) [data-reveal]{animation:0s 3s forwards reveal-fallback}@media (max-width:640px){.js .cascade>[data-reveal][data-shown=true].c-front{transform:none}}@media (max-width:1039px){body:after{display:none}.nav-island{-webkit-backdrop-filter:none;background:#fffdf9f0}.site-header[data-scrolled=true] .nav-island{background:#fffdf9f7}.action-bar{-webkit-backdrop-filter:none;background:#fffdf9f7}.hero:before{animation:none}.js [data-reveal]{filter:none;transition:opacity .7s var(--spring), transform .8s var(--spring);transition-delay:calc(var(--i,0) * 70ms);transform:translateY(16px)}.js [data-reveal][data-shown=true]{transform:none}}.text-link,.link-arrow{position:relative}.text-link:after,.link-arrow:after{content:"";position:absolute;inset:-9px -6px}.site-footer .footer-map+p a{margin:-9px 0;padding:9px 0;display:inline-block}@media (hover:none){.btn:hover{--btn-bg:var(--forest);--btn-border:var(--forest);box-shadow:none}.btn-ghost:hover{--btn-bg:transparent;--btn-border:var(--line-strong)}.action-bar .btn-ghost:hover{--btn-bg:var(--surface)}.btn-light:hover{--btn-bg:var(--bg);--btn-border:var(--bg)}.btn-sage:hover{--btn-bg:var(--sage);--btn-border:var(--sage)}.btn-danger:hover{--btn-bg:transparent;--btn-border:#973a364d}.btn:hover .btn-icon,.text-link:hover svg,.link-arrow:hover svg,.service-card:hover .service-more svg{transform:none}.text-link:hover,.link-arrow:hover{background-size:100% 1px}a:hover .photo img,.photo:hover img{transform:none}.service-card:hover{box-shadow:0 0 0 6px #22362a09, 0 0 0 7px #22362a12, inset 0 1px 0 #ffffffe6, var(--shadow-soft);transform:none}.service-card:hover .service-icon{background:var(--sage-pale);color:var(--sage-ink)}.index a:hover{padding-left:0}.index a:hover:before{opacity:0}.index a:hover .go{border-color:var(--line-strong);color:var(--ink);background:0 0;transform:none}.choice:hover,.chip-btn:hover{border-color:var(--line-strong);background:var(--surface-2)}.slot:hover{border-color:var(--line-strong)}.cal-day.available:hover{border-color:#0000}.icon-btn:hover:not(:disabled),.input:hover,.select:hover,.textarea:hover{border-color:var(--line-strong)}.input:focus,.select:focus,.textarea:focus{border-color:var(--sage)}.choice[aria-checked=true]{border-color:var(--forest);background:#fff}.chip-btn[aria-checked=true]{background:var(--forest);border-color:var(--forest)}.slot[aria-pressed=true]{border-color:var(--forest)}.service-card:active,.index a:active:before{opacity:1}.service-card:active{transform:scale(.99)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.js [data-reveal],.mobile-menu a.mobile-link,.mobile-menu .btn-row{opacity:1;filter:none;transform:none}}
