:root {
  --bg: #000000;
  --surface: #070908;
  --surface-2: #0b100e;
  --text: #ffffff;
  --muted: #9ca3af;
  --faint: #6b7280;
  --line: rgba(75, 85, 99, 0.46);
  --line-soft: rgba(75, 85, 99, 0.25);
  --green: #10b981;
  --cyan: #22d3ee;
  --violet: #8b7cc8;
  --amber: #eab65a;
  --max: 1420px;
  --gutter: clamp(1.5rem, 4vw, 4.25rem);
  --sans: "Inter", system-ui, sans-serif;
  --mono: "JetBrains Mono", monospace;
  --radius: 16px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --shadow: rgba(0, 0, 0, 0.42);
}

[data-theme="light"] {
  --bg: #f4f1ea;
  --surface: rgba(255, 255, 255, 0.5);
  --surface-2: rgba(255, 255, 255, 0.42);
  --text: #1a1d23;
  --muted: #4b5563;
  --faint: #6b7280;
  --line: rgba(107, 114, 128, 0.34);
  --line-soft: rgba(107, 114, 128, 0.18);
  --green: #047857;
  --cyan: #0e7490;
  --violet: #6d5ba7;
  --amber: #a26708;
  --shadow: rgba(63, 56, 42, 0.16);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  color: var(--text);
  background: var(--bg);
  font-family: var(--sans);
  line-height: 1.55;
  transition: color 280ms ease, background 280ms ease;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea { color: inherit; font: inherit; }
button { border: 0; }
::selection { color: var(--bg); background: var(--green); }
:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }

.skip-link { position: fixed; z-index: 100; top: 1rem; left: 1rem; padding: .7rem 1rem; color: var(--bg); background: var(--green); font: 500 .68rem var(--mono); transform: translateY(-180%); transition: transform 180ms ease; }
.skip-link:focus { transform: translateY(0); }

#network { position: fixed; z-index: 0; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: .46; }
.paper-grid { position: fixed; z-index: 0; inset: 0; opacity: 0; pointer-events: none; background-image: linear-gradient(rgba(107,114,128,.11) 1px, transparent 1px), linear-gradient(90deg, rgba(107,114,128,.11) 1px, transparent 1px); background-size: 32px 32px; transition: opacity 280ms ease; }
[data-theme="light"] .paper-grid { opacity: .72; }

.shell { position: relative; z-index: 2; width: min(100%, var(--max)); margin: 0 auto; padding-right: var(--gutter); padding-left: var(--gutter); }

.site-header { z-index: 30; display: flex; align-items: center; justify-content: space-between; min-height: 106px; border-bottom: 1px solid var(--line-soft); }
.site-header::after { position: absolute; right: var(--gutter); bottom: -2px; width: 52px; height: 3px; content: ""; background: linear-gradient(90deg, transparent, var(--green)); box-shadow: 0 0 12px color-mix(in srgb, var(--green) 55%, transparent); }
.brand { display: inline-flex; align-items: center; gap: .7rem; width: max-content; }
.brand svg { width: 79px; height: 40px; fill: var(--text); }
.brand svg .brand-v { fill: var(--green); }
.brand > span { color: var(--muted); font: 700 .62rem var(--sans); letter-spacing: .09em; text-transform: uppercase; }
.brand > span strong { color: var(--green); font-weight: 700; }

.header-actions { display: flex; align-items: center; gap: .85rem; }
.status { display: flex; align-items: center; gap: .45rem; margin: 0 1.2rem 0 0; color: var(--faint); font: .56rem var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.status i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px color-mix(in srgb, var(--green) 70%, transparent); animation: status-pulse 2.2s ease-in-out infinite; }
.status strong { color: var(--green); font-weight: 500; }
@keyframes status-pulse { 50% { opacity: .3; } }

