@font-face{font-family:"Hubballi";src:url("../fonts/Hubballi-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#faf7f2;--ink:#294e63;--muted:#526b76;--sage:#e1eae4;--line:#b8cbd0;--accent:#466f88;--cream:#f4e4d2;--peach:#f4e8dc;--deep:#294e63;--light-accent:#f3d8b7;--watermark:#e7eeec;font-family:"Hubballi","Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:17px;line-height:1.8}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:.3em}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{display:block;width:100%;height:auto}figure{margin:0}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:30px}.brand{display:flex;align-items:center;gap:20px;text-decoration:none;font-family:Georgia,serif;font-size:2rem;letter-spacing:.025em;line-height:1}.brand-mark{display:grid;place-items:center;width:57px;height:66px;border:1px solid var(--accent);border-radius:50%;font-size:3.8rem;font-style:italic;font-weight:400;color:var(--accent);padding-bottom:12px}.brand small{display:block;font-family:"Hubballi","Segoe UI",Arial,sans-serif;font-size:.48rem;letter-spacing:.17em;text-transform:uppercase;line-height:1.8;margin-top:10px;color:var(--muted)}nav{display:flex;gap:30px;font-size:.8rem}nav a{text-decoration:none}.header-cta{padding:10px 20px;background:var(--cream);border-radius:40px;text-decoration:none;font-size:.78rem;white-space:nowrap}.header-cta span{margin-left:18px;color:var(--accent)}.hero{position:relative;isolation:isolate;padding-block:86px 56px}.hero-watermark{position:absolute;right:6%;top:-70px;z-index:-1;font-family:Georgia,serif;font-style:italic;font-size:650px;line-height:1;color:var(--watermark);pointer-events:none}.eyebrow{font-size:.64rem;text-transform:uppercase;letter-spacing:.2em;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:14px}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em;line-height:1.13}h1{font-size:clamp(3rem,6.5vw,6.2rem);max-width:1000px;margin:30px 0 45px;text-wrap:balance}h2{font-size:clamp(2.1rem,3.7vw,3.9rem);margin:26px 0 32px;text-wrap:balance}h3{font-size:1.6rem;margin:36px 0 13px}.hero-bottom{display:flex;align-items:center;justify-content:space-between;max-width:880px}.button{display:inline-flex;gap:40px;align-items:center;background:var(--cream);border-radius:40px;text-decoration:none;padding:14px 26px;font-size:.84rem}.button span,.text-link span{color:var(--accent);font-size:1.6rem;line-height:1}.note{font-size:.75rem;color:var(--muted);line-height:1.65}.hero-photo{position:relative;margin-top:22px}.photo-frame{position:relative;padding:12px;border:1px solid var(--line);background:var(--paper)}.hero-photo img{aspect-ratio:2.35;object-fit:cover;object-position:center 43%;filter:saturate(.65)}.photo-caption{position:absolute;inset:auto 12px 12px;padding:50px 36px 25px;background:linear-gradient(transparent,rgba(30,65,86,.88));color:white;display:flex;align-items:end;justify-content:space-between;gap:20px}.photo-caption>span:first-child{font-family:Georgia,serif;font-size:2.3rem;letter-spacing:-.03em}.photo-index{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase}.hero-photo>figcaption{padding:14px 0 0;text-align:right;color:var(--muted);font-size:.62rem}.introduction{padding:105px 0 110px;max-width:1000px}.intro p:first-child{font-family:Georgia,serif;font-size:clamp(1.8rem,3.1vw,3rem);line-height:1.35;letter-spacing:-.025em}.intro p+p{max-width:620px;margin:32px 0 32px auto;color:var(--muted);font-size:1rem}.text-link{display:flex;align-items:center;gap:25px;width:max-content;max-width:100%;font-size:.78rem;text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:8px;margin-left:auto}.editorial{padding-block:95px;scroll-margin-top:25px}.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.section-number{color:var(--accent);letter-spacing:0;border-right:1px solid var(--line);padding-right:15px}.prose{padding-top:16px;max-width:620px}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose p{margin:0 0 23px}.prose em{font-size:.77rem;line-height:1.65;color:var(--muted);font-style:normal;display:inline-block}.prose strong{font-weight:600}.prose blockquote{margin:0 0 26px;font-family:Georgia,serif;font-size:1.75rem;line-height:1.4;letter-spacing:-.02em}.prose blockquote p{margin:0}.section-domande{background:var(--sage)}.section-domande .prose>p:last-child{font-size:.89rem;margin-top:38px}.section-persone .section-grid{gap:120px}.section-photo{position:relative;margin-top:50px;margin-right:0}.section-photo img{aspect-ratio:.94;object-fit:cover;filter:saturate(.6)}.section-photo figcaption{padding:12px 0;font-size:.63rem;letter-spacing:.11em;text-transform:uppercase;background:var(--paper)}.section-gesto{background:var(--peach)}.section-gesto .prose>p:first-child{font-family:Georgia,serif;font-size:1.75rem;line-height:1.4}.section-idea .prose ul{list-style:none;padding:0;counter-reset:concept}.section-idea .prose li{counter-increment:concept;border-bottom:1px solid var(--line);padding:17px 0 17px 38px;position:relative}.section-idea .prose li:before{content:"0" counter(concept);position:absolute;left:0;top:19px;color:var(--accent);font-size:.7rem}.section-futuro{background:var(--sage)}.origin-signature{margin-top:60px;font-family:Georgia,serif;font-style:italic;color:var(--accent);font-size:1.4rem;line-height:1.5}.section-ascolto{background:var(--deep);color:#fff}.section-ascolto .eyebrow,.section-ascolto .section-number{color:var(--light-accent)}.section-ascolto .prose p:last-child{font-family:Georgia,serif;font-size:1.8rem;line-height:1.35;margin-top:30px}.section-stato{padding-block:60px}.section-stato h2{font-size:2rem}.section-stato .prose{font-size:.84rem}.site-footer{border-top:1px solid var(--line);padding-block:45px 25px}.footer-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:40px;align-items:center}.footer-brand{font-family:Georgia,serif;font-size:2.2rem;text-decoration:none}.footer-grid p,.footer-grid>a:last-child{font-size:.74rem;color:var(--muted)}.footer-note{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;font-size:.64rem;color:var(--muted)}.page{max-width:800px;padding-block:60px}.skip-link{position:absolute;left:20px;top:-100px;padding:10px;background:white;z-index:10}.skip-link:focus{top:10px}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.site-header{gap:20px}.brand{font-size:1.7rem;gap:12px}.brand small{font-size:.4rem}nav{gap:18px}.header-cta{font-size:.7rem;padding:10px 14px}.section-grid,.section-persone .section-grid{gap:55px}.introduction{width:calc(100% - 140px)}.hero-watermark{font-size:530px;right:0}.hero-photo{padding-left:0}}
@media(max-width:720px){:root{font-size:16px}.wrap{width:calc(100% - 40px)}.site-header{flex-wrap:wrap;padding-block:20px;gap:20px}.brand{font-size:1.8rem}.brand-mark{width:40px;height:49px;font-size:2.8rem;padding-bottom:8px}.brand small{font-size:.4rem}nav{order:3;justify-content:space-between;width:100%;border-top:1px solid var(--line);padding-top:14px;font-size:.75rem}.header-cta{font-size:.66rem;padding:10px 12px}.header-cta span{margin-left:8px}.hero{padding-block:48px 35px}.hero-watermark{font-size:400px;right:0;top:0}h1{font-size:clamp(2.8rem,10vw,4rem);margin-block:25px 30px}.hero-bottom{align-items:start;gap:15px;flex-direction:column}.note br{display:none}.note{margin-bottom:0}.hero-photo{padding-left:0;margin-top:15px}.hero-photo img{aspect-ratio:1.2;object-position:center}.photo-caption{padding:35px 18px 20px}.photo-caption>span:first-child{font-size:1.6rem}.photo-index{display:none}.hero-photo>figcaption{font-size:.58rem}.introduction{padding-block:65px}.intro p+p{margin-top:25px}.section-grid,.section-persone .section-grid{grid-template-columns:1fr;gap:22px}.editorial{padding-block:60px}h2{font-size:2.45rem;margin-bottom:12px}.prose{padding-top:0;max-width:none}.section-photo{max-width:430px;margin:30px 0 10px}.section-photo img{aspect-ratio:1.2}.origin-signature{margin-block:25px}.footer-grid{grid-template-columns:1fr;gap:10px}.footer-grid p{margin:0}.section-stato{padding-block:40px}}
/* Acquerelli forniti per Focalia: colori e proporzioni originali. */
.hero-photo img{aspect-ratio:1672 / 941;filter:none;object-position:center}
.section-photo img{aspect-ratio:1659 / 948;filter:none;object-position:center}

@media(max-width:720px){.hero-photo img{aspect-ratio:1672 / 941}.section-photo img{aspect-ratio:1659 / 948}.photo-caption>span:first-child{font-size:1.35rem}}

/* Cornici ancorate alle immagini: nessun elemento fuori dal contenitore. */
.section-photo img{padding:10px;border:1px solid var(--line);background:var(--paper)}
.section-photo figcaption{background:transparent}
@media(max-width:720px){.photo-frame{padding:8px}.photo-caption{inset:auto 8px 8px}.section-photo img{padding:8px}}

/* Font locale del nome nell’intestazione. */
@font-face{font-family:"Esteh";src:url("../fonts/Esteh.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
:is(.site-header,.site-footer) .brand>span:last-child{font-family:"Esteh",Georgia,serif;font-weight:400;letter-spacing:0}
:is(.site-header,.site-footer) .brand-mark{font-family:"Esteh",Georgia,serif;font-style:normal;font-weight:400}
/* Monogramma maiuscolo centrato nell’ovale. */
:is(.site-header,.site-footer) .brand-mark{display:flex;align-items:center;justify-content:center;flex:0 0 58px;width:58px;height:72px;padding:0 0 2px;border-radius:50%;font-size:3rem;line-height:1;letter-spacing:0}
@media(max-width:720px){:is(.site-header,.site-footer) .brand-mark{flex-basis:44px;width:44px;height:56px;font-size:2.3rem;padding-bottom:2px}}
/* 1–2. Cornice Art Nouveau essenziale e monogramma raddoppiato. */
:is(.site-header,.site-footer) .brand-mark{flex:0 0 112px;width:112px;height:144px;border:0;border-radius:0;background:url("../ornaments/monogram-frame.svg") center / contain no-repeat;font-size:6rem;padding:0 0 4px;line-height:1}
/* 3. Nome e sottotitolo più presenti. */
:is(.site-header,.site-footer) .brand{font-size:3rem;gap:22px}
:is(.site-header,.site-footer) .brand small{font-size:.55rem;letter-spacing:.15em;margin-top:14px}
/* 4. La lettera sullo sfondo riprende il carattere del marchio. */
.hero-watermark{font-family:"Esteh",Georgia,serif;font-style:normal;font-weight:400;top:-45px;right:1%;font-size:600px}
/* 5. Bronzo dorato per la cornice dell’immagine principale. */
:root{--frame-metal:#ae8b50}
.photo-frame{border-color:var(--frame-metal)}
@media(max-width:1050px) and (min-width:721px){.site-header{flex-wrap:wrap}:is(.site-header,.site-footer) .brand{margin-right:auto}.site-header nav{order:3;width:100%;justify-content:center;gap:40px}.hero-watermark{font-size:510px}}
@media(max-width:720px){:is(.site-header,.site-footer) .brand-mark{flex-basis:86px;width:86px;height:112px;font-size:4.6rem;padding-bottom:3px}:is(.site-header,.site-footer) .brand{font-size:2.6rem;gap:16px}:is(.site-header,.site-footer) .brand small{font-size:.47rem;letter-spacing:.1em;margin-top:12px}.hero-watermark{font-size:360px;top:25px;right:0}}
/* Cornice organica più ampia intorno alla F, senza cambiare il carattere. */
:is(.site-header,.site-footer) .brand-mark{flex-basis:140px;width:140px;height:150px;background-image:url("../ornaments/monogram-frame.svg?v=2");padding:0 0 4px;font-size:6rem}
@media(max-width:720px){:is(.site-header,.site-footer) .brand-mark{flex-basis:108px;width:108px;height:116px;font-size:4.6rem;padding-bottom:3px}}
/* Monogramma di sfondo: stessa cornice del marchio, nel colore dell’acquerello. */
.hero-watermark{width:clamp(360px,62vw,720px);aspect-ratio:140 / 150;height:auto;display:flex;align-items:center;justify-content:center;font-size:clamp(262px,45.26vw,524px);line-height:1;padding-bottom:2.85%;top:50%;right:-35px;transform:translateY(-50%);color:var(--watermark)}
.hero-watermark::before{content:"";position:absolute;inset:0;background:currentColor;mask:url("../ornaments/monogram-frame.svg?v=2") center / contain no-repeat;-webkit-mask:url("../ornaments/monogram-frame.svg?v=2") center / contain no-repeat;pointer-events:none}
@media(max-width:720px){.hero-watermark{width:360px;font-size:262px;right:-15px;top:50%;padding-bottom:10px}}

/* Hubballi ha un disegno minuto: scala dedicata per la lettura desktop. */
@media(min-width:721px){
  nav{font-size:1.18rem;gap:30px}
  .header-cta{font-size:1.12rem;padding:10px 22px}
  .button{font-size:1.2rem}
  .eyebrow{font-size:.9rem;letter-spacing:.16em}
  :is(.site-header,.site-footer) .brand small{font-size:.72rem;letter-spacing:.12em}
  .note{font-size:1.05rem}
  .intro p+p,.prose{font-size:1.25rem;line-height:1.65}
  .prose em{font-size:1rem;line-height:1.6}
  .section-domande .prose>p:last-child{font-size:1.15rem}
  .section-stato .prose{font-size:1.12rem}
  .text-link{font-size:1.1rem}
  .photo-index,.section-photo figcaption{font-size:.85rem}
  .section-idea .prose li:before{font-size:.95rem}
  .footer-grid p,.footer-grid>a:last-child{font-size:1rem}
  .footer-note{font-size:.9rem}
}
@media(min-width:721px) and (max-width:1200px){
  .site-header{flex-wrap:wrap}
  :is(.site-header,.site-footer) .brand{margin-right:auto}
  .site-header nav{order:3;width:100%;justify-content:center;gap:45px}
}
/* Gerarchia: il marchio decorativo resta dietro a navigazione e contenuti. */
.site-header{position:relative;z-index:2}
#contenuto{position:relative;z-index:0}
.hero{overflow:clip}
.hero-watermark{pointer-events:none}
/* Tutte le cornici delle immagini condividono il bronzo dorato. */
.photo-frame,.section-photo img{border-color:var(--frame-metal)}
/* Etichette Hubballi leggibili, coerenti con la navigazione. */
.eyebrow{font-size:1rem;letter-spacing:.1em;line-height:1.4}
@media(min-width:721px){.eyebrow{font-size:1.15rem;letter-spacing:.1em}.photo-index,.section-photo figcaption{font-size:1rem}.section-number{font-size:1.05rem}}
/* Spazi editoriali pronti per le prossime immagini. */
.image-placeholder{width:100%;aspect-ratio:1659 / 948;border:1px solid var(--frame-metal);padding:10px;background:transparent}
/* Monogramma persistente: sopra i fondi, sotto testi, immagini e navigazione. */
#contenuto{z-index:auto}
.hero{isolation:auto;overflow:visible}
.hero>*{position:relative;z-index:2}
.section-grid,.introduction,.hero-photo,.site-footer{position:relative;z-index:2}
.site-header{z-index:3}
.site-watermark{position:fixed;z-index:1;pointer-events:none;user-select:none;right:clamp(-75px,-3vw,-20px);top:50%;width:clamp(360px,48vw,660px);aspect-ratio:140 / 150;display:flex;align-items:center;justify-content:center;padding-bottom:18px;font-family:"Esteh",Georgia,serif;font-size:clamp(262px,35vw,481px);font-weight:400;font-style:normal;line-height:1;color:rgba(125,164,177,.15);transform:translateY(-50%) translateY(var(--watermark-shift,0px)) rotate(var(--watermark-rotation,0deg));transform-origin:center}
.site-watermark::before{content:"";position:absolute;inset:0;background:currentColor;mask:url("../ornaments/monogram-frame.svg?v=2") center / contain no-repeat;-webkit-mask:url("../ornaments/monogram-frame.svg?v=2") center / contain no-repeat}
.site-watermark.on-dark{color:rgba(220,235,230,.12)}
@media(max-width:720px){.site-watermark{width:320px;font-size:233px;right:-75px;padding-bottom:9px;color:rgba(125,164,177,.09)}.site-watermark.on-dark{color:rgba(220,235,230,.07)}}
@media(prefers-reduced-motion:reduce){.site-watermark{transform:translateY(-50%)}}
/* I fondi colorati coprono sempre il monogramma, anche ai confini di sezione. */
.section-domande,.section-gesto,.section-futuro,.section-ascolto{position:relative;z-index:2}
.site-watermark{opacity:0;transition:opacity .25s ease}
.site-watermark.is-visible{opacity:1;animation:watermark-return .8s ease-out both}
@keyframes watermark-return{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.site-watermark{transition:none}.site-watermark.is-visible{animation:none}}
/* Contatto espandibile, utilizzabile anche senza JavaScript. */
.section-ascolto .prose>p:last-of-type{font-family:Georgia,serif;font-size:1.8rem;line-height:1.35;margin-top:30px}
.contact-compose{margin-top:32px}
.contact-compose>summary{display:flex;width:fit-content;list-style:none;cursor:pointer;color:var(--ink);gap:40px}
.contact-compose>summary::-webkit-details-marker{display:none}
.contact-compose>summary:focus-visible,.contact-form :focus-visible{outline:2px solid var(--light-accent);outline-offset:5px}
.contact-toggle{transition:transform .2s ease}
.contact-compose[open] .contact-toggle{transform:rotate(45deg)}
.contact-panel{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.3)}
.contact-panel h3{font-size:1.6rem;line-height:1.3;margin:0 0 24px}
.contact-form{display:grid;gap:10px}
.contact-form label{font-size:1.15rem;line-height:1.4;margin-top:10px}
.contact-form label span{font-size:1rem;color:#d4e1e5}
.contact-form input,.contact-form textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font:inherit;line-height:1.5;padding:12px 16px}
.contact-form textarea{resize:vertical;min-height:180px}
.contact-form textarea::placeholder{color:var(--muted);opacity:1}
.section-ascolto .contact-form p.contact-note{font-family:"Segoe UI",Arial,sans-serif;font-size:.875rem;font-weight:400;letter-spacing:normal;line-height:1.6;margin:2px 0 12px;color:#d4e1e5}.section-ascolto .contact-form #contact-status{margin-top:10px;padding:14px 16px;border-left:2px solid var(--light-accent);background:rgba(255,255,255,.05)}
.contact-form .button{justify-self:start;border:0;font-family:inherit;color:var(--ink);line-height:1.5}
.contact-form .button:disabled{opacity:.65;cursor:not-allowed}
@media(max-width:720px){.contact-compose>summary,.contact-form .button{font-size:1.15rem}.contact-panel h3{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){.contact-toggle{transition:none}}
/* Il footer riprende il marchio e la composizione dell’intestazione. */
.site-footer{background:var(--sage);padding-block:15px}
.site-footer .brand-mark{flex-basis:70px;width:70px;height:75px;font-size:3rem;padding-bottom:2px}
.site-footer .brand{font-size:2.3rem;gap:16px}
/* Centratura ottica delle lettere rispetto alla cornice del monogramma. */
.site-footer .brand>span:last-child{transform:translateY(3px)}
.site-footer .brand small{font-size:.62rem;margin-top:8px}
.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:32px}
.footer-grid .footer-status{display:flex;align-items:baseline;gap:.5em;padding:0;border:0;background:none;color:var(--ink);margin:0;font-family:"Hubballi","Segoe UI",Arial,sans-serif;font-size:1rem;line-height:1.5;text-transform:lowercase;white-space:nowrap}
.footer-status-title,.footer-status-detail{font:inherit;letter-spacing:normal}
.footer-status-detail::before{content:"•";margin-right:.5em}
@media(max-width:720px){.footer-grid{flex-wrap:wrap;gap:16px}.footer-grid .footer-status{font-size:clamp(.7rem,3.4vw,.9rem)}}
/* Ritmo più compatto e ordine di chiusura per gli schermi piccoli. */
@media(max-width:720px){
  .site-header .header-cta,.hero-bottom>.button{display:none}
  .site-header{padding-block:12px;gap:0}
  .hero{padding-block:24px 18px}
  .hero h1{margin-bottom:15px}
  .hero-bottom .note{margin-top:0}
  .introduction{padding-block:32px}
  .editorial{padding-block:30px}
  .section-stato{padding-block:20px}
  .section-domande .prose blockquote{font-size:1.45rem;font-style:italic;line-height:1.4}
  .footer-grid{flex-direction:column;align-items:flex-start}
  .footer-grid .footer-status{order:-1}
}

@media (min-width: 721px) {
  .site-header .brand-mark {
    flex-basis: 98px;
    width: 98px;
    height: 105px;
    font-size: 4.2rem;
  }

  .hero { padding-top: 43px; }

  .section-idea .prose ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(16px, 2vw, 32px);
  }

  .section-idea .prose li { padding-left: 0; padding-top: 10px; }
  .section-idea .prose li::before { position: static; display: block; }
  .section-idea .prose li strong { display: block; }

  .section-ascolto .prose { display: flex; flex-direction: column; }
  .section-ascolto .prose > p:first-child { order: -2; margin-bottom: 12px; }
  .section-ascolto .contact-compose { order: -1; margin: 0 0 24px; }
}

.mobile-intro { display: none; }

@media (max-width: 720px) {
  .site-header .brand-mark {
    flex: 0 0 71px;
    width: 71px;
    height: 76px;
    font-size: 3rem;
  }

  .hero-bottom, .introduction .text-link { display: none; }
  .mobile-intro { display: block; }
  .mobile-intro p { font-size: 1.125rem; line-height: 1.5; margin: 0 0 12px; }
  .mobile-intro a {
    display: flex;
    align-items: center;
    width: fit-content;
    min-height: 44px;
    font-size: 1.125rem;
  }

  :is(.section-idea, .section-ascolto) .section-heading { display: contents; }
  :is(.section-idea, .section-ascolto) .section-grid { row-gap: 12px; }
  :is(.section-idea, .section-ascolto) .section-heading > :is(.eyebrow, h2) { margin: 0; }
  :is(.section-idea, .section-ascolto) .section-photo { order: 1; margin-top: 12px; }
}
