:root { --ink:#0a0a0a; --paper:#fff; --red:#ef351c; --line:#111; --muted:#616161; --mono:"DM Mono", monospace; --sans:"Manrope", Arial, sans-serif; --gutter:clamp(1.25rem, 4.6vw, 5rem); --ease:cubic-bezier(.23,1,.32,1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.45; }
a { color:inherit; text-decoration:none; }
.skip-link { background:var(--red); color:#fff; padding:.7rem 1rem; position:fixed; top:-4rem; left:1rem; z-index:20; font:500 .75rem var(--mono); }
.skip-link:focus { top:1rem; }
.site-header { min-height:104px; padding:1.1rem var(--gutter); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; background:rgba(255,255,255,.96); backdrop-filter:blur(10px); }
.brand { width:185px; display:block; }
.brand img { display:block; width:100%; height:auto; }
.primary-nav { display:flex; gap:1.75rem; font:500 .72rem var(--mono); letter-spacing:.02em; text-transform:uppercase; }
.primary-nav a { border-bottom:1px solid transparent; padding:.25rem 0; transition:border-color 160ms var(--ease); }
.primary-nav a:hover, .primary-nav a:focus-visible { border-color:var(--ink); }
.language-switcher { justify-self:end; position:relative; font:500 .7rem var(--mono); }
.language-switcher summary { list-style:none; cursor:pointer; display:flex; gap:.65rem; align-items:center; border:1px solid var(--ink); padding:.55rem .65rem; }
.language-switcher summary::-webkit-details-marker { display:none; }
.language-switcher[open] summary span { transform:rotate(45deg); }
.language-list { position:absolute; top:calc(100% + .45rem); right:0; width:180px; background:#fff; border:1px solid var(--ink); padding:.35rem; box-shadow:5px 5px 0 var(--ink); }
.language-list a { padding:.65rem; display:flex; gap:.65rem; align-items:center; font-size:.68rem; }
.language-list a:hover, .language-list a[aria-current="true"] { background:var(--red); color:#fff; }
.language-list span { width:1.55rem; }
.mobile-nav { display:none; }
.hero { padding:0 var(--gutter); }
.hero-grid { min-height:calc(100svh - 104px); display:grid; grid-template-columns:1fr 1.05fr .48fr; grid-template-rows:auto 1fr auto; gap:1rem; position:relative; border-left:1px solid var(--line); border-right:1px solid var(--line); }
.hero-index, .hero-kicker, .hero-note { font:500 .67rem var(--mono); letter-spacing:.03em; }
.hero-index { padding:1rem; border-right:1px solid var(--line); }
.hero-kicker { grid-column:2; padding:1rem 0; margin:0; }
.hero-mark { grid-column:3; grid-row:1 / span 2; background:var(--red); display:grid; align-items:end; overflow:hidden; }
.hero-mark span { color:#fff; font-size:clamp(10rem, 27vw, 28rem); line-height:.63; letter-spacing:-.13em; font-weight:800; transform:translateX(-.25em); }
.hero-copy { grid-column:1 / span 2; grid-row:2; padding:clamp(3.5rem, 10vh, 8.5rem) clamp(1rem, 3.5vw, 4rem) 3rem; border-top:1px solid var(--line); }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:970px; font-size:clamp(3.65rem, 8.7vw, 10.5rem); line-height:.87; letter-spacing:-.092em; font-weight:800; margin-bottom:2.2rem; }
.hero-copy > p { max-width:545px; font-size:clamp(1.05rem,1.65vw,1.42rem); line-height:1.45; }
.arrow-link { display:inline-flex; gap:2rem; align-items:center; border-bottom:1px solid var(--ink); padding:.5rem 0; margin-top:2rem; font:600 .74rem var(--mono); text-transform:uppercase; }
.arrow-link b { font-size:1.2rem; transition:transform 180ms var(--ease); }
.arrow-link:hover b { transform:translate(3px,3px); }
.hero-note { grid-column:1 / span 2; border-top:1px solid var(--line); margin:0; padding:1rem; align-self:end; }
.ticker { overflow:hidden; background:var(--ink); color:#fff; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); white-space:nowrap; }
.ticker div { display:inline-block; padding:.7rem 0; font:500 .74rem var(--mono); letter-spacing:.11em; animation:ticker 28s linear infinite; }
.ticker span { color:var(--red); padding:0 1.3rem; }
@keyframes ticker { from { transform:translateX(0); } to { transform:translateX(-45%); } }
.section { padding:clamp(5rem,12vw,11rem) var(--gutter); }
.eyebrow { margin:0; color:var(--muted); font:500 .68rem var(--mono); letter-spacing:.05em; text-transform:uppercase; }
.section-intro { border-bottom:1px solid var(--line); }
.intro-layout { display:grid; grid-template-columns:.94fr 1.06fr; gap:clamp(2rem,8vw,10rem); margin-top:2rem; }
h2 { font-size:clamp(2.65rem,5.3vw,6.4rem); line-height:.95; letter-spacing:-.075em; margin-bottom:0; font-weight:800; }
.lead { max-width:580px; font-size:clamp(1.15rem,1.85vw,1.7rem); line-height:1.48; margin:0; align-self:end; }
.pillars { border-bottom:1px solid var(--line); }
.section-heading { display:grid; grid-template-columns:.33fr .67fr; gap:2rem; margin-bottom:clamp(3rem,7vw,6rem); }
.pillar-list { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.pillar { min-height:340px; position:relative; padding:1.15rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background 220ms var(--ease), color 220ms var(--ease); }
.pillar:hover { background:var(--red); color:#fff; }
.pillar-number,.scope-index { font:500 .67rem var(--mono); margin-bottom:clamp(4rem,8vw,8rem); }
.pillar h3,.scope-card h3 { font-size:clamp(1.7rem,2.7vw,3.2rem); line-height:.95; letter-spacing:-.06em; margin-bottom:1rem; }
.pillar > p:not(.pillar-number),.scope-card > p:not(.scope-index) { max-width:330px; font-size:.9rem; line-height:1.5; }
.pillar-arrow { position:absolute; right:1.1rem; bottom:1rem; font-size:1.5rem; }
.scope { background:#f6f6f4; border-bottom:1px solid var(--line); }
.scope-heading { max-width:925px; margin-bottom:clamp(3rem,7vw,6.5rem); }
.scope-heading .eyebrow { margin-bottom:2rem; }
.scope-list { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.scope-card { background:#f6f6f4; padding:1.1rem; min-height:285px; }
.statement { background:var(--ink); color:#fff; padding:0 var(--gutter); }
.statement-grid { min-height:620px; display:grid; grid-template-columns:1fr 1.65fr .5fr; grid-template-rows:auto 1fr auto; gap:1rem; border-left:1px solid #505050; border-right:1px solid #505050; padding:1rem; }
.statement .eyebrow { color:#a2a2a2; grid-column:1; }
blockquote { grid-column:1 / span 2; align-self:center; max-width:1030px; margin:0; font-size:clamp(2.8rem,5.9vw,7rem); line-height:.97; letter-spacing:-.07em; font-weight:700; }
.statement-accent { grid-column:3; grid-row:1 / span 2; background:var(--red); }
.statement-logo { grid-column:1 / span 2; max-width:230px; align-self:end; }
.statement-logo-dark { filter:brightness(0) invert(1); }
.partnership { border-bottom:1px solid var(--line); }
.partnership-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,8vw,10rem); margin-top:2rem; }
.partnership-layout .lead { padding-top:1rem; }
.red-square { display:block; width:clamp(2.4rem,4.6vw,4.5rem); aspect-ratio:1; background:var(--red); margin-bottom:clamp(2rem,6vw,5rem); }
.contact { display:grid; grid-template-columns:.88fr 1.12fr; gap:clamp(3rem,9vw,10rem); background:var(--red); padding:clamp(5rem,11vw,10rem) var(--gutter); }
.contact h2 { color:#fff; margin:1.7rem 0; }
.contact-heading > p:not(.eyebrow) { max-width:420px; }
.contact-email { display:inline-block; padding-bottom:.25rem; border-bottom:1px solid var(--ink); margin-top:2rem; font:500 .78rem var(--mono); }
.contact-form { align-self:end; padding-top:1rem; }
.contact-form label { display:block; padding:0 0 .65rem; margin:0 0 1.5rem; border-bottom:1px solid var(--ink); font:500 .68rem var(--mono); letter-spacing:.02em; }
.contact-form label span { display:block; margin-bottom:.7rem; }
.contact-form i { font-style:normal; }
.contact-form input,.contact-form textarea { display:block; width:100%; padding:0; border:0; background:transparent; color:var(--ink); border-radius:0; outline:none; font:600 1.1rem var(--sans); }
.contact-form textarea { resize:vertical; min-height:120px; }
.contact-form input:focus,.contact-form textarea:focus { box-shadow:0 2px 0 var(--ink); }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.form-footer { display:flex; justify-content:space-between; align-items:flex-end; gap:1.5rem; }
.form-footer p { margin:0; max-width:350px; font:.62rem/1.5 var(--mono); }
.form-footer button { border:1px solid var(--ink); border-radius:0; background:var(--ink); color:#fff; cursor:pointer; padding:.9rem 1rem; display:flex; align-items:center; gap:2rem; font:600 .68rem var(--mono); text-transform:uppercase; transition:transform 160ms var(--ease),background 160ms var(--ease),color 160ms var(--ease); }
.form-footer button:hover { background:#fff; color:var(--ink); }
.form-footer button:active { transform:scale(.97); }
.form-feedback { border:1px solid var(--ink); padding:.7rem; font:.68rem var(--mono); }
.form-feedback.success { background:#fff; }.form-feedback.error { background:var(--ink); color:#fff; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.site-footer { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:1rem var(--gutter); background:var(--ink); color:#fff; font:.62rem var(--mono); }
.site-footer a { color:var(--red); font-size:1.4rem; }
@media (max-width:800px) { body { overflow-x:hidden; }.site-header { min-height:78px; grid-template-columns:minmax(0,1fr) auto auto; gap:.5rem; }.brand { width:140px; }.primary-nav { display:none; }.language-switcher summary { padding:.55rem; }.language-switcher summary span { display:none; }.mobile-nav { display:block; position:relative; font:500 .68rem var(--mono); }.mobile-nav summary { list-style:none; cursor:pointer; border:1px solid var(--ink); padding:.55rem .65rem; }.mobile-nav summary::-webkit-details-marker { display:none; }.mobile-nav summary span { margin-left:.5rem; }.mobile-nav[open] summary span { display:inline-block; transform:rotate(45deg); }.mobile-nav nav { position:absolute; top:calc(100% + .45rem); right:0; width:min(260px,calc(100vw - 2.5rem)); background:#fff; border:1px solid var(--ink); box-shadow:5px 5px 0 var(--ink); padding:.3rem; }.mobile-nav a { display:block; padding:.8rem .65rem; border-bottom:1px solid #ddd; }.mobile-nav a:last-child { border-bottom:0; }.mobile-nav a:hover,.mobile-nav a:focus-visible { background:var(--red); color:#fff; }.hero-grid { min-height:0; display:flex; flex-direction:column; gap:0; }.hero-index { order:1; border-right:0; border-bottom:1px solid var(--line); }.hero-kicker { order:2; padding:1rem; border-bottom:1px solid var(--line); }.hero-copy { order:3; padding:3.5rem 1rem 3rem; border-top:0; min-width:0; }.hero-copy h1 { max-width:100%; font-size:clamp(2.7rem,12vw,3.25rem); overflow-wrap:anywhere; }.hero-copy>p { font-size:1rem; }.hero-mark { order:4; height:180px; min-height:180px; display:flex; align-items:end; }.hero-mark span { font-size:13rem; }.hero-note { order:5; border-top:1px solid var(--line); }.intro-layout,.section-heading,.partnership-layout,.contact { grid-template-columns:1fr; }.pillar-list,.scope-list { grid-template-columns:1fr; }.pillar { min-height:260px; }.statement-grid { min-height:520px; grid-template-columns:1fr .22fr; }.statement .eyebrow,blockquote,.statement-logo { grid-column:1; }.statement-accent { grid-column:2; grid-row:1 / span 3; }.statement-logo { max-width:160px; }.field-grid { grid-template-columns:1fr; gap:0; }.form-footer { align-items:flex-start; flex-direction:column; }.form-footer button { width:100%; justify-content:space-between; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.ticker div { animation:none; } }
