:root{
      --bg:#051820;
      --bg-deep:#031219;
      --bg-soft:#0a2630;
      --panel:#0b222b;
      --panel-2:#102e38;
      --paper:#f1ece4;
      --paper-2:#e5ddd1;
      --ink:#f7f1e8;
      --ink-dark:#14262c;
      --muted:#abb9bc;
      --muted-dark:#5a6b6e;
      --gold:#d49a52;
      --gold-light:#efc783;
      --gold-dark:#9a6430;
      --line:rgba(212,154,82,.30);
      --line-soft:rgba(255,255,255,.10);
      --shadow:0 24px 70px rgba(0,0,0,.32);
      --max:1280px;
      --header-h:94px;
      --serif:"Cormorant Garamond", Georgia, serif;
      --sans:"Manrope", Arial, sans-serif;
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth;scroll-padding-top:110px}
    body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
    body.menu-open{overflow:hidden}
    img{display:block;max-width:100%}
    a{color:inherit;text-decoration:none}
    button,input,textarea,select{font:inherit}
    button{color:inherit}
    ::selection{background:var(--gold);color:var(--bg-deep)}
    .skip-link{position:fixed;left:16px;top:-100px;z-index:200;background:var(--gold-light);color:var(--bg-deep);padding:10px 14px;font-weight:700;transition:.2s}.skip-link:focus{top:16px}
    .container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
    .section{padding:118px 0;position:relative}
    .eyebrow{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:.76rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
    .eyebrow::before{content:"";width:38px;height:1px;background:currentColor}
    .section-title{font-family:var(--serif);font-weight:600;font-size:clamp(2.8rem,5.3vw,5.3rem);line-height:.93;letter-spacing:-.035em;margin-top:20px}
    .section-lead{max-width:720px;color:var(--muted);font-size:1.05rem;line-height:1.8;margin-top:22px}
    .gold{color:var(--gold);font-style:italic}
    .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}

    header{position:fixed;inset:0 0 auto;z-index:100;padding:16px 0;transition:.3s ease;border-bottom:1px solid transparent}
    header.scrolled{padding:9px 0;background:rgba(3,18,25,.88);backdrop-filter:blur(16px);border-color:var(--line-soft)}
    .nav{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:26px}
    .brand{display:flex;align-items:center;gap:14px;min-width:355px;position:relative;z-index:102;overflow:visible;padding-left:3px}
    .brand-logo{width:64px;height:64px;object-fit:contain;object-position:center;filter:drop-shadow(0 5px 9px rgba(0,0,0,.30));flex:none;overflow:visible}
    .brand-copy{display:flex;flex-direction:column;line-height:1;width:max-content}
    .brand-name{display:block;font-family:var(--serif);font-size:1.28rem;letter-spacing:.055em;color:var(--gold-light);white-space:nowrap}
    .brand-sub{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:.62rem;font-weight:700;letter-spacing:.035em;color:var(--gold);margin-top:8px;white-space:nowrap;text-transform:uppercase}
    .brand-sub span{display:block}
    .nav-links{display:flex;align-items:center;gap:26px}
    .nav-links a{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#e7e6e2;position:relative;transition:.2s}
    .nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:.25s}
    .nav-links a:hover,.nav-links a.active{color:var(--gold-light)}
    .nav-links a:hover::after,.nav-links a.active::after{right:0}
    .nav-cta{padding:12px 17px;background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));color:var(--bg-deep)!important;font-weight:800;border:1px solid rgba(255,255,255,.16);box-shadow:0 8px 25px rgba(154,100,48,.22)}
    .nav-cta:hover{transform:translateY(-2px)}
    .menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);background:transparent;position:relative;z-index:102;cursor:pointer}
    .menu-toggle span{position:absolute;left:11px;width:22px;height:1px;background:var(--gold-light);transition:.3s}.menu-toggle span:first-child{top:17px}.menu-toggle span:last-child{top:27px}
    body.menu-open .menu-toggle span:first-child{top:22px;transform:rotate(45deg)}body.menu-open .menu-toggle span:last-child{top:22px;transform:rotate(-45deg)}

    .hero{min-height:100svh;padding:142px 0 46px;display:flex;align-items:center;background:radial-gradient(circle at 82% 24%,rgba(31,89,102,.27),transparent 30rem),linear-gradient(145deg,#03131a 0%,#061d26 66%,#082832 100%);position:relative}
    .hero::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}
    .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
    .hero-copy{padding-top:14px}
    .hero-question{font-family:var(--serif);font-size:clamp(1.75rem,2.65vw,2.75rem);line-height:1.06;letter-spacing:-.025em;font-weight:600;color:var(--gold-light);text-transform:uppercase;max-width:680px}
    .hero-question::after{content:"";display:block;width:74px;height:1px;background:var(--gold);margin-top:18px}
    .hero h1{font-family:var(--serif);font-size:clamp(3.25rem,5.45vw,5.55rem);line-height:.91;letter-spacing:-.045em;font-weight:600;max-width:730px;margin-top:18px}
    .hero h1 em{display:inline;color:var(--gold);font-style:italic;font-weight:600}
    .hero-sub{max-width:610px;color:#d0d5d5;font-size:1.04rem;line-height:1.85;margin-top:32px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:36px}
    .btn{min-height:52px;padding:0 23px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.045em;font-size:.78rem;font-weight:800;cursor:pointer;transition:.25s}
    .btn-primary{background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));color:var(--bg-deep);box-shadow:0 12px 34px rgba(154,100,48,.22)}
    .btn-primary:hover{transform:translateY(-3px);filter:brightness(1.06);box-shadow:0 17px 42px rgba(154,100,48,.30)}
    .btn-secondary{border-color:var(--line);background:transparent;color:var(--gold-light)}
    .btn-secondary:hover{background:rgba(212,154,82,.08);transform:translateY(-3px)}
    .arrow{font-size:1.15rem;transition:.2s}.btn:hover .arrow{transform:translateX(4px)}
    .portrait-stage{position:relative}
    .portrait-frame{position:relative;border:1px solid var(--gold-dark);padding:10px;background:rgba(255,255,255,.018);box-shadow:var(--shadow);aspect-ratio:4/5;overflow:hidden}
    .portrait-frame::before{content:"";position:absolute;inset:5px;border:1px solid rgba(239,199,131,.16);z-index:2;pointer-events:none}
    .portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 36%}

    .service-strip{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:rgba(2,14,20,.46)}
    .service-strip-grid{display:grid;grid-template-columns:repeat(5,1fr)}
    .strip-item{padding:30px 22px;text-align:center;border-right:1px solid var(--line-soft);transition:.25s}
    .strip-item:last-child{border-right:0}.strip-item:hover{background:rgba(212,154,82,.055)}
    .strip-icon{width:42px;height:42px;margin:0 auto 13px;color:var(--gold)}.strip-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.45}
    .strip-item h3{font-size:.76rem;color:var(--gold);letter-spacing:.1em;text-transform:uppercase}
    .strip-item p{font-size:.78rem;color:var(--muted);line-height:1.55;margin-top:8px}

    .purpose{padding:54px 0;background:linear-gradient(90deg,#0b303a,#0a2530)}
    .purpose-grid{display:grid;grid-template-columns:.9fr 1.1fr auto;gap:55px;align-items:center}
    .purpose-quote{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3.35rem);line-height:.95}.purpose-quote span{color:var(--gold);font-style:italic}
    .purpose-copy{color:#d1d8d9;font-size:.94rem;line-height:1.8;max-width:520px}

    .services{background:var(--bg-soft);color:var(--ink)}
    .services .eyebrow{color:var(--gold)}.services .section-lead{color:var(--muted)}
    .services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:56px}
    .service-card{min-height:320px;border:1px solid var(--line-soft);background:linear-gradient(150deg,var(--panel-2),var(--panel));padding:36px;position:relative;overflow:hidden;transition:.35s}
    .service-card:hover{transform:translateY(-6px);box-shadow:0 24px 58px rgba(0,0,0,.24);border-color:var(--line);background:linear-gradient(150deg,#123640,#0b252e)}
    .service-card:last-child{grid-column:1/-1;min-height:260px}
    .service-index{font-size:.7rem;letter-spacing:.15em;font-weight:800;color:var(--gold)}
    .service-card h3{font-family:var(--serif);font-size:clamp(2rem,3vw,3rem);line-height:1;margin-top:25px}
    .service-card p{color:var(--muted);line-height:1.78;max-width:610px;margin-top:17px}
    .service-line{position:absolute;left:36px;right:36px;bottom:32px;height:52px;display:flex;align-items:flex-end;gap:8px;opacity:.72}
    .service-line span{flex:1;background:linear-gradient(to top,var(--gold-dark),var(--gold-light));transform-origin:bottom;animation:grow 1s ease both paused}.service-card.visible .service-line span{animation-play-state:running}
    @keyframes grow{from{transform:scaleY(.1);opacity:.2}to{transform:scaleY(1);opacity:1}}

    .decision{background:var(--bg-soft);color:var(--ink);padding-top:22px}
    .decision-shell{background:var(--bg);color:var(--ink);display:grid;grid-template-columns:.86fr 1.14fr;gap:68px;align-items:center;padding:64px;border:1px solid var(--line);box-shadow:0 32px 85px rgba(4,24,32,.20)}
    .decision-shell h2{font-family:var(--serif);font-size:clamp(2.9rem,4.8vw,5rem);line-height:.92;font-weight:600}
    .decision-shell p{color:var(--muted);line-height:1.8;margin-top:22px}
    .decision-list{display:grid;gap:15px;margin-top:28px}.decision-item{display:flex;gap:13px;align-items:center;font-size:.88rem}.check{width:25px;height:25px;border:1px solid var(--line);display:grid;place-items:center;color:var(--gold-light);flex:none}
    .dashboard{border:1px solid var(--line);background:linear-gradient(150deg,#0b2731,#04171f);padding:25px;min-height:410px}
    .dashboard-top{display:flex;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line-soft)}.dashboard-title{font-weight:800;font-size:.8rem}.dashboard-status{font-size:.66rem;color:var(--gold-light);letter-spacing:.1em;text-transform:uppercase}
    .dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:17px}.metric{padding:14px;border:1px solid var(--line-soft);background:rgba(255,255,255,.025)}.metric span{display:block;color:var(--muted);font-size:.66rem}.metric strong{display:block;font-family:var(--serif);font-size:1.3rem;margin-top:4px;color:var(--gold-light)}
    .dashboard-chart{height:175px;margin-top:18px;border-left:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);display:flex;align-items:flex-end;gap:10px;padding:14px 10px 0}.dashboard-chart span{flex:1;background:linear-gradient(to top,var(--gold-dark),var(--gold-light))}.dashboard-chart span:nth-child(1){height:35%}.dashboard-chart span:nth-child(2){height:48%}.dashboard-chart span:nth-child(3){height:43%}.dashboard-chart span:nth-child(4){height:64%}.dashboard-chart span:nth-child(5){height:76%}.dashboard-chart span:nth-child(6){height:92%}
    .dashboard-note{display:flex;justify-content:space-between;margin-top:16px;font-size:.69rem;color:var(--muted)}

    .about{background:var(--bg);color:var(--ink)}
    .about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:80px;align-items:center}
    .about-image{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line);padding:9px;background:var(--panel)}.about-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
    .about .eyebrow{color:var(--gold)}.about-copy p{font-size:1.02rem;line-height:1.88;color:var(--muted);margin-top:20px}.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:29px}.tag{border:1px solid var(--line);padding:9px 13px;font-size:.73rem;font-weight:700;color:var(--gold-light);background:rgba(255,255,255,.035)}

    .people{background:var(--bg-soft);color:var(--ink)}
    .people-panel{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-soft);box-shadow:0 25px 70px rgba(0,0,0,.22)}
    .people-copy{padding:64px;background:var(--panel-2)}.people-copy .eyebrow{color:var(--gold)}.people-copy h2{font-family:var(--serif);font-size:clamp(3rem,5vw,5rem);line-height:.9;margin-top:22px}.people-copy p{color:var(--muted);line-height:1.8;margin-top:22px}
    .people-options{background:var(--bg);padding:44px;display:grid;gap:16px}.people-option{border:1px solid var(--line-soft);padding:27px;transition:.28s}.people-option:hover{transform:translateX(7px);border-color:var(--line);background:rgba(212,154,82,.05)}.people-option small{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}.people-option h3{font-family:var(--serif);font-size:1.75rem;margin-top:8px}.people-option p{color:var(--muted);font-size:.88rem;line-height:1.7;margin-top:9px}

    .method{background:var(--bg)}
    .method-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:82px;margin-top:56px;align-items:start}.method-intro{position:sticky;top:125px}.method-intro p{color:var(--muted);line-height:1.8;margin-top:22px}.method-list{border-top:1px solid var(--line-soft)}.method-step{display:grid;grid-template-columns:78px 1fr;gap:20px;padding:32px 0;border-bottom:1px solid var(--line-soft);transition:.25s}.method-step:hover{padding-left:10px}.method-num{font-family:var(--serif);font-size:1.45rem;color:var(--gold)}.method-step h3{font-family:var(--serif);font-size:2rem;line-height:1}.method-step p{color:var(--muted);line-height:1.7;margin-top:8px}

    .contact{background:linear-gradient(145deg,#092e39,#061820);border-top:1px solid var(--line);position:relative;overflow:hidden}.contact::before{content:"";position:absolute;width:680px;height:680px;border:1px solid rgba(212,154,82,.12);border-radius:50%;right:-280px;top:-350px}
    .contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:start;position:relative;z-index:2}.contact-copy h2{font-family:var(--serif);font-size:clamp(3.5rem,6vw,6.3rem);line-height:.88;margin-top:22px}.contact-copy p{color:#ced6d7;line-height:1.8;margin-top:24px;max-width:530px}.contact-details{display:grid;gap:13px;margin-top:31px}.contact-details a{display:flex;align-items:center;gap:10px;color:#f6ede0;font-size:.92rem;transition:.2s}.contact-details a:hover{color:var(--gold-light);transform:translateX(4px)}
    .contact-form{background:rgba(3,18,25,.80);border:1px solid var(--line);padding:34px;box-shadow:var(--shadow);backdrop-filter:blur(12px)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field.hidden{position:absolute;left:-9999px}label{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:#c1cbcc;font-weight:700}input,textarea,select{width:100%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);color:white;padding:14px 15px;outline:none;transition:.2s;border-radius:0}input::placeholder,textarea::placeholder{color:#829397}input:focus,textarea:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,154,82,.10)}textarea{min-height:130px;resize:vertical}.privacy-row{display:flex;align-items:flex-start;gap:10px;margin-top:14px}.privacy-row input{width:17px;height:17px;margin-top:3px;accent-color:var(--gold)}.privacy-row label{font-size:.72rem;line-height:1.55;text-transform:none;letter-spacing:0;color:#aebbbc}.privacy-row a{text-decoration:underline;color:var(--gold-light)}.submit{width:100%;margin-top:18px}.form-note{font-size:.68rem;color:#879a9e;line-height:1.55;margin-top:13px}.form-feedback{display:none;margin-top:14px;padding:12px 14px;border:1px solid var(--line);font-size:.8rem}.form-feedback.show{display:block}.form-feedback.success{color:#cfe6cf;border-color:rgba(116,187,125,.45)}.form-feedback.error{color:#ffd7ca;border-color:rgba(233,121,84,.45)}

    footer{background:#020d12;border-top:1px solid var(--line-soft);padding:38px 0;color:#96a5a8}.footer-row{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;font-size:.74rem}.footer-brand{display:flex;align-items:center;gap:11px}.footer-brand img{width:54px;height:57px;object-fit:contain;object-position:center;display:block;flex:0 0 54px}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a:hover{color:var(--gold-light)}
    .privacy-modal{position:fixed;inset:0;z-index:200;display:none;place-items:center;padding:22px;background:rgba(1,10,14,.82);backdrop-filter:blur(8px)}.privacy-modal.open{display:grid}.privacy-box{width:min(720px,100%);max-height:82vh;overflow:auto;background:#f5f0e8;color:#1a2c31;border:1px solid var(--gold-dark);padding:34px}.privacy-box h2{font-family:var(--serif);font-size:2.7rem;line-height:1}.privacy-box p{margin-top:15px;line-height:1.75;color:#536568}.privacy-box .close{margin-top:25px;border:1px solid var(--gold-dark);background:transparent;color:#513318;padding:10px 15px;cursor:pointer;font-weight:800;text-transform:uppercase;font-size:.72rem;letter-spacing:.06em}
    .back-top{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border:1px solid var(--line);background:rgba(3,18,25,.86);color:var(--gold-light);display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;z-index:80;cursor:pointer}.back-top.show{opacity:1;visibility:visible;transform:none}

    @media(max-width:1120px){.brand{min-width:285px}.brand-logo{width:58px;height:58px}.brand-name{font-size:1.05rem}.brand-sub{font-size:.54rem}.nav-links{gap:17px}.hero-grid,.decision-shell,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-copy{padding-top:45px}.portrait-stage{max-width:640px;width:100%;margin-inline:auto}.portrait-frame{aspect-ratio:4/5}.decision-shell{gap:45px}.about-grid{gap:48px}.about-image{max-width:610px}.method-grid{grid-template-columns:1fr;gap:35px}.method-intro{position:static}}
    @media(max-width:900px){.section{padding:90px 0}.menu-toggle{display:block}.nav-links{position:fixed;inset:0;background:rgba(2,13,18,.98);display:flex;flex-direction:column;justify-content:center;gap:28px;opacity:0;visibility:hidden;transform:translateY(-100%);transition:.34s;z-index:101}.nav-links a{font-size:1.12rem}.nav-cta{padding:14px 21px}body.menu-open .nav-links{opacity:1;visibility:visible;transform:none}.service-strip-grid{grid-template-columns:repeat(2,1fr)}.strip-item{border-bottom:1px solid var(--line-soft)}.strip-item:nth-child(2n){border-right:0}.strip-item:last-child{grid-column:1/-1}.purpose-grid{grid-template-columns:1fr;gap:25px}.services-grid,.people-panel{grid-template-columns:1fr}.service-card{min-height:auto;display:flex;flex-direction:column}.service-card:last-child{grid-column:auto;min-height:auto}.service-line{position:relative;left:auto;right:auto;bottom:auto;width:100%;height:62px;margin-top:30px;flex:none}.people-copy,.people-options{padding:40px}.footer-row{grid-template-columns:1fr;text-align:center}.footer-brand,.footer-links{justify-content:center}.footer-brand img{width:50px;height:53px;flex-basis:50px}}
    @media(max-width:640px){.container{width:min(var(--max),calc(100% - 28px))}.brand{min-width:0;gap:9px;padding-left:0}.brand-logo{width:48px;height:48px}.brand-name{font-size:.88rem;letter-spacing:.035em}.brand-sub{font-size:.43rem;letter-spacing:.015em;margin-top:6px}.hero{padding:112px 0 34px}.hero-question{font-size:clamp(1.45rem,7.2vw,2.05rem)}.hero-question::after{margin-top:14px}.hero h1{font-size:clamp(2.8rem,13vw,4.15rem)}.hero-sub{font-size:.96rem}.hero-actions{display:grid}.btn{width:100%}.portrait-frame{padding:6px}.service-strip-grid{grid-template-columns:1fr}.strip-item{border-right:0}.strip-item:last-child{grid-column:auto}.purpose{padding:46px 0}.services-grid{grid-template-columns:1fr}.service-card{padding:27px;min-height:auto}.service-card h3{font-size:clamp(1.85rem,9vw,2.45rem);line-height:1.05}.service-card p{line-height:1.7}.service-line{left:auto;right:auto;bottom:auto;height:68px;margin-top:26px}.decision-shell{padding:27px 20px}.dashboard-grid{grid-template-columns:1fr}.about-image{padding:6px}.people-copy,.people-options{padding:31px 23px}.method-step{grid-template-columns:50px 1fr}.contact-grid{gap:43px}.contact-form{padding:24px 19px}.form-grid{grid-template-columns:1fr}.footer-links{gap:12px}.privacy-box{padding:25px 20px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.service-line span{animation:none}.btn,.service-card,.method-step,.people-option{transition:none}}
  
    /* Marchio ufficiale fornito: lockup completo BB + denominazione */
    .brand{
      display:flex;
      align-items:center;
      min-width:305px;
      padding:0;
      gap:0;
      overflow:visible;
      flex:none;
    }
    .brand-lockup{
      display:block;
      background:transparent;
      width:305px;
      height:auto;
      max-width:none;
      object-fit:contain;
      object-position:left center;
    }
    @media(max-width:1120px){
      .brand{min-width:265px}
      .brand-lockup{width:265px}
    }
    @media(max-width:640px){
      .brand{min-width:0;max-width:calc(100vw - 88px)}
      .brand-lockup{width:min(245px,calc(100vw - 88px));max-width:100%}
    }


/* =========================================================
   BB MOBILE MENU HOTFIX v2
   Only affects <= 900px. Desktop styles remain untouched.
   ========================================================= */
@media (max-width: 900px) {
  header#topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 10000;
  }

  header#topbar .nav {
    position: relative;
    z-index: 10001;
  }

  header#topbar .brand {
    position: relative;
    z-index: 10003;
  }

  header#topbar .menu-toggle {
    position: relative;
    z-index: 10004;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    flex: 0 0 42px;
    background: transparent;
    border: 1px solid rgba(224, 181, 106, .75);
    color: #f5e4c0;
  }

  header#topbar .menu-toggle span {
    position: absolute;
    display: block;
    width: 21px;
    height: 2px;
    left: 10px;
    background: #e0b36a;
    transition: transform .22s ease, opacity .22s ease;
  }

  header#topbar .menu-toggle span:first-child { transform: translateY(-4px); }
  header#topbar .menu-toggle span:last-child  { transform: translateY(4px); }

  body.menu-open {
    overflow: hidden;
    touch-action: none;
  }

  body.menu-open header#topbar .menu-toggle span:first-child {
    transform: rotate(45deg);
  }

  body.menu-open header#topbar .menu-toggle span:last-child {
    transform: rotate(-45deg);
  }

  header#topbar .nav-links {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 104px 24px calc(40px + env(safe-area-inset-bottom)) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    overflow-y: auto !important;
    background: #061820 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-8px) !important;
    pointer-events: none !important;
    z-index: 10002 !important;
    transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s !important;
  }

  body.menu-open header#topbar .nav-links {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    transition: opacity .22s ease, transform .22s ease !important;
  }

  header#topbar .nav-links a {
    display: block !important;
    width: min(86vw, 340px) !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    text-align: center !important;
    color: #f5f0e8 !important;
    font-size: 1.18rem !important;
    line-height: 1.25 !important;
    letter-spacing: .01em !important;
    white-space: normal !important;
    text-decoration: none !important;
  }

  header#topbar .nav-links a:hover,
  header#topbar .nav-links a:focus-visible {
    color: #e0b36a !important;
    background: transparent !important;
  }

  header#topbar .nav-links .nav-cta {
    width: min(86vw, 340px) !important;
    margin-top: 7px !important;
    padding: 13px 18px !important;
    border: 1px solid #c99645 !important;
    background: #c99645 !important;
    color: #10242a !important;
    text-align: center !important;
    font-size: .86rem !important;
    font-weight: 800 !important;
  }

  main#contenuto {
    position: relative;
    z-index: 1;
  }
}

@media (max-width: 640px) {
  header#topbar .brand {
    max-width: calc(100vw - 82px) !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  header#topbar .brand-lockup {
    width: min(238px, calc(100vw - 82px)) !important;
    height: auto !important;
    max-width: 100% !important;
  }

  header#topbar .nav-links {
    padding-top: 98px !important;
  }

  header#topbar .nav-links a {
    font-size: 1.06rem !important;
  }
}
