/* Layout: light, trustworthy school site. White nav, deep-forest hero with a large scene frame and floating proof cards, a trust bar overlapping the hero, alternating light and forest bands. Boldness lives in the hero scene and the route section. */
:root{
  --bg:#f5f9f6; --surface:#ffffff; --ink:#0e2419; --muted:#516a5c; --line:#dbe7df; --soft:#e8f3ec;
  --forest:#08382a; --forest2:#0c4d38; --green:#0f7b4f; --signal:#19b862; --gold:#d9a93f; --gold-soft:#fbf1d6; --on-forest:#e9f4ed; --on-forest-mute:#b6cfc0;
  --shadow:0 18px 40px -20px rgba(8,56,42,.35);
  --display:"Bricolage Grotesque","Trebuchet MS",system-ui,sans-serif; --body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0c1711; --surface:#14241b; --ink:#e8f2ea; --muted:#9db4a5; --line:#25392d; --soft:#173024;
  --forest:#06231a; --forest2:#0a3427; --green:#3ccf84; --signal:#3ccf84; --gold:#e3b957; --gold-soft:#2c2410; --shadow:0 18px 40px -20px rgba(0,0,0,.7); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0c1711; --surface:#14241b; --ink:#e8f2ea; --muted:#9db4a5; --line:#25392d; --soft:#173024;
  --forest:#06231a; --forest2:#0a3427; --green:#3ccf84; --signal:#3ccf84; --gold:#e3b957; --gold-soft:#2c2410; --shadow:0 18px 40px -20px rgba(0,0,0,.7); color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}
h1,h2,h3{font-family:var(--display);line-height:1.1;margin:0;text-wrap:balance;letter-spacing:-.015em}
p{margin:0} a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.sec{padding-block:84px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;font:inherit;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer}
.btn:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.btn-main{background:var(--signal);color:#04170d;box-shadow:0 10px 22px -10px rgba(25,184,98,.8)}
.btn-main:hover{filter:brightness(1.06)}
.btn-line{border-color:currentColor;background:transparent}
.ico{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* top bar and nav */
.util{background:var(--forest);color:var(--on-forest-mute);font-size:13.5px}
.util .wrap{display:flex;justify-content:space-between;gap:16px;padding-block:8px;flex-wrap:wrap}
.util a{color:var(--gold);font-weight:700;text-decoration:none}
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:22px;min-height:74px;padding-block:8px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--display);font-weight:800;font-size:18px;line-height:1.1;color:var(--ink)}
.brand img{height:46px;width:auto}
.nav ul{display:flex;gap:26px;list-style:none;margin:0 0 0 auto;padding:0;font-weight:600;font-size:15px}
.nav ul a{text-decoration:none;color:var(--muted)}.nav ul a:hover{color:var(--ink)}
.nav .btn{min-height:44px;padding:0 20px;font-size:14.5px}
/* hero */
.hero{background:radial-gradient(1200px 500px at 85% -10%,var(--forest2),transparent 60%),var(--forest);color:var(--on-forest);padding-bottom:110px;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-block:70px 0}
.badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:6px 14px 6px 8px;font-size:14px;font-weight:600;margin-bottom:22px}
.badge i{width:22px;height:22px;border-radius:50%;background:var(--gold);display:grid;place-items:center;color:#2a1d00}
.hero h1{font-size:clamp(2.4rem,5.2vw,4.2rem);font-weight:800}
.hero h1 em{font-style:normal;color:var(--signal)}
.hero p.lead{margin-top:20px;font-size:1.15rem;max-width:34em;color:var(--on-forest-mute)}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero .btn-line{color:var(--on-forest)}
.scene{position:relative}
.frame{border-radius:28px;overflow:hidden;border:6px solid rgba(255,255,255,.12);box-shadow:0 30px 60px -28px rgba(0,0,0,.7);aspect-ratio:1.38/1;background:#cfe8d8}
.frame svg,.frame img{display:block;width:100%;height:100%}.gal .tile img{width:100%;height:100%;object-fit:cover;display:block}
.float{position:absolute;background:var(--surface);color:var(--ink);border-radius:16px;padding:12px 16px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center;font-size:14px;line-height:1.3}
.float b{display:block;font-family:var(--display);font-size:15px}
.float span.d{color:var(--muted);font-size:12.5px}
.float .ck{width:36px;height:36px;border-radius:10px;background:var(--soft);color:var(--green);display:grid;place-items:center}
.f1{left:-26px;bottom:34px}.f2{right:-14px;top:26px}
.mark{animation:slide 2.2s linear infinite}
@keyframes slide{to{transform:translateX(-80px)}}
.car{animation:bob 1.4s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-2px)}}
/* trust bar overlaps hero */
.trustbar{margin-top:-62px;position:relative;z-index:2}
.trustbar .grid{background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(4,1fr)}
.tb{display:flex;gap:14px;align-items:center;padding:22px 24px;min-width:0}
.tb + .tb{border-left:1px solid var(--line)}
.tb .ico{width:34px;height:34px;color:var(--green)}
.tb b{display:block;font-family:var(--display);font-size:1.05rem}
.tb span{color:var(--muted);font-size:.9rem}
/* heads */
.head{max-width:42rem;margin-bottom:38px}
.head h2{font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:800}
.head p{margin-top:12px;color:var(--muted);font-size:1.06rem}
.head.center{margin-inline:auto;text-align:center}
/* courses */
.courses{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.course{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:12px;min-width:0;position:relative}
.course .ci{width:52px;height:52px;border-radius:16px;background:var(--soft);color:var(--green);display:grid;place-items:center}
.course.pick{background:var(--forest);color:var(--on-forest);border-color:var(--forest);box-shadow:var(--shadow)}
.course.pick .ci{background:rgba(255,255,255,.1);color:var(--signal)}
.course.pick .dur,.course.pick li,.course.pick .fee small{color:var(--on-forest-mute)}
.tagpick{position:absolute;top:18px;right:18px;background:var(--gold);color:#2a1d00;font-size:12px;font-weight:800;padding:4px 11px;border-radius:99px}
.course h3{font-size:1.35rem}
.course .dur{color:var(--muted);font-size:.93rem;font-weight:600}
.course ul{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:7px;color:var(--muted);font-size:.95rem}
.course li{display:flex;gap:9px}
.course li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;background:var(--signal) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 12.5l4 4 8-9' fill='none' stroke='%2304170d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px no-repeat}
.course .fee{font-family:var(--display);font-weight:800;font-size:1.9rem;margin-top:auto;padding-top:14px;border-top:1px dashed var(--line)}
.course.pick .fee{border-color:rgba(255,255,255,.2)}
.course .fee small{display:block;font-family:var(--body);font-weight:500;font-size:.8rem;color:var(--muted)}
.course .btn{min-height:44px;border-color:var(--line);color:var(--ink);background:transparent}
.course.pick .btn{background:var(--signal);color:#04170d;border-color:var(--signal)}
/* why */
.why{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.why .frame{aspect-ratio:1/1;border:0;box-shadow:var(--shadow);background:#0c4d38}
.feat{display:grid;gap:22px}
.feat div{display:grid;grid-template-columns:56px 1fr;gap:16px}
.feat .fi{width:56px;height:56px;border-radius:16px;background:var(--soft);color:var(--green);display:grid;place-items:center}
.feat h3{font-size:1.2rem;margin-bottom:4px}
.feat p{color:var(--muted)}
/* route */
.route{background:var(--forest);color:var(--on-forest)}
.route .head p{color:var(--on-forest-mute)}
.stops{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-top:40px}
.stops::before{content:"";position:absolute;left:0;right:0;top:15px;border-top:4px dashed var(--gold)}
.stop{position:relative}
.stop .n{position:absolute;top:-40px;left:0;width:32px;height:32px;border-radius:50%;background:var(--signal);color:#04170d;font-weight:800;display:grid;place-items:center;border:5px solid var(--forest);box-sizing:content-box;margin:-5px 0 0 -5px;font-family:var(--display)}
.stop h3{font-size:1.3rem;margin-bottom:6px}
.stop p{color:var(--on-forest-mute)}
/* stats */
.band{background:linear-gradient(135deg,var(--green),#0a5a3c);color:#fff}
.band .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-block:44px}
.stat{text-align:center}
.stat b{display:block;font-family:var(--display);font-size:2.8rem;font-weight:800;line-height:1.1}
.stat span{opacity:.88;font-size:.95rem}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:14px}
.gal .tile{border-radius:20px;overflow:hidden;position:relative;background:var(--forest2)}
.gal .tile svg{width:100%;height:100%;display:block}
.gal .big{grid-column:span 2;grid-row:span 2}
.cap{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.5);color:#fff;font-size:12.5px;font-weight:600;padding:4px 11px;border-radius:99px}
/* team + quotes */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.person{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;text-align:center}
.av{width:92px;height:92px;border-radius:50%;margin:0 auto 12px;background:linear-gradient(135deg,var(--green),var(--forest2));display:grid;place-items:center;color:#fff;font-family:var(--display);font-weight:800;font-size:1.6rem;border:4px solid var(--soft)}
.person b{display:block;font-family:var(--display)}.person span{color:var(--muted);font-size:.92rem}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.quote{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px;position:relative}
.quote::before{content:"\201C";position:absolute;top:6px;left:20px;font-family:var(--display);font-size:4.2rem;line-height:1;color:var(--gold)}
.quote p{margin-top:28px;font-size:1.05rem}
.quote footer{margin-top:16px;color:var(--muted);font-size:.9rem;font-weight:600}
/* cta band */
.cbanner{background:linear-gradient(120deg,var(--forest),var(--forest2));color:var(--on-forest);border-radius:30px;padding:48px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;position:relative;overflow:hidden}
.cbanner::after{content:"";position:absolute;right:-40px;bottom:-90px;width:300px;height:300px;border-radius:50%;border:44px solid rgba(255,255,255,.05)}
.cbanner h2{font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:800;max-width:20em}
.cbanner p{color:var(--on-forest-mute);margin-top:8px}
/* faq + contact */
.faq{max-width:52rem}
details{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:18px 22px;margin-bottom:12px}
summary{cursor:pointer;font-weight:700;font-size:1.08rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--green)}
details[open] summary::after{content:"\2013"}
details p{margin-top:10px;color:var(--muted)}
.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:30px}
form{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:30px;display:grid;gap:15px;box-shadow:var(--shadow)}
label{font-weight:700;font-size:.92rem;display:grid;gap:6px}
input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;min-width:0;width:100%}
textarea{min-height:96px;resize:vertical}
.note{padding:12px 14px;border-radius:12px;background:var(--gold-soft);border:1px dashed var(--gold);font-size:.92rem}
.info{display:grid;gap:14px;align-content:start}
.info .row{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 18px;display:flex;gap:14px;align-items:center}
.info .row .ico{color:var(--green);width:30px;height:30px}
.info b{display:block;font-family:var(--display);font-size:1.05rem}.info span{color:var(--muted)}
.map{border-radius:18px;min-height:170px;background:repeating-linear-gradient(0deg,rgba(255,255,255,.35) 0 2px,transparent 2px 38px),repeating-linear-gradient(90deg,rgba(255,255,255,.35) 0 2px,transparent 2px 38px),linear-gradient(135deg,#bcdcc8,#8fc2a4);display:flex;align-items:center;justify-content:center;color:#0b3d2a;font-weight:700;text-align:center;padding:16px}
/* footer */
footer.site{background:var(--forest);color:var(--on-forest-mute);padding-block:56px 100px}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
footer.site h3{color:var(--on-forest);font-size:1.05rem;margin-bottom:12px}
footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.95rem}
footer.site a{text-decoration:none}footer.site a:hover{color:#fff}
footer.site .logo{display:flex;gap:12px;align-items:center;color:var(--on-forest);font-family:var(--display);font-weight:800;margin-bottom:12px}
footer.site .logo img{height:46px;background:#fff;border-radius:10px;padding:3px}
.legal{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.88rem}
.verify{color:var(--gold);font-weight:700}
.wa{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;background:#25d366;color:#04170d;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;box-shadow:0 12px 28px -8px rgba(0,0,0,.5);text-decoration:none;font-weight:800;font-size:12px}
@media (max-width:980px){
  .hero .wrap{grid-template-columns:1fr;padding-top:48px}
  .f1{left:8px}.f2{right:8px}
  .trustbar .grid{grid-template-columns:repeat(2,1fr)}.tb:nth-child(3){border-left:0}.tb:nth-child(n+3){border-top:1px solid var(--line)}
  .courses{grid-template-columns:repeat(2,1fr)}
  .why{grid-template-columns:1fr;gap:30px}
  .team{grid-template-columns:repeat(2,1fr)}
  .quotes{grid-template-columns:1fr}
  .band .stats{grid-template-columns:repeat(2,1fr)}
  .gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px}
  .contact{grid-template-columns:1fr}
  .stops{grid-template-columns:1fr;gap:38px;padding-top:0;padding-left:40px}
  .stops::before{left:15px;right:auto;top:0;bottom:0;border-top:0;border-left:4px dashed var(--gold)}
  .stop .n{top:0;left:-40px}
  footer.site .cols{grid-template-columns:1fr 1fr}
  .sec{padding-block:56px}.cbanner{padding:32px}
}
@media (max-width:560px){.courses,.team{grid-template-columns:1fr}.util .wrap{justify-content:center}.brand{font-size:15px}.trustbar .grid{grid-template-columns:1fr}.tb + .tb{border-left:0;border-top:1px solid var(--line)}footer.site .cols{grid-template-columns:1fr}.hero{padding-bottom:90px}}
@media (prefers-reduced-motion:reduce){.mark,.car{animation:none}html{scroll-behavior:auto}}

.frame{position:relative}
.slides{position:absolute;inset:0}
.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.03);transition:opacity 1.1s ease,transform 7s ease-out}
.slides img.on{opacity:1;transform:scale(1.1)}
.dots{position:absolute;left:0;right:0;bottom:16px;display:flex;gap:8px;justify-content:flex-end;padding-right:20px;z-index:2}
.dots button{width:9px;height:9px;border-radius:99px;border:0;background:rgba(255,255,255,.6);padding:0;cursor:pointer;transition:width .3s}
.dots button.on{width:26px;background:#fff}
.roll{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.track{display:flex;gap:14px;width:max-content;animation:roll 45s linear infinite}
.roll:hover .track{animation-play-state:paused}
.track figure{margin:0;flex:0 0 auto;width:320px;height:225px;border-radius:20px;overflow:hidden;cursor:zoom-in;background:var(--forest2)}
.track img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.track figure:hover img{transform:scale(1.06)}
@keyframes roll{to{transform:translateX(calc(-50% - 7px))}}
.rollnote{text-align:center;margin-top:14px;color:var(--muted);font-size:.9rem}
#lb{position:fixed;inset:0;background:rgba(5,20,14,.92);display:none;align-items:center;justify-content:center;z-index:100;padding:20px;cursor:zoom-out}
#lb.open{display:flex}#lb img{max-width:100%;max-height:92vh;border-radius:14px}
@media (max-width:560px){.track figure{width:250px;height:178px}}
@media (prefers-reduced-motion:reduce){.track{animation:none}.roll{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.slides img{transition:none}}
.chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}
.chips button{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 14px var(--body,inherit);padding:10px 18px;border-radius:99px;cursor:pointer;transition:.2s}
.chips button.on{background:var(--green);border-color:var(--green);color:#fff}
.ggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ggrid figure{margin:0;border-radius:20px;overflow:hidden;position:relative;aspect-ratio:3/2;cursor:zoom-in;background:var(--forest2)}
.ggrid figure.hide{display:none}
.ggrid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.ggrid figure:hover img{transform:scale(1.06)}
.ggrid figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 12px;color:#fff;font-size:13.5px;font-weight:600;background:linear-gradient(transparent,rgba(5,25,17,.78))}
@media (max-width:980px){.ggrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.ggrid{grid-template-columns:1fr}}
.courses.three{grid-template-columns:repeat(3,1fr)}
.howrow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:34px}
.howrow>div{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:4px;justify-items:start}
.howrow .ico{width:26px;height:26px;color:var(--green);margin-bottom:6px}
.howrow b{font-family:var(--display);font-size:1.05rem}.howrow span{color:var(--muted);font-size:.9rem}
.sub{font-size:1.25rem;margin:8px 0 16px}
.lic{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:38px}
.lc{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;gap:3px}
.lc b{font-family:var(--display);font-size:1.6rem;color:var(--green)}.lc span{font-weight:600}.lc i{font-style:normal;color:var(--muted);font-size:.8rem}
@media (max-width:980px){.courses.three{grid-template-columns:repeat(2,1fr)}.howrow{grid-template-columns:repeat(2,1fr)}.lic{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.courses.three,.howrow{grid-template-columns:1fr}.lic{grid-template-columns:repeat(2,1fr)}}

.why .frame img{width:100%;height:100%;object-fit:cover;display:block}
.why .frame{aspect-ratio:4/4.4}
.signbox{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;margin-top:6px}
.signbox img{width:100%;height:auto;display:block}
.ggrid img,.slides img{background:var(--forest2)}
.noscript-note{display:none}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#201700;padding:10px 16px;z-index:200;border-radius:0 0 10px 0;font-weight:700}
.skip:focus{left:0}
.tel{font-weight:700;text-decoration:none}
.tel:hover{text-decoration:underline}
footer.site .logo img{width:auto;height:46px;border-radius:8px;background:#fff;padding:2px 4px}
.why .frame img{object-position:72% 50%}
.slides img{object-position:28% 50%}
.note{background:var(--soft);border:1px solid var(--line);color:var(--muted)}
@media (max-width:700px){.float{display:none}}

.lc{padding:18px 16px}
.lc span{font-size:.95rem}
.licfoot{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px 22px;margin:-18px 0 44px}
.licfoot p{color:var(--muted);max-width:44em}
.subnote{color:var(--muted);margin:-8px 0 18px}
.course .dur{display:inline-block;align-self:flex-start;background:var(--soft);color:var(--green);padding:3px 12px;border-radius:99px;font-size:.85rem}
.course.pick .dur{background:rgba(255,255,255,.12);color:var(--on-forest)}
.course .fee{margin-top:6px}
.faqwrap{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:start}
.faqwrap .faq{max-width:none}
.faqside{background:var(--forest);color:var(--on-forest);border-radius:22px;padding:30px;display:grid;gap:14px;position:sticky;top:96px}
.faqside h3{font-size:1.5rem}.faqside p{color:var(--on-forest-mute)}
.faqside .btn-line{color:var(--on-forest)}
@media (max-width:860px){.faqwrap{grid-template-columns:1fr}.faqside{position:static}}

/* hero with sliding photo background */
.hero2{position:relative;color:#fff;overflow:hidden;background:var(--forest);padding:76px 0 140px;min-height:640px;display:flex;align-items:center}
.hbg{position:absolute;inset:0}
.hbg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:translateX(5%) scale(1.04);transition:opacity 1.3s ease,transform 7s ease-out}
.hbg img.on{opacity:1;transform:translateX(0) scale(1.1)}
.hshade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,28,20,.93) 0%,rgba(4,28,20,.78) 42%,rgba(4,28,20,.3) 100%),linear-gradient(0deg,rgba(4,28,20,.75),transparent 45%)}
.hcontent{position:relative;width:100%;display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center}
.hero2 h1{font-size:clamp(2.3rem,5vw,4rem);font-weight:800;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero2 h1 em{font-style:normal;color:var(--signal)}
.hero2 .lead{margin-top:18px;font-size:1.15rem;max-width:34em;color:#dcebe2}
.hero2 .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero2 .btn-line{color:#fff;border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.08)}
.hlink{display:inline-block;margin-top:16px;color:var(--gold);font-weight:700;text-decoration:none}
.hlink:hover{text-decoration:underline}
.hfacts{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.hfacts li{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:9px 16px;border-radius:99px;font-size:.92rem;color:#e6f2ea}
.hfacts b{color:#fff}
.hcard{background:rgba(6,35,26,.62);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:24px;padding:26px;display:grid;gap:14px;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.hcard h2{font-size:1.3rem;color:#fff}
.hcard ul{list-style:none;margin:0;padding:0;display:grid}
.hcard li{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed rgba(255,255,255,.22);font-size:.95rem;color:#d7e8dd}
.hcard li:last-child{border-bottom:0}
.hcard li b{color:#fff;white-space:nowrap}
.hero2 .dots{left:auto;right:max(16px,calc((100% - 1180px)/2 + 16px));bottom:112px;padding:0;z-index:3}
.hero2 .badge{margin-bottom:18px}
@media (max-width:980px){.hcontent{grid-template-columns:1fr}.hcard{display:none}.hshade{background:linear-gradient(180deg,rgba(4,28,20,.82),rgba(4,28,20,.7) 55%,rgba(4,28,20,.88))}}
@media (max-width:700px){.hero2{min-height:0;padding:36px 0 120px;display:block}.hero2 .lead{font-size:1.02rem}.hero2 .cta{flex-direction:column}.hero2 .cta .btn{width:100%}.hero2 .dots{right:16px;bottom:96px}.hfacts li{font-size:.85rem}}
@media (prefers-reduced-motion:reduce){.hbg img{transition:opacity .01s;transform:none!important}}
.hbg img.on{transform:translateX(0) scale(1.05)}
.hshade{background:linear-gradient(90deg,rgba(4,28,20,.86) 0%,rgba(4,28,20,.6) 40%,rgba(4,28,20,.12) 100%),linear-gradient(0deg,rgba(4,28,20,.6),transparent 38%)}
.hcard{background:rgba(6,35,26,.7)}
@media (max-width:980px){.hshade{background:linear-gradient(180deg,rgba(4,28,20,.74),rgba(4,28,20,.5) 50%,rgba(4,28,20,.86))}}

.navbtns{display:flex;gap:10px;align-items:center}
.btn-login{background:var(--forest);color:#fff;border-color:var(--forest)}
.btn-login:hover{background:var(--forest2)}
.nav .navbtns{margin-left:0}
@media (max-width:700px){.nav .navbtns{margin-left:auto}.nav .enq{display:none}.nav .btn-login{padding:0 14px;font-size:13.5px}.brand span{font-size:.8rem}}

#about p{color:var(--muted);line-height:1.7;margin:0 0 14px}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.member{margin:0;text-align:center}
.member .ph{aspect-ratio:1;border-radius:20px;background:var(--gold-soft);border:1px dashed var(--gold);display:grid;place-items:center;color:var(--green)}
.member .ph .ico{width:56px;height:56px}
.member figcaption b{display:block;margin-top:12px}.member figcaption span{color:var(--muted);font-size:.92rem}
@media (max-width:700px){.team{grid-template-columns:repeat(2,1fr)}}
section[id]{scroll-margin-top:80px}
.hero2{background:radial-gradient(900px 500px at 85% 40%,#12684a 0%,transparent 70%),linear-gradient(135deg,#052a1e,#08382a 60%,#0c4d38);padding:64px 0 120px;min-height:0}
.hcontent{grid-template-columns:1.05fr .95fr;gap:48px}
.hart{border-radius:26px;overflow:hidden;box-shadow:0 30px 60px -28px rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.18)}
.hart svg{display:block;width:100%;height:auto}
.legal a{color:var(--gold);font-weight:700;text-decoration:none}.legal a:hover{text-decoration:underline}
@media (max-width:980px){.hcontent{grid-template-columns:1fr}.hart{display:block;order:-1;max-width:560px;margin:0 auto 6px}.hcontent{gap:24px}}
@media (max-width:700px){.hero2{padding:28px 0 110px}}

.hero2{padding:0;min-height:480px}
.hcontent{grid-template-columns:1fr;position:relative;z-index:2;padding-block:64px}
.htext{max-width:560px}
.hphoto{position:absolute;top:0;right:0;bottom:0;width:66%;z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
.hphoto img{width:100%;height:100%;object-fit:cover;object-position:60% 40%;display:block}
.hfacts{display:none}
@media (max-width:980px){.hphoto{position:relative;width:100%;height:240px;order:0;mask-image:linear-gradient(180deg,#000 60%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent)}.hero2{display:flex;flex-direction:column;align-items:stretch}.hero2 .hphoto{order:-1}.hcontent{padding-block:24px 90px}}


#about .frame img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 60%;display:block}
@media (max-width:980px){#about .wrap.why{display:flex;flex-direction:column-reverse;gap:22px}#about .frame img{aspect-ratio:16/9}}

#about .frame{aspect-ratio:16/10;background:none}
#about .frame img{height:100%;aspect-ratio:auto;object-position:50% 60%}
@media (max-width:980px){#about .frame{aspect-ratio:16/9}}

.fk{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:22px;margin-bottom:26px}
.fkpics{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fkpics img{width:100%;height:100%;object-fit:cover;border-radius:16px;display:block;aspect-ratio:1/1}
.fkpics .big{grid-column:1/3;aspect-ratio:16/9}
.fktext h3{font-size:1.6rem;margin-bottom:10px}.fktext p{color:var(--muted);line-height:1.65;margin:0 0 14px}
.fktext ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}
.fktext li{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:12px;background:var(--soft)}
@media (max-width:980px){.fk{grid-template-columns:1fr;padding:14px;gap:18px}}

.fk{grid-template-columns:.8fr 1.2fr;gap:44px}
.fkpics{display:block}
.fkpics img{aspect-ratio:4/5;object-position:50% 40%;border-radius:20px;max-height:560px;width:100%}
.fktext h3{font-size:1.9rem}
@media (max-width:980px){.fk{grid-template-columns:1fr}.fkpics img{aspect-ratio:4/4.4;max-height:none}}
.member .ph.has{border:0;background:var(--soft);overflow:hidden}
.member .ph.has img{width:100%;height:100%;object-fit:cover;display:block}
[hidden]{display:none!important}
.team{grid-template-columns:repeat(auto-fit,minmax(150px,220px));justify-content:center;gap:22px}

.dvla{background:#fff;border-block:1px solid var(--line);padding:22px 0}
.dvla .wrap{display:flex;align-items:center;gap:28px;justify-content:center}
.dvla img{height:96px;width:auto;flex:none}
.dvla p{margin:0;max-width:44em;color:var(--muted);line-height:1.6}.dvla p b{color:var(--ink)}
@media (max-width:700px){.dvla .wrap{flex-direction:column;text-align:center;gap:14px}.dvla img{height:84px;max-width:92%}}

/* mobile menu button */
.burger{display:none;width:46px;height:46px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;padding:0;flex:none;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.burger span{display:block;width:20px;height:2px;border-radius:2px;background:var(--ink);transition:transform .2s,opacity .2s}
.nav.open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.open .burger span:nth-child(2){opacity:0}
.nav.open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:980px){
  .burger{display:flex}
  .nav .wrap{gap:12px}
  .nav ul{display:none;position:absolute;left:0;right:0;top:100%;margin:0;flex-direction:column;gap:0;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 20px 30px -18px rgba(8,56,42,.35);padding:6px max(16px,env(safe-area-inset-left,0px)) 14px}
  .nav.open ul{display:flex}
  .nav ul li{border-bottom:1px solid var(--line)}
  .nav ul li:last-child{border-bottom:0}
  .nav ul a{display:block;padding:15px 4px;font-size:17px;color:var(--ink)}
  .nav ul a:active{color:var(--green)}
}
@media (max-width:700px){.nav .navbtns{gap:8px}.brand span{font-size:.78rem}.brand img{height:40px}}

/* footer: compact on tablets and phones */
@media (max-width:980px){
  footer.site{padding-block:38px 92px}
  footer.site .cols{grid-template-columns:1fr 1fr;gap:26px 18px}
  footer.site .fbrand,footer.site .fcontact{grid-column:1/-1}
  footer.site .fbrand p{max-width:34ch}
  footer.site h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.09em;color:var(--gold);margin-bottom:10px}
  footer.site ul{gap:6px;font-size:.92rem}
  footer.site .fcontact ul{grid-template-columns:1fr 1fr;gap:8px 18px}
  footer.site .fcontact li:nth-child(n+4){grid-column:1/-1}
  footer.site .fcontact li{overflow-wrap:anywhere}
  .legal{margin-top:24px;padding-top:14px;flex-direction:column;gap:4px;font-size:.82rem}
}
@media (max-width:560px){footer.site .cols{grid-template-columns:1fr 1fr}}
@media (max-width:980px){footer.site .fcontact li:nth-child(n+3){grid-column:1/-1}}
@media (max-width:700px){.nav .btn-login{white-space:nowrap;padding:0 12px;font-size:13px;gap:6px}.nav .btn-login svg{width:16px;height:16px}.brand{gap:8px}}
.contact>*{min-width:0}.info .row>div{min-width:0;overflow-wrap:anywhere}.info .row .ico{flex:none}

/* chat assistant */
.cb-root{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;font-family:var(--body)}
.cb-launch{display:flex;align-items:center;gap:8px;height:54px;padding:0 20px 0 16px;border:0;border-radius:999px;background:var(--signal);color:#04170d;font:800 15px var(--body);cursor:pointer;box-shadow:0 12px 28px -8px rgba(0,0,0,.5)}
.cb-launch:focus-visible,.cb-x:focus-visible,.cb-chips button:focus-visible,.cb-form button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.cb-root.open .cb-launch{display:none}
.cb-panel{position:absolute;right:0;bottom:0;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100dvh - 32px));display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 60px -16px rgba(0,0,0,.5);overflow:hidden}
.cb-panel[hidden]{display:none}
.cb-panel header{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--forest);color:#fff;padding:14px 16px}
.cb-panel header b{display:block;font-family:var(--display);font-size:1.02rem}.cb-panel header small{opacity:.8;font-size:.78rem}
.cb-x{border:0;background:rgba(255,255,255,.14);color:#fff;width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}
.cb-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--bg)}
.cb-m{max-width:88%;padding:10px 13px;border-radius:16px;font-size:.95rem;line-height:1.45;overflow-wrap:anywhere}
.cb-m.bot{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}
.cb-m.me{background:var(--forest);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
.cb-m.card{display:grid;gap:8px;width:100%;max-width:100%;border-color:var(--signal)}
.cb-m.card span{color:var(--muted);font-size:.85rem}
.cb-b{display:block;text-align:center;text-decoration:none;font-weight:800;padding:11px 12px;border-radius:999px;background:var(--forest);color:#fff;font-size:.93rem}
.cb-b.cb-wa{background:#25d366;color:#04170d}
.cb-m.typing{display:flex;gap:4px;align-items:center}
.cb-m.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:cbd 1s infinite}.cb-m.typing i:nth-child(2){animation-delay:.15s}.cb-m.typing i:nth-child(3){animation-delay:.3s}
@keyframes cbd{0%,60%,100%{opacity:.3}30%{opacity:1}}
.cb-chips{display:flex;gap:6px;padding:8px 12px;overflow-x:auto;background:var(--bg);border-top:1px solid var(--line);scrollbar-width:none}
.cb-chips::-webkit-scrollbar{display:none}
.cb-chips button{flex:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:7px 13px;font:700 13px var(--body);cursor:pointer}
.cb-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--surface)}
.cb-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:999px;padding:0 16px;height:44px;font:16px var(--body);background:var(--bg);color:var(--ink)}
.cb-form button{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--signal);color:#04170d;font-size:18px;cursor:pointer}
@media (max-width:560px){.cb-panel{width:calc(100vw - 20px);height:min(86dvh,640px);right:-6px}}
@media (prefers-reduced-motion:reduce){.cb-m.typing i{animation:none}}

/* footer: brand and contact only */
footer.site .cols{grid-template-columns:1.2fr 1fr;gap:30px 60px;align-items:start}
@media (max-width:980px){footer.site .cols{grid-template-columns:1fr;gap:22px}footer.site .fbrand,footer.site .fcontact{grid-column:auto}}

/* hero photo slider */
.hphoto{-webkit-mask-image:none;mask-image:none}
.hs-track{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
.hs-track::-webkit-scrollbar{display:none}
.hs{flex:0 0 100%;height:100%;margin:0;scroll-snap-align:start}
.hs img{width:100%;height:100%;object-fit:cover;display:block}
.hs-ui{position:absolute;right:max(16px,calc((100vw - 1180px)/2 + 16px));bottom:104px;z-index:3;display:flex;align-items:center;gap:12px}
.hs-cap{background:rgba(4,28,20,.72);color:#fff;font:700 13px var(--body);padding:7px 14px;border-radius:999px;backdrop-filter:blur(4px)}
.hs-dots{display:flex;gap:7px;background:rgba(4,28,20,.55);padding:8px 10px;border-radius:999px}
.hs-dots button{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.5);cursor:pointer}
.hs-dots button.on{background:var(--gold);width:22px;border-radius:99px}
.hs-track:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
@media (max-width:980px){
  .hphoto{height:260px}
  .hs-track{-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent);mask-image:linear-gradient(180deg,#000 62%,transparent)}
  .hs-ui{left:16px;right:16px;bottom:14px;justify-content:space-between}
}
@media (min-width:981px){.hero2 .hcontent{pointer-events:none}.hero2 .htext{pointer-events:auto}}

/* footer contact list with icons */
footer.site .fname{display:block;color:var(--on-forest);font-family:var(--display);font-size:1.25rem;margin-bottom:8px}
footer.site .fc{list-style:none;margin:0;padding:0;display:grid;gap:14px}
footer.site .fc li{display:flex;gap:14px;align-items:flex-start;font-size:.97rem;line-height:1.45}
footer.site .fc .ico{width:22px;height:22px;color:var(--gold);margin-top:1px}
footer.site .fc span{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;min-width:0;overflow-wrap:anywhere}
footer.site .fc i{font-style:normal;opacity:.5}
footer.site .fc em{font-style:normal;font-size:.82rem;opacity:.7}
footer.site .fc a{color:var(--on-forest)}footer.site .fc a:hover{text-decoration:underline}
footer.site .fcontact h3{margin-bottom:14px}
footer.site .fcontact ul.fc{grid-template-columns:1fr;gap:14px}
footer.site .fcontact ul.fc li{grid-column:auto}
/* school name in capitals */
.brand span,footer.site .fname{text-transform:uppercase;letter-spacing:.045em;font-weight:800}
.brand span{font-size:15px;line-height:1.2}
footer.site .fname{font-size:1.1rem}
@media (max-width:700px){.brand span{font-size:10.5px;letter-spacing:.03em;line-height:1.25}.brand img{height:38px}.nav .btn-login{padding:0 11px;font-size:12.5px;gap:5px}.nav .navbtns{gap:7px}.burger{width:42px;height:42px}.nav .wrap{gap:8px}}
@media (max-width:380px){.brand img{height:32px}.brand span{font-size:9.5px;letter-spacing:.02em}.nav .btn-login{padding:0 10px;font-size:12px}.nav .btn-login svg{display:none}.nav .navbtns{gap:6px}.burger{width:40px;height:40px}.nav .wrap{gap:6px}}

/* announcement, directions, payment, reviews */
.notice{background:var(--gold-soft);color:#4a3a0c;border-bottom:1px solid #ecd48c;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 16px;font-size:15px;font-weight:600;text-align:center}
.notice[hidden]{display:none}
.notice p{margin:0;max-width:900px}
.notice button{flex:none;border:0;background:transparent;color:inherit;font-size:24px;line-height:1;cursor:pointer;padding:0 6px;min-width:32px;min-height:32px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .notice{color:#f1dfa4;border-color:#4a3c14}}
.dir{display:block;width:max-content;margin-top:8px;font-weight:700;color:var(--green);text-decoration:underline;text-underline-offset:3px}
#pay-t{white-space:pre-line}
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rev{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}
.rev blockquote{margin:0 0 14px;font-size:16.5px;line-height:1.6}
.rev figcaption{font-weight:700;color:var(--green)}
.rev figcaption span{display:block;font-weight:500;color:var(--muted);font-size:14px}
@media (max-width:900px){.revs{grid-template-columns:1fr}}

/* tidy spacing on phones: courses summary, why list, steps */
@media (max-width:700px){
  .sec{padding-block:44px}
  .head{margin-bottom:24px}
  .head p{font-size:1rem;line-height:1.5}
  .howrow{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:26px}
  .howrow>div{padding:14px;gap:2px;border-radius:16px}
  .howrow .ico{width:22px;height:22px;margin-bottom:4px}
  .howrow b{font-size:1rem;line-height:1.2}
  .howrow span{font-size:.85rem;line-height:1.4}
  #why .why{gap:22px}
  .feat{gap:0}
  .feat>div{grid-template-columns:44px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
  .feat>div:first-child{border-top:0;padding-top:0}
  .feat .fi{width:44px;height:44px;border-radius:13px}
  .feat .fi .ico{width:22px;height:22px}
  .feat h3{font-size:1.08rem;line-height:1.25;margin-bottom:2px}
  .feat p{font-size:.95rem;line-height:1.5;margin:0}
  .stops{gap:22px;padding-left:44px}
  .stops::before{left:15px}
  .stop .n{left:-44px;top:-2px}
  .stop h3{font-size:1.15rem;line-height:1.25;margin-bottom:4px}
  .stop p{font-size:.95rem;line-height:1.5;margin:0}
  #about p,.fktext p{line-height:1.55}
}
@media (max-width:360px){.howrow{grid-template-columns:1fr}}
@media (max-width:700px){.lc{padding:12px 14px;gap:0}.lc b{font-size:1.3rem;line-height:1.2}.lc span{font-size:.9rem;line-height:1.3}.lic{gap:10px}.licfoot{padding:18px}}

/* machine cards with photo */
.courses.machines{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.machines .course{padding:0;overflow:hidden}
.machines .course>*:not(.cph){margin-inline:22px}
.machines .course>.btn{margin-bottom:22px}
.machines .course>h3{margin-top:4px}
.cph{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,var(--forest),var(--green));display:grid;place-items:center;color:rgba(255,255,255,.85)}
.cph .ico{width:56px;height:56px;stroke-width:1.4}
.cph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.fk{margin-bottom:22px}
@media (max-width:700px){.cph{aspect-ratio:16/8}.cph .ico{width:44px;height:44px}}

/* forklift block: two photos */
.fkpics{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fkpics img{aspect-ratio:3/4;max-height:none;border-radius:16px;object-position:50% 45%}
.fkpics img:nth-child(2){object-position:60% 40%}
@media (max-width:700px){.fkpics{grid-template-columns:1fr}.fkpics img{aspect-ratio:4/3}}
@media (min-width:981px){.fk{grid-template-columns:1.15fr .85fr;gap:34px}.fkpics img{aspect-ratio:4/5}}
.fkpics img,.fkpics img:nth-child(2){aspect-ratio:1/1;object-position:50% 55%}
@media (min-width:981px){.fkpics img{aspect-ratio:4/5}}
@media (max-width:700px){.fkpics img{aspect-ratio:4/3}}
.fkpics img:nth-child(2){object-position:35% 50%}
@media (min-width:981px){.fkpics img,.fkpics img:nth-child(2){aspect-ratio:4/5}}
@media (max-width:700px){.fkpics img,.fkpics img:nth-child(2){aspect-ratio:4/3}.fkpics img:nth-child(2){object-position:40% 45%}}

/* equipment photos: clean studio-style panels */
.fkpics{display:block;position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.fkpics img,.fkpics img:nth-child(2){width:100%;height:100%;aspect-ratio:3/2;object-fit:contain;object-position:50% 50%;border-radius:0;padding:10px;background:#fff}
@media (min-width:981px){.fkpics img,.fkpics img:nth-child(2){aspect-ratio:4/3}}
@media (max-width:700px){.fkpics img,.fkpics img:nth-child(2){aspect-ratio:3/2}}
.ptag{position:absolute;left:12px;bottom:12px;background:var(--forest);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.02em;padding:5px 12px;border-radius:99px}
.cph{background:#fff;border-bottom:1px solid var(--line);aspect-ratio:4/3}
.cph img{object-fit:contain;padding:12px}
.cph[data-m="wheel-loader"]{background:linear-gradient(135deg,var(--soft),#fff);color:var(--green)}
@media (max-width:700px){.cph{aspect-ratio:3/2}}
.cph .ptag{top:12px;bottom:auto}.cph[data-m="wheel-loader"] .ico{color:var(--green);opacity:.55}
.cph[data-m="wheel-loader"]{background:#fff}
.cph[data-m="wheel-loader"] img{object-fit:cover;padding:0;object-position:45% 55%}

/* section sub-headings and machine descriptions */
.subhead{margin:44px 0 22px}
.subhead:first-of-type{margin-top:8px}
.subhead .sub{margin:0;font-size:clamp(1.35rem,3.2vw,1.9rem);font-weight:800;text-transform:uppercase;letter-spacing:.07em;line-height:1.15;display:flex;align-items:center;gap:14px}
.subhead .sub::after{content:"";flex:1;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--gold),transparent);min-width:30px}
.subhead .kick{display:inline-block;margin-bottom:8px;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.subhead .subnote{margin:12px 0 0;max-width:46rem;color:var(--muted);line-height:1.55}
.cdesc{margin:0;color:var(--muted);font-size:.95rem;line-height:1.55}
.machines .course .dur{margin-top:2px}
@media (max-width:700px){.subhead{margin:34px 0 18px}.subhead .sub{letter-spacing:.05em}}
@media (max-width:700px){.subhead .sub{display:block}.subhead .sub::after{display:block;flex:none;width:56px;height:4px;margin-top:10px}}
.hero2 .lead b{color:#fff;font-weight:700}

/* training cars slider (About) */
#about .frame.cs{position:relative;overflow:hidden;aspect-ratio:5/4;border-radius:26px;background:#0c4d38;box-shadow:var(--shadow)}
.cs-track{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.cs-track::-webkit-scrollbar{display:none}
.cs-s{flex:0 0 100%;height:100%;margin:0;scroll-snap-align:start}
#about .frame.cs .cs-s img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;aspect-ratio:auto;display:block}
.cs::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;background:linear-gradient(180deg,transparent,rgba(4,28,20,.78));pointer-events:none}
.cs-ui{position:absolute;left:18px;right:18px;bottom:16px;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;pointer-events:none}
.cs-cap{color:#fff;font-family:var(--display);font-weight:800;font-size:clamp(1.15rem,2.4vw,1.55rem);line-height:1.15;text-shadow:0 2px 12px rgba(0,0,0,.5);max-width:75%}
.cs-dots{display:flex;gap:7px;background:rgba(4,28,20,.55);padding:8px 10px;border-radius:999px;pointer-events:auto;flex:none}
.cs-dots button{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.5);cursor:pointer}
.cs-dots button.on{background:var(--gold);width:22px;border-radius:99px}
.cs-track:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
@media (max-width:980px){#about .frame.cs{aspect-ratio:4/3}#about .frame.cs img{aspect-ratio:auto}}
#about .frame.cs{width:100%;min-width:0}

/* forklift slider */
.fkpics.fks{position:relative;overflow:hidden;aspect-ratio:4/3;background:#fff;border:1px solid var(--line);border-radius:20px;width:100%;min-width:0}
.fk-s{flex:0 0 100%;height:100%;margin:0;scroll-snap-align:start;background:#fff}
.fkpics.fks .fk-s img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto;padding:0;border-radius:0;display:block;background:#fff}
.fkpics.fks .fk-s.fit img{object-fit:contain;padding:10px}
.fk-ui{left:12px;right:12px;bottom:12px}
.fk-cap{background:var(--forest);color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.02em;padding:6px 13px;border-radius:99px;pointer-events:none}
@media (min-width:981px){.fkpics.fks{aspect-ratio:1/1}}
@media (min-width:981px){.fkpics.fks{aspect-ratio:5/4}}

/* licence fee tiles */
.lic{grid-template-columns:repeat(3,1fr)}
.lc{align-content:start}
.lc i{line-height:1.35}
.lc .lp{font-style:normal;font-family:var(--display);font-weight:800;font-size:1.25rem;color:var(--ink);margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.lc.lcp{background:var(--gold-soft);border-color:var(--gold)}
.lc.lcp b{color:var(--ink)}
@media (max-width:560px){.lic{grid-template-columns:repeat(2,1fr)}.lc.lcp{grid-column:1/-1}.lc .lp{font-size:1.1rem;padding-top:6px}}
.lc{display:flex;flex-direction:column}
.lc>*:nth-last-child(2){margin-bottom:8px}
.lc .lp{margin-top:auto}

.itro{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}
.itro-ph{margin:0;border-radius:22px;overflow:hidden;box-shadow:0 18px 40px rgba(11,61,42,.16);background:var(--soft)}
.itro-ph img{display:block;width:100%;height:auto}
.itro-tx h3{font-size:1.5rem;line-height:1.25;margin:0 0 12px;color:var(--ink,#0b2a1c)}
.itro-tx p{color:var(--muted);margin:0 0 18px}
.itro-li{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:12px}
.itro-li li{display:flex;gap:12px;align-items:flex-start;color:var(--muted)}
.itro-li li b{color:var(--ink,#0b2a1c)}
.itro-li .ico{flex:none;width:22px;height:22px;margin-top:2px;color:var(--green);stroke-width:3}
@media (max-width:860px){.itro{grid-template-columns:1fr;gap:24px}.itro-tx h3{font-size:1.3rem}}

/* online registration dialog */
html.rg-lock{overflow:hidden}
dialog.rg{border:0;padding:0;background:transparent;width:min(680px,100%);max-width:100%;max-height:100dvh;margin:auto;color:var(--ink)}
dialog.rg::backdrop{background:rgba(5,28,20,.62);backdrop-filter:blur(3px)}
.rg-box{position:relative;background:var(--surface);border-radius:24px;padding:30px 30px 26px;max-height:calc(100dvh - 24px);overflow:auto;box-shadow:0 30px 70px -20px rgba(0,0,0,.5)}
.rg-x{position:absolute;right:14px;top:12px;width:42px;height:42px;border-radius:50%;border:0;background:var(--soft);color:var(--ink);font-size:26px;line-height:1;cursor:pointer}
.rg-box h2{font-size:1.65rem;margin:0 44px 8px 0}
.rg-lead{color:var(--muted);margin-bottom:20px}
.rg-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rg-grid label{display:grid;gap:6px;font-weight:700;font-size:.92rem}
.rg-grid .full{grid-column:1/-1}
.rg-grid input,.rg-grid select,.rg-grid textarea{font:inherit;font-weight:500;width:100%;min-height:48px;padding:10px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--bg);color:var(--ink)}
.rg-grid textarea{resize:vertical}
.rg-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.rg-ok{display:flex;gap:10px;align-items:flex-start;margin:18px 0 4px;font-size:.93rem;color:var(--muted)}
.rg-ok input{width:22px;height:22px;margin-top:2px;flex:none;accent-color:var(--green)}
.rg-err{margin-top:12px;padding:12px 14px;border-radius:12px;background:#fdeaea;color:#8a1f1f;font-weight:600;font-size:.93rem}
.rg-send{width:100%;margin-top:16px}
.rg-send[disabled]{opacity:.7;cursor:wait}
.rg-foot{text-align:center;margin-top:14px;font-size:.92rem;color:var(--muted)}
.rg-foot a{font-weight:700;color:var(--green)}
.rg-done{text-align:center;padding:14px 4px 6px}
.rg-done h2{margin:12px 0 8px}
.rg-done p{color:var(--muted)}
.rg-small{margin-top:12px;font-size:.93rem}
.rg-tick{width:68px;height:68px;border-radius:50%;background:var(--signal);color:#04170d;display:grid;place-items:center;margin:0 auto}
.rg-tick svg{width:34px;height:34px}
.rg-acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.rg-close{background:var(--soft);color:var(--ink)}
@media (max-width:600px){
  dialog.rg{width:100%;height:100dvh;max-height:100dvh}
  .rg-box{border-radius:0;max-height:100dvh;height:100dvh;padding:22px 16px calc(24px + env(safe-area-inset-bottom,0px))}
  .rg-box h2{font-size:1.4rem}
  .rg-grid{grid-template-columns:1fr}
}
#regf{background:none;border:0;box-shadow:none;padding:0;border-radius:0;display:block}

.polish{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;margin:34px 0 8px;padding:24px 26px;border-radius:22px;background:var(--gold-soft);border:1px solid var(--gold)}
.pl-ic{width:56px;height:56px;border-radius:16px;background:var(--surface);color:var(--green);display:grid;place-items:center}
.pl-ic .ico{width:30px;height:30px}
.pl-tx h3{font-size:1.3rem;margin-bottom:6px}.pl-tx p{color:var(--muted);max-width:62ch}
.pl-acts{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.pl-wa{background:var(--surface);color:var(--ink);border-color:var(--line)}
@media (max-width:860px){.polish{grid-template-columns:1fr;padding:20px}.pl-acts{justify-content:flex-start}}

.ggrid figure.more{display:none}
.gmore{text-align:center;margin-top:26px}

.rg-priv{font-size:.85rem;color:var(--muted);margin:12px 0 0}
.rg-priv a{color:var(--green);font-weight:700}
footer.site .legal a{text-underline-offset:3px}
.ggrid figure{cursor:zoom-in}
.ggrid figure:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* welcome screen */
#gp-splash{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;text-align:center;padding:24px;color:#fff;background:radial-gradient(circle at 50% 35%,var(--forest2),var(--forest));transition:opacity .55s ease,visibility .55s;animation:spOut .01s 6.5s forwards}
#gp-splash.out{opacity:0;visibility:hidden}
.nosplash #gp-splash{display:none}
.sp-in{animation:spUp .7s ease both}
.sp-ring{position:relative;width:132px;height:132px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center}
.sp-ring::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,var(--gold),var(--signal),transparent 70%,var(--gold));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));animation:spin 1.1s linear infinite}
.sp-ring img{width:100px;height:100px;object-fit:contain;padding:10px;box-sizing:border-box;border-radius:50%;background:#fff}
.sp-hi{color:var(--gold);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;margin:0 0 6px;animation:spUp .7s .25s ease both}
#gp-splash h2{color:#fff;font-size:clamp(1.4rem,5.5vw,2.2rem);line-height:1.2;margin:0 0 10px;animation:spUp .7s .4s ease both}
.sp-sub{color:var(--on-forest-mute);margin:0;animation:spUp .7s .6s ease both}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes spOut{to{opacity:0;visibility:hidden;pointer-events:none}}
@media (prefers-reduced-motion:reduce){.sp-ring::before{animation:none}.sp-in,.sp-hi,#gp-splash h2,.sp-sub{animation:none}}

/* Meet our CEO */
.ceo{background:var(--forest);color:var(--on-forest)}
.ceo-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center}
.ceo-ph{margin:0;border-radius:28px;overflow:hidden;border:6px solid rgba(255,255,255,.12);box-shadow:0 30px 60px -28px rgba(0,0,0,.7);aspect-ratio:4/3;background:#0c4d38}
.ceo-ph img{width:100%;height:100%;object-fit:cover;display:block}
.ceo-kick{display:inline-block;font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.ceo h2{color:#fff;font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:800;margin-bottom:18px}
.ceo-name{font-family:var(--display);font-size:1.5rem;font-weight:800;color:var(--gold)}
.ceo-role{color:var(--on-forest-mute);margin-bottom:16px;font-weight:600}
.ceo-tx p{margin-bottom:14px;color:var(--on-forest)}
.ceo-tx .ceo-name,.ceo-tx .ceo-role{margin-bottom:6px}
.ceo-tx .ceo-role{margin-bottom:18px}
.ceo-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.ceo .btn-line{color:#fff}
@media (max-width:860px){.ceo-grid{grid-template-columns:1fr;gap:28px}}
