@font-face{font-family:'PT Sans';src:url('/assets/fonts/pt-sans-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;} @font-face{font-family:'PT Sans';src:url('/assets/fonts/pt-sans-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;} :root{--text:#111111;--muted:#3f3f3f;--line:rgba(17,17,17,.16);--card:#ffffff;--radius:18px;--max:1200px;--shadow:0 10px 30px rgba(17,17,17,.06);--shadow2:0 6px 16px rgba(17,17,17,.06);} *{box-sizing:border-box;} html{scroll-behavior:smooth;} body{margin:0;font-family:'PT Sans',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--page-bg,#FAF5F2);color:var(--text);line-height:1.65;text-rendering:optimizeLegibility;} img{max-width:100%;height:auto;display:block;} a{color:inherit;text-decoration-color:rgba(17,17,17,.65);text-underline-offset:.18em;text-decoration-thickness:1px;} a:hover{text-decoration-color:rgba(17,17,17,.9);text-decoration-thickness:2px;} p{margin:0 0 1rem;} ul{margin:.4rem 0 1.2rem;padding-left:1.2rem;} li{margin:.35rem 0;} h1,h2,h3{line-height:1.15;margin:0 0 .75rem;font-weight:700;letter-spacing:-.01em;} h1{font-size:clamp(2.15rem,5.5vw,3.25rem);} h2{font-size:clamp(1.45rem,2.7vw,2.05rem);margin-top:0;} h3{font-size:1.1rem;} small,.small{font-size:.95rem;color:var(--muted);} .wrap{max-width:var(--max);margin:0 auto;padding:0 20px;} @media(min-width:900px){.wrap{padding:0 28px;}} .skip-link{position:absolute;left:-999px;top:10px;background:#111;color:#fff;padding:10px 14px;border-radius:999px;z-index:999;} .skip-link:focus{left:10px;} :focus-visible{outline:3px solid rgba(17,17,17,.65);outline-offset:3px;border-radius:10px;} .site-header{position:sticky;top:0;background:rgba(250,245,242,.88);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);z-index:50;} .page--aziende .site-header{background:rgba(225,235,237,.92);} .page--professionisti .site-header{background:rgba(253,252,248,.92);} .page--locali .site-header{background:rgba(253,245,242,.92);} .header__inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;} .brand{display:flex;align-items:center;gap:10px;text-decoration:none;} .brand__logo{width:36px;height:auto;} .brand__name{font-weight:700;letter-spacing:-.01em;} .nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:transparent;color:inherit;} .nav-toggle__bars{width:18px;height:12px;position:relative;} .nav-toggle__bars span{position:absolute;left:0;right:0;height:2px;background:currentColor;border-radius:10px;transition:transform .22s ease,opacity .22s ease,top .22s ease;} .nav-toggle__bars span:nth-child(1){top:0;} .nav-toggle__bars span:nth-child(2){top:5px;} .nav-toggle__bars span:nth-child(3){top:10px;} body.nav-open .nav-toggle__bars span:nth-child(1){top:5px;transform:rotate(45deg);} body.nav-open .nav-toggle__bars span:nth-child(2){opacity:0;} body.nav-open .nav-toggle__bars span:nth-child(3){top:5px;transform:rotate(-45deg);} .site-nav{position:fixed;inset:70px 16px 16px 16px;background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:10px;transform:translateY(-10px);opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease;} body.nav-open .site-nav{opacity:1;transform:translateY(0);pointer-events:auto;} .site-nav ul{list-style:none;margin:0;padding:6px;display:grid;gap:6px;} .site-nav ul a{display:flex;align-items:center;gap:10px;padding:12px 12px;border-radius:16px;text-decoration:none;color:inherit;border:1px solid transparent;} .site-nav ul a:hover{border-color:var(--line);background:rgba(17,17,17,.03);text-decoration:none;} .site-nav ul a[aria-current="page"]{border-color:rgba(17,17,17,.25);background:rgba(17,17,17,.04);} .nav__icon{width:22px;height:22px;color:rgba(17,17,17,.85);flex:0 0 auto;} @media(min-width:900px){ .nav-toggle{display:none;} .site-nav{position:static;inset:auto;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;transform:none;opacity:1;pointer-events:auto;} .site-nav ul{display:flex;gap:8px;align-items:center;padding:0;} .site-nav ul a{padding:10px 10px;border-radius:999px;} .nav__icon{width:18px;height:18px;opacity:.8;} } .main{padding:22px 0 70px;} .hero{padding:46px 0 22px;} .hero__grid{display:grid;gap:22px;align-items:center;} @media(min-width:900px){.hero__grid{grid-template-columns:1.12fr .88fr;gap:44px;}} .hero__lead{font-size:1.12rem;color:var(--muted);max-width:55ch;} .hero__bullets{margin:.9rem 0 1.35rem;} .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;} .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:999px;border:1px solid rgba(17,17,17,.65);background:transparent;color:inherit;text-decoration:none;font-weight:700;transition:transform .2s ease,background .2s ease,border-color .2s ease;} .btn:hover{transform:translateY(-1px);border-color:rgba(17,17,17,.85);text-decoration:none;background:rgba(17,17,17,.03);} .btn:active{transform:translateY(0);} .btn--primary{background:#111;color:#fff;border-color:#111;} .btn--primary:hover{background:#1a1a1a;} .btn--full{width:100%;} @media(min-width:520px){.btn--full{width:auto;}} .media{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow2);background:rgba(255,255,255,.5);} .media img{width:100%;height:auto;} .section{padding:54px 0;} .section__grid{display:grid;gap:18px;align-items:start;} @media(min-width:900px){.section__grid{grid-template-columns:1.05fr .95fr;gap:42px;align-items:center;}} .kicker{display:inline-flex;gap:10px;align-items:center;color:var(--muted);font-weight:700;font-size:.95rem;margin-bottom:10px;} .cards{display:grid;gap:14px;margin-top:18px;} @media(min-width:900px){.cards{grid-template-columns:repeat(3,1fr);}} .card{display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:20px;background:rgba(255,255,255,.55);border:1px solid var(--line);box-shadow:0 6px 18px rgba(17,17,17,.04);text-decoration:none;} .card:hover{background:rgba(255,255,255,.78);border-color:rgba(17,17,17,.22);text-decoration:none;} .card__title{font-weight:700;} .steps{display:grid;gap:12px;margin-top:18px;} .step{padding:16px 16px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.55);} .step strong{display:block;font-size:1.05rem;margin-bottom:4px;} .callout{padding:22px;border-radius:24px;border:1px solid var(--line);background:rgba(255,255,255,.62);box-shadow:var(--shadow2);} .callout h2{margin-bottom:.5rem;} .footer{border-top:1px solid var(--line);padding:26px 0;color:var(--muted);font-size:.95rem;} .footer__inner{display:flex;flex-direction:column;gap:12px;} @media(min-width:900px){.footer__inner{flex-direction:row;align-items:center;justify-content:space-between;}} .footer a{text-decoration-color:rgba(63,63,63,.6);} .form{display:grid;gap:12px;} .field{display:grid;gap:6px;} label{font-weight:700;} input,textarea{font:inherit;color:inherit;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.85);padding:12px 12px;} textarea{min-height:140px;resize:vertical;} input:focus,textarea:focus{outline:none;border-color:rgba(17,17,17,.45);box-shadow:0 0 0 4px rgba(17,17,17,.08);} .form__note{font-size:.95rem;color:var(--muted);} .alert{padding:14px 16px;border-radius:16px;border:1px solid rgba(17,17,17,.18);background:rgba(255,255,255,.72);} .alert--success{border-color:rgba(0,120,60,.35);} .alert--error{border-color:rgba(160,0,0,.25);} .breadcrumb{font-size:.92rem;color:var(--muted);margin-bottom:14px;} .breadcrumb a{text-decoration-color:rgba(63,63,63,.55);} .reveal{opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease;} .reveal.is-visible{opacity:1;transform:translateY(0);} @media(prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} .reveal{opacity:1;transform:none;transition:none;} .btn,.site-nav,.nav-toggle__bars span{transition:none;} } .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;} .related-links{margin-top:14px;}.hero__note{margin-top:18px;}.card__media{margin-top:10px;}.media--bg{background-size:cover;background-position:center;background-repeat:no-repeat;min-height:220px;} .card__media.media--bg{min-height:180px;} .cookie-banner[hidden]{display:none;} .cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;} .cookie-banner__inner{max-width:1040px;margin:0 auto;display:flex;flex-direction:column;gap:12px;align-items:flex-start;justify-content:space-between;padding:14px 16px;border:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:saturate(120%) blur(10px);border-radius:16px;box-shadow:var(--shadow2);} .cookie-banner__text{margin:0;color:var(--text2);font-size:.95rem;} .cookie-banner__actions{display:flex;gap:10px;flex-wrap:wrap;width:100%;} .cookie-banner__actions .btn{flex:1;} @media(min-width:720px){.cookie-banner__inner{flex-direction:row;align-items:center;} .cookie-banner__actions{width:auto;} .cookie-banner__actions .btn{flex:0;}} .brand--footer .brand__logo{width:28px;height:auto;} .brand--footer .brand__name{font-size:1rem;} .footer__brand{display:flex;gap:12px;align-items:flex-start;} .footer__meta{display:flex;flex-direction:column;gap:6px;} .footer__legal{font-size:.95rem;} .footer__links{line-height:1.9;} .form__error{margin:12px 0 0;padding:10px 12px;border:1px solid rgba(120,0,0,.18);background:rgba(120,0,0,.06);border-radius:12px;}
/* --- Extensions (v5): header CTA, nav scrim, newsletter, article prose --- */
.nav-scrim{position:fixed;inset:0;background:rgba(17,17,17,.35);opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:40;}
body.nav-open .nav-scrim{opacity:1;pointer-events:auto;}
/* Make mobile menu scrollable */
.site-nav{overflow:auto;max-height:calc(100vh - 86px);-webkit-overflow-scrolling:touch;}
/* Header CTA */
.header__cta{display:none;}
.nav__footer{padding:6px;}
@media(min-width:900px){.header__inner{gap:18px;} .header__cta{display:inline-flex;} .nav__footer{display:none;}}
/* Footer layout: allow 3 columns */
.footer__inner{align-items:flex-start;}
@media(min-width:900px){.footer__inner{align-items:flex-start;}}
.footer__newsletter{max-width:420px;}
.newsletter{display:grid;gap:10px;margin-top:8px;}
.newsletter-row{display:flex;gap:10px;flex-wrap:wrap;}
.newsletter-row input[type="email"]{flex:1;min-width:220px;}
.newsletter-row .btn{flex:0 0 auto;}
.hp{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--muted);} 
.consent input{margin-top:4px;}
.status{font-size:.95rem;color:var(--muted);min-height:1.2em;}
/* Article prose */
.prose{max-width:78ch;}
.prose h2{margin-top:2rem;}
.note{margin-top:1.6rem;padding:18px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.62);box-shadow:var(--shadow2);} 
.article-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--muted);font-size:.95rem;margin:.6rem 0 0;}
.article-hero-actions{margin-top:14px;}
/* --- Refinements (v6): navbar one-line labels + solid mobile header --- */
@media(min-width:900px){
  .header__inner{justify-content:flex-start;}
  .site-nav{flex:1 1 auto;min-width:0;}
  .site-nav ul{justify-content:center;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .site-nav ul::-webkit-scrollbar{display:none;}
  .site-nav ul>li{flex:0 0 auto;}
  .site-nav a,.site-nav a span{white-space:nowrap;}
  .header__cta{margin-left:auto;}
}
@media(max-width:899px){
  .site-header{background:var(--page-bg,#FAF5F2);backdrop-filter:none;}
  body.nav-open{overflow:hidden;}
  /* Ensure the opened mobile menu is always readable */
  .site-nav{background:#fff;}
}
@media(min-width:900px){.site-nav{overflow:visible;max-height:none;}}

/* --- Refinements (v7): centered mobile brand, icon-only header logo, landscape-safe nav, footer grid --- */
.site-nav ul a span{white-space:nowrap;}

@media(max-width:1199px){
  /* solid header for readability on mobile/tablet */
  .site-header{background:var(--page-bg,#FAF5F2);backdrop-filter:none;}

  /* center brand on mobile */
  .header__inner{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;justify-content:initial;gap:10px;}
  .nav-toggle{grid-column:1;justify-self:start;}
  .brand{grid-column:2;justify-self:center;}
  .header__inner::after{content:"";grid-column:3;width:44px;height:44px;}
}

/* keep hamburger menu in "tablet landscape" widths to avoid cropped navigation */
@media(min-width:900px) and (max-width:1199px){
  .nav-toggle{display:inline-flex;}
  .header__cta{display:none;}
  .site-nav{position:fixed;inset:70px 16px 16px 16px;background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:10px;transform:translateY(-10px);opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease;overflow:auto;max-height:calc(100vh - 86px);-webkit-overflow-scrolling:touch;}
  body.nav-open .site-nav{opacity:1;transform:translateY(0);pointer-events:auto;}
  .site-nav ul{display:grid;gap:6px;align-items:stretch;padding:6px;}
  .nav__footer{display:block;}
}

@media(min-width:1200px){
  .header__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;justify-content:initial;gap:18px;}
  .brand{justify-self:start;}
  .site-nav{justify-self:center;position:static;inset:auto;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;transform:none;opacity:1;pointer-events:auto;overflow:visible;max-height:none;}
  .site-nav ul{display:flex;gap:6px;align-items:center;padding:0;justify-content:center;flex-wrap:nowrap;}
  .site-nav ul>li{flex:0 0 auto;}
  .site-nav ul a{padding:9px 10px;border-radius:999px;}
  .nav__icon{width:18px;height:18px;}
  .nav-toggle{display:none;}
  .header__cta{display:inline-flex;justify-self:end;}
  .nav__footer{display:none;}
}

/* footer: prevent overlaps on medium widths */
.footer__inner{display:grid;grid-template-columns:1fr;gap:22px;align-items:start;}
.footer__brand{flex-direction:column;align-items:flex-start;gap:10px;}
@media(min-width:900px){
  .footer__inner{grid-template-columns:minmax(240px,1.1fr) minmax(280px,1.2fr) minmax(240px,1fr);}
  .footer__links{justify-self:end;text-align:right;}
}


.brand--footer .brand__logo{width:32px;height:auto;}
@media(min-width:900px) and (max-width:1199px){.nav-scrim{display:block;}}
@media(min-width:1200px){.nav-scrim{display:none;}}

/* --- Refinements (v8): portrait header 3-part layout + larger logo --- */
.header__title{display:none;font-weight:700;letter-spacing:-.01em;color:var(--text);}
@media(max-width:899px){
  .header__inner{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;justify-content:initial;}
  .header__inner::after{content:none !important;}
  .brand{grid-column:1;justify-self:start;}
  .header__title{display:block;grid-column:2;justify-self:center;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.05rem;}
  .nav-toggle{grid-column:3;justify-self:end;}
  .brand__logo{width:44px;height:auto;}
  .site-header{background:var(--page-bg,#FAF5F2);backdrop-filter:none;}
}
@media(orientation:landscape) and (max-width:899px){
  .brand__logo{width:48px;}
  .header__inner{padding:10px 0;}
}
@media(min-width:900px) and (max-width:1199px){
  .header__inner{display:flex;align-items:center;justify-content:space-between;gap:14px;}
  .header__inner::after{content:none !important;}
  .header__title{display:none;}
  .brand__logo{width:40px;}
}
@media(min-width:1200px){
  .header__title{display:none;}
  .brand__logo{width:40px;}
}

/* Footer: logo with wordmark */
.brand__logo--full{width:140px;height:auto;max-width:100%;}
@media(min-width:900px){.brand__logo--full{width:120px;}}
.brand--footer .brand__logo--full{width:140px;height:auto;max-width:100%;}
@media(min-width:900px){.brand--footer .brand__logo--full{width:120px;}}
/* v8 tweak: make header logo more visible across viewports */
@media(min-width:900px){.brand__logo{width:44px;height:auto;}}
@media(orientation:landscape) and (max-width:899px){.brand__logo{width:52px;height:auto;}}
