:root{
  /* ===== OBRAS ONSITE LOCKED BRAND PALETTE — per MASTER_BLUEPRINT_v1, one standard =====
     Primary Orange  #ED7D1A  ·  Orange-dark #cf6a12
     Steel Silver    #C0C0C0  ·  Steel #828A91  ·  Silver-light #EEF1F5
     Background      #0F1115 (charcoal)  ·  Navy surfaces #0F2740 / #16385C
     RAG only: Green #2FA84F · Amber #FFC000 · Red #C0392B (status colours — NOT brand accents) */
  --dark:#0f1115; --navy:#0f2740; --navy2:#16385c;
  --gold:#ED7D1A; --gold-d:#cf6a12;   /* OBRAS ONSITE brand orange */
  --green:#2fa84f; --green-d:#1f7a39;
  --red:#c0392b;
  --ink:#1a1d21; --muted:#5a6470; --line:#e3e7ec; --bg:#f5f7fa; --card:#ffffff; --white:#fff;
  --silver:#C0C0C0; --steel:#828a91; --silver-l:#eef1f5;   /* OBRAS ONSITE steel silver per blueprint */
  --radius:14px; --shadow:0 2px 8px rgba(16,24,40,.06),0 8px 24px rgba(16,24,40,.06);
  --maxw:1160px;
}
*{box-sizing:border-box;margin:0;padding:0}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{font-family:'Segoe UI',Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:10px;padding:12px 20px;font-weight:700;font-size:15px;cursor:pointer;transition:.15s;font-family:inherit}
.btn-gold{background:var(--gold);color:#1a1400}
.btn-gold:hover{background:var(--gold-d)}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:var(--green-d)}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-sm{padding:9px 14px;font-size:14px;border-radius:9px}

