@font-face {
  font-family:Inter;
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url("fonts/inter-latin-normal.woff2") format("woff2");
}
@font-face {
  font-family:Inter;
  font-style:italic;
  font-weight:400 700;
  font-display:swap;
  src:url("fonts/inter-latin-italic.woff2") format("woff2");
}
@font-face {
  font-family:Montserrat;
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url("fonts/montserrat-latin-normal.woff2") format("woff2");
}
@font-face {
  font-family:Montserrat;
  font-style:italic;
  font-weight:400 700;
  font-display:swap;
  src:url("fonts/montserrat-latin-italic.woff2") format("woff2");
}

:root {
  --body:Inter,Arial,sans-serif;
  --display:Montserrat,Arial,sans-serif;
  --serif:Montserrat,Arial,sans-serif;
}
body { font-family:var(--body); }
h1,h2,h3,h4,h5,h6 { font-family:var(--display); }
h2 { letter-spacing:-.04em; }
h3 { letter-spacing:-.025em; }
.hero h1 { font-size:clamp(3rem,5.9vw,5.5rem); letter-spacing:-.05em; line-height:1.12; }
.serif-word { letter-spacing:-.045em; }
.conversation-caption { font-family:var(--body); letter-spacing:-.025em; }
.poster-title,.sheet-title { letter-spacing:-.04em; }
.button { border-radius:6px; }
.cta-icon { width:24px; height:24px; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.button-small .cta-icon { width:21px; height:21px; }
.link-mark { width:24px; height:18px; stroke:currentColor; stroke-width:1.5; flex-shrink:0; }
.poster-top>.link-mark { width:24px; height:18px; }
.poster-signature>.link-mark { width:18px; height:15px; }
.contact-symbol { flex-shrink:0; padding-inline:5px; }
.contact-symbol .cta-icon { width:105px; height:105px; stroke-width:1; }
.inner-hero h1 { letter-spacing:-.05em; overflow-wrap:break-word; }
.channel-card>span:last-child { display:inline-flex; align-items:center; gap:12px; }
.situation-list li::before { content:""; width:9px; height:9px; border:2px solid var(--brand-dark); border-radius:50%; top:28px; left:3px; }
.dialog-list li::before { content:""; width:9px; height:9px; flex-shrink:0; border:2px solid var(--brand-dark); border-radius:50%; margin-top:8px; }
.text-link { transition:text-decoration-color .2s; }
.text-link:hover { gap:20px; text-decoration-color:currentColor; }
.button:hover { transform:translateY(-1px); }
@media(min-width:1700px) { .hero h1 { font-size:5.5rem; } }
@media(max-width:1150px) { .main-nav { gap:22px; } }
@media(max-width:700px) {
  .hero h1 { font-size:clamp(2.45rem,8.4vw,3.5rem); line-height:1.14; letter-spacing:-.05em; }
  h2 { letter-spacing:-.04em; }
  .contact-symbol { display:none; }
  .poster-title { font-size:2.9rem; }
  .hero-actions .button { gap:25px; }
}
@media(prefers-reduced-motion:reduce) { .button,.text-link { transition:none; } .button:hover { transform:none; } }
