/* Archivo (width 125 = extended), self-hosted — vedi assets/fonts/ */
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 125%;
  font-display: swap;
  src: url(fonts/archivo-1.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 125%;
  font-display: swap;
  src: url(fonts/archivo-2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 125%;
  font-display: swap;
  src: url(fonts/archivo-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 125%;
  font-display: swap;
  src: url(fonts/archivo-1.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 125%;
  font-display: swap;
  src: url(fonts/archivo-2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 125%;
  font-display: swap;
  src: url(fonts/archivo-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* =========================================================
   CASA PIÙ DESIGN — site styles
   Color blocking white / deep blue. Red only for CTAs.
   ========================================================= */

:root{
  /* Type */
  --display:"Archivo","Nimbus Sans Extd Bold","Nimbus Sans","Helvetica Neue Condensed Bold","Arial Narrow",Helvetica,Arial,sans-serif;
  --sans:"Helvetica LT Pro Roman","Helvetica Neue",Helvetica,Arial,sans-serif;

  /* Brand */
  --blue:#1d1b6e;
  --blue-deep:#15144f;
  --blue-darker:#0b0a3a;
  --red:#e1251b;
  --red-hover:#c91d14;
  --mint:#cfe2d2;

  /* Neutral */
  --ink:#15151a;
  --ink-2:#3a3a45;
  --muted:#6e6e78; /* min 4.5:1 su --paper e bianco (WCAG 1.4.3) */
  --line:rgba(20,20,25,.10);
  --line-soft:rgba(20,20,25,.05);
  --line-on-dark:rgba(255,255,255,.14);
  --paper:#fafaf7;
  --paper-2:#f1efe8;
  --white:#ffffff;

  /* Shape */
  --r:14px;
  --r-sm:10px;
  --r-pill:999px;

  /* Shadow */
  --shadow-sm:0 1px 2px rgba(20,20,30,.04);
  --shadow:0 12px 32px -16px rgba(20,20,40,.18),0 2px 6px rgba(20,20,40,.04);
  --shadow-lg:0 32px 80px -32px rgba(20,20,40,.32),0 8px 16px -8px rgba(20,20,40,.10);

  /* Layout */
  --maxw:1280px;
  --pad:32px;

  /* Motion */
  --ease:cubic-bezier(.22,.8,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --t-fast:200ms;
  --t-med:380ms;
  --t-slow:700ms;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip} /* le anim translateX pre-reveal non devono creare scroll orizzontale (WCAG 1.4.10) */
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button{font:inherit;cursor:pointer;border:0;background:0;color:inherit}

.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}

/* =========================================================
   Type primitives
   ========================================================= */
.display{font-family:var(--display);font-weight:800;line-height:.96;letter-spacing:.005em}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--display);text-transform:uppercase;letter-spacing:.18em;
  font-size:11px;color:var(--red-hover); /* --red puro = 4.48:1 su --paper, sotto AA */
}
.eyebrow::before{
  content:"";width:18px;height:1px;background:currentColor;
}
.eyebrow.on-dark{color:var(--mint)}

h1.display{font-size:clamp(40px,5.4vw,80px)}
h2.display{font-size:clamp(32px,4vw,56px);line-height:1}
h3.display{font-size:clamp(20px,1.8vw,26px);line-height:1.1}

/* =========================================================
   Buttons
   ========================================================= */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 24px;border-radius:var(--r-pill);
  font-family:var(--display);text-transform:uppercase;letter-spacing:.12em;font-size:12px;
  border:1px solid transparent;white-space:nowrap;cursor:pointer;
  transition:transform var(--t-fast) var(--ease),
             background var(--t-fast) var(--ease),
             color var(--t-fast) var(--ease),
             border-color var(--t-fast) var(--ease),
             box-shadow var(--t-med) var(--ease);
  will-change:transform;
}
.btn:hover{transform:translateY(-1px)}
.btn .ico{
  width:22px;height:22px;border-radius:var(--r-pill);
  display:inline-grid;place-items:center;flex-shrink:0;
  transition:transform var(--t-fast) var(--ease);
}
.btn:hover .ico{transform:translateX(3px)}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{background:var(--red-hover);box-shadow:0 10px 24px -10px rgba(225,37,27,.55)}
.btn-primary .ico{background:rgba(255,255,255,.18)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--blue)}
.btn-dark .ico{background:rgba(255,255,255,.14)}
.btn-light{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-light:hover{border-color:var(--ink)}
.btn-light .ico{background:var(--paper)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{background:var(--white);border-color:var(--ink)}
.btn-ghost .ico{background:var(--paper)}
.btn-ghost-light{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.22)}
.btn-ghost-light:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.40)}
.btn-ghost-light .ico{background:rgba(255,255,255,.14)}

/* =========================================================
   Nav
   ========================================================= */
nav.main{
  position:sticky;top:0;z-index:50;
  background:rgba(250,250,247,.78);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid var(--line-soft);
  transition:background var(--t-med) var(--ease);
}
nav.main .row{
  display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;
  padding:16px 0;
}
.brand{display:flex;align-items:center;gap:14px;min-width:180px;flex-shrink:0}
.brand img{height:64px;width:auto}
nav.main ul{
  list-style:none;margin:0;padding:0;display:flex;gap:6px;justify-content:flex-end;
}
nav.main ul a{
  position:relative;padding:10px 16px;border-radius:var(--r-pill);
  font-family:var(--display);text-transform:uppercase;font-size:11.5px;letter-spacing:.16em;
  color:var(--ink);
  transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
nav.main ul a:hover{background:#fff;color:var(--blue)}
nav.main ul a.is-active{background:var(--ink);color:#fff}

nav.main .row{position:relative}
.nav-toggle{
  display:none;width:44px;height:44px;border-radius:var(--r-sm);
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
  margin-left:auto;
}
.nav-toggle span{
  display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;
  transition:transform var(--t-fast) var(--ease), opacity var(--t-fast) var(--ease);
}
nav.main.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
nav.main.nav-open .nav-toggle span:nth-child(2){opacity:0}
nav.main.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* =========================================================
   Page header (sub-pages)
   ========================================================= */
.page-header{
  background:var(--paper);
  padding:48px 0 64px;
  border-bottom:1px solid var(--line-soft);
}
.page-header .row{
  display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:end;
}
.page-header h1{
  font-family:var(--display);font-weight:800;
  font-size:clamp(40px,5vw,72px);line-height:.98;letter-spacing:.005em;
  margin:14px 0 0;color:var(--ink);
}
.page-header p{
  color:var(--ink-2);font-size:17px;margin:18px 0 0;max-width:48ch;
}
.crumbs{
  font-family:var(--display);text-transform:uppercase;letter-spacing:.18em;
  font-size:11px;color:var(--muted);display:flex;gap:10px;align-items:center;
}
.crumbs a:hover{color:var(--ink)}
.crumbs .sep{opacity:.5}

/* =========================================================
   Section header (in-page)
   ========================================================= */
.sec-head{
  display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end;
  margin-bottom:40px;
}
.sec-head h2{margin:14px 0 0}
.sec-head p{color:var(--ink-2);font-size:16px;margin:14px 0 0;max-width:54ch}
.sec-head.on-dark h2{color:#fff}
.sec-head.on-dark p{color:rgba(255,255,255,.74)}

/* =========================================================
   Card primitive (placeholder image + label)
   ========================================================= */
.card{
  position:relative;display:flex;flex-direction:column;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  overflow:hidden;
  transition:transform var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease), border-color var(--t-med) var(--ease);
  will-change:transform;
}
.card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow);
  border-color:rgba(20,20,25,.18);
}
.card .ph{
  position:relative;aspect-ratio:4/3;overflow:hidden;
  background:
    repeating-linear-gradient(45deg, rgba(29,27,110,.05) 0 1px, transparent 1px 18px),
    repeating-linear-gradient(-45deg, rgba(29,27,110,.04) 0 1px, transparent 1px 18px),
    var(--paper-2);
  display:grid;place-items:center;
}
.card .ph::after{
  content:"";position:absolute;inset:14px;
  border:1px dashed rgba(29,27,110,.18);border-radius:var(--r-sm);
  pointer-events:none;
}
.card .ph-tag{
  position:absolute;top:14px;left:14px;
  font-family:var(--display);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--blue);background:rgba(255,255,255,.86);
  padding:5px 9px;border-radius:var(--r-pill);
  backdrop-filter:blur(4px);
}
/* Foto reale: <img> dentro .ph copre l'intera area e nasconde il placeholder */
.card .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.card .ph:has(img) .ph-glyph,
.card .ph:has(img)::after{display:none}
.card .ph-glyph{
  width:64px;height:64px;border-radius:var(--r-pill);
  background:rgba(29,27,110,.08);color:var(--blue);
  display:grid;place-items:center;
  transition:transform var(--t-med) var(--ease), background var(--t-med) var(--ease);
}
.card:hover .ph-glyph{transform:scale(1.08);background:rgba(29,27,110,.14)}
.card .meta{
  padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;
}
.card .cat{
  font-family:var(--display);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);
}
.card .name{
  font-family:var(--display);font-size:20px;line-height:1.1;letter-spacing:.005em;
  color:var(--ink);font-weight:800;
}
.card .desc{font-size:14px;color:var(--ink-2);line-height:1.45;margin:2px 0 0}
.card .arr{
  margin-top:12px;align-self:flex-start;
  font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--blue);
  display:inline-flex;align-items:center;gap:8px;
  transition:color var(--t-fast) var(--ease), gap var(--t-fast) var(--ease);
}
.card:hover .arr{color:var(--red-hover);gap:12px}

