/* INKFINITY / Type refinement v2
   Intent: retain the loud brand while giving every word space to breathe.
   Loaded after base styles so typography is easy to tune independently.
*/
:root { --display-leading: 0.98; }
body { text-rendering: optimizeLegibility; }
.mono { font-size: clamp(11px, .8vw, 13px); letter-spacing: .045em; line-height: 1.65; }
.hero-eye, .kicker, .reg-eyebrow { letter-spacing: .085em; }
.nav-link { font-size: 13px; letter-spacing: .015em; }
.nav-cta { font-size: 12px; line-height: 1.3; letter-spacing: .02em; }
.section-meta { line-height: 1.6; }
.huge-heading, .big-heading, .break-title { line-height: .99; letter-spacing: -.005em; font-kerning: normal; overflow-wrap: normal; }
.huge-heading { font-size: clamp(4.5rem, 9.3vw, 10rem); }
.big-heading { font-size: clamp(4.2rem, 8.5vw, 10rem); }
/* Hero: original .73 leading caused THINK and LOUD to collide. */
.hero { padding-top: 110px; }
.hero-copy { width: 66%; padding-block: 46px 45px; }
.hero-title { font-size: clamp(6.6rem, 15.3vw, 17.1rem); line-height: .96; letter-spacing: -.006em; transform: none; max-width: 100%; }
.hero-word { display: block; }
.hero-word-last { padding-bottom: .025em; }
.hero-eye { font-size: 12px; margin-bottom: 17px; }
.hero-intro { max-width: 385px; font-size: clamp(16px, 1.15vw, 20px); line-height: 1.5; margin-top: 16px; margin-bottom: 14px; }
.hero-date { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin: 0 0 24px; color: #101010; }
.hero-date span { border: 1px solid #101010; font: 700 11px/1.35 var(--mono); letter-spacing: .035em; padding: 8px 10px; background: #dfff0033; }
.hero-date span:first-child { background: var(--black); color: var(--acid); }
.hero-actions { flex-wrap: wrap; }
.hero-art-wrap { width: min(55vw, 930px); right: -10%; top: 13%; height: 69%; }
.hero-action-aside { font-size: 11px; max-width: 155px; }
/* Headings that previously used extremely tight line-height. */
.manifesto .huge-heading { font-size: clamp(5rem, 9.5vw, 11.5rem); line-height: 1.02; }
.statement { letter-spacing: -.015em; line-height: 1.25; }
.pillars-head .big-heading { line-height: 1.04; }
.pillar-card h3 { font-size: clamp(38px, 4vw, 62px); line-height: 1.1; letter-spacing: .005em; }
.pillar-card p { font-size: 14px; line-height: 1.65; }
.pillar-disclaimer, .lab-note { font-size: 11px; line-height: 1.65; }
.break-title { font-size: clamp(5.5rem, 11.5vw, 13.5rem); line-height: 1.02; }
.lab-heading-row h2, .lookbook-heading h2 { line-height: 1.02; }
.lab-label { line-height: 1.1; }
.lab-output-center { line-height: 1.09; letter-spacing: 0; }
.poster-card figcaption { line-height: 1.16; }
.updates .huge-heading { font-size: clamp(4.9rem, 8.9vw, 10rem); line-height: 1.025; }
.updates-side > p { line-height: 1.4; }
.updates-detail { align-items: start; }
.updates-detail strong { font-size: 15px; line-height: 1.5; max-width: 60%; }
.button-outline-dark { border-color: var(--black); color: var(--black); background: transparent; }
.button-outline-dark:hover { background: var(--acid); }
.faq-item summary { letter-spacing: -.005em; line-height: 1.38; }
.faq-inline-link { color: var(--acid); text-decoration: underline; text-underline-offset: 3px; }
.final-shot-title { font-size: clamp(5rem, 13.7vw, 15rem); line-height: 1.03; letter-spacing: -.005em; transform: none; }
.footer-slogan { line-height: 1.08; }
.footer-nav a { line-height: 1.45; }
/* Prevent broad headings, pills and actions from overflowing their containers. */
.hero-copy, .manifesto-layout > *, .pillars-head > *, .lab-heading-row > *, .lookbook-heading > *, .updates-layout > *, .faq-layout > * { min-width: 0; }
.hero-bottomline { font-size: 11px; }

@media (min-width: 1500px) {
  .hero-stage { min-height: 650px; }
}
@media (max-width: 1100px) {
  .hero-copy { width: 75%; }
  .hero-title { font-size: clamp(6rem, 16vw, 11.5rem); }
  .hero-art-wrap { width: 60vw; right: -15%; top: 21%; height: 60%; }
  .huge-heading { font-size: 9.5vw; }
  .updates .huge-heading { font-size: 8.8vw; }
}
@media (max-width: 800px) {
  .mono { font-size: 11px; }
  .hero { padding-top: 100px; }
  .hero-stage { min-height: 750px; }
  .hero-copy { width: 100%; padding: 43px 0 35px; }
  .hero-title { font-size: clamp(7rem, 23vw, 12rem); line-height: .98; }
  .hero-art-wrap { top: 54%; right: -6%; height: 37%; width: 78%; transform: rotate(-7deg); }
  .hero-intro { max-width: 420px; }
  .hero-date { margin-bottom: 18px; }
  .manifesto .huge-heading { font-size: clamp(5rem, 13.5vw, 10rem); }
  .big-heading { font-size: clamp(4.5rem, 12vw, 8.5rem); }
  .break-title { font-size: clamp(5rem, 15vw, 9.5rem); }
  .updates .huge-heading { font-size: clamp(4.6rem, 12vw, 9rem); }
  .final-shot-title { font-size: 15vw; line-height: 1.08; }
  .mobile-menu a { line-height: 1.1; }
}
@media (max-width: 560px) {
  .mono { font-size: 10px; letter-spacing: .025em; }
  .hero { min-height: 785px; padding-top: 90px; }
  .hero-stage { min-height: 675px; }
  .hero-copy { padding-top: 44px; }
  .hero-title { font-size: 25vw; line-height: 1.0; letter-spacing: -.008em; }
  .hero-eye { font-size: 11px; }
  .hero-intro { margin-top: 19px; margin-bottom: 13px; max-width: 315px; font-size: 15px; }
  .hero-date span { font-size: 9px; padding: 6px 7px; }
  .hero-actions { gap: 13px; }
  .hero-actions .button { min-height: 51px; padding-left: 15px; gap: 10px; font-size: 10px; }
  .hero-action-aside { font-size: 9px; }
  .hero-art-wrap { top: 66%; right: -23%; width: 97%; height: 27%; transform: rotate(-9deg); }
  .hero-bottomline { font-size: 9px; line-height: 1.5; }
  .hero-bottomline span { max-width: 47%; }
  .manifesto .huge-heading { font-size: clamp(4.5rem, 14vw, 8rem); line-height: 1.03; }
  .big-heading { font-size: clamp(3.9rem, 12.8vw, 7.5rem); line-height: 1.06; }
  .break-title { font-size: clamp(4.5rem, 15vw, 7rem); line-height: 1.03; }
  .pillar-card h3 { font-size: 56px; }
  .updates .huge-heading { font-size: 13.3vw; line-height: 1.03; }
  .final-shot-title { font-size: 15.2vw; line-height: 1.09; margin: 100px 0 60px; }
  .footer-slogan { font-size: 57px; line-height: 1.12; }
}
@media (max-width: 365px) {
  .hero-title { font-size: 24.3vw; }
  .hero-art-wrap { top: 68%; }
  .hero-actions .button { font-size: 9px; }
  .big-heading { font-size: 14vw; }
  .updates .huge-heading { font-size: 12.6vw; }
}
/* Final narrow-phone adjustments from layout checks. */
@media (max-width: 560px) {
  .hero-art-wrap { top: 71%; right: -21%; width: 93%; height: 25%; }
}
@media (max-width: 365px) {
  .updates .huge-heading { font-size: 11.7vw; }
}
@media (max-width: 365px) {
  .updates .huge-heading { font-size: 10.4vw; }
}
@media (max-width: 365px) {
  .manifesto .huge-heading { font-size: 19vw; }
}
