:root{
    --paper:#F4EFE6;
    --paper-2:#EBE3D4;
    --ink:#23211C;
    --ink-soft:#4A463C;
    --bronze:#A6925E;
    --bronze-deep:#8A7647;
    --terracotta:#B05A3C;
    --rule:#D8CFBC;
    /* settori */
    --c-allestimenti:#2C4A6E;
    --c-archeologia:#C07A2B;
    --c-cultura:#4F6B43;
    --c-restauro:#7C3346;
    --maxw:1280px;
    --ease:cubic-bezier(.2,.7,.2,1);
  }

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

  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:"Spline Sans",system-ui,-apple-system,sans-serif;
    font-size:17px;
    line-height:1.62;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    /* subtle paper grain */
    background-image:
      radial-gradient(circle at 18% 12%, rgba(166,146,94,.05), transparent 42%),
      radial-gradient(circle at 86% 78%, rgba(176,90,60,.04), transparent 46%);
  }

  h1,h2,h3,h4{
    font-family:"Fraunces",Georgia,serif;
    font-weight:600;
    line-height:1.04;
    letter-spacing:-.012em;
    margin:0;
  }

  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}

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

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  @media (min-width:1024px){.wrap{padding:0 48px;}}

  .eyebrow{
    font-family:"Spline Sans",system-ui,-apple-system,sans-serif;
    font-size:.72rem;
    font-weight:600;
    letter-spacing:.26em;
    text-transform:uppercase;
    color:var(--bronze-deep);
  }

  /* ============ STRATIGRAPHIC RULE ============ */
  .strata{
    height:8px;
    width:100%;
    background:
      linear-gradient(var(--bronze),var(--bronze)) 0 0/100% 1px no-repeat,
      linear-gradient(var(--terracotta),var(--terracotta)) 0 3px/100% 1px no-repeat,
      linear-gradient(var(--ink),var(--ink)) 0 7px/100% 2px no-repeat;
    opacity:.55;
  }

  /* ============ HEADER ============ */
  .site-header{
    position:sticky;top:0;z-index:60;
    background:rgba(244,239,230,.82);
    backdrop-filter:blur(8px) saturate(1.2);
    -webkit-backdrop-filter:blur(8px) saturate(1.2);
    border-bottom:1px solid transparent;
    transition:border-color .4s var(--ease), box-shadow .4s var(--ease), background .4s var(--ease);
  }
  .site-header.scrolled{
    border-bottom:1px solid var(--rule);
    box-shadow:0 10px 30px -24px rgba(35,33,28,.6);
  }
  .header-inner{
    display:flex;align-items:center;justify-content:space-between;
    gap:24px;padding:16px 0;
    transition:padding .4s var(--ease);
  }
  .site-header.scrolled .header-inner{padding:11px 0;}

  .brand{display:flex;flex-direction:column;line-height:1;}
  .brand .logo{
    font-family:"Fraunces",Georgia,serif;
    font-weight:900;
    font-size:1.42rem;
    letter-spacing:-.01em;
    color:var(--ink);
  }
  .brand .logo .slash{color:var(--terracotta);}
  .brand .tagline{
    font-size:.62rem;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--bronze-deep);
    margin-top:5px;
    font-weight:500;
  }

  .nav{display:none;}
  @media (min-width:1024px){
    .nav{display:flex;align-items:center;gap:30px;}
  }
  .nav a{
    font-size:1rem;font-weight:500;letter-spacing:.005em;
    color:var(--ink-soft);
    position:relative;padding:6px 0;
    transition:color .25s var(--ease);
  }
  .nav a::after{
    content:"";position:absolute;left:0;bottom:0;height:1.5px;width:0;
    background:var(--terracotta);transition:width .3s var(--ease);
  }
  .nav a:hover{color:var(--ink);}
  .nav a:hover::after{width:100%;}

  /* ===== Dropdown "Settori" ===== */
  .has-sub{position:relative;display:inline-flex;align-items:center;}
  .nav .nav-parent{display:inline-flex;align-items:center;gap:5px;}
  .nav-parent .caret{width:11px;height:11px;flex:none;transition:transform .3s var(--ease);}
  .has-sub:hover .nav-parent .caret,.has-sub:focus-within .nav-parent .caret{transform:rotate(180deg);}
  .has-sub::after{content:"";position:absolute;left:-16px;right:-16px;top:100%;height:18px;}
  .subnav{
    position:absolute;top:100%;left:-16px;z-index:70;
    min-width:240px;padding:8px;margin-top:16px;
    background:var(--paper);border:1px solid var(--rule);
    box-shadow:0 26px 50px -22px rgba(35,33,28,.5),0 6px 16px -8px rgba(35,33,28,.22);
    opacity:0;visibility:hidden;transform:translateY(9px);
    transition:opacity .26s var(--ease),transform .26s var(--ease),visibility .26s var(--ease);
  }
  .subnav::before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--terracotta);}
  .has-sub:hover .subnav,.has-sub:focus-within .subnav{opacity:1;visibility:visible;transform:translateY(0);}
  .subnav a{display:flex;align-items:center;gap:11px;padding:9px 12px;font-size:.94rem;color:var(--ink);}
  .subnav a::after{display:none;}
  .subnav a:hover{background:rgba(35,33,28,.055);color:var(--ink);}
  .subnav .sector-ico{width:22px;height:22px;}
  /* sottovoci Settori nel menu mobile */
  .mobile-nav .mnav-sub{font-size:1.15rem;font-family:"Fraunces",Georgia,serif;color:var(--ink-soft);padding:10px 0 10px 20px;border-bottom:1px dashed var(--rule);}
  .mobile-nav .mnav-sub::before{content:"—";margin-right:10px;color:var(--terracotta);}
  .nav .nav-cta{
    color:var(--ink);font-weight:600;
    border:1px solid var(--ink);
    padding:9px 16px;border-radius:1px;
    transition:background .25s var(--ease),color .25s var(--ease);
  }
  .nav .nav-cta::after{display:none;}
  .nav .nav-cta:hover{background:var(--ink);color:var(--paper);}
  .icon-search{
    display:flex;align-items:center;justify-content:center;
    width:38px;height:38px;border:1px solid var(--rule);border-radius:50%;
    color:var(--ink-soft);
    transition:border-color .25s,color .25s,transform .25s;
  }
  .icon-search:hover{border-color:var(--ink);color:var(--ink);transform:rotate(-8deg);}

  .menu-toggle{
    display:flex;flex-direction:column;gap:5px;
    background:none;border:0;cursor:pointer;padding:8px;
  }
  .menu-toggle span{width:24px;height:2px;background:var(--ink);display:block;}
  @media (min-width:1024px){.menu-toggle{display:none;}}

  /* ============ HERO (slideshow fullscreen) ============ */
  .hero{position:relative;}
  .hero-slides{
    position:relative;
    height:60vh;min-height:440px;
    overflow:hidden;background:var(--ink);
  }
  .hero-slide{
    position:absolute;inset:0;margin:0;
    opacity:0;visibility:hidden;
    transition:opacity 1.1s var(--ease),visibility 1.1s var(--ease);
  }
  .hero-slide.is-active{opacity:1;visibility:visible;}
  .hero-bg{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    filter:sepia(.24) saturate(.9) contrast(1.05) brightness(.9);
    transform:scale(1.06);transition:transform 8s var(--ease);
  }
  .hero-slide.is-active .hero-bg{transform:scale(1.14);}
  .hero-overlay{
    position:absolute;inset:0;
    background:
      linear-gradient(102deg,rgba(35,33,28,.88) 0%,rgba(35,33,28,.55) 44%,rgba(35,33,28,.15) 100%),
      linear-gradient(0deg,rgba(35,33,28,.55) 0%,transparent 36%);
  }
  .hero-content{
    position:relative;z-index:2;height:100%;
    max-width:var(--maxw);margin:0 auto;
    padding:88px 28px 92px;
    display:flex;flex-direction:column;justify-content:center;
    color:var(--paper);
  }
  @media (min-width:1024px){.hero-content{padding-left:48px;padding-right:48px;}}
  .hero-kicker{display:block;margin-bottom:18px;color:var(--bronze);}
  .hero-title{
    font-family:"Fraunces",Georgia,serif;
    font-size:clamp(2.3rem,5.2vw,4.6rem);font-weight:600;letter-spacing:-.022em;line-height:1.02;
    color:var(--paper);max-width:17ch;
  }
  .hero-title em{font-style:italic;font-weight:500;color:var(--bronze);}
  .hero-lead{
    margin:18px 0 30px;max-width:48ch;
    color:rgba(244,239,230,.9);font-size:clamp(1.02rem,1.4vw,1.2rem);line-height:1.6;
  }
  .hero-ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}

  .btn{
    display:inline-flex;align-items:center;gap:10px;
    font-family:"Spline Sans",system-ui,-apple-system,sans-serif;
    font-size:.92rem;font-weight:600;letter-spacing:.02em;
    padding:14px 26px;border-radius:1px;cursor:pointer;
    transition:transform .25s var(--ease),background .25s,color .25s,box-shadow .25s;
  }
  .btn-primary{background:var(--ink);color:var(--paper);border:1px solid var(--ink);}
  .btn-primary:hover{background:var(--terracotta);border-color:var(--terracotta);transform:translateY(-2px);box-shadow:0 14px 28px -16px rgba(176,90,60,.8);}
  .btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--ink-soft);}
  .btn-ghost:hover{border-color:var(--ink);transform:translateY(-2px);}
  .btn .arr{transition:transform .3s var(--ease);}
  .btn:hover .arr{transform:translateX(5px);}
  /* CTA chiari sopra le immagini scure dell'hero */
  .hero .btn-primary{background:var(--paper);color:var(--ink);border-color:var(--paper);}
  .hero .btn-primary:hover{background:var(--bronze);border-color:var(--bronze);color:var(--ink);box-shadow:0 16px 32px -16px rgba(0,0,0,.7);}
  .hero .btn-ghost{color:var(--paper);border-color:rgba(244,239,230,.55);}
  .hero .btn-ghost:hover{border-color:var(--paper);background:rgba(244,239,230,.1);}

  /* controlli slideshow */
  .hero-nav{
    position:absolute;top:50%;transform:translateY(-50%);z-index:5;
    width:52px;height:52px;display:flex;align-items:center;justify-content:center;
    font-family:"Fraunces",Georgia,serif;font-size:1.7rem;line-height:1;color:var(--paper);
    background:rgba(35,33,28,.3);border:1px solid rgba(244,239,230,.25);cursor:pointer;
    -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
    transition:background .25s var(--ease),border-color .25s;
  }
  .hero-nav:hover{background:var(--terracotta);border-color:var(--terracotta);}
  .hero-nav.prev{left:14px;} .hero-nav.next{right:14px;}
  @media (min-width:1024px){.hero-nav.prev{left:28px;} .hero-nav.next{right:28px;}}
  .hero-ui{
    position:absolute;left:0;right:0;bottom:32px;z-index:5;
    display:flex;align-items:center;justify-content:flex-end;gap:22px;
  }
  .hero-count{font-family:"Fraunces",Georgia,serif;color:var(--paper);display:flex;align-items:baseline;gap:7px;letter-spacing:.05em;}
  .hero-count #heroIdx{font-size:1.6rem;color:var(--bronze);}
  .hero-count .sep{opacity:.5;}
  .hero-dots{display:flex;gap:10px;}
  .hero-dot{width:36px;height:3px;padding:0;border:0;background:rgba(244,239,230,.4);cursor:pointer;transition:background .3s;}
  .hero-dot.is-active{background:var(--bronze);}
  @media (prefers-reduced-motion:reduce){
    .hero-slide{transition:none;}
    .hero-bg,.hero-slide.is-active .hero-bg{transition:none;transform:scale(1.04);}
  }

  /* ============ SECTION HEADER ============ */
  .section{padding:78px 0;}
  @media (min-width:768px){.section{padding:104px 0;}}

  .sec-head{
    display:grid;grid-template-columns:1fr;gap:18px;align-items:baseline;
    margin-bottom:46px;
  }
  @media (min-width:768px){
    .sec-head{grid-template-columns:auto 1fr auto;gap:30px;}
  }
  .sec-index{
    font-family:"Fraunces",Georgia,serif;font-size:1.05rem;font-weight:500;
    color:var(--terracotta);letter-spacing:.04em;
  }
  .sec-title{font-size:clamp(2rem,4.5vw,3.2rem);}
  .sec-note{
    font-size:.92rem;color:var(--ink-soft);max-width:34ch;
  }
  @media (min-width:768px){.sec-note{text-align:right;}}

  /* ============ SETTORI ============ */
  .settori{background:var(--paper-2);}
  .settori-grid{
    display:grid;grid-template-columns:1fr;gap:1px;
    background:var(--rule);border:1px solid var(--rule);
  }
  @media (min-width:768px){.settori-grid{grid-template-columns:1fr 1fr;}}

  .settore{
    --accent:var(--bronze);
    background:var(--paper);
    padding:40px 34px 44px;
    position:relative;overflow:hidden;
    min-height:300px;
    display:flex;flex-direction:column;
    transition:background .4s var(--ease);
  }
  .settore::before{
    content:"";position:absolute;left:0;top:0;bottom:0;width:5px;
    background:var(--accent);transform:scaleY(0);transform-origin:top;
    transition:transform .5s var(--ease);
  }
  .settore:hover{background:#FBF8F1;}
  .settore:hover::before{transform:scaleY(1);}

  .settore .num{
    font-family:"Fraunces",Georgia,serif;font-size:.95rem;color:var(--ink-soft);
    opacity:.6;margin-bottom:auto;letter-spacing:.05em;
  }
  .settore h3{
    font-size:1.95rem;margin:18px 0 0;
    display:flex;align-items:center;gap:14px;
  }
  .settore h3 .dot{
    width:12px;height:12px;border-radius:50%;background:var(--accent);flex:none;
    box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent);
  }
  .settore blockquote{
    margin:16px 0 0;
    font-family:"Fraunces",Georgia,serif;font-style:italic;font-weight:400;
    font-size:1.04rem;line-height:1.45;color:var(--ink-soft);
    border:0;padding:0;
  }
  .settore cite{
    display:block;margin-top:12px;
    font-style:normal;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;
    color:var(--accent);font-weight:600;
  }
  .settore .go{
    margin-top:22px;font-size:.82rem;font-weight:600;letter-spacing:.05em;
    color:var(--ink);display:inline-flex;align-items:center;gap:8px;
    opacity:0;transform:translateY(6px);
    transition:opacity .35s var(--ease),transform .35s var(--ease);
  }
  .settore:hover .go{opacity:1;transform:translateY(0);}
  .settore .go .arr{transition:transform .3s;}
  .settore .go:hover .arr{transform:translateX(4px);}

  .s-allestimenti{--accent:var(--c-allestimenti);}
  .s-archeologia{--accent:var(--c-archeologia);}
  .s-cultura{--accent:var(--c-cultura);}
  .s-restauro{--accent:var(--c-restauro);}

  /* ============ PROGETTI / NEWS ============ */
  .lavori-grid{
    display:grid;grid-template-columns:1fr;gap:34px;
  }
  @media (min-width:768px){.lavori-grid{grid-template-columns:1fr 1fr;}}
  @media (min-width:1024px){
    .lavori-grid{grid-template-columns:repeat(12,1fr);}
    .card{grid-column:span 6;}
    .card.feature{grid-column:span 12;}
  }

  .card{
    display:flex;flex-direction:column;
  }
  .card .thumb{
    position:relative;overflow:hidden;border-radius:2px;
    aspect-ratio:4/3;background:var(--paper-2);
  }
  .card.feature .thumb{aspect-ratio:21/9;}
  @media (max-width:767px){.card.feature .thumb{aspect-ratio:4/3;}}
  .card .thumb img{
    width:100%;height:100%;object-fit:cover;
    filter:sepia(.18) saturate(.95) contrast(1.03);
    transition:transform .8s var(--ease),filter .5s var(--ease);
  }
  .card:hover .thumb img{transform:scale(1.05);filter:sepia(0) saturate(1.05) contrast(1.04);}
  .card .tag{
    position:absolute;top:14px;left:14px;
    font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
    background:var(--paper);color:var(--ink);
    padding:6px 11px;border-radius:1px;
    box-shadow:0 6px 16px -10px rgba(35,33,28,.6);
  }
  .card .tag[data-c="arch"]{color:var(--c-archeologia);}
  .card .tag[data-c="rest"]{color:var(--c-restauro);}
  .card .tag[data-c="alle"]{color:var(--c-allestimenti);}
  .card .tag[data-c="cult"]{color:var(--c-cultura);}

  .card .meta{
    font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze-deep);
    margin:18px 0 8px;font-weight:600;
  }
  .card h3{font-size:1.4rem;line-height:1.12;}
  .card.feature h3{font-size:clamp(1.7rem,3vw,2.4rem);max-width:18ch;}
  .card p{color:var(--ink-soft);font-size:.96rem;margin:10px 0 16px;max-width:54ch;}
  .card .go{
    margin-top:auto;font-size:.82rem;font-weight:600;letter-spacing:.04em;
    display:inline-flex;align-items:center;gap:9px;
    border-bottom:1.5px solid var(--terracotta);padding-bottom:3px;align-self:flex-start;
    transition:gap .3s var(--ease),color .25s;
  }
  .card .go:hover{gap:14px;color:var(--terracotta);}
  .card.feature .body{padding-top:8px;}
  @media (min-width:1024px){
    .card.feature{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;}
    .card.feature .body{display:flex;flex-direction:column;}
  }

  /* ============ CERTIFICAZIONI ============ */
  .certs{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;}
  .certs::before{
    content:"";position:absolute;inset:0;opacity:.5;
    background:
      linear-gradient(rgba(166,146,94,.6),rgba(166,146,94,.6)) 0 24% /100% 1px no-repeat,
      linear-gradient(rgba(176,90,60,.5),rgba(176,90,60,.5)) 0 52% /100% 1px no-repeat,
      linear-gradient(rgba(244,239,230,.25),rgba(244,239,230,.25)) 0 80% /100% 1px no-repeat;
  }
  .certs .wrap{position:relative;}
  .certs .eyebrow{color:var(--bronze);}
  .certs h2{
    color:var(--paper);font-size:clamp(1.7rem,3.6vw,2.6rem);
    margin:14px 0 8px;max-width:20ch;
  }
  .certs .sub{color:rgba(244,239,230,.7);font-size:.98rem;max-width:48ch;margin-bottom:40px;}
  .cert-list{
    display:grid;grid-template-columns:1fr;gap:1px;
    background:rgba(244,239,230,.14);border:1px solid rgba(244,239,230,.14);
  }
  @media (min-width:600px){.cert-list{grid-template-columns:1fr 1fr;}}
  @media (min-width:1024px){.cert-list{grid-template-columns:repeat(5,1fr);}}
  .cert{
    background:var(--ink);padding:26px 22px;
    display:flex;flex-direction:column;gap:8px;
    transition:background .35s var(--ease);
  }
  .cert:hover{background:#2C2A23;}
  .cert .code{
    font-family:"Fraunces",Georgia,serif;font-size:1.55rem;font-weight:600;color:var(--bronze);
  }
  .cert .desc{font-size:.78rem;letter-spacing:.04em;color:rgba(244,239,230,.65);line-height:1.4;}

  /* ============ DICONO DI NOI ============ */
  .testi-grid{
    display:grid;grid-template-columns:1fr;gap:30px;
  }
  @media (min-width:768px){.testi-grid{grid-template-columns:repeat(3,1fr);}}
  .testi{
    margin:0;
    background:var(--paper);border:1px solid var(--rule);
    padding:34px 30px;border-radius:2px;position:relative;
    display:flex;flex-direction:column;
  }
  .testi .quotemark{
    font-family:"Fraunces",Georgia,serif;font-size:4rem;line-height:.5;color:var(--bronze);
    opacity:.5;height:34px;
  }
  .testi blockquote{margin:0;border:0;padding:0;
    font-size:1.04rem;color:var(--ink);line-height:1.5;}
  .testi .who{margin-top:auto;padding-top:22px;}
  .testi .who .name{font-weight:600;font-size:.92rem;}
  .testi .who .role{font-size:.78rem;color:var(--ink-soft);}
  .testi .who::before{
    content:"";display:block;width:34px;height:2px;background:var(--terracotta);margin-bottom:14px;
  }

  /* ============ CTA FINALE ============ */
  .final-cta{
    background:var(--bronze-deep);color:var(--paper);
    position:relative;overflow:hidden;
  }
  .final-cta .wrap{position:relative;text-align:center;padding-top:14px;padding-bottom:14px;}
  .final-cta .eyebrow{color:rgba(244,239,230,.78);}
  .final-cta h2{
    color:var(--paper);font-size:clamp(2.2rem,6vw,4.6rem);
    margin:18px auto 26px;max-width:16ch;
  }
  .final-cta h2 em{font-style:italic;color:#F4EFE6;text-decoration:underline;text-decoration-color:var(--terracotta);text-decoration-thickness:3px;text-underline-offset:8px;}
  .final-cta .btn-primary{background:var(--paper);color:var(--ink);border-color:var(--paper);}
  .final-cta .btn-primary:hover{background:var(--terracotta);color:var(--paper);border-color:var(--terracotta);}
  .final-cta .ico-pat{
    position:absolute;font-family:"Fraunces",Georgia,serif;font-weight:900;
    font-size:22rem;line-height:1;color:rgba(244,239,230,.06);
    right:-3rem;bottom:-6rem;user-select:none;pointer-events:none;
  }

  /* ============ FOOTER ============ */
  .footer{background:var(--ink);color:rgba(244,239,230,.78);padding:70px 0 32px;}
  .footer-top{
    display:grid;grid-template-columns:1fr;gap:40px;
    padding-bottom:46px;border-bottom:1px solid rgba(244,239,230,.14);
  }
  @media (min-width:768px){.footer-top{grid-template-columns:1.5fr 1fr 1fr;}}
  @media (min-width:1024px){.footer-top{grid-template-columns:2fr 1fr 1fr 1.2fr;}}

  .footer .f-logo{
    font-family:"Fraunces",Georgia,serif;font-weight:900;font-size:1.7rem;color:var(--paper);
  }
  .footer .f-logo .slash{color:var(--terracotta);}
  .footer .f-tag{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);margin-top:8px;}
  .footer p{font-size:.92rem;margin:18px 0 0;max-width:40ch;line-height:1.6;}

  .footer h4{
    font-family:"Spline Sans",system-ui,-apple-system,sans-serif;font-size:.74rem;font-weight:600;
    letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);margin-bottom:18px;
  }
  .footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
  .footer ul a{font-size:.92rem;color:rgba(244,239,230,.78);transition:color .2s,padding .2s;}
  .footer ul a:hover{color:var(--paper);padding-left:5px;}
  .footer address{font-style:normal;font-size:.92rem;line-height:1.7;}
  .footer address a:hover{color:var(--paper);}

  .socials{display:flex;gap:12px;margin-top:18px;}
  .socials a{
    width:40px;height:40px;border:1px solid rgba(244,239,230,.22);border-radius:50%;
    display:flex;align-items:center;justify-content:center;color:rgba(244,239,230,.78);
    transition:border-color .25s,color .25s,transform .25s;
  }
  .socials a:hover{border-color:var(--bronze);color:var(--paper);transform:translateY(-3px);}

  .footer-bottom{
    display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;
    padding-top:28px;font-size:.78rem;color:rgba(244,239,230,.5);
  }
  .footer-bottom a:hover{color:var(--paper);}

  /* ============ SCROLL REVEAL ============ */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
  .reveal.in{opacity:1;transform:none;}
  .reveal.d1{transition-delay:.08s;}
  .reveal.d2{transition-delay:.16s;}
  .reveal.d3{transition-delay:.24s;}
  @media (prefers-reduced-motion:reduce){
    .reveal{opacity:1;transform:none;}
  }

  /* mobile nav drawer */
  .mobile-nav{
    display:none;position:fixed;inset:0;z-index:80;
    background:var(--paper);padding:90px 32px 40px;
    flex-direction:column;gap:6px;
  }
  .mobile-nav.open{display:flex;}
  .mobile-nav a{
    font-family:"Fraunces",Georgia,serif;font-size:1.8rem;font-weight:500;
    padding:14px 0;border-bottom:1px solid var(--rule);
  }
  .mobile-nav .close{
    position:absolute;top:22px;right:28px;font-size:2rem;background:none;border:0;cursor:pointer;color:var(--ink);
  }

  /* ============ LOGO REALE ============ */
  .brand{display:inline-flex;align-items:center;text-decoration:none;}
  .brand-img{height:62px;width:auto;display:block;}
  .site-header.scrolled .brand-img{height:52px;transition:height .4s var(--ease);}
  @media (max-width:560px){.brand-img{height:52px;}}

  /* ============ ICONE SETTORI ============ */
  .sector-ico{display:inline-flex;align-items:center;justify-content:center;flex:none;background:transparent!important;}
  .sector-ico img{width:100%;height:100%;object-fit:contain;display:block;}
  /* dimensione default piccola per chip/tag */
  .sector-ico{width:24px;height:24px;}
  /* varianti dove serve più grande (usa una classe sull'elemento, es. .sector-ico.lg) */
  .sector-ico.lg{width:76px;height:76px;}
  /* settori in home: icone grandi e allineate al titolo */
  .settori-grid h3{display:flex;align-items:center;gap:14px;}
  .settori-grid h3 .sector-ico{width:52px;height:52px;}
