
:root{--g:#164c3d;--g2:#0f3b30;--gold:#b88a35;--cream:#f7f3ea;--paper:#fbf8f1;--ink:#173c31;--muted:#66736c;--serif:Georgia,"Times New Roman",serif;--sans:Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.section{padding:90px 0}.kicker{display:block;color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}h1,h2,h3,h4{font-family:var(--serif);line-height:1.06}h1{font-size:clamp(3.4rem,6vw,6.2rem)}h2{font-size:clamp(2.5rem,4vw,4.4rem)}h3{font-size:2rem}em{color:var(--gold);font-weight:400}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;font-weight:700;font-size:.75rem;text-transform:uppercase;border:1px solid transparent}.btn.dark{background:var(--g);color:#fff}.btn.light{background:#fff;border-color:var(--g);color:var(--g)}.btn.gold{background:var(--gold);color:#fff}.btn.outline{border-color:#ffffff66;color:#fff;margin-top:10px}.text-link{font-weight:700;border-bottom:1px solid var(--gold)}
.site-header{height:105px;background:#fbf8f1fa;position:relative;z-index:50}.header-inner{height:100%;max-width:1480px;margin:auto;padding:0 26px;display:flex;align-items:center;gap:28px}.brand{width:88px;flex:0 0 88px}.brand img{width:82px;height:82px;object-fit:contain}.main-nav{display:flex;gap:22px;align-items:center;margin-left:auto}.main-nav a{font-size:.77rem;font-weight:600;white-space:nowrap}.main-nav a:hover,.main-nav a.active{color:var(--gold)}.header-contact{font-size:.76rem;font-weight:700;margin-left:15px;display:flex;flex-direction:column}.header-contact a{color:var(--g)}.menu-toggle{display:none}
.home-hero{height:650px;background:url("../images/hero-uomo-braccia-aperte.jpg") left center/cover no-repeat;position:relative;display:flex;align-items:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#f7f3ea08 0%,#f7f3ea10 45%,#f7f3eacc 64%,#f7f3eafa 100%)}.hero-copy{position:relative;z-index:2;width:48%;margin-left:auto}.hero-copy h1{margin:0 0 22px}.hero-copy p{max-width:570px;color:#385149;font-size:1.05rem}.actions{display:flex;gap:12px;margin-top:28px}
.section-title{text-align:center;margin-bottom:42px}.section-title h2{margin:8px 0}.section-title p{color:var(--muted)}
.editorial-grid{display:grid;grid-template-columns:1.05fr .84fr 1.14fr;grid-template-rows:360px 390px;gap:12px}.journey{position:relative;overflow:hidden;border-radius:23px;color:#fff}.journey>img:not(.bio-mark){width:100%;height:100%;object-fit:cover;transition:.7s}.journey:hover>img:not(.bio-mark){transform:scale(1.04)}.prano{grid-row:1/3}.numerologia{grid-column:2/4}.campane{grid-column:2}.biomusica{grid-column:3}.card-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0f3b30f2,#0f3b3010 73%)}.card-copy{position:absolute;left:28px;right:28px;bottom:26px;z-index:3}.card-copy>span{color:var(--gold);font-weight:700}.card-copy h3{font-size:2.25rem;margin:4px 0 8px}.card-copy p{font-size:.79rem;margin:0 0 13px;max-width:520px}.card-copy b{background:var(--gold);padding:8px 17px;border-radius:999px;font-size:.65rem;text-transform:uppercase}.bio-mark{position:absolute!important;z-index:3;right:20px;top:18px;width:95px!important;height:95px!important;border-radius:50%;object-fit:cover}
.about-home{background:#efe8dc}.about-home-grid{display:grid;grid-template-columns:230px 1fr .85fr;gap:50px;align-items:center}.portrait img{aspect-ratio:1;border-radius:50%;object-fit:cover;border:5px solid white}.about-home h2{font-size:3.2rem}.about-home blockquote,.prose blockquote{font-family:var(--serif);font-size:1.9rem;line-height:1.25;border-left:2px solid var(--gold);padding-left:30px}
.values{background:#fff;padding:55px 0}.values-grid{display:grid;grid-template-columns:repeat(4,1fr)}.values-grid>div{padding:18px 26px;border-right:1px solid #ddd}.values-grid span{color:var(--gold);font-family:var(--serif);font-size:1.8rem}.values-grid h3{font-size:1.45rem}.values-grid p{font-size:.77rem;color:var(--muted)}
.contact-strip{background:var(--g);color:#fff;padding:26px 0}.contact-strip-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px}.contact-strip b,.contact-strip span,.contact-strip a{display:block}.contact-strip b{color:#d5b263;font-family:var(--serif);font-size:1.25rem}.contact-strip span,.contact-strip a{font-size:.75rem}
.inner-hero{min-height:570px;background-image:var(--hero);background-size:cover;background-position:center;position:relative;display:flex;align-items:end;color:#fff}.inner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#0f3b30ef,#0f3b3088 58%,#0f3b3020)}.inner-content{position:relative;z-index:2;padding-bottom:65px}.inner-content h1{margin:12px 0}.inner-content p{max-width:680px;color:#ffffffcc}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:75px;align-items:start}.prose{max-width:800px}.prose .lead{font-family:var(--serif);font-size:1.5rem}.prose p,.prose li{color:#5f6d66}.prose h3{margin:45px 0 14px}.notice{background:#eee7db;padding:20px 24px;border-radius:16px;font-size:.76rem}.sidebar{position:sticky;top:20px}.side-card{background:#eee7db;padding:28px;border-radius:20px;margin-bottom:16px}.side-card.dark{background:var(--g);color:#fff}.side-card p{font-size:.8rem}.side-card .btn{width:100%}
.option-grid,.service-modes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0 38px}.option-grid>div,.service-modes>div{background:#eee7db;border-radius:18px;padding:22px}.option-grid b{font-family:var(--serif);font-size:2rem;color:var(--gold)}.option-grid p,.service-modes p{font-size:.8rem;margin:5px 0}.service-modes h4{font-size:1.5rem;margin:6px 0}
.gallery-band{padding:80px 0;background:#eee7db}.image-text-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.image-text-grid>img{border-radius:24px;max-height:550px;width:100%;object-fit:cover}.image-text-grid.reverse{grid-template-columns:.85fr 1.15fr}.image-text-grid.reverse>img{grid-column:2}.image-text-grid.reverse>div{grid-row:1}.bio-page-logo{width:145px!important;height:145px!important;border-radius:50%!important}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post-card{background:#fff;border-radius:20px;overflow:hidden}.post-card img{width:100%;height:250px;object-fit:cover}.post-card>div{padding:25px}.post-card h2{font-size:1.9rem}.post-card p{font-size:.8rem;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}.contact-box{background:#fff;padding:20px;border-radius:14px;margin-bottom:12px}.contact-box b,.contact-box a,.contact-box span{display:block}.contact-form{background:var(--g);color:#fff;padding:38px;border-radius:25px}.contact-form label{display:block;font-size:.68rem;margin-bottom:14px}.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;padding:13px;margin-top:6px;border:1px solid #ffffff44;border-radius:10px;background:#ffffff10;color:#fff}.contact-form select option{color:#111}.contact-form textarea{height:125px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex!important;align-items:center}.check input{width:auto!important;margin:0 8px 0 0!important}.form-note{font-size:.65rem;color:#ffffff99}.narrow{max-width:850px}
.site-footer{background:var(--g2);color:#fff;padding-top:55px}.footer-main{display:grid;grid-template-columns:1.3fr .8fr 1fr .8fr;gap:40px}.footer-logo{width:115px;filter:none}.footer-main h3{font-size:1.35rem;color:#d5b263}.footer-main a,.footer-main p{display:block;font-size:.74rem;color:#ffffffb0;margin:5px 0}.footer-bottom{border-top:1px solid #ffffff20;margin-top:40px;padding:18px 0;display:flex;justify-content:space-between;font-size:.65rem;color:#ffffff88}.float-whatsapp{position:fixed;right:20px;bottom:20px;width:52px;height:52px;border-radius:50%;background:#1f9c4a;color:#fff;display:grid;place-items:center;font-weight:bold;z-index:40}.reveal{opacity:0;transform:translateY(20px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.header-contact{display:none}.main-nav{gap:14px}.about-home-grid{grid-template-columns:200px 1fr}.about-home blockquote{grid-column:1/3}.content-grid{gap:35px}}
@media(max-width:820px){.menu-toggle{display:block;margin-left:auto;background:none;border:0}.menu-toggle span{display:block;width:24px;height:2px;background:var(--g);margin:6px}.main-nav{display:none;position:absolute;top:105px;left:0;right:0;background:var(--paper);padding:22px;flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.home-hero{height:700px;background-position:32% center}.hero-shade{background:linear-gradient(0deg,#f7f3eafa 0%,#f7f3eae6 44%,#f7f3ea08 75%)}.hero-copy{width:100%;align-self:flex-end;padding-bottom:30px}.editorial-grid{display:block}.journey{height:470px;margin-bottom:12px}.content-grid,.contact-grid,.image-text-grid,.image-text-grid.reverse{grid-template-columns:1fr}.sidebar{position:static}.image-text-grid.reverse>img,.image-text-grid.reverse>div{grid-column:auto;grid-row:auto}.blog-grid{grid-template-columns:1fr 1fr}.footer-main{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.section{padding:65px 0}.home-hero{height:730px}.hero-copy h1{font-size:3.3rem}.actions{flex-direction:column;align-items:flex-start}.about-home-grid,.values-grid,.contact-strip-grid,.blog-grid,.footer-main,.form-row,.option-grid,.service-modes{grid-template-columns:1fr}.about-home blockquote{grid-column:auto}.values-grid>div{border-right:0;border-bottom:1px solid #ddd}.inner-content h1{font-size:3.5rem}.footer-bottom{display:block}}

/* Testi definitivi forniti dal cliente */
.prose p{margin-bottom:1.35rem}.prose h2{margin-bottom:30px}.prose h2+p{font-size:1.02rem}

/* REVISIONE BLOG + MAPPA */
.article-hero{min-height:370px!important}
.article-hero .inner-content{padding-bottom:42px!important}
.blog-hero{min-height:430px!important}
.blog-original-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.blog-original-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 18px 46px rgba(15,59,48,.08)}
.blog-original-card>img{width:100%;height:320px;object-fit:cover}
.blog-original-copy{padding:30px}
.blog-original-copy h2{font-size:2rem;margin:8px 0 16px}
.blog-original-copy p{font-size:.84rem;color:var(--muted)}
.article-layout{max-width:880px}
.original-blog-article{max-width:880px}
.original-blog-article>p:first-of-type{font-size:1.08rem}
.original-blog-article h3{font-size:1.65rem;color:var(--g);margin-top:34px}
.article-back{margin-top:44px}
.contact-map-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:42px;align-items:start}
.map-wrap{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 18px 50px rgba(15,59,48,.09)}
.map-wrap iframe{width:100%;height:560px;border:0;display:block}
.map-caption{padding:18px 22px;background:#fff}
.map-caption b,.map-caption span{display:block}
.map-caption b{font-family:var(--serif);font-size:1.25rem;color:var(--g)}
.map-caption span{font-size:.76rem;color:var(--muted)}
@media(max-width:820px){
 .blog-original-grid,.contact-map-grid{grid-template-columns:1fr}
 .blog-original-card>img{height:260px}
 .map-wrap iframe{height:430px}
}

/* CORREZIONE TIPOGRAFIA FINALE
   Hero interne ripristinate grandi; solo il primo blocco degli articoli principali viene ridotto. */
.inner-content h1{
  font-size:clamp(3.4rem,6vw,6.2rem)!important;
  line-height:1.03!important;
  max-width:900px;
  margin:12px 0 18px!important;
}
.inner-content p{
  font-size:1rem;
  max-width:680px;
}

/* Il primo blocco dei testi forniti dal cliente non deve sembrare una mega-headline */
body .prose > h2:first-child{
  font-size:clamp(1.85rem,2.35vw,2.6rem)!important;
  line-height:1.22!important;
  font-weight:500;
  color:var(--g);
  margin-bottom:28px!important;
}

/* Pagine con il lungo primo testo: più arioso e leggibile */
.original-blog-article > h2:first-child,
.prose > h2:first-child{
  max-width:100%;
}

/* Il blog mantiene hero compatte solo negli articoli del blog, non nelle pagine dei percorsi */
.article-hero .inner-content h1{
  font-size:clamp(2.2rem,3.2vw,3.5rem)!important;
  line-height:1.08!important;
}
.blog-hero .inner-content h1{
  font-size:clamp(3.4rem,5vw,5.2rem)!important;
}

@media(max-width:820px){
  .inner-content h1{font-size:clamp(2.8rem,9vw,4.2rem)!important}
  body .prose > h2:first-child{font-size:1.8rem!important}
  .article-hero .inner-content h1{font-size:2.25rem!important}
}

.page-prano .prose > h2:first-child,
.page-campane .prose > h2:first-child,
.page-numerologia .prose > h2:first-child,
.page-biomusica .prose > h2:first-child{
  font-size:clamp(1.85rem,2.35vw,2.6rem)!important;
  line-height:1.22!important;
  font-weight:500!important;
}
