
:root{--paper:#f7f4ec;--ink:#344337;--muted:#657266;--line:#d8dacd;--sage:#e5e9dc;--rose:#b17a66}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 Manrope,Arial,sans-serif}a{color:inherit}header{padding:25px 6vw;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{text-decoration:none;letter-spacing:4px;font-size:22px}nav{display:flex;gap:28px}nav a{text-decoration:none;font-size:13px}nav a[aria-current]{border-bottom:1px solid}main{max-width:1280px;margin:auto;padding:0 6vw}h1,h2,h3,.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.08}h1{font-size:clamp(48px,6vw,84px);margin:20px 0}h2{font-size:43px;margin:14px 0 24px}h3{font-size:29px;margin:14px 0}p{max-width:650px}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:11px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:55px 0 75px}.hero img{width:100%;height:540px;object-fit:cover}.hero .lead{font-family:Georgia,serif;font-size:21px;font-style:italic;line-height:1.6}.button{display:inline-block;background:var(--ink);color:white;padding:14px 27px;text-decoration:none;border:1px solid var(--ink);font:inherit;cursor:pointer}.outline{background:transparent;color:var(--ink)}.section{padding:55px 0;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.card{display:grid;grid-template-columns:1fr 1fr;margin:25px 0 40px;background:var(--sage)}.card img{width:100%;height:480px;object-fit:cover}.card-content{padding:45px}.tag{display:inline-block;border:1px solid #abb3a0;padding:3px 12px;font-size:11px;letter-spacing:1px}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:25px 0}.facts dt{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.facts dd{margin:4px 0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery img{width:100%;height:310px;object-fit:cover}.quote{font-family:Georgia,serif;font-style:italic;font-size:29px;line-height:1.5;text-align:center;max-width:800px;margin:25px auto}.detail{display:grid;grid-template-columns:1fr 370px;gap:60px}.booking{background:var(--sage);padding:30px;align-self:start;position:sticky;top:20px}.booking h2{font-size:34px}.small{font-size:12px;color:var(--muted)}ol.program{list-style:none;padding:0;counter-reset:step}ol.program li{counter-increment:step;border-top:1px solid var(--line);padding:20px 0 20px 45px;position:relative}ol.program li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:25px;color:var(--rose)}ol.program h3{font-size:25px;margin:0}.program p{margin:8px 0}.breadcrumbs{padding-top:25px;font-size:12px}.poster{max-width:100%;width:570px;display:block;margin:25px auto}label{display:block;font-size:12px;margin:16px 0 5px}input,select,textarea{display:block;width:100%;border:1px solid #bfc6b6;border-radius:0;padding:11px;background:var(--paper);color:var(--ink);font:inherit}textarea{resize:vertical}.check{display:flex;align-items:start;gap:9px}.check input{width:auto;margin:6px 0}.booking button{width:100%;margin-top:20px}.notice{border-left:2px solid var(--rose);padding-left:15px;margin:20px 0;font-size:12px}footer{border-top:1px solid var(--line);padding:35px 6vw;margin-top:70px;display:flex;justify-content:space-between;font-size:12px}.success{background:var(--paper);padding:15px;margin-top:20px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--rose);outline-offset:3px}[hidden]{display:none!important}@media(max-width:800px){header{flex-wrap:wrap}nav{gap:16px}.hero,.card,.detail{grid-template-columns:1fr;gap:25px}.hero{padding-top:35px}.hero img{height:430px}.card-content{padding:25px}.card img{height:390px}.detail{gap:35px}.booking{position:static}.gallery{grid-template-columns:1fr}.gallery img{height:380px}.section-head{display:block}footer{display:block}.quote{font-size:24px}}

/* Shared Koke Design identity */
:root{--paper:#e9ede5;--ink:#1b3028;--muted:#4e6054;--line:#c7d0c5;--sage:#dce5da;--rose:#597364}
body.course-page{background-color:var(--paper);background-image:url('home/grain.svg');font-family:'DM Sans',Arial,sans-serif;font-size:16px}
.course-page header.top{padding:0;gap:20px}.course-page .brand{letter-spacing:.015em}.course-page .nav{gap:30px}.course-page main{max-width:1320px;padding:0;width:calc(100% - 88px)}
.course-page h1,.course-page h2,.course-page h3,.course-page .serif{font-family:Italiana,Georgia,serif}
.course-page h1{font-size:clamp(52px,6vw,86px)}.course-page .hero{min-height:0;gap:65px;padding:75px 0 90px;grid-template-columns:1fr 1fr}.course-page .hero p{margin-bottom:22px}
.course-page .section{padding:70px 0}.course-page .button{font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:15px 23px}.course-page .button:hover{background:#304a3c}
.course-page footer{margin-top:70px;padding:39px 0}.course-page .card:hover img{transform:none}.course-page .card{gap:0}.course-page .card h3{margin:14px 0}.course-page .card p{margin:14px 0;max-width:650px}
.course-page .poster{height:auto;object-fit:contain}.course-page .detail>div{min-width:0}.course-page .booking{top:25px}.course-page .hero img{height:540px}.course-page input,.course-page textarea,.course-page select{font-size:16px}
@media(max-width:1000px){.course-page .detail{grid-template-columns:1fr;gap:30px}.course-page .booking{position:static}.course-page .nav{gap:18px}}
@media(max-width:900px){.course-page main{width:calc(100% - 40px)}.course-page header.top{height:auto;min-height:90px;padding:12px 0;flex-wrap:wrap}.course-page .nav{width:100%;gap:18px;flex-wrap:wrap;padding:6px 0}.course-page .nav a:not(.contact){display:inline-block}.course-page .hero,.course-page .card{grid-template-columns:1fr;gap:30px}.course-page .hero{padding:45px 0 60px}.course-page .section{padding:50px 0}.course-page .hero img{height:430px}.course-page .gallery{grid-template-columns:1fr 1fr}.course-page .gallery img{height:320px}}
@media(max-width:600px){.course-page .nav{font-size:10px;gap:13px}.course-page .hero img{height:360px}.course-page .gallery{grid-template-columns:1fr}.course-page .card h3{font-size:42px!important}.course-page h2{font-size:36px}.course-page .booking{padding:24px}.course-page .facts{gap:16px}.course-page .card img{height:380px}.course-page .brand-logo img{width:65px;height:59px}}
