:root{--ink:#062822;--muted:#63756f;--sand:#f2e6d5;--cream:#fffaf1;--sea:#0f5d62;--deep:#052f3a;--foam:#d9fff6;--line:rgba(6,40,34,.14);--shadow:0 24px 80px rgba(6,40,34,.16);--display:Georgia,"Times New Roman",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--cream);color:var(--ink);font-family:Nunito Sans,system-ui,sans-serif}img{display:block;max-width:100%}.skip-link{position:absolute;left:1rem;top:1rem;z-index:50;transform:translateY(-160%);padding:.7rem 1rem;background:var(--ink);color:var(--cream);border-radius:8px}.skip-link:focus{transform:translateY(0)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;justify-content:space-between;gap:20px;padding:14px 5vw;border-bottom:1px solid var(--line);background:rgba(255,250,241,.92);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand,.site-header{display:flex;align-items:center}.brand{gap:14px;min-width:0;color:var(--ink);text-decoration:none}.logo-mark{width:86px;height:86px;flex:0 0 auto;object-fit:cover;border:3px solid var(--ink);border-radius:999px;background:#fffaf1;box-shadow:0 0 0 5px rgba(255,250,241,.96),0 0 0 7px rgba(6,40,34,.08),0 12px 30px rgba(6,40,34,.18)}.brand small,.brand strong{display:block}.brand strong{font-size:1.03rem;line-height:1}.brand small{margin-top:2px;color:var(--muted);font-size:12px}.nav{display:flex;gap:26px}.header-cta,.nav a,footer a{color:var(--ink);font-size:14px;font-weight:900;text-decoration:none}.header-cta{padding:12px 18px;border-radius:8px;background:var(--ink);color:var(--cream)}.hero{min-height:82vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.86fr);grid-gap:5vw;gap:5vw;align-items:center;padding:5vw;background:radial-gradient(circle at 18% 18%,rgba(217,151,74,.18),transparent 28%),linear-gradient(135deg,#fffaf1,#f3eadb 70%,#e3f4ef)}.hero-copy{max-width:760px}.eyebrow{margin:0 0 18px;color:var(--sea);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}h1,h2{margin:0 0 24px;font-family:var(--display);font-weight:600;line-height:1.05;letter-spacing:0}h1{font-size:clamp(3rem,6vw,5rem)}.hero-title{font-size:clamp(2.25rem,4.4vw,3.65rem)}h2{font-size:clamp(2.35rem,4vw,4rem)}h3{margin:0 0 12px;font-family:var(--display);font-size:1.65rem;font-weight:600;line-height:1.12}p{color:#40544f;line-height:1.65}.lead{max-width:680px;font-size:1.24rem}.actions{display:flex;flex-wrap:wrap;gap:14px;margin:34px 0}.btn{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:0 24px;border:1px solid var(--ink);border-radius:8px;color:var(--ink);font-weight:900;text-decoration:none;cursor:pointer}button.btn{font:inherit}button.btn:disabled{cursor:wait;opacity:.7}.btn.primary{background:var(--ink);color:var(--cream)}.btn.ghost{background:hsla(0,0%,100%,.35)}.btn.ghost.light{border-color:var(--cream);color:var(--cream);background:rgba(255,250,241,.12)}.trust-row{display:flex;flex-wrap:wrap;gap:10px}.mini-steps span,.trust-row span{padding:10px 12px;border:1px solid var(--line);border-radius:999px;background:hsla(0,0%,100%,.55);font-size:.88rem;font-weight:900}.hero-image{position:relative;min-height:520px;overflow:hidden;border-radius:8px;box-shadow:var(--shadow)}.hero-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.hero-card{position:absolute;right:22px;bottom:22px;max-width:300px;padding:22px;border-radius:8px;background:rgba(255,250,241,.92);box-shadow:0 20px 60px rgba(6,40,34,.22)}.grid span,.hero-card span,.popular>span,.steps span{color:var(--sea);font-size:.8rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.hero-card strong{display:block;margin-top:8px;font-family:var(--display);font-size:1.75rem;line-height:1.1}.section{padding:clamp(64px,8vw,108px) 5vw}.section-heading{max-width:760px;margin-bottom:32px}.book,.meet,.service-area{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1fr);grid-gap:5vw;gap:5vw;align-items:start}.booking-form,.copy-panel{display:grid;grid-gap:18px;gap:18px;padding:clamp(28px,4vw,44px);border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 14px 40px rgba(6,40,34,.06)}.copy-panel p{margin:0}.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.proof-strip div{padding:26px 5vw;border-right:1px solid var(--line)}.proof-strip strong{display:block;color:var(--sea);font-size:1.55rem}.proof-strip span{color:var(--muted);font-weight:900}.audience{background:var(--sand)}.grid,.price-grid,.steps{display:grid;grid-gap:18px;gap:18px}.grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four,.price-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.grid article,.price-grid article,.steps article{padding:clamp(24px,3vw,34px);border:1px solid var(--line);border-radius:8px;background:#fff}.grid span,.popular>span,.steps span{display:inline-flex;margin-bottom:20px}.grid p,.price-grid p,.steps p{margin:0}.steps{grid-template-columns:repeat(3,1fr)}.steps article span{width:46px;height:46px;align-items:center;justify-content:center;border-radius:50%;background:var(--foam);letter-spacing:0}.treatments{background:linear-gradient(180deg,rgba(255,250,241,.95),hsla(38,50%,91%,.5))}.trust{background:var(--deep);color:var(--cream)}.trust .eyebrow{color:var(--foam)}.trust h2,.trust h3{color:var(--cream)}.trust article{border-color:rgba(255,250,241,.16);background:rgba(255,250,241,.08)}.trust p{color:#dbe5df}.service-area{align-items:center;background:var(--cream)}.map-image{position:relative;min-height:390px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--sand);box-shadow:0 18px 50px rgba(6,40,34,.08)}.map-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.map-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,40,34,0),rgba(6,40,34,.22));pointer-events:none}.map-image span{position:absolute;left:18px;bottom:18px;z-index:1;display:inline-flex;min-height:42px;align-items:center;padding:0 14px;border:1px solid rgba(255,250,241,.45);border-radius:999px;background:rgba(255,250,241,.9);color:var(--ink);font-weight:900;box-shadow:0 12px 28px rgba(6,40,34,.12)}.price-grid article{display:flex;flex-direction:column}.price-grid strong{margin:8px 0 12px;font-size:2.6rem}.price-grid .btn{width:100%;margin-top:auto;background:var(--ink);color:var(--cream)}.popular{background:var(--ink)!important}.popular,.popular h3,.popular p,.popular span{color:var(--cream)}.book{background:linear-gradient(135deg,var(--sand),#fff)}.booking-page{min-height:72vh}.booking-result{min-height:72vh;display:grid;align-content:center;justify-items:start;background:linear-gradient(135deg,var(--sand),#fff)}.booking-result .lead{max-width:760px}.mini-steps{display:grid;grid-gap:10px;gap:10px;margin-top:28px}.booking-form label{display:grid;grid-gap:8px;gap:8px;color:var(--ink);font-weight:900}.field-hint{color:var(--muted);font-size:.84rem;font-weight:800;line-height:1.35}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}input,select,textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fffaf1;color:var(--ink);font:inherit}select{text-overflow:ellipsis}textarea{min-height:104px;resize:vertical}.summary{display:grid;grid-gap:4px;gap:4px;padding:18px;border-radius:8px;background:var(--deep);color:var(--cream)}.summary span{color:#dbe5df;font-weight:800}.form-message{margin:0;padding:14px 16px;border-radius:8px;font-weight:900}.form-message.redirecting,.form-message.saved{border:1px solid rgba(15,93,98,.24);background:rgba(217,255,246,.72);color:var(--sea)}.form-message.error{border:1px solid rgba(153,59,39,.24);background:rgba(255,232,224,.72);color:#993b27}.small{margin:0;font-size:.95rem}.contact-note{margin-top:18px;font-weight:800}.contact-note a{color:var(--ink);font-weight:900}.final-cta{display:grid;justify-items:center;grid-gap:18px;gap:18px;padding:clamp(64px,8vw,108px) 5vw;text-align:center;background:linear-gradient(rgba(6,40,34,.48),rgba(6,40,34,.56)),url(/assets/surfboards-beach.jpg) 50% /cover;color:var(--cream)}.final-cta .eyebrow{margin:0;color:var(--foam)}.final-cta h2{max-width:900px;margin:0;font-size:clamp(2.35rem,5vw,4rem)}.final-cta .btn{border-color:var(--cream);background:var(--cream);color:var(--ink)}.final-cta p{margin:0;color:#eef8f5;font-weight:900}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:44px 5vw;background:var(--ink);color:var(--cream)}footer li,footer p{color:#c6d5d1}footer a{color:var(--cream)}.footer-brand{display:flex;align-items:center;gap:18px}.footer-brand .logo-mark{width:84px;height:84px;background:var(--cream)}.footer-contact{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:12px}.footer-meta{display:grid;justify-items:end;grid-gap:16px;gap:16px}.footer-credential{display:flex;align-items:center;gap:12px;max-width:320px;color:#dbe5df;font-size:.88rem;font-weight:900;text-align:right}.footer-credential img{width:74px;height:74px;object-fit:contain;border-radius:14px;background:#fffaf1}.footer-meta ul{display:grid;grid-gap:6px;gap:6px;max-width:380px;margin:0;padding:0;list-style:none;font-size:.88rem;text-align:right}.footer-meta li:before{content:"• ";color:var(--foam)}.footer-links{display:flex;flex-wrap:wrap;gap:16px}.aftercare-page{background:linear-gradient(135deg,var(--sand),#fff)}.aftercare-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:18px;gap:18px}.aftercare-grid article{padding:clamp(22px,3vw,32px);border:1px solid var(--line);border-radius:8px;background:rgba(255,250,241,.82)}.aftercare-grid h2{margin-bottom:12px;font-size:clamp(1.5rem,2vw,2rem)}.aftercare-grid p{margin:0}.aftercare-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.legal-main{max-width:920px;min-height:70vh;margin:0 auto;padding:80px 5vw}.legal-main h1{font-size:clamp(2.5rem,5vw,4rem)}@media (max-width:1000px){.book,.hero,.meet,.service-area{grid-template-columns:1fr}.hero-image{min-height:430px;order:-1}.aftercare-grid,.grid.four,.grid.six,.price-grid,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.site-header{align-items:center;padding-block:12px}.logo-mark{width:70px;height:70px}.brand{gap:12px}.header-cta,.nav{display:none}.hero{min-height:auto;padding-top:36px}.hero-title{font-size:clamp(2rem,10vw,2.75rem)}.lead{font-size:1.08rem}.actions,.actions .btn,.aftercare-actions,.aftercare-actions .btn{width:100%}.hero-card{right:14px;bottom:14px;max-width:calc(100% - 28px);padding:18px}.aftercare-grid,.form-grid,.grid.four,.grid.six,.price-grid,.proof-strip,.steps{grid-template-columns:1fr}.booking-form{padding:22px}.btn,input,select,textarea{font-size:1rem}footer{display:grid;align-items:start;justify-items:start}.footer-brand{align-items:flex-start}.footer-meta,.footer-meta ul{justify-items:start;text-align:left}.footer-credential{text-align:left}}.trust-strip{background:var(--sand,#f4efe6);border-top:1px solid var(--line,#e5ded2);border-bottom:1px solid var(--line,#e5ded2);padding:14px 20px}.trust-strip ul{list-style:none;margin:0 auto;padding:0;max-width:1100px;display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:center}.trust-strip li{display:flex;align-items:center;gap:8px;font-weight:600;color:#1c2b2b}.trust-strip li:before{content:"\2713";color:#0f766e;font-weight:700}.sticky-cta{display:none}@media (max-width:720px){.sticky-cta{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:60;display:block;padding:14px 18px;border-radius:999px;background:#0f766e;color:#fff;font-weight:600;text-align:center;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.2);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}.sticky-cta.is-visible{opacity:1;transform:none;pointer-events:auto}.sticky-cta:focus-visible{outline:3px solid #ffd166;outline-offset:2px}}@media (prefers-reduced-motion:reduce){.sticky-cta{transition:none}}