@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(/assets/bricolage-grotesque-0.woff2) format('woff2');
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(/assets/bricolage-grotesque-1.woff2) format('woff2');
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(/assets/bricolage-grotesque-2.woff2) format('woff2');
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(/assets/bricolage-grotesque-3.woff2) format('woff2');
}

@font-face {
  font-family: 'Spicy Rice';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/font-4.woff2) format('woff2');
}


:root{--cream:#f6f0e6;--green:#4e7852;--yellow:#ffcb13;--brown:#694324;--ink:#392c20}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Bricolage Grotesque',sans-serif;font-size:16px;line-height:1.5}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3,.button,.hero-bottom p{font-family:'Spicy Rice',Georgia,serif;font-weight:400;line-height:1.05}h2{font-size:clamp(38px,4.5vw,64px);color:var(--green);text-shadow:2px 2px 0 var(--yellow);margin-bottom:22px}h3{font-size:clamp(25px,2.6vw,36px);color:var(--brown);margin-bottom:20px}p+p{margin-top:16px}.section{max-width:1200px;margin:0 auto;padding:72px 24px}.header{height:112px;max-width:1360px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 24px}.logo{font-weight:900;color:var(--yellow);font-size:36px;line-height:.76;letter-spacing:-2px;text-shadow:1px 1px 0 var(--brown);transform:rotate(-5deg)}nav{display:flex;align-items:center;gap:30px;font-size:15px;font-weight:500}nav a:hover,nav .active{color:var(--brown);text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:7px}.button{display:inline-flex;justify-content:center;align-items:center;padding:12px 20px;border:3px solid var(--yellow);border-radius:12px;background:var(--cream);color:var(--brown);font-size:23px;box-shadow:0 2px 0 #c3985240;transition:transform .2s,background .2s}.button:hover{background:var(--yellow);transform:translateY(-2px)}.nav-book{font-size:19px;padding:9px 18px}.blue{border-color:#a4cad3}.menu-toggle{display:none}.hero{position:relative;max-width:1380px;margin:0 auto 24px;padding:0 24px;height:650px}.hero-img{width:100%;height:100%;object-fit:cover;object-position:center 50%;border-radius:36px}.hero-title{position:absolute;inset:17% 9% auto;display:flex;justify-content:space-between;align-items:center;gap:150px;transform:rotate(-10deg);text-transform:uppercase;color:var(--yellow);text-shadow:2px 3px 0 #fff8}.hero-title span{font-family:'Spicy Rice',Georgia,serif;font-size:clamp(32px,4vw,60px);white-space:nowrap}.hero-title h1{font-size:clamp(50px,6vw,88px);white-space:nowrap}.hero-bottom{position:absolute;bottom:-22px;left:24px;right:24px;display:flex;justify-content:flex-end;align-items:flex-end;gap:17%;pointer-events:none}.hero-actions{display:flex;gap:34px;padding:0 0 0 20px;pointer-events:auto}.hero-actions .button{min-width:135px;text-transform:uppercase}.hero-bottom p{background:var(--cream);border-radius:28px 0 0 0;padding:24px 30px 5px;color:var(--green);font-size:30px;text-align:center;text-shadow:1px 1px #baaa69}.about-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;margin-bottom:44px}.about-heading h3{font-size:25px}.about-heading p{line-height:1.5}.space-gallery{height:420px;position:relative;display:flex;gap:35px;overflow:hidden;border-radius:24px}.space-gallery>img:first-child{width:82%;height:100%;object-fit:cover;border-radius:24px}.gallery-next{width:40%;object-fit:cover;border-radius:24px}.gallery-controls{position:absolute;bottom:0;right:18%;display:flex}.gallery-controls button{width:55px;height:55px;border:0;background:#fff9;color:var(--brown);font-size:24px}.gallery-controls button:hover{background:var(--yellow)}.split{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:center}.surf-copy{max-width:380px}.surf-copy .button{margin-top:32px}.surf-photos{position:relative;height:540px}.photo{border:3px solid #fff;border-radius:23px;padding:8px;box-shadow:0 0 0 2px #97bdc5;position:absolute;background:var(--cream)}.photo::before{content:'';position:absolute;inset:-15px 12px 8px -17px;border:2px solid var(--yellow);border-radius:24px;z-index:-1;transform:rotate(-3deg)}.photo img{width:100%;height:100%;object-fit:cover;border-radius:14px}.surf-photos .small{width:64%;height:255px;right:0;top:0;transform:rotate(7deg)}.surf-photos .large{width:93%;height:335px;bottom:0;left:0;transform:rotate(-3deg)}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--yellow);padding:12px}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--green);outline-offset:5px}
@media(min-width:1500px){.hero{height:700px}}@media(max-width:1000px){nav{gap:17px}.header{gap:20px}.hero{height:520px}.hero-title{gap:70px;inset:22% 7% auto}.hero-bottom{gap:10%}.hero-bottom p{font-size:25px}.split{gap:35px}.section{padding:60px 30px}.about-heading{gap:30px}.surf-photos{height:460px}.surf-photos .large{height:280px}.surf-photos .small{height:220px}}@media(max-width:700px){.header{height:88px;padding:0 22px;gap:16px}.logo{font-size:31px}.menu-toggle{display:flex;gap:12px;align-items:center;margin-left:auto;border:0;background:transparent}.nav-book{font-size:17px;padding:8px 12px}.header nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--cream);z-index:10;padding:25px;box-shadow:0 14px 20px #392c2010}.header nav.open{display:flex;flex-wrap:wrap;gap:22px}.hero{height:470px;padding:0 14px;margin-bottom:20px}.hero-img{border-radius:22px;object-position:49% center}.hero-title{inset:12% 8% auto;gap:0;flex-direction:column;align-items:flex-start}.hero-title span{font-size:31px}.hero-title h1{font-size:58px;align-self:flex-end;margin-top:7px}.hero-bottom{left:14px;right:14px;gap:8px;justify-content:space-between;align-items:flex-end}.hero-actions{gap:8px;padding:0}.hero-actions .button{min-width:72px;font-size:20px;padding:10px}.hero-bottom p{font-size:18px;padding:16px 12px 6px;border-radius:20px 0 0 0}.section{padding:48px 25px}.about-heading,.split{grid-template-columns:1fr;gap:26px}.about-heading h2{margin-bottom:15px}.about-heading h3{font-size:23px;margin-bottom:0}.space-gallery{height:250px;gap:15px;border-radius:15px}.space-gallery>img:first-child{width:90%;border-radius:15px}.gallery-controls{right:10%}.gallery-controls button{width:44px;height:44px}.surf-copy{max-width:none}.surf-photos{height:410px;max-width:500px;width:100%;margin:auto}.surf-photos .large{height:255px}.surf-photos .small{height:200px}h2{font-size:43px}.surf-copy .button{margin-top:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.logo{display:block;width:130px;flex-shrink:0;transform:none}/* Use the original logo silhouette with an exact brand colour, without colour filters. */
.logo{position:relative;filter:drop-shadow(1px 1px 0 #795521)}
.logo img{display:block;width:100%;height:auto;opacity:0;filter:none}
.logo::before{content:"";position:absolute;inset:0;background:#FFC919;-webkit-mask:url('/assets/logo.png') center/contain no-repeat;mask:url('/assets/logo.png') center/contain no-repeat;pointer-events:none}.lessons{padding-top:55px}.lessons>h2{text-align:center;margin-bottom:10px}.lesson-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:38px;align-items:center}.lesson-intro{font-size:23px;line-height:1.2;padding-right:15px}.boards{width:100%;height:530px;object-fit:cover;border-radius:14px}.lesson-detail{align-self:start}.lesson-detail h3{font-size:45px}.lesson-detail p{margin-bottom:26px}.stay{padding-top:55px}.stay .split{grid-template-columns:1.5fr 1fr;gap:95px}.room-photos{position:relative;height:640px}.room-photos .photo{box-shadow:0 0 0 2px #ae9277}.room-main{width:91%;height:365px;top:10px;left:0;transform:rotate(-2deg)}.room-small{width:48%;height:220px;bottom:65px;left:0;transform:rotate(5deg)}.room-second{width:55%;height:245px;bottom:0;right:0;transform:rotate(-9deg)}.stay-copy{max-width:345px}.lead{font-size:23px;line-height:1.2}.stay-copy .button{margin-top:26px}.green{border-color:var(--green)}.goa{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;align-items:start;padding-top:60px;padding-bottom:95px}.goa-card{position:relative}.goa-card>img{width:100%;height:235px;object-fit:cover}.goa-card h3{position:absolute;top:192px;left:8px;color:white;font-size:25px;text-shadow:1px 2px 4px #0009}.goa-card p{padding:0 18px;line-height:1.5;font-size:15px;margin-top:22px}.goa-card p+p{margin-top:14px}.cafe-card{margin-top:95px}.goa-middle{margin-top:70px}.goa-middle h2{text-align:center;font-size:64px;line-height:1.1;margin-bottom:45px}.goa-middle h2 small{display:block;font-size:32px}.goa-middle .goa-card h3{font-size:22px}.activities-card>img{height:300px}.activities-card h3{top:257px}.video-section{text-align:center;background:linear-gradient(var(--cream),#fff);max-width:none;padding-bottom:95px}.video-section h2{margin-bottom:12px}.video-link{position:relative;display:block;width:min(795px,100%);margin:34px auto 0;overflow:hidden}.video-link img{width:100%;max-height:540px;object-fit:cover}.video-link::after{content:'';position:absolute;inset:0;background:#375d3335;transition:background .2s}.video-link:hover::after{background:transparent}.play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;background:var(--cream);border:4px solid var(--yellow);border-radius:16px;padding:8px 25px;color:var(--brown);font-size:36px;line-height:1.2}.video-caption{position:absolute;bottom:20px;left:0;right:0;color:white;z-index:1;text-shadow:0 1px 5px #000;font-size:15px}.testimonials{background:white;display:grid;grid-template-columns:1fr 1fr;padding:0 max(30px,calc((100vw - 1152px)/2)) 80px;gap:65px}.review-heading{padding:15px 0}.quote-mark{font-family:Georgia,serif;display:flex;align-items:center;justify-content:center;font-size:45px;border-radius:50%;background:#e9e8e4;width:65px;height:65px;padding-top:17px;margin-bottom:40px}.review-heading h2{color:var(--ink);text-shadow:none;font-size:45px}.review-heading p{max-width:330px;font-size:15px}.review{background:#fffbe9;padding:42px;align-self:stretch}.stars{color:#b57900;letter-spacing:4px}.review blockquote{font-size:23px;line-height:1.45;margin:25px 0;font-weight:500}.review-person{font-weight:700;margin-bottom:6px}.review>a{font-size:14px;text-decoration:underline;text-underline-offset:4px}.booking{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-top:90px;padding-bottom:90px}.booking>div>p{max-width:430px}.course-list{margin:30px 0;border-top:1px solid #c5b59a}.course-list>div{padding:15px 0;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #c5b59a}.booking-note{font-size:14px}.booking form{padding:30px;background:#fffaf1;border:1px solid #dacbad;border-radius:20px}.booking form h3{margin-bottom:25px}label{display:block;font-size:14px;font-weight:600;margin:16px 0 7px}input,select,textarea{width:100%;padding:12px;border:1px solid #baa889;background:#fffdf8;color:var(--ink);border-radius:8px;font:inherit;min-height:48px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking button{margin-top:20px;width:100%;font-size:22px}.form-help{font-size:13px;margin-top:14px!important;line-height:1.5}.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:45px;max-width:1200px;margin:auto;padding:55px 25px}.footer-main h3{font-size:24px;color:var(--cream);margin-bottom:17px}.footer-main a:not(.logo){display:block;margin-top:8px}.footer-main a:hover{text-decoration:underline}footer{background:#191c16;color:var(--cream);font-size:15px}.footer-main .logo{width:160px}.footer-bottom{border-top:1px solid #fff3;padding:25px max(25px,calc((100vw - 1152px)/2));display:flex;justify-content:space-between;gap:20px;font-size:13px}
@media(max-width:1000px){.logo{width:105px}.lesson-grid{gap:25px}.lesson-intro{font-size:20px}.boards{height:465px}.stay .split{gap:45px}.room-photos{height:530px}.room-main{height:300px}.room-small{height:175px}.room-second{height:200px}.goa-card h3{font-size:22px}.goa-middle .goa-card h3{font-size:18px}.booking{gap:35px}.testimonials{gap:35px}.review{padding:30px}.goa-middle h2{font-size:53px}}
@media(max-width:700px){.logo{width:85px}.lessons>h2{text-align:left;margin-bottom:28px}.lesson-grid{grid-template-columns:1fr 1fr;gap:24px}.lesson-intro{font-size:19px;padding:0}.boards{height:290px}.lesson-detail{grid-column:1/-1}.lesson-detail h3{font-size:34px;margin-top:10px}.lesson-detail p{margin-bottom:0}.stay .split{grid-template-columns:1fr;gap:35px}.room-photos{height:440px;max-width:470px;width:100%;margin:auto}.room-main{height:265px}.room-small{height:150px;bottom:40px}.room-second{height:175px}.stay-copy{max-width:none}.lead{font-size:21px}.goa{display:flex;flex-direction:column;gap:40px;padding-top:40px;padding-bottom:50px}.goa-middle{display:contents}.goa-middle h2{order:-1;text-align:left;margin-bottom:0;font-size:52px}.goa-middle h2 small{font-size:28px}.goa-card,.cafe-card,.activities-card{margin:0;width:100%}.goa-card>img,.activities-card>img{height:255px;border-radius:12px}.goa-card h3,.activities-card h3,.goa-middle .goa-card h3{top:208px;font-size:27px;left:14px}.goa-card p{padding:0;font-size:16px;margin-top:18px}.video-section{padding-top:30px;padding-bottom:50px}.video-section h2{font-size:42px}.video-link img{min-height:280px}.testimonials{grid-template-columns:1fr;gap:28px;padding:15px 25px 50px}.quote-mark{margin-bottom:24px;width:52px;height:52px}.review-heading h2{font-size:38px}.review{padding:26px}.review blockquote{font-size:21px}.booking{grid-template-columns:1fr;gap:35px;padding:50px 25px}.booking h2{font-size:44px}.booking form{padding:23px}.form-row{grid-template-columns:1fr;gap:0}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-main>.logo{grid-column:1/-1;width:115px}.footer-bottom{flex-direction:column;font-size:13px;gap:10px}.header{gap:13px}.menu-toggle{font-size:14px}.hero-title h1{font-size:55px}}

@media(min-width:1001px){.surf-copy{max-width:435px}.surf-copy h2{white-space:nowrap}.hero-title span{font-size:56px}}

/* Shared page layouts, following the Surf Wala art direction. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{font-family:'Bricolage Grotesque',sans-serif;text-transform:uppercase;font-size:13px;line-height:1.5;letter-spacing:.12em;font-weight:600;margin-bottom:18px}.inner-page h1,.booking-page h1{font-family:'Spicy Rice',Georgia,serif;font-weight:400;font-size:clamp(48px,5.2vw,76px);line-height:1.04;color:var(--green);text-shadow:2px 2px var(--yellow);margin:0 0 28px}.header nav{gap:26px}.header .logo img{height:auto}.footer-links{max-width:1152px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:flex-start;padding:0 0 35px;gap:20px 30px}.footer-links a{font-size:14px}.footer-links a:hover{color:var(--yellow)}
/* A continuous photo strip: full photographs, next-image preview and real scrolling. */
.about{overflow:visible}.space-slider{--slide-width:min(70vw,1000px);--slide-gap:36px;position:relative;width:calc(100vw - max(24px,(100vw - 1152px)/2));max-width:none}.slider-track{display:flex;gap:var(--slide-gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:24px 0 0 24px;padding-right:max(24px,calc((100vw - 1152px)/2))}.slider-track::-webkit-scrollbar{display:none}.slider-slide{flex:0 0 var(--slide-width);height:450px;scroll-snap-align:start;overflow:hidden;border-radius:24px}.slider-slide img{width:100%;height:100%;object-fit:cover}.slider-controls{display:flex;position:absolute;left:calc(var(--slide-width) - 120px);bottom:0;border-radius:16px 0 24px 0;overflow:hidden}.slider-controls button{width:60px;height:60px;font-family:Arial,sans-serif;font-size:26px;line-height:1;border:0;color:white;background:#30271e80;backdrop-filter:blur(10px)}.slider-controls button+button{border-left:1px solid #fff4}.slider-controls button:hover{background:var(--green)}.slider-controls button:focus-visible{outline-offset:-5px;outline-color:var(--yellow)}
/* The staggered three-column composition from the supplied design. */
.goa{gap:34px;align-items:start;padding-top:75px;padding-bottom:95px}.goa-card{isolation:isolate}.goa-card>img{height:250px;border-radius:0;object-fit:cover}.goa-card h3{top:0;left:0;width:100%;height:250px;display:flex;align-items:flex-end;padding:45px 12px 14px;font-size:25px;line-height:1.15;background:linear-gradient(transparent 58%,#0009);margin:0;text-shadow:0 1px 4px #0009;pointer-events:none}.goa-card h3 a{pointer-events:auto}.goa-card p{padding:0;font-size:16px;line-height:1.45;margin-top:20px}.goa-card p+p{margin-top:15px}.cafe-card{margin-top:105px}.goa-middle{margin-top:100px}.goa-middle h2{font-size:64px;margin-bottom:46px;line-height:1.03}.goa-middle h2 small{font-size:30px;margin-bottom:7px}.goa-middle .goa-card h3{font-size:24px}.activities-card>img,.activities-card h3{height:310px}.goa-card h3 a:hover{text-decoration:underline;text-underline-offset:5px}
/* Edge-to-edge video with an independently centred play control. */
.cinema{width:100%;height:100svh;min-height:560px;position:relative;overflow:hidden;background:#263b29;color:white}.cinema-background,.cinema-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cinema-shade{background:linear-gradient(#0006,transparent 40%,#0005);pointer-events:none}.cinema-heading{position:absolute;top:9%;left:24px;right:24px;text-align:center}.cinema-heading h2{font-size:clamp(48px,6vw,85px);color:var(--cream);text-shadow:2px 3px #345b36}.cinema-heading .eyebrow{margin-bottom:16px;color:white}.film-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:90px;height:70px;display:grid;place-items:center;background:var(--cream);border:3px solid var(--yellow);border-radius:16px;color:var(--brown);box-shadow:0 5px 30px #0003;transition:background .2s}.film-play svg{width:38px;height:38px;display:block;transform:translateX(-1px)}.film-play:hover{background:var(--yellow)}.cinema-caption{position:absolute;bottom:9%;left:24px;right:24px;text-align:center;font-size:20px}.loop-toggle{position:absolute;bottom:24px;right:24px;padding:9px 15px;border:1px solid #fff8;border-radius:25px;background:#0004;color:white;font-size:14px}.film-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;inset:0;margin:0;border:0;padding:75px 25px 25px;background:#0b100c;color:white}.film-dialog::backdrop{background:#000e}.film-dialog[open]{display:flex;align-items:center;justify-content:center}.full-film{width:100%;height:100%;object-fit:contain}.film-close{position:absolute;right:25px;top:20px;border:1px solid #fff9;background:#182419;color:white;border-radius:24px;padding:8px 20px;z-index:1}.testimonials{padding-top:75px}
/* Inner-page heroes and generous alternating editorial sections. */
.page-hero{max-width:1320px;margin:30px auto 45px;padding:25px 45px 45px;display:grid;grid-template-columns:1fr 1.18fr;gap:65px;align-items:center;min-height:570px}.page-hero-copy{padding:15px 0}.page-hero .lead{font-size:22px;line-height:1.4;max-width:440px}.page-hero .button{margin-top:32px}.page-hero figure{height:480px;position:relative;transform:rotate(2deg)}.page-hero figure::before{content:'';position:absolute;inset:14px -12px -12px 12px;border:2px solid var(--yellow);border-radius:28px;transform:rotate(-4deg);z-index:-1}.page-hero img{height:100%;width:100%;object-fit:cover;border:7px solid var(--cream);border-radius:28px;box-shadow:0 0 0 2px #a6bbaf}.section-nav{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;padding:12px 24px 35px;margin:auto;max-width:1200px}.section-nav a{padding:10px 22px;border:1px solid #b3bda8;border-radius:30px;font-size:15px;font-weight:600}.section-nav a[aria-current]{background:var(--green);color:white;border-color:var(--green)}.section-nav a:hover{background:var(--yellow);color:var(--ink)}.editorial-split{display:grid;grid-template-columns:1.12fr 1fr;gap:85px;align-items:center;padding-top:65px;padding-bottom:65px}.editorial-split.reverse{grid-template-columns:1fr 1.12fr}.editorial-split.reverse>figure{order:2}.editorial-split h2{font-size:clamp(38px,4vw,57px)}.editorial-split p:not(.eyebrow){font-size:17px;line-height:1.6}.editorial-split .button{margin-top:28px}.editorial-photo{height:450px;padding:9px;border:2px solid #a6bbaf;border-radius:22px;transform:rotate(-2deg)}.reverse .editorial-photo{transform:rotate(2deg)}.editorial-photo img{width:100%;height:100%;object-fit:cover;border-radius:13px}.editorial-split:nth-of-type(3n) .editorial-photo{border-color:#cfad44}.fact-row{display:flex;gap:22px;border-top:1px solid #cdbf9e;margin-top:28px;padding-top:22px}.fact-row span{font-size:13px;line-height:1.4;flex:1}.fact-row strong{display:block;font-size:20px;color:var(--green);margin-bottom:5px}.section-heading{max-width:800px;margin:0 auto 38px;text-align:center}.section-heading p:not(.eyebrow){font-size:18px}.packages{max-width:1320px;padding-top:80px}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.package-card{border:1px solid #cbbd9e;border-radius:22px;padding:32px 28px;position:relative;background:#fff9ed;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden}.package-number{font-family:'Spicy Rice',serif;font-size:92px;color:#d7dfc8;line-height:1;margin:0 0 26px}.package-card h3{font-size:31px;min-height:2.1em}.package-card>p:not(.eyebrow):not(.package-price){min-height:4.5em}.package-card .eyebrow{font-size:12px;letter-spacing:.05em}.package-card details{margin:22px 0;width:100%}.package-card summary{font-size:15px;font-weight:600;cursor:pointer}.package-card ul{padding-left:20px;font-size:15px}.package-card li{margin:10px 0}.package-price{font-size:33px;font-weight:700;line-height:1.15;margin-top:auto!important;padding-top:20px}.package-price span{display:block;font-size:13px;font-weight:400;margin-top:6px}.package-card .button{font-size:20px;margin-top:22px;width:100%}.package-card:nth-child(2){border:2px solid var(--green);background:#eef0df}.two-notes{display:grid;grid-template-columns:1fr 1fr;gap:85px}.two-notes h2{font-size:43px}.two-notes .button{margin-top:25px}.two-notes p{font-size:17px;line-height:1.6}.faq{max-width:1000px}.faq h2{font-size:46px}.faq details{border-bottom:1px solid #c3b594;padding:22px 0}.faq summary{font-size:20px;font-weight:500;cursor:pointer}.faq details p{padding:18px 28px 0 0;max-width:780px}.page-cta{background:#e7eddb;margin:55px auto 0;padding:65px max(30px,calc((100vw - 1152px)/2));display:flex;align-items:center;justify-content:space-between;gap:40px}.page-cta h2{font-size:46px;margin-bottom:15px}.page-cta p{max-width:650px;font-size:17px}.page-cta .button{flex-shrink:0}.rooms-heading{padding-bottom:10px;margin-bottom:0}.amenities{margin-top:45px;background:#ebeede;border-radius:24px;max-width:1152px;padding:60px}.amenities-grid{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;gap:0 28px;margin-top:36px}.amenities-grid li{border-bottom:1px solid #b8c3a2;padding:17px 0;font-size:16px}.story-statement{padding:90px 30px;text-align:center;background:#e7eddb;margin:45px 0}.story-statement h2{font-size:clamp(36px,4vw,58px);line-height:1.2}.story-statement>p:last-child{max-width:630px;margin:auto;font-size:19px}.club-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding-top:30px;padding-bottom:40px}.club-gallery img{height:300px;width:100%;object-fit:cover;border-radius:18px}.club-gallery img:nth-child(2){margin-top:45px}.club-events{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:80px}.club-events .button{margin-top:25px}.club-events p{font-size:17px;line-height:1.6}.season-section{background:#e7eddb;border-radius:24px;max-width:1152px;padding:60px;margin:45px auto}.season-section h2{font-size:47px}.season-section>p{max-width:800px;font-size:18px}.season-months{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.season-months span{background:var(--cream);padding:10px 16px;border:1px solid #b6bd95;border-radius:10px}.rental-rates{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px;align-items:center}.rental-rates h2{font-size:48px}.rate{border-left:1px solid #baa886;padding-left:35px}.rate strong{display:block;font-size:42px;color:var(--green);font-weight:600}.rate span{font-size:16px}.board-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.board-grid article{border-top:2px solid var(--green);padding:28px 20px 28px 0}.board-grid article p{font-size:17px;max-width:440px}.booking-page{padding-top:70px;align-items:start}.booking-page .lead{font-size:23px;line-height:1.4}.booking-page form{position:sticky;top:30px}.booking-contact{display:flex;flex-direction:column;gap:12px;margin:25px 0;color:var(--green);font-size:20px}.booking-contact a:hover{text-decoration:underline}.booking-photo{width:100%;height:250px;object-fit:cover;border-radius:18px;margin-top:35px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.contact-grid h2{font-size:43px}.contact-grid p{font-size:17px;line-height:1.6}.contact-grid .button{margin-top:28px}.contact-grid dl{margin:26px 0}.contact-grid dt{font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin-top:22px;font-weight:600}.contact-grid dd{margin:5px 0 0;font-size:20px}.contact-grid dd a:hover{text-decoration:underline}.contact-page{padding-bottom:50px}
@media(max-width:1100px){.page-hero{padding:20px 35px 40px;gap:40px}.page-hero h1{font-size:58px}.page-hero figure{height:430px}.editorial-split,.editorial-split.reverse{gap:45px}.editorial-photo{height:390px}.footer-links{padding-left:30px;padding-right:30px}.package-grid{gap:16px}.package-card{padding:26px 20px}.package-card h3{font-size:27px}.package-card .button{font-size:18px}.goa{gap:25px}.goa-card h3,.goa-middle .goa-card h3{font-size:22px}.amenities,.season-section{margin-left:30px;margin-right:30px}.two-notes{gap:45px}.header nav{gap:17px}.space-slider{width:calc(100vw - 30px)}}
@media(max-width:700px){.header nav{gap:22px}.header nav a{font-size:16px}.space-slider{--slide-width:calc(100vw - 60px);--slide-gap:16px;width:calc(100vw - 25px)}.slider-slide{height:260px;border-radius:16px}.slider-track{border-radius:16px 0 0 16px}.slider-controls{left:calc(var(--slide-width) - 96px);border-radius:12px 0 16px 0}.slider-controls button{height:48px;width:48px;font-size:23px}.goa{display:flex;gap:35px;padding-top:30px;padding-bottom:55px}.goa-middle{display:contents}.goa-middle h2{order:-1;font-size:49px;margin:0}.goa-middle h2 small{font-size:28px}.goa-card{margin:0}.goa-card>img,.goa-card h3,.activities-card>img,.activities-card h3{height:260px;border-radius:14px}.goa-card h3,.goa-middle .goa-card h3{top:0;left:0;font-size:27px;padding:40px 15px 14px}.goa-card p{margin-top:18px}.cinema{height:100svh;min-height:520px}.cinema-heading{top:10%;left:20px;right:20px}.cinema-heading h2{font-size:45px}.cinema-heading .eyebrow{font-size:12px}.cinema-caption{bottom:15%;font-size:17px}.film-play{width:78px;height:62px}.film-play svg{width:34px;height:34px}.loop-toggle{right:20px;bottom:22px}.film-dialog{padding:68px 10px 15px}.film-close{right:15px}.testimonials{padding-top:40px}.inner-page h1,.booking-page h1{font-size:49px;margin-bottom:23px}.page-hero{grid-template-columns:1fr;padding:30px 25px 40px;margin:0 auto 10px;gap:32px;min-height:0}.page-hero-copy{padding:0}.page-hero .lead{font-size:20px;max-width:none}.page-hero figure{height:320px;margin:0 6px}.page-hero .button{margin-top:25px}.eyebrow{font-size:12px;letter-spacing:.08em;margin-bottom:15px}.section-nav{gap:8px;padding:15px 20px 20px}.section-nav a{font-size:13px;padding:8px 13px}.editorial-split,.editorial-split.reverse{grid-template-columns:1fr;gap:30px;padding-top:40px;padding-bottom:40px}.editorial-split>figure,.editorial-split.reverse>figure{order:2}.editorial-photo{height:340px;margin:0 5px}.editorial-split h2{font-size:41px}.editorial-split p:not(.eyebrow){font-size:16px}.fact-row{gap:15px}.fact-row strong{font-size:18px}.packages{padding-top:45px}.section-heading{margin-bottom:30px}.section-heading h2{font-size:41px}.section-heading p:not(.eyebrow){font-size:16px}.package-grid{grid-template-columns:1fr;gap:22px}.package-card{padding:28px}.package-card h3{min-height:0;font-size:32px}.package-card>p:not(.eyebrow):not(.package-price){min-height:0}.package-number{font-size:70px;margin-bottom:20px}.package-card .button{font-size:21px}.two-notes{grid-template-columns:1fr;gap:42px}.two-notes h2{font-size:39px}.faq h2{font-size:38px}.faq summary{font-size:18px}.page-cta{flex-direction:column;align-items:flex-start;padding:45px 25px;gap:25px;margin-top:30px}.page-cta h2{font-size:40px}.rooms-heading{padding-bottom:5px}.amenities{padding:35px 22px;margin:35px 20px;border-radius:18px}.amenities-grid{grid-template-columns:1fr 1fr;gap:0 15px}.amenities-grid li{font-size:15px;padding:15px 0}.story-statement{padding:55px 25px;margin:30px 0}.story-statement h2{font-size:37px}.story-statement>p:last-child{font-size:17px}.club-gallery{gap:12px;padding-top:10px;padding-bottom:30px;grid-template-columns:1fr 1fr}.club-gallery img{height:210px;border-radius:12px}.club-gallery img:nth-child(2){margin-top:30px}.club-gallery img:last-child{grid-column:1/-1;height:230px}.club-events{grid-template-columns:1fr;gap:35px}.club-events h2{font-size:42px}.season-section{padding:35px 25px;margin:30px 20px}.season-section h2{font-size:38px}.season-section>p{font-size:16px}.season-months{gap:8px}.season-months span{padding:8px 12px;font-size:14px}.rental-rates{grid-template-columns:1fr 1fr;gap:30px 20px}.rental-rates>div:first-child{grid-column:1/-1}.rate{padding-left:20px}.rate strong{font-size:34px}.board-grid{grid-template-columns:1fr;gap:5px}.board-grid article{padding:25px 0}.board-grid h3{font-size:29px}.booking-page{padding-top:35px}.booking-page form{position:static}.booking-contact{font-size:18px}.booking-photo{height:220px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-grid h2{font-size:39px}.contact-grid dd{font-size:18px}.footer-links{padding:0 25px 30px;gap:13px 25px;display:flex}.footer-links a{font-size:14px}}
@media(prefers-reduced-motion:reduce){.slider-track{scroll-behavior:auto}}
/* Approved copy stays complete. Longer passages get a reading layout. */
.approved-copy p{white-space:normal}.approved-copy p+p{margin-top:18px}.approved-copy.editorial-split{align-items:start}.approved-copy .editorial-photo{position:sticky;top:35px}.reading-section{max-width:1040px}.reading-section h2{font-size:48px}.reading-section p{font-size:18px;line-height:1.65}.approved-packages{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;align-items:start}.approved-package{padding:30px;border:1px solid #c8b999;border-radius:20px;background:#fff9ec}.approved-package:nth-child(n+4){grid-column:1/-1;max-width:100%;padding:40px}.approved-package:nth-child(n+4)>p{max-width:950px}.approved-package h3{font-size:30px}.approved-package p{line-height:1.6}.approved-package details{margin-top:22px;border-top:1px solid #d3c8af;padding-top:16px}.approved-package summary{cursor:pointer;font-weight:600}.approved-package details p{font-size:16px}.approved-package .button{margin-top:25px}.room-image-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px}.room-image-strip img{width:100%;height:250px;object-fit:cover;border-radius:16px}.copy-placeholder{max-width:620px;line-height:1.7}.booking-placeholder{padding-top:65px;padding-bottom:65px}.goa-card h3,.goa-middle .goa-card h3{font-size:22px}.page-hero.approved-copy{align-items:center}.page-hero.approved-copy p{font-size:18px;line-height:1.5}.reading-section+.reading-section{padding-top:20px}
@media(max-width:1000px){.approved-packages{grid-template-columns:1fr}.approved-package:nth-child(n+4){padding:30px}.approved-copy .editorial-photo{position:static}.page-hero.approved-copy h1{font-size:49px}.goa-card h3,.goa-middle .goa-card h3{font-size:19px}}
@media(max-width:700px){.reading-section p{font-size:16px}.reading-section h2{font-size:38px}.room-image-strip{grid-template-columns:1fr;gap:20px}.room-image-strip img{height:260px}.approved-package{padding:25px}.approved-package:nth-child(n+4){padding:25px}.approved-package h3{font-size:27px}.page-hero.approved-copy h1{font-size:43px;overflow-wrap:break-word}.page-hero.approved-copy p{font-size:16px}.goa-card h3,.goa-middle .goa-card h3{font-size:24px}}
/* Editorial compositions keep the approved copy, with more varied reading rhythms. */
.editorial-spread{padding-top:80px;padding-bottom:80px}.spread-heading{max-width:none;margin-bottom:35px}.spread-heading h2{font-size:clamp(42px,4.6vw,66px);line-height:1.08}.spread-photo{margin:0;overflow:hidden;border-radius:18px}.spread-photo img{width:100%;height:100%;object-fit:cover}.spread-copy>p{font-size:17px;line-height:1.7;margin:0 0 22px}.school-spread .spread-photo{height:380px;margin-bottom:45px}.school-spread .spread-copy{columns:2;column-gap:65px}.school-spread .spread-copy p{break-inside:avoid}.school-spread .spread-copy>p:first-child{font-size:24px;color:var(--green);line-height:1.4}.founder-spread{display:grid;grid-template-columns:1fr 1.3fr;gap:0 55px}.founder-spread .spread-heading{grid-column:1/-1}.founder-spread .spread-photo{height:530px;position:sticky;top:30px;transform:rotate(-2deg);border:7px solid var(--cream);outline:1px solid #acba98}.founder-spread .spread-copy p:first-child{font-size:22px;line-height:1.5}.statement-spread{max-width:none;padding:85px max(30px,calc((100vw - 1104px)/2));background:var(--green);color:var(--cream)}.statement-spread h2{color:var(--yellow);text-shadow:none}.statement-spread .spread-copy{max-width:950px}.statement-spread .spread-copy p{font-size:24px;line-height:1.6}.ocean-story .spread-copy{columns:2;column-gap:65px}.history-spread .spread-photo{height:400px;margin-bottom:45px}.history-spread .spread-copy{columns:2;column-gap:60px}.history-spread .spread-copy p{break-inside:avoid}.community-spread{display:grid;grid-template-columns:1.1fr 1fr;gap:0 55px}.community-spread .spread-heading{grid-column:1/-1}.community-spread .spread-photo{grid-column:2;grid-row:2;height:580px}.community-spread .spread-copy{grid-column:1;grid-row:2}.community-spread .spread-copy>p:first-child{font-size:23px;color:var(--green);line-height:1.4}.club-spread .spread-photo{height:410px;margin-bottom:40px}.club-spread .spread-copy{columns:2;column-gap:60px}.club-spread .spread-copy p{break-inside:avoid}.club-spread .spread-copy p:first-child{font-size:22px;line-height:1.5}.menu-spread{display:grid;grid-template-columns:1fr 1.2fr;gap:0 65px}.menu-spread .spread-heading{grid-column:1/-1}.menu-spread .spread-photo{height:520px;grid-column:2;grid-row:2}.menu-spread .spread-copy{grid-column:1;grid-row:2}.menu-spread .spread-copy p:first-child{font-size:29px;color:var(--green)}.menu-spread .spread-copy p:nth-child(2){padding:18px 0;border-block:1px solid #b8aa8a;font-size:20px}.coast-spread .spread-copy{display:grid;grid-template-columns:1fr 1fr;gap:28px 50px}.coast-spread .spread-copy p{margin:0;padding-top:26px;border-top:3px solid var(--green)}.coast-spread .spread-copy p:last-child{grid-column:1/-1;max-width:900px;font-size:21px;border:none;padding:20px 0 0}.travel-spread .spread-copy{columns:2;column-gap:60px}.travel-spread .spread-copy p{break-inside:avoid}.travel-spread .spread-copy p:first-child{font-size:23px;color:var(--green)}.amenity-spread{max-width:none;background:#e8edda;padding-inline:max(30px,calc((100vw - 1104px)/2))}.amenity-spread .spread-copy{display:grid;grid-template-columns:1.4fr 1fr;gap:50px}.amenity-spread .spread-copy p:last-child{font-size:21px;color:var(--green);line-height:1.8;border-left:2px solid #b4bf9c;padding-left:35px}.room-spread .spread-copy{display:grid;grid-template-columns:1fr 1fr;gap:22px 50px}.room-spread .spread-copy p:first-child{grid-column:1/-1;max-width:900px;font-size:21px;margin-bottom:15px}.room-spread .room-image-strip{margin-top:25px}.season-spread{border-top:1px solid #baa98a}.season-spread .spread-copy{max-width:900px}.season-spread .spread-copy p:first-child{font-size:25px;color:var(--green)}.board-spread .spread-copy{display:grid;grid-template-columns:1fr 1fr;gap:25px}.board-spread .spread-copy p:first-child{grid-column:1/-1;max-width:900px;font-size:21px}.board-spread .spread-copy p:not(:first-child){padding:30px;border:1px solid #bfba9f;border-radius:18px;background:#fbf7ed}.board-spread .spread-copy p:nth-child(3){background:#e7eddb}
@media(max-width:800px){.editorial-spread{padding-top:50px;padding-bottom:50px}.spread-heading{margin-bottom:25px}.spread-heading h2{font-size:40px}.school-spread .spread-copy,.ocean-story .spread-copy,.history-spread .spread-copy,.club-spread .spread-copy,.travel-spread .spread-copy{columns:1}.founder-spread,.community-spread,.menu-spread{display:flex;flex-direction:column;gap:0}.founder-spread .spread-photo{position:static;height:340px;margin:8px 5px 32px}.community-spread .spread-photo{height:340px;margin-bottom:30px}.menu-spread .spread-photo{height:340px;margin-bottom:30px}.school-spread .spread-photo,.history-spread .spread-photo,.club-spread .spread-photo{height:290px;margin-bottom:30px}.spread-copy>p{font-size:16px;line-height:1.7}.coast-spread .spread-copy,.room-spread .spread-copy,.amenity-spread .spread-copy,.board-spread .spread-copy{grid-template-columns:1fr;gap:15px}.statement-spread{padding:50px 25px}.statement-spread .spread-copy p{font-size:20px}.amenity-spread{padding-inline:25px}.amenity-spread .spread-copy p:last-child{padding:22px 0 0;border-left:0;border-top:1px solid #b4bf9c;font-size:19px}.room-spread .spread-copy p:first-child{font-size:19px}.board-spread .spread-copy p:not(:first-child){padding:23px}.season-spread .spread-copy p:first-child{font-size:21px}}
.founder-feature>h2,.club-feature>h2,.coast-feature>h2,.ocean-feature>h2,.rental-feature h2{font-size:clamp(43px,5vw,70px);margin-bottom:32px}.founder-intro{font-size:23px;line-height:1.6;max-width:1020px;margin-bottom:45px}.founder-mosaic{display:grid;grid-template-columns:1.1fr 1.4fr .8fr;gap:30px;align-items:start}.founder-mosaic>figure{height:360px;margin-top:40px;transform:rotate(-3deg)}.founder-mosaic>figure img{height:100%;width:100%;object-fit:cover;border-radius:15px}.founder-mosaic>.founder-ocean{height:465px;margin-top:0;transform:rotate(3deg)}.founder-mosaic p{font-size:17px;line-height:1.7}.founder-closing{display:grid;grid-template-columns:1.4fr 1fr;gap:55px;margin-top:50px;border-top:1px solid #c6b79a;padding-top:35px}.founder-closing p{font-size:18px;line-height:1.7;margin:0}.founder-closing p:last-child{font-size:24px;color:var(--green);line-height:1.5}.club-collage{display:grid;grid-template-columns:3fr 1fr;gap:25px;margin:25px 0 50px;align-items:end}.club-collage>figure:first-child{height:370px}.club-collage>figure:last-child{height:300px;transform:rotate(4deg);margin-bottom:-24px;border:7px solid var(--cream);outline:1px solid #c7ab70;border-radius:15px}.club-collage img{width:100%;height:100%;object-fit:cover;border-radius:12px}.club-columns{columns:2;column-gap:65px}.club-columns p{break-inside:avoid;font-size:17px;line-height:1.7;margin:0 0 23px}.club-columns p:first-child{font-size:24px;color:var(--green);line-height:1.5}.coast-lead{height:340px;margin-bottom:45px}.coast-lead img{width:100%;height:100%;object-fit:cover;border-radius:18px}.coast-paragraphs{display:grid;grid-template-columns:1fr 1fr;gap:30px 55px}.coast-paragraphs p{margin:0;font-size:17px;line-height:1.8;border-top:3px solid var(--green);padding-top:25px}.coast-paragraphs p:last-child{grid-column:1/-1;max-width:930px;border:0;font-size:23px;color:var(--green)}.ocean-feature{max-width:none;padding:0 0 65px}.ocean-feature-photo{height:420px;margin-bottom:55px}.ocean-feature-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}.ocean-feature>h2,.ocean-feature-copy{max-width:1104px;margin-left:auto;margin-right:auto}.ocean-feature-copy{columns:2;column-gap:60px}.ocean-feature-copy p{font-size:18px;line-height:1.8}.rental-feature{display:grid;grid-template-columns:1fr 1.6fr;gap:0 50px;align-items:start}.rental-feature header{grid-column:1/-1}.rental-feature figure{height:520px;position:sticky;top:40px;margin-top:7px}.rental-feature img{width:100%;height:100%;object-fit:cover;border-radius:18px}.rental-feature-copy p{font-size:17px;line-height:1.75}.rental-feature-copy p:first-child{font-size:23px;color:var(--green);line-height:1.5}.approved-package.lesson-story{display:grid;grid-template-columns:1fr 2fr;gap:0 35px;border:none;border-radius:0;background:none;padding:45px 0;border-top:1px solid #b9aa8a;align-items:start}.lesson-story h3{grid-column:1;grid-row:1/span 2;font-size:35px;color:var(--green);text-shadow:1px 1px var(--yellow)}.lesson-story>p{grid-column:2;font-size:17px;line-height:1.7}.lesson-story>.button{grid-column:2;justify-self:start}.lesson-story .lesson-in-water{grid-column:1;grid-row:3/span 5;width:100%;height:300px;margin-top:22px}.lesson-story .lesson-in-water img{width:100%;height:100%;object-fit:cover;border-radius:16px}.lesson-story .lesson-in-water.portrait{height:390px;max-width:230px}.lesson-story>.lesson-in-water~p{margin-top:0;margin-bottom:20px}
@media(max-width:1100px){.founder-mosaic{grid-template-columns:1fr 1.3fr}.founder-mosaic>.founder-ocean{grid-column:1;grid-row:2;height:320px;margin-top:30px}.founder-mosaic>div{grid-column:2;grid-row:1/span 2}.founder-mosaic>figure{height:280px}.ocean-feature>h2,.ocean-feature-copy{margin-left:30px;margin-right:30px}}
@media(max-width:700px){.founder-feature>h2,.club-feature>h2,.coast-feature>h2,.ocean-feature>h2,.rental-feature h2{font-size:41px}.founder-intro{font-size:20px;line-height:1.65;margin-bottom:28px}.founder-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:20px}.founder-mosaic>figure,.founder-mosaic>.founder-ocean{height:230px;margin-top:0;grid-row:1;grid-column:auto;transform:none}.founder-mosaic>div{grid-column:1/-1;grid-row:2}.founder-mosaic p{font-size:16px}.founder-closing{grid-template-columns:1fr;gap:22px;margin-top:25px;padding-top:25px}.founder-closing p{font-size:16px}.founder-closing p:last-child{font-size:21px}.club-collage{grid-template-columns:2fr 1fr;gap:12px;margin-bottom:40px}.club-collage>figure:first-child{height:250px}.club-collage>figure:last-child{height:210px;margin-bottom:-10px;border-width:4px}.club-columns{columns:1}.club-columns p{font-size:16px}.club-columns p:first-child{font-size:21px}.coast-lead{height:260px;margin-bottom:30px}.coast-paragraphs{grid-template-columns:1fr;gap:28px}.coast-paragraphs p{font-size:16px}.coast-paragraphs p:last-child{font-size:20px}.ocean-feature-photo{height:300px;margin-bottom:35px}.ocean-feature>h2,.ocean-feature-copy{margin-left:25px;margin-right:25px}.ocean-feature-copy{columns:1}.ocean-feature-copy p{font-size:16px}.rental-feature{grid-template-columns:1fr;gap:25px}.rental-feature h2{margin-bottom:0}.rental-feature figure{height:320px;position:static}.rental-feature-copy p{font-size:16px}.rental-feature-copy p:first-child{font-size:20px}.approved-package.lesson-story{display:flex;flex-direction:column;gap:0;padding:30px 0}.lesson-story h3{font-size:29px}.lesson-story .lesson-in-water{height:250px;margin:0 0 25px}.lesson-story .lesson-in-water.portrait{height:300px;max-width:none}.lesson-story>p{font-size:16px}.lesson-story>.button{align-self:flex-start}}

.lesson-heading h3{margin-bottom:30px}.lesson-heading .lesson-in-water{margin-top:0}.lesson-details p{font-size:17px;line-height:1.7;margin:0 0 20px}.lesson-details .button{margin-top:12px}@media(max-width:700px){.lesson-heading,.lesson-details{width:100%}.lesson-details p{font-size:16px}.lesson-heading .lesson-in-water.portrait{max-width:230px}}

/* Client palette. Composition, scale and rules provide the primary hierarchy. */
:root{--yellow:#ffc919;--blue:#b2d9e0;--beige:#f4deb8;--cream:#fffbea;--brown:#664323;--green:#386150;--electric:#2a7dde;--ink:#12100e;--rule:#38615055}
body{background:var(--cream);color:var(--ink)}h2,h3{text-shadow:none}h2{letter-spacing:-.025em}::selection{background:var(--yellow)}
.header{max-width:none;padding-inline:4vw;height:100px;border-bottom:1px solid var(--rule)}.header .logo img{width:100px}.header nav{gap:25px;font-size:14px}.button{font-family:'Bricolage Grotesque',sans-serif;font-size:15px;font-weight:600;border:1px solid var(--green);border-radius:0;padding:12px 22px;background:transparent;box-shadow:none;gap:22px;color:var(--green)}.button::after{content:'↗';font-family:Arial,sans-serif;font-size:20px}.button:hover{background:var(--yellow)}.nav-book{background:var(--yellow);border-color:var(--yellow)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--electric);outline-offset:5px}.section{max-width:1320px;padding:95px 4vw}
/* Openings are typeset compositions rather than repeated photo banners. */
.page-hero.approved-copy{max-width:none;min-height:650px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;padding:65px 4vw 80px;position:relative;margin:0;background:none;align-items:center}.page-hero .page-hero-copy{grid-column:1/7;grid-row:1;z-index:2;align-self:center;pointer-events:none}.page-hero.approved-copy h1{font-size:clamp(72px,9vw,140px);line-height:.95;letter-spacing:-.035em;color:var(--green);text-shadow:none;margin:0 0 30px;max-width:780px}.page-hero.approved-copy p{font-size:18px;line-height:1.7;max-width:380px}.page-hero>figure{grid-column:6/13;grid-row:1;height:560px;transform:none;border:0;outline:0;border-radius:0;position:relative;margin:0}.page-hero>figure::after{content:'';position:absolute;width:32%;height:18px;background:var(--yellow);bottom:-18px;right:0}.page-hero>figure img{height:100%;width:100%;object-fit:cover;border-radius:0}.page-hero .page-hero-copy h1{background:var(--cream);padding:14px 25px 20px 0;width:fit-content}.page-hero .copy-placeholder{max-width:300px!important;font-size:15px!important}.page-surfboards .page-hero>figure{grid-column:7/12;height:590px;transform:rotate(3deg);margin-right:20px}.page-surfboards .page-hero .page-hero-copy{grid-column:1/8}.page-surfboards .page-hero h1{max-width:700px}.page-story .page-hero>figure{grid-column:7/13;height:430px}.page-story .page-hero{min-height:570px}.page-stay .page-hero{min-height:750px}.page-stay .page-hero h1{font-size:clamp(65px,7vw,110px)}.page-stay .page-hero p{max-width:420px}.page-stay .page-hero>figure{height:620px;grid-column:6/13}.page-stay .page-hero-copy{grid-column:1/7}.page-surf-club .page-hero>figure{grid-column:5/13;height:560px}.page-contact .page-hero>figure{grid-column:8/13;height:510px;border-radius:50% 50% 0 0;overflow:hidden}.page-contact .page-hero .page-hero-copy{grid-column:1/7}.page-contact .page-hero p{max-width:550px}.page-book .page-hero>figure{grid-column:7/12;height:500px}
.section-nav{margin:0 4vw;padding:20px 0;max-width:none;justify-content:flex-start;gap:35px;border-block:1px solid var(--rule);background:none}.section-nav a{border:0;border-radius:0;padding:8px 0;background:none;color:var(--green);font-size:14px}.section-nav a[aria-current]{background:none;color:var(--ink);border-bottom:3px solid var(--yellow)}
.spread-heading h2,.founder-feature>h2,.club-feature>h2,.coast-feature>h2,.rental-feature h2,.board-guide h2,.amenities-index h2{font-size:clamp(50px,5.6vw,82px);line-height:1.02}.school-spread{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:35px 30px;align-items:start}.school-spread .spread-heading{grid-column:1/6;grid-row:1;margin:0;border-top:1px solid var(--green);padding-top:25px}.school-spread .spread-photo{grid-column:6/13;grid-row:1;height:370px;margin:0;border-radius:0}.school-spread .spread-copy{grid-column:2/12;grid-row:2;columns:2;column-gap:65px;margin-top:20px}.school-spread .spread-copy p:first-child{font-size:28px;line-height:1.3}.school-spread .spread-photo img{object-position:50% 65%}
/* Real tables: quiet rules, readable columns, the full approved details. */
.packages{padding-top:45px}.packages .section-heading{text-align:left;max-width:850px;margin:0 0 45px}.packages h2{font-size:clamp(55px,6vw,90px)}table{border-collapse:collapse;width:100%}.course-table{table-layout:fixed;border-top:2px solid var(--green)}.course-table th,.course-table td{padding:30px 28px 30px 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);font-weight:400}.course-table thead th{text-transform:uppercase;font-size:12px;letter-spacing:.12em;padding-block:17px}.course-table th:first-child{width:29%}.course-table th:nth-child(2){width:51%}.course-table th:last-child{width:20%}.course-table h3{font-size:32px;color:var(--green);max-width:260px}.course-table p{font-size:16px;line-height:1.65}.course-price>p{font-size:25px;color:var(--green);white-space:nowrap}.course-price .button{margin-top:25px}.course-table details{margin-top:22px}.course-table summary{cursor:pointer;font-size:14px;text-decoration:underline;text-underline-offset:5px;margin-bottom:18px}.course-table details p{margin-bottom:15px}.course-skills{list-style:none;padding:0;margin:20px 0}.course-skills li{padding:12px 0;border-top:1px solid var(--rule);font-size:15px;line-height:1.7}.lesson-index{margin-top:100px}.lesson-feature{display:grid;grid-template-columns:4fr 6fr;gap:8vw;padding:60px 0;border-top:1px solid var(--green)}.section-number{display:block;font-size:13px;letter-spacing:.1em;margin-bottom:25px;color:var(--brown)}.lesson-heading h3{font-size:clamp(35px,3.5vw,50px);text-shadow:none;color:var(--green)}.lesson-details p{font-size:17px;line-height:1.8;margin-bottom:20px}.lesson-details>p:first-child{font-size:22px}.lesson-details .button{margin-top:20px}.lesson-in-water{height:300px;margin:35px 0 0;max-width:440px}.lesson-in-water img{height:100%;width:100%;object-fit:cover}.lesson-feature-4{grid-template-columns:3fr 7fr;padding-left:10%;gap:7vw}.lesson-feature-4 .lesson-details{columns:2;column-gap:35px}.lesson-feature-4 .lesson-details>p{break-inside:avoid}.lesson-feature-4 .lesson-details>p:first-child,.lesson-feature-4 .lesson-details>p:nth-child(2){column-span:all}.lesson-feature-5{grid-template-columns:1fr 1fr;gap:10vw}.lesson-feature-6{grid-template-columns:1fr 1fr;position:relative}.lesson-feature-6 .lesson-heading{display:grid;grid-template-columns:1fr 1fr;gap:20px}.lesson-feature-6 .section-number{grid-column:1/-1}.lesson-feature-6 h3{font-size:37px}.lesson-feature-6 .lesson-in-water{height:350px;margin:0}.lesson-feature-6 .lesson-details{align-self:center}
/* Board reference is a ruled index, not four coloured cards. */
.board-guide{border-top:1px solid var(--green);display:grid;grid-template-columns:3fr 7fr;gap:60px}.board-guide header h2{font-size:60px}.board-guide header p{font-size:18px;line-height:1.8}.board-table{align-self:start;counter-reset:boards}.board-table tr{border-top:1px solid var(--green)}.board-table tr:last-child{border-bottom:1px solid var(--green)}.board-table th{width:34%;text-align:left;font-weight:600;color:var(--green);font-size:23px;padding:30px 25px 30px 0;vertical-align:top}.row-number{display:block;font-weight:400;font-size:12px;margin-bottom:24px;color:var(--brown)}.board-table td{font-size:17px;line-height:1.8;padding:30px 0;vertical-align:top}.rental-feature{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px 30px;align-items:start}.rental-feature header{grid-column:1/8;grid-row:1;padding-top:20px;border-top:1px solid var(--green)}.rental-feature figure{grid-column:9/13;grid-row:1/3;height:660px;position:sticky;top:30px;margin-top:60px}.rental-feature img{border-radius:0}.rental-feature-copy{grid-column:1/8;grid-row:2;columns:2;column-gap:35px}.rental-feature-copy p{font-size:17px;line-height:1.8;break-inside:avoid}.rental-feature-copy p:first-child{column-span:all;font-size:28px;line-height:1.45;margin-bottom:30px;color:var(--green)}
/* Photo essays: deliberate variation in crop, scale, inset and alignment. */
.founder-feature{display:grid;grid-template-columns:2fr 5fr 3fr;gap:40px}.founder-feature>h2{grid-column:1;grid-row:1;font-size:51px;border-top:1px solid var(--green);padding-top:25px}.founder-intro{grid-column:2/4;grid-row:1;font-size:26px;line-height:1.5;margin:0}.founder-mosaic{grid-column:1/-1;display:grid;grid-template-columns:3fr 4fr 2fr;gap:50px;margin-top:20px}.founder-mosaic>figure{height:320px;margin-top:0;transform:none}.founder-mosaic>figure img{border-radius:0}.founder-mosaic>.founder-ocean{height:500px;transform:rotate(3deg);margin-top:80px}.founder-closing{grid-column:2/4;margin-top:0;gap:40px;grid-template-columns:1fr 1fr}.founder-closing p:last-child{font-size:24px}.statement-spread{background:none;color:var(--ink);max-width:1320px;padding:65px 4vw;display:grid;grid-template-columns:3fr 7fr;gap:60px;border-top:1px solid var(--green)}.statement-spread h2{color:var(--green);font-size:60px}.statement-spread .spread-copy p{font-size:27px;line-height:1.6}.ocean-feature{max-width:none;padding-top:60px;padding-bottom:70px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px 0}.ocean-feature-photo{grid-column:1/11;grid-row:1;height:540px;margin:0}.ocean-feature>h2{grid-column:8/13;grid-row:1;align-self:end;font-size:80px;background:var(--cream);padding:35px;margin:0 0 -35px}.ocean-feature-copy{grid-column:4/12;grid-row:2;columns:2;column-gap:50px;margin:40px 0 0;max-width:none}.history-spread{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:35px}.history-spread .spread-heading{grid-column:1/7;grid-row:1}.history-spread .spread-photo{grid-column:1/8;grid-row:2;height:460px;border-radius:0;margin:0}.history-spread .spread-copy{grid-column:9/13;grid-row:1/4;columns:1;border-top:1px solid var(--green);padding-top:25px}.history-spread .spread-copy p{font-size:16px}.community-spread{grid-template-columns:6fr 4fr;gap:0 90px}.community-spread .spread-heading{grid-column:1;grid-row:1}.community-spread .spread-photo{grid-column:2;grid-row:1/3;height:620px;border-radius:48% 48% 0 0}.community-spread .spread-copy{grid-column:1;grid-row:2}.community-spread .spread-copy p:first-child{font-size:25px}
.club-feature{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:35px}.club-feature>h2{grid-column:1/5;grid-row:1;font-size:80px}.club-collage{grid-column:1/8;grid-row:2;display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin:0}.club-collage>figure:first-child{grid-column:1/7;grid-row:1;height:420px}.club-collage>figure:last-child{grid-column:4/7;grid-row:1;height:280px;align-self:end;transform:rotate(4deg);margin:0 -20px -190px 0;border:10px solid var(--cream);outline:0}.club-collage img{border-radius:0}.club-columns{grid-column:9/13;grid-row:1/4;columns:1;border-top:1px solid var(--green);padding-top:25px}.club-columns p{font-size:16px}.club-columns p:first-child{font-size:25px}.menu-spread{grid-template-columns:4fr 6fr;gap:0 9vw;border-top:1px solid var(--rule)}.menu-spread .spread-heading{grid-column:2;grid-row:1}.menu-spread .spread-photo{grid-column:1;grid-row:1/3;height:540px;border-radius:0;align-self:start}.menu-spread .spread-copy{grid-column:2;grid-row:2}.menu-spread .spread-copy p:nth-child(2){font-size:18px;border-block:1px solid var(--green)}.editorial-photo,.editorial-photo img{border-radius:0!important;outline:0!important;transform:none!important}.coast-feature{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:35px}.coast-feature>h2{grid-column:1/8;grid-row:1;max-width:750px}.coast-lead{grid-column:6/13;grid-row:2;height:410px;margin:0}.coast-lead img{border-radius:0}.coast-paragraphs{display:contents}.coast-paragraphs p{font-size:17px;line-height:1.8}.coast-paragraphs p:first-child{grid-column:1/5;grid-row:2}.coast-paragraphs p:nth-child(2){grid-column:2/7;grid-row:3}.coast-paragraphs p:last-child{grid-column:8/13;grid-row:3;font-size:24px;border-top:1px solid var(--green);padding-top:25px}.season-spread{display:grid;grid-template-columns:3fr 7fr;gap:65px;background:none;border-top:1px solid var(--green)}.season-spread .spread-copy p:first-child{font-size:25px}.room-spread{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:35px}.room-spread .spread-heading{grid-column:1/5;grid-row:1}.room-spread .spread-copy{grid-column:5/13;grid-row:1;display:block;columns:2;column-gap:40px}.room-spread .spread-copy p:first-child{column-span:all;font-size:23px}.room-spread .spread-copy p{break-inside:avoid}.room-image-strip{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:6fr 3fr 4fr;gap:25px;align-items:center;margin-top:25px}.room-image-strip img{border-radius:0;height:370px}.room-image-strip img:first-child{height:470px}.room-image-strip img:nth-child(2){height:280px;margin-top:170px}.room-image-strip img:last-child{height:360px;align-self:start}.amenities-index{border-block:1px solid var(--green);display:grid;grid-template-columns:1fr 1fr;gap:90px}.amenities-index header p{font-size:18px;line-height:1.8}.amenities-index ul{list-style:none;margin:0;padding:0;columns:2;column-gap:35px}.amenities-index li{padding:18px 0;border-bottom:1px solid var(--rule);break-inside:avoid;font-size:17px}.page-cta{border-top:1px solid var(--rule);background:none;color:var(--ink);margin:0;max-width:none;padding:60px 4vw;border-radius:0}.page-cta h2{color:var(--green);font-size:40px}.page-cta .copy-placeholder{font-size:15px}
/* Homepage: varied crops and offsets retain its original art direction. */
.hero{max-width:1500px;height:690px;padding:25px 4vw 0;margin-bottom:60px}.hero-img{border-radius:0}.hero-title{inset:16% 8% auto;gap:7vw}.hero-title h1{font-size:clamp(65px,7vw,110px)}.hero-bottom{left:4vw;right:4vw}.hero-bottom p{border-radius:0;background:var(--cream);font-size:29px;text-shadow:none;padding:27px 35px 0}.hero-actions{gap:15px}.hero-actions .button{background:var(--yellow)}.about-heading{grid-template-columns:4fr 5fr;gap:14vw;border-top:1px solid var(--rule);padding-top:28px}.about-heading h2{font-size:70px}.about-heading p{font-size:18px}.space-slider{--slide-width:min(64vw,920px)}.slider-slide{border-radius:0;height:500px}.slider-slide:nth-child(even){height:370px;align-self:center}.slider-track{border-radius:0;align-items:center}.slider-controls{border-radius:0}.surf.section{padding-top:100px;padding-bottom:120px;background:none}.surf-copy{border-top:1px solid var(--green);padding-top:30px}.surf-copy h2{font-size:70px}.surf-photos img{border-radius:0!important;border:8px solid var(--cream)!important;outline:0!important;box-shadow:none!important}.lessons.section{border-block:1px solid var(--rule);background:none}.lessons h2{text-align:left;font-size:75px}.lesson-grid{grid-template-columns:3fr 4fr 4fr;gap:60px;align-items:start}.lesson-grid .boards{height:460px;border-radius:48% 48% 0 0;object-fit:cover}.lesson-intro{padding-top:100px}.lesson-detail{padding-top:20px}.stay.section{background:none}.stay h2{font-size:78px}.stay-photos img{border-radius:0!important;box-shadow:none!important}.goa.section{border-top:1px solid var(--rule);gap:40px}.goa-card img{border-radius:0}.goa-card h3{border-top:1px solid var(--green);padding-top:20px}.testimonials{background:var(--blue);border-radius:0}.booking-placeholder{border-top:1px solid var(--green)}footer{background:#191c16;color:var(--cream)}footer h3{color:var(--yellow)}
@media(max-width:1000px){.header nav{gap:15px}.page-hero.approved-copy{min-height:560px}.page-hero>figure{height:470px}.page-hero.approved-copy h1{font-size:80px}.page-stay .page-hero h1{font-size:70px}.page-stay .page-hero p{max-width:330px}.school-spread .spread-copy{grid-column:1/-1}.board-guide{grid-template-columns:1fr;gap:35px}.board-guide header{display:grid;grid-template-columns:1fr 1.5fr;gap:50px}.founder-feature{grid-template-columns:1fr 2fr}.founder-feature>h2{grid-column:1}.founder-intro{grid-column:2}.founder-mosaic{grid-template-columns:1fr 1.2fr;gap:30px}.founder-mosaic>.founder-ocean{grid-column:1;grid-row:2;height:330px;margin-top:0}.founder-mosaic>div{grid-column:2;grid-row:1/3}.founder-closing{grid-column:1/-1}.history-spread .spread-photo{grid-column:1/7;height:400px}.history-spread .spread-copy{grid-column:7/13}.club-columns{grid-column:8/13}.club-collage{grid-column:1/7}.club-collage>figure:first-child{height:340px}.club-collage>figure:last-child{height:220px}.room-spread .spread-heading{grid-column:1/-1}.room-spread .spread-copy{grid-column:1/-1;grid-row:2}.room-image-strip{grid-row:3}.lesson-grid{gap:30px}.course-table h3{font-size:26px}.rental-feature-copy{columns:1}.rental-feature figure{grid-column:9/13;height:550px}.section{padding-inline:30px}.amenities-index{gap:40px}.lesson-feature-4{padding-left:0}.lesson-feature-4 .lesson-details{columns:1}}
@media(max-width:700px){.header{height:85px;padding-inline:20px}.header .logo img{width:80px}.header nav{background:var(--cream)}.nav-book{font-size:13px;padding:10px 13px}.nav-book::after{display:none}.section{padding:55px 22px}.page-hero.approved-copy{display:flex;flex-direction:column;align-items:stretch;gap:20px;padding:35px 22px 55px;min-height:0}.page-hero .page-hero-copy{pointer-events:auto}.page-hero.approved-copy h1,.page-stay .page-hero h1{font-size:60px;max-width:100%;padding:0;margin:0 0 20px;overflow-wrap:normal}.page-hero.approved-copy p{font-size:16px;max-width:100%}.page-hero>figure,.page-surfboards .page-hero>figure,.page-stay .page-hero>figure,.page-surf-club .page-hero>figure,.page-story .page-hero>figure,.page-book .page-hero>figure,.page-contact .page-hero>figure{height:350px;margin:10px 0 0;transform:none;width:100%}.page-surfboards .page-hero>figure{width:85%;height:400px;align-self:flex-end;transform:rotate(2deg);margin-right:5px}.page-story .page-hero>figure{height:280px}.page-contact .page-hero>figure{height:350px;width:85%;align-self:flex-end}.page-hero>figure::after{height:10px;bottom:-10px}.section-nav{gap:22px;flex-wrap:wrap;margin:0 22px;padding:13px 0}.section-nav a{font-size:12px}.school-spread{display:flex;flex-direction:column;gap:25px}.school-spread .spread-photo{height:270px;width:100%}.school-spread .spread-copy{columns:1;margin:0}.spread-heading h2,.founder-feature>h2,.club-feature>h2,.coast-feature>h2,.rental-feature h2,.board-guide h2,.amenities-index h2{font-size:44px}.school-spread .spread-copy p:first-child{font-size:24px}.packages h2{font-size:49px}.course-table thead{display:none}.course-table,.course-table tbody,.course-table tr,.course-table th,.course-table td{display:block;width:100%!important}.course-table tr{position:relative;padding:27px 0;border-bottom:1px solid var(--green)}.course-table th,.course-table td{border:0;padding:0 0 20px}.course-table h3{font-size:30px;max-width:100%;margin:0}.course-table .course-price{display:flex;justify-content:space-between;align-items:center;padding:0;gap:15px}.course-price .button{margin:0}.course-price>p{font-size:23px}.course-table p{font-size:16px}.lesson-index{margin-top:60px}.lesson-feature,.lesson-feature-4,.lesson-feature-5,.lesson-feature-6{display:flex;flex-direction:column;gap:25px;padding:35px 0}.lesson-heading h3{font-size:36px}.lesson-details>p:first-child{font-size:21px}.lesson-details p{font-size:16px}.lesson-in-water{height:260px;margin-top:25px}.lesson-feature-6 .lesson-heading{display:grid;grid-template-columns:1fr 1fr}.lesson-feature-6 h3{font-size:30px}.lesson-feature-6 .lesson-in-water{height:260px}.board-guide{display:block}.board-guide header{display:block;margin-bottom:35px}.board-guide header p{font-size:17px}.board-table th{width:37%;font-size:19px;padding:25px 18px 25px 0}.board-table td{font-size:15px;padding:25px 0;line-height:1.75}.row-number{margin-bottom:15px}.rental-feature{display:flex;flex-direction:column;gap:25px}.rental-feature figure{position:static;height:430px;width:78%;align-self:flex-end;margin:0}.rental-feature-copy{columns:1}.rental-feature-copy p{font-size:16px}.rental-feature-copy p:first-child{font-size:24px;margin-bottom:22px}.founder-feature{display:block}.founder-intro{font-size:22px;margin-bottom:35px}.founder-mosaic{grid-template-columns:1fr 1fr;gap:20px;margin:0}.founder-mosaic>figure,.founder-mosaic>.founder-ocean{height:250px;margin:0;transform:none;grid-row:1;grid-column:auto}.founder-mosaic>div{grid-column:1/-1;grid-row:2}.founder-mosaic p{font-size:16px}.founder-closing{margin-top:25px;grid-template-columns:1fr;gap:25px}.statement-spread{display:block}.statement-spread h2{font-size:50px}.statement-spread .spread-copy p{font-size:21px}.ocean-feature{display:block;padding:30px 0 50px}.ocean-feature-photo{height:310px;margin-right:25px}.ocean-feature>h2{font-size:48px;margin:-40px 0 0 50px;position:relative;padding:25px 22px}.ocean-feature-copy{columns:1;margin:0 22px}.ocean-feature-copy p{font-size:16px}.history-spread{display:flex;flex-direction:column;gap:25px}.history-spread .spread-heading{margin:0}.history-spread .spread-photo{height:280px;width:100%}.history-spread .spread-copy{columns:1}.community-spread{display:flex;flex-direction:column}.community-spread .spread-photo{height:400px;width:80%;align-self:flex-end}.community-spread .spread-copy{margin-top:25px}.club-feature{display:flex;flex-direction:column;gap:25px}.club-feature>h2{margin-bottom:0}.club-collage{width:100%;margin-bottom:120px}.club-collage>figure:first-child{height:290px}.club-collage>figure:last-child{height:190px;margin:0 0 -105px;border-width:7px}.club-columns{columns:1}.club-columns p:first-child{font-size:23px}.menu-spread{display:flex;flex-direction:column;gap:20px}.menu-spread .spread-heading{order:0}.menu-spread .spread-photo{order:1;height:370px;width:78%;margin-bottom:10px}.menu-spread .spread-copy{order:2}.coast-feature{display:flex;flex-direction:column;gap:25px}.coast-feature>h2{margin:0}.coast-lead{height:280px;width:100%;order:0}.coast-paragraphs{display:flex;flex-direction:column;gap:25px}.coast-paragraphs p{font-size:16px;padding-top:20px}.coast-paragraphs p:last-child{font-size:21px}.season-spread{display:block}.room-spread{display:flex;flex-direction:column;gap:25px}.room-spread .spread-copy{columns:1}.room-spread .spread-copy p:first-child{font-size:20px}.room-image-strip{display:grid;grid-template-columns:1fr 1fr;gap:15px;width:100%;margin:0}.room-image-strip img:first-child{grid-column:1/-1;height:280px}.room-image-strip img:nth-child(2){height:230px;margin-top:0}.room-image-strip img:last-child{height:190px;margin-top:35px}.amenities-index{display:block}.amenities-index header p{font-size:16px}.amenities-index ul{margin-top:30px;column-gap:22px}.amenities-index li{font-size:15px}.page-cta{padding:45px 22px}.hero{height:600px;padding:20px 0 0;margin-bottom:40px}.hero-title{inset:16% 6% auto;display:block;transform:rotate(-7deg)}.hero-title h1{font-size:64px;white-space:normal;margin:10px 0}.hero-title span{font-size:35px}.hero-bottom{left:0;right:0;flex-direction:column;align-items:flex-start;gap:20px;bottom:0}.hero-actions{padding-left:22px;gap:12px}.hero-actions .button{min-width:0;font-size:14px}.hero-bottom p{align-self:flex-end;font-size:25px;padding:20px 25px 0}.about-heading{display:block;padding-top:25px}.about-heading h2{font-size:55px}.about-heading p{font-size:16px}.slider-slide{height:340px}.slider-slide:nth-child(even){height:250px}.surf.section{padding-block:55px}.surf-copy h2{font-size:52px}.lessons h2,.stay h2{font-size:53px}.lesson-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.lesson-grid .boards{grid-column:2;grid-row:1;height:320px;width:100%}.lesson-intro{padding-top:30px;grid-column:1;grid-row:1}.lesson-detail{padding:0;grid-column:1/-1}.goa.section{gap:35px}.testimonials{padding-block:50px}}
.page-hero>figure::before{display:none}.page-hero>figure img{border:0;box-shadow:none}.page-hero .page-hero-copy{min-width:0;max-width:100%}.editorial-photo img{box-shadow:none;border:0}.editorial-photo::before{display:none}@media(max-width:1000px){.page-stay .page-hero h1{font-size:52px}}@media(max-width:700px){.page-hero .page-hero-copy{width:100%;align-self:stretch}.page-hero.approved-copy h1{font-size:clamp(44px,13vw,60px)}.page-stay .page-hero h1{font-size:clamp(38px,10.8vw,52px)}}
/* User-identified founder portrait: preserve all four family members. */
.founder-mosaic>.founder-family{height:auto;aspect-ratio:7018/4828}.founder-family img{object-fit:contain}

/* Shared review details; retain the existing font faces and palette. */
html body .button{--edge:var(--yellow);font-family:'Spicy Rice',Georgia,serif;font-weight:400;border:3px solid var(--edge);border-radius:16px;background:#fffbea;color:var(--brown);box-shadow:3px 5px 0 var(--edge);font-size:22px;padding:10px 20px;transition:transform .18s,box-shadow .18s}
html body .button::after{display:none}html body .button:hover{background:#fffbea;transform:translate(-1px,-2px);box-shadow:4px 7px 0 var(--edge)}html body .button:active{transform:translate(2px,3px);box-shadow:1px 2px 0 var(--edge)}html body .nav-book{font-size:17px;padding:7px 16px}.copy-link{color:var(--green);text-decoration:underline;text-underline-offset:4px}.copy-link:hover{text-decoration-thickness:2px}
.nav-dropdown{position:relative}.nav-dropdown summary{list-style:none;cursor:pointer;display:flex;gap:8px;align-items:center;padding:10px 0}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary .nav-chevron{display:block;flex:0 0 14px;width:14px;height:14px;transform-origin:50% 50%;transform-box:view-box;transition:transform .2s}.nav-dropdown[open] summary .nav-chevron{transform:rotate(180deg)}.nav-dropdown-panel{position:absolute;top:100%;left:-22px;min-width:265px;padding:15px 8px;background:#fffbea;border:3px solid var(--yellow);border-radius:24px;box-shadow:5px 7px 0 var(--yellow);z-index:100;display:flex;flex-direction:column;gap:0}.header .nav-dropdown-panel a{padding:13px 18px;font-size:16px;border-radius:12px;line-height:1.4;text-decoration:none}.header .nav-dropdown-panel a:hover,.header .nav-dropdown-panel a:focus-visible{background:#f4deb860;color:var(--green)}.header{position:relative;z-index:50}
.page-surf .school-review{grid-template-columns:1fr 1fr;gap:20px 70px;align-items:start}.page-surf .school-review-heading>p{font-family:'Spicy Rice',Georgia,serif;font-size:34px;line-height:1.2;max-width:none;text-shadow:1px 1px var(--yellow)}.page-surf .school-review-photos{height:500px;grid-row:1/3;margin-bottom:25px}.page-surf .school-main{height:350px}.page-surf .school-inset{width:39%;height:240px;left:-15px;bottom:-20px}.page-surf .school-review-copy{grid-column:1;grid-row:2/4}.page-surf .school-history{grid-column:2;grid-row:3;font-size:19px;line-height:1.75;padding:25px 0 0;border-top:2px solid var(--yellow);color:var(--green)}
.page-surf .lesson-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:start;margin-top:65px}.page-surf .lesson-feature{--edge:var(--brown);display:flex;flex-direction:column;gap:20px;padding:26px!important;border:3px solid var(--edge);border-radius:25px;background:#fffbea;box-shadow:5px 8px 0 var(--edge);min-width:0}.page-surf .lesson-feature-4{--edge:var(--yellow)}.page-surf .lesson-feature-6{--edge:var(--green)}.page-surf .lesson-heading,.page-surf .lesson-feature-6 .lesson-heading{display:flex;flex-direction:column;width:100%;gap:0;padding:0}.page-surf .lesson-heading h3,.page-surf .lesson-feature-6 h3{font-size:32px;line-height:1.15;text-shadow:none;margin:0 0 24px}.page-surf .lesson-in-water,.page-surf .lesson-feature-6 .lesson-in-water{width:100%;max-width:none;height:220px;margin:0;transform:none;border:0;box-shadow:none}.page-surf .lesson-in-water::before{display:none}.page-surf .lesson-in-water img{border-radius:15px;object-position:center 40%}.page-surf .lesson-details{width:100%;max-width:none}.page-surf .lesson-details p{font-size:16px;line-height:1.75}.page-surf .lesson-details>p:first-child{font-size:18px}.page-surf .lesson-more{border-top:2px dashed var(--beige);padding-top:10px;margin-top:20px}.page-surf .lesson-more summary{list-style:none;display:flex;align-items:center;gap:10px}.page-surf .lesson-more summary::-webkit-details-marker{display:none}.page-surf .lesson-more summary::before{content:'+';border-radius:50%;background:var(--yellow);color:var(--brown);width:26px;height:26px;display:grid;place-items:center;flex:none;font-size:21px}.page-surf .lesson-more[open] summary::before{content:'−'}.page-surf .lesson-feature .button{--edge:inherit;font-size:21px}.page-surf .lesson-feature-3 .button{--edge:var(--brown)}.page-surf .lesson-feature-4 .button{--edge:var(--yellow)}.page-surf .lesson-feature-6 .button{--edge:var(--green)}
.page-surf .lesson-feature-5{--edge:var(--blue);grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px 45px;padding:38px!important;margin-top:20px}.page-surf .lesson-feature-5 .lesson-heading{display:contents}.page-surf .lesson-feature-5 h3{grid-column:1;grid-row:1;margin:0}.page-surf .lesson-feature-5 .lesson-details{grid-column:1;grid-row:2}.page-surf .camp-photo{grid-column:2;grid-row:1/3;align-self:center;height:440px}.camp-photo img{width:100%;height:100%;object-fit:cover;border-radius:22px}.page-surf .lesson-feature-5 .button{--edge:var(--blue)}
@media(max-width:1050px){.page-surf .lesson-index{grid-template-columns:1fr 1fr}.page-surf .lesson-feature-6{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:35px}.page-surf .lesson-feature-6 .lesson-details{align-self:center}.page-surf .school-review-photos{height:490px}.page-surf .school-main{height:300px}}
@media(max-width:700px){.nav-dropdown{width:100%}.nav-dropdown-panel{position:static;min-width:0;margin:8px 8px 15px 0}.header .nav-dropdown-panel a{font-size:15px}.page-surf .school-review{display:flex;gap:25px}.page-surf .school-review-heading>p{font-size:27px}.page-surf .school-review-photos{height:400px;margin:5px 0 20px}.page-surf .school-main{height:260px}.page-surf .school-inset{height:210px;width:44%;left:0;bottom:0}.page-surf .school-history{font-size:17px}.page-surf .lesson-index{display:flex;flex-direction:column;gap:30px}.page-surf .lesson-feature,.page-surf .lesson-feature-6,.page-surf .lesson-feature-5{display:flex;flex-direction:column;width:100%;padding:24px!important;gap:20px}.page-surf .lesson-feature-5 .lesson-heading{display:flex}.page-surf .camp-photo{height:290px;margin-top:22px}.page-surf .lesson-feature-6 .lesson-in-water{height:230px;width:100%}.page-surf .lesson-heading h3,.page-surf .lesson-feature-6 h3{font-size:30px}html body .nav-book{font-size:15px;padding:7px 11px}html body .button{font-size:20px}}
@media(prefers-reduced-motion:reduce){html body .button{transition:none}}
.page-surf .lesson-feature-3 .lesson-in-water img{object-position:center 18%}

@media(prefers-reduced-motion:reduce){.nav-dropdown summary .nav-chevron{transition:none}}

/* Photo-led inner pages. Natural image proportions preserve embedded watermarks. */
.inner-page .playful-photo{margin:12px 0;padding:8px;border:2px solid var(--blue);border-radius:25px;box-shadow:4px 5px 0 var(--beige);transform:rotate(-1.4deg);background:#fffbea;overflow:visible}
.inner-page .playful-photo:nth-child(even){transform:rotate(1.5deg);border-color:var(--green)}
.inner-page .playful-photo img{display:block;width:100%;height:auto;object-fit:contain;border-radius:16px}
.inner-page .section p{max-width: none}
.stay-opening,.paired-review,.story-timeline,.events-review{display:grid;grid-template-columns:1fr 1fr;gap:50px 70px;align-items:start}
.stay-opening h1{font-size:clamp(48px,5.8vw,86px);line-height:1.05;color:var(--green)}
.stay-opening>div>p:first-child,.paired-review>div>p:first-of-type{font-size:25px;line-height:1.5}
.stay-opening-photos{grid-column:1/-1;display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center}
.paired-photos{padding-top:45px}.paired-photos .playful-photo+figure{width:80%;margin:35px 0 0 auto}
.inner-page .amenities-index{display:block}.inner-page .amenities-index header{display:grid;grid-template-columns:1fr 1fr;gap:0 70px}.amenities-index header h2{grid-row:1/4}.inner-page .amenities-index ul{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;border:0;margin-top:40px;padding:0}.inner-page .amenities-index li{display:flex;align-items:center;justify-content:center;text-align:center;min-height:115px;padding:20px 12px;border:2px solid var(--beige);border-radius:22px;background:#fffbea;font-size:17px;line-height:1.4;list-style:none}.amenities-index li::before{display:none!important}
.founder-review{display:grid;grid-template-columns:1fr 1fr;gap:35px 60px}.founder-review header{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:60px}.founder-review>figure{position:sticky;top:30px}.founder-copy p:first-child{font-size:24px;line-height:1.5}
.timeline{list-style:none;margin:15px 0;padding:0 0 0 35px;border-left:3px solid var(--yellow)}.timeline li{position:relative;padding:0 0 30px}.timeline li::before{content:'';position:absolute;left:-46px;top:10px;width:18px;height:18px;border-radius:50%;background:var(--green);border:3px solid #fffbea}.timeline h3{font-size:34px;margin:0 0 8px;color:var(--green)}
.community-review header{text-align:center;max-width:1000px;margin:auto}.community-review header p:last-child{font-size:25px}.community-photos{display:grid;grid-template-columns:1.35fr 1fr;gap:25px;align-items:center;margin:50px 0}.community-photos img{width:100%;height:auto;border-radius:20px;border:2px solid var(--blue);padding:6px;transform:rotate(-1deg)}.community-photos img+img{transform:rotate(2deg)}.community-copy{columns:2;column-gap:65px}.community-copy p{break-inside:avoid}
.event-list article{border:2px solid var(--beige);border-radius:23px;padding:30px;margin:20px 0;background:#fffbea}.event-list article h3{font-size:29px;margin:0}.event-list>h3{font-size:26px;line-height:1.4}
.inner-page .club-feature .club-collage{align-items:center}.inner-page .club-collage figure,.inner-page .club-collage figure:nth-child(2){height:auto;transform:rotate(-1deg);padding:7px;border:2px solid var(--blue);border-radius:23px}.inner-page .club-collage img{height:auto;object-fit:contain;border-radius:17px}.inner-page .club-collage figure:nth-child(2){transform:rotate(2deg)}
.page-surf .camp-photos{grid-column:2;grid-row:1/3;align-self:center;padding:15px 0}.page-surf .camp-photo{height:auto;margin:0;width:100%}.page-surf .camp-inset{width:64%;margin:28px 0 0 auto;transform:rotate(3deg)}
.page-surf .lesson-in-water,.page-surf .lesson-feature-6 .lesson-in-water{height:auto;padding:5px;border:2px solid var(--blue);border-radius:19px;transform:rotate(-1.5deg);background:#fffbea}.page-surf .lesson-in-water img{height:auto;width:100%;object-fit:contain;border-radius:12px}.page-surf .lesson-feature-4 .lesson-in-water{transform:rotate(1.5deg)}
.page-surf .school-review-photos{height:auto;display:flex;flex-direction:column;gap:30px}.page-surf .school-main,.page-surf .school-inset{position:relative;inset:auto;height:auto}.page-surf .school-main img,.page-surf .school-inset img{height:auto;object-fit:contain}.page-surf .school-inset{width:45%;align-self:flex-end;margin-right:10px}
.instructor-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:35px}.instructor-grid article{display:grid;grid-template-columns:42% 1fr;gap:28px;align-items:center}.instructor-placeholder{aspect-ratio:3/4;border:2px dashed var(--blue);border-radius:22px;display:grid;place-items:center;background:#fffbea;transform:rotate(-2deg);font-size:15px;color:var(--green)}.instructor-grid article:nth-child(2) .instructor-placeholder{transform:rotate(2deg)}.instructor-grid h3{font-size:27px}.instructor-grid p{font-size:17px}
@media(max-width:900px){.inner-page .amenities-index ul{grid-template-columns:repeat(3,1fr)}.instructor-grid article{display:block}.instructor-placeholder{max-width:230px;margin-bottom:25px}.stay-opening,.paired-review,.story-timeline,.events-review{gap:35px}.founder-review{gap:30px}}
@media(max-width:700px){.stay-opening,.paired-review,.story-timeline,.events-review,.founder-review,.founder-review header,.inner-page .amenities-index header{display:block}.stay-opening-photos{gap:20px;display:block}.stay-opening-photos figure+figure{width:85%;margin:35px 0 0 auto}.stay-opening>div>p:first-child,.paired-review>div>p:first-of-type{font-size:21px}.inner-page .amenities-index ul{grid-template-columns:repeat(2,1fr);gap:12px}.inner-page .amenities-index li{font-size:15px;min-height:100px}.founder-review>figure{position:static;margin:35px 0}.timeline{margin-top:40px}.community-copy{columns:auto}.community-photos{grid-template-columns:1fr;gap:25px}.community-photos img+img{width:85%;margin-left:auto}.event-list{margin-top:35px}.page-surf .camp-photos{width:100%;padding:0}.page-surf .camp-photo{margin-top:15px}.page-surf .school-review-photos{display:flex;width:100%}.page-surf .school-main{height:auto}.page-surf .school-inset{height:auto;width:46%}.instructor-grid{gap:25px}.instructor-grid h3{font-size:24px}.instructor-placeholder{font-size:12px}.instructor-grid p{font-size:15px}}
.inner-page .amenities-index li{flex-direction:column;gap:16px}.amenities-index svg{width:34px;height:34px;color:var(--green);flex-shrink:0}
.inner-page:not(.page-surf) .page-hero{display:grid;grid-template-columns:1fr 1fr;gap:55px;min-height:0;align-items:center}.inner-page:not(.page-surf) .page-hero .page-hero-copy{grid-column:1;grid-row:1;pointer-events:auto}.inner-page:not(.page-surf) .page-hero>figure{grid-column:2;grid-row:1;height:auto;margin:0;padding:7px;border:2px solid var(--blue);border-radius:24px;transform:rotate(1.5deg);overflow:visible}.inner-page:not(.page-surf) .page-hero>figure img{height:auto;object-fit:contain;border-radius:17px}.inner-page:not(.page-surf) .page-hero>figure::after{display:none}.inner-page:not(.page-surf) .page-hero h1{font-size:clamp(60px,7.2vw,110px);background:none;padding:0}.page-surfing-in-india .page-hero>figure{transform:none!important}
.inner-page .coast-feature{grid-template-columns:1fr 1fr;gap:35px 65px}.coast-feature>h2{grid-column:1/-1;grid-row:1}.inner-page .coast-lead{grid-column:2;grid-row:2;height:auto;align-self:start;padding:7px;border:2px solid var(--blue);border-radius:23px;transform:rotate(1deg)}.coast-lead img{height:auto;border-radius:16px}.inner-page .coast-paragraphs{display:block;grid-column:1;grid-row:2}.inner-page .coast-paragraphs p,.inner-page .coast-paragraphs p:last-child{font-size:18px;line-height:1.75;border:0;padding:0}.coast-paragraphs p:first-child{font-size:24px!important}
.inner-page .rental-feature{grid-template-columns:1fr 1fr;gap:35px 65px}.inner-page .rental-feature header{grid-column:1/-1;grid-row:1}.inner-page .rental-feature figure{grid-column:2;grid-row:2;height:auto;position:static;margin:20px 0;padding:7px;border:2px solid var(--blue);border-radius:23px;transform:rotate(2deg)}.rental-feature figure img{height:auto;border-radius:16px;object-fit:contain}.inner-page .rental-feature-copy{grid-column:1;grid-row:2;columns:auto}.inner-page .rental-feature-copy p{font-size:18px}.inner-page .room-image-strip{grid-template-columns:repeat(3,1fr);gap:30px}.inner-page .room-image-strip img,.inner-page .room-image-strip img:first-child,.inner-page .room-image-strip img:nth-child(2),.inner-page .room-image-strip img:last-child{height:auto;margin:0;object-fit:contain;padding:6px;border:2px solid var(--blue);border-radius:20px;transform:rotate(-1.5deg);align-self:center}.inner-page .room-image-strip img:nth-child(2){transform:rotate(2deg);margin-top:65px}
.booking-review{display:grid;grid-template-columns:1fr 1fr;gap:70px}.booking-review h1,.contact-review h1{font-size:clamp(65px,8vw,110px);color:var(--green);line-height:1.1}.booking-review .playful-photo{width:85%;margin-top:45px}.booking-options{display:grid;gap:23px}.booking-option{--edge:var(--yellow);border:3px solid var(--edge);box-shadow:4px 6px var(--edge);border-radius:24px;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;text-decoration:none;background:#fffbea}.booking-option:nth-child(3n+2){--edge:var(--green)}.booking-option:nth-child(3n){--edge:var(--blue)}.booking-option h2{font-size:32px;margin:0;color:var(--brown)}.booking-option:hover{transform:translateY(-2px)}.booking-option span{font-size:24px}.contact-review{display:grid;grid-template-columns:1fr 1fr;gap:40px 65px}.contact-review header{grid-column:1/-1;max-width:900px}.contact-review header p{font-size:25px}.contact-cards article{padding:30px;border:2px solid var(--beige);border-radius:24px;margin-bottom:28px}.contact-cards h2{font-size:35px}.contact-cards a:not(.button){display:block;margin:15px 0;overflow-wrap:anywhere;color:var(--green)}.contact-review>figure{align-self:start}.contact-cards article:nth-child(2){border-color:var(--yellow)}
@media(max-width:700px){.inner-page:not(.page-surf) .page-hero,.inner-page .coast-feature,.inner-page .rental-feature,.booking-review,.contact-review{display:flex;flex-direction:column;gap:30px}.inner-page:not(.page-surf) .page-hero>figure{width:100%;height:auto;align-self:stretch}.inner-page:not(.page-surf) .page-hero h1{font-size:clamp(44px,12vw,65px)}.inner-page .coast-lead,.inner-page .rental-feature figure{width:100%;height:auto}.inner-page .room-image-strip{grid-template-columns:1fr;gap:28px}.inner-page .room-image-strip img,.inner-page .room-image-strip img:nth-child(2),.inner-page .room-image-strip img:last-child{width:90%;margin:0 auto;height:auto}.booking-options,.contact-cards{width:100%}.booking-option{padding:23px}.booking-option h2{font-size:27px}.contact-review header p{font-size:21px}.contact-review>figure{width:100%}.booking-review .playful-photo{width:100%}}
.founder-review>figure{align-self:start;height:fit-content}.inner-page .club-feature{grid-template-columns:1fr 1fr;gap:35px 65px}.inner-page .club-feature>h2{grid-column:1;grid-row:1}.inner-page .club-columns{grid-column:1;grid-row:2;padding:0;border:0}.inner-page .club-collage{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;gap:35px;margin:20px 0 0;align-self:start}.inner-page .club-collage>figure:first-child{width:100%;margin:0}.inner-page .club-collage>figure:last-child{width:57%;margin:0 0 0 auto;align-self:flex-end}.inner-page .club-columns p{font-size:18px}.inner-page .club-columns p:first-child{font-size:24px}
@media(max-width:700px){.inner-page .club-feature{display:flex}.inner-page .club-collage{margin:0;width:100%}.inner-page .club-collage>figure:last-child{width:50%}.inner-page .club-columns p{font-size:16px}}

.page-contact .header{border:0}.page-contact .skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.contact-location{min-width:0;align-self:start}.contact-location .playful-photo{margin:0 0 35px}.contact-map{overflow:hidden;border:2px solid var(--blue);border-radius:23px;box-shadow:4px 5px var(--beige);background:#fffbea}.contact-map iframe{display:block;border:0;width:100%;height:320px}.contact-directions{display:inline-block;margin-top:20px;color:var(--green);text-decoration:underline;text-underline-offset:5px;font-weight:600}.contact-cards p{overflow-wrap:anywhere}.contact-review>header h1{text-shadow:2px 2px var(--yellow)}
@media(max-width:700px){.contact-location{width:100%}.contact-map iframe{height:290px}.contact-review{padding:35px 22px 65px}}

/* Shared desktop frame: 1280px usable content, plus 32px side gutters.
   Section internals keep their own reading widths and photo compositions. */
:root{--site-content-width:1280px!important;--site-desktop-gutter:32px;--site-frame-width:calc(var(--site-content-width) + 2 * var(--site-desktop-gutter))!important}
@media(min-width:1024px){
 html body .header,
 html body main>.section,
 html body main>.section-nav,
 html body main>:is(.hero,.page-hero,.stay-hero,.story-hero,.club-hero,.india-hero,.boards-hero),
 html body .footer-main,
 html body .footer-links{
  width:100%!important;max-width:var(--site-frame-width)!important;margin-left:auto!important;margin-right:auto!important;
  padding-left:var(--site-desktop-gutter)!important;padding-right:var(--site-desktop-gutter)!important;
 }
 html body main>:is(.page-hero,.stay-hero,.story-hero,.club-hero,.india-hero,.boards-hero)>figure{
  left:var(--site-desktop-gutter)!important;right:var(--site-desktop-gutter)!important;width:auto!important;
 }
 html body .hero-bottom{left:var(--site-desktop-gutter)!important;right:var(--site-desktop-gutter)!important}
 /* This closing card is itself outlined, rather than a padded section around a card. */
 html body main>.story-end{width:calc(100% - 2 * var(--site-desktop-gutter))!important;max-width:var(--site-content-width)!important;padding-left:40px!important;padding-right:40px!important}
 html body .footer-bottom{padding-left:max(var(--site-desktop-gutter),calc((100% - var(--site-content-width))/2))!important;padding-right:max(var(--site-desktop-gutter),calc((100% - var(--site-content-width))/2))!important}
}
@media(min-width:1024px){html body .space-slider{width:100%;max-width:100%}}

/* Launch review refinements; retain the established fonts, colours and 1280px frame. */
.enquiry-open{overflow:hidden}.enquiry-dialog{width:min(720px,calc(100% - 32px));max-height:calc(100dvh - 32px);border:3px solid var(--green);border-radius:24px;background:var(--cream);color:var(--brown);padding:42px;box-shadow:6px 8px var(--green);overflow-y:auto}.enquiry-dialog::backdrop{background:#12100e99}.enquiry-dialog h2{font-size:42px;padding-right:50px}.enquiry-close{position:absolute;right:20px;top:16px;border:0;background:transparent;font-size:16px;padding:8px;color:var(--brown)}.enquiry-context{font-size:22px;font-weight:600;color:var(--green);margin-bottom:20px}.enquiry-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.enquiry-form label{font-size:16px;margin:18px 0 8px}.enquiry-form label span{font-size:14px;font-weight:400}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-size:16px;border:2px solid var(--beige);background:#fffbea;max-width:100%;min-width:0}.enquiry-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px}.enquiry-actions .button{font-size:22px;min-height:48px}.enquiry-actions .button:first-child{--edge:var(--green);border-color:var(--green)}.enquiry-help{font-size:14px!important;line-height:1.5!important;margin-top:20px!important}.enquiry-dialog [hidden]{display:none!important}
.instructor-introduction{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.instructor-introduction p{font-size:22px;line-height:1.6}.instructor-introduction figure{max-width:440px;justify-self:center}.instructor-introduction img{max-height:520px;object-fit:contain}
.board-card figure{height:240px!important;padding:0;background:var(--cream)}.board-card figure img,.board-card:first-child figure img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important}
.boards-hero img{object-position:70% 50%}.boards-hero>div{max-width:540px}
.story-goa-layout{grid-template-columns:1fr 1fr;align-items:start;gap:70px}.story-goa-copy{columns:1;max-width:620px}.story-collage>figure+figure{width:83%;margin-top:40px}.club-events figure{max-width:none;width:100%;margin-top:30px!important}.club-events figure img{width:100%;height:auto;object-fit:contain}.club-event-cards{padding-top:0}
/* All photo galleries share the home gallery's joined arrow buttons. */
.story-carousel-controls{gap:0;align-items:center}.story-carousel-controls button{width:60px;height:60px;border:0;border-radius:0;background:#30271e80;backdrop-filter:blur(10px);color:white;font-family:Arial,sans-serif;font-size:26px;line-height:1}.story-carousel-controls button[data-direction="-1"]{border-radius:16px 0 0 0}.story-carousel-controls button[data-direction="1"]{border-left:1px solid #fff4;border-radius:0 0 24px 0}.story-carousel-controls button:hover{background:var(--green)}.story-carousel-controls .gallery-count{line-height:60px;padding-right:20px}.story-carousel-controls button:focus-visible{outline-offset:-5px;outline-color:var(--yellow)}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #2a7dde;outline-offset:4px}
@media(max-width:1000px){.story-goa-layout{grid-template-columns:1fr;gap:30px}.story-collage{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.story-collage>figure+figure{width:100%;margin:0}.story-goa-copy{max-width:none}.instructor-introduction{gap:40px}}
@media(max-width:700px){.enquiry-dialog{padding:48px 22px 25px;max-height:calc(100dvh - 24px)}.enquiry-dialog h2{font-size:34px}.enquiry-row{grid-template-columns:1fr;gap:0}.enquiry-actions{display:grid;gap:16px}.instructor-introduction{grid-template-columns:1fr;gap:30px}.instructor-introduction p{font-size:18px}.instructor-introduction figure{width:80%}.story-carousel-controls button{width:48px;height:48px;font-size:23px}.story-carousel-controls .gallery-count{line-height:48px}.board-card figure{height:260px!important}.story-collage{gap:20px}.story-goa-copy p{font-size:18px}.boards-hero p{font-size:16px!important}}
@media(max-width:420px){.story-collage{grid-template-columns:1fr}.story-collage>figure+figure{width:85%;justify-self:end}.enquiry-actions .button{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{scroll-behavior:auto!important}}
/* Board rack hero: keep its watermark inside the lower edge of the frame. */
.boards-hero figure{overflow:hidden;border-radius:26px}.boards-hero figure img{width:100%;height:100%;object-fit:cover;object-position:center bottom;transform:none}.boards-hero>div{top:auto;bottom:0;left:7%;right:auto;transform:none}
.slider-track.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
/* This unwatermarked rack photo can fill its card; the action shots retain their full frame. */
.board-card:first-child figure img{object-fit:cover!important;object-position:center 55%}

/* Fixed gallery controls below the photo strip; keep both arrows visible at the ends. */
.story-carousel-controls{position:static;display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:16px 0 0}
.story-carousel-controls button{flex:0 0 48px;width:48px;height:48px;border:2px solid var(--brown);border-radius:50%;background:transparent;backdrop-filter:none;color:var(--brown);font-family:Arial,sans-serif;font-size:24px;line-height:1;cursor:pointer}
.story-carousel-controls button[data-direction="-1"],.story-carousel-controls button[data-direction="1"]{border:2px solid var(--brown);border-radius:50%}
.story-carousel-controls button:hover:not(:disabled){background:var(--beige)}
.story-carousel-controls .gallery-count{margin:0 auto 0 0;padding:0;font-size:15px;line-height:1.5;color:var(--brown)}
.story-carousel-controls button:disabled,.slider-controls button:disabled{opacity:.45;cursor:default}
.story-carousel-controls button:disabled:hover{background:transparent}
.slider-controls button:disabled:hover{background:#30271e80}
.story-carousel-controls button:focus-visible{outline-offset:4px;outline-color:#2a7dde}

/* Audit fixes: existing brand green for readable inline links and semantic footer headings. */
.copy-link{color:#386150}.footer-main h2{font-size:24px;line-height:1.05;color:var(--cream);text-shadow:none;margin:0 0 17px}
.menu-toggle,.nav-dropdown summary{min-height:44px}.enquiry-close{min-height:44px}

.loop-toggle{min-height:44px}

/* One shared treatment for page, section and card titles. Keep layout and type sizes local. */
:root{--title-green:#386150;--title-shadow:2px 2px 0 #FFC919}
html body #main :is(h1,h2,h3,h4),html body .enquiry-dialog h2{color:var(--title-green);text-shadow:var(--title-shadow)}
html body #main .lessons>h2 span{color:var(--title-green);text-shadow:var(--title-shadow)}
/* Photo overlays retain the contrast of the supplied Home design. */
html body #main .hero-title h1{color:var(--yellow);text-shadow:2px 3px 0 #fff8}
html body #main .goa-card h3{color:#fff;text-shadow:1px 2px 4px #0009}
html body #main .cinema-heading h2{color:var(--cream);text-shadow:2px 3px #345b36}
/* The requested plain policy pages keep document subheadings unshadowed. */
html body #main .legal-page :is(h2,h3,h4){text-shadow:none}

/* Approved mobile refinements; keep existing branding and desktop content width. */
html{scroll-padding-top:125px}
html body .header{position:sticky;top:0;z-index:80;background:var(--cream);transition:transform .22s ease;transform:none}
html body .header.header-hidden{transform:translateY(-110%)}
html body .hero-title{inset:17% 9% auto;align-items:flex-start;gap:0}
html body .hero-title span{font-size:clamp(30px,3.6vw,52px)}
html body .hero-title h1{margin:0}
html body.page-surf .page-hero.approved-copy{width:100%;height:auto;aspect-ratio:3.14;min-height:0}
html body.page-surf .page-hero>figure img{object-fit:cover;background:var(--cream);border:0}
html body.page-surf .page-hero .page-hero-copy{max-width:380px;padding:18px 24px 10px}
html body.page-surf .page-hero.approved-copy h1{font-size:70px}
html body.page-surf .page-hero.approved-copy p{font-size:16px}
html body.page-book .booking-page{grid-template-rows:auto 1fr;column-gap:80px;row-gap:32px}
.booking-intro{grid-column:1;grid-row:1}.booking-choices{grid-column:2;grid-row:1/3}
.booking-photo{grid-column:1;grid-row:2;width:95%;height:auto;margin:0}.booking-photo img{width:100%;height:auto;object-fit:contain}
@media(max-width:700px){
 html{scroll-padding-top:100px}
 html body .header{height:88px;gap:12px;padding-inline:20px}
 html body .header .menu-toggle{display:flex;align-items:center;gap:8px;min-width:78px;min-height:44px;position:relative;z-index:83;color:#664323;padding:0}
 html body .header .logo,html body .header .nav-book{z-index:83}
 body.menu-open{overflow:hidden}
 html body .header nav#nav{display:none;box-shadow:none}
 html body .header nav#nav.open{display:flex;position:fixed;inset:0;height:var(--menu-height,100dvh);height:100dvh;width:100%;max-width:none;z-index:81;background:var(--cream);padding:110px 30px 40px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;flex-wrap:nowrap;overflow-y:auto;overscroll-behavior:contain}
 html body .header #nav>a,html body .header #nav summary{font-size:28px;line-height:1.35;min-height:56px;padding:10px 0;border-bottom:1px solid #66432330;text-decoration:none}
 html body .header #nav .nav-dropdown{width:100%}
 html body .header #nav summary{justify-content:space-between}
 html body .header #nav .nav-dropdown-panel{position:static;min-width:0;margin:0;padding:8px 0 12px 18px;border:0;border-radius:0;background:none;box-shadow:none}
 html body .header #nav .nav-dropdown-panel a{font-size:18px;padding:10px 0;min-height:44px;border-radius:0}
 html body .hero{height:auto;padding-top:0;padding-bottom:96px;margin-bottom:20px}
 html body .hero-img{width:100%;height:auto;aspect-ratio:1.5;object-fit:contain}
 html body .hero-title{inset:4px 8% auto;display:flex;flex-direction:row;align-items:center;justify-content:space-between;transform:rotate(-4deg)}
 html body .hero-title span{font-size:clamp(18px,5.5vw,30px)}
 html body .hero-title h1{font-size:clamp(30px,8.6vw,48px);margin:0;align-self:auto}
 html body .hero-bottom{bottom:0;align-items:center;flex-direction:row;gap:12px}
 html body .hero-bottom p{font-size:18px;padding:12px 6px 0;border-radius:0;align-self:auto}
 html body .hero-actions{margin:0;padding:0;gap:10px}
 html body .cinema{height:auto;min-height:0;aspect-ratio:2.1333}
 html body .cinema-background{object-fit:cover}
 html body .cinema-heading{top:12px;left:15px;right:15px}
 html body .cinema-heading h2{font-size:32px}
 html body .loop-toggle{bottom:12px;right:12px;font-size:13px;min-height:44px;padding:8px 12px}
 html body.page-surf .page-hero.approved-copy,html body .stay-hero{display:flex;flex-direction:column;aspect-ratio:auto;height:auto;min-height:0;padding:0 22px;margin:10px 0 25px;gap:18px}
 html body.page-surf .page-hero>figure,html body .stay-hero figure{position:relative;inset:auto;left:auto;right:auto;z-index:auto;width:100%;height:auto;margin:0;order:0;transform:none}
 html body.page-surf .page-hero>figure img,html body .stay-hero img{width:100%;height:auto;object-fit:contain;border-radius:20px}
 html body.page-surf .page-hero .page-hero-copy,html body .stay-hero>div{position:static;order:1;max-width:none;width:100%;padding:6px 0 0;border-radius:0}
 html body.page-surf .page-hero.approved-copy h1,html body .stay-hero h1{font-size:60px}
 html body.page-surf .page-hero.approved-copy p,html body .stay-hero p{font-size:16px!important}
 html body.page-surf .school-inset{display:none}
 html body.page-surf .school-review-photos{height:auto;min-height:0;margin:12px 0}
 html body.page-surf .school-main{position:relative;inset:auto;width:100%;height:auto;transform:rotate(2deg)}
 html body.page-surf .school-main img{height:auto;object-fit:contain}
 html body.page-book .booking-page{display:flex;flex-direction:column;gap:32px}
 .booking-intro,.booking-choices{width:100%}
 .booking-photo{order:3;width:90%;align-self:center}
}
@media(prefers-reduced-motion:reduce){html body .header{transition:none}}

picture{display:contents}picture>source{display:none}