/* Dark variant — for use inside dark sections */
.card.on-dark{background:var(--white)}
.card.on-dark .ph{background:
  repeating-linear-gradient(45deg, rgba(29,27,110,.06) 0 1px, transparent 1px 18px),
  repeating-linear-gradient(-45deg, rgba(29,27,110,.05) 0 1px, transparent 1px 18px),
  #ecebe4;}

/* =========================================================
   Footer
   ========================================================= */
footer.site{
  background:var(--blue-deep);color:#cccdd4;
  padding:72px 0 28px;
}
footer.site .grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;align-items:start;
}
footer.site .brand-blk img{
  height:72px;background:#fff;padding:8px;border-radius:8px;
}
footer.site .tagline{color:rgba(255,255,255,.66);font-size:13.5px;margin:18px 0 18px;max-width:34ch}
footer.site h4{
  font-family:var(--display);font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  margin:0 0 16px;color:#fff;
}
footer.site ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:14px;color:rgba(255,255,255,.78)}
footer.site ul a:hover{color:var(--mint)}
footer.site .legal{
  margin-top:56px;padding-top:20px;border-top:1px solid var(--line-on-dark);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-size:12px;color:rgba(255,255,255,.55);letter-spacing:.04em;
}
footer.site .legal a{color:rgba(255,255,255,.78);text-decoration:underline}
footer.site .legal a:hover{color:var(--mint)}
footer.site .socials{display:flex;gap:8px;margin-top:14px}
footer.site .socials a{
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.08);
  display:grid;place-items:center;color:#fff;
  transition:background var(--t-fast) var(--ease);
}
footer.site .socials a:hover{background:var(--red)}

