/* ============================================================
   Alpino Casino — foglio di stile (prefisso tqu-)
   Archetipo HEARTH: serif caldo + sans neutro, fasce tonali,
   angoli morbidi in alto, calore e quiete.
   ============================================================ */

:root{
  /* superfici (tono caldo) */
  --tqu-bg:#faf7f2;
  --tqu-surface:#fffdf9;
  --tqu-surface-2:#f1ebe1;
  --tqu-band:#daf1f1;            /* fascia brand chiara: header/footer/sezioni */
  --tqu-hairline:color-mix(in srgb, #20242c 12%, transparent);
  --tqu-hairline-2:color-mix(in srgb, #20242c 18%, transparent);

  /* testo */
  --tqu-ink:#20242c;
  --tqu-ink-2:#454b56;
  --tqu-ink-3:#5d636e;

  /* accenti brand */
  --tqu-accent:#1a3c7a;          /* link, kicker, stati attivi */
  --tqu-accent-soft:color-mix(in srgb, #1a3c7a 12%, transparent);
  --tqu-cta:#5a6f96;             /* fondo pulsanti azione (famiglia steel-blue) */
  --tqu-cta-soft:#7487a6;        /* tinta secondaria/hover */
  --tqu-cta-ink:#ffffff;

  /* misure */
  --tqu-wrap:1271px;
  --tqu-pad:clamp(16px,4vw,28px);
  --tqu-r-sm:8px;
  --tqu-r-md:14px;

  /* movimento premium (ease-out expo) */
  --tqu-ease:cubic-bezier(.22,1,.36,1);
  --tqu-measure:68ch;            /* misura di lettura editoriale (riga 65-75ch) */

  /* tipo scala (ratio ~1.25) */
  --tqu-step--1:clamp(.8rem,.78rem + .1vw,.86rem);
  --tqu-step-0:clamp(1rem,.97rem + .15vw,1.06rem);
  --tqu-step-1:clamp(1.16rem,1.08rem + .4vw,1.33rem);
  --tqu-step-2:clamp(1.4rem,1.25rem + .7vw,1.66rem);
  --tqu-step-3:clamp(1.7rem,1.45rem + 1.1vw,2.07rem);
  --tqu-step-4:clamp(2rem,1.6rem + 1.9vw,2.7rem);
  --tqu-step-5:clamp(2.3rem,1.7rem + 2.8vw,3.3rem);

  --tqu-head-h:#1a3c7a;
  --tqu-sans:"Mona Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --tqu-serif:"Yeseva One",Georgia,"Times New Roman",serif;
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body.tqu-body{
  margin:0;
  background:var(--tqu-bg);
  color:var(--tqu-ink);
  font-family:var(--tqu-sans);
  font-size:var(--tqu-step-0);
  line-height:1.62;
  font-weight:400;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto}

::selection{background:color-mix(in srgb,var(--tqu-accent) 22%,transparent);color:var(--tqu-ink)}
::marker{color:var(--tqu-accent)}

a{color:var(--tqu-accent)}

:focus-visible{outline:2px solid var(--tqu-accent);outline-offset:2px;border-radius:3px}

/* ---------- contenitore ---------- */
.tqu-wrap{
  width:100%;
  max-width:var(--tqu-wrap);
  margin-inline:auto;
  padding-inline:var(--tqu-pad);
}

.tqu-skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--tqu-accent);color:#fff;padding:10px 16px;border-radius:0 0 var(--tqu-r-sm) 0;
}
.tqu-skip:focus{left:0}

/* ---------- tipografia ---------- */
h1,h2,h3,h4{font-family:var(--tqu-serif);font-weight:400;line-height:1.12;color:var(--tqu-ink);text-wrap:balance;letter-spacing:-.01em}
h1{font-size:var(--tqu-step-5)}
h2{font-size:var(--tqu-step-3)}
h3{font-size:var(--tqu-step-2)}
h4{font-size:var(--tqu-step-1)}
p{text-wrap:pretty}

.tqu-kicker{
  display:block;
  font-family:var(--tqu-sans);
  font-weight:700;
  font-size:var(--tqu-step--1);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--tqu-accent);
  margin-bottom:.5rem;
}

/* ---------- header ---------- */
.tqu-head{
  position:sticky;top:0;z-index:80;
  background:var(--tqu-band);
  border-bottom:2px solid color-mix(in srgb,var(--tqu-accent) 28%,transparent);
}
.tqu-head__bar{
  display:flex;align-items:center;flex-wrap:nowrap;gap:18px;
  min-height:64px;padding-block:8px;
}
.tqu-logo{display:inline-flex;align-items:center;line-height:0;flex:0 0 auto}
.tqu-logo img{height:clamp(30px,4vw,42px);width:auto}

.tqu-burg-cb{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}

.tqu-burger{
  margin-left:auto;align-items:center;gap:8px;cursor:pointer;
  background:transparent;border:1px solid var(--tqu-hairline-2);
  border-radius:var(--tqu-r-sm);padding:8px 12px;color:var(--tqu-ink);
  font-family:var(--tqu-sans);font-weight:600;font-size:var(--tqu-step--1);min-height:44px;
}
.tqu-burger__lines{position:relative;width:18px;height:2px;background:currentColor;display:inline-block}
.tqu-burger__lines::before,.tqu-burger__lines::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
.tqu-burger__lines::before{top:-6px}
.tqu-burger__lines::after{top:6px}

.tqu-nav{margin-left:auto}
.tqu-nav__list{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(10px,1.4vw,22px);
}
.tqu-nav__list a{
  display:inline-block;white-space:nowrap;
  text-decoration:none;color:var(--tqu-ink);font-weight:600;font-size:var(--tqu-step--1);
  padding:6px 2px;position:relative;
  transition:color .15s ease;
}
.tqu-nav__list a:hover{color:var(--tqu-accent)}
.tqu-nav__list a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
  background:var(--tqu-accent);transform:scaleX(0);transform-origin:left;transition:transform .18s ease;
}
.tqu-nav__list a:hover::after,.tqu-nav__active::after{transform:scaleX(1)}