/* header */
header.nav{position:sticky;top:0;z-index:50;background:var(--dark);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.nav .wrap{display:flex;align-items:center;gap:18px;height:90px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:64px;width:auto;display:block}
.brand-tag{display:none}

/* ===== Division architecture: icons, flagship treatment, QR-in-every-division (OBRAS authority) ===== */
.div-head{display:flex;align-items:flex-start;gap:18px}
.div-head>div:last-child{flex:1}
.div-icon{flex:0 0 auto;width:62px;height:62px;border-radius:15px;background:linear-gradient(135deg,var(--silver-l),#fff);border:1.5px solid var(--silver);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}
.div-icon svg{width:36px;height:36px;stroke:var(--gold);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.div-qr{margin-top:13px;display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:800;letter-spacing:.8px;color:var(--steel);text-transform:uppercase}
.div-qr b{color:var(--gold-d);font-size:15px;line-height:1}
.flagship-div{border-top:4px solid var(--gold)}
.div-flag-badge{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:#1a1400;font-weight:800;font-size:12.5px;letter-spacing:1.2px;text-transform:uppercase;padding:7px 16px;border-radius:999px;margin-bottom:16px;box-shadow:0 4px 14px rgba(237,125,26,.3)}
.flagship-div .div-icon{background:linear-gradient(135deg,var(--gold),var(--gold-d));border-color:var(--gold-d)}
.flagship-div .div-icon svg{stroke:#fff}
.adv-tag{display:inline-block;background:rgba(237,125,26,.14);color:var(--gold-d);border:1px solid rgba(237,125,26,.4);font-weight:800;font-size:12px;letter-spacing:.5px;text-transform:uppercase;padding:3px 11px;border-radius:999px;margin-left:12px;vertical-align:middle}
@media(max-width:760px){.div-head{flex-direction:column;gap:12px}}
.nav-links{display:flex;gap:24px;margin-left:auto}
.nav-links a{color:#cfd6de;font-weight:600;font-size:15px}
.nav-links a:hover{color:var(--gold)}
.cart-btn{position:relative;background:var(--navy2);color:#fff;border-radius:10px;padding:9px 15px;font-weight:700;cursor:pointer;border:0;font-family:inherit;font-size:14px}
.cart-btn .badge{position:absolute;top:-7px;right:-7px;background:var(--gold);color:#1a1400;border-radius:999px;min-width:20px;height:20px;font-size:12px;display:grid;place-items:center;padding:0 5px;font-weight:800}
/* anchor links clear the sticky header */
html{scroll-padding-top:96px}
/* back-to-top button (injected by nav.js) */
.btt{position:fixed;bottom:22px;right:20px;z-index:60;width:46px;height:46px;border-radius:50%;background:var(--gold);color:#1a1400;border:0;font-size:22px;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35);opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease}
.btt.show{opacity:1;pointer-events:auto;transform:none}
.btt:hover{background:var(--gold-d)}
@media(prefers-reduced-motion:reduce){.btt{transition:none}}
/* mobile hamburger nav (burger injected by nav.js) */
.nav-burger{display:none}
@media(max-width:760px){
  header.nav .nav-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:40px;background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:9px;cursor:pointer;padding:0;margin-left:auto;order:2;flex:0 0 auto}
  header.nav .nav-burger span{display:block;width:22px;height:2px;margin:0 auto;background:#fff;transition:transform .22s ease,opacity .2s ease;border-radius:2px}
  header.nav.nav-open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  header.nav.nav-open .nav-burger span:nth-child(2){opacity:0}
  header.nav.nav-open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  header.nav .wrap{flex-wrap:wrap;row-gap:0;height:auto;min-height:64px}
  header.nav .cart-btn,header.nav .wrap>.btn{order:3;margin-left:10px}
  header.nav .nav-links{order:4;width:100%;margin-left:0;display:none;flex-direction:column;gap:0;overflow:visible;white-space:normal;padding:4px 0 8px;border-top:1px solid rgba(255,255,255,.1);margin-top:8px;background:var(--dark)}
  header.nav.nav-open .nav-links{display:flex}
  header.nav .nav-links a{flex:0 0 auto;width:100%;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.07);white-space:normal}
}

/* hero */
.hero{background:radial-gradient(1200px 500px at 70% -10%,#1c426b 0%,var(--navy) 45%,var(--dark) 100%);color:#fff;padding:72px 0 64px}
/* hero gateway check — live product demo (G/A/R) */
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:46px;align-items:center}
.hero-copy{min-width:0}
.gw-card{background:#10151d;border:1px solid #283341;border-radius:14px;font-family:Consolas,'SF Mono',ui-monospace,monospace;box-shadow:0 18px 50px rgba(0,0,0,.35);overflow:hidden}
.gw-top{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid #283341}
.gw-tt{font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--silver)}
.gw-id{font-size:11px;color:#7c8794}
.gw-q{padding:17px 16px;font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;font-weight:800;font-size:24px;color:#fff;line-height:1.08;border-bottom:1px solid #283341}
.gw-rows{list-style:none;margin:0;padding:6px 0}
.gw-rows li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 16px;font-size:12.5px;color:#8a929e;border-bottom:1px dashed rgba(40,51,65,.6)}
.gw-rows li:last-child{border-bottom:0}
.gw-rows li>span:first-child{transition:color .3s}
.gw-st{font-size:10px;font-weight:700;letter-spacing:.8px;padding:3px 8px;border:1px solid #283341;color:#7c8794;min-width:84px;text-align:center;border-radius:4px;transition:all .3s}
.gw-rows li.ok>span:first-child{color:#eaf0f7}
.gw-rows li.ok .gw-st{color:var(--green);border-color:var(--green);background:rgba(47,168,79,.12)}
.gw-foot{display:flex;align-items:center;gap:12px;padding:15px 16px;border-top:1px solid #283341}
.gw-lamp{width:15px;height:15px;border-radius:50%;background:var(--red);box-shadow:0 0 12px rgba(192,57,43,.6);transition:all .45s;flex:0 0 auto}
.gw-lamp.amber{background:#ffc000;box-shadow:0 0 12px rgba(255,192,0,.5)}
.gw-lamp.green{background:var(--green);box-shadow:0 0 16px rgba(47,168,79,.65)}
.gw-verdict{font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;font-weight:800;font-size:18px;text-transform:uppercase;letter-spacing:.4px;color:var(--red);transition:color .45s}
.gw-verdict.amber{color:#ffc000}
.gw-verdict.green{color:var(--green)}
.gw-count{margin-left:auto;font-size:10px;color:#7c8794;letter-spacing:.6px;text-transform:uppercase}
.gw-cap{margin-top:14px;color:var(--silver);font-size:12.5px;text-align:center;opacity:.85}
@media(prefers-reduced-motion:reduce){.gw-lamp,.gw-verdict,.gw-st,.gw-rows li>span{transition:none}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:30px}.gw-cap{display:none}}
/* why-obras "written from the deck" statement */
.why-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.why-fact{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.why-fact:last-child{border-bottom:0}
.why-fact .wn{font-weight:800;font-size:32px;color:var(--gold);min-width:74px;line-height:1.1}
.why-fact .wt{color:var(--silver);font-size:15px;padding-top:6px;line-height:1.5}
.why-fact .wt b{color:#fff}
@media(max-width:860px){.why-grid{grid-template-columns:1fr;gap:30px}}
/* operating-layer thesis + impact numbers */
.layer4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;text-align:left}
.layer4 .lcell{background:#141a23;padding:22px 20px}
.layer4 .lcell.us{background:#1d1408;border-top:3px solid var(--gold)}
.layer4 .lname{font-family:Consolas,monospace;font-size:11px;letter-spacing:1px;color:var(--steel);text-transform:uppercase}
.layer4 .lcell.us .lname{color:var(--gold)}
.layer4 .ldoes{font-weight:800;font-size:19px;margin-top:6px;color:#fff}
.libnum{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;margin-top:8px}
.libnum .ln{background:#141a23;padding:22px 18px}
.libnum .ln b{display:block;font-weight:800;font-size:42px;color:var(--gold);line-height:1}
.libnum .ln span{font-family:Consolas,monospace;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--silver);margin-top:9px;display:block}
@media(max-width:760px){.layer4{grid-template-columns:1fr 1fr}.libnum{grid-template-columns:1fr 1fr}}
.hero h1{font-size:48px;line-height:1.08;letter-spacing:-.5px;max-width:720px}
.hero h1 .hl{color:var(--gold)}
.hero p.sub{font-size:19px;color:#c4cdd8;margin:18px 0 28px;max-width:600px}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.trustbar{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:34px;color:#aab6c4;font-size:14px;font-weight:600}
.trustbar span{display:flex;align-items:center;gap:8px}
.tick{color:var(--green);font-weight:900}

/* sections */
section{padding:58px 0}
.sec-head{text-align:center;max-width:640px;margin:0 auto 36px}
.sec-head .eyebrow{color:var(--gold-d);font-weight:800;letter-spacing:1.5px;text-transform:uppercase;font-size:13px}
.sec-head h2{font-size:34px;letter-spacing:-.5px;margin:6px 0 10px}
.sec-head p{color:var(--muted);font-size:17px}

/* product grid */
.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:center;margin-bottom:28px}
.toolbar input{flex:1;min-width:220px;max-width:360px;padding:12px 16px;border:1.5px solid var(--line);border-radius:10px;font-size:15px;font-family:inherit}
.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.chip{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:8px 16px;font-weight:700;font-size:14px;cursor:pointer;color:var(--muted)}
.chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:.15s}
.card:hover{transform:translateY(-5px);box-shadow:0 16px 38px rgba(16,24,40,.16);border-color:rgba(237,125,26,.55)}
/* premium hover - lift + gold glow across every card surface (command-centre feel) */
.pack-card,.lib-card,.who,.cos-disccard,.cos-outcard,.cs-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.pack-card:hover{transform:translateY(-5px);box-shadow:0 20px 46px rgba(0,0,0,.42),0 0 0 1px rgba(237,125,26,.6)}
.lib-card:hover,.who:hover,.cos-disccard:hover,.cos-outcard:hover,.cs-card:hover{transform:translateY(-5px);box-shadow:0 16px 38px rgba(16,24,40,.16);border-color:rgba(237,125,26,.55)}
@media(prefers-reduced-motion:reduce){.card,.pack-card,.lib-card,.who,.cos-disccard,.cos-outcard,.cs-card{transition:none}}
.card .badge-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.tag{font-size:11px;font-weight:800;letter-spacing:.5px;padding:4px 9px;border-radius:6px;text-transform:uppercase}
.tag.pack{background:var(--gold);color:#1a1400}
.tag.swms{background:#e8f0f9;color:var(--navy2)}
.tag.cat{background:#eef1f4;color:var(--muted)}
.card h3{font-size:18px;line-height:1.25;margin-bottom:6px}
.card .code{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.5px}
.card .desc{font-size:14px;color:var(--muted);margin:10px 0 16px;flex:1}
.card .price-row{display:flex;align-items:center;justify-content:space-between;margin-top:auto}
.price{font-size:24px;font-weight:800;color:var(--ink)}
.price small{font-size:13px;color:var(--muted);font-weight:600}

/* featured packs */
.featured{background:#fff}
.pack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.pack-card{position:relative;overflow:hidden;border-radius:var(--radius);background:linear-gradient(180deg,#16385c,#0f2740);color:#fff;padding:24px;box-shadow:var(--shadow)}
.pack-card .tag.pack{position:absolute;top:16px;right:16px}
.pack-card h3{font-size:20px;margin:4px 0 12px;max-width:80%}
.pack-card ul{list-style:none;margin:0 0 16px;font-size:13.5px;color:#cfd9e4}
.pack-card ul li{padding:3px 0 3px 22px;position:relative}
.pack-card ul li:before{content:"\2713";color:var(--gold);position:absolute;left:0;font-weight:900}
.pack-card .price{color:#fff}
.pack-card .price small{color:#9fb0c2}

/* bundles + membership */
.pack-card .bundle-badge{position:absolute;top:16px;right:16px;background:var(--green);color:#fff;font-size:11px;font-weight:800;letter-spacing:.5px;padding:5px 10px;border-radius:999px;text-transform:uppercase}
.membership{margin-top:22px;background:linear-gradient(90deg,#111418,#1c426b);color:#fff;border-radius:var(--radius);padding:26px 28px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:space-between;border:1px solid rgba(255,255,255,.1)}
.membership .m-info h3{font-size:22px;margin-bottom:6px}
.membership .m-info h3 .yr{color:var(--gold)}
.membership .m-info p{color:#c4cdd8;font-size:15px;max-width:560px}
.membership .m-buy{text-align:right;white-space:nowrap}
.membership .m-buy .price{color:#fff;font-size:30px;display:block;margin-bottom:8px}
.membership .m-buy .price small{color:#9fb0c2;font-size:14px}

/* how it works */
.how{background:var(--navy);color:#fff}
.how .sec-head h2{color:#fff}.how .sec-head .eyebrow{color:var(--gold)}.how .sec-head p{color:#b9c5d2}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}
.step{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:24px}
.step .n{width:42px;height:42px;border-radius:10px;background:var(--gold);color:#1a1400;font-weight:900;font-size:20px;display:grid;place-items:center;margin-bottom:14px}
.step h4{font-size:17px;margin-bottom:6px}.step p{color:#b9c5d2;font-size:14.5px}

/* co-brand band */
.coband{background:linear-gradient(120deg,#0c1830,#0a1424);color:#fff;border-top:3px solid var(--gold,#ED7D1A)}
.coband .wrap{display:flex;align-items:center;gap:30px;flex-wrap:wrap;justify-content:space-between}
.coband h2{font-size:28px;max-width:640px}
.coband p{color:#c7cdd6;margin-top:8px;max-width:620px}

/* AI brand-render framed showcase (promo-shot) */
.promo-shot{margin:0;display:block}
.promo-shot img{width:100%;display:block;border:1px solid rgba(255,255,255,.14);border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.5);transition:transform .3s ease,box-shadow .3s ease}
.promo-shot:hover img{transform:translateY(-5px);box-shadow:0 34px 78px rgba(0,0,0,.62);border-color:rgba(237,125,26,.5)}
.promo-shot figcaption{margin-top:13px;color:var(--silver,#aab2bd);font-size:13px;letter-spacing:.3px;line-height:1.5}
@media(prefers-reduced-motion:reduce){.promo-shot img{transition:none}.promo-shot:hover img{transform:none}}

/* faq */
.faq-item{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.faq-item summary{padding:18px 20px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:"+";color:var(--green-d);font-size:22px;font-weight:800}
.faq-item[open] summary:after{content:"\2013"}
.faq-item p{padding:0 20px 18px;color:var(--muted)}

/* footer */
footer{background:var(--dark);color:#aab6c4;padding:48px 0 30px}
footer .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px;margin-bottom:28px}
footer img{height:42px;margin-bottom:12px}
footer h5{color:#fff;font-size:14px;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px}
footer a{display:block;color:#aab6c4;padding:4px 0;font-size:14px}
footer a:hover{color:var(--gold)}
.disclaimer{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;font-size:12.5px;color:#7e8a98;line-height:1.6}

/* showcase carousel */
.carousel{position:relative;max-width:var(--maxw);margin:0 auto;padding:28px 22px 0}
.slides{position:relative;height:230px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .6s;display:flex;align-items:center;gap:28px;padding:34px 40px;color:#fff}
.slide.on{opacity:1}
.slide .s-txt{flex:1}
.slide .s-eyebrow{color:var(--gold);font-weight:800;letter-spacing:1.5px;text-transform:uppercase;font-size:12px}
.slide h3{font-size:30px;line-height:1.1;margin:6px 0 8px;letter-spacing:-.5px}
.slide p{color:rgba(255,255,255,.85);font-size:15px;max-width:460px;margin-bottom:14px}
.slide .s-count{font-size:13px;color:rgba(255,255,255,.7);margin-top:8px}
.dots{display:flex;gap:8px;justify-content:center;margin-top:14px}
.dots b{width:9px;height:9px;border-radius:999px;background:#cdd5de;cursor:pointer;transition:.2s}
.dots b.on{background:var(--navy);width:24px}
.car-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.9);border:0;width:38px;height:38px;border-radius:999px;font-size:20px;cursor:pointer;z-index:2;color:var(--navy);font-weight:800;box-shadow:var(--shadow)}
.car-btn.prev{left:30px}.car-btn.next{right:30px}
@media(max-width:760px){
  .carousel{padding:18px 10px 0}
  .slides{height:auto;min-height:190px}
  .slide{position:relative;opacity:1;display:none;flex-direction:column;align-items:flex-start;gap:12px;padding:22px 18px}
  .slide.on{display:flex}
  .slide h3{font-size:21px}
  .slide p{font-size:14px;max-width:none}
  .car-btn{display:none}
  .nav-links a{padding:10px 4px;display:inline-flex;align-items:center}
}

/* card cover (real document page image) */
.card .cover{height:175px;border-radius:10px;margin:-4px 0 14px;position:relative;overflow:hidden;cursor:pointer;background:#eef1f4;border:1px solid var(--line)}
.card .cover .cov-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;background:#fff}
.card .cover .ct{position:absolute;top:10px;left:10px;background:rgba(17,20,24,.85);color:#fff;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:4px 8px;border-radius:6px;z-index:2}
.card .cover.swms .ct{background:rgba(31,122,57,.92)}
.card .cover.pack .ct{background:rgba(224,168,0,.96);color:#1a1400}
.card .cover.system .ct{background:rgba(58,47,107,.92)}
.card .cover .pv{position:absolute;top:10px;right:10px;background:rgba(17,20,24,.72);color:#fff;font-size:11px;font-weight:800;padding:4px 9px;border-radius:6px;z-index:2}
.card .cover:hover .pv{background:var(--gold);color:#1a1400}
.card-btns{display:flex;gap:8px}
.card-btns .btn{flex:1;justify-content:center}
.btn-outline{background:transparent;border:1.5px solid var(--line);color:var(--navy)}
.btn-outline:hover{border-color:var(--navy)}

/* preview modal */
.pmodal{position:fixed;inset:0;z-index:200;background:rgba(8,12,18,.8);display:none;flex-direction:column;padding:18px}
.pmodal.show{display:flex}
.pm-head{display:flex;align-items:center;gap:14px;color:#fff;padding:6px 4px 12px}
.pm-head h3{font-size:17px;flex:1}
.pm-head .x{background:none;border:0;color:#fff;font-size:30px;cursor:pointer;line-height:1}
.pm-frame{flex:1;background:#525659;border-radius:10px;overflow:auto;padding:16px}
.pm-frame .pm-page{display:block;max-width:880px;width:100%;margin:0 auto 16px;box-shadow:0 4px 20px rgba(0,0,0,.45);background:#fff}
.pm-frame .pm-note{color:#cfd6de;font-size:13px;text-align:center;padding:6px 0 14px}
.pm-foot{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding:12px 4px 2px}
.pm-foot .pm-price{color:#fff;font-size:22px;font-weight:800;margin-right:auto}

/* pack detail page */
.packpage{position:fixed;inset:0;z-index:150;background:var(--bg);overflow:auto;display:none}
.packpage.show{display:block}
.pp-bar{position:sticky;top:0;z-index:2;background:var(--dark);color:#fff;display:flex;align-items:center;gap:16px;padding:14px 22px}
.pp-bar .back{background:var(--navy2);color:#fff;border:0;border-radius:9px;padding:9px 16px;font-weight:700;cursor:pointer;font-family:inherit;font-size:14px}
.pp-bar .pp-t{font-weight:800;font-size:16px;flex:1}
.pp-hero{background:linear-gradient(135deg,#16385c,#0f2740);color:#fff;padding:34px 22px}
.pp-hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:30px;align-items:start}
.pp-hero .eyebrow{color:var(--gold);font-weight:800;letter-spacing:1.5px;text-transform:uppercase;font-size:12px}
.pp-hero h2{font-size:32px;margin:6px 0 8px}
.pp-hero p{color:#c4cdd8;max-width:560px}
.pp-hero .pp-buy{text-align:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);border-radius:14px;padding:18px 18px 20px}
.pp-hero .pp-buy .price{font-size:34px;font-weight:800;display:block;margin-bottom:10px}
.pp-docs{max-width:var(--maxw);margin:0 auto;padding:34px 22px}
.pp-docs h3{font-size:20px;margin-bottom:6px}
.pp-docs .sub{color:var(--muted);margin-bottom:22px}
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.doc-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:.15s}
.doc-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(16,24,40,.12)}
.doc-card .dthumb{height:155px;background:#eef1f4;position:relative;overflow:hidden}
.doc-card .dthumb .dimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;background:#fff}
.doc-card .dthumb .pv{position:absolute;top:8px;right:8px;background:rgba(17,20,24,.72);color:#fff;font-size:10px;font-weight:800;padding:3px 8px;border-radius:6px;z-index:2}
.doc-card:hover .dthumb .pv{background:var(--gold);color:#1a1400}
.doc-card .dthumb .dn{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(17,20,24,.88));color:#fff;font-weight:700;font-size:12.5px;line-height:1.25;padding:20px 12px 10px;z-index:2}
.doc-card .dmeta{padding:12px 14px;font-size:12px;color:var(--muted);font-weight:700;display:flex;justify-content:space-between;align-items:center}
.doc-card .dmeta .view{color:var(--green-d)}

/* testimonials */
.testi{background:#fff}
.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.tcard{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.tcard .stars{color:var(--gold);font-size:16px;letter-spacing:2px;margin-bottom:10px}
.tcard p{font-style:italic;color:var(--ink);margin-bottom:14px}
.tcard .who{font-weight:800;font-size:14px}
.tcard .who span{color:var(--muted);font-weight:600}

/* cart drawer */
.overlay{position:fixed;inset:0;background:rgba(8,12,18,.55);opacity:0;pointer-events:none;transition:.2s;z-index:90}
.overlay.show{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:-440px;width:420px;max-width:92vw;height:100%;background:#fff;z-index:100;transition:.25s;display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,.2)}
.drawer.show{right:0}
.drawer .dhead{padding:20px;background:var(--dark);color:#fff;display:flex;justify-content:space-between;align-items:center}
.drawer .dhead h3{font-size:18px}
.drawer .close{background:none;border:0;color:#fff;font-size:26px;cursor:pointer;line-height:1}
.drawer .items{flex:1;overflow:auto;padding:14px 20px}
.ci{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}
.ci .ci-main{flex:1}
.ci h4{font-size:14.5px;margin-bottom:3px}
.ci .ci-code{font-size:12px;color:var(--muted)}
.ci .ci-price{font-weight:800;white-space:nowrap}
.ci .rm{background:none;border:0;color:var(--red);cursor:pointer;font-size:12px;font-weight:700;padding:4px 0}
.empty{color:var(--muted);text-align:center;padding:40px 10px}
.dfoot{padding:20px;border-top:1px solid var(--line)}
.totrow{display:flex;justify-content:space-between;font-size:20px;font-weight:800;margin-bottom:14px}
.dfoot .btn{width:100%;justify-content:center}
.note{font-size:12px;color:var(--muted);margin-top:10px;text-align:center}

/* Training & RTO unit cards */
.rto-unit{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:13px 16px;display:flex;flex-direction:column;gap:3px;box-shadow:var(--shadow)}
.rto-unit strong{font-size:15px;color:var(--ink);letter-spacing:.4px}
.rto-unit span{font-size:13.5px;color:var(--muted)}
.rto-unit em{color:var(--gold-d);font-style:normal;font-weight:700}
/* VOC category */
.tag.voc{background:var(--navy2);color:#fff}
.cover.voc{background:linear-gradient(135deg,#16385c,#0f2740)}

@media(max-width:760px){
  .hero h1{font-size:34px}.brand img{height:50px}.nav .wrap{height:64px;flex-wrap:nowrap;padding-top:8px;padding-bottom:8px;gap:10px}.nav-links{order:3;width:100%;margin-left:0;gap:18px;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px}.nav-links a{flex:0 0 auto}.cart-btn{margin-left:auto}
  footer .cols{grid-template-columns:1fr}
  .sec-head h2{font-size:26px}
}

/* ---- platform sections (2026-05-30) ---- */
.sec-sub{font-size:15px;color:var(--muted);margin-top:4px}
.whois-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
.who{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.who h4{margin:0 0 6px;font-size:18px;color:var(--navy)}
.who p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.why{background:var(--navy);color:#fff}
.why .sec-head h2{color:#fff}
.why .sec-head .eyebrow{color:var(--gold)}
.why-lead{max-width:880px;margin:0 auto;text-align:center;color:#d5dee8;font-size:19px;line-height:1.65}
.leadgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.lead-card{position:relative;overflow:hidden;border-radius:var(--radius);background:linear-gradient(180deg,#16385c,#0f2740);color:#fff;padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.lead-card .lc-tier{color:var(--gold);font-weight:800;letter-spacing:1.5px;text-transform:uppercase;font-size:12px}
.lead-card h3{margin:6px 0 4px;font-size:21px}
.lead-card .lc-q{color:#aebccd;font-size:13px;font-style:italic;margin:0 0 12px}
.lead-card .lc-list{list-style:none;padding:0;margin:0 0 16px;flex:1}
.lead-card .lc-list li{position:relative;padding-left:20px;margin:5px 0;font-size:13px;color:#dbe5ef}
.lead-card .lc-list li:before{content:"\2713";color:var(--gold);position:absolute;left:0;font-weight:900}
.lead-card .lc-price{font-size:26px;font-weight:800;margin-bottom:12px}
.lead-card.feature{outline:2px solid var(--gold)}
@media(max-width:980px){.leadgrid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.whois-grid{grid-template-columns:1fr 1fr}.leadgrid{grid-template-columns:1fr}}
/* ---- category landing tiles (2026-05-31) ---- */
.cat-tiles-lab{font-weight:800;color:var(--navy);font-size:13px;text-transform:uppercase;letter-spacing:1px;margin:0 0 10px}
.cat-tiles{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}
.cat-tile{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-weight:700;font-size:14px;color:var(--navy);cursor:pointer;font-family:inherit;transition:.15s;box-shadow:var(--shadow)}
.cat-tile:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
/* ---- document control stamp (2026-05-31) ---- */
.docctrl{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0 8px;font-size:11px}
.dc-code{font-family:Consolas,"Courier New",monospace;font-weight:800;color:var(--navy);background:#eef3f8;border:1px solid var(--line);border-radius:5px;padding:2px 7px;letter-spacing:.3px}
.dc-meta{color:var(--muted);font-weight:600;letter-spacing:.2px}

/* ---- Buy by state / library ---- */
.state-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:center;margin:0 0 26px}
.state-bar-lbl{font-weight:800;color:var(--navy);font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-right:6px}
.state-chip{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-weight:800;font-size:14px;color:var(--navy);cursor:pointer;font-family:inherit;transition:.15s;box-shadow:var(--shadow)}
.state-chip:hover{background:#eef3f8}
.state-chip.active{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.lib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lib-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.lib-card.state{border-top:4px solid var(--gold)}
.lib-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.lib-scope{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:3px 9px;border-radius:5px}
.lib-scope.st{background:var(--gold);color:var(--navy)}
.lib-scope.nat{background:#eef3f8;color:var(--navy);border:1px solid var(--line)}
.lib-badge{font-size:11px;font-weight:700;color:var(--muted)}
.lib-card h3{margin:0 0 2px;font-size:20px;color:var(--navy)}
.lib-count{font-size:12px;font-weight:800;color:var(--green);letter-spacing:.3px;margin-bottom:8px}
.lib-tag{color:var(--muted);font-size:14px;margin:0 0 12px;line-height:1.5}
.lib-out{list-style:none;padding:0;margin:0 0 16px;flex:1}
.lib-out li{position:relative;padding-left:20px;margin:6px 0;font-size:13px;color:var(--ink)}
.lib-out li:before{content:"\2713";color:var(--green);position:absolute;left:0;font-weight:900}
.lib-price{font-size:26px;font-weight:800;color:var(--navy);margin-bottom:12px}
.enterprise{margin-top:24px;display:grid;grid-template-columns:1.6fr 1fr;gap:24px;align-items:center;background:linear-gradient(135deg,#16385c,#0f2740);color:#fff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.ent-eyebrow{color:var(--gold);font-weight:800;letter-spacing:1.5px;text-transform:uppercase;font-size:12px}
.enterprise h3{margin:6px 0 4px;font-size:24px}
.ent-tag{color:#fff;font-weight:700;font-size:16px;margin:0 0 8px}
.ent-desc{color:#cfd9e4;font-size:14px;line-height:1.6;margin:0 0 12px}
.ent-out{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
.ent-out li{position:relative;padding-left:20px;font-size:13px;color:#dbe5ef}
.ent-out li:before{content:"\2713";color:var(--gold);position:absolute;left:0;font-weight:900}
.ent-cta{text-align:center}
@media(max-width:760px){.lib-grid{grid-template-columns:1fr}.enterprise{grid-template-columns:1fr}.ent-out{grid-template-columns:1fr}#kitForm{grid-template-columns:1fr!important}#kitForm>*{min-width:0;max-width:100%}}

/* ---- RRP / Launch / Save price display (site-wide) ---- */
.price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}
.rrp{color:var(--muted);text-decoration:line-through;font-size:15px;font-weight:600}
.save{background:rgba(237,125,26,.13);color:var(--gold-d);font-weight:800;font-size:12px;padding:3px 8px;border-radius:999px;border:1px solid rgba(237,125,26,.35);white-space:nowrap}
/* ---- Flagship hero cards ---- */
.flagship-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.flag-card{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,#16385c,#0f2740);color:#fff;border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);overflow:hidden}
.flag-card.hero{outline:2px solid var(--gold)}
.flag-badge{align-self:flex-start;background:var(--gold);color:var(--navy);font-weight:800;font-size:11px;letter-spacing:.5px;text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-bottom:10px}
.flag-card h3{margin:0 0 8px;font-size:19px;line-height:1.2;color:#fff}
.flag-desc{color:#cfd9e4;font-size:13px;line-height:1.55;margin:0 0 14px}
.flag-incl{list-style:none;padding:0;margin:0 0 14px}
.flag-incl li{position:relative;padding-left:22px;margin:7px 0;font-size:13px;color:#eaf1f8;line-height:1.4}
.flag-incl li:before{content:"\2713";position:absolute;left:0;color:var(--gold);font-weight:900}
.flag-price{margin-top:auto;margin-bottom:14px;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}
.flag-price .price{color:#fff;font-size:24px;font-weight:800}
.flag-price .rrp{color:#9fb0c2}
.flag-price .save{background:rgba(255,192,0,.15);color:var(--gold);border-color:transparent}
@media(max-width:980px){.flagship-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.flagship-grid{grid-template-columns:1fr}}

/* ---- High-Rise Structural division ---- */
.hr-flag{background:linear-gradient(135deg,#1c426b,#0a1f38);color:#fff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);outline:2px solid var(--gold)}
.hr-flag h3{color:#fff;font-size:25px;margin:8px 0 6px}
.hr-flag p{color:#cfddec;font-size:14px;line-height:1.6;margin:0 0 14px;max-width:780px}
.hr-flag .flag-price{margin-bottom:14px}
.hr-flag .flag-price .price{color:#fff;font-size:26px;font-weight:800}
.hr-flag .flag-price .rrp{color:#b9b2d8}
.hr-flag .flag-price .save{background:rgba(255,192,0,.15);color:var(--gold);border-color:transparent}
.hr-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.hr-badge{background:var(--gold);color:var(--navy);font-weight:800;font-size:11px;letter-spacing:.4px;text-transform:uppercase;padding:4px 10px;border-radius:999px}

/* ---- Trust assurances (operating-system feel) ---- */
.trust-bar{background:var(--navy);color:#fff}
.trust-bar .wrap{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:center;padding:14px 24px}
.trust-bar span{font-size:13px;font-weight:700;color:#fff;white-space:nowrap}
.trust-bar span b{color:var(--gold);margin-right:5px}
.trust-row{display:flex;flex-wrap:wrap;gap:6px 16px;margin:12px 0 4px}
.trust{font-size:12.5px;font-weight:700;color:var(--navy);white-space:nowrap}
.trust b{color:var(--green);margin-right:3px}
#ppHero .trust{color:#cfd9e4}
#ppHero .trust b{color:var(--gold)}
/* ---- Product imagery (construction photos with graceful fallback) ---- */
.card-photo{width:100%;height:150px;object-fit:cover;border-radius:10px;margin:0 0 14px;display:block;background:#eef3f8}
.pm-note + .trust-row{justify-content:center;margin-bottom:10px}
/* ---- System card status-board header (command-centre widget look) ---- */
.sysboard{background:linear-gradient(135deg,#16385c,#0f2740);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:11px 13px;margin:0 0 14px}
.sysboard-top{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.sb-live{width:9px;height:9px;border-radius:50%;background:#28c76f;flex:none;box-shadow:0 0 0 3px rgba(40,199,111,.18)}
.sb-name{flex:1;min-width:0;font-size:11.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#dbe5ef;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-tag{flex:none;font-size:9px;font-weight:800;letter-spacing:1px;color:#9fb0c2;border:1px solid rgba(255,255,255,.22);border-radius:4px;padding:2px 6px}
.sysboard-rag{display:flex;gap:6px}
.sb-cell{flex:1;text-align:center;font-size:9.5px;font-weight:800;letter-spacing:.5px;padding:5px 0;border-radius:5px;color:#0f2740}
.sb-cell.g{background:#28c76f}
.sb-cell.a{background:#ffc000}
.sb-cell.r{background:#ea5455;color:#fff}
/* ---- Command centre: five-pillar overview ---- */
.command{background:var(--navy);color:#fff}
.command .sec-head h2{color:#fff}
.command .sec-head .eyebrow{color:var(--gold)}
.command .sec-head .sec-sub{color:#aebccd}
.pillar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.pillar-tile{display:flex;flex-direction:column;background:linear-gradient(180deg,#16385c,#0f2740);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:18px;text-decoration:none;transition:.15s}
.pillar-tile:hover{border-color:var(--gold);transform:translateY(-3px)}
.pillar-tile.feature{outline:2px solid var(--gold)}
.pt-k{color:var(--gold);font-weight:800;font-size:13.5px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:6px;line-height:1.2}
.pt-q{color:#fff;font-style:italic;font-size:13px;margin:0 0 10px;line-height:1.4}
.pt-in{color:#aebccd;font-size:12px;line-height:1.55;flex:1;margin-bottom:12px}
.pt-go{color:var(--gold);font-weight:800;font-size:12px}
@media(max-width:980px){.pillar-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pillar-grid{grid-template-columns:1fr}}

/* clickable product-card hint + detail "what's included" block */
.lib-pv{color:var(--gold);font-size:12px;font-weight:800;margin:2px 0 12px;letter-spacing:.2px}
.pp-incl{grid-column:1/-1;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow)}
.pp-incl h3{margin:0 0 12px;color:var(--navy);font-size:18px}
.pp-incl ul{list-style:none;padding:0;margin:0 0 14px;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}
.pp-incl li{position:relative;padding-left:22px;font-size:14px;color:var(--ink)}
.pp-incl li:before{content:"\2713";color:var(--green);position:absolute;left:0;font-weight:900}
.pp-incl .pp-note{color:var(--muted);font-size:13px;margin:0}
.pp-qr{margin-top:14px;background:#fff7e6;border:1px solid #f5d98a;border-left:4px solid var(--gold);border-radius:10px;padding:11px 14px;font-size:13px;color:var(--ink);line-height:1.5}
.pp-qr b{color:var(--navy)}
.pp-qr a{color:var(--navy);font-weight:800;text-decoration:underline}
@media(max-width:640px){.pp-incl ul{grid-template-columns:1fr}}
/* ---- Four-level operating system: command boards on the system page ---- */
.sys-intro{grid-column:1/-1;background:var(--navy);color:#fff;border-radius:12px;padding:14px 18px;margin-bottom:4px;font-size:14px;line-height:1.5}
.sys-intro b{color:var(--gold)}
.sys-board{display:inline-block;background:var(--gold);color:var(--navy);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:3px 10px;border-radius:999px;margin-right:10px}
.sys-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sys-bc{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow)}
.sys-bc.l1{border-top-color:var(--gold)}
.sys-bc.l2{border-top-color:var(--navy)}
.sys-bc.l3{border-top-color:var(--green)}
.sys-bc.l4{border-top-color:var(--gold)}
.sbc-h{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--navy);font-size:15px;margin-bottom:10px}
.sbc-n{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;font-weight:800;flex:none}
.sys-bc ul{list-style:none;padding:0;margin:0}
.sys-bc li{position:relative;padding-left:16px;margin:7px 0;font-size:13px;color:var(--ink);line-height:1.45}
.sys-bc li:before{content:"\2013";position:absolute;left:0;color:var(--muted)}
@media(max-width:980px){.sys-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sys-grid{grid-template-columns:1fr}}
/* Live Demo nav button */
.nav-links a.nav-demo{background:var(--gold);color:#1a1400;padding:7px 13px;border-radius:8px;font-weight:800;line-height:1}
.nav-links a.nav-demo:hover{background:var(--gold-d);color:#1a1400}

/* Operating System Demo callout (pack page + preview modal) */
.pp-demo{margin-top:12px;background:#eef4fb;border:1px solid #c7d8ea;border-left:4px solid var(--navy);border-radius:10px;padding:11px 14px;font-size:13.5px;color:var(--ink);line-height:1.5}
.pp-demo b{color:var(--navy)}
.pp-demo a{color:var(--navy);font-weight:800;text-decoration:underline}

/* mobile table scroll */
@media(max-width:620px){.gw-act,.v-hist,.cmp{display:block;width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}

/* ====================================================================
   M4 - CONSISTENT, HIGH-CONTRAST PRICING (2026-06-04)
   One pricing standard site-wide:
     - Current price  = Obras Onsite Gold  (instantly visible on dark cards)
     - RRP / old price = light grey, strikethrough
     - Monthly / "per" = light grey
     - CTA             = gold button (.btn-gold, already standard)
   Light catalogue cards keep their dark price (already high-contrast on white).
   These rules sit last so they win the cascade; selectors match existing
   specificity so no !important is needed. ==================================*/
.flag-price{color:var(--gold);font-size:28px;font-weight:800;line-height:1.15}  /* flagship plain-text number -> gold, headline size */
.flag-price .price{color:var(--gold)}
.hr-flag .flag-price .price{color:var(--gold)}
.flag-card .flag-price .price{color:var(--gold)}
.pack-card .price{color:var(--gold)}
.membership .m-buy .price{color:var(--gold)}
.pp-hero .pp-buy .price{color:var(--gold)}
.lead-card .lc-price{color:var(--gold)}
/* RRP / old price -> light grey strikethrough on dark cards */
.flag-price .rrp{color:#cbd5e1}
.hr-flag .flag-price .rrp{color:#cbd5e1}
.pack-card .rrp{color:#cbd5e1}
.pp-hero .pp-buy .rrp{color:#cbd5e1}
.membership .m-buy .rrp{color:#cbd5e1}
/* monthly / per-unit small text -> light grey on dark cards */
.flag-price small,.flag-price .per{color:#dbe5ef}
.pack-card .price small{color:#dbe5ef}
.membership .m-buy .price small{color:#dbe5ef}
.pp-hero .pp-buy .price small{color:#dbe5ef}
/* mobile: stop stray horizontal scroll without breaking the sticky nav */
html,body{overflow-x:clip}

@media(max-width:860px){.pp-hero .wrap{grid-template-columns:1fr}}
/* ---- product preview gallery (visual proof strip) ---- */
.pp-gallery{background:#0f2740;border-radius:14px;padding:18px 18px 14px;margin:0 0 22px}
.pp-gallery .ppg-head{color:#fff;font-weight:800;font-size:15px;margin-bottom:12px}
.ppg-strip{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:8px}
.ppg-item{flex:0 0 auto;width:168px;scroll-snap-align:start;cursor:pointer;background:#fff;border-radius:10px;padding:7px 7px 9px;box-shadow:0 6px 16px rgba(0,0,0,.28);transition:transform .15s}
.ppg-item:hover{transform:translateY(-3px)}
.ppg-item img{width:100%;height:118px;object-fit:cover;object-position:top;border-radius:6px;border:1px solid #e4e9ee;display:block;background:#fff}
.ppg-item span{display:block;font-size:11px;font-weight:700;color:#0f2740;margin-top:7px;line-height:1.3;max-height:29px;overflow:hidden}
/* ---- product proof band ---- */
.pp-proof{background:linear-gradient(135deg,#16385c,#0f2740);border-radius:14px;padding:22px;margin:26px 0 6px;color:#fff}
.pp-proof .ppf2-head{font-weight:800;font-size:17px;margin-bottom:14px}
.ppf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.ppf-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px;text-decoration:none;color:#fff;display:block;transition:border-color .2s}
.ppf-card:hover{border-color:var(--gold)}
.ppf-card img{width:100%;height:150px;object-fit:cover;object-position:top;border-radius:8px;display:block;background:#fff;margin-bottom:10px}
.ppf-card b{display:block;font-size:14.5px;margin-bottom:4px}
.ppf-card span{color:#b9c6d3;font-size:12.5px;line-height:1.5}
@media(max-width:640px){.ppg-item{width:138px}.ppg-item img{height:98px}}
.pp-proof{grid-column:1/-1}.pp-gallery{grid-column:1/-1}.pp-incl{grid-column:1/-1}