
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@400;500;600;700&display=swap');
:root{--bg:#faf6ee;--ink:#30231f;--accent:#b45e46;--panel:#fffaf2;--muted:#746b62;--line:#ded4c7;--hero:#67352f;--contrast:#fff5e5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.wrap{max-width:1220px;padding:0 5%;margin:auto}.topline{background:var(--ink);color:var(--bg);text-align:center;font-size:11px;letter-spacing:.07em;padding:9px}.nav{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:76px}.brand{font-family:var(--display,'Playfair Display');font-weight:700;font-size:29px;letter-spacing:-1.5px;white-space:nowrap}.links{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.links button,.links a{border:0;background:transparent;color:var(--ink);font-size:12px;font-weight:700;padding:10px 0}.links button[aria-current=page]{color:var(--accent);box-shadow:0 2px var(--accent)}.btn{border:0;background:var(--accent);color:white;border-radius:5px;padding:13px 20px;font-weight:700;display:inline-flex;gap:12px;align-items:center;justify-content:center}.btn.alt{background:transparent;color:inherit;border:1px solid currentColor}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:hover{filter:brightness(.9)}.page{display:none;min-height:55vh;animation:fade .25s ease}.page.active{display:block}@keyframes fade{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:none}}.hero{background:var(--hero);color:var(--contrast);min-height:550px;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden}.hero-copy{padding:clamp(35px,6vw,95px) 7% clamp(35px,6vw,95px) max(7%,calc((100vw - 1110px)/2));align-self:center}.eyebrow{font-size:11px;letter-spacing:.19em;text-transform:uppercase;font-weight:700}.hero h1{font-family:var(--display,'Playfair Display');font-size:clamp(48px,6.4vw,94px);font-weight:500;letter-spacing:-.05em;line-height:1.05;margin:25px 0}.hero p{line-height:1.8;max-width:470px;color:var(--contrast);opacity:.88}.hero-photo{min-height:480px;background-size:cover;background-position:center;position:relative}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--hero),transparent 30%)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.section{padding:75px 0}.section h2,.page-head h1{font-family:var(--display,'Playfair Display');font-size:clamp(38px,4.4vw,65px);line-height:1.08;letter-spacing:-.045em;font-weight:500;margin:13px 0 22px}.section-intro{max-width:630px;line-height:1.75;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{background:var(--panel);border:1px solid var(--line);border-radius:9px;overflow:hidden}.card .photo{height:225px;background-size:cover;background-position:center}.card-body{padding:23px}.card h3{font-size:23px;letter-spacing:-.04em;margin:0 0 9px}.card p{line-height:1.7;color:var(--muted);font-size:13px}.text-link{border:0;background:transparent;color:var(--accent);font-weight:800;padding:8px 0}.band{background:var(--hero);color:var(--contrast);padding:50px 0}.band h2{font-family:var(--display);font-size:clamp(32px,4vw,56px);font-weight:500;margin:0 0 14px}.band p{max-width:620px;line-height:1.7}.page-head{padding:65px 0 45px;background:var(--hero);color:var(--contrast)}.page-head p{line-height:1.7;max-width:680px;opacity:.85}.pill-row{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 30px}.pill{border:1px solid var(--line);background:var(--panel);border-radius:30px;padding:9px 17px;color:var(--ink);font-size:12px}.pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.two{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start}.detail-photo{width:100%;height:370px;object-fit:cover;border-radius:8px}.stack{display:grid;gap:15px}.field{display:grid;gap:8px;font-size:13px;font-weight:700}.field input,.field select,.field textarea{padding:13px;border:1px solid var(--line);background:var(--panel);border-radius:5px;width:100%;color:var(--ink)}.field textarea{min-height:120px}.notice{border:1px solid var(--line);padding:17px;background:var(--panel);border-radius:7px;line-height:1.6;font-size:13px}.muted{color:var(--muted)}.footer{background:var(--ink);color:var(--bg);padding:55px 0 25px;margin-top:0}.footer-inner{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer p{font-size:12px;line-height:1.8;max-width:360px;opacity:.8}.footer small{display:block;border-top:1px solid #ffffff30;margin-top:35px;padding-top:18px;opacity:.7}.footer a{text-decoration:underline}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stat{padding:24px;background:var(--panel);border:1px solid var(--line)}.stat strong{font-size:38px;display:block}.stat span{font-size:12px;color:var(--muted)}.price{font-size:26px;font-weight:800}.orderbar{position:sticky;bottom:0;z-index:12;background:var(--ink);color:var(--bg);padding:12px 5%;display:flex;align-items:center;justify-content:space-between;gap:12px}.orderbar button{background:var(--accent);border:0;color:#fff;padding:12px 20px;border-radius:5px;font-weight:700}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.qty{display:inline-flex;align-items:center;gap:13px}.qty button{border:1px solid var(--line);background:var(--panel);width:34px;height:34px;border-radius:4px}.hide{display:none!important}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery img{width:100%;height:210px;object-fit:cover;border-radius:5px}.booking-slot{border:1px solid var(--line);padding:18px;background:var(--panel);border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0}.booking-slot button{background:var(--accent);border:0;color:white;padding:10px 14px;border-radius:4px}.tag{display:inline-block;padding:5px 10px;background:var(--bg);border:1px solid var(--line);font-size:11px;border-radius:30px}.accordion{border-bottom:1px solid var(--line);padding:17px 0}.accordion summary{font-weight:700;cursor:pointer}.accordion p{line-height:1.7;color:var(--muted)}.modal{border:0;border-radius:12px;max-width:520px;width:calc(100% - 30px);padding:28px;background:var(--bg);color:var(--ink);max-height:85vh;overflow:auto}.modal::backdrop{background:#100c0bba}.modal h2{font-family:var(--display);font-size:36px}.modal .close{float:right;background:none;border:0;font-size:25px}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mini-note{font-size:12px;line-height:1.6;color:var(--muted)}
@media(max-width:800px){.nav-inner{min-height:68px;align-items:flex-start;flex-direction:column;padding-top:14px;padding-bottom:12px;gap:7px}.brand{font-size:24px}.links{gap:15px;overflow:auto;max-width:100%;flex-wrap:nowrap;padding-bottom:3px}.links button,.links a{white-space:nowrap;font-size:11px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 6%}.hero-photo{min-height:270px;grid-row:1}.hero-photo:after{background:linear-gradient(0deg,var(--hero),transparent 30%)}.grid{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.section{padding:50px 0}.page-head{padding:45px 0 35px}}@media(max-width:540px){.grid,.stats{grid-template-columns:1fr}.gallery img{height:160px}.hero h1{font-size:clamp(43px,11vw,68px)}.hero-photo{min-height:220px}.split{grid-template-columns:1fr}.card .photo{height:200px}.section h2,.page-head h1{font-size:40px}}

/* V7: comfortable mobile gutters across every concept */
@media(max-width:800px){
 .wrap{width:100%;max-width:100%;padding-left:clamp(24px,6.5vw,42px);padding-right:clamp(24px,6.5vw,42px)}
 .hero-copy{padding:52px clamp(26px,7vw,48px) 58px}
 .nav-inner{padding-top:18px;padding-bottom:16px}
 .page-head{padding-top:54px;padding-bottom:43px}
 .section{padding-top:58px;padding-bottom:58px}
 .band{padding-top:46px;padding-bottom:46px}
 .card-body{padding:25px}
 .orderbar{padding-left:clamp(24px,6.5vw,42px);padding-right:clamp(24px,6.5vw,42px)}
 .gallery,.grid,.two{min-width:0}
 .grid>* , .two>*{min-width:0}
 .section h2,.page-head h1,.hero h1{overflow-wrap:break-word}
}
@media(max-width:540px){
 .hero-copy{padding-left:28px;padding-right:28px}
 .hero h1{font-size:clamp(39px,10vw,58px)}
 .section h2,.page-head h1{font-size:clamp(33px,9vw,42px)}
 .booking-slot{flex-wrap:wrap;padding:18px}
 .footer{padding-top:44px}
 .orderbar{flex-wrap:wrap}
}

@media(max-width:700px){.detail-photo{max-height:350px;min-height:220px;object-fit:cover}.page-head{padding-top:42px;padding-bottom:42px}.nav .wrap{padding-left:22px;padding-right:22px}.section.wrap{padding-left:22px;padding-right:22px}}

/* V9: case study content and accessible compact timetable */
.case-process{margin-top:48px}.case-process-head{margin-bottom:22px}.case-process-head h2{font-size:clamp(29px,4vw,48px)}.process-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.process-card{border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow:hidden;min-width:0}.process-card summary{display:flex;align-items:center;gap:13px;padding:24px 20px;cursor:pointer;list-style:none}.process-card summary::-webkit-details-marker{display:none}.process-number{font-family:var(--display,serif);font-size:42px;color:var(--accent);line-height:1}.process-card summary strong{display:block;font-size:17px;line-height:1.3}.process-card summary small{display:block;font-size:12px;color:var(--muted);margin-top:6px}.process-plus{margin-left:auto;font-size:23px;color:var(--accent)}.process-card[open] .process-plus{transform:rotate(45deg)}.process-detail{padding:0 20px 23px;font-size:13px;line-height:1.7;color:var(--muted)}.process-detail ul{padding-left:18px}.process-detail li{margin-bottom:7px}.process-outcome{display:block;padding:11px;background:var(--bg);color:var(--ink);border-radius:5px;font-weight:700}
@media(max-width:800px){.process-cards{grid-template-columns:1fr}.process-card summary{padding:20px}.process-detail{padding:0 20px 20px}}
@media(max-width:700px){.schedule{display:block;width:100%;min-width:0!important;border-collapse:separate}.schedule thead{display:none}.schedule tbody{display:grid;grid-template-columns:1fr;gap:14px}.schedule tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;margin:0;min-width:0}.schedule tbody td{display:block!important;border:0!important;padding:0!important;min-width:0;font-size:14px;overflow-wrap:anywhere}.schedule tbody td::before{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--muted);margin-bottom:4px}.schedule tbody td:nth-child(1)::before{content:'Day'}.schedule tbody td:nth-child(2)::before{content:'Time'}.schedule tbody td:nth-child(3)::before{content:'Session'}.schedule tbody td:nth-child(4)::before{content:'Coach'}.schedule tbody td:nth-child(5)::before{content:'Availability'}.schedule tbody td:nth-child(6){grid-column:1/-1}.schedule tbody td:nth-child(6) .btn{width:100%;min-height:46px}.schedule tbody td:nth-child(3){font-weight:800}.schedule tbody td:nth-child(5){color:var(--accent);font-weight:700}}