/* CTA in header */
.tqu-cta--head{margin-left:6px;flex:0 0 auto;white-space:nowrap}

/* ---------- CTA ---------- */
.tqu-cta{
  display:inline-flex;align-items:center;gap:.5em;
  background:var(--tqu-cta);color:var(--tqu-cta-ink);
  font-family:var(--tqu-sans);font-weight:700;font-size:var(--tqu-step-0);
  text-decoration:none;line-height:1;
  padding:14px 22px;min-height:48px;
  border-radius:0;
  border-top:3px solid color-mix(in srgb,#fff 38%,var(--tqu-cta));
  position:relative;
  box-shadow:0 1px 0 color-mix(in srgb,#000 8%,transparent);
  transition:transform .24s var(--tqu-ease),background-color .2s var(--tqu-ease),box-shadow .24s var(--tqu-ease);
}
.tqu-cta:hover{transform:translateY(-2px);background:var(--tqu-cta-soft);box-shadow:0 12px 26px -12px color-mix(in srgb,var(--tqu-cta) 80%,transparent)}
.tqu-cta:active{transform:translateY(1px)}
.tqu-cta__arrow{display:inline-block;transition:transform .15s ease}
.tqu-cta:hover .tqu-cta__arrow{transform:translateX(3px)}

.tqu-ctarow{display:flex;justify-content:center;margin:1.6rem 0}

/* ---------- main ---------- */
.tqu-main{display:block;padding-bottom:48px}

/* ---------- briciole ---------- */
.tqu-crumbs{padding-top:16px}
.tqu-crumbs__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:var(--tqu-step--1);color:var(--tqu-ink-3)}
.tqu-crumbs__list a{color:var(--tqu-ink-2);text-decoration:none}
.tqu-crumbs__list a:hover{color:var(--tqu-accent);text-decoration:underline;text-underline-offset:2px}
.tqu-crumbs__sep{color:var(--tqu-ink-3);margin-left:6px}
.tqu-crumbs__item span[aria-current]{color:var(--tqu-ink)}

/* ---------- hero editoriale ---------- */
.tqu-hero{padding-block:clamp(28px,4vw,52px) clamp(20px,3vw,34px);border-bottom:2px solid var(--tqu-hairline)}
.tqu-hero__grid{
  display:grid;align-items:center;gap:clamp(18px,3vw,40px);
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
}
.tqu-hero__copy{display:flex;flex-direction:column;gap:14px;min-width:0}
.tqu-hero__h1{margin:0;font-size:clamp(2.2rem,1.55rem + 3.1vw,3.5rem);line-height:1.04;letter-spacing:-.02em;text-wrap:balance}
.tqu-hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.tqu-hero__second{font-weight:600;font-size:var(--tqu-step-0);text-decoration:none;color:var(--tqu-accent);border-bottom:2px solid color-mix(in srgb,var(--tqu-accent) 40%,transparent);padding-bottom:2px}
.tqu-hero__second:hover{border-color:var(--tqu-accent)}
.tqu-hero__micro{margin:0;font-size:var(--tqu-step--1);color:var(--tqu-ink-3)}
.tqu-hero__lead{margin:0;font-size:var(--tqu-step-1);color:var(--tqu-ink-2);max-width:46ch}
.tqu-hero__quote{
  margin:0;padding:18px 20px 18px 26px;
  background:var(--tqu-band);
  border-left:3px solid var(--tqu-accent);
  border-radius:0 var(--tqu-r-md) var(--tqu-r-md) 0;
}
.tqu-hero__quote blockquote{
  margin:0;font-family:var(--tqu-serif);font-size:var(--tqu-step-3);line-height:1.22;color:var(--tqu-ink);
}
.tqu-hero__quote blockquote::before{content:"“";color:var(--tqu-ink-3)}
.tqu-hero__quote blockquote::after{content:"”";color:var(--tqu-ink-3)}
.tqu-hero__quote figcaption{margin-top:10px;font-size:var(--tqu-step--1);letter-spacing:.08em;text-transform:uppercase;color:var(--tqu-accent);font-weight:700}

/* fascia fatti */
.tqu-facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;
  margin:18px 0 0;background:var(--tqu-hairline);
  border:1px solid var(--tqu-hairline);border-radius:var(--tqu-r-md) var(--tqu-r-md) 0 0;overflow:hidden;
}
.tqu-facts__item{background:var(--tqu-surface);padding:14px 16px;min-width:0}
.tqu-facts__item dt{font-size:var(--tqu-step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--tqu-ink-3);margin-bottom:4px}
.tqu-facts__item dd{margin:0;font-weight:700;font-size:var(--tqu-step-1);color:var(--tqu-ink);font-variant-numeric:tabular-nums lining-nums}

