@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@600;700;800;900&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

/* =============================================================================
   SCT RESTYLE 2026  —  override runtime (look v2, colori reali del tema)
   Palette reale:  #014167 blu petrol · #74AF4C verde · #262831 ink
   Font:           Archivo (display) · Inter (body) · IBM Plex Mono (dati)
   Scope:          blocchi della HOME (hero, numeri, card, intro, teaser)
   Rollback:       rimuovi l'enqueue di questo file in functions.php
                   (oppure elimina il file dal tema). Nessuna modifica ai blocchi.
   ============================================================================= */

:root{
  --sct-blue:#014167;
  --sct-blue-2:#013354;
  --sct-blue-ink:#01293f;
  --sct-green:#74AF4C;
  --sct-green-2:#5f9a3d;
  --sct-green-soft:#9ccc7e;
  --sct-ink:#262831;
  --sct-muted:#5f6b70;
  --sct-muted-2:#8a959a;
  --sct-line:#e1e6e9;
  --sct-line-2:#c7cfd3;
  --sct-fd:'Archivo',system-ui,sans-serif;
  --sct-fb:'Inter',system-ui,sans-serif;
  --sct-fm:'IBM Plex Mono',monospace;
}

/* ---- Tipografia (scoped ai soli blocchi home) --------------------------- */
.hero-home,
.number-block-section,
.link-block-section,
.title-text-2cols-section,
.teaser-block-section{ font-family:var(--sct-fb); }

.hero-home h1,
.hero-home h2,
.number-block-section h3,
.link-block-section .link-block-wrapper h2,
.title-text-2cols-section .box-cv h2,
.teaser-block-section h3{
  font-family:var(--sct-fd) !important;
  letter-spacing:-.02em;
  font-weight:800;
}

/* ---- HERO --------------------------------------------------------------- */
.hero-home{ position:relative; background:var(--sct-blue-ink); }
.hero-home .hero-home-content{ position:relative; }

/* overlay petrol per leggibilità sopra l'immagine di sfondo */
.hero-home .hero-home-content::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg, rgba(1,41,63,.92) 0%, rgba(1,41,63,.6) 55%, rgba(1,41,63,.2) 100%);
}
/* firma wireframe tecnica (accento a destra) */
.hero-home .hero-home-content::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 560' fill='none' stroke='%238FD3F0' stroke-width='1'%3E%3Cpath d='M120 480C60 360 60 200 200 120 340 40 560 80 620 220 680 360 540 500 380 480'/%3E%3Cellipse cx='380' cy='300' rx='170' ry='70' opacity='.45'/%3E%3Cellipse cx='380' cy='300' rx='120' ry='46' opacity='.35'/%3E%3Ccircle cx='380' cy='300' r='8' fill='%2374AF4C' stroke='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right -4% center; background-size:min(760px,68%) auto;
  opacity:.5; mix-blend-mode:screen;
}
.hero-home .hero-home-content > .container{ position:relative; z-index:2; }
.hero-home h1,
.hero-home .h1{
  color:#fff !important;
  font-size:clamp(1.6rem,3.2vw,2.8rem) !important;  /* ridotto: rientra nell'altezza fissa, niente taglio */
  line-height:1.12 !important;
  max-width:20ch;
  margin:0 !important;
  text-shadow:none;
}

