@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#0a1930; --ink-soft:#142742; --red:#e1261c; --red-deep:#b81711; --paper:#f4f1ec; --white:#fffdfa; --line:rgba(10,25,48,.16); --muted:#607087; --container:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'Manrope',Arial,sans-serif; font-size:16px; line-height:1.65; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
.container { width:min(calc(100% - 64px),var(--container)); margin:0 auto; }
.site-header { position:relative; z-index:10; background:var(--white); border-bottom:1px solid var(--line); }
.nav-wrap { min-height:94px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.brand img { width:286px; height:auto; }
.site-nav { display:flex; align-items:center; gap:30px; font-size:.82rem; font-weight:700; letter-spacing:.02em; }
.site-nav > a:not(.nav-button),.nav-dropdown-link { color:#536176; padding:8px 0; border-bottom:2px solid transparent; }
.site-nav > a:not(.nav-button):hover,.site-nav > a.active,.nav-dropdown-link:hover,.nav-dropdown-link.active,.nav-dropdown:focus-within .nav-dropdown-link { color:var(--ink); border-bottom-color:var(--red); }
.nav-dropdown { position:relative; }
.nav-services-label { display:flex; align-items:center; gap:2px; }
.nav-dropdown-toggle { display:grid; place-items:center; width:29px; height:29px; padding:0; border:0; background:transparent; color:var(--red); cursor:pointer; }
.nav-dropdown-toggle svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2.5; transition:transform .2s ease; }
.nav-dropdown.open .nav-dropdown-toggle svg { transform:rotate(180deg); }
.nav-dropdown-menu { position:absolute; top:calc(100% + 16px); right:-22px; z-index:20; display:grid; grid-template-columns:repeat(2, minmax(210px,1fr)); width:530px; padding:14px; gap:3px; background:var(--white); border:1px solid var(--line); box-shadow:0 18px 35px rgba(10,25,48,.14); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-6px); transition:opacity .18s ease,transform .18s ease,visibility .18s ease; }
.nav-dropdown-menu::before { content:""; position:absolute; top:-8px; right:38px; width:14px; height:14px; background:var(--white); border-left:1px solid var(--line); border-top:1px solid var(--line); transform:rotate(45deg); }
.nav-dropdown.open .nav-dropdown-menu { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
.dropdown-heading { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:7px 10px 12px; border-bottom:1px solid var(--line); color:var(--ink); font:500 .68rem 'DM Mono',monospace; letter-spacing:.09em; text-transform:uppercase; }
.dropdown-heading a { color:var(--red); font:700 .68rem 'Manrope',Arial,sans-serif; letter-spacing:0; text-transform:none; }
.nav-dropdown-menu > a { display:flex; align-items:center; gap:10px; min-height:43px; padding:9px 10px; color:var(--muted); font-size:.75rem; line-height:1.35; }
.nav-dropdown-menu > a:hover,.nav-dropdown-menu > a:focus-visible { color:var(--ink); background:var(--paper); }
.menu-index { min-width:21px; color:var(--red); font:500 .63rem 'DM Mono',monospace; }
.menu-arrow { margin-left:auto; color:var(--red); opacity:0; transform:translateX(-4px); transition:opacity .18s ease,transform .18s ease; }
.nav-dropdown-menu > a:hover .menu-arrow,.nav-dropdown-menu > a:focus-visible .menu-arrow { opacity:1; transform:translateX(0); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.nav-button,.button { display:inline-flex; align-items:center; gap:12px; min-height:48px; padding:0 19px; background:var(--red); color:white; border:1px solid var(--red); font-size:.8rem; font-weight:800; letter-spacing:.02em; transition:transform .2s ease,background .2s ease; }
.nav-button:hover,.button:hover { transform:translateY(-2px); background:var(--red-deep); }
.menu-toggle { display:none; border:0; background:transparent; color:var(--ink); font:700 .85rem 'DM Mono',monospace; text-transform:uppercase; }
.hero { background:var(--ink); color:white; }
.hero-home { padding:78px 0 0; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:1fr .86fr; gap:88px; align-items:center; }
.eyebrow { margin:0 0 22px; color:#ee584e; font:500 .72rem 'DM Mono',monospace; letter-spacing:.14em; text-transform:uppercase; }
.eyebrow-dark { color:var(--red); }
.eyebrow span { color:#e7aa58; padding:0 4px; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { letter-spacing:-.05em; line-height:1.08; }
h1 { max-width:700px; margin-bottom:28px; font-size:clamp(3.5rem,7vw,6.3rem); font-weight:800; }
h1 em,h2 em { color:#f05a50; font-style:normal; }
h2 { margin-bottom:24px; font-size:clamp(2.4rem,4.6vw,4.2rem); font-weight:800; }
h2 span { color:var(--red); }
h3 { font-size:1.35rem; font-weight:800; }
.hero-lead { max-width:610px; color:#c2ccda; font-size:1.08rem; line-height:1.85; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:34px; }
.button-primary { background:var(--red); }
.text-link { display:inline-flex; gap:11px; align-items:center; color:white; font-size:.82rem; font-weight:800; }
.text-link:hover { color:#f05a50; }
.text-link-dark { color:var(--ink); }
.hero-visual { min-height:515px; position:relative; display:grid; place-items:center; }
.visual-grid { position:absolute; inset:-80px -80px -40px 20px; opacity:.52; background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px); background-size:52px 52px; transform:perspective(650px) rotateX(58deg) rotateZ(-8deg); transform-origin:center bottom; }
.visual-card { position:relative; width:min(78%,390px); min-height:270px; display:flex; flex-direction:column; justify-content:space-between; padding:30px; border:1px solid rgba(255,255,255,.38); background:rgba(20,39,66,.8); box-shadow:22px 24px 0 var(--red); }
.visual-mark { width:76px; height:76px; display:grid; place-items:center; background:var(--red); color:white; font-size:1.55rem; font-weight:800; letter-spacing:-.08em; }
.visual-card p { margin:0; max-width:210px; color:white; font-size:1.1rem; line-height:1.4; }
.visual-note { position:absolute; display:flex; align-items:center; gap:12px; color:#c2ccda; font:500 .68rem 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }
.visual-note strong { display:grid; width:36px; height:36px; place-items:center; background:#f3b241; color:var(--ink); font-size:.75rem; }
.note-top { top:30px; right:-12px; }.note-bottom { bottom:48px; left:0; }
.hero-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:62px 0 30px; }
.hero-meta div { display:flex; align-items:baseline; gap:14px; padding-top:17px; border-top:1px solid rgba(255,255,255,.22); }
.hero-meta strong { color:white; font-size:1rem; }.hero-meta span { color:#a9b7c9; font:500 .65rem 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.section { padding:126px 0; }.section-light { background:var(--paper); }.intro-grid,.story-grid,.policy-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }.intro-section { padding-top:118px; }.intro-copy { padding-top:22px; max-width:510px; }.intro-copy .lead { color:var(--ink); font-size:1.3rem; line-height:1.55; }.intro-copy p:not(.lead) { color:var(--muted); }.intro-copy .text-link { margin-top:18px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:48px; margin-bottom:52px; }.section-heading h2 { margin-bottom:0; }.heading-note { max-width:330px; margin:0; color:var(--muted); font-size:.96rem; }.services-preview { background:var(--white); }
.service-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }.service-card { min-height:300px; position:relative; padding:26px 24px; background:var(--paper); border:1px solid var(--line); transition:transform .22s ease,background .22s ease; }.service-card:hover { transform:translateY(-6px); background:#ebe6de; }.service-card-accent { background:var(--red); color:white; border-color:var(--red); }.service-card-accent:hover { background:var(--red-deep); }.card-number { color:var(--red); font:500 .7rem 'DM Mono',monospace; }.service-card-accent .card-number { color:#ffb2ac; }.card-arrow { position:absolute; top:23px; right:23px; font-size:1.15rem; }.service-card h3 { position:absolute; top:106px; margin:0; }.service-card p { position:absolute; bottom:22px; max-width:210px; margin:0; color:var(--muted); font-size:.86rem; line-height:1.55; }.service-card-accent p { color:#ffe3df; }
.dark-section { background:var(--ink); color:white; }.values-banner { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; }.values-banner h2 { margin-bottom:0; }.values-copy { max-width:420px; }.values-copy p { color:#bac6d6; font-size:1.1rem; }.button-outline { margin-top:15px; background:transparent; border-color:#e7aa58; }.button-outline:hover { background:#e7aa58; color:var(--ink); }
.site-footer { background:#071426; color:white; padding:64px 0 28px; }.footer-top { display:flex; justify-content:space-between; gap:48px; align-items:flex-start; }.footer-logo { width:255px; filter:brightness(0) invert(1); }.footer-caption { margin:22px 0 0; color:#91a1b7; font-size:.82rem; line-height:1.7; }.footer-links { display:grid; gap:11px; color:#b7c1cf; font-size:.85rem; }.footer-links a:hover { color:#fff; }.footer-bottom { display:flex; gap:28px; margin-top:60px; padding-top:18px; border-top:1px solid rgba(255,255,255,.16); color:#7e8da1; font:500 .65rem 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.09em; }
.page-hero { padding:100px 0 112px; background:var(--white); border-bottom:1px solid var(--line); }.page-hero-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:90px; align-items:end; }.page-hero h1 { margin-bottom:0; font-size:clamp(3.3rem,6.6vw,6rem); }.page-hero-lead { max-width:430px; margin:0 0 5px; color:var(--muted); font-size:1.1rem; line-height:1.8; }.story-label { padding-top:8px; }.story-index,.service-row-number { color:var(--red); font:500 .72rem 'DM Mono',monospace; }.story-label p { margin-top:18px; color:var(--muted); font:500 .7rem 'DM Mono',monospace; letter-spacing:.1em; }.story-copy h2 { margin-bottom:30px; }.story-copy p { max-width:610px; color:var(--muted); }.story-copy p + p { margin-top:18px; }.mission-section { background:var(--white); padding-top:0; }.mission-grid { display:grid; grid-template-columns:1fr 1fr; }.mission-card { min-height:400px; padding:52px; background:#eee9e1; }.mission-card h2 { font-size:3rem; }.mission-card p:last-child { max-width:370px; color:var(--muted); }.mission-card-dark { background:var(--ink); color:white; }.mission-card-dark p:last-child { color:#b7c3d4; }.values-section { background:var(--white); padding-top:115px; }.value-list { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); }.value-list div { display:flex; align-items:center; gap:20px; min-height:76px; padding:0 20px 0 0; border-bottom:1px solid var(--line); }.value-list span { color:var(--red); font:500 .7rem 'DM Mono',monospace; }.value-list strong { font-size:1.05rem; }.policy-section { background:var(--red); color:white; }.policy-section .eyebrow { color:#ffc6c0; }.policy-grid { align-items:start; }.policy-section h2 { margin-bottom:0; }.policy-copy { max-width:500px; }.policy-quote { font-size:1.45rem; line-height:1.5; }.policy-copy p:last-child { color:#ffe0dd; }.services-hero { padding-bottom:92px; }.services-section { background:var(--white); }.service-list { border-top:1px solid var(--line); }.service-row { display:grid; grid-template-columns:70px 1fr 1.05fr; gap:40px; padding:34px 0; border-bottom:1px solid var(--line); }.service-row-number { padding-top:8px; }.service-row-title h3 { margin-bottom:10px; font-size:1.55rem; }.service-row-title span { color:var(--red); font:500 .68rem 'DM Mono',monospace; letter-spacing:.07em; text-transform:uppercase; }.service-row-copy p { margin-bottom:14px; color:var(--muted); }.service-row-copy ul { display:grid; gap:4px; margin:0; padding-left:18px; color:var(--muted); font-size:.88rem; }.service-row-copy li::marker { color:var(--red); }.service-row-featured { padding-right:24px; padding-left:24px; background:var(--paper); }.service-close { padding:106px 0; }
@media (max-width: 900px) { .container { width:min(calc(100% - 40px),var(--container)); }.nav-wrap { min-height:78px; }.brand img { width:230px; }.menu-toggle { display:block; }.site-nav { display:none; position:absolute; left:20px; right:20px; top:78px; padding:18px; background:var(--white); border:1px solid var(--line); box-shadow:0 15px 30px rgba(10,25,48,.12); }.site-nav.open { display:grid; gap:8px; }.site-nav > a:not(.nav-button),.nav-dropdown-link { padding:10px 0; }.nav-dropdown-toggle { width:34px; height:34px; }.nav-dropdown-menu { position:static; display:none; grid-template-columns:1fr; width:auto; padding:7px 0 0; border:0; box-shadow:none; opacity:1; visibility:visible; pointer-events:auto; transform:none; }.nav-dropdown-menu::before { display:none; }.nav-dropdown.open .nav-dropdown-menu { display:grid; }.dropdown-heading { padding:10px 12px; }.nav-dropdown-menu > a { min-height:42px; padding:9px 12px; }.nav-button { justify-content:center; margin-top:8px; }.hero-home { padding-top:56px; }.hero-grid,.page-hero-grid,.intro-grid,.story-grid,.policy-grid,.values-banner { grid-template-columns:1fr; gap:42px; }.hero-visual { min-height:400px; }.hero-meta { gap:12px; }.section { padding:84px 0; }.section-heading { align-items:start; flex-direction:column; gap:22px; margin-bottom:34px; }.service-cards { grid-template-columns:repeat(2,1fr); }.page-hero { padding:75px 0 80px; }.mission-grid { grid-template-columns:1fr; }.mission-card { min-height:auto; padding:38px; }.service-row { grid-template-columns:50px 1fr; gap:18px 25px; }.service-row-copy { grid-column:2; }.footer-top { flex-direction:column; }.footer-bottom { flex-wrap:wrap; gap:10px 22px; margin-top:38px; } }
@media (max-width: 540px) { body { font-size:15px; }.container { width:min(calc(100% - 32px),var(--container)); }.brand img { width:205px; }.hero-home { padding-top:45px; }.hero-grid { gap:30px; }.hero-visual { min-height:330px; }.visual-card { min-height:225px; width:75%; padding:22px; box-shadow:14px 16px 0 var(--red); }.visual-mark { width:58px; height:58px; font-size:1.25rem; }.visual-card p { font-size:.95rem; }.visual-note { font-size:.58rem; }.note-top { right:-4px; }.note-bottom { left:-4px; bottom:14px; }.hero-meta { grid-template-columns:1fr; padding-top:42px; gap:14px; }.hero-meta div { justify-content:space-between; }.hero-meta span { text-align:right; }.section { padding:70px 0; }.intro-section { padding-top:72px; }.service-cards { grid-template-columns:1fr; }.service-card { min-height:240px; }.service-card h3 { top:90px; }.page-hero h1,h1 { font-size:clamp(3rem,14vw,4.7rem); }.page-hero-lead { font-size:1rem; }.mission-card h2 { font-size:2.5rem; }.value-list { grid-template-columns:1fr; }.policy-quote { font-size:1.2rem; }.service-row { grid-template-columns:36px 1fr; gap:14px; padding:26px 0; }.service-row-title h3 { font-size:1.3rem; }.service-row-copy { grid-column:1 / -1; padding-left:50px; }.service-row-featured { padding-left:16px; padding-right:16px; }.footer-logo { width:225px; }.footer-bottom { font-size:.58rem; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; } }

.contact-section { background:var(--white); }.contact-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:90px; align-items:start; }.contact-intro { max-width:540px; }.contact-intro h2 { margin-bottom:26px; }.contact-intro p:not(.eyebrow) { max-width:460px; color:var(--muted); }.contact-intro .button { margin-top:12px; }.contact-address { display:grid; gap:12px; padding:34px; background:var(--paper); border-left:4px solid var(--red); font-style:normal; }.contact-label,.contact-card-type { color:var(--red); font:500 .68rem 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; }.contact-address strong { font-size:1.25rem; }.contact-address p { margin:0; color:var(--muted); line-height:1.85; }.contact-details-section { background:var(--paper); }.contact-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }.contact-card { min-height:190px; display:flex; flex-direction:column; justify-content:space-between; padding:24px; background:var(--white); border:1px solid var(--line); transition:transform .2s ease,background .2s ease; }.contact-card:hover { transform:translateY(-4px); background:#ebe6de; }.contact-card strong { font-size:1.05rem; line-height:1.35; overflow-wrap:anywhere; }.contact-card-action { color:var(--muted); font-size:.75rem; }.contact-card-action span { color:var(--red); }.contact-card-red { background:var(--red); color:white; border-color:var(--red); }.contact-card-red:hover { background:var(--red-deep); }.contact-card-red .contact-card-type,.contact-card-red .contact-card-action,.contact-card-red .contact-card-action span { color:#ffd3cf; }.contact-card-wide { grid-column:span 2; }.contact-close { padding:106px 0; }
@media (max-width: 900px) { .contact-layout { grid-template-columns:1fr; gap:42px; }.contact-cards { grid-template-columns:repeat(2,1fr); }.contact-card-wide { grid-column:span 2; } }
@media (max-width: 540px) { .contact-cards { grid-template-columns:1fr; }.contact-card-wide { grid-column:auto; }.contact-address { padding:26px; } }