/* ---------- intestazione semplice (trust) ---------- */
.tqu-pagetitle{padding-block:clamp(20px,3vw,34px) clamp(12px,2vw,20px);border-bottom:2px solid var(--tqu-hairline)}
.tqu-pagetitle__h1{margin:0;font-size:clamp(2rem,1.5rem + 2.2vw,2.9rem)}
.tqu-pagetitle__lead{margin:12px 0 0;font-size:var(--tqu-step-1);color:var(--tqu-ink-2);max-width:62ch}

/* ---------- firma autore ---------- */
.tqu-byline{display:flex;align-items:center;gap:14px;padding-block:16px}
.tqu-byline__img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:1px solid var(--tqu-hairline)}
.tqu-byline__meta{min-width:0}
.tqu-byline__by{margin:0;font-weight:600;font-size:var(--tqu-step-0)}
.tqu-byline__by a{color:var(--tqu-accent);text-decoration:none}
.tqu-byline__by a:hover{text-decoration:underline;text-underline-offset:2px}
.tqu-byline__role{color:var(--tqu-ink-3);font-weight:400}
.tqu-byline__dates{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:var(--tqu-step--1);color:var(--tqu-ink-3)}
.tqu-byline__dates time{font-variant-numeric:tabular-nums}

/* ---------- prosa / corpo ---------- */
.tqu-prose{padding-block:clamp(30px,4vw,56px)}
.tqu-prose>*{max-width:none}
.tqu-prose p,.tqu-prose ul:not(.tqu-slotgrid),.tqu-prose ol{font-size:var(--tqu-step-0);color:var(--tqu-ink-2)}
.tqu-prose h2,.tqu-prose h3,.tqu-prose h4{color:var(--tqu-ink);scroll-margin-top:90px}
.tqu-prose h2{margin:2.4em 0 .55em;font-size:var(--tqu-step-3)}
.tqu-prose h2:first-child{margin-top:0}
.tqu-prose h3{margin:1.8em 0 .4em;font-size:var(--tqu-step-2)}
.tqu-prose p{margin:0 0 1.15em;line-height:1.68}
.tqu-prose a:not(.tqu-cta){color:var(--tqu-accent);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.tqu-prose a:not(.tqu-cta):hover{text-decoration-thickness:2px}

/* bu3a iniziale (drop cap) per le sezioni-capitolo */
.tqu-chapter{position:relative;padding-block:clamp(16px,2.4vw,26px)}
.tqu-chapter+.tqu-chapter{border-top:1px solid var(--tqu-hairline)}

/* liste con pallino outline */
.tqu-prose ul:not(.tqu-slotgrid):not(.tqu-nav__list){list-style:none;padding-left:0;margin:0 0 1.1em}
.tqu-prose ul:not(.tqu-slotgrid):not(.tqu-nav__list) li{position:relative;padding-left:1.6em;margin:.36em 0}
.tqu-prose ul:not(.tqu-slotgrid):not(.tqu-nav__list) li::before{
  content:"";position:absolute;left:0;top:.5em;width:11px;height:11px;border-radius:50%;
  border:1.5px solid var(--tqu-accent);transition:transform .14s ease,background-color .14s ease;
}
.tqu-prose ul:not(.tqu-slotgrid):not(.tqu-nav__list) li:hover::before{background:var(--tqu-accent);transform:scale(1.15)}

/* liste numerate con numero sporgente */
.tqu-steps{list-style:none;counter-reset:tqu-st;padding-left:0;margin:0 0 1.2em}
.tqu-steps li{position:relative;padding-left:2.6em;margin:.6em 0;counter-increment:tqu-st}
.tqu-steps li::before{
  content:counter(tqu-st);position:absolute;left:0;top:0;width:2em;text-align:center;
  font-family:var(--tqu-serif);color:var(--tqu-accent);font-size:1.1em;
}

/* ---------- tabelle ---------- */
.tqu-tablewrap{overflow-x:auto;margin:1.2rem 0}
.tqu-prose table,table{
  width:100%;border-collapse:collapse;font-size:var(--tqu-step-0);
  font-variant-numeric:tabular-nums lining-nums;background:var(--tqu-surface);
}
table caption{caption-side:top;text-align:left;font-weight:600;color:var(--tqu-ink-3);margin-bottom:8px;font-size:var(--tqu-step--1)}
th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--tqu-hairline);vertical-align:top}
thead th{background:var(--tqu-surface-2);font-family:var(--tqu-sans);font-weight:700;color:var(--tqu-ink)}
tbody tr:hover{background:color-mix(in srgb,var(--tqu-accent) 5%,transparent)}
td:first-child,th:first-child{font-weight:600}

