/* Home 2026 — identità editoriale per Studio Legale Lizzani */
:root {
  --home-navy: #07182b;
  --home-navy-2: #0d243b;
  --home-ivory: #f4f0e8;
  --home-paper: #fbf9f4;
  --home-ink: #14202b;
  --home-muted: #5f6870;
  --home-copper: #9a5f3e;
  --home-rule: rgba(20, 32, 43, .18);
}

body.home-page { background: var(--home-paper); color: var(--home-ink); }
.home-page .shell { max-width: 1320px; }
.home-page .site-nav {
  background: rgba(251, 249, 244, .96);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-color: var(--home-rule);
}
.home-page .brand__mark { color: var(--home-navy); }
.home-page .brand__name { color: var(--home-navy); }
.home-page .brand__sub { color: var(--home-muted); }
.home-page .site-nav__links { gap: var(--sp-2); }
.home-page .nav-link { color: #34414c; }
.home-page .nav-link:hover { color: var(--home-navy); background: transparent; }
.home-page .lang-links { display: inline-flex; align-items: center; border-left: 1px solid var(--home-rule); margin-left: var(--sp-2); padding-left: var(--sp-3); }
.home-page .lang-links a { min-width: 36px; padding: .35rem .45rem; font: 600 .72rem/1 var(--font-mono); letter-spacing: .08em; text-align: center; color: var(--home-muted); }
.home-page .lang-links a[aria-current="page"] { color: var(--home-navy); text-decoration: underline; text-underline-offset: .28rem; text-decoration-color: var(--home-copper); }

.home-hero {
  min-height: min(900px, 94vh);
  padding-top: var(--nav-h);
  display: grid;
  align-items: stretch;
  background: var(--home-navy);
  color: #f7f3ea;
}
.home-hero__grid { min-height: calc(min(900px, 94vh) - var(--nav-h)); display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
.home-hero__copy { padding: clamp(4rem, 8vw, 8.5rem) clamp(2rem, 6vw, 6.5rem) clamp(3rem, 7vw, 6rem) max(var(--gutter), calc((100vw - 1320px) / 2 + var(--gutter))); display: flex; flex-direction: column; justify-content: center; }
.home-kicker { display: flex; align-items: center; gap: .8rem; font: 500 .72rem/1.4 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: #c8c3b9; }
.home-kicker::before { content: ""; width: 2.5rem; height: 1px; background: var(--home-copper); }
.home-hero h1 { margin-top: 2rem; max-width: 12ch; font: 400 clamp(3rem, 5.8vw, 6.5rem)/.94 var(--font-display); letter-spacing: -.045em; color: #fffaf0; text-wrap: balance; }
.home-hero h1 em { display: block; color: #d5c3b5; font-weight: 300; }
.home-hero__lede { margin-top: 2rem; max-width: 49ch; font-size: clamp(1.08rem, 1.5vw, 1.35rem); line-height: 1.55; color: #d7d6d1; text-wrap: pretty; }
.home-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2.25rem; }
.home-hero .btn--light { background: var(--home-ivory); border-color: var(--home-ivory); color: var(--home-navy); }
.home-hero .btn--light:hover { background: #fff; border-color: #fff; }
.home-hero .btn--line-light { border-color: rgba(255,255,255,.55); color: #fff; }
.home-hero .btn--line-light:hover { border-color: #fff; background: rgba(255,255,255,.06); }
.home-hero__media { min-height: 580px; position: relative; overflow: hidden; }
.home-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,24,43,.2), transparent 42%); pointer-events: none; }
.home-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.72) contrast(1.04); }
.home-hero__caption { position: absolute; z-index: 1; right: 1.5rem; bottom: 1.25rem; font: 500 .66rem/1.4 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.78); }

.home-section { padding: clamp(5rem, 9vw, 9rem) 0; }
.home-section--ivory { background: var(--home-ivory); }
.home-section--navy { background: var(--home-navy); color: #d5d8da; }
.home-section--line { border-top: 1px solid var(--home-rule); }
.home-intro { display: grid; grid-template-columns: minmax(11rem, .35fr) minmax(0, 1fr); gap: clamp(2rem, 7vw, 8rem); }
.section-index { font: 500 .7rem/1.5 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--home-copper); }
.home-intro h2, .section-head h2 { font: 400 clamp(2.5rem, 4.6vw, 4.7rem)/1.02 var(--font-display); letter-spacing: -.03em; color: var(--home-navy); max-width: 18ch; text-wrap: balance; }
.home-intro__body { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 4rem); margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--home-rule); }
.home-intro__body p { color: #46535e; font-size: 1.04rem; line-height: 1.75; }
.home-intro__body strong { color: var(--home-navy); font-weight: 600; }

.section-head { display: grid; grid-template-columns: minmax(11rem, .35fr) minmax(0, 1fr); gap: clamp(2rem, 7vw, 8rem); align-items: end; margin-bottom: clamp(2.8rem, 5vw, 5rem); }
.section-head__main { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.section-head__note { max-width: 40ch; color: var(--home-muted); line-height: 1.65; }
.home-section--navy .section-index { color: #c58967; }
.home-section--navy .section-head h2 { color: #fffaf0; }
.home-section--navy .section-head__note { color: #aeb8c0; }

.practice-list { border-top: 1px solid var(--home-rule); }
.practice { display: grid; grid-template-columns: 3rem minmax(12rem, .7fr) minmax(0, 1.3fr) 1.5rem; gap: clamp(1rem, 3vw, 3rem); align-items: start; padding: 1.75rem 0; border-bottom: 1px solid var(--home-rule); transition: background-color .18s ease; }
.practice:hover { background: rgba(154,95,62,.035); }
.practice__num { font: 500 .72rem/1.5 var(--font-mono); color: var(--home-copper); }
.practice h3 { font: 400 clamp(1.5rem, 2.4vw, 2.25rem)/1.1 var(--font-display); color: var(--home-navy); }
.practice p { max-width: 60ch; color: #58636c; line-height: 1.65; }
.practice__arrow { color: var(--home-copper); font-size: 1.4rem; line-height: 1; }

.legacy-areas { margin-top: clamp(3.5rem, 7vw, 6.5rem); padding-top: 2.25rem; border-top: 2px solid var(--home-navy); }
.legacy-areas__head { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 6vw, 7rem); align-items: end; }
.legacy-areas__head h3 { font: 400 clamp(2rem, 3.5vw, 3.4rem)/1.05 var(--font-display); color: var(--home-navy); max-width: 18ch; }
.legacy-areas__head p { max-width: 62ch; color: var(--home-muted); line-height: 1.7; }
.legacy-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 2.5rem; background: var(--home-rule); border: 1px solid var(--home-rule); }
.legacy-group { padding: clamp(1.4rem, 3vw, 2.2rem); background: var(--home-paper); }
.legacy-group h4 { font: 600 .7rem/1.5 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--home-copper); }
.legacy-group ul { margin-top: 1rem; }
.legacy-group li + li { border-top: 1px solid var(--home-rule); }
.legacy-group a { display: flex; justify-content: space-between; gap: 1rem; padding: .78rem 0; color: var(--home-navy); font-weight: 600; line-height: 1.35; }
.legacy-group a::after { content: "→"; flex: none; color: var(--home-copper); }
.legacy-group a:hover { text-decoration: underline; text-decoration-color: var(--home-copper); text-underline-offset: .25rem; }
.legacy-group--innovation { background: var(--home-navy); }
.legacy-group--innovation h4 { color: #c58967; }
.legacy-group--innovation a { color: #fffaf0; border-color: rgba(255,255,255,.16); }
.english-areas-note { margin-top: 2.5rem; padding: 1.5rem 0 0 1.5rem; border-top: 1px solid var(--home-rule); border-left: 2px solid var(--home-copper); color: var(--home-muted); line-height: 1.7; }
.english-areas-note a { color: var(--home-navy); font-weight: 650; text-decoration: underline; text-decoration-color: var(--home-copper); text-underline-offset: .25rem; }

.editorial-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1rem, 3vw, 2.25rem); }
.editorial-figure { margin: 0; }
.editorial-figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(.7); }
.editorial-figure figcaption { display: grid; grid-template-columns: auto 1fr; gap: 1rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--home-rule); color: var(--home-muted); font-size: .88rem; line-height: 1.55; }
.editorial-figure figcaption span:first-child { font: 500 .68rem/1.5 var(--font-mono); letter-spacing: .08em; color: var(--home-copper); }

.method-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(3rem, 8vw, 9rem); }
.method-grid h2 { font: 400 clamp(2.6rem, 4.8vw, 5rem)/1 var(--font-display); letter-spacing: -.035em; color: #fffaf0; max-width: 13ch; }
.method-grid__lead { margin-top: 1.75rem; max-width: 42ch; font-size: 1.08rem; line-height: 1.75; color: #b7c0c7; }
.method-list { border-top: 1px solid rgba(255,255,255,.18); }
.method-item { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1.25rem; padding: 1.5rem 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.method-item__num { font: 500 .7rem/1.6 var(--font-mono); color: #c58967; }
.method-item h3 { color: #f5f0e7; font-size: 1rem; font-weight: 600; }
.method-item p { margin-top: .4rem; color: #9eabb4; line-height: 1.65; font-size: .94rem; }

.profile-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(3rem, 8vw, 9rem); align-items: start; }
.profile-grid h2 { font: 400 clamp(2.6rem, 4.8vw, 5rem)/1 var(--font-display); letter-spacing: -.035em; color: var(--home-navy); }
.profile-copy { font-size: 1.08rem; line-height: 1.8; color: #4f5b64; }
.profile-copy p + p { margin-top: 1.25rem; }
.profile-facts { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; margin-top: 2rem; background: var(--home-rule); border: 1px solid var(--home-rule); }
.profile-fact { padding: 1.25rem; background: var(--home-paper); }
.profile-fact span { display: block; font: 500 .68rem/1.5 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--home-copper); }
.profile-fact strong { display: block; margin-top: .35rem; color: var(--home-navy); font-size: .95rem; font-weight: 600; }

.innovation-note { margin-top: 2.5rem; padding: 1.6rem 0 0 1.5rem; border-top: 1px solid var(--home-rule); border-left: 2px solid var(--home-copper); color: #58636c; line-height: 1.7; }
.innovation-note strong { color: var(--home-navy); }

.insight-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; background: var(--home-rule); border: 1px solid var(--home-rule); }
.insight { display: flex; flex-direction: column; min-height: 330px; padding: clamp(1.5rem, 3vw, 2.6rem); background: var(--home-paper); }
.insight__meta { font: 500 .68rem/1.5 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--home-copper); }
.insight h3 { margin-top: 1.6rem; font: 400 clamp(1.6rem, 2.5vw, 2.4rem)/1.12 var(--font-display); color: var(--home-navy); }
.insight p { margin-top: 1rem; color: var(--home-muted); line-height: 1.65; }
.insight a { margin-top: auto; padding-top: 1.5rem; color: var(--home-navy); font-size: .88rem; font-weight: 650; text-decoration: underline; text-decoration-color: var(--home-copper); text-underline-offset: .3rem; }

.contact-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(3rem, 8vw, 9rem); }
.contact-copy h2 { font: 400 clamp(2.7rem, 5vw, 5.2rem)/.98 var(--font-display); letter-spacing: -.035em; color: var(--home-navy); }
.contact-copy > p { margin-top: 1.4rem; max-width: 42ch; color: var(--home-muted); line-height: 1.7; }
.contact-details { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--home-rule); }
.contact-details a, .contact-details address { display: block; padding: .35rem 0; color: var(--home-navy); font-style: normal; word-break: break-word; }
.home-form { padding: clamp(1.5rem, 4vw, 3rem); background: #fff; border-top: 3px solid var(--home-navy); }
.home-form .form-status { min-height: 1.5rem; font-size: .9rem; line-height: 1.5; color: var(--home-muted); }
.home-form .form-status.is-error { color: #8b2f28; }
.home-form .form-status.is-success { color: #245e47; }
.hp-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.home-page .site-foot__top { grid-template-columns: minmax(16rem, 1.4fr) repeat(3, minmax(10rem, 1fr)); }
.footer-wordmark { font: 500 1.8rem/1 var(--font-display); color: #fff; letter-spacing: .02em; }
.footer-blurb { margin-top: 1rem; max-width: 34ch; color: var(--chalk-400); line-height: 1.6; }

.home-page h1, .home-page h2, .home-page h3, .home-page h4,
.home-page .footer-wordmark {
  hyphens: none;
  -webkit-hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

@media (max-width: 1080px) {
  .home-page .site-nav__links, .home-page .site-nav__side .btn, .home-page .site-nav__side .lang-links { display: none; }
}
@media (max-width: 900px) {
  .home-hero { min-height: auto; }
  .home-hero__grid { grid-template-columns: 1fr; min-height: auto; }
  .home-hero__copy { padding: 5rem var(--gutter) 4rem; }
  .home-hero__media { min-height: 52vw; max-height: 620px; }
  .home-intro, .section-head, .method-grid, .profile-grid, .contact-grid, .legacy-areas__head { grid-template-columns: 1fr; }
  .section-head__main { align-items: start; flex-direction: column; }
  .home-page .site-foot__top { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .home-hero h1 { font-size: clamp(3rem, 14vw, 4.4rem); }
  .home-intro__body, .editorial-grid, .insight-grid, .profile-facts, .legacy-groups { grid-template-columns: 1fr; }
  .practice { grid-template-columns: 2rem minmax(0,1fr) 1rem; gap: .8rem; }
  .practice p { grid-column: 2 / -1; }
  .home-page .site-foot__top { grid-template-columns: 1fr; }
  .home-form { padding-inline: 1.2rem; }
}

@media print {
  .home-hero { min-height: auto; background: #fff; color: #111; }
  .home-hero__grid { display: block; min-height: auto; }
  .home-hero__copy { padding: 2rem 0; }
  .home-hero h1, .home-hero__lede { color: #111; }
  .home-hero__media, .home-actions, .cc { display: none !important; }
}
