/* RW-03: Shared Midnight Coast design tokens and RW-04 public page system. */
:root{--ast-surface:#100c20;--ast-surface-2:#1e152f;--ast-surface-3:#271b39;--ast-text:#f5efff;--ast-muted:#d7cadd;--ast-border:rgba(211,158,246,.32);--ast-cyan:#87eaf4;--ast-violet:#b28cff;--ast-pink:#f7a4ed;--ast-sunset:#feb987;--ast-radius:22px}
html{scroll-padding-top:100px}body{overflow-x:clip}body a,body button{ -webkit-tap-highlight-color:transparent }a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #8ceef8!important;outline-offset:4px!important}button,input,textarea,select{font:inherit}img,video{max-width:100%} .desktop-nav .ast-menu-items{display:flex;align-items:center;flex-wrap:wrap;gap:15px;list-style:none;margin:0;padding:0}.desktop-nav .ast-menu-items li,.mobile-nav .ast-menu-items li{list-style:none}.mobile-nav .ast-menu-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.mobile-nav .ast-menu-items a{display:block}.ast-pub-page{background:radial-gradient(ellipse 60% 50% at 86% 16%,#3c235e90,transparent),linear-gradient(#100b21,#0b0b1c 65%,#120d22);color:var(--ast-text);min-height:72vh;padding-bottom:100px}.ast-pub-page .wrap{width:min(calc(100% - 38px),1220px);margin:0 auto}.ast-pub-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(100px,12vw,162px) 0 clamp(50px,8vw,95px);background:radial-gradient(ellipse 49% 78% at 90% 12%,rgba(237,107,190,.2),transparent),radial-gradient(ellipse 46% 65% at 48% 32%,rgba(73,97,237,.16),transparent),linear-gradient(130deg,#131127,#26132e 55%,#110d24)}.ast-pub-star{position:absolute;width:370px;height:370px;right:8%;top:14%;border:1px solid #e3adff5a;border-radius:50%;box-shadow:inset 0 0 90px #c269dd2b,0 0 170px #8748c449;pointer-events:none;opacity:.8;transform:rotate(-20deg)}.ast-pub-star:before,.ast-pub-star:after{content:"";position:absolute;inset:55px;border:1px dashed #ffafdc5a;border-radius:50%}.ast-pub-star:after{inset:110px;border-color:#90e4fa93;border-style:solid}.ast-pub-hero .wrap{position:relative;z-index:2}.ast-pub-kicker{color:#ffc49b;font-weight:750;font-size:12px;letter-spacing:.19em;text-transform:uppercase;margin:0 0 21px}.ast-pub-hero h1{font-size:clamp(3.25rem,7.5vw,6.6rem);max-width:900px;line-height:1.04;letter-spacing:-.055em;color:#fff;font-weight:800;margin:0 0 26px}.ast-pub-lead{font-size:clamp(1.08rem,1.8vw,1.35rem);color:#ddcfe5;line-height:1.75;max-width:710px}.ast-pub-section{padding-top:80px;padding-bottom:50px}.ast-pub-section>h2,.ast-pub-prose>h2{font-size:clamp(2rem,3.2vw,3.2rem);letter-spacing:-.036em;color:#fff;line-height:1.12;margin:0 0 20px}.ast-pub-section-lead{color:#cfc0dc;font-size:18px;line-height:1.7;max-width:800px}.ast-pub-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}.ast-pub-link-card{border:1px solid var(--ast-border);background:linear-gradient(155deg,#30203c,#1b1631);border-radius:17px;display:flex;flex-direction:column;padding:26px 28px;gap:14px;text-decoration:none;min-height:176px;transition:transform .25s,border-color .25s,box-shadow .25s}.ast-pub-link-card strong{font-size:22px;color:#fff}.ast-pub-link-card>span{color:#d3c5de;line-height:1.65}.ast-pub-link-card small{margin-top:auto;color:var(--ast-cyan);font-size:13px;font-weight:750}.ast-pub-link-card:hover{transform:translateY(-4px);border-color:#e4a6ef;box-shadow:0 22px 45px #0004}.ast-pub-columns{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(30px,5vw,80px);padding-top:70px;align-items:start}.ast-pub-prose{min-width:0}.ast-pub-prose>p{line-height:1.8;color:#dfd2e8;font-size:17px}.ast-pub-aside{background:linear-gradient(145deg,#2a1e3b,#171529);border:1px solid var(--ast-border);border-radius:20px;padding:28px;position:sticky;top:120px}.ast-pub-aside h2{font-size:23px;color:#fff;margin:0 0 17px}.ast-pub-aside h3{font-size:17px;color:#fff}.ast-pub-aside p{font-size:15px;line-height:1.75;color:#cbbdd6}.ast-pub-aside>.ast-pub-link-card{min-height:0;padding:15px 17px;margin:13px 0;background:#332341}.ast-pub-aside .ast-pub-link-card strong{font-size:17px}.ast-pub-aside .ast-pub-link-card>span{font-size:13px}.ast-pub-aside>a:not(.ast-pub-link-card){display:block;padding:12px 0;color:var(--ast-cyan)}.ast-pub-aside-note{border-top:1px solid #82659065;margin-top:30px;padding-top:18px}.ast-pub-faq-group{margin:0 0 46px}.ast-pub-faq-group h2{color:#ffcfa9;font-size:17px;text-transform:uppercase;letter-spacing:.13em;margin:0 0 16px}.ast-pub-faq{background:#211831;border:1px solid #865f976e;border-radius:14px;margin:11px 0;overflow:hidden}.ast-pub-faq summary{cursor:pointer;list-style:none;padding:20px 54px 20px 23px;position:relative;color:#fff;font-weight:680;font-size:18px}.ast-pub-faq summary::-webkit-details-marker{display:none}.ast-pub-faq summary:after{content:"+";position:absolute;right:22px;top:16px;font-size:24px;color:#ffb8e9}.ast-pub-faq[open] summary:after{content:"−"}.ast-pub-faq[open]{border-color:#d78fea;background:#2b1d3f}.ast-pub-faq>div{padding:0 23px 20px}.ast-pub-faq p{line-height:1.78;color:#ddcfe7;font-size:16px;margin:0}.ast-pub-editor{padding:25px 0 35px;margin:0 0 30px}.ast-pub-steps{display:grid;gap:13px;margin:30px 0}.ast-pub-steps article{display:flex;gap:24px;padding:27px 26px;background:linear-gradient(100deg,#261934,#181428);border:1px solid var(--ast-border);border-radius:16px}.ast-pub-steps article>span{color:#f9b7e7;font-size:22px;font-weight:800;flex-shrink:0}.ast-pub-steps h3{margin:0 0 8px;color:#fff;font-size:21px}.ast-pub-steps p{color:#d5c8e0;line-height:1.7;font-size:15px;margin:0}.ast-pub-contact-form{display:grid;gap:21px;margin:26px 0}.ast-pub-form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ast-pub-contact-form label{display:flex;flex-direction:column;gap:9px;font-weight:650;color:#f3eaf7;font-size:15px}.ast-pub-contact-form input,.ast-pub-contact-form select,.ast-pub-contact-form textarea{width:100%;box-sizing:border-box;background:#211831;color:#fff;border:1px solid #9b7da4;border-radius:11px;padding:14px 16px;min-height:50px}.ast-pub-contact-form select option{color:#161026}.ast-pub-contact-form input::placeholder,.ast-pub-contact-form textarea::placeholder{color:#bdb0c6}.ast-pub-contact-form .ast-pub-consent{display:flex;flex-direction:row;align-items:flex-start;gap:12px;line-height:1.5;font-weight:480}.ast-pub-consent input{width:20px;min-width:20px;min-height:20px;margin-top:3px;accent-color:#d18de6}.ast-pub-consent a{color:#94e7f6}.ast-pub-fine{font-size:13px!important;color:#b5a6c5!important}.ast-pub-contact-form button{justify-self:start;min-height:50px}.ast-pub-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.ast-pub-notice{padding:18px 21px;background:#39233a;border:1px solid #b77baa;border-radius:12px;line-height:1.65;color:#fce9fc}.ast-pub-success{background:#17372e;border-color:#63b49d}.ast-pub-error{background:#53293a;border-color:#ed9baf}.ast-pub-policy-note{padding:22px;border:1px solid #a980ab;border-radius:12px;background:#282034;line-height:1.7;margin:0 0 27px;color:#eedbf3}.ast-pub-policy-note strong{color:#ffd1a2}.ast-pub-page .ast-prose{color:#e4dcec}.ast-pub-page .ast-prose h2{font-size:27px}.ast-pub-page .ast-prose a{color:#9cf0fa}.ast-pub-page .ast-prose table{display:block;max-width:100%;overflow-x:auto}.ast-pub-page .ast-prose img{max-width:100%;height:auto}
@media(max-width:990px){.ast-pub-columns{grid-template-columns:minmax(0,1fr)}.ast-pub-aside{position:static}.ast-pub-cards{grid-template-columns:1fr 1fr}}@media(max-width:650px){.ast-pub-page .wrap{width:min(calc(100% - 28px),1220px)}.ast-pub-hero{padding:92px 0 55px}.ast-pub-star{width:210px;height:210px;right:-80px;top:5%;opacity:.3}.ast-pub-hero h1{font-size:clamp(2.7rem,12vw,4.4rem)}.ast-pub-columns{padding-top:43px}.ast-pub-cards,.ast-pub-form-row{grid-template-columns:1fr}.ast-pub-steps article{padding:20px;gap:12px}.ast-pub-aside{padding:21px}.ast-pub-faq summary{font-size:16px}.ast-pub-section{padding-top:50px}}
@media(prefers-reduced-motion:reduce){.ast-pub-link-card{transition:none}.ast-pub-link-card:hover{transform:none}}@media(forced-colors:active){.ast-pub-link-card,.ast-pub-faq,.ast-pub-aside{border:1px solid CanvasText}}