/* ---------- callout ---------- */
.tqu-note{
  background:var(--tqu-band);border-radius:var(--tqu-r-md) var(--tqu-r-md) 0 0;
  border-top:3px solid var(--tqu-accent);padding:16px 18px;margin:1.4rem 0;
}
.tqu-note p{margin:0;color:var(--tqu-ink-2)}

/* ---------- TOC ---------- */
.tqu-toc{
  margin:1.2rem 0;border:1px solid var(--tqu-hairline);border-radius:var(--tqu-r-md) var(--tqu-r-md) 0 0;
  background:var(--tqu-surface);overflow:hidden;
}
.tqu-toc>summary{
  list-style:none;cursor:pointer;padding:14px 18px;font-weight:700;font-family:var(--tqu-sans);
  display:flex;justify-content:space-between;align-items:center;color:var(--tqu-ink);
}
.tqu-toc>summary::-webkit-details-marker{display:none}
.tqu-toc>summary::after{content:"+";color:var(--tqu-accent);font-size:1.3em;line-height:1}
.tqu-toc[open]>summary::after{content:"–"}
.tqu-toclist{list-style:none;counter-reset:tqu-toc;margin:0;padding:6px 18px 16px}
.tqu-toclist li{counter-increment:tqu-toc;margin:.3em 0}
.tqu-toclist li::before{content:counter(tqu-toc) ". ";color:var(--tqu-accent);font-weight:700}
.tqu-toclist a{color:var(--tqu-ink-2);text-decoration:none}
.tqu-toclist a:hover{color:var(--tqu-accent);text-decoration:underline;text-underline-offset:2px}

