:root{
  --cyan:#8f2232;
  --blue:#5a1420;
  --lime:#b94050;
}
html,body{width:100%;max-width:100%;overflow-x:clip}
body{background:#050607}
main,section,.section-shell,.site-header,.project-grid,.about-grid,.hero{min-width:0;max-width:100%}
img,svg{max-width:100%;height:auto}
.cursor-glow{background:radial-gradient(circle,rgba(90,20,32,.18),rgba(143,34,50,.06) 42%,transparent 68%)}
.brand-mark{background:linear-gradient(135deg,#d9a3aa,#7b1d2b);color:#180609}
.gradient-text{background:linear-gradient(100deg,#fff 0%,#c9939b 48%,#7b1d2b 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn-primary{background:linear-gradient(135deg,#b85a68,#6f1826);color:#fff;box-shadow:0 8px 30px rgba(87,17,29,.18)}
.btn-primary:hover{background:linear-gradient(135deg,#c66a77,#821f2e)}
.terminal-card{border-color:rgba(123,29,43,.35);box-shadow:0 30px 100px rgba(0,0,0,.48),0 0 90px rgba(90,20,32,.18)}
.orbit{border-color:rgba(123,29,43,.18)}
.project-label,.ticker-track i,.scroll-cue span,.cyan{color:#a73747}
.status-dot,.lime{background:#9e2c3d;color:#b94050;box-shadow:0 0 16px rgba(158,44,61,.5)}
.route-line{background:linear-gradient(90deg,transparent,#842334,transparent)}
.route-dot{border-color:#9e2c3d;box-shadow:0 0 18px rgba(126,30,45,.45)}
.iso-box,.scan-frame,.identity-chip,.radar,.wireframe-center{border-color:rgba(123,29,43,.34)}
.scan-line{background:#9e2c3d;box-shadow:0 0 20px rgba(158,44,61,.68)}
.scan-grid{background-image:linear-gradient(rgba(123,29,43,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(123,29,43,.055) 1px,transparent 1px)}
.wireframe-window{border-color:rgba(99,23,35,.65);box-shadow:0 0 60px rgba(90,20,32,.18)}
.wireframe-top,.wireframe-side{background:linear-gradient(90deg,transparent,#7b1d2b,transparent)}
.indo-visual{background:radial-gradient(circle at 65% 35%,rgba(95,20,32,.24),transparent 31%),#08090b}
.rider-visual{background:radial-gradient(circle at center,rgba(100,23,36,.11),transparent 55%),#08090b}
.radar:before,.radar:after{background:rgba(123,29,43,.18)}
.radar-sweep{background:linear-gradient(35deg,rgba(123,29,43,.25),transparent 70%)}
.map-pin{background:#9e2c3d;box-shadow:0 0 15px rgba(158,44,61,.5)}
.contact-links a:hover{background:#681824;border-color:#681824;color:#fff}

/* Hero portrait */
.portrait-panel{isolation:isolate;overflow:visible}
.portrait-shell{position:relative;width:min(100%,430px);aspect-ratio:1/1.12;border:1px solid rgba(123,29,43,.38);border-radius:24px;overflow:hidden;background:#08090b;box-shadow:0 36px 90px rgba(0,0,0,.48),0 0 80px rgba(88,16,28,.16);z-index:2}
.hero-portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:center 34%}
.portrait-vignette{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(4,5,6,.76) 100%),linear-gradient(90deg,rgba(71,11,22,.14),transparent 28%);pointer-events:none}
.portrait-caption{position:absolute;left:20px;right:20px;bottom:18px;display:flex;justify-content:space-between;align-items:end;gap:18px;font-family:"DM Mono",monospace;z-index:3}
.portrait-caption span{font-size:12px;letter-spacing:.15em;color:#fff}
.portrait-caption small{font-size:8px;line-height:1.45;letter-spacing:.13em;color:#a98f94;text-align:right}
.portrait-corner{position:absolute;width:26px;height:26px;border-color:#8f2232;z-index:3;opacity:.9}
.corner-tl{top:14px;left:14px;border-top:1px solid;border-left:1px solid}.corner-tr{top:14px;right:14px;border-top:1px solid;border-right:1px solid}.corner-bl{bottom:14px;left:14px;border-bottom:1px solid;border-left:1px solid}.corner-br{bottom:14px;right:14px;border-bottom:1px solid;border-right:1px solid}
.portrait-panel .orbit{z-index:0}.portrait-panel .floating-node{z-index:4}

/* Venture / project branding */
.project-brand{position:absolute;left:24px;top:24px;z-index:5;display:flex;align-items:center;gap:12px;max-width:calc(100% - 48px);padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(7,8,10,.72);backdrop-filter:blur(10px);box-shadow:0 10px 40px rgba(0,0,0,.2)}
.project-logo{display:block;object-fit:contain;flex:0 0 auto}.project-logo-icon{width:38px;height:38px;border-radius:8px}.project-logo-icon.round{border-radius:50%}.project-logo-wide{width:36px;height:36px;border-radius:8px}
.project-brand strong{font-size:17px;letter-spacing:.06em;line-height:1;color:#f4f7fb}.project-brand strong span{color:#95293a}.brand-lockup strong{display:flex;flex-direction:column;gap:4px}.brand-lockup strong>span{font-family:"DM Mono",monospace;font-size:8px;letter-spacing:.18em;color:#8f99a6}.riders-lockup strong{font-size:15px}.riders-lockup strong span{font-size:9px;color:#aeb6c1}
.project-brand-indo strong{font-size:19px;letter-spacing:.04em}.project-brand-indo strong span{font-size:1.25em;color:#9f2638}
.identity-brand{gap:11px}.identity-glyph{width:40px;height:40px;border-radius:50%;border:1px solid #8f2232;display:grid;place-items:center;font-family:"DM Mono";font-size:10px;color:#b64b59;box-shadow:inset 0 0 16px rgba(123,29,43,.13)}.identity-wordmark{font-family:"DM Mono";font-size:10px;letter-spacing:.14em;color:#d7dce3}

/* Mobile containment and portrait layout */
@media (max-width:980px){
  .hero{overflow:clip}
  .hero-panel{width:100%;max-width:560px;justify-self:center}
  .portrait-shell{width:min(88vw,430px)}
  .orbit-a{width:min(108vw,430px);height:min(108vw,430px)}
  .orbit-b{width:min(125vw,560px)}
  .project-card,.project-visual,.project-copy,.section-heading>*{min-width:0}
}
@media (max-width:640px){
  html,body{overflow-x:hidden}
  .section-shell,.site-header{width:calc(100% - 28px);max-width:calc(100% - 28px)}
  .hero{width:calc(100% - 28px);max-width:calc(100% - 28px);padding-left:0;padding-right:0;overflow:hidden}
  .hero-copy,.hero-panel{width:100%;max-width:100%;min-width:0}
  .hero-panel{height:auto;min-height:390px;margin-top:4px}
  .portrait-shell{width:100%;max-width:100%;aspect-ratio:1/1.08;border-radius:18px}
  .portrait-caption{left:15px;right:15px;bottom:14px}.portrait-caption small{max-width:120px}
  .orbit{max-width:115vw}.orbit-a{width:96vw;height:96vw}.orbit-b{display:none}
  .floating-node{font-size:7px;padding:6px 7px}.node-a{right:2%;top:30px}.node-b{left:2%;bottom:42px}.node-c{left:3%;top:82px}
  .project-grid{width:100%;max-width:100%;overflow:hidden}.project-card{width:100%;max-width:100%;padding:14px}.project-visual{width:100%;max-width:100%}
  .project-meta{gap:8px}.project-meta span:first-child{max-width:78%;overflow-wrap:anywhere}
  .project-brand{left:14px;top:14px;max-width:calc(100% - 28px);padding:8px 9px}.project-brand strong{font-size:14px}.project-logo-icon,.project-logo-wide{width:31px;height:31px}
  .wireframe-window{inset:58px 52px}
  .contact-card{overflow:hidden}.contact-links a{overflow-wrap:anywhere}
  .ticker{max-width:100vw;overflow:hidden}
}