/* ---- NUMBERS / STATS ---------------------------------------------------- */
.number-block-section{ background:#fff; padding-block:clamp(40px,6vw,72px); }
.number-block-section .number-block-wrapper{
  display:grid; grid-template-columns:repeat(6,1fr);
  max-width:1240px; margin-inline:auto;
  border:1px solid var(--sct-line); border-right:0;
}
.number-block-section .number-block-wrapper .link-block-wrapper{
  border-right:1px solid var(--sct-line);
  padding:30px 20px; margin:0;
}
.number-block-section h3{ margin:0; }
.number-block-section .nr{
  display:block; font-family:var(--sct-fd); font-weight:800;
  color:var(--sct-blue); font-size:clamp(1.8rem,2.6vw,2.6rem);
  letter-spacing:-.02em; line-height:1;
}
.number-block-section .description{
  display:block; font-family:var(--sct-fb); font-weight:400;
  color:var(--sct-muted); font-size:.82rem; margin-top:8px; line-height:1.35;
}

/* ---- LINK BLOCK (card Soluzioni / Servizi / Settori) — stile v2 --------- */
.link-block-section{ background:#fff !important; padding-block:clamp(48px,7vw,90px) !important; }
.link-block-section .container-fluid{ max-width:1240px !important; margin-inline:auto !important; padding-inline:var(--sct-g) !important; }
.link-block-section .row.no-gutters{
  display:grid !important; grid-template-columns:repeat(3,1fr) !important;
  gap:20px !important; margin:0 !important;
}
.link-block-section .row.no-gutters > a{
  width:auto !important; max-width:none !important; flex:none !important;
  position:relative; isolation:isolate; overflow:hidden; border-radius:6px;
  min-height:260px; display:flex; align-items:flex-end;
  padding:0 !important; text-align:left !important;
  background-color:var(--sct-blue-ink); background-size:cover; background-position:center;
  color:#fff; transition:transform .28s ease;
}
.link-block-section .row.no-gutters > a::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, rgba(1,41,63,.12) 0%, rgba(1,41,63,.82) 100%);
  transition:background .28s ease;
}
.link-block-section .row.no-gutters > a::after{
  content:""; position:absolute; left:0; top:0; height:3px; width:0; z-index:2;
  background:var(--sct-green); transition:width .32s ease;
}
.link-block-section .row.no-gutters > a:hover{ transform:translateY(-4px); }
.link-block-section .row.no-gutters > a:hover::before{ background:linear-gradient(180deg, rgba(1,41,63,.25) 0%, rgba(1,65,103,.9) 100%); }
.link-block-section .row.no-gutters > a:hover::after{ width:100%; }
.link-block-section .link-block-wrapper{
  position:relative; z-index:1; padding:30px !important; text-align:left !important; width:100%;
}
.link-block-section .link-block-wrapper h2{
  font-family:var(--sct-fd) !important; font-weight:700 !important; color:#fff !important;
  font-size:clamp(1.4rem,2vw,1.7rem) !important; letter-spacing:-.01em; margin:0 0 8px !important;
}
.link-block-section .link-block-wrapper p{ color:#d7e2e8 !important; font-size:.98rem; margin:0 !important; }
.link-block-section .link-block-wrapper::after{
  content:"Scopri →"; display:inline-block; margin-top:16px;
  font-family:var(--sct-fb); font-weight:600; font-size:.9rem; color:var(--sct-green-soft);
  transition:transform .22s ease;
}
.link-block-section .row.no-gutters > a:hover .link-block-wrapper::after{ transform:translateX(5px); }
@media (max-width:820px){
  .link-block-section .row.no-gutters{ grid-template-columns:1fr !important; }
}

/* ---- INTRO 2 COLONNE ---------------------------------------------------- */
.title-text-2cols-section{ padding-block:clamp(56px,8vw,104px); }
.title-text-2cols-section .box-cv h2{
  color:var(--sct-ink) !important;
  font-size:clamp(1.7rem,3vw,2.4rem) !important;
  line-height:1.14 !important;
}
.title-text-2cols-section .box-cv h2 span{ color:var(--sct-muted) !important; }
.title-text-2cols-section .box-cv p{ color:#3c4552; font-size:1.05rem; line-height:1.7; }
.title-text-2cols-section .box-cv a{ color:var(--sct-green-2); }
.title-text-2cols-section .box-cv a:hover{ color:var(--sct-blue); }

/* ---- TEASER (piattaforma AutoCAD OEM) ----------------------------------- */
.teaser-block-section.bg-main-dark{ background-color:var(--sct-blue-ink) !important; position:relative; }
.teaser-block-section h3{ color:#fff !important; font-size:clamp(1.7rem,3vw,2.5rem) !important; line-height:1.12; }
.teaser-block-section p{ color:#cfdbe2 !important; font-size:1.05rem; }
.teaser-block-section .btn.btn-white{
  background:var(--sct-green) !important; color:#0f2e14 !important; border:0 !important;
  border-radius:4px !important; font-family:var(--sct-fb); font-weight:600; letter-spacing:0;
  transition:.22s;
}
.teaser-block-section .btn.btn-white:hover{ background:var(--sct-green-2) !important; transform:translateY(-1px); }
.teaser-block-section .btn.btn-white + .btn.btn-white{
  background:transparent !important; color:#fff !important; border:1px solid rgba(255,255,255,.4) !important;
}

/* ---- Accento verde comune (eyebrow-like) su heading di sezione ---------- */
.title-text-2cols-section .box-cv h2::before{
  content:""; display:block; width:34px; height:3px; background:var(--sct-green); margin-bottom:16px;
}

/* ---- RESPONSIVE --------------------------------------------------------- */
@media (max-width:980px){
  .number-block-section .number-block-wrapper{ grid-template-columns:repeat(3,1fr); }
  .number-block-section .number-block-wrapper .link-block-wrapper{ border-right:1px solid var(--sct-line); border-bottom:1px solid var(--sct-line); }
  .number-block-section .number-block-wrapper .link-block-wrapper:nth-child(3n){ border-right:0; }
}
@media (max-width:640px){
  .number-block-section .number-block-wrapper{ grid-template-columns:repeat(2,1fr); }
  .number-block-section .number-block-wrapper .link-block-wrapper{ border-right:1px solid var(--sct-line); }
  .number-block-section .number-block-wrapper .link-block-wrapper:nth-child(3n){ border-right:1px solid var(--sct-line); }
  .number-block-section .number-block-wrapper .link-block-wrapper:nth-child(2n){ border-right:0; }
}
@media (max-width:440px){
  .number-block-section .number-block-wrapper{ grid-template-columns:1fr; }
  .number-block-section .number-block-wrapper .link-block-wrapper{ border-right:0; }
}

/* =============================================================================
   HERO v2  —  markup nuovo (hero.php riscritto): altezza flessibile, niente taglio
   ============================================================================= */
.hero-home.hero-v2{
  position:relative; display:flex; align-items:center;
  min-height:min(76vh,600px); overflow:hidden;
  background:var(--sct-blue-ink);
  padding-top:clamp(120px,14vw,180px) !important;   /* spazio per l'header sovrapposto: eyebrow parte sotto il menu */
  padding-bottom:clamp(48px,7vw,80px) !important;
}
.hero-v2 .hero-v2-bg{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.hero-v2 .hero-v2-img,
.hero-v2 .hero-v2-video{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; background-size:cover; background-position:center; opacity:.55; pointer-events:none;
}
.hero-v2 .hero-v2-bg::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg, rgba(1,41,63,.94) 0%, rgba(1,41,63,.6) 55%, rgba(1,41,63,.2) 100%);
}
.hero-v2 .hero-v2-wire{
  position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden;
}
.hero-v2 .hero-v2-wire-svg{
  position:absolute; right:-2%; top:50%; transform:translateY(-50%);
  width:min(780px,68%); height:auto; opacity:.62;
}

/* --- Sequenza "disegno CAD" (ciclo ~11s) --- */
.hero-v2 .cad-grid{ animation:sctCadGrid 11s ease-in-out infinite; }

.hero-v2 .cad-axis,
.hero-v2 .cad-geo,
.hero-v2 .cad-arc,
.hero-v2 .cad-dim path{
  stroke-dasharray:1400; stroke-dashoffset:1400;
  animation:sctCadDraw 11s ease-in-out infinite;
}
.hero-v2 .cad-axis.cad-d1{ animation-delay:.3s; }
.hero-v2 .cad-axis.cad-d2{ animation-delay:.6s; }
.hero-v2 .cad-geo{ animation-delay:1.1s; }
.hero-v2 .cad-geo.cad-d1{ animation-delay:1.5s; }
.hero-v2 .cad-geo.cad-d2{ animation-delay:1.9s; }
.hero-v2 .cad-geo.cad-d3{ animation-delay:2.3s; }
.hero-v2 .cad-arc{ animation-delay:2.8s; }
.hero-v2 .cad-dim path{ animation-delay:3.3s; }

.hero-v2 .cad-snap{
  opacity:0; transform-box:fill-box; transform-origin:center;
  animation:sctCadSnap 11s ease-in-out infinite;
}
.hero-v2 .cad-snap.cad-d1{ animation-delay:1.5s; }
.hero-v2 .cad-snap.cad-d2{ animation-delay:2s; }
.hero-v2 .cad-snap.cad-d3{ animation-delay:2.5s; }

.hero-v2 .cad-cursor{ animation:sctCadCursor 11s ease-in-out infinite; }

@keyframes sctCadGrid{ 0%{opacity:0} 8%{opacity:.18} 86%{opacity:.18} 96%{opacity:0} 100%{opacity:0} }
@keyframes sctCadDraw{
  0%{ stroke-dashoffset:1400; }
  20%{ stroke-dashoffset:0; }
  82%{ stroke-dashoffset:0; }
  92%{ stroke-dashoffset:-1400; }
  100%{ stroke-dashoffset:-1400; }
}
@keyframes sctCadSnap{
  0%{ opacity:0; transform:scale(0); }
  5%{ opacity:1; transform:scale(1.6); }
  11%{ opacity:.9; transform:scale(1); }
  82%{ opacity:.9; }
  92%{ opacity:0; }
  100%{ opacity:0; }
}
@keyframes sctCadCursor{
  0%{ transform:translate(250px,430px); opacity:0; }
  4%{ opacity:1; }
  14%{ transform:translate(470px,430px); }
  26%{ transform:translate(470px,250px); }
  36%{ transform:translate(250px,250px); }
  48%{ transform:translate(360px,340px); }
  82%{ transform:translate(360px,340px); opacity:1; }
  92%{ opacity:0; }
  100%{ transform:translate(250px,430px); opacity:0; }
}
@media (prefers-reduced-motion:reduce){
  .hero-v2 .cad-grid,.hero-v2 .cad-axis,.hero-v2 .cad-geo,.hero-v2 .cad-arc,
  .hero-v2 .cad-dim path,.hero-v2 .cad-snap,.hero-v2 .cad-cursor{ animation:none !important; }
  .hero-v2 .cad-axis,.hero-v2 .cad-geo,.hero-v2 .cad-arc,.hero-v2 .cad-dim path{ stroke-dashoffset:0 !important; }
  .hero-v2 .cad-snap{ opacity:.9 !important; }
  .hero-v2 .cad-cursor{ opacity:0 !important; }
}
.hero-v2 .hero-v2-content{ position:relative; z-index:5; }   /* sopra overlay e wireframe: click garantito */
.hero-v2 .hero-v2-eyebrow{
  font-family:var(--sct-fm); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--sct-green-soft); display:inline-flex; align-items:center; gap:.6em; margin-bottom:16px;
}
.hero-v2 .hero-v2-eyebrow::before{ content:""; width:9px; height:9px; background:var(--sct-green); }
.hero-home.hero-v2 h1,
.hero-home.hero-v2 .hero-v2-content h1{
  color:#fff !important; font-family:'Archivo',system-ui,sans-serif !important; font-weight:800 !important;
  font-size:clamp(1.9rem,3.4vw,3.2rem) !important; line-height:1.08 !important;
  letter-spacing:-.02em !important; max-width:19ch; margin:0 0 18px !important; text-transform:none !important;
}
.hero-v2 .hero-v2-lead{
  color:#cfdbe2; font-family:var(--sct-fb); font-size:clamp(.98rem,1.2vw,1.12rem); line-height:1.6;
  max-width:50ch; margin:0 0 26px;
}
.hero-v2 .hero-v2-actions{ display:flex; flex-wrap:wrap; gap:12px; position:relative; z-index:5; }
.sct-btn2{
  font-family:var(--sct-fb); font-weight:600; font-size:.92rem; padding:12px 20px; border-radius:4px;
  display:inline-flex; align-items:center; gap:9px; transition:.22s; text-decoration:none; cursor:pointer;
  pointer-events:auto;   /* garantisce il click sui bottoni */
}
.sct-btn2--green{ background:var(--sct-green); color:#0f2e14; }
.sct-btn2--green:hover{ background:var(--sct-green-2); transform:translateY(-1px); }
.sct-btn2--ghost{ border:1px solid rgba(255,255,255,.4); color:#fff; }
.sct-btn2--ghost:hover{ border-color:#fff; }

/* =============================================================================
   FIX aree grigie (home) + numeri "flat" stile v2
   ============================================================================= */

/* Rete bianca: elimina i fondi grigi attorno ai blocchi full-width in home */
body.home,
body.home .main-container,
body.home .content-wrapper,
body.home .content-wrapper > .content,
body.home .entry-content,
body.home main,
body.home article{
  background:#fff !important;
}

/* Azzera i margini/padding che generano le bande grigie (sopra header e sotto hero) */
body.home{ margin-top:0 !important; }
body.home .main-container{ margin-top:0 !important; background:#fff !important; }
/* respiro sopra il logo (senza riaprire il grigio) */
body.home .header{ margin-top:0 !important; padding-top:32px !important; }
.hero-home.hero-v2{ margin:0 !important; }
.number-block-section{ margin:0 !important; }

/* Numeri: nuovo markup (.number-item) — griglia pulita v2, suffisso verde */
.number-block-section{ background:#fff !important; padding-block:clamp(44px,6vw,80px) !important; }
.number-block-section .number-block-wrapper{
  display:grid !important; grid-template-columns:repeat(6,1fr) !important;
  border-top:3px solid var(--sct-green) !important;
  border-left:1px solid var(--sct-line) !important;
  border-radius:0 !important; box-shadow:none !important; margin:0 !important;
}
.number-block-section .number-item{
  border-right:1px solid var(--sct-line) !important;
  border-bottom:1px solid var(--sct-line) !important;
  padding:30px 20px !important; text-align:center; margin:0 !important;
}
.number-block-section .number-item .nr{
  font-family:var(--sct-fd); font-weight:800; color:var(--sct-blue);
  font-size:clamp(1.8rem,2.6vw,2.6rem); line-height:1; letter-spacing:-.02em;
}
.number-block-section .number-item .nr .suf{ color:var(--sct-green); }
.number-block-section .number-item .description{
  font-family:var(--sct-fb); font-weight:400; color:var(--sct-muted);
  font-size:.82rem; margin-top:8px; line-height:1.35; text-transform:uppercase; letter-spacing:.02em;
}
@media (max-width:980px){ .number-block-section .number-block-wrapper{ grid-template-columns:repeat(3,1fr) !important; } }
@media (max-width:640px){ .number-block-section .number-block-wrapper{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:440px){ .number-block-section .number-block-wrapper{ grid-template-columns:1fr !important; } }

/* Via eventuali decorazioni/diagonali grigie del tema sull'hero v2 */
.hero-home.hero-v2::before,
.hero-home.hero-v2::after{ display:none !important; content:none !important; }
.hero-home.hero-v2{ clip-path:none !important; -webkit-clip-path:none !important; }

/* =============================================================================
   PORTFOLIO / CASE HISTORY (nuovo blocco)
   ============================================================================= */
.portfolio-section{ background:var(--sct-paper-2); border-block:1px solid var(--sct-line); padding-block:clamp(34px,4.2vw,60px); margin-block:0 !important; width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.portfolio-section .container{ width:100% !important; max-width:1240px !important; margin-inline:auto !important; padding-inline:var(--sct-g) !important; }
.portfolio-head{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; margin-bottom:26px; }
.portfolio-head > div{ display:flex; flex-direction:column; align-items:center; }
.portfolio-head .sct-eyebrow{
  font-family:var(--sct-fm); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--sct-green-2); display:inline-flex; align-items:center; gap:.6em;
}
.portfolio-head .sct-eyebrow::before{ content:""; width:9px; height:9px; background:var(--sct-green); display:inline-block; }
.portfolio-h2{ font-family:var(--sct-fd); font-weight:800; font-size:clamp(1.8rem,3.4vw,2.8rem); line-height:1.08; letter-spacing:-.02em; margin:10px 0 0; max-width:24ch; color:var(--sct-blue-ink); }
.portfolio-more{ font-family:var(--sct-fb); font-weight:600; color:var(--sct-blue); white-space:nowrap; }
.portfolio-more:hover{ color:var(--sct-green-2); }
.portfolio-grid{ display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap:34px 26px !important; width:100% !important; }
/* CARD EDITORIALE: immagine (slideshow) arrotondata sopra, testo scuro sotto */
.portfolio-card{
  display:flex !important; flex-direction:column; text-decoration:none;
  width:auto !important; max-width:none !important; flex:none !important;
  background:transparent; color:inherit;
}
.portfolio-media{
  position:relative; aspect-ratio:4/3; border-radius:14px; overflow:hidden;
  background:#0a2436; box-shadow:0 12px 30px -20px rgba(1,26,40,.45); transition:box-shadow .3s ease;
}
.pf-slide{ position:absolute; inset:0; background-size:cover; background-position:center; background-color:#0a2436; opacity:0; transition:opacity .8s ease; }
.pf-slide.is-active{ opacity:1; }
.portfolio-card:hover .portfolio-media{ box-shadow:0 22px 46px -18px rgba(1,26,40,.55); }
/* testo SOTTO l'immagine, su fondo chiaro → leggibile sempre */
.portfolio-card-in{ padding:18px 2px 0; }
.portfolio-tag{ display:inline-block; font-family:var(--sct-fm); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:var(--sct-blue); border-radius:3px; padding:5px 10px; margin-bottom:12px; }
.portfolio-card h3{ font-family:var(--sct-fd); font-weight:700; color:var(--sct-blue-ink); font-size:1.4rem; line-height:1.15; margin:0 0 8px; word-break:normal; overflow-wrap:break-word; hyphens:none; }
.portfolio-card p{ color:#39424b !important; font-size:.98rem; line-height:1.55; margin:0 0 12px; max-width:54ch; }
.portfolio-go{ display:inline-flex; align-items:center; gap:6px; font-family:var(--sct-fb); font-weight:600; font-size:.9rem; color:var(--sct-blue); transition:gap .22s ease; }
.portfolio-card:hover .portfolio-go{ gap:12px; }

/* reveal/flip disattivati: testo sempre visibile sotto l'immagine (portfolio + bento) */
.hov-reveal{ display:block; }
.hov-reveal > .rv-inner{ opacity:1; overflow:visible; }

@media (max-width:640px){
  .portfolio-grid{ grid-template-columns:1fr !important; gap:26px !important; }
}

/* =============================================================================
   COSA FACCIAMO — BENTO GRID (stile SCT)
   ============================================================================= */
.bento-section{ background:#fff; padding-block:clamp(34px,4.2vw,60px); margin-block:0 !important; }
.bento-head{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; margin-bottom:26px; }
.bento-head .sct-eyebrow{ font-family:var(--sct-fm); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--sct-green-2); display:inline-flex; align-items:center; gap:.6em; }
.bento-head .sct-eyebrow::before{ content:""; width:9px; height:9px; background:var(--sct-green); display:inline-block; }
.bento-h2{ font-family:var(--sct-fd); font-weight:800; font-size:clamp(1.8rem,3.4vw,2.8rem); line-height:1.08; letter-spacing:-.02em; margin:8px 0 0; max-width:22ch; color:var(--sct-blue-ink); }

.bento-grid{ display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:minmax(230px,1fr); gap:30px 24px; grid-auto-flow:dense; }
.bento-lg{ grid-column:span 2; grid-row:span 2; }
.bento-md{ grid-column:span 2; grid-row:span 1; }
.bento-sm{ grid-column:span 1; grid-row:span 1; }

/* CARD EDITORIALE: tile immagine arrotondato sopra, testo scuro su chiaro sotto */
.bento-card{
  display:flex; flex-direction:column; text-decoration:none; color:inherit; background:transparent;
}
.bento-media{
  flex:1 1 auto; min-height:150px; position:relative; overflow:hidden;
  border-radius:14px; background:#0a2436; background-size:cover; background-position:center;
  box-shadow:0 12px 30px -20px rgba(1,26,40,.45); transition:box-shadow .3s ease;
}
.bento-media.is-empty{
  background:
    radial-gradient(120% 90% at 80% 0%, rgba(116,175,76,.16), transparent 60%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0 1px, transparent 1px 26px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 26px),
    #0a2436;
}
.bento-card:hover .bento-media{ box-shadow:0 22px 46px -18px rgba(1,26,40,.55); }
/* testo SOTTO l'immagine, su fondo chiaro → leggibile sempre */
.bento-in{ padding:16px 2px 0; }
.bento-lg .bento-in{ padding:18px 2px 0; }
.bento-tag{ display:inline-block; font-family:var(--sct-fm); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:var(--sct-blue); border-radius:3px; padding:5px 10px; margin-bottom:12px; }
.bento-title{ font-family:var(--sct-fd); font-weight:700; color:var(--sct-blue-ink); font-size:1.3rem; line-height:1.15; margin:0 0 8px; }
.bento-lg .bento-title{ font-size:1.6rem; }
.bento-desc{ color:#39424b !important; font-size:.95rem; line-height:1.5; margin:0 0 10px; }
.bento-go{ display:inline-flex; align-items:center; gap:6px; font-family:var(--sct-fb); font-weight:600; font-size:.9rem; color:var(--sct-blue); transition:gap .22s ease; }
.bento-card:hover .bento-go{ gap:12px; }

@media (max-width:900px){
  .bento-grid{ grid-template-columns:repeat(2,1fr); }
  .bento-lg{ grid-column:span 2; grid-row:span 2; }
  .bento-md{ grid-column:span 2; }
  .bento-sm{ grid-column:span 1; }
}
@media (max-width:600px){
  .bento-grid{ grid-template-columns:1fr; grid-auto-rows:auto; }
  .bento-lg,.bento-md,.bento-sm{ grid-column:span 1; grid-row:auto; }
  .bento-media{ min-height:150px; }
}

/* =============================================================================
   LINK-BLOCK — testo in basso + leggibilità (tutti i link-block del sito)
   ============================================================================= */
.link-block-section .link-block-wrapper{
  position:relative; z-index:1;
  display:flex !important; flex-direction:column; justify-content:flex-end !important;
  align-items:flex-start !important; text-align:left !important;
  min-height:100%; padding:26px !important;
}
/* fascia scura dal basso: rende leggibile il testo su QUALSIASI immagine */
.link-block-section .link-block-wrapper::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(180deg,
    rgba(1,41,63,0) 38%,
    rgba(1,41,63,.55) 68%,
    rgba(1,41,63,.94) 100%);
}
.link-block-section .link-block-wrapper h2{
  color:#fff !important; text-align:left !important;
  text-shadow:0 1px 10px rgba(1,26,40,.85); margin:0 0 8px !important;
}
.link-block-section .link-block-wrapper p{
  color:#eef4f7 !important; text-align:left !important;
  text-shadow:0 1px 10px rgba(1,26,40,.85); margin:0 !important;
}
/* TEASER — forza leggibilità del testo su sfondo immagine */
.teaser-block-section h3,
.teaser-block-section p,
.teaser-block-section .container p,
.teaser-block-section .container h3{
  color:#fff !important;
  text-shadow:0 1px 12px rgba(1,26,40,.75);
}
.teaser-block-section p a{ color:var(--sct-green-soft) !important; text-decoration:underline; }
.teaser-block-section p strong{ color:#fff !important; }

/* =============================================================================
   CARD BENTO + PORTFOLIO — bordo contenitore (stile SCT)
   Avvolge tutta la card (immagine + testo). Sostituisce il look "editoriale"
   aperto con un contenitore chiuso, pulito e leggero.
   ============================================================================= */

/* --- Contenitore card --- */
.portfolio-card,
.bento-card{
  border:1.5px solid var(--sct-line-2);      /* bordo a riposo: neutro, discreto */
  border-radius:16px;
  background:#fff;
  padding:14px;                               /* stacca immagine e testo dal bordo */
  transition:border-color .28s ease, box-shadow .28s ease, transform .28s ease;
}

/* Hover: bordo accento (verde SCT) + sollevamento */
.portfolio-card:hover,
.bento-card:hover{
  border-color:var(--sct-green);
  box-shadow:0 18px 40px -24px rgba(1,26,40,.45);
  transform:translateY(-4px);
}

/* L'immagine dentro il contenitore: angoli coerenti, niente doppia ombra pesante */
.portfolio-media,
.bento-media{
  border-radius:11px;                         /* 16 esterno - 14 padding raccordo pulito */
  box-shadow:none;
}
.portfolio-card:hover .portfolio-media,
.bento-card:hover .bento-media{ box-shadow:none; }

/* Il testo ora e' gia' dentro il padding del contenitore: riduco i rientri interni */
.portfolio-card-in{ padding:14px 6px 4px; }
.bento-in{ padding:14px 6px 4px; }
.bento-lg .bento-in{ padding:16px 6px 4px; }

/* La card grande del bento mantiene proporzioni: l'immagine resta flessibile */
.bento-lg .bento-media{ min-height:180px; }


/* =============================================================================
   FINE  SCT RESTYLE 2026
   ============================================================================= */
