:root{color-scheme:dark;--bg:#080f1e;--card:#15213a;--line:#344561;--text:#f1f5ff;--mute:#b6c5dc;--accent:#bca4ff}*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,sans-serif;color:var(--text);background:radial-gradient(1000px 600px at 20% 0%,#352254,transparent 65%),var(--bg)}a{color:#c9bcff}a:focus-visible,button:focus-visible{outline:3px solid #87ebc4;outline-offset:3px}.wrap{width:min(1180px,calc(100% - 36px));margin:auto}.top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.brand{font-weight:900;font-size:20px;text-decoration:none;color:white}.links{display:flex;flex-wrap:wrap;gap:18px}.links a{font-size:14px;text-decoration:none;color:var(--mute)}.hero{padding:64px 0 28px}.eyebrow{font-size:12px;letter-spacing:.15em;color:#9beac7;font-weight:800;text-transform:uppercase}h1{font-size:clamp(38px,6vw,70px);line-height:1.06;letter-spacing:-.05em;max-width:850px;margin:15px 0}h2{font-size:27px;margin:26px 0 16px}p{color:var(--mute);max-width:790px}.tabs{display:flex;gap:9px;flex-wrap:wrap;margin:25px 0 32px}.tabs a,.action{display:inline-block;padding:10px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:#fff;background:#202e48;font-weight:700;font-size:13px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:22px;display:flex;flex-direction:column;min-height:240px}.card h3{font-size:20px;margin:10px 0 5px}.card p{font-size:14px;margin:0 0 18px;flex:1}.card a{font-weight:750}.status{display:inline-flex;align-self:flex-start;border:1px solid #5b6589;border-radius:99px;padding:4px 9px;color:#e0d9ff;font-size:11px}.section{margin-bottom:54px}.detail{max-width:850px;padding:34px;border:1px solid var(--line);background:var(--card);border-radius:20px}.detail p{font-size:17px}footer{border-top:1px solid var(--line);padding:26px 0 40px;margin-top:55px;color:var(--mute);font-size:13px}@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.hero{padding-top:38px}.grid{grid-template-columns:1fr}.card{min-height:0}.detail{padding:22px}}
.portfolio-finder{margin-top:24px;max-width:700px;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:16px}
.portfolio-finder label{display:block;font-weight:750;margin-bottom:10px}
.portfolio-finder input{display:block;width:100%;min-height:48px;padding:12px 15px;border:1px solid #7886aa;border-radius:10px;background:#0c192c;color:#fff;font:inherit}
.portfolio-finder input:focus-visible{outline:3px solid #87ebc4;outline-offset:3px}
.portfolio-finder p{margin:9px 0 0;font-size:13px}
[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.detail-extra{max-width:850px;margin:20px 0 48px;padding:25px;border:1px solid var(--line);border-radius:20px;background:rgba(21,33,58,.7)}.detail-extra h2{font-size:23px;margin:12px 0}.feature-list{padding-left:23px;color:var(--mute)}.feature-list li{padding:5px 0}.related-links{display:flex;flex-wrap:wrap;gap:9px}.related-links a{display:inline-flex;align-items:center;min-height:44px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;text-decoration:none;font-weight:700}@media(max-width:600px){.detail-extra{padding:20px}}

/* Portfolio discovery polish: responsive category navigation and easier tap targets. */
.portfolio-jump{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 10px}
.portfolio-jump a{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid #556584;border-radius:12px;background:rgba(45,59,89,.75);color:#f1f5ff;text-decoration:none;font-weight:700;font-size:14px}
.portfolio-jump a:hover,.portfolio-jump a:focus-visible{background:#344666;border-color:#a4b4ff}
.portfolio-note{padding:14px 18px;border-left:3px solid #9beac7;background:rgba(155,234,199,.08);border-radius:8px}
.card a{display:inline-flex;align-items:center;min-height:44px;align-self:flex-start}
.card:focus-within{outline:2px solid #87ebc4;outline-offset:3px}
.section{scroll-margin-top:32px}
@media(max-width:600px){.top .links{width:100%;gap:8px}.top .links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:9px}.portfolio-jump{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-jump a{font-size:13px}.card h3{overflow-wrap:anywhere}}

/* Shared portfolio visual language: type, surfaces, hierarchy and accessible interaction. */
:root{--portfolio-glow:#8d75ed;--portfolio-mint:#75dfbb}
html{scroll-behavior:smooth}
body{background:radial-gradient(850px 500px at 8% -3%,rgba(141,117,237,.22),transparent 72%),radial-gradient(650px 440px at 98% 16%,rgba(117,223,187,.10),transparent 75%),var(--bg);-webkit-font-smoothing:antialiased}
.hero{position:relative;padding-top:clamp(42px,6vw,78px)}
.hero h1{max-width:900px;text-wrap:balance}
.hero>p{font-size:clamp(16px,1.9vw,19px);line-height:1.7}
.eyebrow{font-weight:850}
.section h2{letter-spacing:-.035em}
.card{position:relative;overflow:hidden;background:linear-gradient(150deg,rgba(132,104,221,.11),transparent 55%),var(--card);box-shadow:0 12px 32px rgba(0,0,0,.12);transition:transform .2s ease,border-color .2s ease}
.card::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--portfolio-glow),var(--portfolio-mint));opacity:.7}
.card:hover{transform:translateY(-3px);border-color:#8075b3}
.card h3{font-size:21px;letter-spacing:-.025em}
.card p{line-height:1.7}
.card a{color:#d4c9ff;text-decoration-thickness:1px;text-underline-offset:4px}
.status{background:rgba(141,117,237,.09);font-weight:650}
.detail{max-width:900px;background:linear-gradient(140deg,rgba(132,104,221,.09),transparent 56%),var(--card)}
.detail-extra{max-width:900px}
.action{min-height:44px}
@media(prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}

.visitor-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0 5px}.visitor-paths a{display:flex;flex-direction:column;gap:8px;min-height:130px;padding:19px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(122,104,210,.19),rgba(30,53,67,.45));text-decoration:none;color:var(--text)}.visitor-paths a:hover{border-color:#bba4ff}.visitor-paths strong{font-size:17px}.visitor-paths span{font-size:13px;color:var(--mute)}@media(max-width:750px){.visitor-paths{grid-template-columns:1fr}.visitor-paths a{min-height:0}}

.next-action{max-width:900px;margin:24px 0 44px;padding:24px;border:1px solid var(--line);border-radius:18px;background:rgba(117,223,187,.07)}.next-action h2{margin-top:0;font-size:22px}.next-action .related-links a{min-height:44px}.next-action p{line-height:1.7}
