/* Rhea public site — the same engineering-dossier tokens as the investor
   artifacts, so the gate and the room read as one family with them. */
:root{
  --bg:#F3F6F6; --surface:#FDFEFE; --ink:#15232B; --muted:#566971;
  --line:#D8E1E3; --accent:#0B7E9E; --glow:#1FB2D8; --danger:#B4473F;
  --serif:'IBM Plex Serif',Georgia,'Times New Roman',serif;
  --sans:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'Courier New',monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0B1316; --surface:#101B20; --ink:#E4EDF0; --muted:#8CA1AA;
    --line:#223238; --accent:#41BBDC; --glow:#55D0F2; --danger:#E08A80; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0B1316; --surface:#101B20; --ink:#E4EDF0; --muted:#8CA1AA;
  --line:#223238; --accent:#41BBDC; --glow:#55D0F2; --danger:#E08A80; color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box;}
body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.65;}
a{color:var(--accent);}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}

.page{max-width:1040px; margin:0 auto; padding:40px 16px 56px; min-height:100vh; display:flex; flex-direction:column;}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink);}
.brand svg{width:44px; height:44px;}
.brand b{font-family:var(--serif); font-weight:500; font-size:24px;}

.eyebrow{font-family:var(--mono); font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin:0 0 14px; display:flex; align-items:center; gap:10px;}
.eyebrow .spark{width:9px; height:9px; border-radius:50%; background:var(--glow); box-shadow:0 0 10px var(--glow); flex:none;}
h1{font-family:var(--serif); font-weight:500; font-size:clamp(34px,6vw,54px); line-height:1.12; margin:0 0 22px; text-wrap:balance;}
h2{font-family:var(--serif); font-weight:500; font-size:clamp(22px,3.4vw,28px); line-height:1.25; margin:0 0 10px;}
.standfirst{font-size:19px; line-height:1.6; margin:0 0 16px; max-width:560px;}
.muted{color:var(--muted);}

/* gate */
.gate{flex:1; display:grid; grid-template-columns:1.15fr 1fr; gap:56px; align-items:center; padding-top:48px;}
.hero-mark{width:min(220px,48vw); height:auto; display:block; margin:0 0 28px -18px;}
.core-glow{animation:breathe 4.5s ease-in-out infinite;}
@keyframes breathe{0%,100%{opacity:.75;}50%{opacity:1;}}
@media (prefers-reduced-motion: reduce){.core-glow{animation:none;}}
.tagline{font-family:var(--serif); font-style:italic; font-size:20px; color:var(--muted); margin:24px 0 0;}

.card{background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:28px 26px;}
.card > p{margin:0 0 20px;}
form{display:flex; flex-direction:column; gap:14px;}
label{display:flex; flex-direction:column; gap:5px; font-family:var(--mono); font-size:11.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);}
label .opt{font-weight:400; text-transform:none; letter-spacing:0;}
input,select,textarea{font:inherit; font-family:var(--sans); font-size:16px; text-transform:none; letter-spacing:0; color:var(--ink); background:var(--bg); border:1px solid var(--line); border-radius:6px; padding:10px 12px; width:100%;}
textarea{min-height:88px; resize:vertical;}
input:focus,select:focus,textarea:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--glow) 25%, transparent);}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
button{font-family:var(--mono); font-size:13px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#fff; background:var(--accent); border:0; border-radius:6px; padding:13px 18px; cursor:pointer; margin-top:4px;}
:root[data-theme="dark"] button{color:#0B1316;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) button{color:#0B1316;}}
button:hover{filter:brightness(1.08);}
.fine{font-size:13px; color:var(--muted); margin:4px 0 0;}
.alert{display:none; font-size:14px; color:var(--danger); border-left:3px solid var(--danger); padding:4px 0 4px 12px; margin:0 0 4px;}
#invalid:target .alert{display:block;}

/* room */
.room{flex:1; padding-top:56px; max-width:760px;}
.docs{list-style:none; margin:36px 0 0; padding:0; display:flex; flex-direction:column; gap:16px;}
.docs a{display:block; text-decoration:none; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:22px 24px; transition:border-color .15s;}
.docs a:hover{border-color:var(--accent);}
.docs .kind{font-family:var(--mono); font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--accent);}
.docs h2{margin:6px 0 6px;}
.docs p{margin:0; color:var(--muted); font-size:15px;}

footer{margin-top:56px; padding-top:20px; border-top:1px solid var(--line); font-family:var(--mono); font-size:12px; color:var(--muted); display:flex; flex-wrap:wrap; gap:6px 18px;}

@media (max-width:820px){
  .gate{grid-template-columns:1fr; gap:36px; padding-top:28px;}
  .hero-mark{width:150px; margin-left:-12px;}
}
