:root { --red:#c8070b; --ink:#121416; --paper:#f4f1eb; --muted:#9b9b98; --line:rgba(255,255,255,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:#fff; font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { position:absolute; z-index:10; top:0; left:0; right:0; height:96px; padding:0 clamp(24px,5vw,76px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.1); }
.brand { display:flex; align-items:center; gap:14px; text-transform:uppercase; font-weight:700; font-size:12px; letter-spacing:.12em; }
.brand-mark { display:grid; place-items:center; width:40px; height:40px; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:var(--red); font-size:11px; letter-spacing:.03em; }
nav { display:flex; align-items:center; gap:34px; font-size:12px; text-transform:uppercase; letter-spacing:.14em; }
nav a { color:#c8c8c5; transition:color .2s; } nav a:hover { color:#fff; }
.nav-cta { border:1px solid rgba(255,255,255,.28); padding:13px 18px; color:#fff; }
.hero { min-height:790px; display:grid; grid-template-columns:1.05fr .95fr; overflow:hidden; background:radial-gradient(circle at 75% 50%,#26292b 0,#151719 48%,#0e1011 78%); }
.hero-copy { padding:185px 40px 70px clamp(28px,8vw,128px); position:relative; z-index:2; }
.eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 27px; color:#aaa; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.24em; }
.eyebrow span { width:28px; height:2px; background:var(--red); }
h1 { margin:0; font-size:clamp(58px,6.5vw,104px); line-height:.91; letter-spacing:-.055em; font-weight:800; text-transform:uppercase; }
h1 em { color:var(--red); font-style:normal; }
.hero-lead { max-width:590px; margin:34px 0 37px; color:#b9b9b6; font-family:Georgia,serif; font-size:18px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:34px; }
.button { display:inline-flex; align-items:center; gap:24px; padding:17px 21px; text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:700; }
.button-primary { background:var(--red); box-shadow:0 10px 40px rgba(200,7,11,.2); }
.button-primary span { font-size:18px; }
.text-link { color:#ddd; font-size:11px; text-transform:uppercase; letter-spacing:.13em; border-bottom:1px solid #777; padding:15px 0 9px; }
.text-link span { margin-left:9px; color:var(--red); }
.trust-row { display:flex; gap:28px; margin-top:72px; padding-top:22px; border-top:1px solid var(--line); color:#737575; text-transform:uppercase; letter-spacing:.1em; font-size:9px; }
.trust-row b { color:#c5c5c2; }
.hero-visual { position:relative; display:grid; place-items:center; min-width:0; padding-top:90px; }
.target-glow { position:absolute; width:720px; height:720px; border-radius:50%; background:radial-gradient(circle,rgba(200,7,11,.12),transparent 62%); filter:blur(20px); }
.logo-stage { width:min(89%,650px); aspect-ratio:1; position:relative; display:grid; place-items:center; }
.logo-stage::before,.logo-stage::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.06); border-radius:50%; animation:ringIn 1.4s ease both; }
.logo-stage::before { inset:8%; }.logo-stage::after { inset:20%; animation-delay:.12s; }
.logo-reveal { width:100%; position:relative; z-index:2; animation:logoIn 1.5s cubic-bezier(.2,.8,.2,1) both; filter:drop-shadow(0 26px 30px rgba(0,0,0,.4)); }
.logo-reveal img { display:block; width:100%; height:auto; }
.sweep { position:absolute; z-index:3; background:linear-gradient(90deg,transparent,var(--red),transparent); opacity:0; pointer-events:none; }
.sweep-h { width:100%; height:1px; animation:sweepH 1.2s .15s ease both; }.sweep-v { height:100%; width:1px; animation:sweepV 1.2s .3s ease both; }
.established { position:absolute; bottom:55px; margin:0; color:#777; font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.section { padding:110px clamp(28px,8vw,128px); }
.services { background:var(--paper); color:var(--ink); }
.section-heading { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:end; margin-bottom:64px; }
.section-heading .eyebrow { color:#777; }.section-heading h2 { margin:0; text-transform:uppercase; font-size:clamp(38px,4vw,62px); line-height:1; letter-spacing:-.04em; }
.section-heading>p { max-width:600px; color:#696967; line-height:1.8; font-family:Georgia,serif; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #d2cec7; border-bottom:1px solid #d2cec7; }
.service-card { padding:38px 38px 42px; border-right:1px solid #d2cec7; position:relative; transition:background .25s,transform .25s; }
.service-card:first-child { border-left:1px solid #d2cec7; }.service-card:hover { background:#fff; transform:translateY(-5px); }
.service-number { color:#aaa; font-size:10px; letter-spacing:.18em; }
.service-icon { width:62px; height:62px; margin:40px 0 29px; border:1px solid #c9c5be; border-radius:50%; display:grid; place-items:center; }
.service-icon span { width:24px; height:24px; border:2px solid var(--red); border-radius:50%; position:relative; }.service-icon span::before,.service-icon span::after { content:""; position:absolute; background:var(--red); }.service-icon span::before { width:32px; height:2px; left:-6px; top:9px; }.service-icon span::after { width:2px; height:32px; left:9px; top:-6px; }
.service-card h3 { margin:0 0 14px; font-size:20px; text-transform:uppercase; letter-spacing:-.02em; }.service-card p { min-height:75px; color:#74736f; font-family:Georgia,serif; font-size:14px; line-height:1.7; }
.service-card a { display:flex; justify-content:space-between; margin-top:25px; padding-top:18px; border-top:1px solid #dedad3; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }.service-card a span { color:var(--red); font-size:16px; }
.about { min-height:700px; display:grid; grid-template-columns:.75fr 1.25fr; align-items:center; gap:9vw; background:linear-gradient(120deg,#111315 0,#111315 38%,#191c1e 38%,#101214 100%); position:relative; overflow:hidden; }
.about::before { content:""; position:absolute; width:520px; height:520px; left:-120px; border:1px solid rgba(255,255,255,.08); border-radius:50%; box-shadow:0 0 0 88px rgba(255,255,255,.025),0 0 0 176px rgba(255,255,255,.018); }
.about-stat { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; }.about-stat strong { color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.22); font-size:190px; line-height:.8; }.about-stat span { color:#777; margin-top:38px; font-size:9px; letter-spacing:.25em; text-transform:uppercase; }
.about-copy { position:relative; z-index:1; max-width:760px; }.about-copy h2,.contact-copy h2 { margin:0; font-size:clamp(44px,4.7vw,74px); line-height:.98; letter-spacing:-.045em; text-transform:uppercase; }.about-copy h2 em,.contact-copy h2 em { color:var(--red); font-style:normal; }
.about-columns { display:grid; grid-template-columns:1fr 1fr; gap:38px; margin:38px 0; }.about-columns p { margin:0; color:#a8a9a7; font:15px/1.8 Georgia,serif; }
.outline-link { display:inline-flex; gap:55px; align-items:center; padding:16px 20px; border:1px solid #555; text-transform:uppercase; letter-spacing:.15em; font-size:10px; }.outline-link span { color:var(--red); font-size:16px; }
.testimonial-section { background:#ede9e2; color:var(--ink); text-align:center; min-height:620px; display:flex; flex-direction:column; align-items:center; }.testimonial-section .eyebrow { color:#777; }.quote-mark { color:var(--red); font:90px/1 Georgia,serif; height:60px; }
.testimonial-shell { max-width:900px; }.testimonial-shell blockquote { margin:12px 0 34px; font:italic clamp(25px,3vw,40px)/1.45 Georgia,serif; animation:quoteIn .5s ease both; }.testimonial-person { display:flex; justify-content:center; gap:14px; align-items:center; font-size:10px; text-transform:uppercase; letter-spacing:.16em; }.testimonial-person span { color:#898681; border-left:1px solid #bbb6ae; padding-left:14px; }
.testimonial-controls { margin-top:auto; display:flex; align-items:center; gap:30px; }.testimonial-controls>button { width:42px; height:42px; border:1px solid #c8c3ba; background:transparent; cursor:pointer; }.testimonial-controls>div { display:flex; gap:8px; }.testimonial-controls>div button { width:28px; height:2px; border:0; background:#bbb7af; cursor:pointer; padding:0; }.testimonial-controls>div button.active { background:var(--red); }
.partners { padding:50px clamp(28px,8vw,128px); background:#fff; color:var(--ink); text-align:center; }.partners>p { margin:0 0 34px; color:#9b9892; font-size:9px; letter-spacing:.2em; text-transform:uppercase; }.partner-list { display:grid; grid-template-columns:repeat(4,1fr); align-items:center; }.partner-list a { padding:18px; color:#72716e; font-size:14px; letter-spacing:.08em; border-right:1px solid #e1ded8; }.partner-list a:last-child { border:0; }.partner-list b { color:#252729; }
.contact { display:grid; grid-template-columns:.85fr 1.15fr; gap:9vw; background:#121416; }.contact-copy>p:not(.eyebrow) { max-width:520px; color:#a1a29f; font:15px/1.8 Georgia,serif; margin:30px 0 45px; }.contact-copy dl { margin:0; }.contact-copy dl div { display:grid; grid-template-columns:120px 1fr; gap:15px; padding:16px 0; border-top:1px solid var(--line); }.contact-copy dt { color:#777; font-size:9px; letter-spacing:.18em; text-transform:uppercase; }.contact-copy dd { margin:0; color:#dededb; font-size:13px; }
.contact-form { padding:48px; background:#f1eee8; color:var(--ink); box-shadow:0 28px 60px rgba(0,0,0,.3); }.contact-form label { display:block; margin-bottom:25px; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.16em; }.contact-form label>span { float:right; color:#999; font-weight:400; }.contact-form input,.contact-form textarea { display:block; width:100%; border:0; border-bottom:1px solid #bbb7af; background:transparent; padding:13px 0 12px; border-radius:0; color:#222; outline:none; font:14px Georgia,serif; resize:vertical; }.contact-form input:focus,.contact-form textarea:focus { border-color:var(--red); }.field-row { display:grid; grid-template-columns:1fr 1fr; gap:28px; }.human-check { display:flex; align-items:center; gap:13px; margin:5px 0 25px; padding:13px 15px; background:#e5e1da; }.human-check>span { display:grid; place-items:center; width:30px; height:30px; border:1px solid #aaa49b; color:var(--red); }.human-check p { margin:0; font-size:9px; text-transform:uppercase; letter-spacing:.1em; }.human-check small { display:block; margin-top:5px; color:#777; text-transform:none; letter-spacing:0; font:12px Georgia,serif; }.form-submit { border:0; cursor:pointer; width:100%; justify-content:space-between; }.success-message { min-height:500px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }.success-message>span { display:grid; place-items:center; width:55px; height:55px; border-radius:50%; border:1px solid var(--red); color:var(--red); font-size:24px; }.success-message h3 { margin:25px 0 12px; font-size:34px; text-transform:uppercase; }.success-message p { max-width:430px; color:#6d6b67; font:15px/1.7 Georgia,serif; }.success-message button { margin-top:15px; border:0; border-bottom:1px solid #555; background:none; padding:8px 0; cursor:pointer; text-transform:uppercase; letter-spacing:.12em; font-size:9px; }
.human-check label { flex:1; margin:0; }.human-check input { width:70px; flex:0 0 70px; text-align:center; font-size:18px; }.hp-field { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; }.form-errors { margin-bottom:24px; padding:14px 17px; border-left:3px solid var(--red); background:#e5e1da; font:13px/1.55 Georgia,serif; }.form-errors b { font-family:Arial,sans-serif; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }.form-errors ul { margin:8px 0 0; padding-left:18px; }.success-message a { margin-top:15px; border-bottom:1px solid #555; padding:8px 0; text-transform:uppercase; letter-spacing:.12em; font:9px Arial,sans-serif; }
footer { padding:34px clamp(28px,5vw,76px); display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; border-top:1px solid var(--line); color:#777; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }.footer-brand { display:flex; align-items:center; gap:12px; }.footer-brand>div { display:flex; flex-direction:column; gap:4px; }.footer-brand b { color:#ddd; font-size:10px; }.footer-brand small { color:#666; }.footer-brand .brand-mark { width:36px; height:36px; } footer>p { text-align:center; } footer>div:last-child { text-align:right; } footer a { color:#aaa; }
@keyframes quoteIn { from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)} }
@keyframes logoIn { from { opacity:0; transform:scale(.72) rotate(-5deg); filter:blur(10px) drop-shadow(0 26px 30px rgba(0,0,0,.4)); } to { opacity:1; transform:scale(1) rotate(0); filter:blur(0) drop-shadow(0 26px 30px rgba(0,0,0,.4)); } }
@keyframes ringIn { from { opacity:0; transform:scale(.75); } to { opacity:1; transform:scale(1); } }
@keyframes sweepH { 0%{opacity:0;transform:translateY(-250px)} 20%{opacity:.9} 100%{opacity:0;transform:translateY(250px)} }
@keyframes sweepV { 0%{opacity:0;transform:translateX(-250px)} 20%{opacity:.7} 100%{opacity:0;transform:translateX(250px)} }
@media (max-width:900px){ nav>a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr}.hero-copy{padding-bottom:30px}.hero-visual{min-height:560px;padding-top:0}.section-heading{grid-template-columns:1fr;gap:20px}.service-grid{grid-template-columns:1fr}.service-card,.service-card:first-child{border-left:1px solid #d2cec7;border-bottom:1px solid #d2cec7}.trust-row{flex-wrap:wrap}.established{bottom:20px}.about,.contact{grid-template-columns:1fr}.about-stat{display:none}.about-columns{max-width:720px}.partner-list{grid-template-columns:1fr 1fr}.partner-list a:nth-child(2){border:0}.contact{gap:60px} }
@media (max-width:560px){.site-header{height:76px}.brand span:last-child{display:none}.hero-copy{padding-top:130px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.hero-visual{min-height:420px}.trust-row{margin-top:45px;gap:15px}.section{padding-top:80px;padding-bottom:80px}h1{font-size:53px}.about-columns,.field-row{grid-template-columns:1fr;gap:0}.partner-list{grid-template-columns:1fr}.partner-list a{border-right:0;border-bottom:1px solid #e1ded8}.contact-form{padding:30px 22px}.contact-copy dl div{grid-template-columns:95px 1fr}footer{grid-template-columns:1fr;text-align:center;gap:25px}.footer-brand{justify-content:center}footer>div:last-child{text-align:center}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.logo-reveal,.logo-stage::before,.logo-stage::after,.sweep{animation:none!important}.sweep{display:none}}
