/* GR Solutions: single design system, permanent dark theme.
   Brand: deep navy #26334B, teal #299A91, light mint #E5EFEC, white. Page backgrounds are darker shades of the brand navy. */
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../assets/fonts/inter-latin.woff2) format("woff2")}
:root{
 color-scheme:dark;
 --navy:#26334B;--teal:#299A91;--mint:#E5EFEC;
 --bg:#121A28;--bg2:#17202F;--surface:#1D283B;--surface-2:#26334B;
 --tx:#F4F8F7;--tx2:#B4C1CD;--acc:#35ADA3;--err:#F5A097;
 --bd:rgba(229,239,236,.13);--bd-strong:rgba(229,239,236,.26);
 --grad-cta:linear-gradient(135deg,#31AFA4,#299A91);
 --grad-card:linear-gradient(160deg,#243149,#1A2538);
 --shadow:0 16px 36px -22px rgba(0,0,0,.65);
 --r-sm:10px;--r-md:16px;--r-lg:22px;
 --gutter:clamp(20px,5vw,40px);--sec:clamp(56px,8vw,112px);--max:1240px;
 --num:clamp(56px,9vw,120px)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--tx);line-height:1.6}
img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:6px}
.wrap{width:min(var(--max),100% - 2*var(--gutter));margin-inline:auto}
section{padding:var(--sec) 0;position:relative}
.eyebrow{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);font-weight:600;margin-bottom:16px}
h1,h2{font-weight:800;text-transform:uppercase;letter-spacing:-.02em}
h1{font-size:clamp(2.1rem,5.2vw,4.1rem);line-height:1.04}
h2{font-size:clamp(1.75rem,3.8vw,3.1rem);line-height:1.08}
h1 span{display:block;color:var(--acc)}
@supports (background-clip:text) or (-webkit-background-clip:text){h1 span{background:linear-gradient(90deg,var(--acc),var(--mint));-webkit-background-clip:text;background-clip:text;color:transparent}}
.nb{white-space:nowrap}
.lead{color:var(--tx2);max-width:56ch;margin-top:18px;font-size:1.05rem}
.note{font-size:.78rem;color:var(--tx2);margin-top:36px;max-width:70ch}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 22px;border-radius:var(--r-sm);font-weight:600;font-size:.95rem;border:1px solid transparent;cursor:pointer;transition:transform .2s,border-color .2s}
.btn:hover{transform:translateY(-2px)}
.btn-p{background:var(--grad-cta);color:#0C1320}
.btn-s{background:rgba(229,239,236,.06);border-color:var(--bd-strong);color:var(--tx)}.btn-s:hover{border-color:var(--teal)}
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}.rv.in{opacity:1;transform:none}

/* NAVIGATION */
.nav{position:fixed;top:12px;left:50%;translate:-50% 0;width:min(var(--max),100% - 24px);z-index:50;border:1px solid var(--bd);border-radius:var(--r-md);background:rgba(18,26,40,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow)}
.nav .in{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 12px}
.logo img{height:40px;width:auto;border-radius:9px}
.links{display:flex;gap:2px;margin-left:auto}
.links a:not(.btn){display:block;padding:9px 14px;border-radius:9px;color:var(--tx2);font-size:.92rem;font-weight:500;transition:color .2s,background .2s}
.links a:not(.btn):hover{color:var(--tx);background:rgba(229,239,236,.08)}.links a[aria-current=page]{color:var(--mint);background:rgba(229,239,236,.08)}
.mcta{display:none}
.ib{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--bd-strong);background:var(--surface);color:var(--tx);cursor:pointer;transition:border-color .2s}
.ib:hover{border-color:var(--teal)}.ib svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.menu-btn{display:none}

