/* Hero treatment requested by Joel: large type, quiet grid and drawn underline. */
.portrait-hero .hero-brand-signature{font-size:16px;line-height:1.6;font-weight:500;color:var(--ink);margin-top:20px;max-width:620px;text-wrap:pretty}
.portrait-hero{position:relative;isolation:isolate;grid-template-columns:1.3fr .85fr;gap:72px;padding:72px 0 80px}
.portrait-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(to right,rgba(23,27,35,.045) 0,rgba(23,27,35,.045) 1px,transparent 1px,transparent calc(100% / 6))}
.portrait-hero .hero-copy>.eyebrow{display:flex;align-items:center;gap:10px;font-family:ui-monospace,"Cascadia Code","SFMono-Regular",Consolas,monospace;font-size:12px;font-weight:400;letter-spacing:.08em;line-height:1.6;margin-bottom:28px;color:var(--blue)}
.portrait-hero .hero-copy>.eyebrow .dot{width:6px;height:6px;flex:0 0 6px;border-radius:0;margin:0}
.portrait-hero h1 .hero-premise{font-size:clamp(20px,2vw,26px);font-weight:400;line-height:1.35;letter-spacing:-.025em;color:var(--muted);max-width:none;margin-bottom:26px}
.portrait-hero h1 .hero-statement{font-size:clamp(48px,6vw,78px);font-weight:600;line-height:1.02;letter-spacing:-.04em;color:var(--ink)}
.portrait-hero .hero-statement .hero-line{display:block;color:inherit}
.portrait-hero .hero-statement em{display:block;font:inherit;color:var(--blue)}
.portrait-hero .hero-statement .hero-underline{display:inline-block;position:relative;padding-bottom:.08em}
.hero-underline svg{position:absolute;left:0;bottom:-.045em;width:100%;height:.18em;overflow:visible;pointer-events:none}
.hero-underline path{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}
.portrait-hero .hero-description{max-width:620px;font-size:19px;line-height:1.6;color:var(--muted);margin-top:34px;text-wrap:pretty}
.portrait-hero .hero-actions{margin-top:34px;gap:16px 28px}
.portrait-hero .hero-actions .button{min-height:56px;padding:15px 22px;border-radius:6px;font-size:15px;gap:16px}
.portrait-hero .hero-actions .text-link{min-height:44px;font-size:16px;gap:10px}
.portrait-hero .hero-portrait{max-width:420px}
.hero-portrait .portrait-signature{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:18px 0 0}
.hero-portrait .portrait-signature strong{font-size:20px;line-height:1.35;letter-spacing:-.025em;white-space:nowrap}
.hero-portrait .portrait-signature>span{font-size:16px;line-height:1.35;color:var(--muted);white-space:nowrap}
@media(max-width:640px){.hero-portrait .portrait-signature{gap:12px;padding-top:16px}.hero-portrait .portrait-signature strong{font-size:18px}.hero-portrait .portrait-signature>span{font-size:14px}}
@media(max-width:360px){.hero-portrait .portrait-signature{gap:8px}.hero-portrait .portrait-signature strong{font-size:17px}.hero-portrait .portrait-signature>span{font-size:13px}}
@media(max-width:1100px){.portrait-hero{gap:44px}.portrait-hero h1 .hero-statement{font-size:clamp(48px,6.5vw,72px)}}
@media(max-width:900px){.portrait-hero{grid-template-columns:1fr;gap:40px;padding-top:50px}.portrait-hero .hero-copy{max-width:690px}.portrait-hero h1 .hero-statement{font-size:clamp(52px,8.5vw,72px)}.portrait-hero .hero-portrait{justify-self:center;max-width:500px}}
@media(max-width:640px){.portrait-hero{padding:40px 0 44px;gap:34px}.portrait-hero::before{background-size:200% 100%}.portrait-hero .hero-copy>.eyebrow{font-size:11px;margin-bottom:23px}.portrait-hero h1 .hero-premise{font-size:20px;margin-bottom:22px}.portrait-hero h1 .hero-statement{font-size:clamp(38px,11.6vw,58px)}.portrait-hero .hero-description{font-size:17px;line-height:1.6;margin-top:28px}.portrait-hero .hero-actions{gap:12px 22px;margin-top:28px}.portrait-hero .hero-actions .button{min-height:52px;padding:13px 17px;font-size:14px}.portrait-hero .hero-actions .text-link{font-size:15px}.portrait-hero .hero-portrait{max-width:none}}
@media(max-width:360px){.portrait-hero .hero-actions .button{font-size:13px;gap:12px;padding-inline:15px}.portrait-hero .hero-copy>.eyebrow{font-size:10px}}
