:root,[data-theme="light"]{
--text-xs:clamp(.75rem,.7rem + .25vw,.875rem);--text-sm:clamp(.875rem,.8rem + .35vw,1rem);--text-base:clamp(1rem,.95rem + .25vw,1.125rem);
--text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);--text-3xl:clamp(2.5rem,1rem + 4vw,4.75rem);
--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
--color-bg:#f6f7f9;--color-surface:#ffffff;--color-surface-2:#eef1f6;--color-border:#d9dee7;--color-divider:#e3e7ee;
--color-text:#141b2b;--color-text-muted:#5b6475;--color-text-faint:#9aa2b1;--color-text-inverse:#f6f7f9;
--color-primary:#14284b;--color-primary-hover:#0d1c37;--color-accent:#c8102e;--color-accent-hover:#a10c24;--color-link:#1d4e9e;
--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--shadow:0 1px 2px rgba(20,40,75,.06),0 6px 20px rgba(20,40,75,.07);
--font-display:'Cabinet Grotesk','Satoshi',sans-serif;--font-body:'Satoshi','Inter',sans-serif;--transition-interactive:180ms cubic-bezier(.16,1,.3,1);
--wrap:1200px;--logo-bg:#ffffff}
[data-theme="dark"]{--color-bg:#0d1220;--color-surface:#141a2b;--color-surface-2:#1a2236;--color-border:#2a3349;--color-divider:#232c41;
--color-text:#e4e8f0;--color-text-muted:#9aa3b5;--color-text-faint:#5f687b;--color-text-inverse:#0d1220;
--color-primary:#8fb0ea;--color-primary-hover:#b2c9f2;--color-accent:#ff5a6e;--color-accent-hover:#ff8090;--color-link:#9dbcf2;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.3)}
@media (prefers-color-scheme:dark){:root:not([data-theme]){--color-bg:#0d1220;--color-surface:#141a2b;--color-surface-2:#1a2236;--color-border:#2a3349;--color-divider:#232c41;
--color-text:#e4e8f0;--color-text-muted:#9aa3b5;--color-text-faint:#5f687b;--color-text-inverse:#0d1220;--color-primary:#8fb0ea;--color-primary-hover:#b2c9f2;--color-accent:#ff5a6e;--color-accent-hover:#ff8090;--color-link:#9dbcf2}}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;scroll-behavior:smooth;scroll-padding-top:var(--space-20)}
body{overflow-x:clip;min-height:100dvh;line-height:1.6;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg)}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4{text-wrap:balance;line-height:1.15;font-family:var(--font-display);font-weight:800;letter-spacing:-.01em}
p,li{text-wrap:pretty}
a{color:var(--color-link);text-underline-offset:3px}
a,button{transition:color var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive),box-shadow var(--transition-interactive),transform var(--transition-interactive)}
button{cursor:pointer;background:none;border:none;font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(var(--space-4),4vw,var(--space-8))}
.skip{position:absolute;left:-999px}.skip:focus{left:var(--space-4);top:var(--space-4);z-index:99;background:var(--color-surface);padding:var(--space-2) var(--space-4)}
/* header */
.topbar{background:var(--color-primary);color:#fff;font-size:var(--text-xs)}
[data-theme="dark"] .topbar{background:#0a0f1b;color:var(--color-text-muted)}
.topbar .wrap{display:flex;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-2);flex-wrap:wrap}
.topbar a{color:inherit;text-decoration:none}.topbar a:hover{text-decoration:underline}
.topbar span{opacity:.9}
header.site{position:sticky;top:0;z-index:40;background:color-mix(in oklab,var(--color-surface) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-divider)}
header.site .wrap{display:flex;align-items:center;gap:var(--space-6);min-height:72px}
.brand{display:flex;align-items:center;flex-shrink:0;background:var(--logo-bg);border-radius:var(--radius-sm);padding:2px 6px}
.brand img{height:58px;width:auto}
nav.main{margin-left:auto}
nav.main ul{display:flex;gap:var(--space-1);list-style:none;align-items:center}
nav.main a{white-space:nowrap;display:block;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:600;color:var(--color-text);text-decoration:none;border-radius:var(--radius-sm)}
nav.main a:hover{background:var(--color-surface-2)}nav.main a[aria-current="page"]{color:var(--color-accent)}
.tools{display:flex;align-items:center;gap:var(--space-2)}
.lang{display:inline-flex;border:1px solid var(--color-border);border-radius:999px;overflow:hidden;font-size:var(--text-xs);font-weight:700}
.lang a,.lang span{padding:var(--space-1) var(--space-3);text-decoration:none;color:var(--color-text-muted)}
.lang span{background:var(--color-primary);color:var(--color-text-inverse)}
.lang a:hover{color:var(--color-text);background:var(--color-surface-2)}
.icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:999px;color:var(--color-text)}
.icon-btn:hover{background:var(--color-surface-2)}
.menu-btn{display:none}
@media (max-width:1180px){header.site{backdrop-filter:none;background:var(--color-surface)}nav.main:not(.open){visibility:hidden}.menu-btn{display:grid;position:relative;z-index:60}nav.main{position:fixed;inset:0 0 0 auto;width:min(320px,86vw);background:var(--color-surface);transform:translateX(100%);transition:transform .25s ease;padding:var(--space-20) var(--space-6);box-shadow:var(--shadow);z-index:50}
nav.main.open{transform:none;visibility:visible}nav.main ul{flex-direction:column;align-items:stretch}nav.main a{font-size:var(--text-base);padding:var(--space-3)}.tools{margin-left:auto}.brand img{height:44px}}
@media (max-width:520px){.topbar .hide-s{display:none}}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-weight:700;font-size:var(--text-sm);text-decoration:none;border:1.5px solid transparent;line-height:1.2}
.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover)}
[data-theme="dark"] .btn-primary{color:#1a0006}
.btn-ghost{border-color:currentColor;color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-outline{border-color:var(--color-border);color:var(--color-text);background:var(--color-surface)}.btn-outline:hover{border-color:var(--color-primary)}
.btn svg{flex-shrink:0}
/* hero */
.hero{position:relative;min-height:min(78vh,720px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#0b1424}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,16,32,.88) 0%,rgba(8,16,32,.6) 45%,rgba(8,16,32,.15) 100%),linear-gradient(0deg,rgba(8,16,32,.6),transparent 40%)}
.hero .wrap{position:relative;z-index:1;padding-block:var(--space-20) var(--space-16);width:100%}
.hero h1{font-size:var(--text-3xl);max-width:16ch;margin-block:var(--space-4) var(--space-5)}
.hero p.lead{font-size:var(--text-lg);max-width:52ch;opacity:.92;font-weight:400}
.hero .ctas{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-8)}
.kicker{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent)}
.hero .kicker{color:#ff8a98}
.kicker::before{content:"";width:24px;height:2px;background:currentColor}
.photo-cred{position:absolute;right:var(--space-3);bottom:var(--space-2);z-index:2;font-size:.75rem;color:rgba(255,255,255,.75);text-decoration:none}
.photo-cred:hover{color:#fff}
/* sections */
section.block{padding-block:clamp(var(--space-12),7vw,var(--space-24))}
section.alt{background:var(--color-surface)}
.sec-head{max-width:68ch;margin-bottom:var(--space-10)}
.sec-head h2{font-size:var(--text-2xl);margin-block:var(--space-3)}
.sec-head p{color:var(--color-text-muted)}
.page-head{background:var(--color-primary);color:#fff;padding-block:var(--space-16) var(--space-12);position:relative;overflow:hidden}
[data-theme="dark"] .page-head{background:#101a30}
.page-head h1{font-size:var(--text-2xl);margin-block:var(--space-3);max-width:24ch}
.page-head p{max-width:62ch;opacity:.9}.page-head .kicker{color:#ff8a98}
.crumbs{font-size:var(--text-xs);opacity:.85;margin-bottom:var(--space-2)}.crumbs a{color:#fff}
.grid{display:grid;gap:var(--space-6)}
.g3{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.g4{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}
section.alt .card{background:var(--color-bg)}
.card .ph{aspect-ratio:16/10;overflow:hidden;background:var(--color-surface-2)}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .ph img{transform:scale(1.04)}
.card .body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);flex:1}
.card .num{font-size:var(--text-xs);font-weight:800;color:var(--color-accent);letter-spacing:.08em}
.card h3{font-size:var(--text-lg);font-family:var(--font-body);font-weight:800}
.card h3 a{color:var(--color-text);text-decoration:none}.card h3 a:hover{color:var(--color-accent)}
.card p{color:var(--color-text-muted);font-size:var(--text-sm)}
.card .actions{margin-top:auto;padding-top:var(--space-4);display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center;border-top:1px solid var(--color-divider)}
.link-more{font-weight:700;font-size:var(--text-sm);color:var(--color-primary);text-decoration:none}.link-more:hover{color:var(--color-accent)}
.pdf-link{display:inline-flex;align-items:center;gap:var(--space-2);margin-left:auto;font-size:var(--text-xs);font-weight:700;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text);text-decoration:none;border:1px solid var(--color-border)}
.pdf-link:hover{border-color:var(--color-accent);color:var(--color-accent)}
.pdf-link small{font-weight:500;color:var(--color-text-muted)}
/* capability list view */
.cap-list{display:grid;gap:var(--space-3)}
.cap-row{display:grid;grid-template-columns:120px 1fr auto;gap:var(--space-5);align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3)}
.cap-row img{width:120px;height:80px;object-fit:cover;border-radius:var(--radius-md)}
.cap-row h3{font-family:var(--font-body);font-size:var(--text-base);font-weight:800}
.cap-row h3 a{color:var(--color-text);text-decoration:none}.cap-row h3 a:hover{color:var(--color-accent)}
.cap-row p{font-size:var(--text-sm);color:var(--color-text-muted)}
.cap-row .acts{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}
.cap-row .pdf-link{margin-left:0}
@media (max-width:720px){.cap-row{grid-template-columns:84px 1fr}.cap-row img{width:84px;height:64px}.cap-row .acts{grid-column:1/-1;justify-content:flex-start}}
.view-toggle{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-6)}
.view-toggle button{background:var(--color-surface);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:700;color:var(--color-text-muted)}
.view-toggle button[aria-pressed="true"]{background:var(--color-primary);color:var(--color-text-inverse)}
.toolbar{display:flex;gap:var(--space-4);flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}
.toolbar .view-toggle{margin:0}
.search{flex:1;min-width:220px;max-width:420px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font:inherit;font-size:var(--text-sm);color:var(--color-text)}
.empty{display:none;padding:var(--space-10);text-align:center;color:var(--color-text-muted)}
/* capability detail */
.cap-hero{position:relative;color:#fff;background:#0b1424;overflow:hidden}
.cap-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cap-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,16,32,.9),rgba(8,16,32,.55) 60%,rgba(8,16,32,.25))}
.cap-hero .wrap{position:relative;z-index:1;padding-block:var(--space-16) var(--space-12)}
.cap-hero h1{font-size:var(--text-2xl);max-width:22ch;margin-block:var(--space-3)}
.cap-hero .tag{font-size:var(--text-lg);opacity:.9;max-width:50ch}
.cap-hero .crumbs a{color:#fff}
.cap-hero .ctas{margin-top:var(--space-6);display:flex;gap:var(--space-3);flex-wrap:wrap}
.detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-12);align-items:start}
@media (max-width:960px){.detail{grid-template-columns:1fr}}
.detail .lead{font-size:var(--text-lg);line-height:1.55;color:var(--color-text);max-width:62ch;margin-bottom:var(--space-8);font-weight:500}
.detail h2{font-size:var(--text-xl);margin-bottom:var(--space-5)}
.areas{list-style:none;counter-reset:a;display:grid;gap:var(--space-3)}
.areas li{counter-increment:a;display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:none}
.areas li::before{content:attr(data-n);font-weight:800;color:var(--color-accent);font-size:var(--text-sm);min-width:2.6em;padding-top:2px}
.note{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted);border-left:3px solid var(--color-accent);padding-left:var(--space-4)}
aside.dl{position:sticky;top:96px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}
aside.dl .top{background:var(--color-primary);color:#fff;padding:var(--space-5)}
[data-theme="dark"] aside.dl .top{background:#1d2a48}
aside.dl .top h2{font-size:var(--text-lg);font-family:var(--font-body);margin:0 0 var(--space-2)}
aside.dl .top p{font-size:var(--text-sm);opacity:.9}
aside.dl .in{padding:var(--space-5);display:grid;gap:var(--space-3)}
aside.dl .btn{justify-content:center}
aside.dl .meta{font-size:var(--text-xs);color:var(--color-text-muted)}
aside.dl hr{border:0;border-top:1px solid var(--color-divider)}
.pager{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--color-divider);flex-wrap:wrap}
.pager a{text-decoration:none;font-weight:700;font-size:var(--text-sm);color:var(--color-primary);max-width:45%}
.pager a small{display:block;color:var(--color-text-muted);font-weight:500}
.pager a:hover{color:var(--color-accent)}
figure.inline{margin-top:var(--space-10)}figure.inline img{border-radius:var(--radius-lg);width:100%;aspect-ratio:16/9;object-fit:cover}
figcaption{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-2)}figcaption a{color:inherit}
/* misc */
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(var(--space-8),5vw,var(--space-16));align-items:center}
.split.rev>:first-child{order:2}
@media (max-width:880px){.split{grid-template-columns:1fr}.split.rev>:first-child{order:0}}
.split.contact{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr)}@media (max-width:880px){.split.contact{grid-template-columns:1fr}}
.split img{border-radius:var(--radius-lg);width:100%;aspect-ratio:4/3;object-fit:cover}
.prose p+p{margin-top:var(--space-4)}.prose h2{font-size:var(--text-xl);margin-bottom:var(--space-4)}.prose h3{font-size:var(--text-lg);font-family:var(--font-body);margin:var(--space-6) 0 var(--space-2)}
.prose ul{padding-left:var(--space-5);display:grid;gap:var(--space-2);margin-top:var(--space-3)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-top:var(--space-8)}
.fact{border-top:3px solid var(--color-accent);padding-top:var(--space-3)}
.fact b{display:block;font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-primary);line-height:1.1}
.fact span{font-size:var(--text-sm);color:var(--color-text-muted)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--space-4);counter-reset:s;list-style:none}
.steps li{counter-increment:s;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}
section.alt .steps li{background:var(--color-bg)}
.steps li::before{content:"0" counter(s);font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);color:var(--color-accent);display:block;margin-bottom:var(--space-2)}
.steps b{display:block;margin-bottom:var(--space-1)}.steps p{font-size:var(--text-sm);color:var(--color-text-muted)}
.sectors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}@media (max-width:820px){.sectors{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sector{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);font-weight:700;font-size:var(--text-sm);display:flex;flex-direction:column;gap:var(--space-3);align-items:center;text-align:center}
.sico{width:100%;aspect-ratio:7/5;background:#fff;border-radius:var(--radius-md);display:grid;place-items:center;border:1px solid var(--color-divider)}.sico img{width:72%;height:auto}
.sector svg{color:var(--color-accent);flex-shrink:0}
.cta-band{background:var(--color-primary);color:#fff;border-radius:var(--radius-lg);padding:clamp(var(--space-8),5vw,var(--space-12));display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);flex-wrap:wrap}
[data-theme="dark"] .cta-band{background:#1d2a48}
.cta-band h2{font-size:var(--text-xl);max-width:28ch}.cta-band p{opacity:.9;max-width:56ch;margin-top:var(--space-2)}
.profile{display:grid;grid-template-columns:280px 1fr;gap:var(--space-10);align-items:start}
@media (max-width:820px){.profile{grid-template-columns:1fr}}
.badge-card{background:var(--color-primary);color:#fff;border-radius:var(--radius-lg);padding:var(--space-8);text-align:center}
[data-theme="dark"] .badge-card{background:#1d2a48}
.badge-card .ini{width:96px;height:96px;border-radius:50%;margin:0 auto var(--space-4);display:grid;place-items:center;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.4)}
.badge-card b{display:block;font-size:var(--text-lg);font-family:var(--font-display)}
.badge-card span{font-size:var(--text-sm);opacity:.85}
.tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}
.tags span{font-size:var(--text-xs);font-weight:700;padding:var(--space-1) var(--space-3);border-radius:999px;background:var(--color-surface-2);border:1px solid var(--color-border)}
.info-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
.info-table th,.info-table td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-divider);vertical-align:top}
.info-table th{width:38%;color:var(--color-text-muted);font-weight:600}
form.rfq{display:grid;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8)}
form.rfq label{display:grid;gap:var(--space-1);font-size:var(--text-sm);font-weight:700}
form.rfq input,form.rfq select,form.rfq textarea{font:inherit;font-weight:400;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text)}
form.rfq label{min-width:0}form.rfq input,form.rfq select,form.rfq textarea{width:100%;min-width:0}
form.rfq .row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4)}
@media (max-width:600px){form.rfq .row{grid-template-columns:1fr}}
form.rfq .hint{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:400}
.contact-list{list-style:none;display:grid;gap:var(--space-4)}
.contact-list li{display:grid;grid-template-columns:28px 1fr;gap:var(--space-3)}
.contact-list svg{color:var(--color-accent);margin-top:3px}
.contact-list b{display:block;font-size:var(--text-sm)}
.credits{display:grid;gap:var(--space-2);font-size:var(--text-sm)}
.credits li{display:grid;grid-template-columns:96px 1fr;gap:var(--space-4);align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--color-divider);list-style:none;max-width:none}
.credits img{width:96px;height:60px;object-fit:cover;border-radius:var(--radius-sm)}
footer.site{background:#0b1424;color:#c3cad8;padding-block:var(--space-16) var(--space-8);font-size:var(--text-sm);margin-top:var(--space-16)}
footer.site a{color:#e4e8f0;text-decoration:none}footer.site a:hover{text-decoration:underline}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:var(--space-8)}
@media (max-width:860px){footer.site .cols{grid-template-columns:1fr 1fr}}@media (max-width:520px){footer.site .cols{grid-template-columns:1fr}}
footer.site h3{font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:#fff;margin-bottom:var(--space-3)}
footer.site ul{list-style:none;display:grid;gap:var(--space-2)}
footer.site .flogo{background:#fff;border-radius:var(--radius-md);padding:var(--space-2);display:inline-block;margin-bottom:var(--space-4)}
footer.site .flogo img{height:56px;width:auto}
footer.site .legal{border-top:1px solid #243049;margin-top:var(--space-10);padding-top:var(--space-6);display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;font-size:var(--text-xs);color:#8d97ab}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* v2 home */
.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--text-base)}
.hero-xl{min-height:min(92vh,860px)}
.hero-xl h1{max-width:15ch}
.hero-stats{margin-top:var(--space-12);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:860px;border-top:1px solid rgba(255,255,255,.25)}
.hero-stats div{padding:var(--space-5) var(--space-5) 0 0}
.hero-stats b{display:block;font-family:var(--font-display);font-size:var(--text-2xl);line-height:1;color:#fff}
.hero-stats b::after{content:"";display:block;width:28px;height:3px;background:#e0233f;margin-top:var(--space-3)}
.hero-stats span{display:block;margin-top:var(--space-2);font-size:var(--text-sm);color:rgba(255,255,255,.82)}
@media (max-width:700px){.hero-stats{grid-template-columns:1fr 1fr}.hero-stats div{padding-bottom:var(--space-2)}}
.stdstrip{background:var(--color-primary);color:#fff;border-top:3px solid #c8102e}
[data-theme="dark"] .stdstrip{background:#101a30}
.stdstrip .wrap{display:flex;align-items:center;gap:var(--space-6);padding-block:var(--space-5);flex-wrap:wrap}
.stdstrip span{font-size:var(--text-sm);font-weight:700;max-width:30ch;opacity:.92}
.stdstrip ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2);flex:1}
.stdstrip li{font-family:var(--font-display);font-weight:800;font-size:var(--text-sm);letter-spacing:.04em;padding:var(--space-2) var(--space-4);border:1px solid rgba(255,255,255,.3);border-radius:999px}
.row-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-6);max-width:none;flex-wrap:wrap}
.row-head>div{max-width:68ch}
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:240px;gap:var(--space-4)}
.tile{position:relative;overflow:hidden;border-radius:var(--radius-lg);color:#fff;text-decoration:none;background:#0b1424;display:block}
.tile.big{grid-column:span 2;grid-row:span 2}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.tile:hover img{transform:scale(1.05)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,16,32,.92) 0%,rgba(8,16,32,.35) 55%,rgba(8,16,32,.05) 100%)}
.tile .ov{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:var(--space-5);display:grid;gap:var(--space-1)}
.tile .num{font-size:var(--text-xs);font-weight:800;letter-spacing:.1em;color:#ff8a98}
.tile b{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.2}
.tile.big b{font-size:var(--text-xl)}
.tile em{font-style:normal;opacity:.85;font-size:var(--text-sm)}
.tile .go{font-size:var(--text-sm);font-weight:700;opacity:0;transform:translateY(6px);transition:all .3s ease}
.tile:hover .go,.tile:focus-visible .go{opacity:1;transform:none}
@media (max-width:900px){.bento{grid-template-columns:1fr 1fr;grid-auto-rows:200px}}
@media (max-width:560px){.bento{grid-template-columns:1fr}.tile:nth-child(n+6){display:none}.tile.big{grid-column:auto;grid-row:span 2}.tile .go{opacity:1;transform:none}}
.band{position:relative;color:#fff;overflow:hidden;background:#0b1424}
.band img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,16,32,.92),rgba(8,16,32,.6) 60%,rgba(8,16,32,.35))}
.band .wrap{position:relative;z-index:1;padding-block:clamp(var(--space-16),9vw,var(--space-24))}
.band h2{font-size:var(--text-3xl);max-width:14ch}
.band p{max-width:56ch;margin-top:var(--space-4);opacity:.9;font-size:var(--text-lg)}
.regions{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-10)}
.regions li{border-top:2px solid #e0233f;padding-top:var(--space-3)}
.regions b{display:block;font-family:var(--font-display);font-size:var(--text-lg)}
.regions span{font-size:var(--text-sm);opacity:.8}
@media (max-width:900px){.regions{grid-template-columns:1fr 1fr}}
.faq-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--space-12);align-items:start}
@media (max-width:900px){.faq-wrap{grid-template-columns:1fr}}
.faq{display:grid;gap:var(--space-3)}
.faq details{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-5)}
.faq summary{cursor:pointer;list-style:none;padding:var(--space-4) 0;font-weight:700;display:flex;justify-content:space-between;gap:var(--space-4)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4em;line-height:1;color:var(--color-accent);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-bottom:var(--space-5);color:var(--color-text-muted)}

