/* Homepage (editorial layout) — ported from the approved wireframe.
   Every rule is scoped under .hp so nothing leaks into other pages.
   Accent: --gold holds the homepage green (#2AA100). */
.hp{--gold:#2AA100; --navy:#070C1B;
  --ink:#ffffff; --muted:rgba(255,255,255,.74); --line:rgba(255,255,255,.2); --tile:rgba(255,255,255,.07);
  --bg-grad:#070C1B;
  --note-bg:#fff2c2; --note-ink:#4a3a00;
  --head:"Barlow Condensed","Arial Narrow",Impact,sans-serif;
  --ui:"DM Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  --logo:url("wrap-logo.svg");
  --hero:url("hero-green.jpg");
  color-scheme:dark;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);}
.hp *{box-sizing:border-box}
.hp{margin:0;background:#070C1B;color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
.hp h1,.hp h2,.hp h3,.hp h4,.hp p,.hp figure{margin:0}
.hp a{color:inherit}
.hp .nb{white-space:nowrap}
.hp .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hp :focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.hp .hl,.hp .mark,.hp .hero h1{font-family:var(--head);text-transform:uppercase;font-weight:800;letter-spacing:-.005em}
.hp .mark{font-size:clamp(40px,5.2vw,72px);line-height:.95;text-align:center}
.hp .mark.left{text-align:left}
.hp .hl{font-size:clamp(34px,4.4vw,64px);line-height:.92;margin-bottom:10px}
.hp .ph-copy{font-style:italic}
.hp .hl.ph-copy{font-style:normal}
.hp .cap-note{margin-top:10px;font-size:12.5px;color:var(--muted)}
.hp .label{font:600 12px/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.hp .pills{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.hp .pill{display:inline-block;padding:11px 20px;border-radius:980px;background:#fff;color:var(--navy);font:500 15px/1 var(--ui);text-decoration:none;white-space:nowrap}
.hp .pill.gold{background:var(--gold)}
.hp .pill.line{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.7)}
.hp .pill.sm{padding:9px 16px;font-size:14px}
.hp .tag{display:inline-block;font:600 11.5px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(255,255,255,.55);border-radius:980px;padding:6px 12px;margin-bottom:12px}
.hp .tag.gold{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.hp .site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:70;background:var(--bg-grad);color:#fff;border-bottom:1px solid rgba(255,255,255,.14)}
.hp .hdr-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:60px;padding:0 24px}
.hp .wordmark{display:block;background:var(--logo) no-repeat left center/contain;width:112px;height:23px;justify-self:start}
.hp .hdr-actions{grid-column:3;justify-self:end;display:flex;align-items:center;gap:6px}
.hp .site-header nav{display:none}
.hp .site-header ul{list-style:none;margin:0;padding:0}
.hp .navlist>li{position:relative}
.hp .nav-btn,.hp .nav-link{font:400 15px/1.2 var(--ui);color:#8B98B8;background:none;border:0;padding:10px 9px;border-radius:8px;cursor:pointer;text-decoration:none;display:block;text-align:left;width:100%}
.hp .nav-btn:hover,.hp .nav-link:hover,.hp .has-sub.open>.nav-btn,.hp .has-sub:focus-within>.nav-btn{color:#E9EDF7;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:9px}
.hp .has-sub>.nav-btn::after{content:" \25BE";font-size:10px}
.hp .sub{display:none;background:#0C1428;padding:8px}
.hp .sub li a{display:block;padding:9px 12px;font:400 15px/1.3 var(--ui);color:#8B98B8;text-decoration:none;border-radius:8px}
.hp .sub li a:hover{color:#E9EDF7;background:rgba(255,255,255,.08)}
.hp .sub .sep{border-top:1px solid rgba(255,255,255,.18);margin-top:6px;padding-top:6px}
.hp .sub .sep a{color:var(--gold)}
.hp .has-sub.open>.sub{display:block}
.hp .burger{width:44px;height:44px;border:0;background:none;color:#fff;cursor:pointer;display:grid;place-items:center;border-radius:8px}
.hp .burger i{display:block;width:22px;height:2px;background:#fff;position:relative}
.hp .burger i::before,.hp .burger i::after{content:"";position:absolute;left:0;width:22px;height:2px;background:#fff}
.hp .burger i::before{top:-7px}
.hp .burger i::after{top:7px}
.hp .menu-open .burger i{background:transparent}
.hp .menu-open .burger i::before{top:0;transform:rotate(45deg)}
.hp .menu-open .burger i::after{top:0;transform:rotate(-45deg)}
.hp .menu-open nav{display:block;position:absolute;left:0;right:0;top:100%;background:#0C1428;border-bottom:1px solid rgba(255,255,255,.16);max-height:calc(100vh - 60px - env(safe-area-inset-top,0px));overflow:auto;padding:6px 20px 22px}
.hp .menu-open .navlist>li{border-bottom:1px solid rgba(255,255,255,.12)}
.hp .menu-open .nav-btn,.hp .menu-open .nav-link{padding:14px 6px;font-size:17px}
.hp .menu-open .sub{padding:0 0 10px 12px}
.hp .menu-cta{margin-top:16px;display:block;text-align:center}
.hp .lbl-short{display:none}
@media (min-width:1180px){
.hp .burger,.hp .menu-cta{display:none!important}
.hp .site-header nav{display:block;grid-column:2}
.hp .navlist{display:flex;align-items:center}
.hp .sub{position:absolute;top:100%;left:0;min-width:270px;border:1px solid rgba(255,255,255,.18);border-radius:14px;margin-top:2px}
.hp .has-sub:hover>.sub,.hp .has-sub:focus-within>.sub{display:block}
}
@media (min-width:1180px) and (max-width:1379px){
.hp .lbl-long{display:none}
.hp .lbl-short{display:inline}
}
@media (max-width:1179px){
.hp .hdr-in{grid-template-columns:1fr auto}
.hp .hdr-actions{grid-column:2}
}
.hp .hero{position:relative;aspect-ratio:1672/696;display:flex;align-items:flex-end;padding:0 clamp(20px,3vw,44px) clamp(36px,5vw,64px);overflow:hidden}
.hp .hero-img{position:absolute;right:0;top:0;width:74%;aspect-ratio:1672/941;background:linear-gradient(to right,rgba(7,12,27,.5) 0%,rgba(7,12,27,.1) 50%,transparent 70%),linear-gradient(to top,rgba(7,12,27,.5) 0%,transparent 40%),var(--hero) center/cover no-repeat;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 26%),linear-gradient(to top,transparent 0,#000 14%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 26%),linear-gradient(to top,transparent 0,#000 14%);mask-composite:intersect}
.hp .hero-copy{position:relative;z-index:2;max-width:1000px}
.hp .hero h1{font-size:clamp(44px,5vw,74px);line-height:.9;margin-bottom:18px}
.hp .hero h1>span{display:block}
.hp .hero .sub-copy{font:400 16px/1.45 var(--ui);max-width:46ch;margin-bottom:20px;color:#fff}
.hp .sec{padding:0 0 12px}
.hp .wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.hp .mark-wrap{padding:104px 0 32px}
.hp .slot{background-color:rgba(255,255,255,.09);background-image:repeating-linear-gradient(135deg,transparent 0 10px,rgba(255,255,255,.05) 10px 20px);color:rgba(255,255,255,.55);font:500 12px/1.4 var(--ui);letter-spacing:.08em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.hp .slot.play::before{content:"";border-left:22px solid currentColor;border-top:13px solid transparent;border-bottom:13px solid transparent;margin-bottom:12px;opacity:.8}
.hp .banner{position:relative;overflow:hidden;aspect-ratio:1.9/1;min-height:420px}
.hp .banner::after{content:"";position:absolute;inset:0;background:linear-gradient(to top right,rgba(0,0,0,.6) 0%,rgba(0,0,0,.15) 45%,transparent 70%);pointer-events:none;z-index:1}
.hp .banner>.art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hp .overlay{position:absolute;left:clamp(20px,3vw,44px);bottom:clamp(20px,3vw,44px);right:20px;z-index:2;max-width:640px}
.hp .overlay p{font:400 15px/1.4 var(--ui);max-width:46ch;margin-bottom:18px;color:#fff}
.hp .banner.playing::after,.hp .banner.playing .overlay{display:none}
.hp .banner.video{aspect-ratio:1400/792;min-height:0}
.hp .banner.video .overlay{max-width:520px}
.hp .banner.video .hl{font-size:clamp(26px,3.2vw,46px)}
.hp .banner.video .hl.one-line{white-space:nowrap;font-size:clamp(24px,3.2vw,46px)}
.hp .vid{position:absolute;inset:0}
.hp .vid .art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hp .playbtn{position:absolute;right:clamp(16px,2.4vw,32px);bottom:clamp(16px,2.4vw,32px);z-index:3;width:68px;height:68px;border-radius:50%;border:0;background:var(--gold);cursor:pointer;display:grid;place-items:center}
.hp .playbtn::before{content:"";margin-left:5px;border-left:22px solid var(--navy);border-top:14px solid transparent;border-bottom:14px solid transparent}
.hp .banner.reality{aspect-ratio:auto;min-height:clamp(480px,46vw,640px);display:flex;align-items:center;background:radial-gradient(ellipse 55% 85% at 76% 50%,#12306A 0%,#0B1D45 45%,#050C20 100%)}
.hp .banner.reality::after{display:none}
.hp .banner.reality .reality-art{position:absolute;top:0;right:0;bottom:0;left:auto;width:54%;height:100%;padding:0;background:none}
.hp .banner.reality .reality-art picture{display:block;width:100%;height:100%}
.hp .banner.reality .reality-art img{position:absolute;top:0;right:0;display:block;height:100%;width:auto;max-width:none;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 16%);mask-image:linear-gradient(to right,transparent 0,#000 16%)}
.hp .banner.reality .overlay{position:relative;left:auto;bottom:auto;right:auto;z-index:2;max-width:min(560px,48%);padding:clamp(28px,4vw,64px)}
.hp .banner.reality .reality-copy .hl{font-size:clamp(30px,3.4vw,50px);white-space:nowrap}
.hp .banner.reality .reality-copy p{font:400 17px/1.5 var(--ui);color:rgba(255,255,255,.82);max-width:44ch;margin-bottom:22px}
.hp #bolawrap .wrap,.hp #reality .wrap{padding-top:72px}
.hp .clip{margin-top:12px;aspect-ratio:16/9;overflow:hidden;background:#070C1B}
.hp .clip img{display:block;width:100%;height:100%;object-fit:cover}
.hp .story-clip picture{display:block;width:100%;height:100%}
.hp .story-clip img{display:block;width:100%;height:100%;object-fit:cover}
.hp .swipe-hint{display:none;font:400 12.5px/1.3 var(--ui);color:var(--muted);margin-top:6px}
.hp .cols3,.hp .cols4{display:grid;gap:12px;margin-top:12px}
.hp .cols3{grid-template-columns:repeat(3,1fr)}
.hp .cols4{grid-template-columns:repeat(4,1fr)}
.hp figure .slot{aspect-ratio:4/5}
.hp figure .fig-img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 50%}
.hp .cols4 figure .slot{aspect-ratio:1/1.05}
.hp .tiles figure .slot{aspect-ratio:1/1}
.hp figcaption{padding-top:12px}
.hp figcaption h3{font:500 22px/1.2 var(--ui);letter-spacing:-.01em;margin-bottom:4px}
.hp figcaption p{font:400 14.5px/1.5 var(--ui);color:var(--muted)}
.hp figcaption .tag{margin:10px 0 0}
.hp .story-row figure .slot{aspect-ratio:16/10}
.hp .quote-tile{background:var(--tile);padding:28px 24px;display:flex;flex-direction:column;justify-content:space-between;min-height:100%}
.hp .quote-tile q{display:block;quotes:none;font:400 20px/1.35 var(--ui);letter-spacing:-.01em}
.hp .quote-tile .who{font:600 13px/1.3 var(--ui);color:var(--muted);margin-top:18px}
.hp .halves{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.hp .halves .banner{aspect-ratio:auto;height:clamp(480px,50vw,720px)}
.hp .halves .banner::after{background:linear-gradient(to top,rgba(0,0,0,.65) 0%,transparent 60%)}
.hp .halves .overlay{max-width:460px}
.hp .text3{margin-top:40px}
.hp .text3 div{border-top:1px solid var(--line);padding-top:16px}
.hp .text3 h3{font:600 18px/1.2 var(--ui);margin-bottom:6px}
.hp .text3 p{font:400 15px/1.5 var(--ui);color:var(--muted)}
.hp .row-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding:104px 0 24px}
.hp .row-head .blurb{font:400 16px/1.5 var(--ui);color:var(--muted);max-width:52ch;margin-top:12px}
.hp .info2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.hp .info2 div{border-top:1px solid var(--line);padding-top:14px}
.hp .info2 h3{font:600 16px/1.2 var(--ui);margin-bottom:4px}
.hp .info2 p{font:400 15px/1.5 var(--ui);color:var(--muted)}
.hp .closer{text-align:center;padding:150px 24px 140px}
.hp .closer .hl{font-size:clamp(48px,8.4vw,120px);margin-bottom:16px}
.hp .closer p{font:400 18px/1.5 var(--ui);color:var(--muted);max-width:44ch;margin:0 auto 26px}
.hp .closer .funding{margin-top:18px;font:500 15px/1 var(--ui)}
.hp .opt{display:inline-block;font:600 11px/1 var(--ui);border:1px solid rgba(255,255,255,.4);border-radius:980px;padding:3px 8px;margin-left:8px;color:var(--muted)}
.hp .link{font:500 15px/1 var(--ui);text-decoration:underline;text-underline-offset:5px}
.hp .shield{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:40px;align-items:center;padding:36px 0 56px;border-top:1px solid var(--line)}
.hp .shield .hl{font-size:clamp(34px,4vw,52px)}
.hp .shield p.t{font:400 16px/1.5 var(--ui);color:var(--muted);max-width:52ch;margin-bottom:14px}
.hp .shield .slot{aspect-ratio:16/9}
.hp .shield-art{position:relative;aspect-ratio:1983/793;overflow:hidden;background:#0D1522;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 14%,#000 94%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 14%,#000 94%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%);mask-composite:intersect}
.hp .shield-art .drift{position:absolute;inset:0;transform-origin:50% 55%}
.hp .shield-art .world{position:absolute;left:0;top:0;width:1983px;height:793px;transform-origin:0 0}
.hp .shield-art .base{position:absolute;left:0;top:0;display:block;max-width:none;width:1983px;height:793px}
.hp .shield-art canvas.fx{position:absolute;left:0;top:0;width:1983px;height:793px}
.hp .shield-art .sp{position:absolute;display:block}
.hp .shield-art .sp img{display:block;max-width:none}
.hp .shield-art .drone{left:1160px;top:152px;--from:620px;--to:-330px}
.hp .shield-art .vehicle{left:1472px;top:160px}
.hp .shield-art .rover{left:1732px;top:370px}
.hp .shield-art .turret{left:1858px;top:92px;transform-origin:50% 94%}
.hp .shield-art .midrone{left:1165px;top:38px}
.hp .shield-art .midrone img{transform:scale(1.7);transform-origin:50% 50%;filter:drop-shadow(0 0 5px rgba(238,234,227,.25))}
.hp .shield-art .ring{position:absolute;left:711px;top:264px;width:60px;height:60px;margin:-30px 0 0 -30px;border:1.4px solid rgba(168,148,106,.7);border-radius:50%;opacity:0}
.hp .shield-art .blink{position:absolute;left:711px;top:250px;width:9px;height:9px;margin:-4px;border-radius:50%;background:#e9d7a6;box-shadow:0 0 14px 5px rgba(214,180,110,.7);opacity:.6}
.hp .shield-art .halo{position:absolute;left:1400px;top:490px;width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%;background:radial-gradient(circle,rgba(238,234,227,.20),rgba(238,234,227,0) 64%);mix-blend-mode:screen;opacity:.5}
@media (prefers-reduced-motion:no-preference){
.hp .shield-art .drift{animation:sh-kb 26s ease-in-out infinite alternate}
.hp .shield-art .drone{animation:sh-fly 18s linear -6s infinite}
.hp .shield-art .drone img{animation:sh-bob 4.2s ease-in-out infinite alternate}
.hp .shield-art .vehicle{animation:sh-driveV 15s linear -5s infinite}
.hp .shield-art .rover{animation:sh-driveR 18s linear -9s infinite}
.hp .shield-art .turret{animation:sh-pan 7.5s ease-in-out infinite alternate}
.hp .shield-art .midrone{animation:sh-fly2 34s linear -14s infinite}
.hp .shield-art .ring{animation:sh-ping 5.4s ease-out infinite}
.hp .shield-art .blink{animation:sh-blk 1.8s ease-in-out infinite}
.hp .shield-art .halo{animation:sh-br 5.2s ease-in-out infinite alternate}
}
@keyframes sh-kb{from{transform:scale(1.02) translate(-6px,-4px)}to{transform:scale(1.085) translate(8px,6px)}}
@keyframes sh-fly{0%{transform:translateX(var(--from));opacity:0}8%{opacity:1}92%{opacity:1}100%{transform:translateX(var(--to));opacity:0}}
@keyframes sh-bob{from{transform:translateY(-6px) rotate(-1.4deg)}to{transform:translateY(6px) rotate(1.4deg)}}
@keyframes sh-driveV{0%{transform:translateX(70px);opacity:0}8%{opacity:1}92%{opacity:1}100%{transform:translateX(-70px);opacity:0}}
@keyframes sh-driveR{0%{transform:translateX(80px);opacity:0}8%{opacity:1}92%{opacity:1}100%{transform:translateX(-80px);opacity:0}}
@keyframes sh-pan{from{transform:rotate(-9deg)}to{transform:rotate(9deg)}}
@keyframes sh-ping{0%{transform:scale(.2);opacity:.8}70%{opacity:.14}100%{transform:scale(6.5);opacity:0}}
@keyframes sh-blk{0%,100%{opacity:.15}50%{opacity:1}}
@keyframes sh-br{from{opacity:.2;transform:scale(.9)}to{opacity:1;transform:scale(1.08)}}
@keyframes sh-fly2{0%{transform:translateX(620px);opacity:0}6%{opacity:1}94%{opacity:1}100%{transform:translateX(-820px);opacity:0}}
.hp footer.site-footer{border-top:1px solid var(--line);padding:44px 0 30px;font:400 14px/1.5 var(--ui)}
.hp .foot-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:28px}
.hp .foot-grid h4{font:600 13px/1.2 var(--ui);margin-bottom:10px}
.hp .foot-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.hp .foot-grid a{text-decoration:none;color:#8B98B8}
.hp .foot-grid a:hover{color:#E9EDF7;text-decoration:underline}
.hp .foot-grid p{color:rgba(255,255,255,.72)}
.hp .foot-grid .wordmark{width:132px;height:27px;margin-bottom:14px}
.hp .foot-base{margin-top:32px;padding-top:18px;border-top:1px solid var(--line);display:flex;gap:10px 24px;flex-wrap:wrap;color:rgba(255,255,255,.7);font-size:12.5px}
.hp .foot-base a{color:rgba(255,255,255,.85)}
@media (max-width:860px){
.hp .wrap{padding:0 16px}
.hp .hero{display:block;aspect-ratio:auto;padding:0 0 36px;overflow:visible}
.hp .hero h1{font-size:clamp(30px,9vw,56px)}
.hp .hero-copy{min-width:0;max-width:100%}
.hp .playbtn{width:52px;height:52px}
.hp .playbtn::before{border-left-width:17px;border-top-width:11px;border-bottom-width:11px;margin-left:4px}
.hp .hero-img{position:relative;width:100%;-webkit-mask-image:none;mask-image:none}
.hp .hero-copy{padding:24px 16px 0}
.hp .mark-wrap{padding:64px 0 22px}
.hp .banner{aspect-ratio:4/5;min-height:0}
.hp .swipe-hint{display:block}
.hp .banner.video{aspect-ratio:auto;overflow:visible}
.hp .banner.video::after{display:none}
.hp .banner.video .vid{position:relative;inset:auto;aspect-ratio:1400/792}
.hp .banner.video .overlay{position:static;padding:16px 0 4px;max-width:none}
.hp .banner.video.playing .overlay{display:block}
.hp .banner.reality{display:block;min-height:0;background:radial-gradient(ellipse 90% 60% at 50% 30%,#12306A 0%,#0B1D45 45%,#050C20 100%)}
.hp .banner.reality .reality-art{position:relative;width:100%;height:auto;aspect-ratio:838/902;max-height:420px}
.hp .banner.reality .reality-art img{position:static;margin:0 auto;height:100%;width:auto;-webkit-mask-image:none;mask-image:none}
.hp .banner.reality .overlay{max-width:none;padding:8px 20px 28px}
.hp .banner.reality .reality-copy .hl{white-space:normal;font-size:clamp(30px,9vw,44px)}
.hp .cols3,.hp .cols4{grid-template-columns:1fr}
.hp .cols4{grid-template-columns:1fr 1fr}
.hp .halves{grid-template-columns:1fr}
.hp .halves .banner{aspect-ratio:4/5;height:auto}
.hp .info2{grid-template-columns:1fr}
.hp .row-head{padding-top:64px}
.hp .closer{padding:90px 16px 80px}
.hp .shield{grid-template-columns:1fr;gap:20px}
.hp .foot-grid{grid-template-columns:1fr 1fr}
}
/* site integration */
.hp section,.hp footer{scroll-margin-top:68px}
.hp button{font-family:inherit}
.hp .wordmark{cursor:pointer}
.hp .sub li,.hp .navlist li{list-style:none}
.hp .pill,.hp .nav-btn,.hp .nav-link,.hp .sub a,.hp .foot-grid a,.hp .link{cursor:pointer}

/* how it compares (HTML table) */
.hp .cmp{--good:#5FD63A;--bad:#F2706A;margin-top:56px;padding:36px clamp(16px,3vw,40px) 28px;background:#0A1228;border:1px solid rgba(255,255,255,.08);border-radius:12px}
.hp .cmp-title{font:600 13px/1 var(--ui);letter-spacing:.24em;text-transform:uppercase;color:var(--good);margin-bottom:22px}
.hp .cmp-scroll{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;outline-offset:4px}
.hp .cmp-table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;font:500 16px/1.3 var(--ui)}
.hp .cmp-table thead th{font:400 14.5px/1.3 var(--ui);color:var(--muted);text-align:left;padding:0 16px 14px;white-space:nowrap}
.hp .cmp-table tbody th{text-align:left;font:600 17px/1.3 var(--ui);color:#fff;padding:20px 16px;width:22%}
.hp .cmp-table td{padding:20px 16px;color:var(--bad);font-weight:600}
.hp .cmp-table tbody tr:not(.featured):not(:last-child)>*{border-bottom:1px solid rgba(255,255,255,.08)}
.hp .cmp-cell{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.hp .cmp-ico{flex:none;display:block}
.hp .cmp-table tr.featured>*{background:rgba(42,161,0,.14);border-top:2px solid var(--gold);border-bottom:2px solid var(--gold)}
.hp .cmp-table tr.featured>:first-child{border-left:2px solid var(--gold);border-radius:8px 0 0 8px;color:var(--good);font-size:19px}
.hp .cmp-table tr.featured>:last-child{border-right:2px solid var(--gold);border-radius:0 8px 8px 0}
.hp .cmp-table tr.featured td{color:var(--good)}
.hp .cmp-table tr.featured .cmp-ico{filter:drop-shadow(0 0 6px rgba(95,214,58,.6))}
.hp .cmp-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px;padding-left:16px;font:400 13px/1 var(--ui);color:var(--muted)}
.hp .cmp-legend .cmp-ico{color:rgba(255,255,255,.55)}
.hp .cmp-legend span:first-child{margin-right:4px}.hp .cmp-legend span:last-child{margin-left:4px}
@media (prefers-reduced-motion:no-preference){
  .hp .cmp tbody tr{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease;transition-delay:calc(var(--i) * 90ms)}
  .hp .cmp.in tbody tr{opacity:1;transform:none}
}
@media (max-width:860px){
  .hp .cmp{margin-top:40px;padding:24px 0 20px;border-radius:10px}
  .hp .cmp-title,.hp .cmp-legend,.hp .cmp .swipe-hint{padding-left:16px}
  .hp .cmp-table tbody th,.hp .cmp-table thead th:first-child{position:sticky;left:0;z-index:1;background:#0A1228}
  .hp .cmp-table tr.featured>th{background:#0f2420}
  .hp .cmp-table tbody th{font-size:15px;padding:16px 12px}
  .hp .cmp-table td{padding:16px 12px;font-size:15px}
}

/* rating dots: only BolaWRAP's green dots blink — in unison, soft glow pulse */
@keyframes cmp-glow{0%,100%{opacity:1;filter:drop-shadow(0 0 3px rgba(95,214,58,.4))}50%{opacity:.8;filter:drop-shadow(0 0 6px rgba(95,214,58,.65))}}
@media (prefers-reduced-motion:no-preference){
  .hp .cmp-table tr.featured td .cmp-ico{animation:cmp-glow 2.2s ease-in-out infinite}
}

/* real stories cards */
.hp .story-link{display:block;text-decoration:none;color:inherit}
.hp .story-thumb{position:relative;aspect-ratio:16/10;overflow:hidden;background:#0A1228}
.hp .story-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.hp .story-link:hover .story-thumb img{transform:scale(1.03)}
.hp .story-play{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:var(--gold);display:grid;place-items:center;box-shadow:0 4px 18px rgba(0,0,0,.4)}
/* triangle positioned so its visual centre (centroid) sits on the circle's centre */
.hp .story-play::before{content:"";position:absolute;left:50%;top:50%;margin:0;border-left:17px solid var(--navy);border-top:10px solid transparent;border-bottom:10px solid transparent;transform:translate(-36%,-50%)}
.hp .story-kicker{display:block;font:600 11.5px/1.3 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.hp .story-card figcaption h3{margin-bottom:6px}
.hp .story-cta{display:inline-block;margin-top:12px;font:500 14.5px/1 var(--ui);text-decoration:underline;text-underline-offset:5px}
.hp .story-link:hover .story-cta{color:#5FD63A}

/* merged site footer */
.hp .foot-brand p{max-width:30ch;color:var(--muted);margin-bottom:16px}
.hp .foot-social{display:flex;gap:14px}
.hp .foot-social a{color:#8B98B8;display:flex}
.hp .foot-social a:hover{color:#E9EDF7}
.hp .foot-base>span{margin-right:auto}
@media (min-width:861px) and (max-width:1100px){.hp .foot-grid{grid-template-columns:repeat(3,1fr)}.hp .foot-brand{grid-column:1/-1}}

/* =====================================================================
   SUBPAGE PRIMITIVES — shared editorial building blocks for every page.
   Same tokens/typography as the homepage. Use these classes instead of
   ad-hoc inline styles so all pages read as one system.
   ===================================================================== */
.hp{font-family:var(--ui)}

/* page hero (text-first). Add .with-img + a .pg-hero-img child for a
   right-side photo faded into the page, like the homepage hero. */
.hp .pg-hero{position:relative;overflow:hidden;padding:clamp(64px,8vw,120px) 0 clamp(48px,6vw,88px)}
.hp .pg-hero .wrap{position:relative;z-index:2}
.hp .pg-hero h1{font-family:var(--head);font-weight:800;text-transform:uppercase;letter-spacing:-.005em;font-size:clamp(44px,5.6vw,84px);line-height:.9;margin-bottom:20px;max-width:16ch}
.hp .pg-hero .sub-copy{font:400 18px/1.5 var(--ui);color:var(--muted);max-width:56ch;margin-bottom:24px}
.hp .pg-hero .label{margin-bottom:18px}
.hp .pg-hero.with-img{min-height:clamp(420px,42vw,640px);display:flex;align-items:flex-end}
.hp .pg-hero.with-img .wrap{width:100%}
.hp .pg-hero-img{position:absolute;right:0;top:0;bottom:0;width:66%;background-size:cover;background-position:center;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 30%),linear-gradient(to top,transparent 0,#000 18%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 30%),linear-gradient(to top,transparent 0,#000 18%);mask-composite:intersect}
.hp .pg-hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(7,12,27,.55),rgba(7,12,27,.1) 55%,transparent)}

/* section rhythm */
.hp .sec-lg{padding:104px 0}
.hp .sec-top{padding-top:104px}
.hp .sec-rule{border-top:1px solid var(--line)}
.hp .lede{font:400 18px/1.55 var(--ui);color:var(--muted);max-width:60ch}
.hp .body{font:400 16px/1.6 var(--ui);color:var(--muted)}
.hp .hl.sm{font-size:clamp(28px,3vw,40px)}
.hp .kicker{display:block;font:600 11.5px/1.3 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.hp .kicker.accent,.hp .label.accent{color:#5FD63A}
.hp .cta-link{display:inline-block;font:500 15px/1 var(--ui);color:#fff;text-decoration:underline;text-underline-offset:5px;background:none;border:0;padding:0;cursor:pointer}
.hp .cta-link:hover{color:#5FD63A}

/* layouts */
.hp .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);align-items:center}
.hp .split.top{align-items:start}
.hp .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hp .lines{display:grid;gap:24px}
.hp .lines>*{border-top:1px solid var(--line);padding-top:16px}
.hp .lines h3{font:600 18px/1.25 var(--ui);margin-bottom:6px}
.hp .lines p{font:400 15px/1.55 var(--ui);color:var(--muted)}

/* media: square corners, cover */
.hp .media{position:relative;overflow:hidden;background:rgba(255,255,255,.06)}
.hp .media>img,.hp .media>video,.hp .media>iframe{display:block;width:100%;height:100%;object-fit:cover;border:0}
.hp .r16x9{aspect-ratio:16/9}.hp .r16x10{aspect-ratio:16/10}.hp .r4x5{aspect-ratio:4/5}.hp .r1x1{aspect-ratio:1/1}.hp .r4x3{aspect-ratio:4/3}

/* tiles / cards (flat, square, no heavy borders) */
.hp .tile{background:var(--tile);padding:28px 24px;display:flex;flex-direction:column;gap:8px}
.hp .tile h3{font:500 22px/1.2 var(--ui);letter-spacing:-.01em}
.hp .tile p{font:400 14.5px/1.5 var(--ui);color:var(--muted)}
.hp .tile.link{cursor:pointer;transition:background .2s}
.hp .tile.link:hover{background:rgba(255,255,255,.11)}
.hp .card{display:block;text-decoration:none;color:inherit;cursor:pointer;background:none;border:0;padding:0;text-align:left;font:inherit;width:100%}
.hp .card .media img{transition:transform .4s ease}
.hp .card:hover .media img{transform:scale(1.03)}
.hp .card figcaption,.hp .card .cap{padding-top:12px}
.hp .card h3{font:500 22px/1.2 var(--ui);letter-spacing:-.01em;margin-bottom:4px}
.hp .card p{font:400 14.5px/1.5 var(--ui);color:var(--muted)}

/* stats */
.hp .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.hp .stat{border-top:1px solid var(--line);padding-top:16px}
.hp .stat .v{font-family:var(--head);font-weight:800;font-size:clamp(44px,5vw,72px);line-height:.95;color:#fff}
.hp .stat .k{font:400 14px/1.45 var(--ui);color:var(--muted);margin-top:6px}

/* chips / filters (pill buttons) */
.hp .chips{display:flex;gap:8px;flex-wrap:wrap}
.hp .chip{font:500 14px/1 var(--ui);padding:9px 16px;border-radius:980px;border:0;cursor:pointer;background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}
.hp .chip:hover{box-shadow:inset 0 0 0 1.5px #fff}
.hp .chip.on{background:#fff;color:var(--navy);box-shadow:none}
.hp .pill.line:hover{box-shadow:inset 0 0 0 1.5px #fff}
.hp .pill:hover{filter:brightness(1.06)}
.hp button.pill{border:0;cursor:pointer}

/* forms */
.hp .field{display:flex;flex-direction:column;gap:7px}
.hp .field label,.hp .field .flabel{font:600 11.5px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.hp .field input,.hp .field select,.hp .field textarea,.hp .input{width:100%;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:10px;padding:13px 14px;color:#fff;font:400 15px/1.4 var(--ui);outline:none;transition:border-color .2s}
.hp .field input:focus,.hp .field select:focus,.hp .field textarea:focus,.hp .input:focus{border-color:var(--gold)}
.hp .field select option{background:#0C1428}

/* long-form text (legal, articles) */
.hp .prose{max-width:760px;font:400 16px/1.7 var(--ui);color:var(--muted)}
.hp .prose h2{font-family:var(--head);font-weight:800;text-transform:uppercase;font-size:clamp(26px,2.6vw,34px);line-height:1;color:#fff;margin:48px 0 14px}
.hp .prose h3{font:600 18px/1.3 var(--ui);color:#fff;margin:28px 0 8px}
.hp .prose p{margin:0 0 14px}
.hp .prose ul,.hp .prose ol{margin:0 0 16px;padding-left:22px}
.hp .prose li{margin-bottom:6px}
.hp .prose a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.hp .prose strong{color:#fff}

/* panel: flat highlighted block (e.g. callouts) */
.hp .panel{background:var(--tile);padding:clamp(24px,3vw,40px)}
.hp .panel.accent{background:rgba(42,161,0,.10);box-shadow:inset 3px 0 0 var(--gold)}

/* breadcrumbs / back links */
.hp .crumb{font:500 14px/1 var(--ui);color:var(--muted);background:none;border:0;padding:0;cursor:pointer;text-decoration:none}
.hp .crumb:hover{color:#fff}

@media (max-width:860px){
  .hp .split,.hp .grid2{grid-template-columns:1fr}
  .hp .sec-lg{padding:64px 0}
  .hp .sec-top{padding-top:64px}
  .hp .pg-hero.with-img{display:block;min-height:0;padding-top:0}
  .hp .pg-hero-img{position:relative;width:100%;height:auto;aspect-ratio:16/9;-webkit-mask-image:none;mask-image:none;margin-bottom:28px}
  .hp .pg-hero h1{font-size:clamp(34px,10vw,56px)}
}
.hp .pills.story-actions{justify-content:center;margin-top:32px}
.hp #stories+.closer{padding-top:72px}
@media (max-width:860px){.hp #stories+.closer{padding-top:48px}}
.hp .pg-hero-img.fit-contain{background-size:contain;background-repeat:no-repeat;background-position:right center;background-origin:content-box;padding:clamp(40px,5vw,80px) clamp(16px,4vw,64px) clamp(40px,5vw,80px) 27%;-webkit-mask-image:none;mask-image:none}
.hp .pg-hero-img.fit-contain::after{display:none}
@media (max-width:860px){.hp .pg-hero-img.fit-contain{padding:24px 16px;background-position:center}}
/* Product pages: tighter spacing between sections */
.hp .pg-product .sec-lg,.hp .pg-wr .sec-lg,.hp .pg-grants .sec-lg{padding:72px 0}
.hp .pg-product .sec-top,.hp .pg-wr .sec-top,.hp .pg-grants .sec-top{padding-top:72px}
.hp .pg-wr .closer{padding:0 24px 48px}
.hp .pg-product .row-head,.hp .pg-wr .row-head,.hp .pg-grants .row-head{padding-top:72px}
.hp .pg-grants .gr-close .mark-wrap{padding-top:72px}
@media (max-width:860px){
  .hp .pg-product .sec-lg,.hp .pg-wr .sec-lg,.hp .pg-grants .sec-lg{padding:48px 0}
  .hp .pg-product .sec-top,.hp .pg-wr .sec-top,.hp .pg-grants .sec-top{padding-top:48px}
  .hp .pg-wr .closer{padding:0 16px 36px}
  .hp .pg-product .row-head,.hp .pg-wr .row-head,.hp .pg-grants .row-head{padding-top:48px}
  .hp .pg-grants .gr-close .mark-wrap{padding-top:48px}
}
.hp #agency.closer{padding-bottom:64px}
@media (max-width:860px){.hp #agency.closer{padding-bottom:40px}}
.hp .pg-wr .sec-lg+.sec-lg{padding-top:0}
.hp .pg-wr .sec-lg+.sec-top{padding-top:0}
@media (min-width:861px){.hp .pg-hero-img.hero-narrow{width:54%}}
