/* =============================================================
   jcg.css — il tema di japancasinoguide.com (sito informativo, giapponese)
   Un foglio solo, nessuna libreria, nessuno script. Tavolozza derivata con
   build/palette.py: tinta fissa, luminosità risolta sul contrasto del ruolo.
   Caratteri: gotico di sistema per il testo, mincho per titoli e articoli di
   legge (sottoinsieme di Noto Serif CJK JP servito dal sito, fonts/OFL.txt).
   ============================================================= */

@font-face{font-family:"JCG Mincho";font-style:normal;font-weight:700;font-display:swap;
  src:url("../fonts/jcg-mincho-bold.woff2") format("woff2")}
@font-face{font-family:"JCG Mincho";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/jcg-mincho-regular.woff2") format("woff2")}

:root{
  --ink:#1f2735; --ink-2:#3e4656; --muted:#616876;
  --paper:#ffffff; --wash:#f3f6fb; --line:#cfd7e6; --line-2:#e3e8f1;
  --ai:#254884; --ai-2:#4167aa; --ai-soft:#e9effa; --ai-deep:#1a3361;
  --shu:#ba3b25; --shu-soft:#fcedeb; --shu-ink:#8f2a19;
  --kin:#925f07; --kin-soft:#fff3d6;
  --sans:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Noto Sans CJK JP","BIZ UDPGothic",Meiryo,sans-serif;
  --mincho:"JCG Mincho","Hiragino Mincho ProN","Yu Mincho",YuMincho,"BIZ UDPMincho","Noto Serif JP","Noto Serif CJK JP",serif;
  --wrap:1180px; --col:44em; --side:300px;
  --r:10px; --r-sm:6px;
  --shadow:0 1px 2px rgba(31,39,53,.06),0 6px 18px rgba(31,39,53,.06);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:16px;line-height:1.9;letter-spacing:.02em;line-break:strict;overflow-wrap:anywhere}
@media (min-width:961px){body{font-size:17px}}
img,svg{max-width:100%;height:auto}
a{color:var(--ai);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{color:var(--ai-deep);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--ai-2);outline-offset:2px;border-radius:2px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ai);color:#fff;padding:10px 14px;z-index:99}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip:focus{left:12px;top:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
@media (max-width:480px){.wrap{padding:0 16px}}
h1,h2,h3,h4{color:var(--ink);line-height:1.45;letter-spacing:.03em;font-feature-settings:"palt"}
h1,h2{font-family:var(--mincho);font-weight:700}
h3,h4{font-family:var(--sans);font-weight:700}
p{margin:0 0 1.15em}
strong{font-weight:700}

/* ---------------------------------------------------------- intestazione */
.jc-top{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:20}
.jc-top .wrap{display:flex;align-items:stretch;justify-content:space-between;gap:16px;min-height:76px}
.jc-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);padding:12px 0}
.jc-brand:hover{color:var(--ink)}
.jc-seal{display:inline-flex;align-items:center;justify-content:center;flex:none;width:46px;height:46px;border-radius:50%;
  background:var(--shu);color:#fff;font-family:var(--mincho);font-weight:700;font-size:25px;line-height:1;
  box-shadow:inset 0 0 0 3px var(--shu),inset 0 0 0 4.5px rgba(255,255,255,.75)}
.jc-brand__name{display:flex;flex-direction:column;line-height:1.25}
.jc-brand__name b{font-family:var(--mincho);font-size:20px;letter-spacing:.04em}
.jc-brand__name small{font-size:14px;color:var(--muted);letter-spacing:.06em}

.jc-nav{display:none}
.jc-nav ul{list-style:none;margin:0;padding:0;display:flex;height:100%}
.jc-nav li{display:flex}
.jc-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:92px;padding:10px 12px;
  border-left:1px solid var(--line-2);color:var(--ink-2);text-decoration:none;font-size:14px;font-weight:700;letter-spacing:.04em}
