:root { --ink:#171515; --paper:#f4f1ec; --red:#921b1b; --line:rgba(23,21,21,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-geist-sans),Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:92px; padding:0 clamp(24px,5vw,80px); display:flex; align-items:center; justify-content:space-between; background:rgba(244,241,236,.94); border-bottom:1px solid var(--line); position:relative; z-index:5; }
.brand { display:flex; align-items:center; gap:17px; }
.brand img { width:64px; height:55px; object-fit:cover; object-position:top; }
.brand-divider { height:31px; width:1px; background:var(--line); }
.brand-area { font-size:14px; font-weight:650; letter-spacing:.13em; text-transform:uppercase; }
.academy-link { font-size:13px; font-weight:650; border-bottom:1px solid var(--ink); padding:10px 0 8px; transition:color .2s,border-color .2s; }
.academy-link span { color:var(--red); margin-left:8px; }
.academy-link:hover { color:var(--red); border-color:var(--red); }
.hero { min-height:690px; position:relative; overflow:hidden; background:var(--paper); display:grid; grid-template-columns:minmax(0,1fr) 230px; align-items:center; padding:90px clamp(24px,8vw,130px); isolation:isolate; }
.hero::after { content:''; position:absolute; inset:0 0 0 auto; width:34%; background:var(--red); z-index:-3; }
.hero-grid { position:absolute; inset:0 34% 0 0; opacity:.48; z-index:-2; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to right,transparent,#000 45%,#000); }
.orb { position:absolute; border-radius:999px; z-index:-1; }
.orb-one { width:440px; height:440px; right:calc(34% - 220px); top:110px; border:1px solid rgba(255,255,255,.28); box-shadow:inset 0 0 0 80px rgba(255,255,255,.055),inset 0 0 0 160px rgba(255,255,255,.04); }
.orb-two { width:90px; height:90px; right:11%; top:110px; background:rgba(28,4,4,.18); border:1px solid rgba(255,255,255,.18); }
.hero-copy { max-width:830px; }
.eyebrow { display:flex; align-items:center; gap:11px; margin:0 0 30px; font-size:11px; font-weight:700; letter-spacing:.19em; text-transform:uppercase; color:var(--red); }
.eyebrow span { width:25px; height:1px; background:currentColor; }
.hero h1 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(55px,7vw,104px); line-height:.92; letter-spacing:-.05em; font-weight:400; }
.hero h1 em { color:var(--red); font-weight:400; }
.intro { max-width:670px; margin:35px 0 33px; font-size:clamp(17px,1.35vw,20px); line-height:1.65; color:#585252; }
.primary-cta { display:inline-flex; gap:26px; align-items:center; background:var(--ink); color:white; padding:17px 21px; font-size:13px; font-weight:650; transition:background .2s,transform .2s; }
.primary-cta:hover { background:var(--red); transform:translateY(-2px); }
.hero-mark { color:white; align-self:end; justify-self:end; width:145px; margin-bottom:20px; }
.mark-number { display:block; font:52px/1 Georgia,serif; opacity:.9; }
.mark-line { display:block; width:100%; height:1px; background:rgba(255,255,255,.45); margin:18px 0; }
.mark-label { display:block; font-size:11px; line-height:1.6; letter-spacing:.16em; text-transform:uppercase; }
.research { padding:100px clamp(24px,8vw,130px) 120px; background:#fff; }
.section-heading { display:grid; grid-template-columns:1fr 430px; gap:50px; align-items:end; margin-bottom:52px; }
.eyebrow.dark { color:#6b6363; margin-bottom:20px; }
.section-heading h2 { margin:0; font:400 clamp(40px,5vw,66px)/1 Georgia,serif; letter-spacing:-.04em; }
.section-heading>p { margin:0; color:#6b6363; font-size:16px; line-height:1.65; }
.cards { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.research-card { min-height:520px; padding:32px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; position:relative; overflow:hidden; transition:color .3s,background .3s; }
.card-top { display:flex; align-items:center; justify-content:space-between; }
.card-index { font:24px Georgia,serif; color:#918989; }
.status { border:1px solid var(--line); border-radius:99px; padding:8px 11px; font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#888181; }
.status.open { color:var(--red); border-color:rgba(146,27,27,.35); }
.card-symbol { width:150px; height:150px; position:absolute; right:30px; top:112px; }
.symbol-vulnerability i { position:absolute; border:1px solid #c7c1bb; border-radius:50%; }
.symbol-vulnerability i:nth-child(1) { inset:0; }.symbol-vulnerability i:nth-child(2) { inset:23px; }.symbol-vulnerability i:nth-child(3) { inset:52px; background:#d8d2cc; border:0; }
.symbol-care { transform:rotate(45deg); }
.symbol-care i { position:absolute; width:70px; height:70px; background:rgba(146,27,27,.1); border:1px solid rgba(146,27,27,.32); }
.symbol-care i:nth-child(2) { right:0; }.symbol-care i:nth-child(3) { bottom:0; }.symbol-care i:nth-child(4) { bottom:0; right:0; }
.card-content { margin-top:auto; max-width:80%; }
.card-content h3 { margin:0 0 20px; font:400 clamp(34px,4vw,54px)/1 Georgia,serif; letter-spacing:-.04em; }
.card-content p { margin:0; color:#746d6d; line-height:1.65; font-size:15px; }
.card-footer { margin-top:34px; padding-top:19px; border-top:1px solid var(--line); display:flex; justify-content:space-between; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.card-footer.muted { color:#a39c96; }
.is-active:hover { background:var(--red); color:white; }
.is-active:hover .card-content p,.is-active:hover .card-index,.is-active:hover .status { color:rgba(255,255,255,.75); }
.is-active:hover .status,.is-active:hover .card-footer { border-color:rgba(255,255,255,.3); }
.is-active:hover .symbol-care i { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.55); }
footer { min-height:150px; background:var(--ink); color:white; padding:36px clamp(24px,5vw,80px); display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:20px; }
.footer-brand img { width:64px; height:63px; object-fit:cover; object-position:top; filter:brightness(0) invert(1); opacity:.94; }
footer p { margin:0; text-align:center; font:italic 17px Georgia,serif; color:#d8d1cc; }
footer .copyright { text-align:right; font:11px var(--font-geist-sans),sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#8f8985; }
@media(max-width:820px){.site-header{height:78px}.brand img{width:52px;height:47px}.brand-area{font-size:11px}.academy-link{font-size:0}.academy-link::before{content:'Academia SORGE';font-size:11px}.academy-link span{font-size:13px}.hero{min-height:650px;grid-template-columns:1fr;padding-top:80px;padding-bottom:80px}.hero::after{width:11px}.hero-grid{right:11px}.orb-one{opacity:.13;right:-210px}.orb-two,.hero-mark{display:none}.hero h1{font-size:clamp(52px,15vw,78px)}.section-heading{grid-template-columns:1fr;gap:22px}.cards{grid-template-columns:1fr}.research-card{min-height:480px}footer{grid-template-columns:auto 1fr}footer>p:not(.copyright){display:none}}
@media(max-width:500px){.brand-divider,.brand-area{display:none}.hero{padding-left:24px;padding-right:34px}.hero h1{font-size:50px}.intro{font-size:16px}.primary-cta{width:100%;justify-content:space-between}.research{padding-top:75px;padding-bottom:80px}.research-card{min-height:470px;padding:25px}.card-symbol{width:116px;height:116px;top:105px}.card-content{max-width:100%}footer{min-height:120px}footer .copyright{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