/* HERO */
.hero{padding:clamp(104px,14vw,152px) 0 var(--sec);background:radial-gradient(60% 55% at 88% 0,rgba(41,154,145,.16),transparent 70%),var(--bg)}
.hg{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,64px);align-items:center}
.hero h1{font-size:clamp(2.1rem,4.4vw,3.5rem)}
.hv-card{border:1px solid var(--bd-strong);border-radius:var(--r-lg);background:var(--grad-card);padding:clamp(18px,3vw,28px);box-shadow:var(--shadow)}
.hv-top{display:flex;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--bd)}
.hv-logo{height:72px;width:auto;border-radius:12px;flex:none}.hv-top p{color:var(--tx2);font-size:.95rem;line-height:1.45}
.hv-lab{margin:20px 0 12px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--acc);font-weight:600}
.hv-plat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.hv-plat .lg{width:100%;aspect-ratio:1;border-radius:14px}
.hv-plat .lg-am img,.hv-plat .lg-fk img{object-fit:cover;transform:none}
.hv-plat .lg-my{background:#fff}.hv-plat .lg-my img{object-fit:contain;transform:none}
.hv-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.hv-tags li{padding:7px 12px;border:1px solid var(--bd);border-radius:99px;font-size:.8rem;color:var(--tx2);background:rgba(229,239,236,.04)}

/* PAGE HERO (inner pages, 404) */
.ph{padding:clamp(112px,15vw,168px) 0 clamp(40px,6vw,64px);background:radial-gradient(50% 70% at 90% 0,rgba(41,154,145,.14),transparent 70%),var(--bg)}
.ph .lead{font-size:1.1rem}

/* PLATFORM LOGOS: shared component for Home + About */
.pf-h{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(24px,5vw,50px);align-items:end}
.wall,.qw{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:48px}.qw{margin-top:20px}
.mt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;min-height:210px;padding:34px 20px 26px;border-radius:var(--r-lg);border:1px solid var(--bd);background:var(--grad-card);box-shadow:var(--shadow);transition:transform .25s,border-color .25s}
.mt:hover{transform:translateY(-6px);border-color:var(--teal)}
.lg{position:relative;display:grid;place-items:center;overflow:hidden;transition:transform .25s}.mt:hover .lg{transform:scale(1.04)}
.lg img{display:block;width:100%;height:100%;object-fit:contain}
.lg-am{width:176px;aspect-ratio:16/9;border-radius:14px}
.lg-fk,.lg-me{width:104px;aspect-ratio:1;border-radius:24px}.lg-fk img{object-fit:cover}
.lg-my{width:112px;aspect-ratio:1;border-radius:50%}.lg-my img{object-fit:cover;transform:scale(1.22)}
.lg-q{width:112px;border-radius:20px}.lg-q.zp{width:150px}.lg-q img{height:auto}
.crop{overflow:hidden;width:100%;aspect-ratio:1}.crop img{width:101%;height:auto;margin:-65.6% 0 0 -.5%;object-fit:fill}
.nm{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tx2)}