/* ---------- FAQ ---------- */
.tqu-faq{margin:1.4rem 0;display:flex;flex-direction:column;gap:10px}
details.tqu-faq__q,details{
  border:1px solid var(--tqu-hairline);border-radius:var(--tqu-r-md) var(--tqu-r-md) 0 0;
  background:var(--tqu-surface);overflow:hidden;
}
.tqu-faq__q>summary,details>summary{
  list-style:none;cursor:pointer;padding:14px 18px;font-weight:700;font-family:var(--tqu-sans);
  color:var(--tqu-ink);display:flex;justify-content:space-between;align-items:center;gap:14px;
}
summary::-webkit-details-marker{display:none}
.tqu-faq__q>summary::after,details>summary::after{content:"+";color:var(--tqu-accent);font-size:1.3em;line-height:1;flex:0 0 auto}
.tqu-faq__q[open]>summary::after,details[open]>summary::after{content:"–"}
.tqu-faq__a{padding:0 18px 16px;color:var(--tqu-ink-2)}
.tqu-faq__a p{margin:0 0 .7em}
.tqu-faq__a p:last-child{margin-bottom:0}

/* ---------- figure ---------- */
.tqu-figure{width:min(70%,740px);margin:1.4rem auto}
.tqu-figure img{width:100%;border-radius:var(--tqu-r-md) var(--tqu-r-md) 0 0;display:block;object-fit:cover}
.tqu-figure figcaption{font-size:var(--tqu-step--1);color:var(--tqu-ink-3);margin-top:8px;text-align:center}

