/* TCH programme page v1 — builds on home-v3.css. Mockup only. */
.nav ul a[aria-current=page]{color:var(--mint)}
/* hero */
.p-hero h1{font-size:clamp(44px,10vw,72px)}
.pricebar{display:flex;align-items:center;gap:16px;margin:-6px 0 30px;padding:14px 20px;border:1px solid var(--edge);border-radius:16px;background:rgba(4,7,6,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);width:max-content;max-width:100%;font-size:14px;color:var(--muted);line-height:1.45}
.pricebar .amt{font:600 40px/1 var(--serif);color:var(--text);font-variant-numeric:lining-nums}
.pricebar b{color:var(--text);font-weight:600}
.roadmap{padding:22px 24px 18px}
.rm-top{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line);font:600 20px var(--serif)}
.rm-top img{height:18px;width:auto}.rm-top .chip{margin-left:auto;font-family:var(--sans)}
.roadmap ol{list-style:none;margin:8px 0 0;padding:0}
.roadmap li{display:flex;align-items:baseline;gap:14px;padding:9px 2px;border-bottom:1px solid var(--line);font-size:15px}
.roadmap li b{font:600 12px var(--sans);letter-spacing:.14em;color:var(--mint);width:22px}
.roadmap li small{margin-left:auto;color:var(--dim);font-size:12.5px}
.rm-foot{margin-top:14px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-align:center}
/* fit */
.fit{display:grid;gap:18px;max-width:920px;margin:0 auto}
.fitcard{padding:30px 28px}.fitcard h3{margin-bottom:16px}
.fitcard ul{list-style:none;margin:0;padding:0;display:grid;gap:11px;color:var(--muted);font-size:15.5px}
.fitcard li{padding-left:28px;position:relative}
.fitcard.yes li:before{content:"";position:absolute;left:3px;top:8px;width:10px;height:6px;border-left:1.5px solid var(--mint);border-bottom:1.5px solid var(--mint);transform:rotate(-45deg)}
.fitcard.no li:before{content:"×";position:absolute;left:2px;top:-1px;color:var(--red);font-size:19px}
.fitcard a{color:var(--mint)}
.fitcard.no{border-color:rgba(233,138,128,.18)}
/* gets */
.gets{display:grid;gap:18px}
.get{padding:30px 24px;text-align:center}.get h3{font-size:23px}.get p{color:var(--muted);font-size:15px;margin-top:10px}
.get .icon{margin-bottom:18px}
/* curriculum accordions */
.phases summary span{display:flex;flex-direction:column;gap:2px}
.phases summary small{font:600 11px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--mint)}
.phases ol{margin:0;padding:0 0 18px 34px;color:var(--muted);font-size:15.5px;display:grid;gap:6px;list-style:decimal-leading-zero}
.phases ol li::marker{color:var(--dim);font-size:13px;font-variant-numeric:tabular-nums}
.phases li.strat{list-style:none;color:var(--mint);position:relative}
.phases li.strat:before{content:"◆";position:absolute;left:-26px;font-size:9px;top:6px}