/* HOME: QUICK COMMERCE, SERVICES TEASER, WHY, PORTFOLIO TEASER, FAQ, CTA */
.qc{background:var(--bg2)}
.qg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:44px;max-width:980px;align-items:start}
.qt div{overflow:hidden;border-radius:var(--r-md);border:1px solid var(--bd);background:var(--surface);transition:transform .25s,border-color .25s}.qt:hover div{transform:translateY(-5px);border-color:var(--teal)}
.qt img{width:100%;height:auto}.qt span{display:block;margin-top:12px;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tx2)}
.svt{padding:clamp(48px,6vw,80px) 0;background:var(--bg2)}
.sv-t{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,5vw,50px);align-items:end}.sv-t h2{font-size:clamp(1.6rem,3.4vw,2.6rem)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.c2{display:inline-block;padding:10px 16px;border-radius:99px;border:1px solid var(--bd);background:rgba(229,239,236,.05);font-size:.9rem;font-weight:500;transition:border-color .2s,transform .2s}.c2:hover{border-color:var(--teal);transform:translateY(-2px)}
.why{background:var(--bg2)}
.wl{margin-top:48px;border-top:1px solid var(--bd)}
.wl li{display:grid;grid-template-columns:var(--num) minmax(0,1fr) minmax(0,1.2fr);gap:clamp(16px,3vw,32px);align-items:center;padding:30px 0;border-bottom:1px solid var(--bd)}
.wn{font-size:clamp(2.25rem,5vw,4rem);font-weight:800;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--acc)}
.wl h3{font-size:clamp(1.1rem,2vw,1.5rem);text-transform:uppercase;letter-spacing:-.01em;line-height:1.2}.wl p{color:var(--tx2)}
.pt-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,5vw,56px);align-items:center}
.pvz{position:relative;display:block;aspect-ratio:1.5/1}
.fr{position:absolute;width:78%;border-radius:var(--r-md);border:1px solid var(--bd-strong);background:var(--surface);box-shadow:var(--shadow);padding:30px 8px 8px;transition:transform .4s}
.fr::before{content:"";position:absolute;left:14px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--tx2);opacity:.5;box-shadow:14px 0 var(--tx2),28px 0 var(--tx2)}
.fr img{width:100%;height:auto;border-radius:6px}
.f1{left:0;top:0}.f2{left:11%;top:26%}.f3{right:0;top:52%}
a.pvz:hover .f1{transform:translate(-8px,-6px)}a.pvz:hover .f3{transform:translate(8px,6px)}
.faq{background:var(--bg2)}.fq-g{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(26px,5vw,50px)}
.fql{border-top:1px solid var(--bd)}.fi{border-bottom:1px solid var(--bd)}
.fb{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 4px;min-height:56px;background:none;border:0;color:var(--tx);font:600 1.05rem/1.35 Inter,sans-serif;text-align:left;cursor:pointer}
.fpl{position:relative;flex:none;width:16px;height:16px}.fpl::before,.fpl::after{content:"";position:absolute;left:0;top:7px;width:16px;height:2px;background:var(--acc);transition:transform .3s}.fpl::after{transform:rotate(90deg)}.fi.open .fpl::after{transform:rotate(0)}
.fa{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .35s,visibility 0s .35s}.fi.open .fa{grid-template-rows:1fr;visibility:visible;transition-delay:0s}.fa>div{overflow:hidden}.fa p{padding:0 4px 24px;color:var(--tx2);max-width:60ch}
.cta{background:linear-gradient(135deg,var(--surface-2),var(--bg2));text-align:center}
.cta h2{font-size:clamp(1.9rem,5vw,3.8rem);margin-bottom:20px;overflow-wrap:break-word}.cta .lead{margin-inline:auto}.cta .cta-row{justify-content:center}

