:root{--forest:#2c3a22;--forest-dark:#1b2415;--olive:#6c7a48;--sage:#8fa073;--clay:#a9895c;--umber:#4a3423;--cream:#faf6ee;--cream-alt:#f0e8d8;--cream-deep:#e6dcc5;--ink:#211c15;--ink-soft:#635a49;--line:#2c3a2224;--shadow:0 30px 60px -30px #1b241559;--font-display:"Fraunces", serif;--font-body:"Jost", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-weight:300;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);color:var(--forest);font-weight:600;line-height:1.08}p{line-height:1.8}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:var(--font-body);cursor:pointer}input,select,textarea{font-family:var(--font-body)}.wrap{max-width:1200px;margin:0 auto;padding:0 40px}.eyebrow{font-family:var(--font-body);letter-spacing:.3em;text-transform:uppercase;color:var(--clay);font-size:.72rem;font-weight:500}.btn{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:8px;padding:15px 32px;font-size:.78rem;font-weight:500;transition:all .3s;display:inline-flex}.btn-primary{background:var(--forest);color:var(--cream)}.btn-primary:hover{background:var(--forest-dark);transform:translateY(-1px)}.btn-outline{border-color:var(--forest);color:var(--forest);background:0 0}.btn-outline:hover{background:var(--forest);color:var(--cream)}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--clay);outline-offset:3px}section{padding:120px 0;position:relative}.section-head{text-align:center;max-width:640px;margin:0 auto 70px}.section-head h2{margin-top:16px;font-size:clamp(2.1rem,4vw,2.9rem)}.section-head p{color:var(--ink-soft);margin-top:18px;font-size:.98rem}@media (width<=640px){.wrap{padding:0 22px}section{padding:84px 0}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.site-header{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#faf6eeb3;border-bottom:1px solid #0000;transition:background .3s,border-color .3s;position:sticky;top:0}.site-header.scrolled{border-bottom-color:var(--line);background:#faf6eef0}.nav{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-mark{object-fit:contain;flex-shrink:0;width:92px;height:92px}.brand-name{font-family:var(--font-display);color:var(--forest);letter-spacing:.01em;font-size:1.4rem;font-weight:600}nav.links{gap:40px;display:flex}nav.links a{letter-spacing:.06em;color:var(--ink-soft);padding-bottom:3px;font-size:.82rem;transition:color .25s;position:relative}nav.links a:after{content:"";background:var(--clay);width:0;height:1px;transition:width .3s;position:absolute;bottom:0;left:0}nav.links a:hover{color:var(--forest)}nav.links a:hover:after{width:100%}.nav-actions{align-items:center;gap:14px;display:flex}.menu-toggle{background:0 0;border:none;padding:6px;display:none}.menu-toggle span{background:var(--forest);width:24px;height:1.5px;margin:5px 0;transition:all .3s;display:block}@media (width<=860px){.brand-mark{width:72px;height:72px}.brand-name{font-size:1.15rem}nav.links{background:var(--cream);border-bottom:1px solid var(--line);flex-direction:column;gap:0;max-height:0;transition:max-height .35s;position:fixed;top:112px;left:0;right:0;overflow:hidden}nav.links.open{max-height:340px}nav.links a{border-top:1px solid var(--line);width:100%;padding:18px 40px}.nav-cta{display:none}.menu-toggle{display:block}}.hero{text-align:center;padding:130px 0;overflow:hidden}.branch{stroke:var(--sage);fill:none;opacity:.5;position:absolute}.branch .leaf{fill:var(--sage);opacity:.55;stroke:none}.branch .leaf-clay{fill:var(--clay);opacity:.5}.branch-left{width:260px;height:420px;top:40px;left:-40px}.branch-right{width:260px;height:420px;top:60px;right:-50px;transform:scaleX(-1)}.hero-content{position:relative}.hero h1{max-width:640px;margin:0 auto 22px;font-size:1.05rem;font-weight:500}.hero h1 em{font-family:var(--font-body);color:var(--ink-soft);margin-top:6px;font-size:1.05rem;font-style:italic;font-weight:400;display:block}.hero-copy{max-width:580px;color:var(--ink-soft);margin:0 auto 46px;font-size:1.05rem;font-weight:300}.hero-cta{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.strip{background:var(--forest);color:var(--cream);white-space:nowrap;padding:18px 0;overflow:hidden}.strip-track{animation:30s linear infinite strip-scroll;display:inline-flex}.strip-set{flex-shrink:0;display:inline-flex}.strip-item{font-family:var(--font-display);color:var(--cream-alt);padding-right:60px;font-size:1.15rem;font-style:italic;position:relative}.strip-item:after{content:"✦";color:var(--clay);font-style:normal;position:absolute;right:24px}@keyframes strip-scroll{0%{transform:translate(0)}to{transform:translate(-100%)}}@media (width<=640px){.branch-left,.branch-right{width:170px}}.services{background:var(--cream-alt)}.service-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}@media (width<=1080px){.service-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=780px){.service-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.service-grid{grid-template-columns:1fr}}.service-card{background:var(--cream-alt);padding:48px 34px;transition:background .3s,transform .3s}.service-card:hover{background:var(--cream)}.service-icon{width:52px;height:52px;stroke:var(--forest);margin-bottom:26px}.service-icon .icon-accent{stroke:var(--clay)}.service-card h3{margin-bottom:12px;font-size:1.5rem;font-weight:600}.service-card p{color:var(--ink-soft);margin-bottom:18px;font-size:.9rem;line-height:1.75}.service-branch{letter-spacing:.06em;text-transform:uppercase;color:var(--clay);font-size:.74rem;font-weight:500}.service-footer{border-top:1px solid var(--line);margin-top:4px;padding-top:16px}.branches{background:var(--cream)}.branch-timeline{counter-reset:branch;grid-template-columns:repeat(3,1fr);gap:30px;list-style:none;display:grid}@media (width<=900px){.branch-timeline{grid-template-columns:1fr;max-width:480px;margin:0 auto}}.branch-card{background:var(--cream-alt);border:1px solid var(--line);border-top:3px solid var(--forest);padding:40px 32px 34px;transition:transform .3s,box-shadow .3s;position:relative}.branch-card:hover{box-shadow:var(--shadow);transform:translateY(-6px)}.branch-card:nth-child(2){border-top-color:var(--olive)}.branch-card:nth-child(3){border-top-color:var(--clay)}.branch-order{font-family:var(--font-display);color:var(--cream-deep);-webkit-text-stroke:1px var(--forest);margin-bottom:18px;font-size:2.6rem;font-weight:600;line-height:1;display:block}.branch-tag{letter-spacing:.12em;text-transform:uppercase;color:var(--clay);margin-bottom:8px;font-size:.72rem;font-weight:500}.branch-card h3{margin-bottom:14px;font-size:1.7rem}.branch-note{color:var(--ink-soft);min-height:74px;margin-bottom:24px;font-size:.92rem;line-height:1.75}.branch-detail{border-top:1px solid var(--line);color:var(--ink);align-items:flex-start;gap:10px;padding:10px 0;font-size:.85rem;display:flex}.branch-detail:first-of-type{border-top:none}.branch-icon{width:16px;height:16px;stroke:var(--forest);flex-shrink:0;margin-top:2px}.about{background:var(--cream-alt)}.about-grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:90px;display:grid}@media (width<=860px){.about-grid{grid-template-columns:1fr;gap:50px}}.about-visual{aspect-ratio:1;background:var(--cream);border:1px solid var(--line);border-radius:3px;justify-content:center;align-items:center;padding:50px;display:flex;position:relative}.about-visual img{width:100%;height:auto}.about-copy h2{margin:16px 0 26px;font-size:clamp(2rem,3.6vw,2.7rem)}.about-copy p{color:var(--ink-soft);margin-bottom:20px;font-size:1rem}.about-stats{border-top:1px solid var(--line);flex-wrap:wrap;gap:46px;margin-top:38px;padding-top:34px;display:flex}.about-stats strong{font-family:var(--font-display);color:var(--forest);font-size:2.1rem;font-weight:600;display:block}.about-stats span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.74rem}.booking{background:var(--forest);color:var(--cream);overflow:hidden}.booking-branch{stroke:#faf6ee4d;width:280px;height:300px;bottom:-40px;left:-60px}.booking-branch .leaf{fill:#faf6ee2e}.booking-grid{grid-template-columns:.85fr 1.15fr;align-items:flex-start;gap:70px;display:grid}@media (width<=900px){.booking-grid{grid-template-columns:1fr;gap:50px}}.booking-info .eyebrow{color:var(--sage)}.booking-info h2{color:var(--cream);margin:16px 0 22px;font-size:clamp(2.1rem,4vw,2.8rem)}.booking-info>p{color:#faf6eebf;margin-bottom:34px}.info-row{border-top:1px solid #faf6ee29;gap:16px;padding:18px 0;display:flex}.info-row:last-of-type{border-bottom:1px solid #faf6ee29}.info-icon{width:20px;height:20px;stroke:var(--clay);flex-shrink:0;margin-top:2px}.info-row div p{color:var(--cream);margin:0;font-size:.95rem}.info-row div span{color:#faf6ee99;margin-top:2px;font-size:.78rem;display:block}.booking-card{background:var(--cream);color:var(--ink);border-radius:3px;padding:46px}@media (width<=520px){.booking-card{padding:30px 24px}}.booking-card h3{margin-bottom:6px;font-size:1.7rem}.booking-card-lead{color:var(--ink-soft);margin-bottom:28px;font-size:.88rem}.form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (width<=560px){.form-row{grid-template-columns:1fr}}.field{margin-bottom:20px}.field label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;font-size:.72rem;font-weight:500;display:block}.field input,.field select,.field textarea{border:none;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:0 0;padding:10px 2px;font-size:.95rem;transition:border-color .25s}.field textarea{resize:vertical;min-height:70px}.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--clay);outline:none}.field select:disabled{color:var(--ink-soft);cursor:not-allowed}.booking-submit{width:100%;margin-top:6px}.form-note{color:var(--ink-soft);margin-top:16px;font-size:.76rem;line-height:1.6}.form-success{background:var(--cream-alt);border:1px solid var(--sage);border-radius:2px;margin-top:22px;padding:22px 24px}.form-success strong{color:var(--forest);font-family:var(--font-display);margin-bottom:4px;font-size:1.2rem;display:block}.form-success p{color:var(--ink-soft);font-size:.86rem}footer{background:var(--forest-dark);color:#faf6eeb3;padding:74px 0 30px}.footer-top{border-bottom:1px solid #faf6ee1a;grid-template-columns:1.3fr .8fr .9fr .9fr;gap:50px;padding-bottom:50px;display:grid}@media (width<=860px){.footer-top{grid-template-columns:1fr 1fr;gap:36px}}@media (width<=520px){.footer-top{grid-template-columns:1fr}}.footer-logo{object-fit:contain;width:56px;height:56px;margin-bottom:16px}.footer-top p{color:#faf6ee8c;max-width:280px;font-size:.88rem;line-height:1.8}.footer-col h4{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--clay);margin-bottom:18px;font-size:.75rem;font-weight:500}.footer-col a{color:#faf6eea6;margin-bottom:12px;font-size:.88rem;transition:color .25s;display:block}.footer-col a:hover{color:var(--cream)}.footer-bottom{color:#faf6ee66;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:26px;font-size:.76rem;display:flex}.socials{gap:14px;display:flex}.socials a{width:34px;height:34px;color:var(--cream);border:1px solid #faf6ee33;border-radius:50%;justify-content:center;align-items:center;transition:border-color .25s,background .25s;display:flex}.socials a:hover{border-color:var(--clay);background:#a9895c26}.socials svg{stroke:currentColor;width:15px;height:15px}
