@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800;900&display=swap');
:root{--o:#f47823;--ink:#181918;--cream:#faf9f6}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.65 Inter,Arial,sans-serif}
a:focus-visible{outline:3px solid var(--o);outline-offset:4px}
.skip-link{position:absolute;left:-9999px;top:10px;z-index:50;background:white;color:#111;padding:8px 12px}.skip-link:focus{left:10px}
header{height:80px;background:#080908;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}
header img,footer img{width:60px;height:60px;object-fit:contain}.logo-link{display:flex;align-items:center}
nav{display:flex;align-items:center;gap:26px}nav a{font-weight:800;color:white;text-decoration:none;font-size:12px}
.button{background:var(--o);color:#111!important;padding:12px 18px;text-decoration:none;font-weight:900;display:inline-block}
.hero{min-height:72vh;display:flex;align-items:center;padding:8vw;color:white;background:linear-gradient(90deg,#000e,#0009,#0003),url(whanau.jpg) center 35%/cover}
.hero>div{max-width:850px}
.hero small,.editorial small,.plans small,.timetable small,.whanau small{color:var(--o);font-weight:900;letter-spacing:.14em}
.hero h1{font-size:clamp(3rem,6.2vw,6.2rem);line-height:.98;letter-spacing:-.06em;margin:.25em 0;font-weight:900}
.hero h1 i{color:var(--o);font-style:normal}.hero p{max-width:680px;font-size:18px;margin-bottom:28px}
.editorial{max-width:1280px;margin:auto;padding:72px 5vw;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7vw;align-items:center}
.editorial.reverse img{order:2}.editorial img{width:100%;max-height:600px;object-fit:cover;border-radius:8px}
.editorial img.portrait{aspect-ratio:3/4;object-fit:cover;object-position:center 50%}
.editorial h2,.plans h2,.timetable h2,.whanau h2{font-size:clamp(2.5rem,4.4vw,4.7rem);line-height:.98;letter-spacing:-.055em;margin:.22em 0;font-weight:900}
.editorial p{color:#555;max-width:520px;font-size:16px}.editorial .eyebrow-detail{border-left:3px solid var(--o);padding-left:16px;color:#333;font-weight:600}
.outline{display:inline-block;margin-top:20px;border:2px solid #222;border-radius:6px;color:#222;text-decoration:none;font-weight:700;padding:11px 20px}
.plans{background:#111;color:white;padding:85px 7vw;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:24px}
.plans .title>p{color:#ccc;max-width:280px}.plans article{background:#1b1c1a;padding:30px;border-top:5px solid var(--o)}
.plans h3{font-size:30px;margin:8px 0}.plans strong{display:block;color:var(--o);font-size:48px;line-height:1.15}
.plans strong em{font-size:13px;color:#aaa;font-style:normal}.plans article a{font-weight:900;color:var(--o)}.plans article p{min-height:78px}
.timetable{padding:90px 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;max-width:1500px;margin:auto}
.timetable p{color:#555}.timetable p.time-note{font-size:13px;font-weight:700;color:#454545}
.schedule-row{display:grid;grid-template-columns:55px minmax(0,1fr);gap:8px;align-items:center;margin:0;padding:17px 12px;border-bottom:1px solid #ccc}
.schedule-row.coached{border-left:4px solid var(--o);background:#f5eee8;padding-left:8px}.schedule-row.coached>span:last-child{font-weight:800;color:#191919}.schedule-row .day{font-weight:900;color:#222}.schedule-row>b{font-size:13px}.schedule-row>span:last-child{color:#606060;font-size:13px}
.whanau{background:#111;color:white}.whanau>div{padding:56px 7vw 60px;max-width:1100px;margin:auto;text-align:center}.whanau p{color:#ccc;font-size:17px;max-width:630px;margin:20px auto 0}
footer{min-height:130px;background:#080908;color:#aaa;padding:20px 6vw;display:flex;align-items:center;justify-content:space-between;gap:18px;font-weight:900}
@media(max-width:900px){nav{gap:12px}.plans{grid-template-columns:1fr 1fr}.plans .title{grid-column:1 / -1}.plans .title>p{max-width:600px}.timetable{gap:4vw}}
@media(max-width:780px){nav a:not(.button){display:none}.editorial,.timetable,.plans{grid-template-columns:1fr}.plans .title{grid-column:1}.editorial.reverse img{order:0}.editorial{padding:50px 6vw;gap:28px}.plans{padding:60px 6vw}.plans article p{min-height:0}.timetable{padding:60px 6vw}.schedule-row{grid-template-columns:50px minmax(0,1fr)}.schedule-row>span:last-child{grid-column:2}.hero{min-height:65vh;background-position:56% center}.hero h1{font-size:clamp(2.8rem,12vw,5rem)}footer span{font-size:12px;text-align:right}}
@media(max-width:440px){header{padding:0 5vw}nav .button{padding:11px;font-size:11px}.hero{padding:15vw 6vw;min-height:65vh}.hero small{font-size:11px}.hero p{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Easy-to-find contact details */
.contact{background:var(--cream);padding:66px 7vw 74px}
.contact-inner{max-width:1280px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:start}
.contact small{color:var(--o);font-weight:900;letter-spacing:.14em}
.contact h2{font-size:clamp(2.5rem,4.4vw,4.7rem);letter-spacing:-.055em;line-height:1;margin:.22em 0;font-weight:900}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.contact-label{font-size:12px;color:#777;letter-spacing:.12em;font-weight:900;display:block;margin-bottom:9px}
.contact address{font-style:normal;font-size:17px;line-height:1.6;font-weight:650}
.contact a{color:var(--ink);font-size:17px;font-weight:800;overflow-wrap:anywhere;text-underline-offset:4px}
.timetable-app-note{border-left:4px solid var(--o);padding-left:14px;font-weight:700;margin-top:24px}
@media(max-width:900px){.contact-inner{gap:4vw}}
@media(max-width:780px){.contact{padding:56px 6vw}.contact-inner{grid-template-columns:1fr;gap:26px}.contact-details{grid-template-columns:1fr;gap:24px}}
