/* Zyvron. Generated from the option D design; colors are tokens in :root. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;overflow-x:hidden}
:root{--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;--gutter:clamp(1.25rem,5vw,3.5rem);--max:78rem}
a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:var(--gutter);top:-3rem;padding:.5rem .75rem;background:var(--ink);color:var(--bg);z-index:10}
.skip-link:focus{top:.75rem}
.wrap{width:100%;max-width:calc(var(--max) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.mark,.lockup{display:block;width:100%;height:auto;color:var(--ink);overflow:visible}
.top{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding-block:1.5rem}
.top .brand-link{width:8.5rem;color:var(--ink)}
.top nav{display:flex;gap:1.5rem;font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.top nav a{color:var(--muted);text-decoration:none}
.top nav a:hover{color:var(--ink)}
@media (max-width:40rem){.top nav{display:none}}
.focus-list{list-style:none;margin:0;padding:0}
footer{font-size:.8125rem;color:var(--muted);line-height:1.6}
footer p{margin:0 0 .5rem;max-width:48rem}
footer a{color:var(--muted)}
.art .ln,.art .lk,.art .fl,.art .face{stroke:var(--draw)}
.plate .art .ln,.plate .art .face{stroke-width:.7}.plate .art .fl{stroke-width:.5}
.art .ln{stroke-width:1;opacity:.55}
.art .lk{stroke-width:1;stroke-dasharray:.02 .02;opacity:.7}
.art .fl{stroke-width:.75;opacity:.35}
.art .face{stroke-width:1.1;fill:var(--bg)}
.art .nd{fill:var(--bg);stroke:var(--draw);stroke-width:1.4;vector-effect:non-scaling-stroke}
.art .nd.hot{fill:var(--mark-accent)}
@media (prefers-reduced-motion:no-preference){
  .art.anim .ln,.art.anim .face,.art.anim .fl{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.6s cubic-bezier(.6,0,.2,1) forwards;animation-delay:calc(var(--i)*14ms)}
  .art.anim .nd{opacity:0;animation:pop .5s ease forwards;animation-delay:calc(400ms + var(--i)*10ms)}
  .art.anim .nd.hot{animation:pop .5s ease forwards,pulse 3.2s ease-in-out 2.5s infinite}
  @keyframes draw{to{stroke-dashoffset:0}}
  @keyframes pop{to{opacity:1}}
  @keyframes pulse{50%{opacity:.35}}
  @supports (animation-timeline:view()){
    .reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
    @keyframes rise{from{opacity:0;transform:translateY(24px)}}
  }
}

.art .sig{stroke:var(--sig,var(--mark-accent));stroke-width:2;fill:none}
.plate .art .sig{stroke-width:1.4}
.art .halo{fill:var(--mark-accent);opacity:.18}
.art .bar{stroke:var(--draw);stroke-width:.7;fill:color-mix(in srgb,var(--draw) 14%,transparent)}
@media (prefers-reduced-motion:no-preference){
  .art.anim .sig,.art.anim .bar{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.2s cubic-bezier(.6,0,.2,1) forwards;animation-delay:calc(300ms + var(--i)*14ms)}
  .art.anim .halo{animation:breathe 4s ease-in-out infinite}
  @keyframes breathe{50%{opacity:.04}}
}
.foot{display:grid;gap:2rem;padding-block:3rem}
.foot-brand{width:8rem;color:var(--ink)}
.foot-text p{margin:0 0 .6rem}
@media (min-width:56rem){.foot{grid-template-columns:14rem 1fr}}
.top-right{display:flex;align-items:center;gap:1.75rem}
.signin{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .95rem;border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none;transition:border-color .3s,background .3s}
.signin:hover{border-color:var(--mark-accent);background:color-mix(in srgb,var(--mark-accent) 14%,transparent)}
.kicker{font-family:var(--mono);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

:root{--bg:#05060d;--ink:#f5f6ff;--muted:#a3a8c3;--line:rgba(140,150,255,.16);--card:rgba(255,255,255,.035);--accent:#7aa6ff;--mark-accent:#2a6dff;--g1:#2a6dff;--g2:#6d4aff;--g3:#22c4ee;--glow:.55;--draw:#8fb2ff}
.aurora{position:absolute;inset:0 0 auto 0;height:115svh;overflow:hidden;pointer-events:none;z-index:0}
.aurora i{position:absolute;border-radius:50%;filter:blur(70px);opacity:var(--glow)}
.aurora i:nth-child(1){width:60vmax;height:60vmax;left:-15vmax;top:-25vmax;background:radial-gradient(circle,var(--g1),transparent 65%)}
.aurora i:nth-child(2){width:55vmax;height:55vmax;right:-20vmax;top:-10vmax;background:radial-gradient(circle,var(--g2),transparent 65%)}
.aurora i:nth-child(3){width:40vmax;height:40vmax;left:30%;top:40%;background:radial-gradient(circle,var(--g3),transparent 65%);opacity:calc(var(--glow)*.45)}
.aurora::after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 60% 55% at 50% 40%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse 60% 55% at 50% 40%,#000 10%,transparent 70%);opacity:.6}
@media (prefers-reduced-motion:no-preference){
  .aurora i:nth-child(1){animation:drift1 22s ease-in-out infinite alternate}
  .aurora i:nth-child(2){animation:drift2 26s ease-in-out infinite alternate}
  .aurora i:nth-child(3){animation:drift1 30s ease-in-out infinite alternate-reverse}
  @keyframes drift1{to{transform:translate(12vmax,8vmax) scale(1.15)}}
  @keyframes drift2{to{transform:translate(-10vmax,12vmax) scale(.9)}}
}
main,.top,.site-footer{position:relative;z-index:1}
.hero{min-height:calc(100svh - 5rem);display:grid;place-items:center;text-align:center;padding-block:3rem 5rem}
.hero-in{display:flex;flex-direction:column;align-items:center}
.chip{margin:0 0 clamp(2.25rem,6vw,3.5rem);display:inline-flex;align-items:center;gap:.6rem;padding:.45rem 1rem .45rem .8rem;border-radius:999px;font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:linear-gradient(var(--bg),var(--bg)) padding-box,linear-gradient(90deg,var(--g1),var(--g2),var(--g3)) border-box;border:1px solid transparent}
.chip::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--g3);box-shadow:0 0 12px var(--g3)}
.hero-logo{width:min(100%,44rem)}
.hero-logo .mark{filter:drop-shadow(0 0 calc(var(--glow)*60px) rgba(42,109,255,calc(var(--glow)*.75)))}
.headline{margin:clamp(2.5rem,6vw,3.5rem) 0 0;font-size:clamp(2rem,5.6vw,4rem);font-weight:650;letter-spacing:-.04em;line-height:1.02}
@media (max-width:40rem){.headline span{display:block}}
.headline span:last-child{background:linear-gradient(95deg,var(--g1),var(--g2) 60%,var(--g3));-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{margin:1.5rem 0 0;max-width:40rem;color:var(--muted);font-size:clamp(1.05rem,2.4vw,1.3rem);line-height:1.55}
section{padding-block:clamp(4rem,9vw,6.5rem)}
h2{margin:0 0 2.5rem;font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
h2 .idx{margin-right:.9em;background:linear-gradient(90deg,var(--g1),var(--g2));-webkit-background-clip:text;background-clip:text;color:transparent}
.about-grid{display:grid;gap:1.5rem}
.about-lead{margin:0;font-size:clamp(1.5rem,3.6vw,2.4rem);font-weight:600;letter-spacing:-.03em;line-height:1.2}
.about-body{margin:0;color:var(--muted);font-size:1.0625rem;align-self:end}
@media (min-width:56rem){.about-grid{grid-template-columns:1.3fr 1fr;gap:4rem}}
.caps{list-style:none;padding:0;margin:3rem 0 0;display:flex;flex-wrap:wrap;gap:.6rem}
.caps li{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;padding:.45rem .8rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--muted)}
.focus-list{display:grid;gap:1.25rem}
@media (min-width:56rem){.focus-list{grid-template-columns:repeat(3,1fr)}}
.focus-list li{position:relative;padding:2rem;border-radius:20px;background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s}
.focus-list .f-tech{background:linear-gradient(160deg,rgba(42,109,255,.14),rgba(109,74,255,.06) 60%,var(--card))}
.focus-list li::before{content:"";position:absolute;inset:0 20% auto;height:1px;background:linear-gradient(90deg,transparent,var(--g1),var(--g2),transparent)}
.focus-list li:hover{transform:translateY(-4px);border-color:rgba(109,74,255,.45);box-shadow:0 20px 60px -20px rgba(42,109,255,calc(var(--glow)*.9))}
.tile{display:grid;place-items:center;width:3rem;height:3rem;border-radius:14px;margin-bottom:1.75rem;color:#fff;background:linear-gradient(135deg,var(--g1),var(--g2));box-shadow:0 8px 24px -6px rgba(42,109,255,.6)}
.tile .ic{width:1.5rem;height:1.5rem}
.focus-list h3{margin:0 0 .6rem;font-size:1.25rem;font-weight:600;letter-spacing:-.015em}
.focus-list p{margin:0;color:var(--muted);font-size:1rem}
.how-list{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem;counter-reset:s}
@media (min-width:56rem){.how-list{grid-template-columns:repeat(4,1fr);gap:2rem}}
.how-list li{position:relative;padding-top:1.75rem;counter-increment:s}
.how-list li::before{content:"0" counter(s);position:absolute;top:0;left:0;font-family:var(--mono);font-size:.75rem;color:var(--accent)}
.how-list li::after{content:"";position:absolute;top:.45rem;left:2.2rem;right:0;height:1px;background:linear-gradient(90deg,var(--g1),transparent)}
.how-list h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}
.how-list p{margin:0;color:var(--muted);font-size:.975rem}
.principles-list{list-style:none;margin:0;padding:0;counter-reset:p}
.principles-list li{display:grid;gap:.4rem;padding-block:1.6rem;border-top:1px solid var(--line);counter-increment:p}
.principles-list li:last-child{border-bottom:1px solid var(--line)}
.principles-list h3{margin:0;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:650;letter-spacing:-.035em;line-height:1.1}
.principles-list h3::before{content:"0" counter(p) "  ";font-family:var(--mono);font-size:.8rem;font-weight:400;letter-spacing:0;vertical-align:.9em;margin-right:.8rem;color:var(--accent)}
.principles-list p{margin:0;color:var(--muted)}
@media (min-width:56rem){.principles-list li{grid-template-columns:1.1fr 1fr;align-items:baseline;gap:3rem}}
.contact{text-align:center}
.contact-note{color:var(--muted);margin:0 0 1.25rem}
.contact-link{display:inline-block;padding:1rem 1.75rem;border-radius:999px;font-size:clamp(1.05rem,3.6vw,1.375rem);font-weight:600;color:#fff;text-decoration:none;background:linear-gradient(90deg,var(--g1),var(--g2));box-shadow:0 10px 40px -10px rgba(109,74,255,.8);transition:transform .3s,box-shadow .3s;overflow-wrap:anywhere}
.contact-link:hover{transform:translateY(-2px)}
.site-footer{border-top:1px solid var(--line)}

/* ---- motion: all CSS, all off under reduced motion ---- */
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
.pulses{position:absolute;inset:0;-webkit-mask-image:radial-gradient(ellipse 60% 55% at 50% 40%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse 60% 55% at 50% 40%,#000 10%,transparent 70%)}
.pulses b{position:absolute;display:block;opacity:0}
.pulses b.v{width:1.5px;height:110px;top:-110px;background:linear-gradient(transparent,var(--g3));box-shadow:0 6px 12px -2px var(--g3)}
.pulses b.h{height:1.5px;width:130px;left:-130px;background:linear-gradient(90deg,transparent,#5b95ff);box-shadow:6px 0 12px -2px var(--g1)}
.hero-logo{position:relative}
.pulses b.v:nth-child(1){left:448px;animation-delay:0s}.pulses b.v:nth-child(2){left:728px;animation-delay:-2.5s}.pulses b.v:nth-child(3){left:1064px;animation-delay:-4.8s}.pulses b.v:nth-child(4){left:1344px;animation-delay:-1.2s}.pulses b.v:nth-child(5){left:280px;animation-delay:-5.9s}.pulses b.h:nth-child(6){top:168px;animation-delay:-1s}.pulses b.h:nth-child(7){top:336px;animation-delay:-4.5s}.pulses b.h:nth-child(8){top:504px;animation-delay:-7s}
.hero-logo::after{content:"";position:absolute;top:-14%;bottom:-14%;left:0;width:2px;background:linear-gradient(transparent,var(--g3),transparent);box-shadow:0 0 22px 5px rgba(34,196,238,.45);opacity:0;pointer-events:none}
.contact-link{position:relative;overflow:hidden}
.contact-link::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);pointer-events:none;opacity:0}
.focus-list li::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:conic-gradient(from var(--a),transparent 0 62%,var(--g3) 78%,var(--g1) 88%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .5s;pointer-events:none}
.signin:hover{box-shadow:0 0 22px -4px var(--g1)}
@media (prefers-reduced-motion:no-preference){
  .chip::before{animation:led 2.4s ease-in-out infinite}
  @keyframes led{0%{box-shadow:0 0 0 0 rgba(34,196,238,.75),0 0 12px var(--g3);opacity:1}45%{opacity:1}55%{opacity:.35}65%{opacity:1}100%{box-shadow:0 0 0 9px rgba(34,196,238,0),0 0 12px var(--g3);opacity:1}}
  .hero-logo::after{animation:scan 1.9s .5s cubic-bezier(.5,0,.3,1) forwards}
  @keyframes scan{0%{left:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:100%;opacity:0}}
  .hero-logo .mark-accent{animation:notch-on .7s 1.85s both,notch 5s 3s ease-in-out infinite}
  @keyframes notch-on{0%{opacity:.12}35%{opacity:1;stroke:#cfe0ff;filter:drop-shadow(0 0 10px #4d8bff)}100%{opacity:1}}
  @keyframes notch{0%,100%{opacity:1}50%{opacity:.55;stroke:#7fb2ff;filter:drop-shadow(0 0 8px #2a6dff)}}
  .headline span:last-child{background-size:220% 100%;animation:flow 9s ease-in-out infinite alternate}
  @keyframes flow{to{background-position:100% 0}}
  .pulses b.v{animation:fall 7s linear infinite}
  .pulses b.h{animation:run 9s linear infinite}
  @keyframes fall{0%{top:-90px;opacity:0}10%{opacity:.9}80%{opacity:.9}100%{top:100%;opacity:0}}
  @keyframes run{0%{left:-110px;opacity:0}10%{opacity:.8}80%{opacity:.8}100%{left:100%;opacity:0}}
  .focus-list .f-tech::after{opacity:.9;animation:spin 7s linear infinite}
  
  .focus-list li:hover::after{opacity:1;animation:spin 3s linear infinite}
  @keyframes spin{to{--a:360deg}}
  .contact-link::after{animation:shine 5.5s 1.5s ease-in-out infinite}
  @keyframes shine{0%{left:-40%;opacity:0}6%{opacity:1}22%{left:120%;opacity:1}23%,100%{left:120%;opacity:0}}
}

/* ---- institutional layout: whitespace and two columns; all of option D's effects stay ---- */
:root{--soft:#9db8ff}
.hero-logo{width:min(100%,40rem)}
.headline{margin-top:clamp(2.75rem,6vw,4rem);font-size:clamp(1.9rem,4.8vw,3.6rem);font-weight:620;letter-spacing:-.035em;line-height:1.08}
.lede{max-width:38rem;font-size:clamp(1.05rem,2.2vw,1.2rem);line-height:1.6}
section{padding-block:clamp(3.75rem,8vw,6.5rem);border-top:1px solid var(--line)}
.hero{border-top:0}
h2{letter-spacing:.18em}
@media (min-width:60rem){
  main>section:not(.hero):not(.contact-band){display:grid;grid-template-columns:13rem 1fr;column-gap:4rem;align-items:start}
  main>section:not(.hero):not(.contact-band)>h2{grid-row:1/span 4;margin:.45rem 0 0}
  main>section:not(.hero):not(.contact-band)>*:not(h2){grid-column:2}
}
.about-grid{display:grid;grid-template-columns:1fr;gap:1.75rem}
.about-lead{font-size:clamp(1.45rem,3vw,2.15rem);font-weight:500;letter-spacing:-.025em;line-height:1.25;max-width:40rem}
.about-body{max-width:38rem;font-size:1.0625rem}
.principles-list h3{font-size:clamp(1.25rem,2.6vw,1.7rem);font-weight:550;letter-spacing:-.025em}
@media (min-width:56rem){.principles-list li{grid-template-columns:1fr 1.1fr;gap:2.5rem}}
.contact{text-align:left}

/* production additions */
.prose{padding-block:clamp(3rem,10vw,5.5rem)}
.prose>*{max-width:44rem}
.prose h1{margin:0 0 .75rem;font-size:clamp(2rem,6vw,3rem);font-weight:650;letter-spacing:-.035em;line-height:1.1}
.prose h2{margin:2.5rem 0 .75rem}
.prose p,.prose li{color:var(--ink)}
.prose ul{padding-left:1.25rem}
.prose li+li{margin-top:.4rem}
.meta{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;color:var(--muted)}
.back{display:inline-block;margin-top:2.5rem}
.site-footer .legal{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.placeholder,.prose p.placeholder{color:#f2c46d;font-family:var(--mono);font-size:.875em;letter-spacing:.02em}
.draft{display:inline-block;margin:0 0 1.5rem;padding:.3rem .7rem;border:1px solid var(--g2);border-radius:999px;font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
/* ---- home, second pass: richer focus cards ---- */
.focus-list li{display:flex;flex-direction:column;padding:1.25rem 1.25rem 1.75rem;min-height:100%}
.focus-list li:hover{transform:translateY(-6px);box-shadow:0 26px 70px -24px rgba(42,109,255,.75)}
.fx{position:relative;height:9.5rem;margin-bottom:1.4rem;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(120% 90% at 20% 0%,rgba(42,109,255,.28),transparent 60%),radial-gradient(90% 80% at 100% 100%,rgba(109,74,255,.24),transparent 65%),#080a16;background-size:160% 160%,160% 160%,auto}
.fx::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(140,150,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(140,150,255,.08) 1px,transparent 1px);background-size:20px 20px;pointer-events:none}
.fx-art{position:absolute;inset:.75rem .75rem .5rem 4.6rem;width:calc(100% - 5.35rem);height:calc(100% - 1.25rem)}
.fx .tile{position:absolute;left:.85rem;bottom:.85rem;margin:0;width:3.1rem;height:3.1rem;z-index:1}
.fx-art .bar{fill:rgba(143,178,255,.22);stroke:#8fb2ff;stroke-width:1.2}
.fx-art .bar:nth-child(even){fill:rgba(109,74,255,.25);stroke:#a78bfa}
.fx-art .base{stroke:rgba(143,178,255,.4);stroke-width:1}
.fx-art .br{fill:none;stroke:#8fb2ff;stroke-width:1.6;stroke-linecap:round}
.fx-art .nd{fill:#080a16;stroke:#8fb2ff;stroke-width:1.5}
.fx-art .seed{fill:#2a6dff}
.fx-art .ed{stroke:rgba(143,178,255,.45);stroke-width:1.1}
.fx-tech .fx-art .nd:nth-of-type(4),.fx-tech .fx-art .nd:nth-of-type(8){fill:#2a6dff;stroke:#9db8ff}
.focus-list .num{font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;color:var(--accent);margin:0 0 .4rem}
.focus-list h3{font-size:1.3rem}
@media (prefers-reduced-motion:no-preference){
  .fx{animation:fxdrift 16s ease-in-out infinite alternate}
  @keyframes fxdrift{to{background-position:100% 100%,0 0,0 0}}
  .fx-art .bar{transform-box:fill-box;transform-origin:50% 100%;animation:barpulse 3.2s ease-in-out infinite alternate}
  .fx-art .bar:nth-child(2){animation-delay:-.6s}.fx-art .bar:nth-child(3){animation-delay:-1.4s}.fx-art .bar:nth-child(4){animation-delay:-.3s}
  .fx-art .bar:nth-child(5){animation-delay:-2s}.fx-art .bar:nth-child(6){animation-delay:-1s}.fx-art .bar:nth-child(7){animation-delay:-2.6s}
  @keyframes barpulse{from{transform:scaleY(.5)}to{transform:scaleY(1)}}
  .fx-art .br{stroke-dasharray:1;stroke-dashoffset:1;animation:grow 1.4s cubic-bezier(.6,0,.2,1) forwards}
  .fx-art .br:nth-child(2),.fx-art .br:nth-child(3){animation-delay:.6s}
  .fx-art .br:nth-child(n+4){animation-delay:1.2s}
  @keyframes grow{to{stroke-dashoffset:0}}
  .fx-angel .fx-art .nd{opacity:0;animation:pop .5s 2.4s ease forwards,blink 3s 3s ease-in-out infinite}
  .fx-angel .fx-art .seed{animation:blink 2.4s ease-in-out infinite}
  @keyframes pop{to{opacity:1}}
  @keyframes blink{50%{opacity:.35}}
  .fx-art .ed{stroke-dasharray:4 6;animation:flowdash 2.4s linear infinite}
  @keyframes flowdash{to{stroke-dashoffset:-20}}
  .fx-tech .fx-art .nd{animation:blink 2.8s ease-in-out infinite}
  .fx-tech .fx-art .nd:nth-of-type(2n){animation-delay:-1.1s}.fx-tech .fx-art .nd:nth-of-type(3n){animation-delay:-1.9s}
}

/* mid widths: the focus label sits above the cards so the three columns keep a readable width */
@media (min-width:60rem) and (max-width:79.99rem){main>section#focus{display:block}#focus>h2{margin:0 0 2rem}}

/* ---- home, second pass: principles as a 2x2 card grid ---- */
.principles-sec{position:relative;isolation:isolate}
.principles-sec::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 35%,rgba(42,109,255,.08) 50%,transparent 65%);background-size:260% 100%;pointer-events:none}
.principles-list{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}
@media (min-width:48rem){.principles-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.principles-list li,.principles-list li:last-child{position:relative;overflow:hidden;display:block;padding:2rem 2rem 2.2rem;border:1px solid var(--line);border-radius:20px;background:var(--card);transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .4s,box-shadow .4s}
.principles-list li:hover{transform:translateY(-4px);border-color:rgba(109,74,255,.45);box-shadow:0 22px 60px -24px rgba(42,109,255,.7)}
.principles-list li::before{content:"0" counter(p);position:absolute;right:.6rem;top:-1.6rem;font-size:clamp(6rem,11vw,8.5rem);font-weight:700;letter-spacing:-.06em;line-height:1;color:rgba(157,184,255,.07);pointer-events:none}
.principles-list h3{position:relative;margin:0;font-size:clamp(1.35rem,2.6vw,1.75rem)}
.principles-list h3::before{content:none}
.principles-list h3::after{content:"";display:block;width:3rem;height:2px;margin-top:.9rem;background:linear-gradient(90deg,var(--g1),var(--g3));transform-origin:left}
.principles-list p{position:relative;margin:.9rem 0 0;max-width:30rem}
@media (prefers-reduced-motion:no-preference){
  .principles-sec::before{animation:sweep 16s linear infinite}
  @keyframes sweep{from{background-position:100% 0}to{background-position:-160% 0}}
  @supports (animation-timeline:view()){
    .principles-list h3::after{animation:drawline linear both;animation-timeline:view();animation-range:entry 10% entry 70%}
    @keyframes drawline{from{transform:scaleX(0)}}
  }
}

/* ---- home, second pass: contact as the closing band ---- */
.contact-band{position:relative;overflow:hidden;isolation:isolate;text-align:center;background:#05060d url(img/signal-bg.jpg) center/cover no-repeat;padding-block:clamp(4.5rem,11vw,7.5rem)}
.contact-band::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(140,150,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(140,150,255,.1) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 50% 50%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 60% 70% at 50% 50%,#000 10%,transparent 75%)}
.contact-in{display:flex;flex-direction:column;align-items:center}
.contact-in h2{margin-bottom:1.5rem}
.contact-band .contact-note{margin:0 0 1.5rem;font-size:clamp(1.1rem,2.6vw,1.35rem);color:var(--ink)}
.contact-band .contact-link{padding:1.15rem 2.3rem;font-size:clamp(1.15rem,4vw,1.9rem);box-shadow:0 18px 60px -12px rgba(109,74,255,.85)}

/* ---- header: hide the section menu until it fits beside the logo ("Focus Areas" is longer) ---- */
@media (max-width:46rem){.top nav{display:none}}

/* ---- footer legal links: easy to find ---- */
.site-footer .legal{margin-top:1.25rem;gap:.6rem}
.site-footer .legal a{display:inline-flex;align-items:center;padding:.45rem .95rem;border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none;transition:border-color .3s,background .3s,color .3s}
.site-footer .legal a:hover,.site-footer .legal a:focus-visible{border-color:var(--mark-accent);background:color-mix(in srgb,var(--mark-accent) 14%,transparent)}

/* ---- legal pages: hero band, contents list, section cards ---- */
.aurora.short{height:min(84svh,48rem)}
.hero.legal-hero{min-height:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding-block:clamp(2.5rem,8vw,5.5rem) clamp(2.5rem,6vw,4rem)}
.legal-hero>*{margin-left:0;margin-right:0}
.legal-hero .draft{margin-bottom:1.25rem}
.legal-title{position:relative;display:inline-block;max-width:100%}
.legal-title h1{margin:0;font-size:clamp(2.4rem,7vw,4.6rem);font-weight:650;letter-spacing:-.045em;line-height:1.02;background:linear-gradient(95deg,var(--ink) 35%,var(--g1) 70%,var(--g2) 90%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.legal-title::after{content:"";position:absolute;top:-12%;bottom:-12%;left:0;width:2px;background:linear-gradient(transparent,var(--g3),transparent);box-shadow:0 0 22px 5px rgba(34,196,238,.45);opacity:0;pointer-events:none}
.legal-summary{margin:1rem 0 0;max-width:40rem;color:var(--muted);font-size:clamp(1.05rem,2.2vw,1.25rem);line-height:1.55}
.legal-hero .chip{margin:1.75rem 0 0}
.legal-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;padding-bottom:clamp(4rem,9vw,7rem)}
.toc{display:none}
.toc-m{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:.25rem 1.1rem}
.toc-m summary{cursor:pointer;padding:.75rem 0;font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.toc-m summary:focus-visible{outline-offset:2px}
.toc ol,.toc-m ol{list-style:none;margin:0;padding:0}
.toc-m ol{padding-bottom:.75rem}
.toc a,.toc-m a{display:flex;gap:.75rem;padding:.42rem 0 .42rem 1rem;margin-left:-1px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;font-size:.9rem;line-height:1.35;transition:color .3s,border-color .3s}
.toc-m a{padding-left:0;border-left:0}
.toc a span,.toc-m a span{font-family:var(--mono);font-size:.72rem;color:var(--accent);padding-top:.12rem}
.toc a:hover,.toc-m a:hover{color:var(--ink)}
.toc-h{margin:0 0 .75rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.toc ol{border-left:1px solid var(--line)}
.legal-body{display:grid;gap:1rem;min-width:0}
.legal-body .lead p{margin:0 0 .5rem;font-size:1.15rem;max-width:62ch}
.lcard{position:relative;padding:1.6rem clamp(1.25rem,3.5vw,2.25rem) 1.75rem;border-radius:18px;background:var(--card);border:1px solid var(--line);scroll-margin-top:1.5rem;transition:border-color .5s,box-shadow .5s}
.lcard::before{content:"";position:absolute;inset:0 18% auto;height:1px;background:linear-gradient(90deg,transparent,var(--g1),var(--g2),transparent)}
.lcard:target{border-color:var(--mark-accent);box-shadow:0 18px 60px -24px rgba(42,109,255,.8)}
.lcard .num{font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;color:var(--accent)}
.lcard h2{margin:.35rem 0 .8rem;font-family:var(--sans);font-size:1.3rem;font-weight:600;letter-spacing:-.015em;text-transform:none;color:var(--ink)}
.lcard p{margin:0 0 .8rem;max-width:34rem;line-height:1.7}
.lcard p:last-child{margin-bottom:0}
.legal-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}
.totop{font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.totop:hover{color:var(--ink)}
.ask{border-radius:16px;padding:1rem 1.4rem;background:linear-gradient(var(--bg),var(--bg)) padding-box,linear-gradient(90deg,var(--g1),var(--g2),var(--g3)) border-box;border:1px solid transparent}
.ask p{margin:0;font-size:1.05rem}
.ask a{font-weight:600}
@media (min-width:62rem){
  .legal-wrap{grid-template-columns:15rem minmax(0,1fr);column-gap:3.5rem}
  .toc{display:block;position:sticky;top:1.5rem;align-self:start;grid-row:1/span 2}
  .toc-m{display:none}
  .legal-body,.legal-end{grid-column:2}
}
@media (prefers-reduced-motion:no-preference){
  .legal-title::after{animation:scan 1.7s .45s cubic-bezier(.5,0,.3,1) forwards}
  .legal-title h1{animation:flow 9s ease-in-out infinite alternate}
}

/* ---- 404 ---- */
.nf{min-height:100vh;min-height:100svh;background:#05060d url(/img/signal-bg.jpg) center/cover no-repeat;display:grid;place-items:center;padding:2rem var(--gutter)}
.nf-main{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.75rem}
.nf-icon{position:relative;width:clamp(7rem,22vw,10rem)}
.nf-icon svg{display:block;width:100%;height:auto;filter:drop-shadow(0 0 40px rgba(42,109,255,.45))}
.nf-icon::after{content:"";position:absolute;top:-10%;bottom:-10%;left:0;width:2px;background:linear-gradient(transparent,var(--g3),transparent);box-shadow:0 0 22px 5px rgba(34,196,238,.45);opacity:0}
.nf-line{margin:0;font-size:clamp(1.2rem,3.4vw,1.6rem);font-weight:550;letter-spacing:-.02em;color:var(--ink)}
.nf-code{margin:0;font-family:var(--mono);font-size:.75rem;letter-spacing:.2em;color:var(--muted)}
@media (prefers-reduced-motion:no-preference){
  .nf-icon::after{animation:scan 1.5s .4s cubic-bezier(.5,0,.3,1) forwards}
  .nf-icon .mark-accent{animation:notch-flash .7s 1.4s both,notch-beat 5s 2.5s ease-in-out infinite}
  @keyframes notch-flash{0%{opacity:.1}35%{opacity:1;fill:#cfe0ff}100%{opacity:1}}
  @keyframes notch-beat{0%,100%{opacity:1}50%{opacity:.5}}
}
body:has(#scope:target) .toc a[href="#scope"],body:has(#email-inquiries:target) .toc a[href="#email-inquiries"],body:has(#hosting-and-security:target) .toc a[href="#hosting-and-security"],body:has(#cookies-and-tracking:target) .toc a[href="#cookies-and-tracking"],body:has(#do-not-track:target) .toc a[href="#do-not-track"],body:has(#sale-and-advertising:target) .toc a[href="#sale-and-advertising"],body:has(#privacy-questions:target) .toc a[href="#privacy-questions"],body:has(#retention:target) .toc a[href="#retention"],body:has(#changes:target) .toc a[href="#changes"]{color:var(--ink);border-left-color:var(--mark-accent)}
body:has(#information-only:target) .toc a[href="#information-only"],body:has(#no-offer-or-solicitation:target) .toc a[href="#no-offer-or-solicitation"],body:has(#submissions:target) .toc a[href="#submissions"],body:has(#restricted-systems:target) .toc a[href="#restricted-systems"],body:has(#no-warranties:target) .toc a[href="#no-warranties"],body:has(#limitation-of-liability:target) .toc a[href="#limitation-of-liability"],body:has(#legal-limitations:target) .toc a[href="#legal-limitations"],body:has(#content:target) .toc a[href="#content"],body:has(#governing-law:target) .toc a[href="#governing-law"],body:has(#changes:target) .toc a[href="#changes"],body:has(#contact:target) .toc a[href="#contact"]{color:var(--ink);border-left-color:var(--mark-accent)}

/* Contact: impersonation notice (Andrew, 2026-10-18) */
.contact-notice{max-width:36rem;margin:2rem auto 0;font-size:.875rem;line-height:1.6;color:var(--muted)}

/* Contact: founder introductions pointer (Andrew, 2026-10-18) */
.founder-note{max-width:34rem;margin:0 auto 1.5rem;font-size:.9375rem;line-height:1.6;color:var(--muted)}
.founder-note a{color:var(--accent);text-underline-offset:3px}

/* Focus: angel investment interests (Andrew, 2026-10-18). Reads as part of Angel Investing. */
.interests{position:relative;margin-top:2.5rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--line);border-radius:20px;background:radial-gradient(90% 120% at 50% 0%,rgba(109,74,255,.12),transparent 60%),var(--card);overflow:hidden}
.interests::before{content:"";position:absolute;inset:0 18% auto;height:1px;background:linear-gradient(90deg,transparent,var(--g1),var(--g2),transparent)}
.interests::after{content:"";position:absolute;left:50%;top:-2.5rem;width:1px;height:2.5rem;background:linear-gradient(transparent,var(--g2));display:none}
@media (min-width:56rem){.interests{overflow:visible}.interests::after{display:block}}
.interests-lead{margin:0 0 1.25rem;font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.interests-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:40rem){.interests-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:80rem){.interests-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
.interests-list li{position:relative;padding:1.25rem 1.25rem 1.4rem;border:1px solid var(--line);border-radius:16px;background:rgba(5,6,13,.55);transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .4s,box-shadow .4s}
.interests-list li:hover{transform:translateY(-3px);border-color:rgba(109,74,255,.45);box-shadow:0 18px 50px -22px rgba(42,109,255,.7)}
.interests-list li::before{content:"";display:block;width:3.25rem;height:3.25rem;margin-bottom:1rem;border-radius:12px;border:1px solid rgba(143,178,255,.25);background:center/78% no-repeat,radial-gradient(circle at 50% 40%,rgba(42,109,255,.35),rgba(8,10,22,.9) 70%);box-shadow:0 0 22px -6px rgba(42,109,255,.6)}
.interests-list li:nth-child(1)::before{background-image:url(img/interest-ai.svg),radial-gradient(circle at 50% 40%,rgba(42,109,255,.35),rgba(8,10,22,.9) 70%)}
.interests-list li:nth-child(2)::before{background-image:url(img/interest-aero.svg),radial-gradient(circle at 50% 40%,rgba(42,109,255,.35),rgba(8,10,22,.9) 70%)}
.interests-list li:nth-child(3)::before{background-image:url(img/interest-enterprise.svg),radial-gradient(circle at 50% 40%,rgba(42,109,255,.35),rgba(8,10,22,.9) 70%)}
.interests-list li:nth-child(4)::before{background-image:url(img/interest-fintech.svg),radial-gradient(circle at 50% 40%,rgba(42,109,255,.35),rgba(8,10,22,.9) 70%)}
.interests-list h3{margin:0 0 .5rem;font-size:1.02rem;font-weight:600;line-height:1.3;letter-spacing:-.01em}
.interests-list p{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.55}
.interests-note{margin:1.25rem 0 0;font-size:.8125rem;color:var(--muted)}
@media (prefers-reduced-motion:no-preference){
  .interests-list li::before{animation:iglow 4.5s ease-in-out infinite}
  .interests-list li:nth-child(2)::before{animation-delay:-1.1s}.interests-list li:nth-child(3)::before{animation-delay:-2.2s}.interests-list li:nth-child(4)::before{animation-delay:-3.3s}
  @keyframes iglow{50%{box-shadow:0 0 30px -4px rgba(109,74,255,.75);border-color:rgba(157,184,255,.5)}}
}
