/* Booster Robotics — shared stylesheet (v3: clearer product-led layout) */
:root{
  --purple:#5b2ee5; --purple-dark:#3b1a9e; --blue:#2e7de9; --ink:#14161f; --muted:#5a6072;
  --bg:#ffffff; --bg-soft:#f5f4fb; --line:#e5e3f2; --grad:linear-gradient(92deg,#6a2ff2 0%,#2e7de9 100%);
  --radius:14px; --max:1200px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Segoe UI",Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;font-size:16px}
img{max-width:100%;display:block}
a{color:var(--purple);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
h1{font-size:2.4rem;line-height:1.2;font-weight:800}
h2{font-size:1.9rem;line-height:1.25;font-weight:800;margin-bottom:14px}
h3{font-size:1.15rem;font-weight:700;margin-bottom:8px}
p{margin-bottom:14px;color:#2b2f3d}
.muted{color:var(--muted)}
.small{font-size:.85rem}
.section{padding:64px 0}
.section.soft{background:var(--bg-soft)}
.eyebrow{display:inline-block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--purple);font-weight:700;margin-bottom:10px}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
/* buttons */
.btn{display:inline-block;padding:12px 26px;border-radius:999px;font-weight:700;font-size:.95rem;border:2px solid transparent;transition:.2s}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--grad);color:#fff}
.btn-outline{border-color:var(--purple);color:var(--purple);background:#fff}
.btn-white{background:#fff;color:var(--purple-dark)}
.btn-ghostw{border-color:#fff;color:#fff;background:transparent}
/* header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.header-in{display:flex;align-items:center;gap:26px;height:72px}
.logo img{height:42px;width:auto}
.main-nav{margin-left:auto}
.main-nav>ul{display:flex;gap:4px;list-style:none;align-items:center}
.main-nav li{position:relative}
.main-nav a{color:var(--ink);font-weight:600;font-size:.93rem;padding:10px 9px;display:block;border-radius:8px;white-space:nowrap}
.main-nav a:hover{background:var(--bg-soft);text-decoration:none}
.has-drop>ul{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px rgba(30,20,80,.14);min-width:280px;padding:8px;list-style:none}
.has-drop:hover>ul{display:block}
.has-drop>ul a{font-weight:500;font-size:.9rem}
.header-cta{margin-left:8px;white-space:nowrap}
.nav-toggle{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--ink)}
/* hero & banners */
.hero{background:var(--grad);color:#fff;padding:70px 0 60px;position:relative;overflow:hidden}
.hero h1{color:#fff;max-width:760px}
.hero p{color:#e9e6ff;max-width:640px;font-size:1.08rem}
.hero .btn{margin-right:10px;margin-top:8px}
.hero-img{border-radius:var(--radius);overflow:hidden;margin-top:34px;box-shadow:0 24px 60px rgba(20,10,60,.35)}
.hero-img img{width:100%;height:440px;object-fit:cover}
.banner{position:relative;height:400px;max-height:46vw;overflow:hidden;background:var(--grad)}
.banner img{width:100%;height:100%;object-fit:cover}
.banner .banner-cap{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:0 0 34px;background:linear-gradient(180deg,rgba(12,8,34,.10) 0%,rgba(12,8,34,.34) 38%,rgba(12,8,34,.88) 100%)}
.banner .banner-cap h1,.banner .banner-cap p{color:#fff}
.banner .banner-cap h1{text-shadow:0 2px 18px rgba(0,0,0,.55)}
.banner .banner-cap p{text-shadow:0 1px 10px rgba(0,0,0,.5)}
.banner-grad{display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;text-align:center}
.banner-grad h1{color:#fff;padding:0 20px}
.banner-grad p{color:#e9e6ff;font-size:1.02rem;max-width:620px;padding:0 20px;margin:0}
.banner2{margin:0 0 8px}
.banner2 img{width:100%;height:300px;max-height:38vw;object-fit:cover;border-radius:0}
/* breadcrumb */
.breadcrumb{background:var(--bg-soft);border-bottom:1px solid var(--line);padding:10px 0;font-size:.86rem;color:var(--muted)}
.breadcrumb a{color:var(--muted)}
.breadcrumb span{margin:0 6px}
/* stats */
.stats-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:26px}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 14px;text-align:center}
.stat b{display:block;font-size:1.7rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{font-size:.85rem;color:var(--muted)}
.hero .stat{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25)}
.hero .stat b{color:#fff;background:none;-webkit-text-fill-color:#fff}
.hero .stat span{color:#e9e6ff}
/* ticks */
.ticks{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;margin:18px 0}
.ticks li{padding-left:30px;position:relative;font-weight:600}
.ticks li::before{content:"✓";position:absolute;left:0;top:0;width:21px;height:21px;border-radius:50%;background:var(--grad);color:#fff;font-size:.75rem;display:flex;align-items:center;justify-content:center}
/* cards & grids */
.grid{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.card img{width:100%;height:210px;object-fit:cover}
.card .card-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .card-body p{color:var(--muted);font-size:.94rem;flex:1}
.card .num{font-size:.8rem;font-weight:800;letter-spacing:.12em;color:var(--purple)}
.card-link{font-weight:700}
.family-card{padding:26px}
.family-card .num{font-size:2rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
/* brand strip */
.brands{display:flex;flex-wrap:wrap;gap:14px 34px;justify-content:center;align-items:center;padding:26px 0}
.brands span{font-weight:800;font-size:1.05rem;color:#9a97ad;letter-spacing:.02em;white-space:nowrap}
/* spec table */
.spec-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.spec-table th,.spec-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:.95rem;vertical-align:top}
.spec-table th{width:32%;background:var(--bg-soft);font-weight:700}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:0}
.tbc{color:#b07d10;font-weight:600}
/* faq */
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;margin-bottom:12px}
.faq-item h3{margin-bottom:6px}
.faq-item p{margin:0;color:var(--muted)}
/* placeholder blocks */
.ph-box{border:2px dashed #c9c4e8;border-radius:var(--radius);padding:22px;text-align:center;color:#8b87a3;background:#fbfaff;font-size:.9rem}
.ph-box b{display:block;color:#6d6890;margin-bottom:4px;font-size:.95rem}
/* cta band */
.cta-band{background:var(--grad);border-radius:20px;padding:44px 40px;color:#fff;text-align:center}
.cta-band h2{color:#fff;text-shadow:0 2px 14px rgba(20,8,60,.28)}
.cta-band p{color:#fff;max-width:720px;margin:0 auto 22px;font-size:1.02rem;font-weight:500;line-height:1.7;text-shadow:0 1px 8px rgba(20,8,60,.30)}
.cta-band p a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.cta-band p a:hover{color:#ffe27a}
/* forms */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid .full{grid-column:1/-1}
label{font-weight:600;font-size:.9rem;display:block;margin-bottom:6px}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}
textarea{min-height:130px;resize:vertical}
/* news */
.news-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:26px}
.filter-tabs{display:flex;flex-wrap:wrap;gap:8px}
.filter-tabs button{padding:8px 18px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:600;cursor:pointer;font-size:.9rem}
.filter-tabs button.active{background:var(--grad);color:#fff;border-color:transparent}
.news-search{margin-left:auto}
.news-search input{width:250px}
.tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#efeafd;color:var(--purple-dark)}
.pinned{outline:2px solid var(--purple)}
.article-body{max-width:820px}
.article-body h2{margin-top:30px}
.article-meta{color:var(--muted);font-size:.9rem;margin-bottom:18px}
/* footer */
.site-footer{background:#12101f;color:#cfcbe8;margin-top:0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:34px;padding:56px 0 30px}
.site-footer h4{color:#fff;margin-bottom:14px;font-size:1rem}
.site-footer a{color:#cfcbe8;font-size:.92rem}
.site-footer ul{list-style:none}
.site-footer li{margin-bottom:8px}
.site-footer .ph-box{background:rgba(255,255,255,.04);border-color:#3d3866;color:#8f8bb0}
.site-footer .ph-box b{color:#b9b4d9}
.footer-bottom{border-top:1px solid #2a2745;padding:18px 0;font-size:.85rem;color:#8f8bb0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer-logo img{height:40px;width:auto;margin-bottom:14px}
/* misc */
.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.list-clean{list-style:none}
.list-clean li{padding:9px 0;border-bottom:1px solid var(--line)}
.list-clean li:last-child{border-bottom:0}
.compare-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line)}
.compare-table th,.compare-table td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:.94rem}
.compare-table thead th{background:var(--purple-dark);color:#fff}

/* ============================================================
   v3 homepage — clean, product-led, one-glance structure
   ============================================================ */
.home .section{padding:58px 0}
.section-head{max-width:760px;margin-bottom:30px}
.section-head h2{margin-bottom:8px}
.section-head p{color:var(--muted);font-size:1rem;margin:0}

/* hero */
.hero-v3{background:linear-gradient(168deg,#f8f7ff 0%,#ffffff 62%);border-bottom:1px solid var(--line);padding:52px 0 0}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:44px;align-items:center}
.hero-grid h1{font-size:2.95rem;line-height:1.13;letter-spacing:-.025em;margin-bottom:18px}
.hero-grid .lead{font-size:1.08rem;color:var(--muted);max-width:560px;margin-bottom:22px}
.hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.hero-badges span{font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--purple-dark);background:#efeafd;border:1px solid #ded4fb;padding:7px 13px;border-radius:999px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.hero-visual{position:relative;border-radius:22px;overflow:hidden;background:linear-gradient(155deg,#221452,#3a1fa8 55%,#1b3f9c);padding:18px;box-shadow:0 30px 70px rgba(40,20,110,.22)}
.hero-visual img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
.hero-chip{position:absolute;right:30px;bottom:30px;background:rgba(255,255,255,.94);border-radius:12px;padding:11px 15px;font-size:.78rem;font-weight:700;color:var(--purple-dark);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.hero-chip b{display:block;font-size:1.05rem;color:var(--ink)}
.stats-v3{display:grid;grid-template-columns:repeat(5,1fr);margin-top:48px;border-top:1px solid var(--line)}
.stats-v3 .stat{background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;padding:22px 10px}
.stats-v3 .stat:last-child{border-right:0}
.stats-v3 .stat b{font-size:1.85rem}
.stats-v3 .stat span{font-size:.82rem}

/* partner marks */
.partner-strip{padding:30px 0 34px;border-bottom:1px solid var(--line)}
.partner-strip .cap{text-align:center;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:#8b88a0;font-weight:700;margin-bottom:20px}
.partners{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;align-items:center}
/* v5: institution marks are shown in their own brand colours, not greyscale */
.partners img{width:100%;height:72px;object-fit:contain;filter:none;opacity:.96;transition:.22s}
.partners img:hover{opacity:1;transform:translateY(-2px)}

/* photo-backed family tiles */
.family-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.family-tile{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.22s}
.family-tile:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(35,20,90,.12);text-decoration:none}
.family-tile img{width:100%;height:150px;object-fit:cover;background:#f2f1f8}
.family-tile .ft-body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.family-tile .ft-num{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:var(--purple)}
.family-tile h3{font-size:1.02rem;margin:0}
.family-tile p{font-size:.84rem;color:var(--muted);margin:0;flex:1}
.family-tile .card-link{font-size:.86rem}

/* uniform product tiles — every 4:3 render shown complete */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.product-tile{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.22s}
.product-tile:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(35,20,90,.12);text-decoration:none}
.product-tile img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;background:#f4f4f9}
.product-tile .pt-body{padding:15px 16px 17px;display:flex;flex-direction:column;gap:6px;flex:1}
.product-tile h3{font-size:.98rem;margin:0}
.product-tile p{font-size:.82rem;color:var(--muted);margin:0;flex:1;line-height:1.5}
.product-tile .card-link{font-size:.85rem}

/* solution / case / brochure photo tiles */
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.photo-tile{position:relative;border-radius:var(--radius);overflow:hidden;background:#1a1338;min-height:290px;display:flex;flex-direction:column;justify-content:flex-end}
.photo-tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,8,34,.22) 0%,rgba(12,8,34,.56) 45%,rgba(12,8,34,.94) 100%)}
.photo-tile .pt-cap{position:relative;z-index:2;padding:22px;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.45)}
.photo-tile .pt-cap .kicker{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#e2dbff;font-weight:700}
.photo-tile .pt-cap h3{color:#fff;font-size:1.16rem;margin:6px 0 6px;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.photo-tile .pt-cap p{color:#f2effb;font-size:.86rem;margin:0 0 10px;line-height:1.5}
.photo-tile .pt-cap a{color:#fff;font-weight:700;font-size:.88rem}
.photo-tile:hover>img{transform:scale(1.04);transition:.5s}

/* tech strip */
.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tech-tile{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.tech-tile img{width:100%;height:170px;object-fit:cover}
.tech-tile .tb{padding:18px 20px 20px;display:flex;flex-direction:column;gap:7px;flex:1}
.tech-tile p{font-size:.88rem;color:var(--muted);margin:0;flex:1}
.tech-tile .card-link{font-size:.88rem}

/* documentation cards */
.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.doc-tile{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;gap:16px;align-items:center;padding:16px}
.doc-tile img{width:120px;height:96px;object-fit:cover;border-radius:10px;flex:none;background:#f1f0f8}
.doc-tile .db{display:flex;flex-direction:column;gap:5px}
.doc-tile .db .kicker{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--purple);font-weight:800}
.doc-tile h3{font-size:.98rem;margin:0}
.doc-tile .card-link{font-size:.84rem}

/* news covers: full 16:9, never cropped */
.home .news-card img,.news-card img{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover}
.news-card .card-body{padding:18px}
.news-card h3{font-size:1rem;line-height:1.4}

/* generic card polish on interior pages */
.card{transition:.2s}
.card:hover{box-shadow:0 14px 34px rgba(35,20,90,.09)}
.news-card img{aspect-ratio:16/9;height:auto;object-fit:cover}

@media(max-width:1100px){
  .family-grid{grid-template-columns:repeat(3,1fr)}
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .partners{grid-template-columns:repeat(6,1fr)}
}
@media(max-width:960px){
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
  .stats-bar{grid-template-columns:repeat(2,1fr)}
  .two-col{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  h1{font-size:1.9rem} h2{font-size:1.55rem}
  .main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 20px}
  .main-nav.open{display:block}
  .main-nav>ul{flex-direction:column;align-items:stretch}
  .has-drop>ul{position:static;display:block;box-shadow:none;border:0;padding-left:16px}
  .nav-toggle{display:block;margin-left:auto}
  .header-cta{display:none}
  .ticks{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .news-search{margin-left:0}
  .hero-grid{grid-template-columns:1fr;gap:30px}
  .hero-grid h1{font-size:2.3rem}
  .hero-visual{max-width:560px}
  .stats-v3{grid-template-columns:repeat(3,1fr);row-gap:0}
  .stats-v3 .stat{border-bottom:1px solid var(--line)}
  .family-grid,.product-grid,.tech-grid,.photo-grid,.doc-grid{grid-template-columns:repeat(2,1fr)}
  .partners{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:560px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .hero-img img{height:260px}
  .family-grid,.product-grid,.tech-grid,.photo-grid,.doc-grid{grid-template-columns:1fr}
  .partners{grid-template-columns:repeat(2,1fr)}
  .stats-v3{grid-template-columns:repeat(2,1fr)}
  .hero-grid h1{font-size:1.85rem}
  .section{padding:42px 0}
}


/* ---- v4: buying guide, case gallery, news pagination ------------------ */
.info-box{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;
  font-size:.92rem;line-height:1.65;color:var(--muted)}
.info-box b{display:block;color:var(--ink);margin-bottom:6px;font-size:.98rem}
.case-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}
.case-gallery img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;
  background:#f2f3f8;border:1px solid var(--line)}
.news-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin:30px 0 6px}
.news-pager button{border:1px solid var(--purple);background:#fff;color:var(--purple);
  font:inherit;font-weight:700;padding:11px 26px;border-radius:999px;cursor:pointer}
.news-pager button:hover{background:var(--purple);color:#fff}
.news-pager .np-count{font-size:.86rem;color:var(--muted)}
@media(max-width:960px){.case-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.case-gallery{grid-template-columns:1fr}
  .news-pager{flex-direction:column;gap:10px}}

/* ---- v5.x: compliance evidence (Certifications page) ------------------- */
.evidence-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.evidence-stats .es{padding:22px 20px;border-right:1px solid var(--line)}
.evidence-stats .es:last-child{border-right:0}
.evidence-stats b{display:block;font-size:1.85rem;line-height:1.15;color:var(--purple-dark);letter-spacing:-.02em}
.evidence-stats span{display:block;margin-top:6px;font-size:.82rem;line-height:1.5;color:var(--muted)}
.erow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rank{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--purple)}
.badge-pass{display:inline-block;background:#e8f7ef;color:#12734a;border:1px solid #bfe7d1;border-radius:999px;padding:2px 9px;font-size:.68rem;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.tags{display:flex;flex-wrap:wrap;gap:8px}
/* document wall */
.cert-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.cert-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 30px rgba(20,22,31,.06);transition:transform .22s,box-shadow .22s}
.cert-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(20,22,31,.11)}
.cert-shot{position:relative;background:#f1f0f7;padding:14px;border-bottom:1px solid var(--line)}
.cert-shot img{width:100%;height:auto;display:block;border:1px solid #e3e0f0;border-radius:3px;background:#fff;box-shadow:0 6px 18px rgba(30,25,70,.10);cursor:zoom-in}
.cert-zoom{position:absolute;right:22px;bottom:22px;background:rgba(17,22,52,.78);color:#fff;font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:999px;pointer-events:none}
.cert-body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:9px;flex:1}
.cert-body h3{font-size:1.04rem;line-height:1.34;margin:0}
.cert-meta{display:grid;grid-template-columns:74px 1fr;gap:4px 12px;font-size:.79rem;line-height:1.5;border-top:1px solid var(--line);padding-top:12px;margin-top:auto}
.cert-meta dt{color:var(--muted);font-weight:600}
.cert-meta dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.cert-foot{font-size:.74rem;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px;line-height:1.55;margin:0}
/* test coverage table */
.cert-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:22px;font-size:.88rem}
.cert-table th{background:var(--bg-soft);text-align:left;padding:11px 14px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800}
.cert-table td{padding:11px 14px;border-top:1px solid var(--line);vertical-align:top;line-height:1.5}
.cert-table td:first-child{font-weight:700;white-space:nowrap}
.cert-table td:last-child{text-align:center;white-space:nowrap}
/* accreditation band */
.accreditation-band{background:linear-gradient(100deg,#111634 0%,#1b2a63 55%,#2a1d66 100%);color:#fff;padding:30px 0}
.ab-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ab-row>div{border-left:2px solid rgba(255,255,255,.28);padding-left:18px}
.ab-row b{display:block;font-size:1.25rem;letter-spacing:.01em;color:#fff}
.ab-row span{display:block;font-size:.82rem;color:#c9cced;margin-top:3px}
/* certificate viewer */
.cert-modal{position:fixed;inset:0;background:rgba(9,11,24,.9);display:none;align-items:center;justify-content:center;padding:44px 20px;z-index:300}
.cert-modal.open{display:flex}
.cert-modal figure{max-width:min(920px,95vw);max-height:88vh;overflow:auto;display:block;margin:0;padding:0 4px 4px}
.cert-modal img{width:100%;height:auto;display:block;border-radius:4px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.cert-modal figcaption{color:#dfe3f5;font-size:.85rem;text-align:center;line-height:1.5;margin-top:10px}
.cert-modal-close{position:absolute;top:16px;right:20px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:1.7rem;line-height:1;cursor:pointer}
.cert-modal-close:hover{background:rgba(255,255,255,.26)}
@media(max-width:960px){
 .cert-wall{grid-template-columns:repeat(2,1fr)}
 .evidence-stats{grid-template-columns:repeat(2,1fr)}
 .evidence-stats .es:nth-child(2){border-right:0}
 .evidence-stats .es:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .ab-row{grid-template-columns:repeat(2,1fr)}
 .cert-table{font-size:.82rem}
 .cert-table th,.cert-table td{padding:9px 10px}
}
@media(max-width:560px){
 .cert-wall{grid-template-columns:1fr}
 .evidence-stats{grid-template-columns:1fr}
 .evidence-stats .es{border-right:0;border-bottom:1px solid var(--line)}
 .evidence-stats .es:last-child{border-bottom:0}
 .ab-row{grid-template-columns:1fr}
 .cert-meta{grid-template-columns:84px 1fr}
 .cert-table{display:block;overflow-x:auto;white-space:nowrap}
}

/* ---- v8: contact page ------------------------------------------------- */
/* a longer banner subtitle needs a fixed height, otherwise 46vw clips it on
   narrow screens */
.banner.banner-long{max-height:none;height:400px}
@media(max-width:960px){.banner.banner-long img{object-position:74% center}}
@media(max-width:560px){.banner.banner-long{height:420px}.banner.banner-long img{object-position:78% center}}
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:start}
.contact-line{display:flex;align-items:baseline;gap:14px;border-top:1px solid var(--line);padding:15px 0}
.contact-line:last-of-type{border-bottom:1px solid var(--line);margin-bottom:24px}
.cl-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800;width:92px;flex:none}
.cl-value{font-size:1.2rem;font-weight:800;color:var(--ink)}
a.cl-value{color:var(--purple-dark)}
.cl-value{word-break:break-word}
/* two channels, two buttons: e-mail is primary, the chat channel secondary */
.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.qr-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;text-align:center;box-shadow:0 12px 34px rgba(20,22,31,.07)}
.qr-card img{width:100%;max-width:264px;margin:0 auto 16px;border-radius:8px;border:1px solid var(--line);background:#fff}
.qr-card b{display:block;font-size:1.02rem;margin-bottom:6px}
.qr-card span{display:block;font-size:.85rem;color:var(--muted);line-height:1.6}
@media(max-width:960px){
 .contact-grid{grid-template-columns:1fr;gap:28px}
 .qr-card{max-width:420px}
}