/* flow */
.flow{list-style:none;margin:0 auto;padding:0;display:grid;gap:14px;max-width:1000px}
.flow li{display:flex;gap:18px;padding:22px 22px;align-items:flex-start}
.flow li>b{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--edge2);display:flex;align-items:center;justify-content:center;font:600 20px var(--serif);color:var(--mint);box-shadow:0 0 18px rgba(47,191,116,.18)}
.flow h3{font-size:22px}.flow p{color:var(--muted);font-size:15px;margin-top:6px}
/* enrol */
#enrol{scroll-margin-top:72px}
.enrol{display:grid;gap:26px;max-width:1040px;margin:0 auto}
.paycard{scroll-margin-top:80px}
.paycard ul{flex:none}
.enrol-side .head{margin-bottom:22px}
.tch-course-checkout{margin-top:4px;scroll-margin-top:96px}
.flabel{display:block;font-size:14px;font-weight:600;color:var(--text)}
.tch-field{display:block;width:100%;margin:8px 0 14px;padding:14px 15px;border-radius:12px;border:1px solid var(--edge2);color:var(--text);background:rgba(0,0,0,.35);font:400 16px var(--sans)}
.tch-field:focus{outline:none;border-color:var(--mint);box-shadow:0 0 0 3px rgba(94,224,160,.18)}
.tch-check{display:flex;gap:11px;align-items:flex-start;margin:12px 0;font-size:13px;line-height:1.55;color:var(--muted);cursor:pointer}
.tch-check input{margin:2px 0 0;width:18px;height:18px;flex:none;accent-color:var(--em)}
.tch-check a,.refund a,.fine a,.faq a{color:var(--mint)}
.tch-course-checkout .btn{width:100%;margin-top:12px;border:0;cursor:pointer;white-space:normal;text-align:center}
.tch-course-checkout button:disabled{opacity:.6;cursor:not-allowed}
#tch-checkout-status{font-size:13px;min-height:20px;color:var(--red);margin-top:10px}
.paycard .fine{margin-top:6px}.fine.links a{text-decoration:none}
.refund summary{font-size:20px}.refund p{font-size:14.5px;padding-bottom:14px}.refund p:last-child{padding-bottom:20px}
/* sticky buy (phone only) */
.stickybuy{display:none}
@media(max-width:759px){
 .stickybuy{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:30;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;border-radius:999px;background:rgba(6,12,9,.92);border:1px solid var(--edge2);box-shadow:0 10px 40px rgba(0,0,0,.6),0 0 30px rgba(47,191,116,.15);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-decoration:none;color:var(--muted);font-size:13.5px;transform:translateY(140%);transition:transform .3s}
 .stickybuy b{color:var(--text);font:600 20px var(--serif);margin-right:4px}
 .stickybuy.show{transform:none}
 .stickybuy .btn.sm{min-height:38px;padding:0 18px;font-size:13px}
}
@media(min-width:760px){
 .fit{grid-template-columns:1fr 1fr}
 .gets{grid-template-columns:repeat(3,1fr)}
 .gets .get:nth-child(4){grid-column:1/2}
 .flow{grid-template-columns:1fr 1fr}
 .faq.phases{grid-template-columns:1fr 1fr;max-width:1000px;align-items:start}
}
@media(min-width:1000px){
 .gets{grid-template-columns:repeat(5,1fr);gap:16px}.gets .get:nth-child(4){grid-column:auto}
 .get{padding:28px 18px}.get h3{font-size:21px}
 .flow{grid-template-columns:repeat(4,1fr)}.flow li{flex-direction:column;gap:14px}
 .enrol{grid-template-columns:440px 1fr;align-items:start;gap:56px}
 .enrol-side{padding-top:24px}
 .p-hero .visual{align-self:center;margin-top:0}
}
@media(max-width:759px){
 .p-hero{padding:40px 0 48px}
 .p-hero h1{font-size:44px}
 .p-hero .lead{margin:16px 0 22px}
 .pricebar{margin:0 0 22px;padding:12px 16px;gap:14px;font-size:13px;width:100%}
 .pricebar .amt{font-size:36px}
 .fit{gap:12px}.fitcard{padding:22px 20px}.fitcard h3{font-size:23px;margin-bottom:12px}.fitcard ul{gap:8px;font-size:14.5px}
 .get{padding:24px 20px}.get .icon{margin-bottom:12px}
 .phases{gap:8px}.phases summary{padding:13px 0;font-size:18px}.phases summary:after{width:24px;height:24px;font-size:16px}
 .phases ol{font-size:14.5px;padding-bottom:14px;gap:4px}
 
 .flow{gap:10px}.flow li{padding:16px 16px;gap:14px}.flow li>b{width:34px;height:34px;font-size:17px}.flow h3{font-size:20px}.flow p{font-size:14px;margin-top:4px}
 .enrol{gap:18px}
 .enrol-side .head{margin-bottom:14px}
 .paycard .badge{font-size:10px;letter-spacing:.12em}
 .refund summary{font-size:18px}.refund p{font-size:14px}
 footer{padding-bottom:28px}
}
/* v1.1 tweaks */
.phases summary{position:relative}
.phases summary .cnt{font:400 12.5px var(--sans);color:var(--dim);margin-left:auto;white-space:nowrap}
.phases summary{gap:12px}
.notinc{font-size:13.5px;color:var(--dim);margin:0 0 22px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;line-height:1.55}
.notinc b{color:var(--muted)}
@media(min-width:760px){.fit.rail,.flow.rail{display:grid}}
@media(max-width:759px){
 .rail.fit>*{flex-basis:86%}
 .flow.rail>*{flex:0 0 78%;flex-direction:column;gap:12px;padding:20px}
 .flow.rail li>b{width:34px;height:34px}
 .phases summary{padding:11px 0}
 .phases summary span{flex-direction:row;align-items:baseline;gap:10px}
 .phases summary small{font-size:10.5px;letter-spacing:.12em;width:58px;flex:none}
 .phases summary{font-size:17.5px}
 .phases summary .cnt{font-size:11.5px}
 .phases details{padding:0 14px 0 16px}
 .phases ol{padding-left:96px}
 .phases li.strat:before{left:-26px}
 .enrol-side .head{display:none}
 .tch-course-checkout .btn{font-size:14px;padding:0 18px}
 .get{padding:22px 18px}.get p{font-size:14.5px}
}
@media(max-width:759px){
 .phases summary small{width:auto;white-space:nowrap;font-size:10px;letter-spacing:.1em}
 .phases summary .cnt{display:none}
 .phases ol{padding-left:110px}
}
@media(max-width:759px){
 .prog section:not(.hero){padding:40px 0}
 .prog .head{margin-bottom:20px}
 .paycard>ul{display:none}
 .paycard .sub{margin-bottom:14px}
 .notinc{margin-bottom:16px;font-size:13px;padding:10px 12px}
 .prog .cta{margin-top:22px;padding:24px 20px}.prog .cta h2{font-size:28px}.prog .cta p{font-size:14.5px;margin:8px 0 16px}
 .fitcard li:nth-child(n){}
 #fit .head p{display:none}
 
}
@media(max-width:759px){
 .fit.rail,.flow.rail{margin:0 -22px;max-width:none}
 .tch-course-checkout .btn{font-size:13.5px;padding:0 14px;gap:8px;letter-spacing:0}
}
.head.wide{max-width:820px}
.d-only{display:none}
@media(min-width:760px){.m-only{display:none}.d-only{display:inline}}
@media(min-width:760px){.faq.phases{align-items:stretch}}
