@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@500;600;700;800&family=Roboto+Mono:wght@400;500&display=swap");

:root {
  --bg: #0b1117;
  --bg-soft: #101922;
  --surface: rgba(18, 28, 37, 0.74);
  --surface-solid: #121c25;
  --border: rgba(151, 174, 187, 0.16);
  --text: #edf3f1;
  --muted: #91a1aa;
  --accent: #66e3bd;
  --accent-deep: #1e9d7d;
  --font-display: "Manrope", sans-serif;
  --font-body: "DM Sans", sans-serif;
  --font-mono: "Roboto Mono", monospace;
}

html { scroll-behavior: smooth; scroll-padding-top: 5.5rem; }
body { background: var(--bg); color: var(--text); font-family: var(--font-body); overflow-x: hidden; }
body::before { content: ""; position: fixed; inset: 0; z-index: -2; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to bottom, black, transparent 85%); }
.page-glow { position: fixed; z-index: -1; border-radius: 50%; filter: blur(100px); pointer-events: none; opacity: .13; }
.page-glow-one { width: 35rem; height: 35rem; background: var(--accent); top: -15rem; right: -12rem; }
.page-glow-two { width: 28rem; height: 28rem; background: #3576a8; top: 48%; left: -18rem; }

.social-rail { position: fixed; z-index: 1020; left: clamp(.8rem, 2vw, 2rem); bottom: 0; display: flex; flex-direction: column; align-items: center; gap: 1.25rem; transition: opacity .3s ease, transform .35s cubic-bezier(.22,1,.36,1); }
.social-rail.is-hidden { opacity: 0; transform: translateY(2rem); pointer-events: none; }
.social-rail a { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; color: #d6e0de; border-radius: .45rem; transition: color .2s ease, background-color .2s ease, transform .2s ease; }
.social-rail a:hover, .social-rail a:focus-visible { color: var(--accent); background: rgba(102,227,189,.07); transform: translateY(-3px); outline: none; }
.social-rail svg { display: block; flex: 0 0 1.65rem; width: 1.65rem !important; min-width: 1.65rem; max-width: 1.65rem; height: 1.65rem !important; min-height: 1.65rem; max-height: 1.65rem; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.social-rail svg.social-filled { fill: currentColor; stroke: none; }
.social-line { width: 1px; height: 7rem; margin-top: .1rem; background: linear-gradient(var(--accent), rgba(102,227,189,.12)); }

.navbar { top: 1.25rem; left: 50%; width: min(calc(100% - 2.5rem), 1120px); padding: .7rem .4rem; transform: translateX(-50%); background: rgba(16,25,34,.82); border: 1px solid var(--border); border-radius: 1rem; box-shadow: 0 16px 45px rgba(0,0,0,.2); backdrop-filter: blur(18px); transition: width .42s cubic-bezier(.22,1,.36,1), top .42s cubic-bezier(.22,1,.36,1), padding .35s ease, border-radius .42s ease, background-color .35s ease, box-shadow .35s ease; }
.navbar.scrolled { top: 0; width: 100%; padding: .65rem 0; border-color: transparent transparent var(--border); border-radius: 0; background: rgba(11,17,23,.94); box-shadow: 0 10px 35px rgba(0,0,0,.18); }
.navbar-brand { display: flex; align-items: center; gap: .8rem; color: var(--text); }
.brand-mark { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border: 1px solid rgba(102,227,189,.5); border-radius: .55rem; font: 600 1.55rem/1 var(--font-display); color: var(--accent); background: rgba(102,227,189,.07); text-shadow: 0 0 18px rgba(102,227,189,.3); }
.brand-domain { font: 500 .78rem var(--font-mono); color: var(--muted); }
.nav-link { color: #acbac1; font-size: .92rem; }
.nav-link:hover, .nav-link:focus { color: var(--accent); }
.btn-nav { color: var(--accent); border: 1px solid rgba(102,227,189,.35); padding: .5rem 1rem; }
.btn-nav:hover { color: var(--bg); background: var(--accent); border-color: var(--accent); }
.language-toggle { display: flex; align-items: center; gap: .3rem; padding: .35rem .5rem; border: 0; border-radius: .4rem; color: var(--muted); background: transparent; transition: color .2s ease, background-color .2s ease; }
.language-toggle:hover, .language-toggle:focus-visible { color: var(--text); background: rgba(255,255,255,.045); outline: none; }.lang-flag { font-size: 1rem; line-height: 1; filter: saturate(.65); opacity: .55; transition: filter .2s ease, opacity .2s ease, transform .2s ease; }.lang-current { filter: none; opacity: 1; transform: scale(1.08); }.lang-divider { color: #44545d; font: .65rem var(--font-mono); }
.theme-toggle { display: grid; place-items: center; width: 2rem; height: 2rem; padding: 0; border: 1px solid var(--border); border-radius: 50%; color: var(--muted); background: rgba(255,255,255,.025); transition: color .2s ease, border-color .2s ease, transform .25s ease; }.theme-toggle:hover, .theme-toggle:focus-visible { color: var(--accent); border-color: rgba(102,227,189,.45); transform: rotate(8deg); outline: none; }.theme-icon { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }.sun-icon { display: none; }html[data-theme="dark"] .moon-icon { display: none; }html[data-theme="dark"] .sun-icon { display: block; }

.hero { position: relative; padding: 9rem 0 5rem; }
.hero-visual { display: flex; flex-direction: column; align-items: flex-end; }
.eyebrow, .section-index, .project-state, .project-kicker { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: .13em; }
.eyebrow { display: flex; align-items: center; gap: .6rem; color: var(--muted); font-size: .75rem; margin-bottom: 1.5rem; }
.status-dot, .live-dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 5px rgba(102,227,189,.08), 0 0 18px rgba(102,227,189,.55); }
.display-title { max-width: 800px; margin-bottom: 1.75rem; font: 800 clamp(3rem, 6.7vw, 6.4rem)/.99 var(--font-display); letter-spacing: -.065em; }
.display-title span { color: var(--accent); }
.hero-copy { max-width: 650px; color: #aab7bd; font-size: clamp(1.05rem, 1.8vw, 1.3rem); line-height: 1.65; margin-bottom: 2.25rem; }
.btn { font-weight: 600; border-radius: .55rem; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.btn-lg { padding: .85rem 1.3rem; font-size: .96rem; }
.btn-accent { background: var(--accent); border-color: var(--accent); color: #07120f; box-shadow: 0 8px 30px rgba(102,227,189,.1); }
.btn-accent:hover { transform: translateY(-2px); background: #7aebc8; border-color: #7aebc8; color: #07120f; box-shadow: 0 12px 34px rgba(102,227,189,.2); }
.btn-ghost { border-color: var(--border); color: var(--text); background: rgba(255,255,255,.025); }
.btn-ghost:hover { transform: translateY(-2px); color: var(--text); border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.05); }

.sigma-stage { position: relative; width: min(100%, 420px); min-height: 320px; display: grid; place-items: center; margin-bottom: -2.8rem; overflow: hidden; border: 1px solid rgba(102,227,189,.14); border-radius: 50% 50% .9rem .9rem; background: radial-gradient(circle at 50% 43%, rgba(102,227,189,.15), transparent 43%); }
.sigma-stage::before { content: ""; position: absolute; width: 12rem; height: 12rem; border-radius: 50%; background: rgba(102,227,189,.035); filter: blur(5px); }
.sigma-ghost { position: relative; z-index: 2; color: var(--accent); font: 700 9rem/.8 var(--font-display); letter-spacing: -.08em; text-shadow: 0 0 45px rgba(102,227,189,.25); }
.sigma-orbit { position: absolute; z-index: 1; display: block; border: 1px solid rgba(102,227,189,.14); border-radius: 50%; animation: orbit-spin 12s linear infinite; }
.sigma-orbit i { position: absolute; display: block; width: .48rem; height: .48rem; top: 50%; right: -.27rem; border-radius: 50%; background: var(--accent); box-shadow: 0 0 13px rgba(102,227,189,.85); }
.orbit-outer { width: 16rem; height: 16rem; transform: rotate(-18deg) scaleY(.72); }
.orbit-inner { width: 12rem; height: 12rem; border-color: rgba(102,227,189,.09); animation-duration: 8s; animation-direction: reverse; transform: rotate(38deg) scaleY(.8); }
.orbit-inner i { width: .32rem; height: .32rem; right: -.18rem; background: #8baeb6; box-shadow: 0 0 10px rgba(139,174,182,.7); }
@keyframes orbit-spin { from { rotate: 0deg; } to { rotate: 360deg; } }
.system-card { position: relative; z-index: 3; width: min(100%, 420px); transform: translateX(2.5rem) rotate(1.4deg); border: 1px solid var(--border); border-radius: .85rem; overflow: hidden; background: rgba(12,20,27,.9); box-shadow: 0 35px 80px rgba(0,0,0,.28); backdrop-filter: blur(12px); }
.system-header { display: flex; align-items: center; justify-content: space-between; padding: .85rem 1rem; border-bottom: 1px solid var(--border); color: #70818b; font: .65rem var(--font-mono); }
.window-dots { display: flex; gap: .4rem; }.window-dots i { width: .48rem; height: .48rem; border-radius: 50%; background: #3b4951; }.window-dots i:nth-child(2) { background: #53666f; }.window-dots i:nth-child(3) { background: var(--accent-deep); }
.system-body { padding: 1.7rem; font: .78rem/1.9 var(--font-mono); color: #8999a1; }
.system-body p { margin: 0; }.system-body b { font-weight: 400; color: #5f8193; }.system-body span { color: #d3dedb; }.system-body em { color: var(--accent); font-style: normal; }.system-body .indent { padding-left: 1.5rem; color: #b4c2c5; }
.scroll-cue { position: absolute; bottom: 2.2rem; left: 50%; width: 1.5rem; height: 2.4rem; border: 1px solid var(--border); border-radius: 1rem; }
.scroll-cue span { position: absolute; top: .5rem; left: 50%; width: 3px; height: 6px; border-radius: 2px; background: var(--accent); animation: scroll 1.8s ease infinite; }
@keyframes scroll { 0% { transform: translate(-50%,0); opacity: 0; } 30% { opacity: 1; } 100% { transform: translate(-50%,12px); opacity: 0; } }

.section { padding: 7.5rem 0; border-top: 1px solid var(--border); }
.section-index { color: var(--accent); font-size: .7rem; margin-bottom: 1.3rem; }
.section h2 { max-width: 650px; font: 700 clamp(2rem, 4vw, 3.7rem)/1.1 var(--font-display); letter-spacing: -.045em; }
.section-heading { margin-bottom: 3rem; }
.lead-copy { color: #d6e0de; font-size: clamp(1.3rem, 2.5vw, 1.85rem); line-height: 1.48; letter-spacing: -.02em; }
.body-copy { color: var(--muted); line-height: 1.85; font-size: 1.02rem; }
.iteration-loop { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; margin: 2rem 0; padding: 1rem 1.2rem; border: 1px solid var(--border); border-radius: .65rem; background: rgba(102,227,189,.025); color: #a9b8bd; font: .65rem var(--font-mono); }.iteration-loop i { color: var(--accent); font-style: normal; }

.expertise-card { position: relative; display: flex; flex-direction: column; min-height: 360px; padding: 2rem; border: 1px solid var(--border); border-radius: .8rem; background: linear-gradient(145deg, rgba(20,31,41,.8), rgba(14,23,30,.7)); overflow: hidden; transition: transform .25s ease, border-color .25s ease; }
.expertise-card::after { content: ""; position: absolute; width: 12rem; height: 12rem; top: -9rem; right: -8rem; background: var(--accent); filter: blur(50px); opacity: 0; transition: opacity .3s; }
.expertise-card:hover { transform: translateY(-6px); border-color: rgba(102,227,189,.34); }.expertise-card:hover::after { opacity: .08; }
.card-number { position: absolute; right: 1.5rem; top: 1.4rem; color: #52626b; font: .7rem var(--font-mono); }
.card-icon { display: grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: 4rem; border: 1px solid rgba(102,227,189,.25); border-radius: .65rem; color: var(--accent); background: rgba(102,227,189,.055); font: .78rem var(--font-mono); }
.expertise-card h3 { font: 600 1.35rem var(--font-display); }.expertise-card p { color: var(--muted); line-height: 1.65; flex-grow: 1; }
.tag-list { display: flex; gap: .5rem; flex-wrap: wrap; }.tag-list span { padding: .32rem .6rem; border: 1px solid var(--border); border-radius: 100px; color: #91a2aa; background: rgba(255,255,255,.018); font: .62rem var(--font-mono); }

.project-card { border: 1px solid var(--border); border-radius: 1rem; overflow: hidden; background: var(--surface); box-shadow: 0 30px 80px rgba(0,0,0,.14); }
.project-card + .project-card { margin-top: 1.5rem; }
.project-content { padding: clamp(2rem, 5vw, 4rem); }.project-state { color: var(--accent); font-size: .62rem; }.live-dot { width: .4rem; height: .4rem; animation: pulse 2s ease infinite; }
@keyframes pulse { 50% { opacity: .35; box-shadow: 0 0 0 8px rgba(102,227,189,.02); } }
.project-kicker { color: #657983; font-size: .65rem; }.project-card h3 { font: 700 clamp(2rem, 4vw, 3rem) var(--font-display); letter-spacing: -.04em; }.project-card p:not(.project-kicker) { max-width: 640px; color: var(--muted); line-height: 1.75; }.project-tags { margin-top: 2rem; }
.project-link { display: inline-flex; align-items: center; gap: .35rem; margin-top: 2rem; color: var(--accent); font: 500 .75rem var(--font-mono); text-decoration: none; }.project-link:hover { color: #8af0d0; }.project-link span:last-child { transition: transform .2s ease; }.project-link:hover span:last-child { transform: translate(2px,-2px); }
.project-links { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; }.project-links .project-link { margin-top: 2rem; }
.project-greek { border-color: rgba(199,86,60,.2); }.project-greek .project-state { color: #dc785f; }.project-greek .live-dot { background: #dc785f; box-shadow: 0 0 0 5px rgba(220,120,95,.08), 0 0 18px rgba(220,120,95,.45); }.project-greek .project-link { color: #e58168; }
.greek-visual { min-height: 410px; padding: 2.5rem; display: grid; place-items: center; background: linear-gradient(145deg,#f7f3ea,#efe6d2); }
.greek-window { width: min(100%,390px); overflow: hidden; border-radius: .7rem; background: #f9f7f1; box-shadow: 0 22px 50px rgba(29,43,68,.16); transform: rotate(1deg); }
.greek-window-top { display: flex; align-items: center; gap: .6rem; padding: .7rem 1rem; color: #f0eee8; background: #192641; font: 500 .7rem var(--font-body); }.omega { display: grid; place-items: center; width: 1.55rem; height: 1.55rem; border: 1px solid rgba(230,189,91,.5); border-radius: 50%; color: #e6bd5b; font: 1rem serif; }
.greek-paper { padding: 2rem; color: #17243d; }.greek-paper small { color: #7e8793; font: 500 .56rem var(--font-body); letter-spacing: .08em; }.greek-paper p { margin: 1.25rem 0 !important; color: #17243d !important; font: 1.3rem/1.55 Georgia,serif; }.greek-paper i { display: block; height: 1px; margin-bottom: 1rem; background: linear-gradient(90deg,#d49c28,transparent); }.greek-paper > span { color: #7c8790; font-size: .65rem; }
.project-isp { border-color: rgba(176,128,245,.19); }.experience-mark { display: grid; place-items: center; width: .85rem; height: .85rem; border: 1px solid rgba(176,128,245,.45); border-radius: 50%; color: #b080f5; font: .62rem var(--font-mono); }.isp-state { color: #b080f5; }
.isp-visual { position: relative; min-height: 420px; overflow: hidden; background: radial-gradient(circle at 50% 50%,rgba(176,128,245,.09),transparent 52%),#0d151d; }.isp-visual::before { content: ""; position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px); background-size: 30px 30px; }
.flow-node { position: absolute; z-index: 2; display: flex; flex-direction: column; justify-content: center; min-height: 4.2rem; padding: .75rem 1rem; border: 1px solid var(--border); border-radius: .55rem; color: #dce5e6; background: rgba(16,26,34,.94); box-shadow: 0 14px 30px rgba(0,0,0,.24); font-family: var(--font-mono); }.flow-node > span { margin-bottom: .25rem; color: #687a84; font-size: .46rem; }.flow-node strong { font-size: .62rem; letter-spacing: .05em; }.flow-node small { margin-top: .3rem; color: #687a84; font-size: .45rem; }.flow-user { top: 2.8rem; left: 50%; width: 8.5rem; transform: translateX(-50%); }.flow-bot { top: 10rem; left: 50%; width: 11rem; border-color: rgba(176,128,245,.34); transform: translateX(-50%); }.flow-core { top: 18rem; left: 50%; width: 13.5rem; border-color: rgba(102,227,189,.25); transform: translateX(-50%); }
.flow-arrow { position: absolute; z-index: 2; left: 50%; color: #667780; font: .8rem var(--font-mono); transform: translateX(-50%) rotate(90deg); }.arrow-one { top: 7.65rem; }.arrow-two { top: 15.65rem; }.flow-pulse { position: absolute; z-index: 1; left: 50%; width: 1px; background: linear-gradient(#b080f5,var(--accent)); transform: translateX(-50%); }.pulse-one { top: 6.7rem; height: 4rem; }.pulse-two { top: 14rem; height: 5.2rem; }
.project-pdf { border-color: rgba(67,135,235,.2); }.pdf-state, .project-pdf .pdf-link { color: #6ba3f5; }.pdf-live-dot { background: #4387eb; box-shadow: 0 0 0 5px rgba(67,135,235,.08), 0 0 18px rgba(67,135,235,.5); }
.pdf-visual { position: relative; min-height: 420px; display: grid; place-items: center; overflow: hidden; background: #0d171e; }.pdf-visual::before { content: ""; position: absolute; inset: 0; opacity: .42; background-image: radial-gradient(rgba(102,227,189,.18) 1px,transparent 1px); background-size: 22px 22px; mask-image: radial-gradient(circle,black,transparent 78%); }
.host-grid { position: relative; width: min(88%,400px); height: 330px; }
.host-core, .service-node { position: absolute; z-index: 2; display: flex; align-items: center; border: 1px solid var(--border); background: rgba(16,28,36,.94); box-shadow: 0 14px 35px rgba(0,0,0,.24); font-family: var(--font-mono); }
.host-core { top: 1rem; left: 50%; width: 13rem; padding: .85rem 1rem; border-color: rgba(102,227,189,.35); border-radius: .65rem; transform: translateX(-50%); }.host-sigma { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; margin-right: .75rem; border-radius: .45rem; color: var(--accent); background: rgba(102,227,189,.08); font: 600 1.55rem var(--font-display); }.host-core strong, .service-node strong { display: block; color: #dbe5e2; font-size: .65rem; letter-spacing: .05em; }.host-core small, .service-node small { display: flex; align-items: center; gap: .35rem; margin-top: .3rem; color: #60717a; font-size: .48rem; }.host-core small i, .service-node small i { width: .32rem; height: .32rem; border-radius: 50%; background: var(--accent); box-shadow: 0 0 7px rgba(102,227,189,.7); }
.service-node { top: 10.5rem; width: 10.5rem; padding: .8rem; border-radius: .6rem; }.service-pdf { left: 0; }.service-tools { right: 0; }.service-icon { display: grid; place-items: center; flex: 0 0 2.35rem; height: 2.35rem; margin-right: .65rem; border: 1px solid rgba(107,163,245,.22); border-radius: .4rem; color: #6ba3f5; background: rgba(67,135,235,.07); font-size: .6rem; }.service-tools .service-icon { color: var(--accent); border-color: rgba(102,227,189,.22); background: rgba(102,227,189,.06); }
.host-connector { position: absolute; z-index: 1; top: 5.9rem; width: 1px; height: 6.2rem; background: linear-gradient(var(--accent),rgba(102,227,189,.1)); transform-origin: top; }.connector-left { left: 50%; transform: rotate(49deg); }.connector-right { right: 50%; transform: rotate(-49deg); }
.host-meta { position: absolute; left: 50%; bottom: 1rem; display: flex; gap: .45rem; transform: translateX(-50%); white-space: nowrap; }.host-meta span { padding: .35rem .55rem; border: 1px solid var(--border); border-radius: 100px; color: #647680; background: rgba(11,17,23,.75); font: .48rem var(--font-mono); }
@media (max-width: 430px) { .host-grid { transform: scale(.82); }.service-node { width: 9.5rem; } }
.project-visual { min-height: 380px; background-color: #0c161d; background-image: radial-gradient(rgba(102,227,189,.14) 1px, transparent 1px); background-size: 22px 22px; }
.network-map { position: relative; width: 100%; height: 100%; min-height: 380px; }.network-node { position: absolute; z-index: 2; display: grid; place-items: center; border: 1px solid rgba(102,227,189,.35); border-radius: 50%; color: var(--accent); background: #101c23; box-shadow: 0 0 30px rgba(102,227,189,.07); font: .6rem/1.4 var(--font-mono); text-align: center; }.node-core { width: 8rem; height: 8rem; top: 50%; left: 50%; transform: translate(-50%,-50%); }.node-small { width: 4rem; height: 4rem; }.node-web { top: 14%; left: 18%; }.node-vpn { top: 17%; right: 14%; }.node-proxy { bottom: 13%; right: 18%; }.network-line { position: absolute; z-index: 1; height: 1px; left: 50%; top: 50%; width: 34%; transform-origin: left; background: linear-gradient(90deg, rgba(102,227,189,.6), rgba(102,227,189,.1)); }.line-one { transform: rotate(214deg); }.line-two { transform: rotate(324deg); }.line-three { transform: rotate(43deg); }
.project-note { margin: 1.5rem 0 0; color: #5f7079; text-align: center; font: .7rem var(--font-mono); }

.contact-section { border-top: 0; padding-top: 3rem; }.contact-box { padding: clamp(2.5rem, 7vw, 6rem); border: 1px solid var(--border); border-radius: 1rem; text-align: center; background: radial-gradient(circle at 50% 0%, rgba(102,227,189,.1), transparent 50%), var(--surface); }.contact-box h2 { margin: 0 auto 1.2rem; font-size: clamp(2.5rem, 6vw, 5rem); }.contact-box p:not(.section-index) { max-width: 580px; margin: 0 auto 2.2rem; color: var(--muted); font-size: 1.1rem; }
.contact-actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: .75rem; }.contact-social { display: inline-flex; align-items: center; gap: .55rem; }.contact-social svg { width: 1.1rem; height: 1.1rem; fill: currentColor; }
footer { padding: 2rem 0; border-top: 1px solid var(--border); color: #64747c; font: .68rem var(--font-mono); } footer p { margin: 0; }.footer-pulse { color: var(--accent); }

html[data-theme="light"] {
  --bg: #f4f3ee; --bg-soft: #eaece7; --surface: rgba(252,252,249,.82); --surface-solid: #fcfcf9;
  --border: rgba(20,33,41,.13); --text: #142129; --muted: #647178; --accent: #16836a; --accent-deep: #0f6b56;
}
html[data-theme="light"] body::before { opacity: .45; background-image: linear-gradient(rgba(20,33,41,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(20,33,41,.04) 1px,transparent 1px); }
html[data-theme="light"] .page-glow { opacity: .09; }html[data-theme="light"] .page-glow-one { background: #16836a; }html[data-theme="light"] .page-glow-two { background: #356f8a; }
html[data-theme="light"] .navbar { background: rgba(252,252,249,.84); box-shadow: 0 14px 40px rgba(30,45,48,.1); }html[data-theme="light"] .navbar.scrolled { background: rgba(244,243,238,.95); box-shadow: 0 8px 28px rgba(30,45,48,.09); }
html[data-theme="light"] .nav-link { color: #526068; }html[data-theme="light"] .btn-nav { color: #0f6b56; }html[data-theme="light"] .language-toggle:hover,html[data-theme="light"] .language-toggle:focus-visible { background: rgba(20,33,41,.045); }html[data-theme="light"] .theme-toggle { background: rgba(255,255,255,.5); }
html[data-theme="light"] .social-rail a { color: #47565e; }html[data-theme="light"] .social-rail a:hover { background: rgba(22,131,106,.08); }html[data-theme="light"] .social-line { background: linear-gradient(var(--accent),rgba(22,131,106,.1)); }
html[data-theme="light"] .eyebrow,html[data-theme="light"] .hero-copy,html[data-theme="light"] .body-copy,html[data-theme="light"] .expertise-card p,html[data-theme="light"] .project-card p:not(.project-kicker),html[data-theme="light"] .contact-box p:not(.section-index) { color: #647178; }
html[data-theme="light"] .lead-copy { color: #28373e; }html[data-theme="light"] .status-dot,html[data-theme="light"] .live-dot { box-shadow: 0 0 0 5px rgba(22,131,106,.08),0 0 16px rgba(22,131,106,.3); }
html[data-theme="light"] .sigma-stage { border-color: rgba(22,131,106,.16); background: radial-gradient(circle at 50% 43%,rgba(22,131,106,.12),transparent 43%); }html[data-theme="light"] .sigma-orbit { border-color: rgba(22,131,106,.2); }html[data-theme="light"] .sigma-ghost { text-shadow: 0 0 38px rgba(22,131,106,.16); }
html[data-theme="light"] .system-card { background: rgba(252,252,249,.94); box-shadow: 0 30px 65px rgba(31,47,48,.14); }html[data-theme="light"] .system-body { color: #718087; }html[data-theme="light"] .system-body b { color: #467082; }html[data-theme="light"] .system-body span { color: #26363d; }html[data-theme="light"] .system-header { color: #718087; }
html[data-theme="light"] .iteration-loop { background: rgba(22,131,106,.035); color: #45565d; }html[data-theme="light"] .expertise-card { background: linear-gradient(145deg,rgba(255,255,255,.86),rgba(239,241,236,.8)); box-shadow: 0 14px 35px rgba(31,47,48,.06); }html[data-theme="light"] .expertise-card h3 { color: #142129; }html[data-theme="light"] .tag-list span { color: #596970; background: rgba(255,255,255,.38); }
html[data-theme="light"] .project-card { background: rgba(252,252,249,.86); box-shadow: 0 24px 60px rgba(31,47,48,.08); }html[data-theme="light"] .project-card h3 { color: #142129; }html[data-theme="light"] .contact-box { background: radial-gradient(circle at 50% 0%,rgba(22,131,106,.1),transparent 50%),rgba(252,252,249,.82); box-shadow: 0 20px 55px rgba(31,47,48,.07); }
html[data-theme="light"] .btn-ghost { color: #26363d; background: rgba(255,255,255,.45); }html[data-theme="light"] .btn-ghost:hover { color: #142129; border-color: rgba(20,33,41,.25); background: rgba(255,255,255,.85); }html[data-theme="light"] footer { color: #68767c; }
@media (max-width: 767.98px) { html[data-theme="light"] .navbar-collapse { background: #fcfcf9; }html[data-theme="light"] .social-rail { background: rgba(252,252,249,.92); box-shadow: 0 12px 30px rgba(31,47,48,.14); } }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }.reveal.visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.reveal { opacity: 1; transform: none; transition: none; }.scroll-cue span, .live-dot, .sigma-orbit { animation: none; } }
@media (max-width: 991.98px) { .display-title { letter-spacing: -.05em; }.hero-visual { align-items: center; }.sigma-stage, .system-card { margin-left: auto; margin-right: auto; }.system-card { transform: none; }.scroll-cue { display: none; }.section { padding: 5.5rem 0; }.project-visual { min-height: 320px; }.network-map { min-height: 320px; } }
@media (max-width: 767.98px) { .navbar, .navbar.scrolled { top: .65rem; width: calc(100% - 1.3rem); padding: .6rem .2rem; border: 1px solid var(--border); border-radius: .8rem; }.navbar.scrolled { background: rgba(11,17,23,.94); }.navbar-collapse { margin-top: .8rem; padding: 1rem; border: 1px solid var(--border); border-radius: .7rem; background: var(--surface-solid); }.brand-domain { display: none; }.hero { padding-top: 7.5rem; }.display-title { font-size: clamp(2.8rem, 14vw, 4.4rem); }.expertise-card { min-height: 320px; }.card-icon { margin-bottom: 3rem; }.social-rail { left: 50%; bottom: .8rem; flex-direction: row; gap: .45rem; padding: .35rem; transform: translateX(-50%); border: 1px solid var(--border); border-radius: .75rem; background: rgba(11,17,23,.9); box-shadow: 0 12px 35px rgba(0,0,0,.3); backdrop-filter: blur(14px); }.social-rail.is-hidden { transform: translate(-50%, 1.5rem); }.social-line { display: none; }.social-rail a { width: 2.6rem; height: 2.6rem; } }
