@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--navy:#142e39;--cream:#f6f4ed;--copper:#ad714e;--ink:#233e45;--muted:#5d6b6d;--line:#d9ded6;--white:#fffefa}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--cream);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{cursor:pointer}a{color:inherit;text-underline-offset:5px}button{border:0}button:disabled{cursor:not-allowed;opacity:.5}input,select{min-width:0;width:100%;border:1px solid #aab7b5;background:var(--white);color:var(--ink);border-radius:2px;padding:12px;min-height:48px}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #c18a65;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(44px,5.8vw,82px);margin-bottom:24px}h2{font-size:clamp(32px,3.4vw,48px);margin-bottom:22px}h3{font-size:22px;line-height:1.25;font-weight:500}small{font-size:13px;line-height:1.6}label{display:block;font-size:14px;font-weight:600}label input,label select{display:block;margin-top:7px}fieldset{border:0;margin:22px 0;padding:0}legend{font-size:14px;font-weight:600;margin-bottom:10px}.demo-bar{padding:7px 5%;background:var(--navy);color:#f2ebdf;font-size:11px;letter-spacing:.07em;display:flex;justify-content:space-between;gap:12px;align-items:center}.demo-bar button{color:inherit;background:none;text-decoration:underline;white-space:nowrap;padding:4px}header{padding:26px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--cream)}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-family:Georgia,serif;font-size:23px;line-height:1.2}.brand small{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:.2em;margin-top:8px}.crest{width:43px;height:48px;border:1px solid var(--copper);border-radius:0 0 22px 22px;display:grid;place-items:center;color:var(--copper);font-size:26px;position:relative;flex-shrink:0}.crest span{position:absolute;right:4px;top:0;font-size:12px}nav{display:flex;align-items:center;gap:32px;font-size:14px;white-space:nowrap}nav a{text-decoration:none}nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--copper);text-decoration-thickness:2px}.nav-outline{border:1px solid var(--navy);padding:10px 17px}.hero{margin:0 24px;min-height:655px;display:grid;grid-template-columns:48% 52%;background:var(--navy);color:var(--cream)}.hero-copy{padding:62px 10% 40px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:#805235;margin-bottom:20px}.light{color:#d4af90}.hero h1{font-size:clamp(52px,6.5vw,94px);line-height:1.02;letter-spacing:-.025em;margin-bottom:24px}.hero-copy>p:not(.eyebrow){max-width:420px;font-size:16px;color:#d4dfdd;line-height:1.8}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;background:var(--navy);color:white;text-decoration:none;padding:14px 23px;font-weight:500;font-size:14px;min-height:50px;border-radius:2px;line-height:1.5}.button:hover{filter:brightness(1.15)}.copper{background:#b87c56;margin-top:8px}.secondary{color:var(--navy);background:transparent;border:1px solid #9aa8a7}.full{width:100%}.hero-note{display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.04em;margin-top:36px;color:#b6c8c8}.hero-note span{border:1px solid #52707b;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;font-size:10px}.hero-art{position:relative;background:url('coast.svg') center/cover}.art-caption{position:absolute;right:28px;bottom:24px;background:#142e39bd;color:#f2eee1;padding:15px 19px;font-size:10px;letter-spacing:.12em}.art-caption span{font-size:10px;opacity:.75;letter-spacing:0}.intro{display:grid;grid-template-columns:1fr 1.5fr 1.7fr;gap:48px;padding:90px 7%;align-items:start;border-bottom:1px solid var(--line)}.intro .eyebrow{max-width:140px}.intro p{font-size:15px;margin:0}.intro h2{font-size:43px}.section{padding:60px 7%}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.section-heading h2,.section-heading p{margin-bottom:0}.section-heading a{font-size:14px}.section-heading .eyebrow{margin-bottom:12px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.course-card{background:var(--white);border:1px solid var(--line)}.card-art{display:block;height:240px;background:url('coast.svg') center 64%/cover;position:relative;overflow:hidden}.valley{filter:sepia(.2);background-position:14% 78%;background-size:160%}.harbour{background-position:85% 52%;background-size:135%;filter:saturate(.7)}.ridge{background-position:5% 52%;filter:hue-rotate(12deg)}.photo-label{position:absolute;left:18px;bottom:16px;background:#fffefae6;padding:5px 10px;font-size:11px;letter-spacing:.05em}.card-body{padding:24px}.card-body .eyebrow{font-size:10px;margin-bottom:10px}.card-body h3{font-family:Georgia,serif;font-size:26px;margin-bottom:9px}.card-body h3 a{text-decoration:none}.card-body>p:not(.eyebrow){font-size:13px;color:var(--muted)}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin:24px 0 16px}.card-bottom strong{font-size:25px;font-weight:500}.card-bottom span{font-size:13px}.card-bottom small{display:block;font-size:11px;color:var(--muted)}.round-link{display:grid;place-items:center;width:40px;height:40px;border:1px solid #b4bfba;border-radius:50%;text-decoration:none;font-size:22px}.badge{display:inline-block;font-size:11px;background:#e8eee4;color:#2b5845;padding:5px 10px;letter-spacing:.015em}.badge.amber{background:#f6e4c8;color:#755329}.membership{margin:25px 24px 0;background:var(--navy);color:var(--cream);padding:65px 7%;display:grid;grid-template-columns:1fr 1fr;gap:12%}.membership p{color:#d2dfdc;font-size:15px}.membership a{color:#e8b693}.fee{border-top:1px solid #4a6067;margin-top:26px;padding-top:20px;display:flex;justify-content:space-between;gap:15px}.fee strong{font-weight:500}footer{display:grid;grid-template-columns:1fr 1.7fr 1fr;gap:45px;padding:65px 7%;font-size:12px}footer p{color:var(--muted);margin-top:10px}footer label{font-size:11px}footer select{font-size:12px;padding:9px;min-height:42px}footer small{font-size:10px;color:var(--muted)}.footer-brand{font-family:Georgia,serif;font-size:27px;line-height:1.3}.page-title{padding:55px 7% 35px;background:#ebece4}.page-title h1{font-size:64px}.page-title p:last-child{max-width:720px}.filters{display:grid;grid-template-columns:1.7fr 1.4fr .8fr 1fr auto;gap:16px;margin:35px 7% 0;align-items:end}.text-button{background:none;color:var(--ink);text-decoration:underline;padding:12px 0;min-height:44px;font-size:14px}.empty{border:1px dashed #aebdb9;padding:42px;text-align:center;grid-column:1/-1;background:#fffefa70}.empty p{color:var(--muted)}.detail-top{padding:30px 7%}.detail-top>a{font-size:13px}.detail-top .eyebrow{margin-top:35px}.detail-top h1{font-size:64px}.detail-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:6%;padding:0 7% 60px;align-items:start}.detail-art{height:400px;background-image:url('coast.svg');background-size:cover;background-position:center}.detail-copy{padding-top:35px}.detail-copy p{color:var(--muted)}.facts{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:28px 0}.facts span{font-family:Georgia,serif;font-size:30px}.facts small{display:block;font-family:Arial,sans-serif;color:var(--muted)}.booking-panel{background:var(--white);border:1px solid var(--line);padding:30px;position:sticky;top:24px}.booking-panel h2{font-size:37px}.booking-panel form>label{margin:15px 0}.booking-panel form>small{display:block;margin-top:12px;color:var(--muted)}.notice{background:#e9ede7;padding:18px;border-left:3px solid var(--copper);font-size:14px}.slot{display:inline-flex;width:calc(50% - 6px);gap:10px;align-items:center;border:1px solid #b7c1ba;padding:12px;margin:0 6px 9px 0;cursor:pointer;font-size:16px}.slot:has(:checked){background:#e2e9df;border-color:var(--navy)}.slot input{width:16px;min-height:16px;margin:0;accent-color:var(--navy)}.slot small{display:block;font-weight:400;font-size:11px}.unavailable{opacity:.5}.narrow{max-width:740px;padding:55px 24px;margin:auto}.narrow h1{font-size:57px}.wide{max-width:900px}.summary{background:var(--white);border:1px solid var(--line);padding:32px}.summary h2{font-size:37px}.summary dl{margin:25px 0}.summary dl div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}.summary dd{margin:0;text-align:right;font-weight:600}.muted{color:var(--muted);font-size:13px}.dashboard{display:grid;grid-template-columns:2fr 1fr;gap:35px;align-items:start}.member-card{background:var(--navy);color:var(--cream);padding:32px}.member-card h2{font-size:35px}.member-card p{font-size:14px}.member-card hr{border:0;border-top:1px solid #4e666b;margin:25px 0}.reservation{padding:28px;border:1px solid var(--line);background:var(--white);margin-bottom:18px}.reservation h2{font-size:31px}.reservation p{font-size:14px}.reservation-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.reservation-actions>a:last-child{font-size:13px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.steps h2{font-size:33px}.steps p{font-size:15px}.step-number{font-family:Georgia,serif;color:var(--copper);font-size:40px;display:block;margin-bottom:25px}#setup{padding:30px;background:var(--white);border:1px solid var(--line)}#setup>label{margin-bottom:20px}.choice{border:1px solid var(--line);padding:18px;display:flex;align-items:center;gap:15px;margin:15px 0;font-weight:400}.choice input{width:18px;min-height:18px;margin:0;accent-color:var(--navy)}.choice span{flex:1}.choice small{display:block}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.staff-filters{grid-template-columns:1fr 1.5fr auto;margin:0 0 20px}.arrival{display:grid;grid-template-columns:1fr 1.3fr auto;gap:24px;align-items:center;padding:24px;border:1px solid var(--line);background:var(--white);margin:12px 0}.arrival h3{margin-bottom:5px}.arrival p{font-size:13px;margin-bottom:5px}.confirm-form{display:grid;grid-template-columns:1.5fr 1fr auto;align-items:center;gap:20px;border:1px solid var(--line);padding:22px;margin-bottom:14px}.confirm-form p{font-size:13px}.skip{position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:10}.skip:focus{top:5px}#toast:empty{display:none}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:20;max-width:calc(100% - 32px);width:max-content;background:var(--navy);color:white;box-shadow:0 5px 30px #0003;padding:16px 25px;border:1px solid #b88d66;font-size:14px}
@media(min-width:1500px){body{max-width:1800px;margin:auto}.hero{min-height:740px}}@media(max-width:1050px){nav{gap:18px;font-size:12px}.brand{font-size:19px}.hero-copy{padding:50px 9%}.hero{min-height:620px}.hero h1{font-size:70px}.intro{grid-template-columns:1fr 1fr;gap:30px}.intro>.eyebrow{grid-column:1/-1;max-width:none}.cards{gap:16px}.card-body{padding:18px}.filters{grid-template-columns:1.5fr 1.5fr 1fr 1fr}.filters button{grid-column:1/-1}.detail-grid{gap:30px;grid-template-columns:1.1fr 1fr}.booking-panel{padding:22px}.slot{width:100%}.staff-filters{grid-template-columns:1fr 1fr}.confirm-form{grid-template-columns:1fr 1fr}.confirm-form button{grid-column:1/-1}footer{gap:25px}.dashboard{grid-template-columns:1.6fr 1fr}}
@media(max-width:760px){header{padding:22px 6% 15px;display:block}.brand{font-size:22px}.brand small{font-size:8px}nav{justify-content:space-between;gap:10px;margin-top:25px;flex-wrap:wrap;font-size:12px}.nav-outline{padding:7px 9px}.demo-bar{font-size:9px;padding:6px 5%;letter-spacing:.02em}.hero{margin:0 12px;display:flex;flex-direction:column}.hero-copy{padding:40px 8% 30px}.hero h1{font-size:64px}.hero-copy>p:not(.eyebrow){font-size:15px}.hero-art{min-height:330px;background-position:center 64%}.art-caption{font-size:9px;right:15px;bottom:15px;padding:10px 12px}.hero-note{margin-top:26px}.intro{display:block;padding:45px 7%}.intro .eyebrow{margin-bottom:20px}.intro h2{font-size:40px}.intro>p:last-child{margin-top:24px}.section{padding:40px 6%}.section-heading{align-items:flex-start}.section-heading>a{font-size:12px}.cards{grid-template-columns:1fr}.card-art{height:260px}.card-body{padding:24px}.membership{margin:10px 12px 0;display:block;padding:38px 8%}.membership h2{font-size:42px}.membership>div+div{margin-top:28px}.fee{font-size:12px!important}.page-title{padding:35px 6% 25px}.page-title h1,.detail-top h1{font-size:46px}.page-title p{font-size:14px}.filters{grid-template-columns:1fr 1fr;margin:25px 6% 0;gap:15px}.filters label{font-size:12px}.filters .button{grid-column:1/-1}.detail-top{padding:25px 6%}.detail-grid{display:block;padding:0 6% 40px}.detail-art{height:290px}.detail-copy h2{font-size:37px}.booking-panel{position:static;margin-top:35px;padding:24px}.slot{width:calc(50% - 6px)}.dashboard{display:flex;flex-direction:column}.dashboard>div,.member-card{width:100%}.reservation{padding:23px}.reservation-actions{align-items:stretch;flex-direction:column}.reservation .badge{font-size:10px}.narrow{padding:38px 6%}.narrow h1{font-size:45px}.summary{padding:24px}.summary dl div{font-size:12px}.steps{display:block}.steps article{margin-bottom:36px}.steps .step-number{margin-bottom:14px}.form-row{grid-template-columns:1fr}#setup{padding:22px}.staff-filters{margin:0;grid-template-columns:1fr}.arrival{grid-template-columns:1fr;gap:14px}.arrival .button{width:100%}.confirm-form{grid-template-columns:1fr}.confirm-form button{grid-column:auto}footer{display:block;padding:45px 7%}footer>div{margin-bottom:30px}footer select{max-width:360px}.empty{padding:28px}.facts span{font-size:25px}.facts small{font-size:11px}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background .15s,filter .15s}.course-card:hover .round-link{background:var(--navy);color:white}}
main:focus{outline:none}
@media(min-width:1060px){.hero-copy{padding-left:8%;padding-right:8%}.hero h1{font-size:clamp(52px,5.8vw,84px)}}
@media(max-width:760px){.hero h1{font-size:52px}.hero-copy{padding-top:35px}.hero-note{margin-top:23px}}
dialog{border:1px solid var(--line);padding:32px;background:var(--cream);color:var(--ink);max-width:min(480px,calc(100% - 32px));box-shadow:0 20px 80px #0004}dialog::backdrop{background:#142e3980}dialog h2{font-size:36px}.dialog-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:25px}
.club-crest{display:block;width:52px;height:63px;flex-shrink:0}.footer-crest{display:block;margin-bottom:22px}.member-crest{display:block;margin-bottom:24px}
@media(min-width:761px) and (max-width:1150px){.brand{max-width:390px;font-size:21px}header{gap:20px}nav{gap:18px}}
@media(max-width:760px){.brand{font-size:22px;gap:12px}.brand>span{max-width:255px}.brand small{font-size:7px;letter-spacing:.15em}.club-crest{width:47px;height:57px}}
.club-crest{position:relative;overflow:hidden;width:54px;height:67px;background:var(--cream)}.crest-detail{position:absolute;width:104px;height:104px;max-width:none;left:-25px;top:-4px}.footer-crest{width:210px;height:auto;background:var(--cream);padding:8px}.member-crest{width:190px;height:auto;max-width:100%;background:var(--cream);padding:14px}
@media(max-width:760px){.club-crest{width:54px;height:67px}.footer-crest{width:190px}}
.club-crest{height:65px}@media(max-width:760px){.club-crest{height:65px}}