/* ---------- slot ---------- */
.tqu-slots{padding-block:clamp(20px,3vw,34px);background:var(--tqu-surface)}
.tqu-slots__h2{margin:.2em 0 .3em;font-size:var(--tqu-step-3)}
.tqu-slots__h2 span{display:inline-block;transition:transform .2s ease}
.tqu-slots:hover .tqu-slots__h2 span{transform:translateY(-2px)}
.tqu-slots__h2 span:nth-child(2){transition-delay:.03s}
.tqu-slots__h2 span:nth-child(3){transition-delay:.06s}
.tqu-slots__h2 span:nth-child(4){transition-delay:.09s}
.tqu-slots__h2 span:nth-child(5){transition-delay:.12s}
.tqu-slots__h2 span:nth-child(6){transition-delay:.15s}
.tqu-slots__h2 span:nth-child(7){transition-delay:.18s}
.tqu-slots__h2 span:nth-child(8){transition-delay:.21s}
.tqu-slots__intro{color:var(--tqu-ink-2);max-width:70ch;margin:0 0 1.2rem}
.tqu-slotgrid{
  list-style:none;margin:0;padding:0;display:grid;gap:12px;
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.tqu-slotcard{
  display:block;color:inherit;text-decoration:none;
  border-radius:var(--tqu-r-md) var(--tqu-r-md) 0 0;overflow:hidden;
  background:var(--tqu-surface-2);border:1px solid var(--tqu-hairline);border-bottom:0;
  transition:transform .28s var(--tqu-ease),box-shadow .28s var(--tqu-ease),border-color .28s var(--tqu-ease);
}
.tqu-slotcard:hover{transform:translateY(-4px);box-shadow:0 14px 30px -14px rgba(26,60,122,.5);border-color:color-mix(in srgb,var(--tqu-accent) 45%,transparent)}
.tqu-slotcard__media{display:block;aspect-ratio:1/1;overflow:hidden}
.tqu-slotcard__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.tqu-slotcard:hover .tqu-slotcard__media img{transform:scale(1.05)}
.tqu-slotcard__name{display:block;padding:8px 10px;font-size:var(--tqu-step--1);font-weight:600;color:var(--tqu-ink);text-align:center}
.tqu-slots__all{margin:1.2rem 0 0}
.tqu-slots__all a{color:var(--tqu-accent);font-weight:600;text-decoration:none}
.tqu-slots__all a:hover{text-decoration:underline;text-underline-offset:2px}

/* ---------- scheda autore ---------- */
.tqu-authorcard{
  display:flex;gap:18px;align-items:flex-start;
  max-width:820px;margin:2rem auto 0;padding:22px;
  background:var(--tqu-band);border-radius:var(--tqu-r-md) var(--tqu-r-md) 0 0;
  border-top:3px solid var(--tqu-accent);
}
.tqu-authorcard__img{width:104px;height:104px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:2px solid var(--tqu-surface)}
.tqu-authorcard__body{min-width:0}
.tqu-authorcard__role{margin:0;font-size:var(--tqu-step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--tqu-accent);font-weight:700}
.tqu-authorcard__name{margin:.2em 0;font-size:var(--tqu-step-2)}
.tqu-authorcard__name a{color:var(--tqu-ink);text-decoration:none}
.tqu-authorcard__name a:hover{color:var(--tqu-accent)}
.tqu-authorcard__bio{margin:.3em 0;color:var(--tqu-ink-2)}
.tqu-authorcard__rev{margin:.3em 0;font-size:var(--tqu-step--1);color:var(--tqu-ink-3)}
.tqu-authorcard__link{margin:.5em 0 0}
.tqu-authorcard__link a{color:var(--tqu-accent);font-weight:600;text-decoration:none}
.tqu-authorcard__link a:hover{text-decoration:underline;text-underline-offset:2px}

/* ---------- pagina autore ---------- */
.tqu-author{padding-block:clamp(18px,2.6vw,30px)}
.tqu-author__head{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-bottom:1.4rem}
.tqu-author__photo{width:220px;aspect-ratio:3/4;object-fit:cover;border-radius:var(--tqu-r-md) var(--tqu-r-md) 0 0;flex:0 0 auto}
.tqu-author__bio{max-width:74ch}

/* ---------- footer ---------- */
.tqu-foot{background:var(--tqu-band);border-top:2px solid color-mix(in srgb,var(--tqu-accent) 28%,transparent);margin-top:32px}
.tqu-foot__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(22px,4vw,48px);padding-block:36px}
.tqu-foot__logo img{height:42px;width:auto}
.tqu-foot__desc{margin:14px 0 10px;color:var(--tqu-ink-2);max-width:46ch}
.tqu-foot__resp{font-size:var(--tqu-step--1);color:var(--tqu-ink-3);max-width:52ch}
.tqu-foot__resp a{color:var(--tqu-accent)}
.tqu-foot__nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
.tqu-foot__h{font-family:var(--tqu-sans);font-weight:700;font-size:var(--tqu-step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--tqu-ink);margin:0 0 10px}
.tqu-foot__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tqu-foot__col a{color:var(--tqu-ink-2);text-decoration:none;font-size:var(--tqu-step-0)}
.tqu-foot__col a:hover{color:var(--tqu-accent);text-decoration:underline;text-underline-offset:2px}
.tqu-foot__legal{border-top:1px solid var(--tqu-hairline-2)}
.tqu-foot__legal p{margin:0;padding-block:16px;font-size:var(--tqu-step--1);color:var(--tqu-ink-3)}