/* ABOUT */
.abg{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:30px;align-items:center}
.abv{position:relative;height:320px;perspective:900px;display:grid;place-items:center}.abi{display:contents}
.pl{position:absolute;width:270px;height:270px;border-radius:24px;border:1px solid var(--bd);background:rgba(229,239,236,.04);transform:rotateX(58deg) translateZ(calc(var(--d)*40px))}
.pl:nth-child(1){--d:0}.pl:nth-child(2){--d:1}.pl:nth-child(3){--d:2}.pl:nth-child(4){--d:3;border-color:var(--teal);box-shadow:0 0 40px -22px var(--teal)}
.abv img{position:relative;width:160px;border-radius:18px;box-shadow:var(--shadow);transform:translateZ(80px)}
.pn{padding:12px;border-radius:14px;background:var(--surface);border:1px solid var(--bd-strong);font-size:.72rem;font-weight:600;letter-spacing:.04em}
.pn i{display:block;height:6px;border-radius:4px;background:var(--bd-strong);margin-top:8px}.pn i:first-of-type{width:80%;background:var(--teal)}.pn i:last-child{width:55%}
.abv .pn{position:absolute;width:120px;transform:translateZ(40px)}.ab1{left:0;top:12%}.ab2{right:0;top:42%}.ab3{left:8%;bottom:6%}
.wd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,6vw,60px);align-items:center}
.build{font-size:clamp(2.75rem,8vw,6.5rem);line-height:.95;letter-spacing:-.03em}.build span{color:var(--acc)}
.wdr>div{padding:22px 0;border-top:1px solid var(--bd)}.wdr h3{font-size:1.15rem;text-transform:uppercase;margin-bottom:4px}.wdr p{color:var(--tx2)}
.cp{margin-top:48px;border-top:1px solid var(--bd)}
.cp li{display:grid;grid-template-columns:var(--num) minmax(0,1fr) minmax(0,1.2fr);gap:clamp(16px,3vw,32px);align-items:center;padding:30px 12px;border-bottom:1px solid var(--bd);transition:background .25s,box-shadow .25s}
.cp li:hover{background:rgba(229,239,236,.04);box-shadow:inset 3px 0 0 var(--teal)}
.cp h3{font-size:clamp(1.1rem,2vw,1.5rem);text-transform:uppercase;letter-spacing:-.01em;line-height:1.2}.cp li p{color:var(--tx2);font-size:.92rem;margin-top:6px;max-width:42ch}

/* SERVICES + SERVICE DETAIL */
.sl2{border-top:1px solid var(--bd)}
.sl2 a{display:grid;grid-template-columns:var(--num) minmax(0,1fr) minmax(0,220px) 32px;gap:clamp(12px,2.5vw,26px);align-items:center;padding:24px 12px;border-bottom:1px solid var(--bd);transition:background .25s,box-shadow .25s}
.sl2 a:hover,.sl2 a:focus-visible{background:rgba(229,239,236,.04);box-shadow:inset 3px 0 0 var(--teal)}
.sl2 h3{font-size:clamp(1.1rem,2.2vw,1.8rem);text-transform:uppercase;letter-spacing:-.01em;line-height:1.1;overflow-wrap:break-word}.sl2 p{color:var(--tx2);margin-top:6px;max-width:48ch;font-size:.95rem}
.sl2 .th{aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--bd)}.sl2 img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.sl2 a:hover img{transform:scale(1.05)}
.sl2 .ar{font-size:1.4rem;color:var(--acc);transition:transform .25s}.sl2 a:hover .ar{transform:translateX(6px)}
.sl2 .ah{display:block;padding:44px 12px 16px;border-bottom:1px solid var(--bd)}.sl2 li:first-child.ah{padding-top:18px}.sl2 .ah .eyebrow{margin-bottom:6px}.sl2 .ah h2{font-size:clamp(1.4rem,2.8vw,2.1rem)}.sl2 .ah p:last-child{color:var(--tx2);margin-top:6px;max-width:52ch}
.dh{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,40px);align-items:center}.dh h1{font-size:clamp(1.9rem,4.2vw,3.6rem)}.dh .eyebrow a:hover{text-decoration:underline}
.dv{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--bd);box-shadow:var(--shadow);aspect-ratio:16/9}.dv img{width:100%;height:100%;object-fit:cover}
.dd{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,60px)}
.ck{border-top:1px solid var(--bd);margin-top:14px}.ck li{padding:16px 0 16px 30px;border-bottom:1px solid var(--bd);position:relative}.ck li::before{content:"";position:absolute;left:0;top:1.6em;width:14px;height:2px;background:var(--teal)}
.who{margin-bottom:40px}.who .lead{margin-top:0}.rel{margin-top:48px}.rel .chips{margin-top:4px}
.pnx{display:flex;justify-content:space-between;gap:16px;margin-top:56px;padding-top:24px;border-top:1px solid var(--bd)}.pnx a{color:var(--tx2);font-weight:600}.pnx a:hover{color:var(--acc)}

