.hero-bg{min-height:calc(100vh - 86px);padding:0;background-color:#171717;background-position:center center;background-size:cover;background-repeat:no-repeat;display:flex;align-items:stretch}.hero-overlay-grid{min-height:calc(100vh - 86px);display:grid;grid-template-columns:minmax(0,720px) 1fr;align-items:center}.hero-copy-light{padding:90px 0;max-width:720px;color:#fff}.hero-copy-light h1{color:#fff;text-shadow:0 3px 30px rgba(0,0,0,.35)}.hero-copy-light p{color:rgba(255,255,255,.84);max-width:650px}.btn-gold{background:#806126;border-color:#806126;color:#fff}.btn-gold:hover{background:#6f5120;border-color:#6f5120;transform:translateY(-2px)}.btn-ghost{border-color:rgba(255,255,255,.65);color:#fff;background:rgba(0,0,0,.08)}.btn-ghost:hover{background:#fff;color:var(--ink)}.text-link{font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:4px}.case-placeholder{background-image:linear-gradient(135deg,rgba(16,20,26,.08),rgba(182,148,87,.23)),linear-gradient(135deg,#cfc7bc,#8e887f)}.about-section{background:#11161c;color:#fff}.about-copy p{color:rgba(255,255,255,.7)}.about-panel{min-height:430px;padding:60px;background:linear-gradient(145deg,#c5b79e,#8c7350);display:flex;flex-direction:column;justify-content:flex-end;color:#fff}.about-panel strong{font-family:Georgia,serif;font-size:3rem;font-weight:500}.about-panel span{font-size:.78rem;text-transform:uppercase;letter-spacing:.2em}.about-panel p{margin-top:20px;color:rgba(255,255,255,.78)}
@media(max-width:900px){.hero-bg,.hero-overlay-grid{min-height:780px}.hero-bg{background-position:65% center}.hero-overlay-grid{grid-template-columns:1fr}.hero-copy-light{max-width:650px;padding:90px 0}.hero-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,13,.92),rgba(8,10,13,.48))}.hero-bg{position:relative}.hero-overlay-grid{position:relative;z-index:1}}
@media(max-width:560px){.hero-bg,.hero-overlay-grid{min-height:720px}.hero-bg{background-position:68% center}.hero-copy-light{padding:64px 0}.hero-copy-light h1{font-size:3.15rem}.hero-copy-light p{font-size:1.02rem}.actions{align-items:stretch;flex-direction:column}.actions .btn{width:100%}.about-panel{padding:38px;min-height:340px}.about-panel strong{font-size:2.35rem}}