.stdsec{background:var(--color-primary);color:#fff}[data-theme="dark"] .stdsec{background:#101a30}
.stdsec .sec-head p{color:rgba(255,255,255,.82)}.stdsec .kicker{color:#ff8a98}
.stdgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4)}@media (max-width:1100px){.stdgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.stdgrid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.stdgrid{grid-template-columns:1fr}}
.std{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);display:grid;gap:var(--space-2);align-content:start}
.std b{font-family:var(--font-display);font-size:var(--text-lg);line-height:1;color:var(--color-accent)}
.std .full{font-weight:700;font-size:var(--text-sm)}
.std p{font-size:var(--text-sm);color:var(--color-text-muted)}
.stdsec .std{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18)}
.stdsec .std b{color:#ff8a98}.stdsec .std p{color:rgba(255,255,255,.78)}
/* WhatsApp floating button */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:90;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.25);transition:transform .2s ease,box-shadow .2s ease}
.wa-float:hover,.wa-float:focus-visible{transform:scale(1.08);box-shadow:0 10px 26px rgba(0,0,0,.3)}
@media (max-width:600px){.wa-float{right:14px;bottom:14px;width:54px;height:54px}}
@media print{.wa-float{display:none}}
.hero-xl img.bg{object-position:62% 85%}
.hero-xl::after{background:linear-gradient(90deg,rgba(8,16,32,.9) 0%,rgba(8,16,32,.7) 40%,rgba(8,16,32,.1) 80%),linear-gradient(0deg,rgba(8,16,32,.75),transparent 35%)}
/* ===== Hero v3: photo first ===== */
.hero2{position:relative;height:min(100svh,920px);min-height:560px;color:#fff;overflow:hidden;background:#0b1424;display:flex;align-items:flex-end}
.h2bg{position:absolute;inset:0;overflow:hidden}
.h2bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;animation:kenburns 22s ease-in-out infinite alternate;transform-origin:50% 45%}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.09) translate(-1%,-1%)}}
.hero2::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(6,12,26,.88) 0%,rgba(6,12,26,.55) 26%,rgba(6,12,26,0) 52%),linear-gradient(180deg,rgba(6,12,26,.35),rgba(6,12,26,0) 18%)}
.hero2 .wrap{position:relative;z-index:1;width:100%;padding-bottom:clamp(var(--space-12),7vw,var(--space-20))}
.hero2 .kicker{color:#ffb3bd;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.hero2 h1{font-size:clamp(2rem,1rem + 3.4vw,4rem);line-height:1.05;max-width:19ch;margin-block:var(--space-3) var(--space-4);text-shadow:0 2px 24px rgba(0,0,0,.45)}
.words .w{display:inline-block;opacity:0;transform:translateY(.6em) rotate(2deg);filter:blur(6px);animation:wordin .8s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(.25s + var(--i) * .07s)}
@keyframes wordin{to{opacity:1;transform:none;filter:none}}
.anim-in{opacity:0;transform:translateY(14px);animation:fadeup .8s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--d,0s)}
@keyframes fadeup{to{opacity:1;transform:none}}
.rotator{font-size:var(--text-lg);font-weight:500;display:flex;gap:.4em;align-items:baseline;flex-wrap:wrap;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.rot{position:relative;display:inline-grid}
.rot b{grid-area:1/1;color:#fff;font-weight:800;opacity:0;transform:translateY(100%);transition:opacity .5s ease,transform .6s cubic-bezier(.16,1,.3,1);white-space:nowrap;border-bottom:3px solid #e0233f;padding-bottom:2px}
.rot b.on{opacity:1;transform:none}
.rot b.off{opacity:0;transform:translateY(-100%)}
.hero2 .ctas{margin-top:var(--space-6);display:flex;gap:var(--space-3);flex-wrap:wrap}
.hero2 .btn-ghost{background:rgba(6,12,26,.35);backdrop-filter:blur(6px)}
.hero2 .credit{z-index:2}
.scroll-cue{position:absolute;z-index:2;left:50%;bottom:22px;width:26px;height:42px;margin-left:-13px;border:2px solid rgba(255,255,255,.7);border-radius:14px}
.scroll-cue span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
@media (max-width:700px){.scroll-cue{display:none}.hero2{height:auto;min-height:88svh}.h2bg img{object-position:55% 40%}}
.intro2{background:var(--color-primary);color:#fff}
[data-theme="dark"] .intro2{background:#101a30}
.intro2 .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-10);align-items:center;padding-block:var(--space-12)}
.intro2 .lead{font-size:var(--text-lg);opacity:.92;max-width:56ch}
.stats2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
.stats2 b{display:block;font-family:var(--font-display);font-size:var(--text-2xl);line-height:1}
.stats2 b::after{content:"";display:block;width:26px;height:3px;background:#e0233f;margin-top:var(--space-2)}
.stats2 span{display:block;margin-top:var(--space-2);font-size:var(--text-sm);opacity:.8}
@media (max-width:900px){.intro2 .wrap{grid-template-columns:1fr}.stats2{grid-template-columns:1fr 1fr}}
/* logo animation */
.brand{position:relative;overflow:hidden;display:inline-block;border-radius:6px}
.brand img{animation:logoin 1s cubic-bezier(.16,1,.3,1) both;transition:transform .3s ease}
.brand:hover img{transform:scale(1.04)}
@keyframes logoin{from{opacity:0;transform:translateX(-18px) scale(.96)}to{opacity:1;transform:none}}
.brand::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:shine 6s ease-in-out 1.2s infinite;pointer-events:none}
@keyframes shine{0%{left:-60%}18%,100%{left:130%}}
/* whatsapp animation */
.wa-float{animation:wa-wiggle 5s ease-in-out 2s infinite}
.wa-float::before,.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;background:#25d366;z-index:-1;animation:wa-pulse 2.4s ease-out infinite}
.wa-float::after{animation-delay:1.2s}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.9);opacity:0}}
@keyframes wa-wiggle{0%,86%,100%{transform:rotate(0)}88%{transform:rotate(-14deg) scale(1.08)}90%{transform:rotate(12deg) scale(1.08)}92%{transform:rotate(-8deg)}94%{transform:rotate(6deg)}96%{transform:rotate(0)}}
.wa-float:hover{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.h2bg img,.brand::after,.wa-float,.wa-float::before,.wa-float::after,.scroll-cue span{animation:none}.words .w,.anim-in,.brand img{animation:none;opacity:1;transform:none;filter:none}}
.hero2{height:clamp(540px,calc(100svh - 104px),860px)}
.hero2 h1{font-size:clamp(1.9rem,1rem + 2.6vw,3.3rem);max-width:20ch}
.rot b{justify-self:start}
@media (max-width:700px){.hero2{height:auto;min-height:calc(100svh - 80px)}}
.intro2{background:var(--color-surface);color:var(--color-text);border-bottom:1px solid var(--color-border)}
[data-theme="dark"] .intro2{background:var(--color-surface)}
.intro2 .lead{color:var(--color-text);opacity:1}
.stats2 b{color:var(--color-primary)}[data-theme="dark"] .stats2 b{color:#fff}
.stats2 span{color:var(--color-text-muted);opacity:1}
.wa-float::before,.wa-float::after{background:transparent;border:3px solid #25d366}
/* typewriter */
.tw{position:relative;display:grid;grid-template-columns:minmax(0,1fr)}
.tw-ghost,.tw-live{display:block;grid-area:1/1;min-width:0;max-width:100%}
.tw-ghost{visibility:hidden;pointer-events:none}
.tw-live{position:relative;inset:auto}
.tw-live::after{content:"";position:absolute;display:inline-block;width:.08em;height:.9em;margin-left:.06em;background:#e0233f;transform:translateY(.12em);animation:caret .8s steps(1) infinite}
.tw-done .tw-live::after{animation:caret .8s steps(1) 4;opacity:0}
@keyframes caret{50%{opacity:0}}
.rot{display:inline-block}
.rot .rt{opacity:1;transform:none;position:static;white-space:nowrap}
.rot .rt::after{content:"";display:inline-block;width:2px;height:1em;margin-left:3px;background:#fff;vertical-align:-.12em;animation:caret .8s steps(1) infinite}
/* voice button */
.voice-btn{position:fixed;left:20px;bottom:20px;z-index:90;display:flex;align-items:center;gap:10px;height:52px;padding:0 20px 0 16px;border:0;border-radius:999px;background:var(--color-primary);color:#fff;font:700 var(--text-sm)/1 var(--font-body);cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.25);overflow:hidden;transition:transform .2s ease}
[data-theme="dark"] .voice-btn{background:#c8102e}
.voice-btn:hover{transform:translateY(-2px)}
.voice-btn .vbars{display:none;gap:3px;align-items:flex-end;height:18px}
.voice-btn .vbars i{width:3px;background:#fff;border-radius:2px;animation:vbar 1s ease-in-out infinite}
.voice-btn .vbars i:nth-child(2){animation-delay:.15s}.voice-btn .vbars i:nth-child(3){animation-delay:.3s}.voice-btn .vbars i:nth-child(4){animation-delay:.45s}
@keyframes vbar{0%,100%{height:4px}50%{height:18px}}
.voice-btn.on .vbars{display:flex}.voice-btn.on .vi-play{display:none}
.voice-btn .vprog{position:absolute;left:0;bottom:0;height:3px;width:0;background:#e0233f;transition:width .3s linear}
[data-theme="dark"] .voice-btn .vprog{background:#fff}
.voice-btn:not(.on){animation:vglow 4s ease-in-out 3s infinite}
@keyframes vglow{0%,80%,100%{box-shadow:0 6px 20px rgba(0,0,0,.25)}90%{box-shadow:0 0 0 8px rgba(200,16,46,.25),0 6px 20px rgba(0,0,0,.25)}}
@media (max-width:600px){.voice-btn{left:14px;bottom:14px;height:48px;padding:0 16px 0 13px}}
@media print{.voice-btn{display:none}}
@media (max-width:600px){
 .voice-btn{width:52px;height:52px;padding:0;justify-content:center;gap:0;border-radius:50%}
 .voice-btn .vl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .hero2 .wrap{padding-bottom:96px}
 .hero2 .ctas .btn{width:100%;justify-content:center}
 footer.site{padding-bottom:84px}
 nav.main.open~.voice-btn{display:none}
}
@media (max-width:600px){.hero2{min-height:calc(100svh - 144px)}.hero2 .wrap{padding-bottom:84px}}

/* v12 standards cards: one colour per card, taken from the COTI logo */
.std{position:relative;overflow:hidden;border:0;color:#fff;box-shadow:0 8px 24px rgba(10,20,40,.18);transition:transform .25s ease,box-shadow .25s ease}
.std:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(10,20,40,.28)}
.std::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.std b,.stdsec .std b{color:#fff;font-size:var(--text-xl)}
.std .full{color:#fff}
.std p,.stdsec .std p{color:rgba(255,255,255,.88)}
.std.c-navy{background:#14284b}.std.c-red{background:#c8102e}.std.c-globe{background:#1d5fb4}.std.c-steel{background:#55606e}
.std.c-gold{background:#e8b10e;color:#14284b}.std.c-gold b,.std.c-gold .full{color:#14284b}.std.c-gold p{color:#14284b}
.std.c-green{background:#2e7d32}.std.c-maple{background:#9b1b30}.std.c-sky{background:#0f6fb8}.std.c-gear{background:#3a4656}.std.c-deep{background:#0b1a33}
.stdsec .std.c-navy{background:#1f3a6b}.stdsec .std.c-deep{background:#24344f}.stdsec .std.c-gear{background:#4a5668}
.stdsec .std{border:0}
.std-logo{display:flex;align-items:center;justify-content:center;height:78px;background:#fff;border-radius:var(--radius-md);padding:10px 12px;margin-bottom:var(--space-2);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.std-logo img{max-height:58px;max-width:100%;width:auto;object-fit:contain}
.std-note{margin-top:var(--space-5);font-size:var(--text-xs);opacity:.75;max-width:80ch}
/* v12 Canadian Company seal */
.ca-seal{position:absolute;z-index:3;top:clamp(18px,4vw,48px);right:clamp(16px,5vw,72px);width:clamp(118px,13vw,190px);aspect-ratio:1;pointer-events:none;animation:seal-fly 1.5s cubic-bezier(.2,.8,.25,1) .5s both}
.ca-seal-in{width:100%;height:100%;border-radius:50%;filter:drop-shadow(0 10px 22px rgba(0,0,0,.45));animation:seal-float 6s ease-in-out 2.4s infinite}
.ca-seal svg{width:100%;height:100%;display:block}
.ca-seal .st{font:800 15px/1 var(--font-display);letter-spacing:1.6px}
.ca-seal .sb{font:800 13px/1 var(--font-body);letter-spacing:2.5px}
.ca-seal .sc{font:900 17px/1 var(--font-display);letter-spacing:4px}
.ca-seal::after{content:"";position:absolute;inset:0;border-radius:50%;border:4px solid rgba(255,255,255,.85);opacity:0;animation:seal-shock .9s ease-out 1.75s both}
@keyframes seal-fly{0%{transform:translate(70vw,-40vh) rotate(540deg) scale(2.4);opacity:0}
 55%{opacity:1}
 78%{transform:translate(0,0) rotate(-14deg) scale(1.18)}
 88%{transform:translate(0,0) rotate(-10deg) scale(.9)}
 100%{transform:translate(0,0) rotate(-10deg) scale(1);opacity:1}}
@keyframes seal-shock{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.7)}}
@keyframes seal-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(2deg)}}
.hero2.seal-hit .h2bg{animation:hero-shake .35s ease-out 1}
@keyframes hero-shake{0%,100%{transform:none}25%{transform:translate(2px,-2px)}50%{transform:translate(-2px,1px)}75%{transform:translate(1px,2px)}}
@media (max-width:700px){.ca-seal{top:16px;right:14px;width:112px}}

/* v12 corporate documents */
.doc-status{display:inline-block;margin-top:var(--space-3);padding:4px 12px;border-radius:999px;background:#e6f4ea;color:#1e6b30;font-weight:700;font-size:var(--text-sm)}
[data-theme="dark"] .doc-status{background:#183a24;color:#8fe0a6}
.doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
@media (max-width:900px){.doc-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.doc-grid{grid-template-columns:1fr}}
.doc-card{display:flex;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-top:4px solid #c8102e;border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow)}
.doc-card:nth-child(even){border-top-color:#14284b}
.doc-ic{flex:0 0 48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#14284b;color:#fff}
.doc-card h3{font-size:var(--text-base);margin-bottom:4px}
.doc-card p{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:6px}
.doc-card b{display:block;font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-primary);margin-bottom:8px;overflow-wrap:anywhere}
.doc-card a{font-size:var(--text-sm);font-weight:700}
.doc-cta{margin-top:var(--space-6)}


/* v13 official dossier and bilingual verification */
.dossier-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:32px}
.dossier-actions>a{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:14px 20px;font-weight:700;background:#c8102e;color:#fff;text-decoration:none}
.dossier-actions>a:nth-child(2){background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}
.dossier-actions>span,.doc-disclaimer,.tutorial-description{font-size:14px;color:var(--color-text-muted)}
.doc-disclaimer{margin-top:18px;line-height:1.6;max-width:90ch}
.cer-authorizations,.verification-tutorial{margin-top:56px;padding-top:32px;border-top:1px solid var(--color-divider)}
.cer-authorizations>h3,.verification-tutorial h3{font-size:clamp(23px,3vw,32px);margin-bottom:8px}
.regulator-name{color:var(--color-text-muted);margin-bottom:24px}
.cer-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cer-card{padding:28px;background:var(--color-surface);border:1px solid var(--color-border);border-top:4px solid #c8102e;border-radius:12px}
.cer-card h4{font-size:25px;margin:12px 0}.cer-card p{line-height:1.7}
.cer-archive{border-top-color:#64748b}
.cer-label{font-size:13px;font-weight:700;display:inline-block;border:1px solid var(--color-border);border-radius:6px;padding:5px 10px}
.document-links,.official-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:24px}
.document-links a,.official-links a{font-weight:700;font-size:15px;text-underline-offset:4px}
.tutorial-tabs{display:flex;gap:10px;margin:20px 0 14px}
.tutorial-tabs button{cursor:pointer;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);font:700 16px var(--font-body);padding:10px 20px}
.tutorial-tabs button[aria-pressed="true"]{background:#14284b;color:#fff;border-color:#14284b}
.corporate-tutorial{display:block;width:100%;max-width:960px;aspect-ratio:4/3;background:#14284b;border-radius:10px;border:1px solid var(--color-border)}
.tutorial-description{margin:12px 0 24px}
.verification-steps{padding-left:24px;max-width:82ch}.verification-steps li{padding:4px 0;line-height:1.65}
#documents,#export-authorizations,#verification{scroll-margin-top:100px}
@media(max-width:700px){.cer-grid{grid-template-columns:1fr}.cer-card{padding:22px}.dossier-actions>a{width:100%}.official-links{flex-direction:column}}

/* v13 WhatsApp chooser: Canada + UAE */
.wa-wrap{position:fixed;right:20px;bottom:20px;z-index:90}
.wa-wrap .wa-float{position:relative;right:auto;bottom:auto}
.wa-menu{position:absolute;right:0;bottom:74px;width:268px;background:#fff;color:#14213d;border-radius:14px;box-shadow:0 14px 38px rgba(0,0,0,.28);padding:10px;transform-origin:bottom right;animation:wa-pop .18s ease-out}
.wa-menu[hidden]{display:none}
.wa-menu::after{content:"";position:absolute;right:22px;bottom:-7px;width:14px;height:14px;background:#fff;transform:rotate(45deg)}
.wa-head{margin:2px 6px 8px;font-size:13px;font-weight:600;color:#128c4b}
.wa-menu a{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;color:inherit;text-decoration:none}
.wa-menu a:hover,.wa-menu a:focus-visible{background:#e9f9ef;outline:none}
.wa-menu .flag{width:30px;height:20px;border-radius:3px;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.wa-menu b{display:block;font-size:14px;line-height:1.25}
.wa-menu small{display:block;font-size:13px;color:#555;font-variant-numeric:tabular-nums}
@keyframes wa-pop{from{opacity:0;transform:scale(.9) translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:600px){.wa-wrap{right:14px;bottom:14px}.wa-menu{bottom:66px;width:250px}}
@media print{.wa-wrap{display:none}}
/* contact form v14 */
.rfq2{display:grid;gap:var(--space-5)}
.rfq2 .form-intro{font-size:var(--text-sm);color:var(--color-text-muted)}
.rfq2 .ff label,.rfq2 legend{display:grid;gap:var(--space-2);font-size:var(--text-sm);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text)}
.rfq2 .req{color:#c8102e;font-weight:800;letter-spacing:0}
.rfq2 input:not([type=radio]),.rfq2 select,.rfq2 textarea{width:100%;font:400 var(--text-base)/1.4 var(--font-body);text-transform:none;letter-spacing:0;padding:.85em 1em;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text);transition:border-color .2s,box-shadow .2s}
.rfq2 input:focus,.rfq2 select:focus,.rfq2 textarea:focus{outline:none;border-color:#14284b;box-shadow:0 0 0 3px rgba(20,40,75,.15)}
.rfq2 fieldset{border:0;padding:0;margin:0}
.rfq2 legend{margin-bottom:var(--space-3);display:block}
.rfq2 .opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-5)}
.rfq2 .opt{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-base);font-weight:400;cursor:pointer;padding:.35em 0}
.rfq2 .opt input{width:20px;height:20px;accent-color:#c8102e;flex:none;margin:0}
.rfq2 .row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-5)}
.rfq2 button{justify-self:start}
@media (max-width:640px){.rfq2 .opts,.rfq2 .row{grid-template-columns:1fr}.rfq2 button{justify-self:stretch;justify-content:center}}
.rfq2 .ff label{display:block}
.rfq2 .ff label>input,.rfq2 .ff label>select,.rfq2 .ff label>textarea{display:block;margin-top:var(--space-2)}
.rfq2 .ff .opt{display:flex;text-transform:none;letter-spacing:0;font-weight:400;font-size:var(--text-base);line-height:1.35}
