/* Shared approved landing, scoped so each portal retains its own runtime shell. */
#landing{--oc-bg:#0c0e10;--oc-panel:#131619;--oc-raised:#1a1e22;--oc-text:#f4f5f4;--oc-muted:#a1a8ae;--oc-line:#2b3035;--oc-accent:#ee806c;--oc-on-accent:#17110e;--oc-good:#9fceb8;--oc-sans:"DM Sans",Arial,sans-serif;--oc-mono:"IBM Plex Mono",monospace;--oc-serif:"Book Antiqua",Palatino,Georgia,serif;--oc-radius:12px;font-family:var(--oc-sans);font-size:15px;line-height:1.55;color:var(--oc-text)}
#landing button{font-family:var(--oc-sans);cursor:pointer}
#landing button:focus-visible{outline:2px solid var(--oc-accent);outline-offset:4px}
#landing .oc-brand{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:20px;letter-spacing:-.6px;font-weight:700;color:var(--oc-text)}
#landing .oc-brand small{font:400 10px var(--oc-mono);color:var(--oc-muted);border-left:1px solid var(--oc-line);padding-left:12px;margin-left:4px;letter-spacing:0}
#landing .oc-capi{display:inline-block;flex-shrink:0;width:50px;height:50px;object-fit:contain}
#landing .oc-header-links{display:flex;align-items:center;gap:25px}
#landing .oc-link{display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:0;color:var(--oc-muted);font-size:13px;text-decoration:none;line-height:1.5}
#landing .oc-link:hover{color:var(--oc-text)}
#landing .oc-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 19px;min-height:44px;border:1px solid var(--oc-line);border-radius:7px;background:var(--oc-panel);color:var(--oc-text);font-size:13px;font-weight:600;text-decoration:none;line-height:1.5;white-space:nowrap;transition:background .15s,border-color .15s}
#landing .oc-button:hover{background:var(--oc-raised);border-color:#50575e}
#landing .oc-button.oc-primary{color:var(--oc-on-accent);background:var(--oc-accent);border-color:var(--oc-accent)}
#landing .oc-button.oc-primary:hover{background:#f29483;border-color:#f29483}
#landing .oc-button span[aria-hidden],#landing .oc-link span[aria-hidden]{font-size:18px;line-height:1}
#landing .oc-eyebrow{font:400 11px/1.5 var(--oc-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--oc-muted)}
#landing .oc-accent{color:var(--oc-accent)}
#landing .oc-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#landing .oc-wordmark{font-family:Georgia,serif;font-weight:700;letter-spacing:.2em;color:#fff;font-size:13px}
#landing .oc-footer{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:22px max(32px,calc((100vw - 1480px)/2));border-top:1px solid var(--oc-line);font:400 11px/1.5 var(--oc-mono);color:var(--oc-muted)}
#landing{background:var(--oc-bg);min-height:100vh;isolation:isolate}
#landing .l-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px max(32px,calc((100vw - 1480px)/2));border-bottom:1px solid var(--oc-line)}
#landing .l-main{width:100%;margin:0 auto;flex:1}
#landing .l-hero{position:relative;isolation:isolate;text-align:center;padding:38px 35px 48px;overflow:hidden}
#landing .l-hero:before{content:'';position:absolute;inset:0 0 15%;z-index:-1;opacity:.17;background:radial-gradient(circle,var(--oc-accent) .7px,transparent 1px);background-size:18px 18px;mask-image:radial-gradient(ellipse at 50% 30%,black,transparent 62%);pointer-events:none}
#landing .oc-mascot-stage{height:148px;display:grid;place-items:center;position:relative;max-width:500px;margin:0 auto 22px;isolation:isolate}
#landing .oc-mascot-stage:before,#landing .oc-mascot-stage:after{content:'';position:absolute;width:64%;height:72px;border:1px solid var(--oc-line);border-radius:50%;transform:rotate(-9deg);z-index:-1}
#landing .oc-mascot-stage:after{width:92%;height:98px;transform:rotate(7deg);opacity:.5}
#landing .oc-mascot-stage .oc-capi{width:156px;height:156px;filter:drop-shadow(0 12px 20px #0003)}
#landing .l-hero h1{max-width:890px;margin:18px auto 24px;font-size:clamp(38px,5.1vw,68px);line-height:1.075;letter-spacing:-2.7px;font-weight:600;color:var(--oc-text)}
#landing .l-hero h1 em{font-family:var(--oc-serif);font-weight:400;color:var(--oc-accent);font-style:italic}
#landing .l-hero-description{max-width:680px;font-size:15px;line-height:1.85;margin:0 auto;color:var(--oc-muted)}
#landing .l-hero .oc-actions{justify-content:center;margin:27px 0 20px}
#landing .l-hero-note{font:400 11px/1.7 var(--oc-mono);color:var(--oc-muted);margin:0}
#landing .l-hero-note span{color:var(--oc-good)}
#landing .oc-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:100%;max-width:1544px;margin-inline:auto;padding:0 32px 38px}
#landing .oc-entry{position:relative;background:var(--oc-panel);border:1px solid var(--oc-line);border-radius:var(--oc-radius);padding:27px 28px;text-align:left}
#landing .oc-entry h2{font-size:23px;line-height:1.3;font-weight:500;letter-spacing:-.6px;margin:13px 0 10px;color:var(--oc-text)}
#landing .oc-entry p{font-size:13px;color:var(--oc-muted);max-width:420px;line-height:1.75;margin:0}
#landing .oc-entry .oc-link{color:var(--oc-text);margin-top:21px;font-size:13px;min-height:28px}
#landing .oc-entry-arrow{position:absolute;right:25px;top:22px;color:var(--oc-accent);font-size:22px}
@media(min-width:1450px){#landing .l-hero{padding-top:52px;padding-bottom:55px}#landing .oc-mascot-stage{margin-bottom:26px}}
@media(min-width:1600px){#landing .l-hero h1{max-width:1120px;font-size:clamp(68px,4.3vw,84px)}#landing .l-hero-description{max-width:760px;font-size:17px}}
@media(max-width:900px){#landing .oc-header-links{gap:15px}#landing .oc-entry h2{font-size:21px}}
@media(max-width:700px){
  #landing .l-nav{padding:18px 22px;gap:14px}#landing .oc-brand{font-size:18px}#landing .oc-brand small{display:none}#landing .oc-nav-community{display:none}#landing .oc-header-links{gap:10px}#landing .oc-header-links>.oc-button{padding:9px 12px;font-size:12px}
  #landing .l-hero{padding:28px 22px 35px}#landing .l-hero h1{font-size:43px;letter-spacing:-1.8px}#landing .l-hero-description{font-size:14px}#landing .oc-mascot-stage{margin-bottom:17px;height:124px}#landing .oc-mascot-stage .oc-capi{width:132px;height:132px}#landing .oc-eyebrow{font-size:10px}
  #landing .oc-entry-grid{padding:0 22px 27px;gap:14px}#landing .oc-entry{padding:22px}#landing .oc-entry h2{font-size:20px}#landing .oc-entry p,#landing .oc-entry .oc-link{font-size:12px}#landing .oc-entry-arrow{right:20px;top:18px}#landing .oc-entry .oc-eyebrow{max-width:80%}#landing .oc-footer{padding:20px 24px;font-size:10px;gap:15px}
}
@media(max-width:520px){
  #landing .oc-brand{font-size:16px;gap:5px}#landing .oc-capi{width:42px;height:42px}#landing .l-nav{padding:15px 18px}#landing .l-nav .oc-button{font-size:11px;padding:9px 11px}#landing .l-hero h1{font-size:34px;letter-spacing:-1.25px}#landing .l-hero-description{font-size:13px}#landing .l-hero-note{font-size:10px}#landing .l-hero .oc-eyebrow{font-size:9px}#landing .l-hero .oc-actions{gap:9px}#landing .l-hero .oc-button{font-size:12px;padding:11px 13px}#landing .oc-entry-grid{grid-template-columns:1fr;padding:0 18px 25px}#landing .oc-entry h2{font-size:22px}#landing .oc-entry p,#landing .oc-entry .oc-link{font-size:13px}#landing .oc-footer>span:not(.oc-wordmark){font-size:9px}
}
@media(max-width:360px){#landing .l-hero h1{font-size:30px}#landing .l-hero .oc-button{font-size:11px;padding:10px 12px}}
@media(pointer:coarse){#landing .oc-link{min-height:44px}}
@media(prefers-reduced-motion:reduce){#landing .oc-button{transition:none}}
