
:root{
  --navy:#0b3e73;
  --blue:#2d6ea8;
  --sky:#92bad9;
  --ice:#eef5fa;
  --paper:#fbfaf7;
  --ink:#17324a;
  --muted:#667b8e;
  --line:#d8e5ee;
  --white:#fff;
  --shadow:0 18px 48px rgba(23,50,74,.09);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:
    linear-gradient(rgba(255,255,255,.08), rgba(255,255,255,.08)),
    url("assets/sfondo-blog.png") center top / cover fixed no-repeat;
  line-height:1.65;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.container{width:min(1120px,92%);margin:auto}
.site-header{
  position:sticky;top:0;z-index:20;
  backdrop-filter:blur(12px);
  background:rgba(251,250,247,.90);
  border-bottom:1px solid rgba(216,229,238,.86);
}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:24px}
.brand{display:flex;flex-direction:column;line-height:1.1}
.brand strong{font-family:Georgia,serif;color:var(--navy);font-size:1.22rem}
.brand span{font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-top:6px}
.menu{display:flex;gap:22px;align-items:center;font-size:.94rem}
.menu a:hover,.footer-links a:hover{color:var(--blue)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 19px;border-radius:999px;background:var(--navy);color:white;
  font-weight:700;border:1px solid var(--navy);transition:.2s ease;cursor:pointer
}
.btn:hover{transform:translateY(-1px);background:#07335f}
.btn.secondary{background:transparent;color:var(--navy)}
.btn.light{background:#fff;color:var(--navy);border-color:#fff}
.hero{padding:78px 0 58px}
.hero-grid{display:grid;grid-template-columns:1.14fr .86fr;gap:64px;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.77rem;font-weight:800;color:var(--blue)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy);line-height:1.12;margin-top:0}
h1{font-size:clamp(2.7rem,6vw,5.25rem);font-weight:500;margin-bottom:22px}
h2{font-size:clamp(2.05rem,4vw,3.45rem);font-weight:500}
h3{font-size:1.48rem}
.lead{font-size:1.18rem;color:#3e5a72;max-width:760px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.trust-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;color:var(--muted);font-size:.91rem}
.trust-row span:before{content:"✓";color:var(--blue);font-weight:800;margin-right:7px}
.portrait-wrap{position:relative;border-radius:34px;overflow:hidden;box-shadow:var(--shadow);background:var(--ice);aspect-ratio:4/5}
.portrait-wrap img{width:100%;height:100%;object-fit:cover}
.band{background:rgba(238,245,250,.74);padding:22px 0;border-block:1px solid var(--line);backdrop-filter:blur(3px)}
.band-row{display:flex;gap:26px;flex-wrap:wrap;justify-content:center;color:#45647e;font-size:.95rem}
.section{padding:88px 0}
.section.soft{background:linear-gradient(180deg,rgba(245,249,252,.74) 0%,rgba(238,245,250,.74) 100%);backdrop-filter:blur(2px)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:start}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow);backdrop-filter:blur(5px)}
.card p{color:#50697e}
.quote{border-left:3px solid var(--sky);padding-left:22px;font-family:Georgia,serif;font-size:1.32rem;color:var(--navy)}
.pill-list{display:flex;gap:10px;flex-wrap:wrap;padding:0;list-style:none}
.pill-list li{background:white;border:1px solid var(--line);padding:8px 12px;border-radius:999px;color:#45647e;font-size:.92rem}
.article-card{display:flex;flex-direction:column;height:100%}
.article-card p{color:var(--muted)}
.meta{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-weight:800}
.text-link{margin-top:auto;color:var(--navy);font-weight:800}
.cta{
  padding:44px;border-radius:32px;background:var(--navy);color:white;
  display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;
}
.cta h2,.cta p{color:white}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}
.contact-card{background:white;border:1px solid var(--line);border-radius:18px;padding:18px}
.contact-card b{display:block;color:var(--navy);margin-bottom:4px}
.form-card{background:rgba(255,255,255,.90);border:1px solid var(--line);border-radius:26px;padding:32px;box-shadow:var(--shadow);backdrop-filter:blur(5px)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-weight:700;color:var(--navy);font-size:.92rem}
input,textarea,select{
  width:100%;border:1px solid #cbdce8;border-radius:14px;padding:13px 14px;background:#fff;color:var(--ink);outline:none
}
input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(45,110,168,.1)}
textarea{min-height:150px;resize:vertical}
.check{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:.9rem}
.check input{width:auto;margin-top:5px}
.notice{font-size:.9rem;color:var(--muted);background:#fff;border:1px solid var(--line);padding:18px 20px;border-radius:16px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 20px;margin-bottom:12px}
.faq summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:800;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq details p{margin-top:0;color:#50697e;padding-bottom:18px}
.brand-image{border-radius:28px;border:1px solid var(--line);box-shadow:var(--shadow)}
.article-hero{padding:74px 0 34px}
.article-body{width:min(760px,92%);margin:0 auto;padding-bottom:90px}
.article-body h2{font-size:2rem;margin-top:44px}
.article-body p{margin:0 0 20px}
.article-body .back{display:inline-block;margin-bottom:26px;color:var(--blue);font-weight:800}
.small{font-size:.9rem;color:var(--muted)}
.kicker-card{padding:26px;border-radius:22px;background:var(--ice);border:1px solid var(--line)}
.steps{counter-reset:steps;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px}
.step:before{counter-increment:steps;content:counter(steps);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;margin-bottom:16px}
footer{padding:46px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:30px}
.footer-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}
@media (max-width:900px){
  .menu{display:none}
  .hero-grid,.two-col,.grid-3,.grid-2,.cta,.footer-grid,.contact-cards,.steps{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .hero{padding-top:48px}
  .section{padding:66px 0}
}


.brand span }

/* V7: readability over illustrated background */
main > section.section,
main > section.article-hero,
main > section.hero{
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(4px);
}
main > section.section{
  margin:24px auto;
  width:min(1180px,96%);
  border-radius:28px;
  box-shadow:0 14px 36px rgba(23,50,74,.06);
}
main > section.hero{
  margin:18px auto 0;
  width:min(1180px,96%);
  border-radius:30px;
}
main > section.article-hero{
  margin:18px auto 0;
  width:min(1180px,96%);
  border-radius:30px;
}
.band{
  background:rgba(255,255,255,.82)!important;
  backdrop-filter:blur(4px);
}
.card,
.form-card,
.contact-card,
.faq details,
.notice,
.kicker-card,
.step{
  background:rgba(255,255,255,.88)!important;
  backdrop-filter:blur(5px);
}
.article-body{
  background:rgba(255,255,255,.84);
  border-radius:24px;
  padding:34px;
  margin-top:20px;
  box-shadow:0 14px 36px rgba(23,50,74,.05);
}
.section.soft{
  background:rgba(255,255,255,.76)!important;
}
@media (max-width:900px){
  main > section.section,
  main > section.hero,
  main > section.article-hero{
    width:94%;
    border-radius:22px;
  }
  .article-body{
    width:94%;
    padding:24px;
  }
}

.brand span @media (max-width:900px){
  .brand span }


/* V9 — leggibilità: ogni area con testo è su pannello bianco semitrasparente */
.site-header{
  background:rgba(255,255,255,.88)!important;
  backdrop-filter:blur(8px);
}

.hero,
.section,
.article-hero,
.article-body,
.band,
footer{
  background:rgba(255,255,255,.80)!important;
  backdrop-filter:blur(5px);
  border:1px solid rgba(216,229,238,.70);
  box-shadow:0 12px 34px rgba(23,50,74,.05);
}

.hero,
.section,
.article-hero,
.article-body{
  width:min(1180px,96%);
  margin-left:auto;
  margin-right:auto;
  border-radius:28px;
}

.hero{margin-top:20px}
.section{margin-top:24px;margin-bottom:24px}
.article-hero{margin-top:20px}
.article-body{padding:34px;margin-top:20px;margin-bottom:40px}

.band{
  width:min(1180px,96%);
  margin:22px auto;
  border-radius:20px;
}

footer{
  width:min(1180px,96%);
  margin:24px auto 30px;
  border-radius:22px;
  padding:34px 0;
}

.card,
.form-card,
.contact-card,
.kicker-card,
.step,
.faq details,
.notice,
.cta,
.quote,
.pill-list li{
  background:rgba(255,255,255,.88)!important;
  backdrop-filter:blur(5px);
}

.hero-grid > div:first-child,
.two-col > div,
.grid-3 > *,
.grid-2 > *,
.contact-cards > *,
.footer-grid > *,
.article-card,
.faq details,
.form-card,
.kicker-card,
.step,
.notice,
.cta{
  position:relative;
}

/* blocchi testuali senza card esplicita */
.hero-grid > div:first-child,
.two-col > div:not(:has(img)),
.section > .container > .lead,
.section > .container > .eyebrow,
.section > .container > h2,
.article-hero .container,
footer .container{
  background:rgba(255,255,255,.74);
  border-radius:18px;
  padding:18px 22px;
}

.hero-grid > div:first-child{
  padding:30px;
  border-radius:26px;
}

/* evita riquadri doppi dove già presenti */
.card .eyebrow,
.card h2,
.card h3,
.card p,
.form-card label,
.form-card p,
.cta h2,
.cta p,
.faq summary,
.faq p,
.notice,
.article-body h2,
.article-body p{
  background:transparent!important;
  box-shadow:none!important;
}

@media (max-width:900px){
  .hero,
  .section,
  .article-hero,
  .article-body,
  .band,
  footer{
    width:94%;
  }
  .article-body{padding:24px}
  .hero-grid > div:first-child{padding:24px}
}


/* V12 — menu a tendina Attività professionale */
.menu-dropdown{
  position:relative;
  display:flex;
  align-items:center;
}
.menu-dropdown-toggle{
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  font:inherit;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:.3rem;
}
.menu-dropdown-toggle:hover{
  color:var(--blue);
}
.menu-dropdown-panel{
  position:absolute;
  top:calc(100% + 14px);
  left:50%;
  transform:translateX(-50%) translateY(-4px);
  min-width:210px;
  background:rgba(255,255,255,.96);
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:var(--shadow);
  padding:8px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.18s ease;
  z-index:50;
}
.menu-dropdown-panel a{
  display:block;
  padding:10px 12px;
  border-radius:9px;
  white-space:nowrap;
}
.menu-dropdown-panel a:hover{
  background:rgba(238,245,250,.85);
  color:var(--navy);
}
.menu-dropdown:hover .menu-dropdown-panel,
.menu-dropdown.open .menu-dropdown-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
@media (max-width:900px){
  .menu-dropdown-panel{
    left:0;
    transform:translateY(-4px);
  }
  .menu-dropdown:hover .menu-dropdown-panel,
  .menu-dropdown.open .menu-dropdown-panel{
    transform:translateY(0);
  }
}

.availability-note{
  margin:20px 0 0;
  padding:12px 16px;
  background:rgba(255,255,255,.82);
  border:1px solid var(--line);
  border-radius:14px;
  color:var(--navy);
  display:inline-block;
  box-shadow:0 6px 18px rgba(23,50,74,.04);
}
