:root{
  --asphalt:#20262e; --paper:#f4f5f3; --card:#fff; --ink:#1b222b; --muted:#5b6673; --line:#d9dde1;
  --blue:#0b4f9c; --blue-d:#083b75; --sign:#f2c200; --ok:#1c7c4a; --warn:#b36b00; --bad:#b3261e;
  --h:"Bahnschrift","DIN Alternate","Roboto Condensed","Arial Narrow",system-ui,sans-serif;
  --b:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --r:6px;
}
[data-theme=dark]{--paper:#12161b;--card:#1b2129;--ink:#e8ecf0;--muted:#9aa6b2;--line:#2e3742;--blue:#5aa2ee;--blue-d:#8cc0f7;--asphalt:#0c0f13}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:16px/1.55 var(--b);background:var(--paper);color:var(--ink)}
h1,h2,h3{font-family:var(--h);line-height:1.15;margin:0 0 .5em;letter-spacing:.01em}
h1{font-size:clamp(2rem,4.5vw,3.2rem)} h2{font-size:1.7rem} h3{font-size:1.15rem}
a{color:var(--blue)} a:hover{color:var(--blue-d)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.narrow{max-width:640px}
.skip{position:absolute;left:-999px;background:var(--sign);color:#000;padding:8px 12px;z-index:99}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--sign);outline-offset:2px}

/* Header */
.site-header{background:var(--card);border-bottom:4px solid var(--blue);position:sticky;top:0;z-index:10}
.bar{display:flex;align-items:center;gap:20px;min-height:72px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--blue);font-family:var(--h);line-height:1.05;font-size:1.05rem}
.brand b{font-size:1.3rem}
.nav{display:flex;gap:4px;flex:1}
.nav a{padding:8px 12px;text-decoration:none;color:var(--ink);font-family:var(--h);font-size:1rem;border-radius:var(--r)}
.nav a:hover,.nav a[aria-current]{background:var(--paper);color:var(--blue)}
.actions{display:flex;gap:8px;align-items:center}
.menu-toggle{display:none}
.icon-btn{background:none;border:1px solid var(--line);color:var(--ink);border-radius:var(--r);padding:8px 12px;font:inherit;cursor:pointer}

/* Buttons */
.btn{display:inline-block;padding:10px 18px;border-radius:var(--r);border:2px solid transparent;font:600 1rem var(--b);text-decoration:none;cursor:pointer;text-align:center}
.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-d);color:#fff}
.btn-accent{background:var(--sign);color:#111}.btn-accent:hover{background:#ffd633;color:#111}
.btn-line{border-color:var(--blue);color:var(--blue);background:transparent}
.btn-ghost{color:var(--ink)}
.btn-lg{padding:14px 24px;font-size:1.05rem}.btn-block{display:block;width:100%}

/* Hero */
.hero{background:var(--asphalt);color:#fff;padding:56px 0 64px;position:relative}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:repeating-linear-gradient(90deg,var(--sign) 0 36px,transparent 36px 64px)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero-copy p{font-size:1.15rem;max-width:46ch;color:#d5dbe2}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero .btn-line{border-color:#fff;color:#fff}
.license-card{background:var(--card);color:var(--ink);border-radius:14px;padding:22px;box-shadow:0 12px 40px rgba(0,0,0,.35);border-top:10px solid var(--blue)}
.lc-head{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--h);font-size:1.3rem;margin-bottom:10px}
.lc-head small{font:.8rem var(--b);color:var(--muted)}

/* Forms */
label{display:block;font-weight:600;font-size:.92rem;margin-bottom:14px}
label small{font-weight:400;color:var(--muted)}
input:not([type=checkbox]):not([type=hidden]),select{display:block;width:100%;margin-top:5px;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--ink);font:1rem var(--b)}
input:focus,select:focus{border-color:var(--blue)}
input.invalid{border-color:var(--bad)} input.valid{border-color:var(--ok)}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.check input{margin-top:5px;width:auto}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hint{font-size:.85rem;color:var(--muted);margin:12px 0 0}
.card-form{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px}
.form.inline{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.form.inline label{margin:0;flex:1;min-width:180px}
.meter{display:block;height:6px;background:var(--line);border-radius:3px;margin-top:6px;overflow:hidden}
.meter i{display:block;height:100%;width:0;background:var(--bad);transition:width .2s,background .2s}

/* Alerts */
.alert{padding:10px 14px;border-radius:var(--r);margin:12px 0;border-left:5px solid;background:var(--card)}
.alert-error{border-color:var(--bad);color:var(--bad)}.alert-success{border-color:var(--ok);color:var(--ok)}.alert-warn{border-color:var(--warn);color:var(--warn)}

/* Sections */
.block{padding:48px 20px}
.lead{font-size:1.1rem;color:var(--muted)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:20px}
.panel h3{border-bottom:3px solid var(--sign);padding-bottom:8px;display:inline-block}
.links{list-style:none;padding:0;margin:8px 0 0}.links li{padding:7px 0;border-top:1px solid var(--line)}.links a{text-decoration:none}.links a:hover{text-decoration:underline}
.inline-note{margin-top:8px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.news{border-left:4px solid var(--blue);padding-left:14px;margin-bottom:20px}.news h3{margin-bottom:.2em}.news p{margin:0;color:var(--muted)}
.timeline{list-style:none;padding:0;margin:0}.timeline li{padding:12px 0;border-top:1px solid var(--line)}
.timeline time{display:block;font-family:var(--h);font-weight:700;color:var(--blue)}
.app-band{display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--card);border:1px solid var(--line);border-radius:14px;margin:0 auto 48px;max-width:1080px;padding:32px}
.phone{width:110px;flex:none}
.chip{display:inline-block;border:1.5px solid var(--ink);border-radius:999px;padding:4px 14px;margin-right:8px;font-size:.9rem}

/* Auth */
.auth{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-top:56px;padding-bottom:64px;align-items:start}
.ticks{list-style:none;padding:0}.ticks li{padding-left:28px;position:relative;margin:8px 0}.ticks li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.demo{display:inline-block;background:var(--card);border:2px dashed var(--sign);padding:12px 16px;border-radius:var(--r)}

/* Dashboard & result */
.dash{padding-top:36px;padding-bottom:64px}
.dash-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.muted{color:var(--muted)}
.pat-top{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.ring{--c:var(--ok);width:116px;height:116px;border-radius:50%;flex:none;display:grid;place-content:center;text-align:center;background:radial-gradient(closest-side,var(--card) 74%,transparent 76%),conic-gradient(var(--c) calc(var(--p)*1%),var(--line) 0)}
.ring b{font:700 2rem var(--h);line-height:1}.ring small{color:var(--muted)}
.badge{display:inline-block;padding:3px 12px;border-radius:999px;font-weight:700;font-size:.85rem;margin:0 0 6px;color:#fff;background:var(--ok)}
.badge-scaduta{background:var(--warn)}.badge-sospesa,.badge-revocata{background:var(--bad)}
.result{display:flex;gap:24px;align-items:center;background:var(--card);border:1px solid var(--line);border-left:8px solid var(--ok);border-radius:10px;padding:20px;margin:20px 0}
.result-scaduta{border-left-color:var(--warn)}.result-sospesa,.result-revocata{border-left-color:var(--bad)}
.result-scaduta .ring{--c:var(--warn)}.result-sospesa .ring,.result-revocata .ring{--c:var(--bad)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 20px;margin:10px 0}
.facts dt{font-size:.8rem;color:var(--muted)}.facts dd{margin:0;font-weight:600}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-top:1px solid var(--line)}th{font-size:.85rem;color:var(--muted)}.num{text-align:right}
.empty{text-align:center}

/* Footer */
.site-footer{background:var(--asphalt);color:#cfd6dd;padding:40px 0 20px;margin-top:20px}
.site-footer .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.site-footer h3{color:#fff;border-bottom:3px solid var(--sign);display:inline-block;padding-bottom:6px}
.site-footer a{display:block;color:#cfd6dd;text-decoration:none;padding:4px 0}.site-footer a:hover{color:#fff;text-decoration:underline}
.legal{font-size:.8rem;margin-top:24px;border-top:1px solid #39424d;padding-top:14px}

@media (max-width:860px){
  .hero-grid,.auth,.split,.grid-3,.site-footer .cols{grid-template-columns:1fr}
  .menu-toggle{display:block;margin-left:auto}
  .nav{display:none;flex-direction:column;width:100%;order:3}.nav.open{display:flex}
  .app-band{flex-direction:column;align-items:flex-start}
  .result{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.site-footer,.btn,form,.skip{display:none!important}body{background:#fff;color:#000}.panel{border:1px solid #999;break-inside:avoid}}

/* v2 : langues, plaque, admin */
.langs{display:flex;gap:4px}
.flag{display:inline-flex;padding:5px;border:2px solid transparent;border-radius:var(--r);line-height:0}
.flag:hover{background:var(--paper)}
.flag[aria-current=true]{border-color:var(--sign)}
.flag svg{border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.2)}
.forms-stack{display:grid;gap:18px}
.forms-stack.light{margin-top:24px}
.plate-card{border-top-color:var(--sign)}
.plate{display:flex;align-items:stretch;margin-top:5px;border:2px solid #111;border-radius:6px;overflow:hidden;background:#fff;max-width:300px}
.plate i{background:#0b4f9c;color:#fff;font:700 .9rem var(--h);font-style:normal;padding:0 9px;display:grid;place-content:center}
.plate input{margin:0;border:0;border-radius:0;font:700 1.5rem var(--h);letter-spacing:.14em;text-transform:uppercase;color:#111;background:#fff;text-align:center}
.plate-badge{display:inline-block;background:#fff;color:#111;border:2px solid #111;border-radius:6px;padding:2px 16px;font:700 1.6rem var(--h);letter-spacing:.14em;margin:0 0 6px}
.checks{list-style:none;padding:0;margin:8px 0 0}
.checks li{padding:4px 0 4px 26px;position:relative}
.checks li::before{position:absolute;left:0;font-weight:700}
.checks .ok::before{content:"✔";color:var(--ok)}.checks .ko::before{content:"✖";color:var(--bad)}
select{appearance:auto}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:16px 0}
.stat{text-align:center;margin:0}.stat b{display:block;font:700 2.2rem var(--h);color:var(--blue)}.stat span{color:var(--muted);font-size:.9rem}
.row-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btn-sm{padding:5px 12px;font-size:.88rem}
.btn-danger{background:transparent;color:var(--bad);border-color:var(--bad)}.btn-danger:hover{background:var(--bad);color:#fff}
form.inl{display:inline}.nowrap{white-space:nowrap}
code{font:600 .9rem ui-monospace,Consolas,monospace;background:var(--paper);padding:2px 6px;border-radius:4px}
.fiches{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.fiche h2{border-bottom:4px solid var(--sign);padding-bottom:6px}.fiche .expect{background:var(--paper);padding:8px 10px;border-radius:var(--r);font-size:.92rem}
.facts.one{grid-template-columns:1fr}
@media (max-width:860px){.stats{grid-template-columns:1fr 1fr}.actions{flex-wrap:wrap}}
@media print{.langs,.flag{display:none!important}.fiches{display:block}.fiche{break-inside:avoid;page-break-inside:avoid;margin-bottom:14px}}

/* ===== v3 : habillage visuel, images, articles ===== */
body{background:var(--paper)}
.site-header{box-shadow:0 2px 14px rgba(15,30,55,.08)}
.sec-title{position:relative;padding-bottom:12px;margin-bottom:22px}
.sec-title::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:5px;border-radius:3px;background:var(--sign)}
.band-soft{background:linear-gradient(180deg,rgba(11,79,156,.07),rgba(11,79,156,.02));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band-soft .block{padding-top:56px;padding-bottom:56px}

/* Hero illustré */
.hero{background:linear-gradient(90deg,rgba(9,20,38,.94) 0%,rgba(9,20,38,.78) 40%,rgba(9,20,38,.12) 100%),url(../img/hero.svg) center bottom/cover no-repeat;padding:76px 0 104px}
.hero-grid{grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.eyebrow{display:inline-block;margin:0 0 14px;padding:5px 14px;border-radius:999px;background:rgba(242,194,0,.16);color:var(--sign);font:700 .78rem var(--b);letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(242,194,0,.4)}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.5rem);text-shadow:0 2px 20px rgba(0,0,0,.35)}
.hero-lead{font-size:1.15rem;max-width:48ch;color:#e3e9f1}
.btn-glass{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55);color:#fff;backdrop-filter:blur(4px)}
.btn-glass:hover{background:rgba(255,255,255,.24);color:#fff}
.trust{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:560px}
.trust li{border-left:3px solid var(--sign);padding-left:12px}
.trust b{display:block;font-family:var(--h);font-size:1.05rem}.trust span{font-size:.82rem;color:#cdd7e3;line-height:1.35;display:block}
.hero .license-card{box-shadow:0 18px 50px rgba(0,0,0,.4)}
.forms-stack.light .license-card{box-shadow:0 8px 28px rgba(15,30,55,.12);border:1px solid var(--line);border-top:10px solid var(--blue)}
.forms-stack.light .plate-card{border-top-color:var(--sign)}

/* Services */
.panel{transition:transform .2s,box-shadow .2s}
#servizi .panel{position:relative;padding-top:68px;overflow:hidden}
#servizi .panel::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--blue)}
#servizi .panel:nth-child(2)::before{background:var(--ok)}#servizi .panel:nth-child(3)::before{background:#f28c28}
#servizi .panel:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(15,30,55,.14)}
.svc-icon{position:absolute;top:-4px;right:18px;width:56px;height:56px;margin-top:22px}
#servizi .panel h3{margin-top:-30px}

/* Articles */
.grid-art{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.card-art{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.card-art:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(15,30,55,.16)}
.card-art-img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--line)}
.card-art-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.card-art:hover img{transform:scale(1.05)}
.card-art-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.card-art-body h3{margin:0;font-size:1.25rem}.card-art-body h3 a{color:var(--ink);text-decoration:none}.card-art-body h3 a:hover{color:var(--blue)}
.card-art-body p{margin:0;color:var(--muted)}
.card-art-body .more{margin-top:auto;padding-top:8px;font-weight:700;text-decoration:none}
.meta{display:flex;gap:10px;align-items:center;font-size:.82rem;color:var(--muted)!important}
.tag{background:rgba(11,79,156,.12);color:var(--blue);border-radius:999px;padding:2px 10px;font-weight:700}
.page-banner{background:linear-gradient(120deg,var(--asphalt),#0b3a74);color:#fff;padding:52px 0;position:relative}
.page-banner::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:repeating-linear-gradient(90deg,var(--sign) 0 36px,transparent 36px 64px)}
.page-banner p{color:#d5dbe2;max-width:60ch;margin:0}
.article{max-width:820px;padding-top:32px;padding-bottom:56px}
.article h1{font-size:clamp(1.9rem,4vw,2.8rem)}
.article figure{margin:22px 0}.article figure img{width:100%;height:auto;border-radius:14px;display:block;box-shadow:0 12px 34px rgba(15,30,55,.18)}
.article figcaption{font-size:.8rem;color:var(--muted);margin-top:6px}
.prose p{font-size:1.1rem;line-height:1.75;margin:0 0 1.1em}
.prose p:first-child::first-letter{font:700 3.2rem/1 var(--h);float:left;margin:4px 10px 0 0;color:var(--blue)}
.crumbs a{text-decoration:none;font-weight:600}
.cta-box{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-left:8px solid var(--sign);border-radius:12px;padding:20px 24px;margin:32px 0}
.related-h{margin-top:40px}
.article .grid-art{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}

/* Bande appli + auth */
.app-band{background:linear-gradient(120deg,#0b2f66,#1e6fc0);color:#fff;border:0;overflow:hidden;position:relative}
.app-band .chip{border-color:rgba(255,255,255,.7);color:#fff}
.app-band p{color:#e3ecf7}
.phone{width:min(320px,70vw);height:auto;flex:none;margin:-20px 0}
.auth-img{width:100%;max-width:440px;height:auto;border-radius:20px;box-shadow:0 14px 40px rgba(15,30,55,.2);margin-bottom:20px;display:block}
.dash-head{background:linear-gradient(120deg,var(--asphalt),#0b3a74);color:#fff;padding:22px 24px;border-radius:14px;align-items:center}
.dash-head .muted{color:#cdd7e3}.dash-head .btn-line{border-color:#fff;color:#fff}
.site-footer{border-top:6px solid var(--blue);position:relative}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:-6px;height:6px;background:repeating-linear-gradient(90deg,var(--sign) 0 36px,transparent 36px 64px)}

@media (max-width:860px){
  .hero{padding:44px 0 64px;background:linear-gradient(180deg,rgba(9,20,38,.9),rgba(9,20,38,.7)),url(../img/hero.svg) center bottom/cover}
  .trust{grid-template-columns:1fr}
  .hero-grid{gap:32px}
}

/* en-tête compact (6 liens + 3 langues + boutons) */
.bar{gap:14px;flex-wrap:nowrap}
.nav{gap:0;min-width:0}
.nav a{padding:8px 9px;font-size:.98rem;white-space:nowrap}
.actions{flex:none;gap:6px}
.actions .btn{padding:8px 13px;font-size:.95rem;white-space:nowrap}
.brand{flex:none}
@media (max-width:1100px){.bar{flex-wrap:wrap}}
.site-header .wrap{max-width:1240px}
.nav a{padding:8px 7px;font-size:.93rem}
.actions .btn{padding:7px 11px;font-size:.92rem}
.flag{padding:3px}
.langs{gap:2px}
@media (max-width:1260px){.bar{flex-wrap:wrap;row-gap:6px;padding-top:8px;padding-bottom:8px}.nav{order:3;width:100%;flex:none;border-top:1px solid var(--line);padding-top:4px}.actions{margin-left:auto}}
@media (max-width:860px){.nav{display:none}.nav.open{display:flex}}

/* ===== v4 : structure du portail d'origine (barre noire, logo 2, menu, bannière 1105x167) ===== */
:root{--hdr:#f2f2f2;--navbg:#f7f7f7;--topbar:#3b3b3b;--orange:#ff6a13}
[data-theme=dark]{--hdr:#171c22;--navbg:#1b2129;--topbar:#0c0f13}
.site-w,.wrap{max-width:1125px;margin-left:auto;margin-right:auto;padding-left:10px;padding-right:10px}
.topbar{background:var(--topbar);color:#fff}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:6px 14px;min-height:40px;flex-wrap:wrap}
.toplinks{display:flex;gap:6px 18px;flex-wrap:wrap}
.toplinks a{color:#fff;text-decoration:none;font:600 .85rem Arial,Helvetica,sans-serif;padding:11px 0}
.toplinks a:hover{text-decoration:underline;color:#fff}
.topright{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0}
.topbar .langs{gap:1px}.topbar .flag{padding:2px;border:2px solid transparent}.topbar .flag:hover{background:rgba(255,255,255,.15)}.topbar .flag[aria-current=true]{border-color:var(--sign)}
.topbar .icon-btn{border-color:#666;color:#fff;padding:3px 9px;font-size:.9rem;background:transparent}
.tb-btn{display:inline-flex;gap:6px;align-items:center;padding:5px 11px;border-radius:3px;font:700 .74rem Arial,Helvetica,sans-serif;text-transform:uppercase;text-decoration:none;color:#fff;letter-spacing:.03em;border:1px solid transparent}
.tb-gray{background:#7d7d7d;border-color:#999}.tb-gray:hover{background:#919191;color:#fff}
.tb-blue{background:#1d7fd1;border-color:#4aa0e6}.tb-blue:hover{background:#3592e0;color:#fff}
.brandrow{background:var(--hdr)}
.brandrow-in{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:14px;padding-bottom:14px}
.brandrow .brand{font-size:1.45rem;gap:12px;color:#0b5db3}.brandrow .brand b{font-size:1.65rem;font-weight:600}
.logo2{height:85px;width:auto;flex:none;margin-left:auto}
[data-theme=dark] .logo2{filter:brightness(1.6)}
.mainnav{background:var(--navbg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mainnav .site-w{display:flex;gap:4px;flex-wrap:wrap}
.mainnav a{padding:14px 14px;font:700 .93rem Arial,Helvetica,sans-serif;text-transform:uppercase;color:var(--ink);opacity:.8;text-decoration:none;letter-spacing:.02em}
.mainnav a:hover,.mainnav a[aria-current]{color:var(--blue);opacity:1;box-shadow:inset 0 -3px 0 var(--blue)}
.banner{position:relative;line-height:0;padding-left:10px;padding-right:10px}
.banner img{width:100%;height:auto;display:block}
.menu-btn{display:inline-flex;align-items:center;gap:8px;background:#2f2f2f;color:#fff;border:0;border-bottom:4px solid #111;font:700 .78rem Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.05em;padding:9px 16px 7px;cursor:pointer;line-height:1.2}
.menu-btn:hover{background:#000}
.banner .menu-btn{position:absolute;right:10px;bottom:0}
.menu-closedrow{display:none;text-align:right;background:var(--hdr);padding-bottom:12px}
.menu-closed .menu-zone{display:none}
.menu-closed .menu-closedrow{display:block}

/* corps de page */
.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;padding-top:22px;padding-bottom:30px;align-items:start}
.home-main{display:grid;gap:20px;min-width:0}
.home-side{display:grid;gap:20px;min-width:0}
.red-corner{position:absolute;left:0;top:0;width:34px;height:34px;background:linear-gradient(135deg,#e60000 52%,transparent 52%);color:#fff;font:700 .85rem Arial,sans-serif;padding:2px 0 0 6px;line-height:1.2}
.alert-bar{position:relative;display:flex;align-items:center;gap:14px;background:#333;color:#e2e2e2;padding:12px 14px 12px 48px;font-size:.9rem}
.alert-bar p{margin:0;flex:1}
.btn-gray{display:inline-flex;align-items:center;gap:8px;background:#e4e4e4;color:#555;border:1px solid #cfcfcf;padding:5px 14px;font:700 .8rem Arial,sans-serif;text-decoration:none;white-space:nowrap}
.btn-gray:hover{background:#d6d6d6;color:#111}.btn-gray i{font-style:normal;background:#cdcdcd;padding:0 7px;margin:-5px -14px -5px 4px;align-self:stretch;display:grid;place-content:center}
.alert-bar .btn-gray{background:#777;border-color:#888;color:#fff}.alert-bar .btn-gray:hover{background:#999;color:#fff}
.svc-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.svc-card,.box{background:var(--card);box-shadow:0 1px 4px rgba(0,0,0,.13)}
.svc-img{position:relative;display:block;line-height:0}
.svc-img img{width:100%;height:auto;display:block}
.svc-label{position:absolute;left:8px;right:8px;bottom:-16px;background:#333;color:#fff;font:700 1.02rem var(--h);padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px;line-height:1.2}
.svc-label .ico{width:18px;height:18px;flex:none;background:repeating-linear-gradient(#aaa 0 2px,transparent 2px 5px);opacity:.8}
.svc-links{list-style:none;padding:30px 14px 12px;margin:0}
.svc-links li{padding:5px 0}.svc-links a{color:var(--ink);text-decoration:none;font-size:.93rem;line-height:1.35}.svc-links a:hover{color:var(--blue);text-decoration:underline}
.box-head,.box-label{margin:0}
.box-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);color:var(--muted);font:700 1.25rem var(--h)}
.box-head.blue{color:#0b5db3;font-size:1.1rem}
.box-label{background:#333;color:#fff;font:700 1.02rem var(--h);padding:11px 14px}
.card-pad{padding:14px 16px 18px}.card-pad p{margin:0 0 .8em;font-size:.93rem}.pt-lg{padding-top:26px}
.news-cols{display:grid;grid-template-columns:1fr 1fr}
.news-item{position:relative;padding:20px 18px 68px;overflow:hidden;border-right:1px solid var(--line)}
.news-item:last-child{border-right:0}
.news-item .n{position:absolute;right:6px;bottom:-34px;font:700 11rem/1 var(--h);color:rgba(127,127,127,.12);pointer-events:none}
.news-item h3{font:700 .97rem Arial,sans-serif;margin-bottom:.5em}.news-item p{font-size:.9rem;color:var(--muted);margin:0}
.news-item .btn-gray{position:absolute;left:18px;bottom:16px}
.row-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px;align-items:start}
.wide .card-pad p{margin:0 0 1em}
.ip-img{width:100%;height:auto;display:block;margin:6px 0 14px}
.pagopa-img{display:block;margin:0 auto 10px;max-width:100%;height:auto}
.feat{display:grid;grid-template-columns:42% 1fr}
.feat-img{display:block;background:var(--line);min-height:100%}.feat-img img{width:100%;height:100%;object-fit:cover;display:block}
.feat h3{font:700 1.1rem var(--h);margin:.3em 0 .4em}.feat h3 a{color:var(--ink);text-decoration:none}.feat h3 a:hover{color:var(--blue)}
.side-forms{display:grid;gap:18px}
.side-img{width:100%;height:auto;display:block}
.timeline{list-style:none;margin:0;padding:0}.timeline li{padding:14px 18px;border-top:1px solid var(--line);font-size:.9rem}.timeline li:first-child{border-top:0}
.timeline time{display:block;font:700 .95rem Arial,sans-serif;color:var(--ink)}
.app-img{background:var(--line);line-height:0}.app-img img{width:100%;height:auto;display:block}
.app-card h3{margin:0 0 .3em}
.stores{display:flex;flex-wrap:wrap;gap:6px}.store{background:#111;color:#fff;border-radius:6px;padding:5px 10px;font:600 .75rem Arial,sans-serif}
.dl{color:var(--ink);text-decoration:none}
.articles-sec{padding-top:10px;padding-bottom:40px}
.partners{display:flex;justify-content:center;align-items:center;gap:56px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px;border-top:1px solid var(--line);background:var(--card);max-width:none;margin:0}
.partners a{display:flex;align-items:center;gap:10px;color:#888;text-decoration:none;font:700 .8rem Arial,sans-serif;line-height:1.15;filter:grayscale(1);opacity:.85}.partners a:hover{opacity:1}
.partners img{display:block;height:auto}
.footer-links{background:var(--card);border-top:1px solid var(--line)}
.fl-in{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.fl-in nav a{color:var(--ink);text-decoration:none;font-size:.88rem;padding:0 12px;border-left:1px solid var(--line)}.fl-in nav a:first-child{border-left:0;padding-left:0}.fl-in nav a:hover{color:var(--blue)}
.follow{margin:0;display:flex;align-items:center;gap:8px;font-size:.88rem}.follow span{background:#333;color:#fff;padding:3px 10px;font-size:.8rem}
.yt{display:inline-flex;background:#e62117;color:#fff;border-radius:4px;padding:2px 8px;text-decoration:none;font:700 .8rem Arial,sans-serif}.yt i{font-style:normal;background:#fff;color:#e62117;margin-left:4px;padding:0 4px;border-radius:3px}
.site-footer{background:#2e2e2e;margin-top:0;border-top:0}.site-footer::before{display:none}
.site-footer .cols{gap:16px}
.site-footer h3{background:#3c3c3c;display:block;border:0;padding:12px 14px;font-size:1.05rem;color:#fff}
.site-footer .cols a{position:relative;padding:7px 0 7px 16px}.site-footer .cols a::before{content:"▸";position:absolute;left:0;color:#999}
.soon{text-align:center;padding:40px 22px}
.page-banner .site-w h1{margin:0}

/* sections héritées : cohérence avec la nouvelle structure */
.license-card{padding:0;border:0;border-radius:0;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.18);border-top:0}
.dark-title{position:relative;background:#333;color:var(--orange);font:700 1.3rem/1.25 var(--h);padding:16px 18px 16px 50px}
.form-body{padding:16px 20px 20px}
.forms-stack.light .license-card{border:0;border-top:0;box-shadow:0 1px 6px rgba(0,0,0,.16)}
.plate-card{border-top:0}
.plate input{width:100%}

@media (max-width:980px){
  .home-grid{grid-template-columns:1fr}
  .home-side{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
}
@media (max-width:720px){
  .svc-row,.row-2,.news-cols,.feat{grid-template-columns:1fr}
  .news-item{border-right:0;border-bottom:1px solid var(--line)}
  .logo2{height:56px}
  .brandrow .brand{font-size:1.1rem}.brandrow .brand b{font-size:1.25rem}
  .mainnav a{padding:11px 9px;font-size:.82rem}
  .partners{gap:28px}
}
.menu-closedrow{box-shadow:0 0 0 100vmax var(--hdr);clip-path:inset(0 -100vmax)}
@media (max-width:720px){.banner img{min-height:96px;object-fit:cover}.banner .menu-btn{padding:7px 10px 5px;font-size:.7rem}}

/* ===== v5 : page Contatti + édition admin ===== */
.contacts{display:grid;gap:22px;padding-top:22px;padding-bottom:44px}
.ct-sum-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ct-sum-grid>div{padding:16px 18px;border-left:1px solid var(--line)}.ct-sum-grid>div:first-child{border-left:0}
.ct-sum-grid span{display:block;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.ct-sum-grid b{font:700 1.2rem var(--h)}.ct-sum-grid a{color:var(--blue);text-decoration:none}
.ct-jump{display:flex;gap:10px;flex-wrap:wrap}
.ct-jump a{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 16px 6px 8px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.9rem}
.ct-jump a:hover{border-color:var(--blue);color:var(--blue)}
.ct-jump span,.ct-sec .num{display:inline-grid;place-content:center;width:26px;height:26px;border-radius:50%;background:var(--sign);color:#111;font:700 .85rem Arial,sans-serif}
.ct-sec{scroll-margin-top:12px}
.ct-sec .box-label{display:flex;align-items:center;gap:12px;font-size:1.2rem}
.ct-sub{margin:10px 0 0;color:var(--muted);font-size:.93rem}
.ct-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px;margin-top:14px}
.ct-block{background:var(--card);box-shadow:0 1px 4px rgba(0,0,0,.13);padding:16px 18px 18px;border-top:4px solid var(--blue)}
.ct-block h3{margin:0 0 .6em;font-size:1.15rem}
.ct-block dl{margin:0}
.ct-row{padding:9px 0;border-top:1px solid var(--line)}.ct-row:first-child{border-top:0}
.ct-row dt{font:700 .75rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--blue);display:flex;align-items:center;gap:6px;margin-bottom:3px}
.ct-row dt::before{font-size:.95rem;letter-spacing:0}
.ct-cp dt::before{content:"⌨"}.ct-tel dt::before{content:"☎"}.ct-mail dt::before{content:"✉"}
.ct-row dd{margin:0;font-size:.93rem;line-height:1.5;overflow-wrap:anywhere}
.ct-row dd.na{color:var(--muted);font-style:italic}
.ct-row a{color:var(--blue);font-weight:600}
.ct-note{margin:12px 0 0;padding:10px 12px;background:rgba(242,194,0,.14);border-left:4px solid var(--sign);font-size:.88rem}
.ct-list{margin:8px 0 0;padding-left:20px;font-size:.9rem}.ct-list li{margin:3px 0}
.edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:4px 18px}
@media (max-width:860px){.ct-sum-grid{grid-template-columns:1fr 1fr}.ct-sum-grid>div{border-left:0;border-top:1px solid var(--line)}}
@media (max-width:560px){.ct-grid{grid-template-columns:1fr}.ct-sum-grid{grid-template-columns:1fr}}

/* ===== v6 : utilisateurs admin + pages à contenu ===== */
.pager{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:14px}
input[type=search]{display:block;width:100%;margin-top:5px;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--ink);font:1rem var(--b)}
input:disabled{opacity:.6;cursor:not-allowed}
.prose-page{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:28px 32px;max-width:860px;line-height:1.7}
.prose-page h2{margin-top:1.4em;padding-bottom:6px;border-bottom:3px solid var(--sign);display:inline-block}
.prose-page h3{margin-top:1.2em}
.prose-page img{max-width:100%;height:auto;border-radius:8px}
.prose-page table{width:100%;border-collapse:collapse;margin:1em 0;display:block;overflow-x:auto}
.prose-page th,.prose-page td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.prose-page blockquote{margin:1em 0;padding:10px 16px;border-left:5px solid var(--sign);background:var(--paper)}
@media (max-width:600px){.prose-page{padding:18px}}

/* mise en page "3col" (page Chi siamo) : menu + encart | texte | actualités */
.prose-page.layout-3col{background:none;border:0;padding:0;max-width:none;line-height:1.5}
.pc-grid{display:grid;grid-template-columns:215px minmax(0,1fr) 215px;gap:22px;align-items:start}
.pc-side,.pc-aside{display:grid;gap:14px;align-content:start}
.pc-menu{background:var(--card);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.pc-menu a{display:block;padding:9px 14px;border-top:1px solid var(--line);font:700 .9rem Arial,sans-serif;color:var(--ink);text-decoration:none}
.pc-menu a:first-child{border-top:0}.pc-menu a:hover,.pc-menu a.on{color:var(--blue)}
.pc-menu a::before{content:"▸";margin-right:8px;color:#999;font-size:.7rem}
.pc-illus{width:100%;height:auto;margin-top:8px}
.pc-side h3{font:700 1.15rem Arial,sans-serif;color:var(--muted);margin:6px 0 0}
.pc-side p{margin:0;font-size:.82rem;line-height:1.45}
.btn-blue{justify-self:start;display:inline-block;background:#1d8fe0;color:#fff;font:700 .95rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em;padding:9px 18px;border-radius:3px;border-bottom:3px solid #1673b9;text-decoration:none}
.btn-blue:hover{background:#3aa3f0;color:#fff}
.pc-main{background:var(--card);box-shadow:0 1px 3px rgba(0,0,0,.12);padding:20px 22px 30px;font-size:.93rem;line-height:1.6}
.pc-main h2{color:var(--orange);border:0;display:block;font:700 1.25rem Arial,sans-serif;margin:0 0 .9em;padding:0}
.pc-main h2:not(:first-child){margin-top:2em}
.pc-main ul{margin:.6em 0 1.4em;padding-left:18px}.pc-main li{margin:2px 0}
.pc-news{background:var(--card);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.pc-news h3{display:flex;align-items:center;gap:8px;margin:0;padding:12px;background:var(--paper);font:700 .8rem Arial,sans-serif;color:var(--ink)}
.pc-news article{position:relative;padding:12px 12px 34px;border-top:1px solid var(--line);font-size:.78rem;line-height:1.4}
.pc-news h4{margin:0 0 6px;font:700 .8rem Arial,sans-serif}.pc-news p{margin:0;color:var(--muted)}
.pc-news .more{position:absolute;right:10px;bottom:4px;text-decoration:none;color:#999;font-size:1.4rem;line-height:1}
@media (max-width:980px){.pc-grid{grid-template-columns:1fr}.pc-main{order:-1}}

/* ===== v7 : logo image, drapeaux dans le bas de page, badges des stores ===== */
.brandrow .brand{display:block;line-height:0}
.logo1{display:block;height:70px;width:auto}
[data-theme=dark] .logo1{filter:brightness(1.5)}
.fl-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.fl-tools .langs{gap:2px}
.fl-tools .flag{border:2px solid transparent}
.fl-tools .icon-btn{padding:3px 9px;font-size:.9rem}
.stores{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.stores a{line-height:0;display:block}.stores img{display:block;height:40px;width:auto}
.app-card .stores img{height:34px}
@media (max-width:720px){.logo1{height:48px}}
/* Téléphones : pas d'agrandissement automatique du texte, la page garde exactement les proportions de la version bureau */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* ===== v8 : pied de page identique au portail, carte iPatente, bouton thème retiré ===== */
.partners-wrap{padding-top:22px;padding-bottom:0;max-width:1125px}
.partners-box{display:flex;justify-content:flex-end;align-items:center;gap:56px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);padding:16px 26px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.partners-box a{display:flex;align-items:center;gap:10px;color:#888;text-decoration:none;font:700 .8rem Arial,sans-serif;line-height:1.15;opacity:.9}.partners-box a:hover{opacity:1}
.partners-box img{display:block;height:auto}
.footer-links{margin-top:22px}
.fl-in nav a{padding:0 10px}
.site-footer h3{display:flex;justify-content:space-between;align-items:center;gap:10px}
.site-footer h3 svg{color:#9a9a9a;flex:none}
.site-footer .cols a::before{content:"→";font-size:.8rem;top:8px}
.app-info{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"text stores" "dl stores";column-gap:12px;align-items:end}
.app-info .app-text{grid-area:text;align-self:start}
.app-info .stores{grid-area:stores;flex-direction:column;gap:6px;margin:0;align-self:end}
.app-info .dl{grid-area:dl;align-self:end;display:flex;align-items:center;min-height:30px}
.app-card .stores img{height:30px;width:auto}

/* ===== v9 : cadre des logos comme l'original (logos à gauche, séparés par un filet) ===== */
.partners-box{justify-content:flex-start;gap:0;padding:0}
.partners-box a{padding:16px 30px;min-height:76px}
.partners-box a + a{border-left:1px solid var(--line)}
.site-footer .cols a{line-height:1.45}

/* ===== v10 : bannière pleine largeur, titre bleu, pages "portail" (menu + cartes), tableau des points, catalogue ===== */
.banner-band{width:100%;height:167px;overflow:hidden;background:#51b2d5}   /* couleur des bords de banner.png : l'image se fond dans la bande */
.banner-band .banner{padding-left:10px;padding-right:10px}
.banner-band.fade .banner img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.crumb-row{background:var(--navbg);min-height:27px;border-bottom:1px solid var(--line);font:700 .72rem Arial,sans-serif;color:var(--muted);line-height:26px}
.menu-closed .banner-band,.menu-closed .crumb-row{display:none}

.pc-title{max-width:700px;margin:20px 0 22px;padding:0 0 8px 10px;border-bottom:1px solid #cfcfcf;position:relative}
.pc-title h1{margin:0;font:700 1.9rem Arial,Helvetica,sans-serif;color:#0b5db3;letter-spacing:0}
.pc-title::after{content:"";position:absolute;left:24px;bottom:-9px;width:14px;height:14px;background:var(--paper);border-right:1px solid #cfcfcf;border-bottom:1px solid #cfcfcf;transform:rotate(45deg)}
.pc-block{padding-top:0}

.pc-grid.portal{grid-template-columns:215px minmax(0,1fr) 215px}
.pc-grid.portal.no-right{grid-template-columns:215px minmax(0,1fr)}
.pc-center{display:grid;gap:6px;align-content:start;min-width:0}
.pc-menu a::before{content:none}
.pc-menu a.arrow::before{content:"▸";margin-right:8px;color:#999;font-size:.7rem}
.pc-menu a{font-size:.88rem;line-height:1.35;color:#4a4a4a}
.pc-menu a.on{color:var(--blue)}
.pc-card{background:var(--card);box-shadow:0 1px 3px rgba(0,0,0,.12);border:1px solid #ececec}
.pc-card>h2{color:var(--orange);font:700 1.25rem Arial,sans-serif;margin:0;padding:18px 20px 0}
.pc-card>p{margin:12px 20px 0;font-size:.93rem;line-height:1.6;color:#444}
.pc-card>p:last-of-type{margin-bottom:20px}
.pc-card-foot{background:#f7f7f7;border-top:1px solid #ececec;text-align:right}
.pc-card-foot a{display:inline-flex;align-items:center;gap:8px;padding:8px 18px 8px 12px;border-left:1px solid #e3e3e3;font:.82rem Arial,sans-serif;color:#444;text-decoration:none}
.pc-card-foot a::before{content:"";width:0;height:0;border-left:6px solid #777;border-top:5px solid transparent;border-bottom:5px solid transparent}
.pc-card-foot a:hover{background:#eee;color:var(--blue)}

/* tableau des points (art. 126-bis) */
.law-note{font-style:italic;color:var(--muted);font-size:.85rem}
.law-wrap{overflow-x:auto;margin:14px -22px -30px}
.law-table{width:100%;border-collapse:collapse;font:.78rem Arial,sans-serif;color:#333}
.law-table thead th{background:#fff;text-align:left;padding:18px 22px;font-weight:700;border-top:1px solid #e5e5e5}
.law-table thead th:last-child{text-align:center;width:80px}
.law-table tbody th{background:#fff;font-weight:700;vertical-align:middle;text-align:left;padding:0 22px;width:90px;border-top:1px solid #e5e5e5;border-right:1px solid #e5e5e5}
.law-table tbody td{padding:16px 22px;border-top:1px solid #ececec;line-height:1.5}
.law-table tbody td.pts{text-align:center;font-weight:700;border-left:1px solid #e5e5e5;width:80px}
.law-table tbody tr:nth-child(odd) td{background:#f1f1f1}
.law-table tbody tr:nth-child(even) td{background:#fafafa}

/* catalogue de produits */
.prose-page.layout-wide{background:none;border:0;padding:0;max-width:none;line-height:1.5}
.cat-hero{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding:34px 0 10px}
.cat-hero h1{font:700 3.2rem/1.05 var(--h);color:#17324d;margin:0 0 .45em}
.cat-hero p{font-size:1.05rem;line-height:1.7;max-width:34ch;color:#2b3a4a;margin:0 0 1.6em}
.cat-hero img{width:100%;max-width:460px;height:auto;justify-self:end}
.btn-cat{display:inline-block;background:#0066cc;color:#fff;font:700 .95rem Arial,sans-serif;padding:13px 38px;border-radius:3px;text-decoration:none}
.btn-cat:hover{background:#0052a3;color:#fff}
.cat-search{background:var(--card);border-radius:14px;box-shadow:0 8px 28px rgba(15,30,55,.12);padding:6px 26px;margin:-6px 0 56px}
.cat-search input{border:0;box-shadow:none;background:transparent;font:1.7rem var(--b);color:#4a5b6c;padding:22px 0;margin:0}
.cat-search input:focus{outline:0}
.cat-title{text-align:center;font:700 2.6rem/1.15 var(--h);color:#17324d;margin:0 0 34px}
.cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding-bottom:24px}
.cat-card{background:var(--card);border-radius:16px;box-shadow:0 4px 22px rgba(15,30,55,.1);text-align:center;padding:28px 18px 26px;display:flex;flex-direction:column;align-items:center;gap:8px}
.cat-card h3{font:700 1.7rem var(--h);color:#17324d;margin:6px 0 0}.cat-card p{font-size:.85rem;color:#4a5b6c;line-height:1.6;margin:0 0 12px;flex:1}
.cat-card[hidden]{display:none}

@media (max-width:980px){.pc-grid.portal,.pc-grid.portal.no-right{grid-template-columns:1fr}.pc-center{order:-1}.cat-hero{grid-template-columns:1fr}.cat-grid{grid-template-columns:1fr 1fr}.cat-hero img{justify-self:center}}
@media (max-width:600px){.cat-grid{grid-template-columns:1fr}}