/* Taccuino in Home — v3.7 */
.home-notebook{background:#15191c;color:#fff}
.home-notebook-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}
.home-notebook-head h2{max-width:700px;margin:8px 0 0;font-size:clamp(1.9rem,2.6vw,2.75rem);line-height:1.05}
.home-notebook-head .text-link{color:#fff;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.home-notebook-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}
.home-notebook-grid article{display:flex;min-height:265px;flex-direction:column;padding:26px;background:#15191c}
.home-notebook-grid article>p{margin:0 0 18px;color:#caa563;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.home-notebook-grid h3{margin:0 0 14px;font-size:1.6rem;line-height:1.08}
.home-notebook-grid article>span{color:rgba(255,255,255,.67);font-size:.9rem;line-height:1.55}
.home-notebook-grid article>a{margin-top:auto;padding-top:20px;color:#fff;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:800px){.home-notebook-grid{grid-template-columns:1fr}.home-notebook-grid article{min-height:0}.home-notebook-head{align-items:flex-start;flex-direction:column}}


/* Home mobile hero fix — v4.1 */
@media(max-width:900px){
  .hero-bg:before{
    background:linear-gradient(180deg,rgba(8,10,13,.34) 0%,rgba(8,10,13,.22) 34%,rgba(8,10,13,.58) 100%) !important;
  }
  .hero-copy-light{
    max-width:560px !important;
  }
  .hero-copy-light .eyebrow{
    max-width:440px;
    line-height:1.55;
  }
}
@media(max-width:560px){
  .hero-bg,
  .hero-overlay-grid{
    min-height:640px !important;
    height:auto !important;
    max-height:none !important;
  }
  .hero-bg{
    background-position:60% center !important;
  }
  .hero-bg:before{
    background:linear-gradient(180deg,rgba(8,10,13,.28) 0%,rgba(8,10,13,.16) 28%,rgba(8,10,13,.54) 100%) !important;
  }
  .hero-overlay-grid{
    padding-top:68px !important;
    align-items:end !important;
  }
  .hero-copy-light{
    padding:40px 0 34px !important;
    max-width:100% !important;
  }
  .hero-copy-light .eyebrow{
    max-width:320px;
    font-size:.80rem;
    letter-spacing:.14em;
    line-height:1.55;
    margin-bottom:16px;
  }
  .hero-copy-light h1{
    font-size:2.45rem !important;
    line-height:1.02 !important;
    margin-bottom:16px !important;
    max-width:330px !important;
  }
  .hero-copy-light p{
    font-size:1rem !important;
    line-height:1.6 !important;
    color:rgba(255,255,255,.92) !important;
    max-width:340px !important;
    margin-bottom:22px !important;
  }
  .hero-copy-light .actions .btn{
    min-height:52px;
    font-size:.92rem;
  }
}


/* Parco urbano — image restored with a restrained, faded treatment — v4.7 */
.case-image.has-project-image{background-position:center;background-size:cover;filter:saturate(.72) contrast(.92) brightness(1.04)}
.case-study .case-image{position:relative;overflow:hidden}
.case-study .case-image:after{content:"";position:absolute;inset:0;background:rgba(246,242,235,.10);pointer-events:none}


/* === CONSOLIDATED HOME REFRESH v4.8 === */
.hero-bg{min-height:600px}.hero-overlay-grid{min-height:600px;padding-top:82px}.hero-copy-light{max-width:760px}.hero-copy-light h1{font-size:clamp(3.2rem,5.2vw,5.5rem);max-width:820px}.home-guides{background:#f7f3ed}.home-guides-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.home-guides-grid h2{font-size:clamp(2.5rem,4vw,4.2rem);margin:12px 0 24px}.home-guides-grid>div:first-child>p{color:var(--muted);font-size:1.08rem;margin-bottom:30px}.home-guides-list{border-top:1px solid var(--line)}.home-guides-list a{display:grid;gap:6px;padding:26px 0;border-bottom:1px solid var(--line);transition:padding-left .2s ease}.home-guides-list a:hover{padding-left:14px}.home-guides-list strong{font-family:Georgia,'Times New Roman',serif;font-size:1.45rem;font-weight:500}.home-guides-list span{color:var(--muted)}.home-book{background:#fff}.btn-outline-light{border-color:rgba(255,255,255,.72);color:#fff}.btn-outline-light:hover{background:#fff;color:var(--ink)}
@media(max-width:900px){.hero-bg{min-height:780px}.hero-overlay-grid{min-height:780px;padding-top:86px}.home-guides-grid{grid-template-columns:1fr;gap:48px}}
@media(max-width:560px){.hero-bg{min-height:720px;background-position:66% center}.hero-overlay-grid{min-height:720px;padding-top:76px}.hero-copy-light{padding:54px 0}.hero-copy-light h1{font-size:2.75rem}.home-guides-grid h2{font-size:2.45rem}.home-guides-list strong{font-size:1.25rem}}

/* Sostenibilità — v3.1 */
.home-sustainability{background:#e8ece4;color:#172018}
.sustainability-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.sustainability-heading{position:sticky;top:118px}
.sustainability-heading .section-kicker{color:#61715c}
.sustainability-heading h2{margin:12px 0 0;font-size:clamp(2.35rem,3.8vw,3.7rem);max-width:530px}
.sustainability-lead{margin:0 0 2.2rem;color:#3f4b41;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.18rem,1.8vw,1.5rem);line-height:1.55}
.sustainability-principles{border-top:1px solid rgba(23,32,24,.2)}
.sustainability-principles article{display:grid;grid-template-columns:52px minmax(180px,.72fr) 1fr;gap:1.25rem;padding:1.35rem 0;border-bottom:1px solid rgba(23,32,24,.2);align-items:start}
.sustainability-principles span{color:#61715c;font-size:.7rem;font-weight:800;letter-spacing:.12em}
.sustainability-principles strong{font-size:.98rem;line-height:1.4}
.sustainability-principles p{margin:0;color:#59635a;font-size:.91rem;line-height:1.6}
.sustainability-link{display:inline-block;margin-top:1.7rem}
@media(max-width:900px){.sustainability-grid{grid-template-columns:1fr;gap:2.6rem}.sustainability-heading{position:static}.sustainability-heading h2{max-width:none}}
@media(max-width:620px){.sustainability-principles article{grid-template-columns:42px 1fr}.sustainability-principles p{grid-column:2}.sustainability-lead{font-size:1.12rem}}

@media(max-width:900px){.home-book .book-grid{grid-template-columns:1fr;gap:36px}.home-book .book-copy{text-align:left}}
