:root{
  --bg:#0a0a0b;
  --panel:#111214;
  --panel2:#17181a;
  --text:#f5f5f2;
  --muted:#a7a8aa;
  --line:#2a2c2f;
  --accent:#63d51f;
  --accent-dark:#3d9e13;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none} button,input,select,textarea{font:inherit}
.noise{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.site-header{height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(20px,4vw,64px);position:absolute;top:0;left:0;right:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.14)}
.brand{display:flex;align-items:center;gap:11px;width:max-content}.brand-mark{width:54px;height:48px;color:var(--accent);display:flex;align-items:center;justify-content:center;overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:contain}.logo-card{background:#fff;border-radius:8px;padding:2px}.brand-text{display:flex;flex-direction:column;line-height:.86;font-family:"Barlow Condensed",sans-serif;letter-spacing:.05em}.brand-text b{font-size:26px}.brand-text small{font-size:12px;letter-spacing:.18em;color:#d1d1cf;margin-top:7px}
.nav{display:flex;gap:34px;font-size:13px;text-transform:uppercase;letter-spacing:.09em;font-weight:700}.nav a{opacity:.84;transition:.2s}.nav a:hover{opacity:1;color:var(--accent)}
.desktop-book{justify-self:end}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:26px;height:2px;background:white;margin:6px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:800;border:1px solid transparent;transition:transform .2s,background .2s,border .2s}.btn:hover{transform:translateY(-2px)}.btn-accent{background:var(--accent);color:white}.btn-accent:hover{background:var(--accent-dark)}.btn-ghost{border-color:rgba(255,255,255,.45);background:rgba(8,8,9,.22);backdrop-filter:blur(8px)}.btn-small{min-height:42px;padding:0 18px;font-size:12px}
.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;padding:150px clamp(20px,5.5vw,86px) 116px;overflow:hidden}.hero-bg{position:absolute;inset:0;background-image:url('assets/hero.jpg');background-size:cover;background-position:center 50%;transform:scale(1.01)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,6,7,.9) 0%,rgba(6,6,7,.63) 45%,rgba(6,6,7,.16) 72%),linear-gradient(0deg,rgba(6,6,7,.75),transparent 45%)}
.hero-content{position:relative;z-index:2;max-width:850px}.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:#d4d4d2;display:flex;align-items:center;gap:10px;margin-bottom:20px}.dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}
h1,h2,h3{font-family:"Barlow Condensed",sans-serif;margin:0;text-transform:uppercase}h1{font-size:clamp(68px,9.2vw,148px);line-height:.78;letter-spacing:-.025em;font-weight:800;max-width:1000px}h1 span{color:var(--accent)}.hero-content>p{max-width:625px;color:#d0d0ce;font-size:clamp(16px,1.5vw,20px);line-height:1.65;margin:30px 0 32px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-meta{position:absolute;right:clamp(20px,4vw,64px);bottom:42px;z-index:2;display:flex;gap:42px}.hero-meta div{border-left:1px solid rgba(255,255,255,.3);padding-left:15px}.hero-meta small,footer small{display:block;font-size:10px;letter-spacing:.16em;color:#929397;margin-bottom:7px}.hero-meta strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.scroll-cue{position:absolute;z-index:2;left:clamp(20px,5.5vw,86px);bottom:35px;font-size:10px;letter-spacing:.18em;color:#a3a4a6;display:flex;gap:12px;align-items:center}.scroll-cue span{color:white;font-size:17px}
.section{max-width:var(--max);margin:auto;padding:120px 34px}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:60px}.section-heading h2,.area h2,.book h2{font-size:clamp(54px,7vw,92px);line-height:.92;letter-spacing:-.02em}.section-heading p{color:var(--muted);line-height:1.75;max-width:540px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:330px;padding:30px;position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;transition:.25s;background:var(--bg)}.service-card:hover{background:var(--panel);transform:translateY(-3px)}.service-num{font-size:11px;color:#77797d;letter-spacing:.15em}.service-icon{font-size:34px;color:var(--accent);margin:34px 0 46px}.service-card h3{font-size:32px;margin-bottom:13px}.service-card p{margin:0;color:var(--muted);line-height:1.6;font-size:14px}.service-link{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-top:auto;padding-top:28px}.service-link b{color:var(--accent);margin-left:7px}
.statement{background:var(--accent);color:#071006;padding:110px 34px}.statement-inner{max-width:var(--max);margin:auto}.statement .eyebrow{color:#16370a}.statement p{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:18px;margin:0 0 16px}.statement h2{font-size:clamp(60px,8vw,112px);line-height:.85;max-width:1050px;letter-spacing:-.025em}
.why{padding-bottom:140px}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.why-item{padding:32px 30px 30px 0;border-right:1px solid var(--line);margin-right:30px}.why-item:nth-child(3n){border-right:0;margin-right:0}.why-item:nth-child(n+4){border-top:1px solid var(--line)}.why-item span{font-size:11px;color:var(--accent);letter-spacing:.12em}.why-item h3{font-size:27px;margin:45px 0 14px}.why-item p{color:var(--muted);font-size:14px;line-height:1.7}

/* Customer reviews */
.reviews{padding-top:125px;padding-bottom:135px}.reviews-summary{align-self:end;max-width:430px}.reviews-stars,.review-stars{color:#f4c542;letter-spacing:.12em}.reviews-stars{font-size:22px;margin-bottom:10px}.reviews-summary strong{display:block;font-family:"Barlow Condensed",sans-serif;font-size:21px;letter-spacing:.06em}.reviews-summary p{margin:10px 0 0!important}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.review-card{min-height:300px;padding:30px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);transition:transform .25s ease,background .25s ease}.review-card:hover{background:var(--panel);transform:translateY(-3px)}.review-stars{font-size:15px}.review-card blockquote{margin:30px 0 42px;color:#ececea;font-size:16px;line-height:1.75;font-style:normal}.review-author{display:flex;align-items:center;gap:12px;margin-top:auto}.review-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#071006;font-family:"Barlow Condensed",sans-serif;font-size:20px;font-weight:800}.review-author strong{display:block;font-size:13px}.review-author small{display:block;margin-top:4px;color:#77797d;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.reviews-cta{display:flex;justify-content:flex-end;margin-top:28px}.reviews-cta .btn{gap:12px}
.area{max-width:var(--max);margin:0 auto 120px;display:grid;grid-template-columns:.9fr 1.1fr;min-height:560px}.area-copy{padding:75px 55px;background:#efefe9;color:#111}.area-copy .eyebrow{color:#686965}.area-copy h2 span{color:var(--accent)}.area-copy p{color:#5d5e5a;line-height:1.75;max-width:450px;margin:28px 0}.area-tags{display:flex;flex-wrap:wrap;gap:8px}.area-tags span{border:1px solid #c9cac4;padding:9px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.map-card{position:relative;overflow:hidden;background:#141516;min-height:520px}.map-card:before,.map-card:after{content:"";position:absolute;border:1px solid #2d3033;border-radius:50%;width:440px;height:440px;left:50%;top:50%;transform:translate(-50%,-50%)}.map-card:after{width:250px;height:250px}.map-lines{position:absolute;inset:-15%;background:repeating-linear-gradient(28deg,transparent 0 55px,#26282a 56px 57px),repeating-linear-gradient(112deg,transparent 0 86px,#202225 87px 89px);transform:rotate(3deg)}.map-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:14px;font-size:10px;letter-spacing:.16em;font-weight:700}.map-pin i{width:20px;height:20px;border:5px solid var(--accent);border-radius:50%;box-shadow:0 0 0 14px rgba(99,213,31,.15)}.map-label{position:absolute;font-size:10px;letter-spacing:.2em;color:#77797e}.map-label.a{left:15%;top:28%}.map-label.b{right:13%;bottom:25%}.map-label.c{right:19%;top:20%}
.book{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;padding-top:130px;padding-bottom:150px}.book-intro>p{color:var(--muted);line-height:1.7;max-width:520px}.contact-lines{margin-top:50px;display:grid;gap:20px}.contact-lines a{padding:0 0 18px;border-bottom:1px solid var(--line)}.contact-lines small{display:block;color:#77797d;font-size:10px;letter-spacing:.15em;margin-bottom:6px}.contact-lines strong{font-family:"Barlow Condensed",sans-serif;font-size:25px;text-transform:uppercase}.contact-social{padding:0 0 18px;border-bottom:1px solid var(--line)}.social-icons{display:flex;align-items:center;gap:12px;margin:10px 0 9px}.social-icons a{width:34px;height:34px;border:1px solid #303236;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.2s ease;padding:0;margin:0;line-height:0}.social-icons a:hover{border-color:var(--accent);transform:translateY(-2px)}.social-icons img{width:17px;height:17px;display:block;object-fit:contain;margin:0;padding:0}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;background:var(--panel);padding:34px}.field{display:flex;flex-direction:column;gap:9px}.field.full{grid-column:1/-1}.field label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#a5a6a9;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #303236;background:#0d0e0f;color:#f3f3ef;border-radius:0;padding:15px 14px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{resize:vertical}.submit-btn{grid-column:1/-1;margin-top:8px;border:0;cursor:pointer;justify-content:space-between}.form-note{grid-column:1/-1;color:#74767a;font-size:11px;line-height:1.5;margin:0}
footer{border-top:1px solid var(--line);padding:60px max(24px,calc((100vw - var(--max))/2 + 34px)) 34px;display:grid;grid-template-columns:1.4fr .8fr 1fr .7fr;gap:50px;background:#080809}footer .footer-brand p{color:#7f8083;max-width:310px;line-height:1.6;font-size:13px}footer>div>p{font-size:13px;line-height:1.85;color:#b7b8ba;margin:0}footer a:hover{color:var(--accent)}.copyright{grid-column:1/-1;border-top:1px solid #1e2022;padding-top:25px;color:#626367;font-size:11px}.mobile-cta{display:none}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
  .site-header{height:72px;grid-template-columns:1fr auto;padding:0 20px;position:absolute}.desktop-book{display:none}.menu-toggle{display:block;position:relative;z-index:5}.nav{position:fixed;inset:0;background:#0b0c0d;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;font-family:"Barlow Condensed";font-size:34px;transform:translateY(-100%);transition:.35s;z-index:4}.nav.open{transform:none}.brand{position:relative;z-index:5}.brand-mark{width:42px}.brand-text b{font-size:22px}.hero{min-height:100svh;padding:130px 20px 120px;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch}.hero-bg{background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(5,5,6,.92),rgba(5,5,6,.42)),linear-gradient(0deg,rgba(5,5,6,.78),transparent 50%)}h1{font-size:clamp(64px,18vw,102px)}.hero-content>p{font-size:15px;max-width:92%}.hero-meta{position:static;left:auto;right:auto;bottom:auto;margin-top:30px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px;justify-content:stretch}.hero-meta div{padding-left:9px}.hero-meta small{font-size:8px}.hero-meta strong{font-size:9px}.scroll-cue{display:none}.section{padding:85px 20px}.section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:38px}.section-heading h2,.area h2,.book h2{font-size:58px}.service-grid{grid-template-columns:1fr}.service-card{min-height:260px}.service-icon{margin:25px 0 30px}.statement{padding:75px 20px}.why-grid{grid-template-columns:1fr 1fr}.why-item{padding:25px 20px 30px 0;margin-right:20px;border-top:0}.why-item:nth-child(3n){border-right:1px solid var(--line);margin-right:20px}.why-item:nth-child(even){border-right:0;margin-right:0}.why-item:nth-child(n+3){border-top:1px solid var(--line)}.why-item h3{margin-top:25px}.reviews{padding-top:85px;padding-bottom:95px}.reviews-grid{grid-template-columns:1fr 1fr}.review-card{min-height:260px;padding:24px}.review-card blockquote{font-size:14px;margin:24px 0 34px}.reviews-cta{justify-content:stretch}.reviews-cta .btn{width:100%}.area{grid-template-columns:1fr;margin:0 20px 80px}.area-copy{padding:55px 25px}.map-card{min-height:390px}.book{grid-template-columns:1fr;gap:45px}.booking-form{padding:20px;grid-template-columns:1fr}.field,.field.full{grid-column:1}.submit-btn,.form-note{grid-column:1}.contact-lines strong{font-size:22px}footer{grid-template-columns:1fr 1fr;padding:50px 20px 100px}.footer-brand{grid-column:1/-1}.copyright{grid-column:1/-1}.mobile-cta{position:fixed;display:grid;grid-template-columns:1fr 1.35fr;left:0;right:0;bottom:0;z-index:30;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -7px 30px rgba(0,0,0,.25)}.mobile-cta a{background:#191a1c;padding:16px 10px;text-align:center;text-transform:uppercase;font-size:11px;letter-spacing:.1em;font-weight:800}.mobile-cta a:last-child{background:var(--accent)}}
@media(max-width:520px){.reviews-grid{grid-template-columns:1fr}.hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.hero-actions .btn{padding:0 12px;font-size:10px}.why-grid{grid-template-columns:1fr}.why-item,.why-item:nth-child(3n),.why-item:nth-child(even){border-right:0;border-top:0;border-bottom:1px solid var(--line);margin:0;padding-right:0}.why-item:last-child{border-bottom:0}.hero-meta div:nth-child(3){display:none}footer{grid-template-columns:1fr}.footer-brand{grid-column:auto}}


/* Appointment submission feedback */
.form-status { min-height: 1.4em; margin: 10px 0 0; font-size: .95rem; color: rgba(255,255,255,.72); }
.form-status.success { color: var(--accent); font-weight: 700; }
.form-status.error { color: #ff8b8b; font-weight: 700; }
.submit-btn:disabled { opacity: .65; cursor: wait; transform: none; }

/* Cloudflare Turnstile */
.turnstile-wrap{grid-column:1/-1;min-height:65px;display:flex;align-items:center;overflow:hidden}
@media(max-width:900px){.turnstile-wrap{grid-column:1}}