/* =========================================================
   Animations — scroll reveal
   ========================================================= */
[data-anim]{
  opacity:0;transform:translateY(28px);
  transition:opacity var(--t-slow) var(--ease-out),
             transform var(--t-slow) var(--ease-out);
  transition-delay:var(--anim-delay,0ms);
  will-change:opacity,transform;
}
[data-anim="fade"]{transform:none}
[data-anim="left"]{transform:translateX(-32px)}
[data-anim="right"]{transform:translateX(32px)}
[data-anim].is-in{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  [data-anim]{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  .btn,.card{transition:none}
}

/* =========================================================
   Mappa: consenso click-to-load
   ========================================================= */
.map-consent{
  position:absolute;inset:0;width:100%;height:100%;
  display:grid;place-items:center;text-align:center;padding:24px;
  background:
    repeating-linear-gradient(45deg, rgba(29,27,110,.05) 0 1px, transparent 1px 18px),
    var(--paper-2);
  color:var(--ink-2);cursor:pointer;
  transition:background var(--t-fast) var(--ease);
}
.map-consent:hover{background:var(--paper)}
.map-consent-in{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:34ch}
.map-consent strong{font-family:var(--display);font-size:15px;color:var(--ink);letter-spacing:.04em}
.map-consent-in > span{font-size:13.5px;line-height:1.4}
.map-consent-cta{
  margin-top:8px;font-family:var(--display);text-transform:uppercase;letter-spacing:.12em;font-size:12px;
  background:var(--blue);color:#fff;padding:12px 20px;border-radius:var(--r-pill);
}

/* ---------- Cookie banner (riquadro in basso a sinistra, discreto) ---------- */
.cookie-banner{
  position:fixed;left:16px;bottom:16px;z-index:9999;
  width:calc(100% - 32px);max-width:380px;
  background:var(--white);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:0 18px 44px -18px rgba(20,20,25,.32);
  animation:cookieUp .3s var(--ease);
}
@keyframes cookieUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.cookie-banner-in{
  padding:18px 20px;display:flex;flex-direction:column;gap:14px;
}
.cookie-text strong{font-family:var(--display);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);display:block;margin-bottom:6px}
.cookie-text p{font-size:13px;line-height:1.5;color:var(--ink-2);margin:0}
.cookie-text a{color:var(--blue);text-decoration:underline}
.cookie-actions{display:flex;gap:10px}
.cookie-actions .btn{flex:1;justify-content:center;padding:11px 16px}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 1080px){
  .page-header .row{grid-template-columns:1fr;gap:24px}
  .sec-head{grid-template-columns:1fr;gap:18px}
  footer.site .grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media (max-width: 720px){
  :root{--pad:20px}
  /* Su mobile le reveal slittano in verticale, non in orizzontale: così le
     translateX pre-reveal non sporgono mai oltre il viewport, anche dove
     overflow-x:clip non è supportato (iOS Safari < 16). */
  [data-anim="left"],[data-anim="right"]{transform:translateY(24px)}
  nav.main .row{grid-template-columns:1fr auto;padding:9px 0}
  .nav-toggle{display:inline-flex}
  nav.main ul{
    display:none;position:absolute;left:0;right:0;top:calc(100% + 1px);
    flex-direction:column;gap:2px;justify-content:flex-start;
    background:rgba(250,250,247,.98);
    backdrop-filter:saturate(160%) blur(14px);
    -webkit-backdrop-filter:saturate(160%) blur(14px);
    border-bottom:1px solid var(--line);
    padding:10px var(--pad) 16px;
  }
  nav.main.nav-open ul{display:flex}
  nav.main ul a{display:block;padding:13px 14px}
  .brand{min-width:auto}
  .brand img{height:42px}
  footer.site{padding:56px 0 24px}
  footer.site .grid{grid-template-columns:1fr 1fr}
  /* touch target min 44px su mobile */
  footer.site .socials a{width:44px;height:44px}
  nav.main ul a{padding:14px}
}

/* =========================================================
   Form preventivo
   ========================================================= */
.form-section{padding:0 0 96px}
.form-wrap{
  display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;align-items:start;
  background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:44px;
}
.form-intro h2{margin:0}
.form-intro p{color:var(--ink-2);font-size:19px;line-height:1.5;margin:16px 0 0;max-width:40ch}
.quote-form{display:flex;flex-direction:column;gap:16px}
.quote-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.quote-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field label{
  font-family:var(--display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
}
.field input,.field select,.field textarea{
  width:100%;font:inherit;font-size:16px;color:var(--ink);
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:13px 14px;transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue);background:#fff;
}
.field textarea{resize:vertical;min-height:96px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink-2);line-height:1.45;cursor:pointer}
.consent input{margin-top:3px;flex-shrink:0;width:16px;height:16px;accent-color:var(--blue)}
.consent a{color:var(--blue);text-decoration:underline}
.quote-form .btn{align-self:flex-start;margin-top:4px}
.form-status{font-size:14px;margin:4px 0 0;min-height:1.2em}
.form-status.is-sending{color:var(--muted)}
.form-status.is-ok{color:#157a3a}
.form-status.is-err{color:var(--red-hover)}

@media (max-width: 1080px){
  .form-wrap{grid-template-columns:1fr;gap:24px;padding:32px 24px}
}
@media (max-width: 640px){
  .quote-form .row2{grid-template-columns:1fr}
}

/* ===== Partner / marchi trattati ===== */
.partners{padding:56px 0;background:var(--paper)}
.partners .eyebrow{display:block;text-align:center;font-size:14px;margin-bottom:24px}
/* loghi fermi e centrati (niente carosello/drift) */
.partners .logos{
  display:flex;flex-wrap:wrap;justify-content:center;gap:24px;
}
.partners .partner{
  flex:0 0 clamp(240px,70vw,300px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  padding:28px 32px;min-height:108px;
}
.partners .partner .brand-link{display:flex;align-items:center;justify-content:center;min-width:0}
.partners .partner img{max-height:52px;max-width:100%;width:auto;object-fit:contain}
.partners .partner .fb{
  width:38px;height:38px;border-radius:10px;
  display:grid;place-items:center;
  color:var(--blue);background:rgba(29,27,110,.06);
}
.partners .partner .fb:hover{background:rgba(29,27,110,.12)}
@media (max-width:640px){
  .partners .partner{padding:22px 24px}
}

/* =========================================================
   Reflow a 320px CSS senza scroll orizzontale (WCAG 1.4.10)
   ========================================================= */
@media (max-width:420px){
  .btn{white-space:normal;text-align:center}
  .sec-head{grid-template-columns:1fr;align-items:start}
  .sec-head > *,footer.site .grid > *{min-width:0}
  footer.site .grid{grid-template-columns:1fr;gap:28px}
}