/* ---------- cookie ---------- */
.tqu-cookie{
  position:fixed;right:16px;bottom:16px;z-index:120;
  width:min(360px,calc(100vw - 32px));
  background:var(--tqu-surface);border:1px solid var(--tqu-hairline-2);
  border-radius:var(--tqu-r-md);padding:16px 18px;
  box-shadow:0 12px 32px -16px rgba(32,36,44,.5);
  opacity:0;transition:opacity .25s ease;
}
.tqu-cookie.is-on{opacity:1}
.tqu-cookie[hidden]{display:none}
.tqu-cookie__t{margin:0 0 12px;font-size:var(--tqu-step--1);color:var(--tqu-ink-2)}
.tqu-cookie__act{display:flex;align-items:center;gap:14px}
.tqu-cookie__ok{
  background:var(--tqu-cta);color:var(--tqu-cta-ink);border:0;cursor:pointer;
  font-family:var(--tqu-sans);font-weight:700;font-size:var(--tqu-step--1);
  padding:10px 18px;min-height:44px;border-radius:var(--tqu-r-sm);
  transition:background-color .15s ease,transform .14s ease;
}
.tqu-cookie__ok:hover{background:var(--tqu-cta-soft);transform:translateY(-1px)}
.tqu-cookie__link{font-size:var(--tqu-step--1);color:var(--tqu-accent)}

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:900px){
  .tqu-head__bar{flex-wrap:wrap}
  .tqu-burger{display:inline-flex}
  .tqu-logo{margin-right:auto}
  .tqu-nav{order:5;flex-basis:100%;margin-left:0;max-height:0;overflow:hidden;transition:max-height .25s ease}
  .tqu-burg-cb:checked~.tqu-nav{max-height:80vh}
  .tqu-nav__list{flex-direction:column;align-items:stretch;gap:0;padding:6px 0}
  .tqu-nav__list li{border-top:1px solid var(--tqu-hairline)}
  .tqu-nav__list a{display:block;padding:13px 4px}
  .tqu-nav__list a::after{display:none}
  .tqu-cta--head{order:4;margin-left:0}

  .tqu-hero__grid{grid-template-columns:minmax(0,1fr);text-align:center}
  .tqu-hero__copy{align-items:center}
  .tqu-hero__cta{justify-content:center}
  .tqu-hero__lead{max-width:60ch;margin-inline:auto}
  .tqu-hero__quote{text-align:left}

  .tqu-foot__grid{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:760px){
  .tqu-slotgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(min-width:761px) and (max-width:1024px){
  .tqu-slotgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(max-width:640px){
  .tqu-figure{width:100%}
  .tqu-authorcard{flex-direction:column;align-items:center;text-align:center}
  .tqu-author__head{flex-direction:column;align-items:flex-start}
  .tqu-foot__nav{grid-template-columns:minmax(0,1fr)}
  .tqu-prose table,table{font-size:var(--tqu-step--1)}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
