:root { --ice:#bfe9e7; --blue:#35b7ca; --orange:#ef8437; --ink:#071113; }
* { box-sizing:border-box; }
html,body { margin:0; width:100%; height:100%; overflow:hidden; background:#071113; }
body { color:#f7f4ec; font-family:var(--font-geist-mono),monospace; }
a { color:inherit; text-decoration:none; }
.card { width:100%; height:100svh; position:relative; overflow:hidden; background:#385e60; isolation:isolate; }
.atmosphere,.grain { position:absolute; inset:-12%; }
.atmosphere { background:linear-gradient(120deg,#7f7960 0%,#244d52 42%,#65adb0 100%); filter:saturate(.82); }
.field { position:absolute; border-radius:48%; filter:blur(62px); will-change:transform; }
.field-a { width:62vw; height:105vh; left:42%; top:-28%; background:linear-gradient(130deg,rgba(241,128,52,.92),rgba(177,98,56,.24) 50%,transparent 72%); transform:rotate(-12deg); animation:drift-a 16s ease-in-out infinite alternate; }
.field-b { width:52vw; height:130vh; left:20%; top:6%; background:linear-gradient(145deg,rgba(4,29,35,.92),rgba(1,15,19,.78) 42%,rgba(20,48,54,.08) 70%); transform:rotate(-38deg); animation:drift-b 19s ease-in-out infinite alternate; }
.field-c { width:48vw; height:96vh; right:-15%; bottom:-22%; background:radial-gradient(ellipse,#79d0d5 0%,rgba(42,163,177,.65) 35%,transparent 72%); animation:drift-c 14s ease-in-out infinite alternate; }
.grain { inset:0; opacity:.11; mix-blend-mode:soft-light; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.62'/%3E%3C/svg%3E"); }
.topbar { position:absolute; z-index:2; top:0; left:0; right:0; padding:18px 24px; display:flex; justify-content:space-between; align-items:flex-start; }
.logo { width:42px; height:42px; object-fit:contain; filter:invert(1); opacity:.92; }
.topbar p { margin:0; display:flex; align-items:center; gap:9px; color:rgba(255,255,255,.72); font-size:10px; text-transform:uppercase; letter-spacing:.17em; }
.topbar p i { width:6px; height:6px; border-radius:50%; background:var(--blue); box-shadow:0 0 12px var(--blue); }
.identity { position:absolute; z-index:2; left:32px; bottom:34px; max-width:680px; }
.place { width:max-content; margin:0 0 12px; padding:3px 7px 3px 0; border-top:1px solid rgba(255,255,255,.36); border-bottom:1px solid rgba(255,255,255,.2); color:rgba(255,255,255,.78); font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
h1 { margin:0 0 14px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(48px,6.7vw,98px); line-height:.8; letter-spacing:-.045em; font-weight:700; text-shadow:0 2px 24px rgba(0,0,0,.14); }
h1 em { display:inline-block; color:var(--ice); font-weight:400; letter-spacing:-.025em; }
.wordmark { width:200px; margin:0 0 10px; filter:invert(1); opacity:.94; }
.disciplines { margin:0 0 12px; color:rgba(255,255,255,.58); font-size:10px; text-transform:uppercase; letter-spacing:.18em; }
.email { display:inline-flex; gap:9px; padding-left:9px; border-left:1px solid rgba(53,183,202,.8); color:var(--ice); font-size:11px; letter-spacing:.13em; transition:color .2s,transform .2s; }
.email span { color:var(--blue); }
.email:hover { color:white; transform:translateX(3px); }
.seal { position:absolute; z-index:2; right:48px; bottom:44px; width:88px; height:88px; border:1px solid rgba(255,255,255,.24); border-radius:50%; display:grid; place-items:center; animation:spin 22s linear infinite; }
.seal::before,.seal::after { content:""; position:absolute; border-radius:50%; border:1px dashed rgba(255,255,255,.16); inset:7px; }
.seal::after { inset:19px; border-style:solid; border-color:rgba(53,183,202,.54); border-right-color:var(--orange); border-width:7px; }
.seal span { font:500 15px Georgia,serif; z-index:1; transform:rotate(-12deg); }
.seal i,.seal b { position:absolute; width:9px; height:1px; background:rgba(255,255,255,.7); }.seal i{left:-5px}.seal b{right:-5px}
.legal-nav { position:absolute; z-index:3; right:24px; top:49px; display:flex; gap:16px; color:rgba(255,255,255,.56); font:500 9px var(--font-geist-mono),monospace; letter-spacing:.14em; text-transform:uppercase; }
.legal-nav a{transition:color .2s}.legal-nav a:hover{color:white}
.legal-modal { width:100%; max-width:none; height:100%; max-height:none; margin:0; padding:0; border:0; background:rgba(3,12,14,.42); color:#f7f4ec; backdrop-filter:blur(15px); }
.legal-modal::backdrop { background:rgba(3,10,12,.3); }
.legal-panel { position:absolute; top:0; right:0; width:min(470px,100%); min-height:100%; padding:28px 34px 42px; background:rgba(7,20,23,.84); border-left:1px solid rgba(255,255,255,.15); box-shadow:-30px 0 80px rgba(0,0,0,.2); animation:panel-in .3s ease-out; }
.legal-head { display:flex; justify-content:space-between; align-items:center; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.62); font-size:9px; letter-spacing:.17em; text-transform:uppercase; }
.legal-head p { margin:0; }.legal-head button { padding:0; border:0; background:transparent; color:inherit; font:inherit; letter-spacing:inherit; text-transform:inherit; cursor:pointer; }.legal-head button:hover { color:white; }
.legal-copy { margin-top:16vh; }.legal-copy h2 { margin:0 0 32px; font:400 clamp(34px,4vw,54px)/.95 Georgia,'Times New Roman',serif; letter-spacing:-.035em; }.legal-copy address,.legal-copy p { margin:0 0 24px; color:rgba(255,255,255,.72); font:400 11px/1.8 var(--font-geist-mono),monospace; letter-spacing:.08em; font-style:normal; }.legal-copy a { color:var(--ice); border-bottom:1px solid rgba(53,183,202,.5); }.legal-copy strong { color:white; font-weight:500; }.legal-copy .pending { margin-top:52px; padding-top:15px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.4); text-transform:uppercase; font-size:9px; letter-spacing:.14em; }
@keyframes panel-in { from{transform:translateX(20px);opacity:0} }
@keyframes drift-a { to{transform:translate(-5vw,8vh) rotate(-4deg) scale(1.08)} }
@keyframes drift-b { to{transform:translate(7vw,-6vh) rotate(-30deg) scale(1.1)} }
@keyframes drift-c { to{transform:translate(-5vw,-7vh) scale(.92)} }
@keyframes spin { to{transform:rotate(360deg)} }
@media(max-width:700px){
  .topbar{padding:18px}.logo{width:36px;height:36px}.identity{left:20px;right:20px;bottom:28px}.place{font-size:8px;letter-spacing:.11em}.legal-nav{right:18px;top:47px;font-size:7px;gap:10px}.legal-panel{padding:24px 22px}.legal-copy{margin-top:12vh}
  h1{font-size:clamp(48px,15.5vw,72px);line-height:.84;margin-bottom:18px}.wordmark{width:168px}.disciplines{font-size:8px;letter-spacing:.12em;line-height:1.7;max-width:230px}.email{font-size:10px}.seal{right:19px;bottom:30px;width:64px;height:64px}.seal::after{inset:15px;border-width:5px}.field-a{width:100vw;left:35%}.field-b{width:90vw;left:-6%}.field-c{width:85vw}
}
@media(prefers-reduced-motion:reduce){.field,.seal{animation:none}}
