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

:root{
 --red:#e21b23; --red-dark:#b80f16; --ink:#101114; --muted:#62666d;
 --line:#e7e8eb; --paper:#fbfbfa; --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.55}
a{color:inherit}
.nav{height:74px;position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.logo>span{font-size:31px;font-weight:900;letter-spacing:-.15em;color:var(--red)}
.logo b{font-size:12px;letter-spacing:.13em}.logo b span{color:var(--red)}
nav{display:flex;gap:23px}
nav a{text-decoration:none;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#555}
nav a:hover{color:var(--red)}
.lang{display:flex;align-items:center;gap:3px;white-space:nowrap}
.lang button{border:0;background:transparent;color:#555;cursor:pointer;font:700 10px Inter;padding:6px 7px}
.lang button.active{background:var(--red);color:#fff}
.hero{min-height:720px;padding:145px 8vw 95px;position:relative;overflow:hidden;background:var(--white);display:flex;align-items:center}
.hero:before,.hero:after{content:"";position:absolute;pointer-events:none}
.hero:before{width:56vw;height:90%;right:-15vw;top:4%;background:linear-gradient(135deg,transparent 0 29%,rgba(226,27,35,.10) 29.3% 34%,transparent 34.3% 43%,rgba(226,27,35,.85) 43.2% 45%,transparent 45.3% 57%,rgba(226,27,35,.12) 57.2% 65%,transparent 65.3%);transform:skewX(-13deg)}
.hero:after{width:25vw;height:80vh;right:15vw;top:8vh;border:1px solid rgba(226,27,35,.28);transform:skewX(-15deg) rotate(-5deg)}
.hero-inner{max-width:850px;position:relative;z-index:2}
.eyebrow{font-size:10px;letter-spacing:.3em;font-weight:800;color:#555}
.hero h1{font-size:clamp(48px,7vw,94px);line-height:.92;letter-spacing:-.06em;margin:22px 0 17px}
.hero h1 em,.section-title em{font-style:normal;color:var(--red)}
.hero h2{font-size:clamp(18px,2vw,27px);margin:0 0 14px;font-weight:600}
.hero-sub{font-size:14px;font-weight:700;color:#444}
.buttons{display:flex;gap:12px;margin-top:32px}
.btn{display:inline-block;padding:13px 20px;text-decoration:none;font-size:10px;letter-spacing:.12em;font-weight:800}
.btn.red{background:var(--red);color:#fff}
.btn.line{border:1px solid #202124;color:#202124}
.hero-index{position:absolute;right:5vw;bottom:30px;font-size:110px;font-weight:900;color:#f0f0f0}
.section{padding:110px 8vw;background:var(--paper)}
.section-title small{font-size:10px;color:var(--red);font-weight:800;letter-spacing:.2em}
.section-title h2{font-size:clamp(40px,5.2vw,74px);line-height:.98;letter-spacing:-.045em;margin:16px 0 42px}
.prose{max-width:820px;font-size:16px;color:#555}
.prose p{margin:0 0 23px}
.quote{border-left:3px solid var(--red);padding:13px 19px;color:#1b1c1f;font-size:18px;font-weight:650;margin-top:30px}
.dark{background:#f3f3f2;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd}
.grid4 article{background:#fff;padding:30px;min-height:225px;position:relative}
.grid4 article:before{content:"";position:absolute;left:0;top:0;width:42px;height:3px;background:var(--red)}
.grid4 article b{font-size:10px;color:var(--red);letter-spacing:.2em}
.grid4 h3{font-size:18px;margin:21px 0 9px}
.grid4 p{font-size:13px;color:#70747a}
.lower{margin-top:1px}
.research{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}
.research-main{font-size:16px;color:#555}
.pubs{border-left:1px solid #ddd}
.pubs div{padding:0 0 23px 28px;margin-bottom:23px;border-bottom:1px solid #e2e2e2}
.pubs span{display:block;color:var(--red);font-size:10px;font-weight:800;letter-spacing:.16em;margin-bottom:7px}
.pubs strong{font-size:14px}
.timeline{max-width:1000px;border-left:2px solid var(--red)}
.timeline div{display:grid;grid-template-columns:115px 1fr;padding:17px 20px;border-bottom:1px solid #ddd}
.timeline span{color:var(--red);font-weight:800;font-size:12px}
.timeline strong{font-size:15px}
.credential-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.credential-grid>div{background:#fff;border:1px solid #ddd;padding:27px}
.credential-grid small{font-size:10px;color:var(--red);letter-spacing:.2em;font-weight:800}
.credential-grid h3{font-size:28px;margin:14px 0 6px}
.credential-grid p{font-size:13px;color:#777}
.study-note{max-width:850px;margin-top:35px;padding:17px 20px;border-left:3px solid var(--red);background:#fff}
.study-note h3{margin:0 0 8px}.study-note p{margin:0;color:#777;font-size:13px}
.redband{min-height:36vh;background:var(--red);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}
.redband:before,.redband:after{content:"";position:absolute;height:2px;width:125%;background:rgba(255,255,255,.25);transform:rotate(-9deg)}
.redband:before{top:25%}.redband:after{bottom:25%}
.redband p{font-size:10px;letter-spacing:.3em;font-weight:800}
.redband h2{font-size:clamp(42px,6vw,88px);line-height:.92;margin:10px;position:relative;z-index:2}
.contact{padding:100px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#111;color:#fff;position:relative;overflow:hidden}
.contact:after{content:"";position:absolute;right:-8vw;bottom:-18vw;width:45vw;height:45vw;border:2px solid rgba(226,27,35,.55);transform:rotate(45deg)}
.contact small{color:#ff4c53;letter-spacing:.2em;font-weight:800}
.contact h2{font-size:clamp(50px,7vw,95px);line-height:.9;margin:14px 0}
.contact p{color:#aaa}
.contact-list{display:flex;flex-direction:column;gap:15px;justify-content:center;position:relative;z-index:2}
.contact-list a,.contact-list span{color:#eee;text-decoration:none;font-size:15px}
.contact-list .big{font-size:clamp(31px,4vw,53px);font-weight:800}
.contact-list b{color:#ff3139;font-size:25px}
footer{display:flex;justify-content:space-between;padding:24px 8vw;color:#777;background:#fff;font-size:9px;letter-spacing:.18em;border-top:1px solid var(--line)}

@media(max-width:1000px){
 nav{gap:12px}.grid4,.credential-grid{grid-template-columns:1fr 1fr}
 .research,.contact{grid-template-columns:1fr}
}
@media(max-width:720px){
 .nav{height:68px;padding:0 5vw}.logo b{font-size:10px}
 nav{display:none}
 .lang{margin-left:auto;margin-right:8px}
 .lang button{font-size:9px;padding:5px 4px}
 .hero{min-height:auto;padding:125px 7vw 70px;display:block}
 .hero:before{width:100vw;height:55%;right:-40vw;top:45%}.hero:after{display:none}
 .hero h1{font-size:clamp(44px,14vw,68px)}
 .hero-sub{line-height:1.8}
 .hero-index{display:none}
 .buttons{flex-direction:column;align-items:stretch;max-width:290px}
 .btn{text-align:center}
 .section{padding:78px 7vw}
 .section-title h2{margin-bottom:32px}
 .grid4,.credential-grid{grid-template-columns:1fr}
 .grid4 article{min-height:auto;padding:25px}
 .research{gap:38px}
 .pubs{border-left:0;border-top:1px solid #ddd;padding-top:25px}
 .timeline{border-left:2px solid var(--red)}
 .timeline div{grid-template-columns:72px 1fr;padding:15px 13px}
 .timeline strong{font-size:13px}
 .redband{min-height:290px}
 .contact{padding:78px 7vw}
 .contact-list .big{font-size:34px}
 footer{padding:20px 7vw;flex-direction:column;gap:8px}
}
@media(max-width:390px){
 .lang button{padding:4px 3px;font-size:8px}
 .logo>span{font-size:27px}
 .logo b{font-size:9px}
 .hero h1{font-size:43px}
}

.portal{position:relative;overflow:hidden;padding:105px 8vw;background:#111;color:#fff}
.portal:before{content:"";position:absolute;right:-10vw;top:-25vw;width:55vw;height:55vw;border:2px solid rgba(226,27,35,.7);transform:rotate(45deg)}
.portal-kicker{position:relative;z-index:2;color:#d8b15b;font-size:10px;letter-spacing:.3em;font-weight:800}
.portal h2{position:relative;z-index:2;font-size:clamp(44px,6vw,84px);line-height:.92;letter-spacing:-.045em;margin:15px 0}
.portal h2 em{font-style:normal;color:#d8b15b}.portal p{position:relative;z-index:2;color:#aaa}
.portal-btn{position:relative;z-index:2;display:inline-block;margin-top:18px;padding:13px 20px;border:1px solid #d8b15b;color:#fff;text-decoration:none;font-size:10px;letter-spacing:.14em;font-weight:800;transition:.25s}
.portal-btn:hover{background:#d8b15b;color:#111}
body:after{content:"";position:fixed;inset:0;background:#0b0b0b;transform:translateX(-105%);z-index:999;pointer-events:none}
body.portal-out:after{animation:portalSlide 1.5s ease-in-out forwards}
@keyframes portalSlide{0%{transform:translateX(-105%)}45%{transform:translateX(0)}100%{transform:translateX(105%)}}
