/* Identità tipografica e apertura fotografica.
   Bodoni Moda (titoli): il Bodoni nasce a Parma, un classico italiano per un broker di immobili di pregio.
   Figtree (testi): sans-serif pulito e leggibile. Entrambi ospitati sul sito, senza servizi esterni. */
@font-face{font-family:'Bodoni Moda';src:url('/fonts/bodoni-moda-latin.woff') format('woff');font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:'Figtree';src:url('/fonts/figtree-latin.woff') format('woff');font-weight:300 900;font-style:normal;font-display:swap}

:root{--serif:'Bodoni Moda','Bodoni 72',Didot,Georgia,serif;--sans:'Figtree',system-ui,-apple-system,'Segoe UI',Arial,sans-serif}

body{font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--serif);font-weight:500;font-optical-sizing:auto;letter-spacing:-.005em}
h1{line-height:1.06}
h2{line-height:1.1}
h3{line-height:1.2;font-weight:600}
.btn,.form-kicker,.section-label,label,.sold-location,.links{font-family:var(--sans)}
.btn{letter-spacing:.005em}

/* Apertura a tutto schermo */
.hero-photo{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:min(90vh,880px);padding:0;background:#0b2035;color:#fff;overflow:hidden}
.hero-media,.hero-media img{position:absolute;inset:0;width:100%;height:100%}
.hero-media{z-index:-2;margin:0}
.hero-media img{display:block;object-fit:cover;object-position:62% 50%}
.hero-photo::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(11,32,53,.88) 0%,rgba(11,32,53,.66) 38%,rgba(11,32,53,.16) 72%,rgba(11,32,53,.05) 100%),linear-gradient(0deg,rgba(11,32,53,.6) 0%,rgba(11,32,53,0) 42%)}
.hero-photo .scene-light{display:none}
.hero-inner{position:relative;padding:120px 0 52px}
.hero-photo .hero-copy{max-width:700px;padding-top:0}
.hero-photo .territory{color:#d6e3ee;margin-bottom:22px}
.hero-photo .territory::before{background:#d6e3ee}
.hero-photo h1{font-size:clamp(2.55rem,4.9vw,4.2rem);max-width:700px;margin-bottom:24px;text-shadow:0 2px 24px rgba(4,16,28,.28)}
.hero-photo .intro{font-size:1.1875rem;line-height:1.6;color:#e6eef5;max-width:540px;margin-bottom:30px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:44px}
.hero-photo .hero-copy .btn{margin-bottom:0}
.btn-light{background:#fff;border-color:#fff;color:#102b46}
.btn-light:hover{background:#e7eef5;border-color:#e7eef5}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.62);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.hero-photo .hero-signature{border-top:1px solid rgba(255,255,255,.24);padding-top:22px;align-items:flex-end;gap:20px}
.hero-photo .hero-portrait{width:96px}
.hero-photo .signature-desc{max-width:none;color:#d6e3ee}
.hero-photo .hero-proof{margin-top:10px;color:#c9d9e6;max-width:460px}

/* Richiesta di valutazione */
.request{background:var(--pale);border-bottom:1px solid #e7edf2}
.request-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
.request-copy{padding-top:12px;max-width:440px}
.request-copy h2{font-size:clamp(2rem,3vw,2.7rem);margin-bottom:18px}
.request-copy p{color:var(--muted);font-size:1.0625rem}
.request-alt a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.request .form-card{box-shadow:0 18px 50px rgba(16,43,70,.08)}

@media(max-width:900px){.request-grid{grid-template-columns:1fr;gap:28px}.request-copy{max-width:none;padding-top:0}}
@media(max-width:700px){
  .hero-photo{min-height:calc(100svh - 80px)}
  .hero-photo::after{background:linear-gradient(0deg,rgba(11,32,53,.94) 0%,rgba(11,32,53,.78) 42%,rgba(11,32,53,.25) 78%,rgba(11,32,53,.1) 100%)}
  .hero-media img{object-position:50% 40%}
  .hero-inner{padding:140px 0 32px}
  .hero-photo h1{font-size:2.35rem}
  .hero-photo .intro{font-size:1.0625rem;margin-bottom:24px}
  .hero-actions{margin-bottom:30px}
  .hero-actions .btn{width:100%}
  .hero-photo .hero-portrait{width:80px}
}
@media print{.hero-media,.hero-photo::after{display:none}.hero-photo{min-height:0;color:var(--ink);background:#fff}.hero-photo .intro,.hero-photo .territory{color:var(--muted)}.hero-actions{display:none}}

/* Pulsanti principali nel blu del marchio */
.btn{background:#102b46;border-color:#102b46}
.btn:hover{background:#0b2035;border-color:#0b2035}
.btn.btn-light{background:#fff;border-color:#fff;color:#102b46}
.btn.btn-light:hover{background:#e7eef5;border-color:#e7eef5}
.btn.btn-ghost{background:transparent;border-color:rgba(255,255,255,.62);color:#fff}
.btn.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.final-contact .btn{background:#fff;border-color:#fff;color:#102b46}
.final-contact .btn:hover{background:#e7eef5;border-color:#e7eef5}

/* Galleria del territorio: tre scorci verticali con didascalia */
.landscape-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.landscape-gallery figure{height:auto;aspect-ratio:3/4;border-radius:6px}
.landscape-gallery figure img{object-position:50% 50%}
.landscape-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 16px;color:#fff;font-size:.9375rem;font-weight:500;line-height:1.35;background:linear-gradient(0deg,rgba(11,32,53,.72),rgba(11,32,53,0));pointer-events:none}
.photo-furore{object-position:50% 40%}
@media(max-width:780px){.landscape-gallery{grid-template-columns:1fr 1fr;gap:12px}.landscape-gallery figure:first-child{grid-column:1/-1;aspect-ratio:4/3}.landscape-gallery figure:first-child img{object-position:50% 38%}.landscape-gallery figure:not(:first-child){aspect-ratio:3/4}}
@media(max-width:420px){.landscape-gallery{grid-template-columns:1fr}.landscape-gallery figure,.landscape-gallery figure:not(:first-child){aspect-ratio:4/5}}

/* Pagine interne: apertura fotografica */
.page-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:min(62vh,560px);background:#0b2035;color:#fff;overflow:hidden}
.page-hero .hero-media,.page-hero .hero-media img{position:absolute;inset:0;width:100%;height:100%}
.page-hero .hero-media{z-index:-2;margin:0}
.page-hero .hero-media img{display:block;object-fit:cover;object-position:var(--hero-pos,50% 50%)}
.page-hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(11,32,53,.86) 0%,rgba(11,32,53,.6) 45%,rgba(11,32,53,.12) 100%),linear-gradient(0deg,rgba(11,32,53,.55) 0%,rgba(11,32,53,0) 50%)}
.page-hero-inner{padding:110px 0 48px}
.page-hero .breadcrumb{color:#d6e3ee;margin-bottom:20px}
.page-hero .breadcrumb a{color:#fff}
.page-hero h1{font-size:clamp(2.4rem,4.4vw,3.8rem);max-width:760px;margin-bottom:18px;text-shadow:0 2px 24px rgba(4,16,28,.28)}
.page-hero p{font-size:1.1875rem;line-height:1.6;color:#e6eef5;max-width:600px;margin-bottom:0}
.page-hero-actions{margin-top:28px}

/* Chi sono: apertura chiara con ritratto */
.profile-hero{background:var(--pale);border-bottom:1px solid #e7edf2;overflow:hidden}
.profile-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:end;padding-top:64px}
.profile-copy{padding-bottom:64px}
.profile-copy h1{font-size:clamp(2.5rem,4.6vw,4rem);max-width:640px;margin-bottom:18px}
.profile-copy p{font-size:1.1875rem;color:var(--muted);max-width:520px;margin-bottom:28px}
.profile-portrait{margin:0;justify-self:end;width:min(380px,100%)}
.profile-portrait img{display:block;width:100%;height:auto}

/* Testi delle pagine: più aria e gerarchia */
.reading{max-width:760px}
.reading h2{font-size:clamp(1.8rem,2.6vw,2.35rem);margin-top:56px;margin-bottom:16px}
.reading h2:first-child{margin-top:0}
.reading p,.reading li{font-size:1.09375rem;line-height:1.8}
.section{padding:80px 0}
.sold-section{padding-top:64px}
.faq details{padding:20px 0}
.faq summary{font-family:var(--serif);font-weight:500;font-size:1.25rem}

@media(max-width:780px){
  .section{padding:52px 0}
  .page-hero{min-height:min(70svh,560px)}
  .page-hero::after{background:linear-gradient(0deg,rgba(11,32,53,.92) 0%,rgba(11,32,53,.7) 45%,rgba(11,32,53,.2) 100%)}
  .page-hero-inner{padding:120px 0 32px}
  .page-hero h1{font-size:2.2rem}
  .page-hero p{font-size:1.0625rem}
  .page-hero-actions .btn{width:100%}
  .profile-grid{grid-template-columns:1fr;gap:8px;padding-top:36px}
  .profile-copy{padding-bottom:0}
  .profile-copy h1{font-size:2.3rem}
  .profile-portrait{justify-self:start;width:min(260px,70%)}
}
@media print{.page-hero .hero-media,.page-hero::after{display:none}.page-hero{min-height:0;color:var(--ink);background:#fff}.page-hero p,.page-hero .breadcrumb{color:var(--muted)}}
.page-hero-404{min-height:calc(100svh - 93px)}
.not-found-links{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:780px){.not-found-links .btn{width:100%}}