/* PORTFOLIO */
.pjs{display:grid;gap:28px}
.pj{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--bd);background:var(--surface);box-shadow:var(--shadow);transition:transform .25s,border-color .25s}.pj:hover{transform:translateY(-4px);border-color:var(--teal)}
.pjm{display:block;overflow:hidden;background:#fff}.pjm img{width:100%;height:auto;transition:transform .4s}.pj:hover .pjm img{transform:scale(1.02)}
.pjb{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:26px 30px 30px}
.pjb small{display:block;color:var(--acc);letter-spacing:.18em;text-transform:uppercase;font-weight:600;font-size:.72rem;margin-bottom:6px}
.pjb h2{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.1}.pjb p{color:var(--tx2);margin-top:10px;max-width:56ch}
.pjc{flex:none;white-space:nowrap}.pjc b{display:inline-block;transition:transform .2s}.pjc:hover b{transform:translateX(5px)}

/* CONTACT + PRIVACY */
.ct{padding-bottom:clamp(64px,8vw,100px)}.ct h1{font-size:clamp(2rem,4.4vw,3.6rem)}
.cg{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,56px);align-items:start}
.wa{margin-top:32px;padding:24px;border-radius:var(--r-md);border:1px solid var(--bd);background:var(--surface)}
.wa small{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);font-weight:600}.wa strong{display:block;font-size:2rem;letter-spacing:.02em;margin:4px 0 16px}.wa p{color:var(--tx2);font-size:.9rem;margin-bottom:10px}
.fm2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;padding:clamp(18px,3vw,30px);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--bd-strong);box-shadow:var(--shadow)}
.fld{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;color:var(--tx2)}.fld.w{grid-column:1/-1}
.fld input,.fld select,.fld textarea{width:100%;font:inherit;font-size:.95rem;font-weight:400;color:var(--tx);background:rgba(229,239,236,.05);border:1px solid var(--bd-strong);border-radius:var(--r-sm);padding:12px 14px;min-height:46px}
.fld textarea{min-height:130px;resize:vertical}.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--mint);outline-offset:1px}.fld option{background:var(--surface);color:var(--tx)}
.fld [aria-invalid=true]{border-color:var(--err)}.err{font-size:.78rem;font-weight:500;color:var(--err)}
.fm2 .btn{justify-self:start}#fmsg{grid-column:1/-1;font-size:.85rem;color:var(--acc);min-height:1.2em}
.prose{max-width:760px}.prose h2{font-size:1.35rem;text-transform:none;letter-spacing:-.01em;line-height:1.2;margin:42px 0 12px}.prose p,.prose li{color:var(--tx2);margin-bottom:12px}.prose ul{list-style:disc;padding-left:1.3em}.prose strong{color:var(--tx)}.prose a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}

/* FOOTER + FLOATING CHAT BUTTON */
footer{background:var(--bg2);padding:64px 0 28px;border-top:1px solid var(--bd)}
.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.fg .fh{margin:0 0 14px;font-size:.75rem;line-height:1.6;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);font-weight:700}
.fg li{margin-bottom:8px}.fg a:not(.btn){color:var(--tx2)}.fg a:not(.btn):hover{color:var(--tx)}.fg p:not(.fh){color:var(--tx2);font-size:.9rem;margin-top:14px;max-width:34ch}.fg .btn{margin-top:16px}
.copy{margin-top:48px;padding-top:22px;border-top:1px solid var(--bd);font-size:.8rem;color:var(--tx2)}.copy a{text-decoration:underline;text-underline-offset:3px}.copy a:hover{color:var(--tx)}
.wab{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:45;display:flex;align-items:center;gap:10px;height:56px;padding:0 20px 0 16px;border-radius:99px;background:var(--grad-cta);color:#0C1320;font-size:.92rem;font-weight:700;box-shadow:0 12px 28px -12px rgba(0,0,0,.7);transition:transform .2s}
.wab:hover{transform:translateY(-3px)}.wab svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round;stroke-linecap:round}

