/* Composição da Home baseada na referência aprovada em 05/10/2026. */
:root { --paper:#e8e5df; --ink:#0b0b0a; --acid:#ff3519; --coral:#ff3519; --line:#c7c2b9; }
::selection { background:#ff3519; color:#fff; }
.skip:focus { background:#ff3519; color:#fff; }
.header { height:116px; padding:0 4.8%; gap:6.2%; border:0; background:#0b0b0a; position:relative; z-index:5; }
.brand { font-family:Impact,'Arial Narrow',sans-serif; font-weight:400; font-size:42px; letter-spacing:-1.5px; display:block; line-height:1; flex-shrink:0; }
.header nav { margin-right:auto; gap:clamp(30px,4vw,70px); font-family:'Courier New',monospace; font-size:13px; letter-spacing:2px; text-transform:uppercase; }
.header nav a { white-space:nowrap; }
.header nav a:hover,.header nav a[aria-current] { color:#ff3519; }
.header-location { display:flex; align-items:center; gap:28px; font:12px 'Courier New',monospace; letter-spacing:.5px; white-space:nowrap; }
.status-dot { background:#ff3519; height:24px; width:24px; border-radius:50%; display:block; }
.home-page .header { position:absolute; left:0; right:0; top:0; background:transparent; }
.hero { height:100svh; min-height:720px; padding:0; overflow:hidden; isolation:isolate; background:#080808 url('hero-background.png') center center / cover no-repeat; color:#e8e5df; }
.hero-copy { position:absolute; top:22.4%; left:5.1%; width:46%; z-index:2; }
.hero-name { width:auto; margin:0; font-family:Impact,'Arial Narrow',sans-serif; font-size:min(16vw,28.4svh); font-weight:400; letter-spacing:-.025em; line-height:.82; transform:scaleX(.815); transform-origin:top left; position:relative; white-space:nowrap; }
.hero-name>span { display:block; }
.hero-name>span:nth-child(2) { padding-left:0; }
.hero-name { width:max-content; mask-image:url('type-texture.svg'); mask-mode:luminance; mask-size:100% 100%; mask-repeat:no-repeat; }
.hero-discipline { font-family:'Courier New',monospace; font-size:clamp(10px,1.04vw,18px); letter-spacing:.24em; line-height:1.5; margin:9px 0 16px; white-space:nowrap; }
.hero-actions { display:flex; align-items:center; gap:3vw; }
.view-work { width:15.6vw; min-width:180px; height:clamp(48px,3.35vw,60px); display:flex; align-items:center; justify-content:space-between; padding:0 1.65vw; background:#ff3519; color:#080808; font-family:Impact,'Arial Narrow',sans-serif; font-size:20px; letter-spacing:.3px; border-radius:2px; transition:background .2s; }
.view-work>span { display:flex; align-items:center; justify-content:center; line-height:1; flex-shrink:0; }
.site-arrow { display:inline-block; width:1em; height:1em; overflow:visible; vertical-align:-.12em; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:butt; stroke-linejoin:miter; flex-shrink:0; }
.row-arrow,.footer-name>span { display:flex; align-items:center; justify-content:center; line-height:1; }
.view-work .site-arrow { width:32px; height:16px; display:block; vertical-align:0; stroke-width:1.4; }
.view-work:hover { background:#e8e5df; }
.hero-rule { height:1px; width:7vw; background:#a5a29b; }
.hero-index { font:14px 'Courier New',monospace; color:#c4c1bb; letter-spacing:2px; white-space:nowrap; }
.hero-bottom { position:absolute; z-index:2; bottom:6.1%; left:5.4%; right:4.8%; align-items:center; gap:4.2%; }
.hero-selected,.hero-scroll { font:12px/1.6 'Courier New',monospace; letter-spacing:2px; color:#d2cfc9; }
.hero-selected span { font-size:11px; }
.hero-selected:hover,.hero-scroll:hover { color:#ff3519; }
.hero-bottom-rule { height:1px; width:29%; background:#8a8781; margin-right:auto; }
.hero-scroll { display:flex; align-items:center; gap:24px; }
.hero-scroll>span { font-size:18px; }
.selected { background:#e8e5df; }
.project-row.is-active .project-name { font-style:normal; }
.project-row.is-active .row-arrow { color:#ff3519; }
.off-teaser { background:#121211; color:#e8e5df; border-bottom:1px solid #383633; }
.off-teaser .eyebrow { color:#ff3519; }
.off-teaser h2 { font-size:clamp(80px,12vw,180px); letter-spacing:.025em; line-height:.95; font-kerning:none; font-variant-ligatures:none; }
.off-teaser h2 .serif { padding-left:7vw; letter-spacing:-.02em; }
.off-teaser .text-link:hover { color:#ff3519; }
.contact-intro { background:#e8e5df; }
.contact-star { color:#ff3519; }
.next-project { background:#ff3519; color:#080808; }
.next-project:hover { background:#eb2f16; }
.footer-name>span { color:#ff3519; }
.footer-meta { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; }
.footer-meta>a { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.footer-meta>a:last-child { justify-self:end; }
.footer-meta>a:hover { color:var(--acid); }
.campaign-preview-label { position:absolute; left:20px; bottom:20px; font:9px 'Courier New',monospace; background:#10110f; color:#fff; padding:9px 12px; max-width:calc(100% - 40px); }
@media(max-width:700px) { .campaign-preview-label { left:14px; bottom:14px; font-size:8px; max-width:calc(100% - 28px); } .footer-meta { gap:8px; } .footer-meta>a { gap:4px; } }
@media (min-aspect-ratio:2/1) and (min-width:901px) {
  .hero { min-height:650px; }
  .hero-copy { top:21%; }
  .hero-name { font-size:210px; }
  .hero-discipline { font-size:12px; }
}
@media (max-width:1100px) and (min-width:701px) {
  .header { gap:5%; }
  .header nav { gap:28px; font-size:11px; }
  .header-location { font-size:10px; gap:14px; }
  .status-dot { width:19px; height:19px; }
  .hero { height:auto; min-height:0; aspect-ratio:16/10; }
  .hero-copy { top:24%; }
  .hero-name { font-size:16vw; }
  .hero-discipline { letter-spacing:.12em; margin-top:15px; }
  .hero-actions { gap:24px; }
  .hero-index { font-size:11px; }
  .view-work { min-width:160px; padding:0 20px; height:46px; font-size:17px; }
  .hero-bottom { bottom:5%; }
  .hero-selected,.hero-scroll { font-size:10px; }
  .hero-selected span { font-size:9px; }
}
@media (max-width:700px) {
  .header { height:95px; padding:0 6%; gap:26px; flex-wrap:wrap; align-content:center; }
  .brand { font-size:35px; }
  .header nav { gap:clamp(12px,3vw,23px); font-size:10px; letter-spacing:1px; margin:0 0 0 auto; }
  .header-location { display:none; }
  .hero { height:auto; min-height:790px; background-position:62% bottom; background-size:auto 100%; }
  .hero:before { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.65) 25%,rgba(0,0,0,.62) 60%,rgba(0,0,0,.12)); z-index:0; }
  .hero-copy { top:175px; left:6%; width:88%; }
  .hero-name { font-size:28.5vw; line-height:.85; letter-spacing:-.025em; width:max-content; margin:0; transform:scaleX(.92); }
  .hero-discipline { font-size:10px; letter-spacing:.18em; line-height:1.9; white-space:normal; max-width:290px; margin:23px 0 20px; }
  .hero-actions { gap:22px; }
  .view-work { min-width:170px; width:48%; height:48px; padding:0 20px; font-size:19px; }
  .hero-rule { width:30px; }
  .hero-index { font-size:11px; letter-spacing:1px; }
  .hero-bottom { bottom:36px; left:6%; right:6%; gap:20px; }
  .hero-selected,.hero-scroll { font-size:9px; letter-spacing:1px; }
  .hero-selected span { font-size:8px; }
  .hero-bottom-rule { width:auto; flex:1; margin:0; }
  .hero-scroll { gap:10px; }
  .off-teaser { background:#121211; }
  .off-teaser h2 { font-size:clamp(80px,26vw,110px); letter-spacing:.025em; }
  .off-teaser h2 .serif { padding-left:7vw; letter-spacing:-.02em; }
}
@media(max-width:360px) {
  .header { gap:12px; }
  .header nav { font-size:9px; gap:11px; }
  .hero { min-height:740px; }
  .hero-copy { top:160px; }
  .hero-actions { gap:14px; }
  .hero-rule { width:18px; }
}

/* Add optical space between r and i in both Off Brief titles. */
.off-teaser h2 .brief-word,.page-intro h1 .brief-word{font-kerning:none;font-variant-ligatures:none;letter-spacing:-.01em}
.brief-word .brief-r{display:inline-block;margin-right:.05em}
