:root{--ink:#0a1721;--paper:#f3f1eb;--line:#d9d5ca;--accent:#f5bb32;--night:#071521;--cyan:#60d6f2;--shadow:0 30px 80px rgba(4,18,28,.18)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}
button,input,textarea{font:inherit}
a{color:inherit;text-decoration:none}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.75rem}
.topbar{position:relative;z-index:20;min-height:88px;padding:0 clamp(1.2rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;background:#fff}
.brand{display:flex;align-items:center}.brand img{display:block;width:165px;height:auto}
.topbar nav{display:flex;align-items:center;gap:1.5rem;font-size:.88rem;font-weight:700}
.nav-chat{border:0;background:none;color:var(--brand);font-weight:800;cursor:pointer}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:var(--accent);color:#111820;padding:1rem 1.35rem;font-weight:800;box-shadow:0 10px 30px rgba(245,187,50,.2);cursor:pointer;transition:transform .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(245,187,50,.3)}.button.small{padding:.75rem 1rem}
.hero{position:relative;min-height:760px;display:grid;align-items:center;padding:6rem clamp(1.2rem,8vw,8rem);overflow:hidden;background:radial-gradient(circle at 80% 30%,#173d50 0,transparent 34%),linear-gradient(135deg,#06131e,#0a2230 70%,#123948);color:#fff}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to right,#000,transparent)}
.hero-copy{position:relative;z-index:4;max-width:760px}
.eyebrow,.area{font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--brand)}.hero .eyebrow{color:#88e6f8}
.hero h1{font:800 clamp(3rem,6.4vw,6.3rem)/.98 Manrope;margin:.8rem 0 1.5rem;letter-spacing:-.06em;text-wrap:balance}
.hero-copy>p:not(.eyebrow){max-width:660px;color:#d9e7ec;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.65}
.actions{display:flex;gap:1.3rem;align-items:center;margin:2.2rem 0}.ghost{padding:1rem 0;border:0;border-bottom:1px solid #fff;background:none;color:#fff;font-weight:700;cursor:pointer}
.hero ul{display:flex;gap:2rem;list-style:none;margin:2.4rem 0 0;padding:1.5rem 0 0;border-top:1px solid #ffffff25}.hero li{display:grid;gap:.2rem}.hero li strong{font-family:Manrope}.hero li span{font-size:.78rem;color:#a8bdc6}
.hero-scene{position:absolute;z-index:2;top:9%;right:-8%;width:min(58vw,820px);aspect-ratio:1;perspective:1100px;transform-style:preserve-3d}
.hero-image{position:absolute;inset:12%;border-radius:48% 52% 42% 58%;background-size:cover;background-position:center;transform:rotateY(-17deg) rotateX(7deg) translateZ(0);box-shadow:-50px 60px 120px #000b,inset 0 0 0 1px #ffffff33;filter:saturate(.8) contrast(1.08)}
.hero-image:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,#60d6f238,transparent 40%,#f5bb3238)}
.orbit{position:absolute;border:1px solid #77d9ed55;border-radius:50%;transform:rotateX(68deg) rotateZ(-16deg)}.orbit-one{inset:1%;animation:orbit 18s linear infinite}.orbit-two{inset:19%;border-color:#f5bb3266;animation:orbit 13s linear reverse infinite}
.floating-card{position:absolute;display:grid;gap:.15rem;min-width:160px;padding:1rem 1.2rem;border:1px solid #ffffff35;border-radius:14px;background:#09202ed9;box-shadow:0 25px 45px #0008;backdrop-filter:blur(12px);animation:float 5s ease-in-out infinite}.floating-card strong{font:700 1.1rem Manrope}.floating-card span{font-size:.72rem;color:#a8c4cf}.card-one{top:17%;left:0}.card-two{right:4%;bottom:15%;animation-delay:-2.5s}
@keyframes orbit{to{transform:rotateX(68deg) rotateZ(344deg)}}@keyframes float{50%{transform:translateY(-14px) rotate(1deg)}}
.intro{padding:7rem clamp(1.2rem,7vw,7rem) 3rem;max-width:1160px}.intro h2,.request-catalog h2,.about h2,.access h2,.ai-search h2{font:800 clamp(2.2rem,4vw,4.3rem)/1.06 Manrope;margin:.8rem 0;letter-spacing:-.045em;text-wrap:balance}.intro>p:last-child,.request-catalog>div>p:last-child{max-width:760px;color:#52606b;font-size:1.12rem;line-height:1.7}
.offerings{padding:0 clamp(1.2rem,7vw,7rem) 7rem;display:grid;grid-template-columns:repeat(12,1fr);gap:1.4rem;perspective:1200px}.offering{grid-column:span 4;min-height:410px;overflow:hidden;border:1px solid #fff8;border-radius:18px;background:#fff;box-shadow:0 12px 40px rgba(9,25,35,.07);transform-style:preserve-3d;transition:transform .35s,box-shadow .35s}.offering:nth-child(5n+1),.offering:nth-child(5n+2){grid-column:span 6}.offering:hover{transform:translateY(-8px) rotateX(1.5deg) rotateY(-1deg);box-shadow:var(--shadow)}
.offering-image{height:220px;overflow:hidden}.offering img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.offering:hover img{transform:scale(1.045)}.offering-copy{padding:1.7rem}.offering h3{margin:.45rem 0;font:750 1.42rem Manrope}.offering-copy>p:not(.area){color:#56636c;line-height:1.6}.card-actions{display:flex;gap:1rem;margin-top:1.2rem;font-size:.85rem;font-weight:800}.card-actions>a:first-child{color:var(--brand)}.source{color:#6d767d}
.ai-search{margin:0 clamp(1.2rem,7vw,7rem) 7rem;padding:clamp(2rem,5vw,4.5rem);display:flex;align-items:end;justify-content:space-between;gap:2rem;border-radius:24px;background:radial-gradient(circle at 80%,#1b5064,#091a27 55%);color:#fff;box-shadow:var(--shadow)}.ai-search>div{max-width:800px}.ai-search h2{margin-bottom:1rem}.ai-search p:not(.eyebrow){color:#bed0d8;line-height:1.7;font-size:1.08rem}
.request-catalog{padding:7rem clamp(1.2rem,7vw,7rem);display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;background:#fff}.request-links{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.request-links a{position:relative;min-height:128px;padding:1.4rem;border-bottom:1px solid var(--line);transition:background .2s,transform .2s}.request-links a:nth-child(odd){border-right:1px solid var(--line)}.request-links a:hover{z-index:2;background:#f8f5ed;transform:scale(1.02)}.request-links span{display:block;padding-right:1.5rem;font-weight:800}.request-links small{display:block;margin-top:.5rem;color:#667079;line-height:1.4}.request-links b{position:absolute;right:1.2rem;top:1.2rem;color:var(--brand)}
.about{padding:8rem clamp(1.2rem,7vw,7rem);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw}.about-image{position:relative}.about-image:before{content:"";position:absolute;inset:10% -5% -5% 8%;z-index:-1;border-radius:22px;background:var(--accent);transform:rotate(4deg)}.about img{display:block;width:100%;min-height:520px;object-fit:cover;border-radius:22px;box-shadow:var(--shadow)}.about>div:last-child>p:not(.eyebrow){color:#52606b;line-height:1.75;font-size:1.08rem}.about dl{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.about dl div{border-top:2px solid var(--brand);padding-top:1rem}.about dt{font:800 1.15rem Manrope}.about dd{margin:.3rem 0;color:#68737b;font-size:.8rem}
.access{padding:7rem clamp(1.2rem,7vw,7rem);background:#0a1721;color:#fff}.access-heading{max-width:850px;margin-bottom:3rem}.access-heading>p:last-child{color:#a9bbc3}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.access-grid article{position:relative;overflow:hidden;min-height:330px;padding:2.5rem;border-radius:18px;background:#f1f0ea;color:var(--ink)}.access-grid article:after{content:"";position:absolute;right:-80px;bottom:-100px;width:280px;height:280px;border:1px solid #0b6b8d55;border-radius:50%;box-shadow:0 0 0 40px #0b6b8d16,0 0 0 80px #0b6b8d0c}.access-grid .staff{background:#103347;color:#fff}.access-grid article>span{color:var(--brand);font-weight:800}.access-grid h3{font:800 2rem Manrope;margin:1rem 0}.access-grid p{position:relative;z-index:1;max-width:500px;line-height:1.6}.access-grid .button{position:absolute;z-index:2;bottom:2.5rem}.button.light{background:#fff}
footer{padding:4rem clamp(1.2rem,7vw,7rem);display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:2rem;background:#050e15;color:#9baab1;font-size:.82rem}footer .inverse img{filter:brightness(0) invert(1)}footer div{display:grid;gap:.3rem}footer small{text-align:right}
.chat-launcher{position:fixed;z-index:50;right:1.4rem;bottom:1.4rem;padding:.9rem 1.15rem;border:1px solid #ffffff55;border-radius:999px;background:#0d3346;color:#fff;font-weight:800;box-shadow:0 18px 50px #0005;cursor:pointer}.chat-launcher span{color:var(--accent)}
.chat{position:fixed;z-index:60;right:1.4rem;bottom:1.4rem;width:min(420px,calc(100vw - 2rem));height:min(650px,calc(100vh - 2rem));display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;border:1px solid #ffffff44;border-radius:20px;background:#f8f7f2;box-shadow:0 30px 100px #0007;transform:translateY(30px) scale(.94);transform-origin:bottom right;opacity:0;pointer-events:none;transition:.25s}.chat.open{transform:none;opacity:1;pointer-events:auto}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.3rem;background:#092536;color:#fff}.chat-head small{color:#75d8ed;font-weight:800;letter-spacing:.14em}.chat-head h2{margin:.2rem 0 0;font:700 1.15rem Manrope}.chat-head button{border:0;background:none;color:#fff;font-size:1.8rem;cursor:pointer}.chat-messages{overflow:auto;padding:1.2rem;display:flex;flex-direction:column;gap:.8rem}.message{max-width:88%;padding:.8rem 1rem;border-radius:14px;font-size:.9rem;line-height:1.5;white-space:pre-wrap}.message.assistant{align-self:flex-start;background:#fff;box-shadow:0 5px 20px #10263312}.message.user{align-self:flex-end;background:#0d6381;color:#fff}.chat form{padding:1rem;border-top:1px solid var(--line);background:#fff}.chat form label{display:block;margin-bottom:.4rem;font-size:.72rem;font-weight:800}.chat form>div{display:flex;gap:.5rem}.chat textarea{width:100%;resize:none;border:1px solid var(--line);border-radius:9px;padding:.7rem}.chat textarea:focus{outline:2px solid var(--brand);outline-offset:1px}.chat form button{border:0;border-radius:8px;background:var(--accent);padding:0 .9rem;font-weight:800;cursor:pointer}.chat form button:disabled{opacity:.5}.chat form p{min-height:1rem;margin:.4rem 0 0;color:#a52b2b;font-size:.75rem}
@media(max-width:1000px){.hero{min-height:720px}.hero-scene{right:-26%;opacity:.55}.hero-copy{max-width:680px}.offering,.offering:nth-child(n){grid-column:span 6}.request-catalog{grid-template-columns:1fr}.about{grid-template-columns:1fr}.about-image{order:2}.topbar nav>a:not(.button){display:none}}
@media(max-width:680px){.topbar{min-height:72px}.topbar nav .nav-chat{display:none}.brand img{width:130px}.hero{min-height:auto;padding-top:6rem;padding-bottom:4rem}.hero-scene{top:8%;right:-60%;width:120vw}.hero h1{font-size:clamp(2.65rem,14vw,4rem)}.actions{align-items:flex-start;flex-direction:column}.hero ul{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.hero li:last-child{grid-column:span 2}.intro{padding-top:5rem}.offerings{padding-bottom:5rem}.offering,.offering:nth-child(n){grid-column:span 12}.ai-search{margin-bottom:4rem;align-items:flex-start;flex-direction:column}.request-catalog{padding-block:5rem}.request-links{grid-template-columns:1fr}.request-links a:nth-child(odd){border-right:0}.about{padding-block:5rem}.about img{min-height:350px}.about dl{grid-template-columns:1fr 1fr}.access{padding-block:5rem}.access-grid{grid-template-columns:1fr}.access-grid article{min-height:360px;padding:2rem}.access-grid .button{bottom:2rem}footer{grid-template-columns:1fr}footer small{text-align:left}.chat-launcher{right:.8rem;bottom:.8rem}.chat{right:.5rem;bottom:.5rem;width:calc(100vw - 1rem);height:calc(100vh - 1rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