.theme-toggle, .header-link, .header-cta { display: inline-flex; align-items: center; justify-content: center; height: 36px; padding: 0 .9rem; border: 1px solid var(--line); border-radius: 4px; font: 500 .56rem var(--mono); letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.theme-toggle { gap: .45rem; background: transparent; cursor: pointer; }
.theme-toggle svg { width: 13px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.header-cta { min-width: 120px; border-color: var(--green); color: var(--bg); background: var(--green); font-weight: 600; }
.theme-toggle, .header-link { transition: border-color 180ms ease, color 180ms ease; }
.theme-toggle:hover, .header-link:hover { border-color: var(--green); color: var(--green); }
.header-cta:hover { filter: brightness(1.1); }
.menu-toggle, .mobile-menu { display: none; }

.hero { display: grid; overflow: hidden; grid-template-columns: minmax(0, 1.55fr) minmax(340px, .65fr); gap: clamp(2rem, 5vw, 5.5rem); align-items: center; min-height: 650px; padding-top: clamp(5rem, 8vw, 7.5rem); padding-bottom: clamp(5rem, 8vw, 7.5rem); }
.hero-copy { position: relative; z-index: 3; min-width: 0; }
.eyebrow, .section-code { margin: 0 0 1.55rem; color: var(--green); font: 500 .62rem var(--mono); letter-spacing: .16em; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: .75rem; }
.eyebrow i { width: 3px; height: 3px; background: currentColor; transform: rotate(45deg); }
h1, h2, h3, p { margin-top: 0; }
.hero h1 { width: max-content; max-width: none; margin-bottom: 1.45rem; font-size: clamp(4.8rem, 7.8vw, 7.8rem); font-weight: 700; letter-spacing: -.072em; line-height: .97; }
.hero h1 > span { display: block; white-space: nowrap; }
.hero h1 .accent-line { color: transparent; background: linear-gradient(96deg, var(--green), var(--cyan) 78%); background-clip: text; font-size: .62em; letter-spacing: -.065em; }
.hero-lede { max-width: 650px; margin-bottom: 0; color: var(--muted); font-size: clamp(1.02rem, 1.45vw, 1.25rem); }
.day-note { display: none; margin: 1.5rem 0 0; color: #df755e; font: italic 600 .78rem var(--sans); transform: rotate(-2deg); }
[data-theme="light"] .eyebrow { color: #d66f5a; }
[data-theme="light"] .hero h1 .accent-line { position: relative; color: var(--text); background: none; background-clip: initial; }
[data-theme="light"] .hero h1 .accent-line::after { position: absolute; z-index: -1; right: -.05em; bottom: .04em; left: 0; height: .16em; content: ""; background: #f3cc43; transform: rotate(-.4deg); }
[data-theme="light"] .day-note { display: block; }

.briefing-card { position: relative; z-index: 4; overflow: visible; min-height: 255px; padding: 1.55rem; border: 1px solid var(--line); border-radius: var(--radius); background: color-mix(in srgb, var(--surface) 94%, transparent); box-shadow: 0 24px 70px var(--shadow); backdrop-filter: blur(14px); }
.briefing-head, .briefing-foot { display: flex; align-items: center; justify-content: space-between; color: var(--green); font: 500 .56rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.briefing-count { color: var(--faint); }
.briefing-copy { display: flex; align-items: center; min-height: 154px; padding: 1rem 0; }
.briefing-copy p { margin: 0; font-size: clamp(1rem, 1.45vw, 1.2rem); line-height: 1.55; transition: opacity 180ms ease, transform 280ms var(--ease); }
.briefing-copy.is-changing p { opacity: 0; transform: translateY(7px); }
.briefing-dots { display: flex; gap: .45rem; }
.briefing-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--line); }
.briefing-dots i.active { background: var(--green); box-shadow: 0 0 10px color-mix(in srgb, var(--green) 70%, transparent); }
.briefing-next { display: flex; gap: .5rem; padding: .4rem 0; color: var(--faint); background: transparent; font: 500 .51rem var(--mono); text-transform: uppercase; cursor: pointer; }
.briefing-next:hover { color: var(--green); }
.tape { display: none; }
[data-theme="light"] .briefing-card { border-color: rgba(190,166,60,.52); background: #fff3a8; box-shadow: 0 16px 28px rgba(86,72,30,.2); transform: rotate(1.2deg); }
[data-theme="light"] .briefing-card::after { position: absolute; right: 0; bottom: 0; left: 0; height: 24%; content: ""; border-radius: 0 0 var(--radius) var(--radius); background: linear-gradient(transparent, rgba(255,223,91,.18)); pointer-events: none; }
[data-theme="light"] .briefing-head { color: #5b6470; }
[data-theme="light"] .briefing-copy .emphasis { color: #d85e42; text-decoration: underline; text-decoration-color: #e5b347; text-underline-offset: .2em; }
[data-theme="light"] .briefing-dots i { background: rgba(26,29,35,.14); }
[data-theme="light"] .briefing-dots i.active { background: #1a1d23; box-shadow: none; }
[data-theme="light"] .tape { position: absolute; z-index: 6; top: -10px; left: 40%; display: block; width: 78px; height: 20px; background: rgba(224,119,93,.36); transform: rotate(-2deg); }

.hero-sphere { position: absolute; z-index: 1; top: 50%; left: 54%; width: min(62vw, 710px); aspect-ratio: 1; opacity: .25; pointer-events: none; transform: translate(-50%, -49%); }
.hero-sphere svg { width: 100%; height: 100%; overflow: visible; }
.sphere-shell { fill: none; stroke: var(--green); stroke-width: .7; }
.sphere-shell polygon:first-child { transform-origin: center; animation: sphere-rotate 46s linear infinite; }
.sphere-shell polygon:nth-child(2) { transform-origin: center; animation: sphere-rotate 35s linear infinite reverse; }
.sphere-shell polygon:nth-child(3) { transform-origin: center; animation: sphere-rotate 24s linear infinite; }
.sphere-shell path { opacity: .52; stroke-dasharray: 4 8; }
.sphere-core { fill: color-mix(in srgb, var(--green) 4%, transparent); stroke: var(--green); stroke-width: 1; }
@keyframes sphere-rotate { to { transform: rotate(1turn); } }
[data-theme="light"] .hero-sphere { opacity: .23; }
[data-theme="light"] .sphere-shell { stroke: #7770bd; }
[data-theme="light"] .sphere-core { stroke: #df876e; fill: rgba(223,135,110,.03); }

.services { display: grid; grid-template-columns: minmax(220px, 310px) 1fr; gap: clamp(2rem, 5vw, 6rem); align-items: center; padding-top: 2.25rem; padding-bottom: 2.25rem; border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.services-copy h2 { margin: 0 0 .35rem; font-size: 1rem; font-weight: 700; letter-spacing: -.02em; }
.services-copy p { max-width: 290px; margin: 0 0 .5rem; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.services-copy span { color: var(--faint); font: .52rem var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.service-tags { display: flex; flex-wrap: wrap; gap: .65rem; }
.service-tags span { padding: .64rem .84rem; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: color-mix(in srgb, var(--surface) 72%, transparent); font: .52rem var(--mono); text-transform: uppercase; transition: border-color 180ms ease, color 180ms ease, transform 180ms ease; }
.service-tags span:hover { border-color: var(--green); color: var(--green); transform: translateY(-2px); }

.work { padding-top: clamp(7rem, 12vw, 11rem); padding-bottom: clamp(7rem, 11vw, 10rem); }
.section-heading { display: grid; grid-template-columns: 1fr minmax(260px, 430px); gap: 3rem; align-items: end; margin-bottom: 3.7rem; }
.section-code { margin-bottom: .65rem; }
.section-heading h2 { margin: 0; font-size: clamp(3.6rem, 6vw, 6rem); font-weight: 700; letter-spacing: -.075em; line-height: .95; }
.section-heading > p { margin: 0 0 .15rem; color: var(--muted); font-size: 1rem; }

.project-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.25rem; }
.project-card { --accent: var(--green); min-width: 0; }
.project-card[data-project="patsavvy"] { --accent: var(--violet); }.project-card[data-project="guardian"] { --accent: var(--cyan); }.project-card[data-project="doris"] { --accent: var(--amber); }
.project-card > a, .project-action { display: flex; overflow: hidden; flex-direction: column; width: 100%; height: 100%; padding: 0; border: 1px solid var(--line); border-radius: var(--radius); color: inherit; background: color-mix(in srgb, var(--surface) 96%, transparent); text-align: left; cursor: pointer; transition: transform 500ms var(--ease), border-color 300ms ease, box-shadow 500ms var(--ease); }
.project-card > a:hover, .project-action:hover { border-color: color-mix(in srgb, var(--accent) 46%, transparent); box-shadow: 0 26px 74px var(--shadow); transform: translateY(-6px); }
.card-visual { position: relative; overflow: hidden; height: clamp(300px, 29vw, 420px); border-bottom: 1px solid var(--line-soft); background: var(--surface-2); }
.card-visual::after { position: absolute; inset: 0; content: ""; pointer-events: none; background: linear-gradient(145deg, rgba(255,255,255,.028), transparent 34%); }
.visual-mark { position: absolute; z-index: 4; top: 1rem; right: 1rem; display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 38%, transparent); border-radius: 50%; color: var(--accent); background: color-mix(in srgb, var(--accent) 7%, transparent); font: 500 .56rem var(--mono); }
.card-body { display: flex; flex: 1; flex-direction: column; padding: clamp(1.35rem, 2.4vw, 2.15rem); }
.card-tags, .archive-tags { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1.25rem; }
.card-tags span, .archive-tags span { padding: .32rem .5rem; border: 1px solid var(--line); border-radius: 4px; color: var(--faint); font: 500 .48rem var(--mono); text-transform: uppercase; }
.card-tags span:first-child { border-color: color-mix(in srgb, var(--accent) 38%, transparent); color: var(--accent); }
.card-title { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.card-title h3 { margin: 0 0 .8rem; font-size: clamp(1.55rem, 2.3vw, 2.15rem); letter-spacing: -.05em; }
.card-title h3 em { color: var(--muted); font-size: .58em; font-style: normal; font-weight: 500; }
.card-title small { color: var(--faint); font: .5rem var(--mono); white-space: nowrap; }
.card-body > p { max-width: 580px; margin-bottom: 1.7rem; color: var(--muted); font-size: .88rem; line-height: 1.7; }
.card-body footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--line-soft); color: var(--faint); font: .5rem var(--mono); text-transform: uppercase; }
.card-body footer b { color: var(--accent); font-weight: 500; }

.token-visual { background: radial-gradient(circle at 55% 45%, color-mix(in srgb, var(--green) 12%, transparent), transparent 58%), var(--surface-2); }
.visual-grid { position: absolute; inset: 0; background-image: linear-gradient(color-mix(in srgb, var(--green) 7%, transparent) 1px, transparent 1px), linear-gradient(90deg,color-mix(in srgb,var(--green) 7%,transparent) 1px,transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to top,black,transparent 92%); }
.token-visual svg { position: absolute; right: 0; bottom: 0; left: 0; width: 100%; height: 82%; }.token-area { fill: color-mix(in srgb, var(--green) 11%, transparent); }.token-line { fill: none; stroke: var(--green); stroke-width: 2; vector-effect: non-scaling-stroke; stroke-dasharray: 1000; animation: token-draw 4.8s var(--ease) infinite; }
@keyframes token-draw { 0% { stroke-dashoffset:1000;opacity:0 } 20%,80% { stroke-dashoffset:0;opacity:1 } 100% { stroke-dashoffset:0;opacity:0 } }
.token-scanline { position: absolute; z-index: 2; top: 0; bottom: 0; width: 1px; background: linear-gradient(transparent,var(--green),transparent); box-shadow: 0 0 10px color-mix(in srgb,var(--green) 55%,transparent); animation: scan-across 5.4s ease-in-out infinite; }
@keyframes scan-across { 0%,100% { left:8%;opacity:0 } 20%,80% { opacity:.5 } 50% { left:87% } }
.data-readout { position: absolute; z-index: 3; display: flex; flex-direction: column; padding: .5rem .6rem; border: 1px solid color-mix(in srgb,var(--green) 30%,transparent); border-radius: 4px; background: color-mix(in srgb,var(--bg) 78%,transparent); backdrop-filter: blur(7px); font-family: var(--mono); }
.data-readout span { color: var(--faint); font-size: .43rem; text-transform: uppercase; }.data-readout b { color: var(--green); font-size: .7rem; font-weight: 500; }.readout-a { top:30%;left:18%;animation:float-label 3.8s ease-in-out infinite }.readout-b { right:15%;bottom:18%;animation:float-label 4.3s 700ms ease-in-out infinite }
@keyframes float-label { 50% { transform:translateY(-6px) } }

.aura-visual { display:grid;place-items:center;background:radial-gradient(circle,color-mix(in srgb,var(--violet) 17%,transparent),transparent 52%),var(--surface-2) }
.aura-ring { position:absolute;width:42%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--violet) 24%,transparent);border-radius:50% }.aura-ring i { position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--violet);box-shadow:0 0 14px color-mix(in srgb,var(--violet) 70%,transparent) }.ring-a{animation:ring-a 10s linear infinite}.ring-b{transform:rotate(60deg) scaleX(1.35);animation:ring-b 14s linear infinite reverse}.ring-c{transform:rotate(-38deg) scaleY(.67);animation:ring-c 12s linear infinite}@keyframes ring-a{to{transform:rotate(1turn)}}@keyframes ring-b{to{transform:rotate(420deg) scaleX(1.35)}}@keyframes ring-c{to{transform:rotate(322deg) scaleY(.67)}}
.aura-core{position:relative;z-index:2;display:grid;width:90px;height:90px;place-items:center;border:1px solid color-mix(in srgb,var(--violet) 62%,transparent);border-radius:50%;background:color-mix(in srgb,var(--violet) 9%,transparent);box-shadow:0 0 50px color-mix(in srgb,var(--violet) 17%,transparent)}.aura-core b{color:color-mix(in srgb,var(--violet) 72%,var(--text));font-size:1.9rem}.aura-core small{position:absolute;top:calc(100% + .65rem);color:var(--violet);font:.46rem var(--mono);text-transform:uppercase}
.visual-label{position:absolute;padding:.27rem .45rem;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:4px;color:var(--accent);background:color-mix(in srgb,var(--bg) 78%,transparent);font:.44rem var(--mono);text-transform:uppercase}.label-a{top:23%;left:13%}.label-b{top:18%;right:15%}.label-c{right:17%;bottom:18%}

.guardian-visual{background:radial-gradient(circle at 50% 48%,color-mix(in srgb,var(--cyan) 12%,transparent),transparent 60%),var(--surface-2)}.guardian-visual>svg{position:absolute;inset:7% 3%;width:94%;height:86%}.guardian-links path{fill:none;stroke:color-mix(in srgb,var(--cyan) 35%,transparent);stroke-width:1;stroke-dasharray:5 7;animation:dash-flow 15s linear infinite}@keyframes dash-flow{to{stroke-dashoffset:-180}}.guardian-nodes circle{fill:var(--cyan);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--cyan) 65%,transparent));transform-box:fill-box;transform-origin:center;animation:node-breathe 2.7s ease-in-out infinite alternate}.guardian-nodes circle:nth-child(2n){animation-delay:-1s}.guardian-nodes circle:nth-child(3n){animation-delay:-1.8s}@keyframes node-breathe{to{opacity:.25;transform:scale(.62)}}
.guardian-scan{position:absolute;z-index:2;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 11px color-mix(in srgb,var(--cyan) 60%,transparent);animation:scan-down 4.7s ease-in-out infinite}@keyframes scan-down{0%,100%{top:12%;opacity:0}20%,80%{opacity:.5}50%{top:86%}}.guardian-company{top:14%;left:22%}.guardian-liability{top:43%;right:12%}.guardian-patent{bottom:13%;left:35%}

.doris-visual{display:grid;place-items:center;background:radial-gradient(circle,color-mix(in srgb,var(--amber) 11%,transparent),transparent 62%),var(--surface-2)}.doris-window{display:grid;grid-template-columns:44px 1fr;width:min(76%,460px);aspect-ratio:1.65;overflow:hidden;border:1px solid color-mix(in srgb,var(--amber) 31%,transparent);border-radius:7px;background:color-mix(in srgb,var(--surface) 93%,transparent);box-shadow:0 24px 60px var(--shadow);transform:perspective(900px) rotateY(-8deg) rotateX(3deg);animation:window-float 5s ease-in-out infinite}@keyframes window-float{50%{transform:perspective(900px) rotateY(-2deg) rotateX(0) translateY(-7px)}}
.doris-nav{display:flex;align-items:center;flex-direction:column;gap:.7rem;padding-top:.9rem;border-right:1px solid color-mix(in srgb,var(--amber) 17%,transparent);background:color-mix(in srgb,var(--amber) 4%,transparent)}.doris-nav i{width:14px;height:14px;border:1px solid color-mix(in srgb,var(--amber) 30%,transparent);border-radius:3px}.doris-nav i:first-child{background:var(--amber);animation:nav-pulse 2.8s ease-in-out infinite}@keyframes nav-pulse{50%{box-shadow:0 0 12px color-mix(in srgb,var(--amber) 65%,transparent)}}.doris-dashboard{padding:1rem}.dashboard-head{display:flex;justify-content:space-between;color:var(--faint);font:.45rem var(--mono);text-transform:uppercase}.dashboard-head b{color:var(--amber);font-weight:500}
.health-chart{display:flex;align-items:end;height:48%;gap:7px;margin:.7rem 0 1rem;padding:0 .2rem;border-bottom:1px solid color-mix(in srgb,var(--amber) 17%,transparent)}.health-chart i{flex:1;height:var(--h,50%);background:linear-gradient(var(--amber),color-mix(in srgb,var(--amber) 8%,transparent));transform-origin:bottom;animation:bar-grow 3.2s var(--ease) infinite alternate}.health-chart i:nth-child(1){--h:32%;animation-delay:-.3s}.health-chart i:nth-child(2){--h:58%;animation-delay:-.7s}.health-chart i:nth-child(3){--h:45%;animation-delay:-1.1s}.health-chart i:nth-child(4){--h:79%;animation-delay:-1.5s}.health-chart i:nth-child(5){--h:61%;animation-delay:-1.9s}.health-chart i:nth-child(6){--h:88%;animation-delay:-2.3s}.health-chart i:nth-child(7){--h:72%;animation-delay:-2.7s}@keyframes bar-grow{50%{transform:scaleY(.74);opacity:.67}}
.health-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.health-stats span{padding:.35rem;border:1px solid color-mix(in srgb,var(--amber) 13%,transparent);border-radius:3px}.health-stats b,.health-stats small{display:block}.health-stats b{color:var(--amber);font:500 .56rem var(--mono)}.health-stats small{color:var(--faint);font:.35rem var(--mono);text-transform:uppercase}.doris-cursor{position:absolute;z-index:3;top:62%;left:57%;width:14px;height:18px;clip-path:polygon(0 0,100% 70%,58% 73%,76% 100%,60% 100%,43% 76%,0 100%);background:var(--text);filter:drop-shadow(0 2px 3px rgba(0,0,0,.5));animation:cursor-tour 7s var(--ease) infinite}@keyframes cursor-tour{0%,100%{transform:translate(-70px,20px)}35%{transform:translate(55px,-64px)}68%{transform:translate(105px,34px)}}

[data-theme="light"] .card-visual { background-color: rgba(255,255,255,.62); }
[data-theme="light"] .token-visual { background: radial-gradient(circle at 55% 45%,rgba(16,185,129,.13),transparent 58%),rgba(219,241,229,.58); }
[data-theme="light"] .aura-visual { background: radial-gradient(circle,rgba(139,124,200,.16),transparent 55%),rgba(235,230,249,.58); }
[data-theme="light"] .guardian-visual { background: radial-gradient(circle,rgba(14,116,144,.12),transparent 60%),rgba(226,240,243,.58); }
[data-theme="light"] .doris-visual { background: radial-gradient(circle,rgba(234,182,90,.13),transparent 60%),rgba(250,239,215,.58); }

.archive-link { display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2.5rem;padding:1.25rem 0;border-bottom:1px solid var(--line-soft);color:var(--faint);font-size:.76rem }.archive-link a{display:flex;gap:1rem;color:var(--muted);font:500 .54rem var(--mono);text-transform:uppercase}.archive-link a b{color:var(--green);font-weight:500}.archive-link a:hover{color:var(--green)}

.contact { padding-bottom: clamp(6rem, 11vw, 10rem); }
.contact-panel { display:grid;grid-template-columns:1fr minmax(380px,.9fr);gap:clamp(3rem,7vw,7rem);padding:clamp(2rem,5vw,5rem);border:1px solid color-mix(in srgb,var(--green) 42%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 96%,transparent) }
.contact-copy h2{max-width:11ch;margin-bottom:1.35rem;font-size:clamp(3rem,5vw,5rem);font-weight:700;letter-spacing:-.075em;line-height:1.02}.contact-copy h2 span{color:var(--green)}.contact-copy>p:not(.section-code){max-width:520px;margin-bottom:2rem;color:var(--muted)}
.schedule-button{display:flex;align-items:center;justify-content:space-between;width:min(100%,330px);min-height:58px;padding:.75rem 1rem;border:1px solid var(--green);border-radius:4px;color:var(--bg);background:var(--green);font:600 .63rem var(--mono);letter-spacing:.02em;text-transform:uppercase;box-shadow:0 8px 26px color-mix(in srgb,var(--green) 13%,transparent);transition:transform 220ms var(--ease),filter 180ms ease}.schedule-button small{display:block;margin-bottom:.2rem;color:color-mix(in srgb,var(--bg) 70%,transparent);font-size:.43rem;font-weight:500}.schedule-button b{font-size:1rem;font-weight:400}.schedule-button:hover{filter:brightness(1.08);transform:translateY(-2px)}
.contact-form{display:flex;flex-direction:column;gap:1.45rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form label{display:flex;flex-direction:column;gap:.5rem}.contact-form label>span{color:var(--faint);font:.5rem var(--mono);text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;padding:.8rem 0;border:0;border-bottom:1px solid var(--line);border-radius:0;outline:none;background:transparent;resize:none}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--faint)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--green)}.message-field textarea{min-height:46px;max-height:130px;overflow-y:auto;line-height:1.5}.send-button{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:.85rem 1rem;border:1px solid var(--green);border-radius:4px;color:var(--bg);background:var(--green);font:600 .6rem var(--mono);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;transition:filter 180ms ease,transform 180ms ease}.send-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.send-button:disabled{opacity:.6;cursor:wait}.form-status{min-height:1em;margin:-.6rem 0 0;color:var(--green);font:.52rem var(--mono)}

.site-footer { display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding-top:2.8rem;padding-bottom:2.8rem;border-top:1px solid var(--line-soft);color:var(--faint);font:.52rem/1.65 var(--mono);text-transform:uppercase }.site-footer p{margin:0}.site-footer>div:last-child{display:flex;align-items:flex-end;flex-direction:column}.site-footer a:hover{color:var(--green)}

.archive { padding-top:clamp(6rem,10vw,9rem);padding-bottom:clamp(6rem,10vw,9rem) }.archive-intro{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:4rem;margin-bottom:5rem}.archive-intro>.section-code{grid-column:1/-1;margin-bottom:-2.5rem}.archive-intro h1{margin:0;font-size:clamp(3.8rem,7vw,7rem);font-weight:700;letter-spacing:-.08em;line-height:.95}.archive-intro>div p{margin-bottom:1rem;color:var(--muted)}.archive-intro>div a{color:var(--green);font:500 .56rem var(--mono);text-transform:uppercase}
.archive-table{border-top:1px solid var(--line)}.archive-table article{display:grid;grid-template-columns:56px minmax(0,1fr) 110px;gap:2rem;align-items:start;padding:2rem 0;border-bottom:1px solid var(--line-soft);transition:padding 320ms var(--ease),background 220ms ease}.archive-table article:hover{padding-right:1rem;padding-left:1rem;background:linear-gradient(90deg,color-mix(in srgb,var(--green) 5%,transparent),transparent 70%)}.archive-number{padding-top:.2rem;color:var(--green);font:.55rem var(--mono)}.archive-tags{margin-bottom:.7rem}.archive-tags span:first-child{color:var(--green);border-color:color-mix(in srgb,var(--green) 38%,transparent)}.archive-table h2{margin:0 0 .55rem;font-size:clamp(1.4rem,2.2vw,2rem);letter-spacing:-.045em}.archive-table article p{max-width:760px;margin:0;color:var(--muted);font-size:.87rem;line-height:1.65}.archive-table article small{display:block;margin-top:.65rem;color:var(--faint);font:.5rem var(--mono)}.archive-table article>button,.archive-state{justify-self:end;margin-top:.1rem;padding:.55rem 0;color:var(--green);background:transparent;font:500 .52rem var(--mono);text-transform:uppercase;cursor:pointer}.archive-state{color:var(--faint)}.archive-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:3rem;padding:1.5rem;border:1px solid var(--line);border-radius:8px}.archive-cta p{margin:0;color:var(--muted)}.archive-cta a{color:var(--green);font:500 .56rem var(--mono);text-transform:uppercase}

.reveal { opacity:0;transform:translateY(20px);transition:opacity 760ms var(--ease),transform 760ms var(--ease);transition-delay:calc(var(--delay,0)*100ms) }.reveal[data-delay="1"]{--delay:1}.reveal.is-visible{opacity:1;transform:none}

@media (max-width:1080px){.status,.header-link{display:none}.hero{grid-template-columns:1fr;padding-top:6rem}.hero h1{font-size:clamp(4rem,9vw,6.3rem)}.briefing-card{width:min(100%,620px);justify-self:end}.hero-sphere{left:70%;width:min(92vw,720px)}.services{grid-template-columns:1fr;gap:1.4rem}.services-copy p{max-width:500px}.contact-panel{grid-template-columns:1fr}.archive-intro{grid-template-columns:1fr}.archive-intro>.section-code{margin-bottom:0}.archive-intro>div{max-width:560px}}

@media (max-width:720px){.site-header{min-height:80px}.header-actions{display:none}.brand svg{width:62px;height:34px}.brand>span{display:none}.menu-toggle{position:relative;z-index:12;display:flex;flex-direction:column;justify-content:center;gap:6px;width:42px;height:42px;padding:10px;background:transparent;cursor:pointer}.menu-toggle i{display:block;width:22px;height:1px;background:var(--text);transition:transform 220ms ease}.menu-open .menu-toggle i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle i:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{position:fixed;z-index:10;inset:0;display:flex;visibility:hidden;align-items:flex-start;flex-direction:column;justify-content:center;gap:1.4rem;padding:6rem var(--gutter);background:var(--bg);opacity:0;transform:translateY(-10px);transition:opacity 220ms ease,transform 220ms ease,visibility 220ms}.menu-open .mobile-menu{visibility:visible;opacity:1;transform:none}.mobile-menu a{font-size:clamp(2.4rem,12vw,4rem);font-weight:700;letter-spacing:-.07em}.hero{min-height:auto;padding-top:5rem}.hero h1{width:auto;font-size:clamp(3.15rem,14vw,5.3rem)}.hero h1>span{white-space:normal}.hero h1 .accent-line{font-size:.66em}.hero-sphere{top:42%;left:92%;width:160vw;opacity:.16}.briefing-card{width:100%}.section-heading{grid-template-columns:1fr;gap:1.3rem}.project-grid{grid-template-columns:1fr}.card-visual{height:300px}.card-title{align-items:flex-start;flex-direction:column;gap:0}.archive-link{align-items:flex-start;flex-direction:column}.form-row{grid-template-columns:1fr}.site-footer{align-items:flex-start;flex-direction:column}.site-footer>div:last-child{align-items:flex-start}.archive-table article{grid-template-columns:36px 1fr}.archive-table article>button,.archive-state{grid-column:2;justify-self:start}.archive-cta{align-items:flex-start;flex-direction:column}}

@media (max-width:450px){.hero h1{font-size:3.4rem}.hero h1 .accent-line{font-size:.58em}.eyebrow{font-size:.52rem}.card-visual{height:245px}.service-tags span{padding:.55rem .66rem;font-size:.47rem}.contact-panel{padding:1.45rem}.archive-table article{grid-template-columns:1fr}.archive-number,.archive-table article>button,.archive-state{grid-column:1}.archive-table article>button,.archive-state{justify-self:start}}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
