/* Thomas Lim's RGB neon identity. Layout and motion controls live in their base files. */
:root{color-scheme:dark;--ink:#f1f3ff;--muted:#b7bfd9;--teal:#81cfff;--mint:#90edff;--paper:#090b19;--line:#303550;--night:#0c1026;--rgb:linear-gradient(110deg,#ff657e 0%,#db73ff 30%,#718dff 56%,#63deff 77%,#74f5b0 100%)}
body{background:var(--paper)}
::selection{background:#7543aa;color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#9adfff}
.site-header{background:#090b19f2;border-bottom-color:#373554}
.site-header::after{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:var(--rgb);opacity:.65;pointer-events:none}
.brand-mark{background:linear-gradient(#14172b,#14172b) padding-box,var(--rgb) border-box;border:1px solid transparent;box-shadow:-3px 0 15px #ff4b7620,3px 0 15px #4285ff30}
.brand-mark>span{background:#78ffc0;box-shadow:0 0 8px #78ffc0}
.site-nav>a:hover{color:#a0e5ff;background:#171b34}
.js .nav-toggle{border-color:#494569}
.button-primary,.button-dark,.nav-cta{background:var(--rgb);color:#090b19;border-color:transparent;box-shadow:-4px 2px 18px #ff467d15,4px 2px 18px #328cff22}
.button-primary:hover,.button-dark:hover,.nav-cta:hover{background:var(--rgb);box-shadow:-5px 3px 26px #ff467d35,5px 3px 26px #328cff45}
.button-outline,.button-light{color:#f2f4ff;background:#151930;border-color:#69628d}
.button-outline:hover,.button-light:hover{background:#24223e;border-color:#b89aff}
.skip-link{background:#171b34;color:#fff}
.hero{background:#0c1026}
.hero::before{background:radial-gradient(ellipse at 9% 22%,#e42b731f,transparent 48%),radial-gradient(ellipse at 66% 18%,#514dff30,transparent 48%),radial-gradient(ellipse at 96% 88%,#21e9ac19,transparent 40%)}
.hero h1 em{color:#adbdff;background:var(--rgb);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero .eyebrow{color:#c2bcff}.status-dot{background:#77fdb9}
.hero-lead,.hero-proof strong{color:#edf0ff}
.hero-description,.hero-proof>span,.hero-bottom{color:#b7bfd9}
.hero-offer{color:#d7dbef}.hero-offer a{color:#b8c5ea}
.hero-bottom{border-color:#35364f}.hero-bottom a{color:#aadfff}
.hero-photo{background:#10132b;border-color:#7572c36b;box-shadow:0 0 40px #5844ec12}
.hero-visual figcaption{background:#181a32;border:1px solid #3c3c64;border-top:0}
.caption-icon{background:#29264c;color:#b4dfff}
.hero-visual figcaption small{color:#a8b5d5}.hero-proof>span+span{border-color:#414265}
.image-label,.project-status,.art-caption{color:#e8edff;background:#10142bea;border-color:#65658a}
.service-card,.project-card,.research-card,.contact-form{background:#13172c;border-color:#333854}
.service-card:nth-child(1){--card-accent:#ff719e}.service-card:nth-child(2){--card-accent:#869bff}.service-card:nth-child(3){--card-accent:#71ebbd}
.service-card{border-top:2px solid var(--card-accent)}
.service-art{background:radial-gradient(ellipse at 70% 20%,#6655ff24,transparent 70%),linear-gradient(135deg,#202039,#11162d)}
.service-number{background:#25233e;color:#d2c9ff}
.price-card:hover,.service-card:hover,.project-card:hover,.research-card:hover{border-color:#9184d2;box-shadow:-7px 10px 32px #ff498014,7px 10px 32px #408cff1c}
.workflow-graphic{background:linear-gradient(120deg,#21182e,#151b34 58%,#142b2b);border-color:#444062}
.workflow-heading,.workflow-track strong{color:#e2e5ff}.workflow-heading small{color:#b6bdd8}
.workflow-symbol{background:#191d35;border-color:#6a64a0;color:#a8dcff}
.workflow-track>div:nth-of-type(1) .workflow-symbol{color:#ff8daa;border-color:#b04a76}
.workflow-track>div:nth-of-type(3) .workflow-symbol{color:#b09aff;border-color:#735cbc}
.workflow-track>div:nth-of-type(5) .workflow-symbol{color:#80f0bc;border-color:#3b8d77}
.workflow-connector{background:#47435e}.workflow-connector::after{background:var(--rgb)}
.pricing-section{background:radial-gradient(ellipse at 0 0,#b7266619,transparent 50%),#101325}
.price-card{background:#191c32;border-color:#424260}
.price-start{background:linear-gradient(135deg,#23162f,#141b35 66%,#142c31);border-color:#7b649c}
.pill{border-color:#676083;color:#dde0f6}.price-start .pill{border-color:#906795;color:#f0c3ed}
.price-start p,.price-start .price span{color:#c8cbe4}.price-start .check-list{color:#e0e3f6}
.price-start::after{border-color:#c780ff55;box-shadow:0 0 0 24px #a855ff0d,0 0 0 49px #368dff0d,0 0 0 73px #42efb008}
.pricing-note{border-color:#3b3d5a}
.project-preview,.yrcp-preview{background:#10142c}
.project-tags span{background:#29263f;color:#d3c9f7}
.demo-banner{background:linear-gradient(110deg,#211a32,#151d32);border-color:#4b426c}
.technology-section{background:radial-gradient(ellipse at 92% 6%,#3e59fb20,transparent 46%),#0b1025;color:#f2f3ff}
.technology-section p,.sources{color:#bbc4df}
.technology-grid article{border-color:#46445f}
.technology-grid article::before{background:var(--rgb)}
.technology-note{background:#1b1b37;border-left-color:#c589ff}
.sources summary{color:#e6e8ff}.sources summary>span{color:#aeb8d7}.sources a{color:#a7deff}
.ai-showcase{background:linear-gradient(125deg,#17182e,#111d31);border-color:#534773}
.ai-showcase figcaption{color:#a8b4d4}
.step-orb{background:#252043;border-color:#8a6aba;color:#ebdeff}
.visual-steps li:not(:last-child)::after{background:#6f6399}.visual-steps strong{color:#f0ecff}
.process-grid article{border-color:#48405e}.process-grid article>span{border-color:#73639f;color:#cdb4ff}
.process-grid article>span::after{border-color:#967af3}
.process-grid article:nth-child(1)>span{color:#ff96b2}.process-grid article:nth-child(3)>span{color:#8dccff}.process-grid article:nth-child(4)>span{color:#7eecc1}
.about-section{background:#111427}
.portrait-panel{background:#20213a;box-shadow:-8px 8px 35px #fa469411,8px 8px 35px #348bff16;border:1px solid #494264}
.credential-row{border-color:#423e5e}
.research-card:hover{background:#1e203b}
.contact-section{background:radial-gradient(ellipse at 0 50%,#cf266323,transparent 50%),radial-gradient(ellipse at 100% 85%,#29cba914,transparent 45%),#14172e}
.contact-section::before{background-image:radial-gradient(#b095ff45 .8px,transparent .8px)}
input,select,textarea{background:#0d1227;border-color:#505273;color:#f1f3ff}
input::placeholder,textarea::placeholder{color:#a7b2d0}
.site-footer{background:#090b19}
.motion-toggle{background:#15182eed;color:#e5deff;border-color:#766393;box-shadow:0 0 20px #8a55ff25}
.motion-toggle:hover{background:#2c2447}.motion-toggle:focus-visible{outline-color:#9adfff}
.scroll-progress{background:var(--rgb)}
@keyframes status-pulse{0%{box-shadow:0 0 0 0 #77fdb955}70%,100%{box-shadow:0 0 0 8px #77fdb900}}
@keyframes step-glow{0%,20%,100%{background:#252043;box-shadow:none}40%,60%{background:#413467;box-shadow:0 0 16px #b882ff35}}
@media(forced-colors:active){.hero h1 em{-webkit-text-fill-color:CanvasText;background:none}.button{border:1px solid ButtonText}}

/* Public portfolio destinations; keep room for a comfortable touch target. */
.project-link{margin-top:18px;gap:6px;align-self:flex-start;flex-wrap:wrap}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