/* RESPONSIVE */
@media(max-width:1024px){
 .hv-card{max-width:560px}
 .hg,.sv-t,.pt-g,.fq-g,.dh,.dd,.cg,.pf-h,.wd{grid-template-columns:minmax(0,1fr)}
 .wall,.qw,.qg{grid-template-columns:repeat(2,minmax(0,1fr))}
 .wl li{grid-template-columns:var(--num) minmax(0,1fr)}.wl li p{grid-column:2}
}
@media(max-width:900px){
 .links{position:absolute;top:calc(100% + 8px);left:0;right:0;flex-direction:column;gap:2px;margin:0;padding:10px;border:1px solid var(--bd-strong);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility 0s .2s}
 .nav.open .links{opacity:1;visibility:visible;transform:none;transition-delay:0s}
 .links a:not(.btn){display:flex;align-items:center;min-height:48px;padding:12px 14px;font-size:1rem}.links a[aria-current=page]{box-shadow:inset 3px 0 0 var(--teal)}
 .mcta{display:block;margin-top:6px;padding-top:10px;border-top:1px solid var(--bd)}.mcta .btn{width:100%}
 .nav .in>.btn{display:none}.menu-btn{display:grid;margin-left:auto}
 .cp li{grid-template-columns:var(--num) minmax(0,1fr)}.cp .chips{grid-column:2}
 .sl2 a{grid-template-columns:var(--num) minmax(0,1fr) 28px}.sl2 .th{grid-column:2/-1;grid-row:2;max-width:320px}.sl2 .ar{grid-column:3;grid-row:1}
 .pnx{flex-direction:column}
 /* About hero scene: 320x300 canvas (logo centred; cards top-left, top-right, bottom-centre) scaled to the available width */
 .abg{grid-template-columns:minmax(0,1fr)}.abv{--s:1.15;min-width:0;width:100%;height:calc(300px*var(--s));display:flex;justify-content:center;perspective:none}
 .abi{display:grid;place-items:center;position:relative;flex:none;width:320px;height:300px;perspective:900px;transform:scale(var(--s));transform-origin:top center}
 .abv img{width:150px}.abv .pn{width:116px}.abv .ab1{left:0;top:0}.abv .ab2{right:0;top:0}.abv .ab3{left:calc(50% - 58px);bottom:0}
 .ph:has(.abv){padding-bottom:24px}
}
@media(min-width:601px) and (max-width:900px){.abv{--s:1.45}}
@media(max-width:700px){
 .fg{grid-template-columns:1fr;gap:28px}.fg a:not(.btn){display:inline-block;padding:7px 0}.fg li{margin-bottom:0}.fg .btn{display:flex;width:100%;max-width:340px;min-height:48px}
 footer{padding-bottom:calc(28px + 72px)}
 .fm2{grid-template-columns:1fr}.pjb{flex-direction:column;align-items:flex-start;padding:22px}.pjm{aspect-ratio:16/10}.pjm img{height:100%;object-fit:cover;object-position:center top}.pjc{width:100%}
 .sl2 a{padding:20px 8px;gap:12px 10px}.pnx a{padding:10px 0}
 .hv-top{flex-direction:column;align-items:flex-start}
}
@media(max-width:600px){.wab{width:56px;padding:0;justify-content:center}.wab span{display:none}}
@media(max-width:520px){
 .wall,.qw{grid-template-columns:minmax(0,1fr)}
 .mt{display:grid;grid-template-columns:128px minmax(0,1fr);gap:18px;align-items:center;justify-items:start;min-height:0;padding:18px 20px}.mt .lg{justify-self:center}
 .lg-am{width:128px}.lg-q{width:104px}.lg-q.zp{width:128px}
 .qg{gap:14px}
}
@media(max-width:480px){.abv{--s:1}}
@media(max-width:360px){.sl2 h3{font-size:1.05rem}}
@media(max-width:345px){.abv{--s:.86}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}