.jc-nav li:last-child a{border-right:1px solid var(--line-2)}
.jc-nav a svg{width:26px;height:26px;stroke:var(--ai);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.jc-nav a:hover{background:var(--wash);color:var(--ai-deep)}
.jc-nav a[aria-current="true"]{color:var(--ai-deep);box-shadow:inset 0 -3px 0 var(--ai)}
.jc-nav a.jc-nav__help{background:var(--ai);color:#fff}
.jc-nav a.jc-nav__help svg{stroke:#fff}
.jc-nav a.jc-nav__help:hover{background:var(--ai-deep);color:#fff}
@media (min-width:1100px){.jc-nav{display:block}.jc-menu{display:none}}

/* menu del telefono: <details>, nessuno script */
.jc-menu{position:static;align-self:center;flex:none}
.jc-menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;white-space:nowrap;
  border:1px solid var(--line);border-radius:999px;font-size:15px;font-weight:700;color:var(--ink)}
.jc-menu summary::-webkit-details-marker{display:none}
.jc-menu summary svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.jc-menu[open] summary{background:var(--ink);color:#fff;border-color:var(--ink)}
.jc-menu__panel{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
.jc-menu__panel ul{list-style:none;margin:0 auto;padding:8px 16px 16px;max-width:var(--wrap);display:grid;grid-template-columns:1fr 1fr;gap:8px}
.jc-menu__panel a{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);
  color:var(--ink);text-decoration:none;font-weight:700;font-size:15px}
.jc-menu__panel a svg{width:22px;height:22px;flex:none;stroke:var(--ai);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.jc-menu__panel a.jc-nav__help{background:var(--ai);border-color:var(--ai);color:#fff}
.jc-menu__panel a.jc-nav__help svg{stroke:#fff}
@media (max-width:420px){.jc-menu__panel ul{grid-template-columns:1fr}}
@media (max-width:480px){.jc-top .wrap{gap:10px}.jc-seal{width:40px;height:40px;font-size:22px}.jc-brand{gap:10px;min-width:0}
  .jc-brand__name b{font-size:18px;white-space:nowrap}.jc-brand__name small{letter-spacing:.02em;white-space:nowrap}.jc-menu summary{padding:8px 12px;gap:6px}}
@media (max-width:399px){.jc-menu summary{width:44px;padding:0;justify-content:center}
  .jc-menu summary span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}}

/* ---------------------------------------------------------- apertura della home */
.jc-hero{border-bottom:1px solid var(--line);background:var(--paper)}
.jc-hero .wrap{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px;align-items:center;padding-top:56px;padding-bottom:56px}
.jc-statute{position:relative;margin:0;padding:6px 0 0}
.jc-statute__ref{display:inline-block;font-family:var(--mincho);font-size:15px;color:var(--ai);border:1px solid var(--ai);
  border-radius:3px;padding:2px 10px;letter-spacing:.08em;margin:0 0 18px}
.jc-statute__text{font-family:var(--mincho);font-weight:700;font-size:clamp(1.7rem,3.6vw,2.75rem);line-height:1.55;letter-spacing:.05em;
  color:var(--ink);margin:0;font-feature-settings:"palt"}
.jc-statute__text span{display:block}
.jc-stamp{position:absolute;right:2%;top:-6px;display:inline-flex;align-items:center;justify-content:center;
  width:92px;height:92px;border:4px solid var(--shu);border-radius:50%;color:var(--shu);
  font-family:var(--mincho);font-weight:700;font-size:28px;letter-spacing:.06em;transform:rotate(-10deg);
  background:rgba(255,255,255,.82);animation:jc-stamp .5s cubic-bezier(.2,1.4,.4,1) .35s both}
@keyframes jc-stamp{from{transform:scale(1.5) rotate(-22deg);opacity:0}to{transform:scale(1) rotate(-10deg);opacity:1}}
.jc-verdict{display:flex;align-items:center;gap:16px;margin:0 0 24px;font-weight:700;color:var(--ink)}
.jc-verdict .jc-stamp{position:static;flex:none;width:76px;height:76px;font-size:23px;border-width:3px}
.jc-hero__side h1{font-size:clamp(1.5rem,2.4vw,1.95rem);margin:0 0 .6em}
.jc-hero__side p{color:var(--ink-2);margin:0 0 1.2em}
.jc-actions{display:flex;flex-wrap:wrap;gap:12px}
.jc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 20px;border-radius:999px;
  background:var(--ai);color:#fff;text-decoration:none;font-weight:700;font-size:15px;letter-spacing:.04em;border:2px solid var(--ai)}
.jc-btn:hover{background:var(--ai-deep);border-color:var(--ai-deep);color:#fff}
.jc-btn--line{background:transparent;color:var(--ai)}
.jc-btn--line:hover{background:var(--ai-soft);color:var(--ai-deep)}
@media (max-width:900px){.jc-hero .wrap{grid-template-columns:1fr;gap:28px;padding-top:36px;padding-bottom:40px}.jc-stamp{width:74px;height:74px;font-size:22px;right:0;top:-14px}}

/* i numeri, in riga, con la fonte */
.jc-facts{background:var(--wash);border-bottom:1px solid var(--line)}
.jc-facts dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:18px 0}
.jc-facts dl>div{padding:6px 20px;border-left:1px solid var(--line)}
.jc-facts dl>div:first-child{border-left:0;padding-left:0}
.jc-facts dt{font-size:14px;color:var(--muted);letter-spacing:.04em}
.jc-facts dd{margin:2px 0 0;font-size:15px;color:var(--ink-2)}
.jc-facts__note{margin:0;padding:0 0 16px;font-size:14px;color:var(--muted)}
.jc-facts dd b{font-family:var(--mincho);font-size:1.45rem;color:var(--ink);margin-right:.2em;font-variant-numeric:tabular-nums}
@media (max-width:760px){.jc-facts dl{grid-template-columns:1fr}.jc-facts dl>div{border-left:0;border-top:1px solid var(--line);padding:10px 0}.jc-facts dl>div:first-child{border-top:0}}

/* sezioni della home */
.jc-sec{padding:56px 0}
.jc-sec--wash{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.jc-sec__head{max-width:44em;margin:0 0 26px}
.jc-sec__head h2{font-size:clamp(1.45rem,2.6vw,1.85rem);margin:0 0 .35em}
.jc-sec__head p{color:var(--ink-2);margin:0}
.jc-sec .jc-article>h2:first-child{margin-top:0;border-top:0;padding-top:0}

/* il quadro dello stato legale: una tabella, letta come un registro */
.jc-status{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);font-size:15px}
.jc-status th,.jc-status td{text-align:left;vertical-align:middle;padding:14px 16px;border-bottom:1px solid var(--line-2)}
.jc-status thead th{background:var(--ink);color:#fff;font-weight:700;font-size:14px;letter-spacing:.06em}
.jc-status tbody th{font-family:var(--mincho);font-size:17px;font-weight:700;white-space:nowrap}
.jc-status tbody th a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.jc-status tbody th a:hover{color:var(--ai);border-color:var(--ai)}
.jc-status td.jc-status__law{color:var(--ink-2)}
@media (max-width:760px){
  .jc-status thead{display:none}
  .jc-status,.jc-status tbody,.jc-status tr,.jc-status th,.jc-status td{display:block;width:100%}
  .jc-status tr{border-bottom:1px solid var(--line);padding:12px 14px}
  .jc-status th,.jc-status td{border:0;padding:3px 0}
  .jc-status tbody th{white-space:normal}
  .jc-status td[data-k]::before{content:attr(data-k) "：";color:var(--muted);font-size:14px}
}
.jc-tag{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:700;font-size:14px;letter-spacing:.06em;
  padding:3px 10px;border-radius:3px;border:2px solid currentColor;font-family:var(--mincho)}
.jc-tag--illegal{color:#fff;background:var(--shu);border-color:var(--shu)}
.jc-tag--legal{color:var(--ai);background:var(--paper)}
.jc-tag--rules{color:var(--ink-2);background:var(--paper)}
.jc-tag--plan{color:var(--kin);background:var(--kin-soft);border-style:dashed}

/* l'indice, come il sommario di un libro */
.jc-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 44px}
.jc-toc section{border-top:3px solid var(--ink);padding-top:12px}
.jc-toc h3{font-family:var(--mincho);font-size:1.2rem;margin:0 0 6px}
.jc-toc h3 a{color:var(--ink);text-decoration:none}
.jc-toc h3 a:hover{color:var(--ai)}
.jc-toc ul{list-style:none;margin:0;padding:0}
.jc-toc li{display:flex;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px dotted var(--line)}
.jc-toc li a{color:var(--ink);text-decoration:none;font-weight:700;font-size:15px;flex:none;max-width:100%}
.jc-toc li a:hover{color:var(--ai);text-decoration:underline}
.jc-toc li span{color:var(--muted);font-size:14px;line-height:1.6}
@media (max-width:760px){.jc-toc{grid-template-columns:1fr}.jc-toc li{flex-direction:column;gap:2px}}

/* ---------------------------------------------------------- pagine interne */
.jc-page{padding:26px 0 56px}
.jc-crumbs{font-size:14px;color:var(--muted);margin:0 0 18px}
.jc-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0}
.jc-crumbs li{display:inline}
.jc-crumbs li+li::before{content:"\203A";margin:0 .55em;color:var(--line)}
.jc-crumbs a{color:var(--muted)}
.jc-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--side);gap:52px;align-items:start}
@media (max-width:1023px){.jc-layout{grid-template-columns:minmax(0,1fr)}}
.jc-article{max-width:var(--col);min-width:0}
.jc-article h1{font-size:clamp(1.65rem,3vw,2.3rem);margin:0 0 .5em}
.jc-lede{font-size:1.06em;color:var(--ink-2)}
.jc-byline{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--muted);padding:10px 0 12px;margin:0 0 26px;
  border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.jc-byline p{margin:0}
.jc-byline b{color:var(--ink-2)}
.jc-article h2{font-size:1.45rem;margin:2.1em 0 .7em;padding-top:.2em;border-top:1px solid var(--line-2);padding-top:.9em}
.jc-article h3{font-size:1.12rem;margin:1.7em 0 .5em}
.jc-article ul,.jc-article ol{margin:0 0 1.2em;padding-left:1.4em}
.jc-article li{margin:.25em 0}

.jc-key{background:var(--ai-soft);border-left:4px solid var(--ai);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:16px 20px 12px;margin:0 0 30px}
.jc-key h2{font-family:var(--sans);font-size:15px;border:0;margin:0 0 6px;padding:0;color:var(--ai-deep);letter-spacing:.06em}
.jc-key ul{margin:0;padding-left:1.2em}
.jc-key li{margin:.3em 0}

.jc-box{border-radius:var(--r-sm);padding:16px 20px;margin:1.4em 0;border:1px solid var(--line);background:var(--wash)}
.jc-box p{margin:0 0 .6em}.jc-box p:last-child{margin:0}
.jc-box__title{display:block;font-weight:700;margin:0 0 .35em;color:var(--ink)}
.jc-box--warn{background:var(--shu-soft);border-color:#f0c8c0}
.jc-box--warn .jc-box__title{color:var(--shu-ink)}
.jc-box--info{background:var(--ai-soft);border-color:#c9d6ef}
.jc-box--note{background:var(--kin-soft);border-color:#ecd49a}
.jc-box--note .jc-box__title{color:var(--kin)}

.jc-legal{margin:1.6em 0;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);overflow:hidden}
.jc-legal__ref{display:block;background:var(--ink);color:#fff;font-size:14px;font-weight:700;letter-spacing:.06em;padding:6px 14px}
.jc-legal blockquote{margin:0;padding:14px 18px;font-family:var(--mincho);font-size:1.02em;line-height:1.95;color:var(--ink)}
.jc-legal blockquote p{margin:0 0 .5em}.jc-legal blockquote p:last-child{margin:0}
.jc-legal__src{display:block;font-size:14px;color:var(--muted);padding:0 18px 12px}

.jc-table-wrap{overflow-x:auto;margin:1.4em 0;border:1px solid var(--line);border-radius:var(--r-sm)}
.jc-table{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
.jc-table caption{caption-side:top;text-align:left;font-weight:700;padding:10px 14px;background:var(--wash);border-bottom:1px solid var(--line)}
.jc-table th,.jc-table td{padding:10px 14px;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top}
.jc-table thead th{background:var(--ai-soft);color:var(--ai-deep);font-size:14px;letter-spacing:.04em}
.jc-table td.num,.jc-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.jc-table tr:last-child td{border-bottom:0}
.jc-table tbody th{min-width:6em}
/* sul telefono la tabella diventa una pila di schede: ogni cella porta il nome della sua colonna (data-k) */
@media (max-width:600px){
  .jc-table-wrap{overflow:visible;border:0;border-radius:0}
  .jc-table{min-width:0}
  .jc-table caption{display:block;width:auto;background:none;border:0;padding:0 0 8px}
  .jc-table thead{display:none}
  .jc-table,.jc-table tbody,.jc-table tr,.jc-table th,.jc-table td{display:block;width:100%}
  .jc-table tr{border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 14px;margin:0 0 8px}
  .jc-table tbody th{min-width:0;padding:0 0 4px;border:0;font-size:16px}
  .jc-table td,.jc-table td.num{padding:2px 0;border:0;text-align:left;white-space:normal}
  .jc-table td[data-k]:not([data-k=""])::before{content:attr(data-k) "：";color:var(--muted);font-size:14px;font-weight:400}
}

/* figure a barre (visivi.py): una tinta, la lunghezza fa il lavoro, il numero è scritto */
figure.vis{margin:1.6em 0;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper)}
.gr__asse{font-size:14px;color:var(--muted);margin:0 0 10px}
.gr__riga{display:grid;grid-template-columns:minmax(9em,13em) minmax(0,1fr) minmax(5.5em,max-content);gap:6px 14px;align-items:center;padding:6px 0}
.gr__nome{font-size:15px;color:var(--ink)}
.gr__pista{display:block;background:var(--wash);border-radius:3px;height:14px;overflow:hidden}
.gr__barra{display:block;height:100%;background:var(--ai);border-radius:3px}
.gr__barra--debole{background:#9fb2d6}
.gr__cifra{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;text-align:right}
.vis__podpis{display:block;font-size:14px;color:var(--muted);margin:10px 0 0;line-height:1.7}
@media (max-width:600px){.gr__riga{grid-template-columns:minmax(0,1fr) minmax(5.5em,max-content)}.gr__nome{grid-column:1 / -1}.gr__pista{grid-column:1}}

/* domande frequenti: <details class="ed-faq"> */
.jc-faq{margin:2.2em 0 0}
.jc-faq h2{margin-top:0}
details.ed-faq{border:1px solid var(--line);border-radius:var(--r-sm);margin:0 0 10px;background:var(--paper)}
details.ed-faq summary{cursor:pointer;list-style:none;padding:14px 46px 14px 18px;font-weight:700;position:relative;line-height:1.7}
details.ed-faq summary::-webkit-details-marker{display:none}
details.ed-faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--ai);line-height:1}
details.ed-faq[open] summary::after{content:"\2212"}
details.ed-faq[open] summary{border-bottom:1px solid var(--line-2)}
.ed-faq-a{padding:12px 18px 4px}

/* fonti e pagine correlate */
.jc-sources{margin:2.4em 0 0;padding:16px 20px;background:var(--wash);border-radius:var(--r-sm);font-size:15px}
.jc-sources h2{font-family:var(--sans);font-size:15px;border:0;margin:0 0 6px;padding:0;letter-spacing:.06em}
.jc-sources ol{margin:0;padding-left:1.4em}
.jc-sources li{margin:.35em 0;line-height:1.7}
.jc-related{margin:2.4em 0 0}
.jc-related h2{font-family:var(--sans);font-size:1.05rem;border:0;margin:0 0 10px;padding:0}
.jc-related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.jc-related a{display:block;height:100%;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r-sm);text-decoration:none;color:var(--ink)}
.jc-related a b{display:block;font-size:15px;margin:0 0 2px}
.jc-related a span{display:block;font-size:14px;color:var(--muted);line-height:1.6}
.jc-related a:hover{border-color:var(--ai);background:var(--ai-soft)}
@media (max-width:600px){.jc-related ul{grid-template-columns:1fr}}

/* colonna laterale */
.jc-side{position:sticky;top:16px;display:grid;gap:18px;font-size:15px}
@media (max-width:1023px){.jc-side{position:static}.jc-side .jc-help{display:none}}
.jc-side__box{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;background:var(--paper)}
.jc-side__box h2{font-family:var(--sans);font-size:15px;margin:0 0 8px;border:0;padding:0;letter-spacing:.04em}
.jc-side__box ul{list-style:none;margin:0;padding:0}
.jc-side__box li{border-top:1px solid var(--line-2)}
.jc-side__box li:first-child{border-top:0}
.jc-side__box li a{display:block;padding:8px 0;color:var(--ink);text-decoration:none;line-height:1.6}
.jc-side__box li a:hover{color:var(--ai)}
.jc-side__box li a[aria-current="page"]{color:var(--ai-deep);font-weight:700}
.jc-help{background:var(--ai-deep);color:#fff;border-color:var(--ai-deep)}
.jc-help h2{color:#fff}
.jc-help p{margin:0 0 .7em;line-height:1.7}
.jc-help a{color:#fff}
.jc-help dl{margin:0}
.jc-help dt{font-size:14px;opacity:.92}
.jc-help dd{margin:0 0 10px;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}

/* banda d'aiuto in fondo a ogni pagina */
.jc-band{background:var(--ai-deep);color:#fff;padding:34px 0}
.jc-band .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:28px;align-items:start}
.jc-band h2{color:#fff;font-size:1.35rem;margin:0 0 .4em}
.jc-band p{margin:0;color:#e3e9f5;line-height:1.8}
.jc-band dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:0}
.jc-band dt{font-size:14px;color:#d7e0f1}
.jc-band dd{margin:0;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}
.jc-band dd small{display:block;font-size:14px;font-weight:400;color:#d7e0f1}
.jc-band a{color:#fff}
@media (max-width:820px){.jc-band .wrap{grid-template-columns:1fr}.jc-band dl{grid-template-columns:1fr}}

/* piè di pagina */
.jc-foot{background:#171d29;color:#d3d9e4;padding:40px 0 30px;font-size:15px}
.jc-foot a{color:#fff}
.jc-foot__grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:28px}
.jc-foot h2{font-family:var(--sans);font-size:15px;color:#fff;margin:0 0 8px;letter-spacing:.04em}
.jc-foot ul{list-style:none;margin:0;padding:0}
.jc-foot li{margin:0 0 6px}
.jc-foot p{margin:0 0 .8em;line-height:1.8}
.jc-foot__legal{margin-top:26px;padding-top:18px;border-top:1px solid #333c4d;font-size:14px;color:#c3cad7}
.jc-foot__legal p{margin:0 0 .4em}
@media (max-width:900px){.jc-foot__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.jc-foot__grid{grid-template-columns:1fr}}

/* banner del consenso (js/doui.js): «同意する» e «同意しない» uguali per forma, peso e posto;
   lo disegna solo questo foglio, perché la Content-Security-Policy non ammette stili in linea */
.cc-banner{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--paper);color:var(--ink);
  border-top:3px solid var(--ai);box-shadow:0 -6px 24px rgba(31,39,53,.14)}
.cc-banner .cc-inner{max-width:var(--wrap);margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:14px 28px}
.cc-banner .cc-text{margin:0;flex:1 1 auto;font-size:14px;line-height:1.75;color:var(--ink)}
.cc-banner .cc-text a{white-space:nowrap}
.cc-banner .cc-btns{display:flex;gap:10px;flex:none}
.cc-banner .cc-btn{min-height:44px;min-width:128px;padding:8px 18px;border:2px solid var(--ai);border-radius:999px;
  background:var(--paper);color:var(--ai);font:700 15px/1.3 var(--sans);letter-spacing:.04em;cursor:pointer}
.cc-banner .cc-btn:hover{background:var(--ai-soft);color:var(--ai-deep)}
@media (max-width:760px){.cc-banner .cc-inner{flex-direction:column;align-items:stretch;padding:14px 16px}
  .cc-banner .cc-btns{width:100%}.cc-banner .cc-btn{flex:1 1 0;min-width:0}}
/* il pulsante che riapre il banner, nella privacy: lo stesso disegno dei pulsanti del sito */
button.jc-btn{font:700 15px/1.3 var(--sans);letter-spacing:.04em;cursor:pointer}

/* 404 */
.jc-404{padding:60px 0 70px}
.jc-404 h1{font-size:clamp(1.6rem,3vw,2.2rem)}

/* larghezze delle barre (visivi.py): una classe per punto percentuale, perché il CSP vieta style= */
.gr-w-0{width:0}.gr-w-1{width:1%}.gr-w-2{width:2%}.gr-w-3{width:3%}.gr-w-4{width:4%}.gr-w-5{width:5%}.gr-w-6{width:6%}.gr-w-7{width:7%}.gr-w-8{width:8%}.gr-w-9{width:9%}
.gr-w-10{width:10%}.gr-w-11{width:11%}.gr-w-12{width:12%}.gr-w-13{width:13%}.gr-w-14{width:14%}.gr-w-15{width:15%}.gr-w-16{width:16%}.gr-w-17{width:17%}.gr-w-18{width:18%}.gr-w-19{width:19%}
.gr-w-20{width:20%}.gr-w-21{width:21%}.gr-w-22{width:22%}.gr-w-23{width:23%}.gr-w-24{width:24%}.gr-w-25{width:25%}.gr-w-26{width:26%}.gr-w-27{width:27%}.gr-w-28{width:28%}.gr-w-29{width:29%}
.gr-w-30{width:30%}.gr-w-31{width:31%}.gr-w-32{width:32%}.gr-w-33{width:33%}.gr-w-34{width:34%}.gr-w-35{width:35%}.gr-w-36{width:36%}.gr-w-37{width:37%}.gr-w-38{width:38%}.gr-w-39{width:39%}
.gr-w-40{width:40%}.gr-w-41{width:41%}.gr-w-42{width:42%}.gr-w-43{width:43%}.gr-w-44{width:44%}.gr-w-45{width:45%}.gr-w-46{width:46%}.gr-w-47{width:47%}.gr-w-48{width:48%}.gr-w-49{width:49%}
.gr-w-50{width:50%}.gr-w-51{width:51%}.gr-w-52{width:52%}.gr-w-53{width:53%}.gr-w-54{width:54%}.gr-w-55{width:55%}.gr-w-56{width:56%}.gr-w-57{width:57%}.gr-w-58{width:58%}.gr-w-59{width:59%}
.gr-w-60{width:60%}.gr-w-61{width:61%}.gr-w-62{width:62%}.gr-w-63{width:63%}.gr-w-64{width:64%}.gr-w-65{width:65%}.gr-w-66{width:66%}.gr-w-67{width:67%}.gr-w-68{width:68%}.gr-w-69{width:69%}
.gr-w-70{width:70%}.gr-w-71{width:71%}.gr-w-72{width:72%}.gr-w-73{width:73%}.gr-w-74{width:74%}.gr-w-75{width:75%}.gr-w-76{width:76%}.gr-w-77{width:77%}.gr-w-78{width:78%}.gr-w-79{width:79%}
.gr-w-80{width:80%}.gr-w-81{width:81%}.gr-w-82{width:82%}.gr-w-83{width:83%}.gr-w-84{width:84%}.gr-w-85{width:85%}.gr-w-86{width:86%}.gr-w-87{width:87%}.gr-w-88{width:88%}.gr-w-89{width:89%}
.gr-w-90{width:90%}.gr-w-91{width:91%}.gr-w-92{width:92%}.gr-w-93{width:93%}.gr-w-94{width:94%}.gr-w-95{width:95%}.gr-w-96{width:96%}.gr-w-97{width:97%}.gr-w-98{width:98%}.gr-w-99{width:99%}
.gr-w-100{width:100%}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.jc-top,.jc-band,.jc-foot,.jc-side,.jc-menu,.cc-banner{display:none}body{font-size:11pt}a{color:inherit}}
