/* Corb Capital  -  clean, execution-first, no-template vibe */

@import url('https://fonts.googleapis.com/css2?family=Afacad:wght@400;500;600;700&display=swap');

:root{
  --bg:#000;
  --panel:#000;
  --text:#fff;
  --muted:rgba(255,255,255,.72);
  --line:rgba(255,255,255,.18);
  --accent:#fff;
  --accent2:#fff;

  --radius:16px;
  --shadow: 0 18px 60px rgba(0,0,0,.45);
  --max: 1360px;
  --font-xs: 15px;
  --font-sm: 20px;
  --font-md: 32px;
  --font-lg: 56px;

}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Afacad", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  font-weight:400;
  font-size: var(--font-sm);
  background: var(--bg);
  color:var(--text);
  line-height:1.55;
  cursor: var(--cursor-default);
}
html, body{
  overflow-x:hidden;
}
html{
  scrollbar-color: rgba(255,255,255,.18) #000;
  scrollbar-width: thin;
}
::-webkit-scrollbar{ width:6px; }
::-webkit-scrollbar-track{ background:#000; }
::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.18); border-radius:3px; }
::-webkit-scrollbar-thumb:hover{ background:rgba(255,255,255,.32); }
img, video{max-width:100%; height:auto; display:block;}

section[id]{scroll-margin-top:140px;}

.splash{
  position:relative;
  min-height:100vh;
  background:#000;
  display:flex;
  align-items:center;
  padding:110px 24px 90px;
  overflow:hidden;
}
.splash::after{
  content:'';
  position:absolute;
  inset:0;
  background:none;
  opacity:0;
  z-index:0;
}
.splash-grid{
  display:grid;
  grid-template-columns: 1.35fr 0.9fr;
  gap:48px;
  align-items:center;
  width:100%;
  position:relative;
  z-index:1;
}
.splash-heading{
  margin:0;
  font-size: clamp(56px, 7.6vw, 120px);
  line-height:1.02;
  letter-spacing:.01em;
  animation: float-up 0.9s cubic-bezier(.22,1,.36,1) 0.1s both;
}
.splash-bold{
  font-weight:400;
}
.splash-medium{
  font-weight:500;
}
.splash-copy{
  margin:0;
  font-size: clamp(18px, 2.2vw, 30px);
  color:var(--muted);
  max-width:40ch;
  margin-top:280px;
  animation: float-up 0.9s cubic-bezier(.22,1,.36,1) 0.25s both;
}
.splash-left,
.splash-right{
  justify-self:start;
}
.splash-right{
  justify-self:end;
}

.login-shell{
  display:grid;
  place-items:center;
  min-height: calc(100vh - 200px);
}
.login-wrap{
  width:min(560px, 100%);
  display:grid;
  gap:18px;
  padding:28px;
  border-radius:32px;
  border:1px solid rgba(255,255,255,.18);
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
}
.login-head{
  padding:6px 6px 16px 6px;
}
.login-title{
  margin:0 0 8px 0;
  font-size: clamp(28px, 3.4vw, 40px);
}
.login-sub{
  margin:0;
  color:var(--muted);
  font-size: var(--font-sm);
}
.login-box{
  padding:22px 22px 18px;
  background: rgba(255,255,255,.06);
  margin-top:16px;
  max-width:520px;
  width:100%;
  margin-left:auto;
  margin-right:auto;
}
.login-quote{
  justify-self:end;
  text-align:right;
  font-size: clamp(32px, 4.6vw, 64px);
  line-height:1.1;
  font-weight:700;
  max-width:16ch;
}
.login-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin-top:8px;
}

.login-actions{
  margin-top:12px;
  display:flex;
  justify-content:stretch;
}
.login-submit{
  padding:12px 18px;
  width:100%;
}
.login-remember{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--text);
  font-size: var(--font-sm);
}
.login-remember input{
  width:16px;
  height:16px;
  padding:0;
  margin:0;
  border-radius:4px;
  background: transparent;
  appearance: auto;
  accent-color:#fff;
  flex-shrink:0;
}
.login-box .login-error{
  margin:8px 0 0;
  color:#ff6b6b;
  font-size: var(--font-xs);
}

@keyframes float-up{
  0%{opacity:0; transform: translateY(18px);}
  100%{opacity:1; transform: translateY(0);}
}

@media (prefers-reduced-motion: reduce){
  .splash-heading,
  .splash-copy{
    animation:none;
    opacity:1;
    transform:none;
  }
}

/* Scrollbar */
html{
  scrollbar-width: thin;
  scrollbar-color: #fff rgba(255,255,255,0.08);
}
::-webkit-scrollbar{
  width:10px;
}
::-webkit-scrollbar-track{
  background: rgba(255,255,255,0.08);
}
::-webkit-scrollbar-thumb{
  background: #fff;
  border-radius: 999px;
}

.back-to-top{
  position:fixed;
  right:22px;
  bottom:24px;
  width:42px;
  height:42px;
  padding:0;
  border-radius:50%;
  border:none;
  background: rgba(0,0,0,.78);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(0,0,0,.35);
  transition: transform .28s ease, opacity .28s ease, background .18s ease;
  opacity:0;
  pointer-events:none;
  transform:translateY(10px);
  z-index:300;
  touch-action:manipulation;
  overflow:visible;
}
.back-to-top.visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.back-to-top:hover{
  transform: translateY(-2px);
  background:#111;
}
/* Ring SVG */
.btt-ring{
  position:absolute;
  top:-3px;
  left:-3px;
  width:48px;
  height:48px;
  pointer-events:none;
  transform:rotate(-90deg);
}
.btt-ring__track{
  fill:none;
  stroke:rgba(255,255,255,.15);
  stroke-width:1.5;
}
.btt-ring__fill{
  fill:none;
  stroke:#fff;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-dasharray:138.23;
  stroke-dashoffset:138.23;
  transition:stroke-dashoffset .12s linear;
}
.back-to-top .back-icon{
  width:18px;
  height:18px;
  fill:#fff;
  position:relative;
}


.contact-info-list div{
  padding:14px 0;
  font-size: var(--font-sm);
  line-height:1.65;
}

.contact-info-list a{
  font-size: var(--font-sm);
}

a{color:inherit; text-decoration:none}
a:hover{opacity:.92}

.container{
  width:min(var(--max), calc(100% - 80px));
  margin:0 auto;
}
.centered{
  text-align:center;
}
.centered .lead{
  margin-left:auto;
  margin-right:auto;
}
.centered .hero-cta{
  justify-content:center;
}
.centered .list{
  display:inline-block;
  text-align:left;
}
.centered .split{
  justify-items:center;
}
.centered .split > *{
  width:100%;
  max-width:560px;
}
.centered .grid,
.centered .split{
  justify-items:stretch;
}
.centered .card{
  text-align:left;
}
.centered .pillrow{
  justify-content:center;
}
.centered .pillrow .pill{
  text-align:center;
}

.skip{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip:focus{
  left:16px; top:16px; width:auto; height:auto; padding:10px 12px;
  background:var(--panel); border:1px solid var(--line); border-radius:12px; z-index:999;
}

header{
  position:fixed; top:0; left:0; right:0; z-index:200;
  backdrop-filter: blur(10px);
  background:rgba(0,0,0,.82);
  border-bottom: 1px solid var(--line);
  overflow:visible;
}
.scroll-progress{
  position:absolute;
  left:0; right:0; bottom:0;
  height:4px;
  background: rgba(255,255,255,.08);
  overflow:hidden;
  z-index:5;
  pointer-events:none;
}
.scroll-progress__bar{
  display:block;
  height:100%;
  width:0%;
  background: linear-gradient(90deg, rgba(255,255,255,0.18), rgba(255,255,255,0.95));
  transform-origin:left center;
  transition: width .08s ease-out;
}

.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
  gap:12px;
}

.brand{
  display:flex; align-items:center; gap:12px;
  letter-spacing:.2px;
}
.brand .mark{
  width:156px; height:48px; border-radius:14px;
  object-fit:contain;
}
.brand strong{font-weight:700}
.brand span{color:var(--muted); font-size: var(--font-xs)}

.nav-toggle{
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:42px;
  height:42px;
  padding:0;
  border-radius:12px;
  border:1px solid transparent;
  background: rgba(0,0,0,0.2);
  color:var(--text);
  order:3;
  margin-left:auto;
  cursor:pointer;
  box-shadow:none;
  transition: border-color .2s ease, background .2s ease;
}
.nav-toggle .nav-toggle-bar{
  width:20px;
  height:2px;
  background: #fff;
  display:block;
  border-radius:2px;
  transform-origin:center;
  transition: transform .28s cubic-bezier(.4,0,.2,1),
              opacity   .18s ease,
              width     .22s ease;
}
/* Animate to X when open */
body.nav-open .nav-toggle .nav-toggle-bar:nth-child(1){
  transform: translateY(4.5px) rotate(45deg);
}
body.nav-open .nav-toggle .nav-toggle-bar:nth-child(2){
  transform: translateY(-4.5px) rotate(-45deg);
}


header nav{
  order:2;
  margin-left:auto;
}
nav{margin-left:auto;}
.nav-toggle{margin-left:auto;}

nav ul{
  list-style:none; display:flex; gap:18px; padding:0; margin:0; align-items:center;
}
nav a{
  color:var(--muted);
  padding:10px 12px;
  border-radius:0;
  border:none;
  position:relative;
  transition: color .16s ease;
}
nav a::after{
  content:'';
  position:absolute;
  bottom:4px;
  left:12px;
  right:12px;
  height:1.5px;
  background:#fff;
  transform:scaleX(0);
  transform-origin:left center;
  transition: transform .28s cubic-bezier(.4,0,.2,1);
}
nav a:hover{
  color:var(--text);
  background:none;
  border-color:transparent;
}
nav a:hover::after{
  transform:scaleX(1);
}
nav a[aria-current="page"]{
  color:var(--text);
  background:none;
  border:none;
  box-shadow:none;
}
nav a[aria-current="page"]::after{
  transform:scaleX(1);
}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.08);
  color:var(--text);
  font-weight:600;
  cursor: var(--cursor-default);
}
.btn:hover{border-color: rgba(255,255,255,.32)}
.btn:hover{cursor: var(--cursor-cta);}
.btn.primary{
  border-color: transparent;
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,255,255,.8));
  color:#000;
}
.btn.primary:hover{filter:saturate(1.05) brightness(1.02)}

header nav a[href="/login.html"].btn.primary{
  background: transparent;
  border-color: rgba(255,255,255,.55);
  color: var(--text);
}
header nav a[href="/login.html"].btn.primary:hover{
  background: #fff;
  color:#000;
  border-color:#fff;
  filter:none;
}

/* Hollow hover treatment when the custom cursor is active */
html.has-custom-cursor .btn{
  position:relative;
  overflow:hidden;
}
html.has-custom-cursor .btn::after{
  content:'';
  position:absolute;
  inset:1px;
  border-radius:12px;
  background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06));
  opacity:0;
  transition:opacity .18s ease;
  pointer-events:none;
}
html.has-custom-cursor .btn:hover{
  background:transparent;
  border-color: rgba(255,255,255,.55);
}
html.has-custom-cursor .btn.primary:hover{
  color:var(--text);
}
html.has-custom-cursor .btn:hover::after{
  opacity:.25;
}

.hero{
  padding:80px 0 8px;
}
.hero h1{font-size: var(--font-lg);}
.hero-secondary h1{
  font-size: calc(var(--font-lg) * 0.9);
}
.hero .lead,
.hero-secondary .lead{
  font-size: calc(var(--font-md) * 0.9);
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:26px;
  align-items:start;
}
.hero-card-stack{
  display:grid;
  gap:10px;
  align-self:start;
}

.kicker{
  color:var(--muted);
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size: var(--font-xs);
}
h1{
  margin:12px 0 12px;
  font-size: var(--font-lg);
  line-height:1.05;
  font-weight:700;
}
h2, h3{font-weight:600}
h2{font-size: calc(var(--font-md) * 1.05);}
h3{font-size: calc(var(--font-sm) * 1.05);}
.lead{
  margin:0;
  font-size: var(--font-md);
  color:var(--muted);
  max-width:62ch;
}
#about{padding-top:16px;}
#about .lead{max-width:none;}
.hero-secondary{
  padding:38px 0 4px;
  background: var(--bg);
}
.hero-balanced .hero-grid{
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  align-items:center;
  justify-items:center;
  text-align:center;
}
.hero-balanced .hero-grid > div{
  max-width:640px;
}
.hero-balanced .hero-card{
  width:100%;
  max-width:520px;
  text-align:left;
}

.hero-cta{
  display:flex; gap:12px; flex-wrap:wrap;
  margin-top:18px;
}

.hero-card{
  background: #000;
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding:18px;
  box-shadow: var(--shadow);
}
.hero-card h3{
  margin:0 0 10px; font-size: var(--font-sm); color:var(--muted); font-weight:500; letter-spacing:.08em; text-transform:uppercase;
}
.stat{
  display:flex; align-items:baseline; gap:10px;
  flex-wrap: wrap;
  padding:12px 0;
  border-top:1px solid var(--line);
}
.stat:first-of-type{border-top:none; padding-top:0}
.stat b{font-size: var(--font-sm)}
.stat span{
  color:var(--muted);
  font-size: var(--font-xs);
}

/* Metrics band */
.metrics-band{
  display:flex;
  flex-direction:column;
  margin-top:32px;
}
.metric-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:14px 0;
}
.metric-num{
  font-size:clamp(3rem,7vw,6.5rem);
  font-weight:600;
  letter-spacing:-0.05em;
  line-height:1;
  color:#fff;
  white-space:nowrap;
  flex-shrink:0;
}
.metric-num sup{
  font-size:0.38em;
  font-weight:500;
  vertical-align:super;
  letter-spacing:0;
}
.metric-label{
  font-size:clamp(1rem,1.6vw,1.2rem);
  color:var(--muted);
  line-height:1.35;
  max-width:42ch;
}

.section{
  padding:34px 0;
}
.section h2{
  margin:0 0 10px;
  font-size: calc(var(--font-md) * 1);
  font-weight:600;
}
.section p{margin:0; color:var(--muted); font-size: var(--font-sm);}

.grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
  margin-top:18px;
}
.grid.alt{
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.card{
  background: rgba(255,255,255,.08);
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding:18px;
  transition: transform 200ms ease, box-shadow 200ms ease;
}
.section-coding .card:hover{
  transform: scale(1.03);
  box-shadow: 0 8px 32px rgba(0,0,0,.3);
}
.alternating .grid .card:nth-child(even){
  text-align:right;
}
.alternating .grid .card:nth-child(even) .pillrow{
  justify-content:flex-end;
}
.alternating .grid .card:nth-child(even) h3{
  text-align:right;
}
.alternating .split > *:nth-child(even){
  text-align:right;
  justify-self:end;
}
.alternating .split > *:nth-child(even) .list{
  margin-left:auto;
}
.card h3{margin:0 0 8px; font-size: var(--font-sm)}
.card p{margin:0; color:var(--muted); font-size: var(--font-sm)}

.pillrow{
  display:flex; flex-wrap:wrap; gap:8px;
  margin-top:14px;
}
.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: var(--font-xs);
  line-height:1;
  color:var(--muted);
  border:1px solid var(--line);
  background: rgba(0,0,0,.16);
  padding:8px 16px;
  border-radius:999px;
  white-space: nowrap;
}

.split{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap:18px;
  margin-top:18px;
}
.project-highlight{
  align-items:center;
}
.project-highlight .project-visual{
  text-align:center;
}
.project-highlight .project-visual img{
  width:100%;
  max-width:520px;
  display:block;
  margin:0 auto;
  opacity:0;
  transform:translateY(18px);
  transition:opacity 700ms ease, transform 700ms ease;
}
.project-highlight .project-visual img.visible{
  opacity:1;
  transform:translateY(0);
}
.project-copy{
  color:var(--muted);
}
.project-copy p{
  margin-bottom:14px;
}
.project-copy h3{
  color:#fff;
  margin-bottom:6px;
}
.project-copy .project-intro{
  margin:0 0 10px;
}
.project-copy p strong{
  display:block;
  color:#fff;
  font-size: calc(var(--font-md) * 0.7);
  margin:6px 0 4px;
}
.project-highlight .card p{
  font-size: calc(var(--font-sm) * 1.05);
}
.project-highlight .card p strong{
  display:block;
  font-size: calc(var(--font-md) * 0.7);
  margin-bottom:6px;
}

.list{
  margin:12px 0 0;
  padding-left:18px;
  color:var(--muted);
}
.list li{margin:10px 0; font-size: var(--font-sm);}

.focus-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin:16px 0 20px;
}
.focus-item{
  display:flex;
  align-items:baseline;
  gap:10px;
  padding:14px 0;
  border-top:1px solid var(--line);
  font-size:var(--font-sm);
  color:var(--text);
}
.focus-num{
  font-size:11px;
  font-weight:500;
  color:var(--muted);
  opacity:0.5;
  flex-shrink:0;
  letter-spacing:.04em;
}

.section-coding h2{
  font-size: var(--font-md);
}
.section-coding > .container > .kicker,
.section-coding > .container > h2,
.section-coding > .container > .lead{
  text-align:center;
}
.section-coding > .container > .lead{
  max-width:640px;
  margin-left:auto;
  margin-right:auto;
}

/* Use case ticker */
.usecase-ticker{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:32px 80px;
  align-items:stretch;
  margin:72px 0 0;
  padding:72px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.usecase-ticker-intro{
  margin:0;
  justify-self:end;
  align-self:center;
  text-align:left;
  font-family: "Afacad", ui-sans-serif, system-ui, sans-serif;
  font-weight:700;
  color:#ffffff!important;
  line-height:1.15;
  max-width:22ch;
}
.usecase-ticker p.usecase-ticker-intro{
  font-size: clamp(18px, 2.1vw, 34px);
}
.usecase-ticker-window{
  position:relative;
  overflow:hidden;
  align-self:center;
  -webkit-mask-image: linear-gradient(transparent 0%, #fff 12%, #fff 88%, transparent 100%);
  mask-image: linear-gradient(transparent 0%, #fff 12%, #fff 88%, transparent 100%);
}
.usecase-ticker-track{
  display:flex;
  flex-direction:column;
  gap:8px;
  transition: transform 550ms cubic-bezier(0.22,1,0.36,1);
}
.usecase-ticker-track > span{
  display:flex;
  align-items:center;
  font-size: clamp(32px, 4.2vw, 64px);
  font-weight:600;
  line-height:1.15;
  color:var(--muted);
  opacity:0.1;
  transition: opacity 500ms ease, color 500ms ease;
}
.usecase-ticker-action{
  align-self:center;
}
@media (max-width:900px){
  .usecase-ticker{
    grid-template-columns:1fr;
    gap:20px;
    padding:64px 0;
    text-align:center;
  }
  .usecase-ticker p.usecase-ticker-intro{
    max-width:none;
    font-size:16px;
    text-align:center;
    justify-self:center;
    align-self:auto;
  }
  .usecase-ticker-window{
    mask-image: linear-gradient(transparent 0%, #fff 12%, #fff 88%, transparent 100%);
    margin:0 auto;
    width:100%;
    align-self:auto;
  }
  .usecase-ticker-track > span{ justify-content:center; }
  .usecase-ticker-action{ justify-self:center; }
}

.hr{
  height:1px; background:var(--line); margin:26px 0;
}
.hero-card .hr{
  margin:6px 0 0;
}
.hero-card .stat:last-of-type{
  padding-bottom:4px;
}

.footer{
  color:var(--muted);
  border-top:1px solid var(--line);
}

/* Footer top — brand + columns */
.footer-top{
  display:flex;
  justify-content:space-between;
  gap:40px;
  padding:44px 0 36px;
  flex-wrap:wrap;
}
.footer-brand{
  display:flex;
  flex-direction:column;
  gap:14px;
  max-width:260px;
}
.footer-logo .mark{
  height:32px;
  width:auto;
  max-width:180px;
}
.footer-tagline{
  margin:0;
  font-size: var(--font-xs);
  color:var(--muted);
  line-height:1.55;
}
.footer-cols{
  display:flex;
  gap:52px;
  flex-wrap:wrap;
}
.footer-col{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:130px;
}
.footer-col-heading{
  margin:0;
  font-size: var(--font-xs);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--text);
}
.footer-links{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.footer-links a{
  font-size: var(--font-xs);
  color:var(--muted);
  transition: color .15s ease;
}
.footer-links a:hover{
  color:var(--text);
}
.footer-detail{
  font-size: var(--font-xs);
  color:var(--muted);
}

/* Footer bottom — copyright + legal */
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  padding:20px 0 36px;
  border-top:1px solid var(--line);
}
.footer-bottom small{ color:var(--muted); font-size: var(--font-xs); }
.footer-legal-links a{
  color:var(--muted);
  font-size: var(--font-xs);
}
.footer-legal-links a:hover{ color:var(--text); }

@media (max-width: 700px){
  .metric-item{padding:28px 0; gap:16px;}
  .metric-label{font-size:1rem;}
  .metric-num{font-size:clamp(3.5rem,14vw,6rem);}

  .footer-top{
    flex-direction:column;
    gap:28px;
    padding:28px 0 24px;
  }
  .footer-brand{ max-width:100%; }
  .footer-cols{ gap:28px; }
}

.form{
  margin-top:18px;
  display:grid; gap:12px;
}
.field{
  display:grid; gap:6px;
}
label{font-size: var(--font-xs); color:var(--muted)}
input, textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
  color: var(--text);
  outline:none;
}
input:focus, textarea:focus{
  border-color: rgba(255,255,255,.65);
  box-shadow: 0 0 0 4px rgba(255,255,255,.12);
}
textarea{min-height:140px; resize:vertical}

.notice{
  font-size: var(--font-xs);
  color:var(--muted);
  border:1px dashed rgba(255,255,255,.18);
  padding:12px 12px;
  border-radius:14px;
  background: rgba(255,255,255,.02);
}

.blog-page{
  padding-top:140px;
}
.blog-layout{
  display:grid;
  grid-template-columns: 280px 1fr;
  gap:20px;
}
.blog-sidebar{
  position:sticky;
  top:130px;
  display:grid;
  gap:16px;
  align-self:start;
}
.blog-search input{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
  color:var(--text);
}
.blog-filter-block{
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px;
  background: rgba(255,255,255,.02);
  display:grid;
  gap:10px;
}
.blog-filter-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.filter-clear{
  border:none;
  background:transparent;
  color:var(--muted);
  font-size: var(--font-xs);
  cursor:pointer;
  padding:6px 8px;
  border-radius:10px;
}
.filter-clear:hover{
  color:var(--text);
  background: rgba(255,255,255,.06);
}
.blog-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.filter-chip{
  padding:8px 10px;
  border-radius:12px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
  color:var(--text);
  font-size: var(--font-xs);
  cursor:pointer;
  transition: background .14s ease, border-color .14s ease, color .14s ease;
}
.filter-chip:hover{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.4);
}
.filter-chip.is-active{
  background: rgba(255,255,255,.14);
  color:#000;
  border-color: #fff;
  box-shadow: 0 0 0 3px rgba(255,255,255,.18);
}
.blog-card{
  background: rgba(255,255,255,.06);
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding:16px;
  display:grid;
  gap:8px;
}
.blog-card.subtle{
  background: rgba(255,255,255,.03);
}
.blog-subscribe{
  display:grid;
  gap:8px;
}
.blog-subscribe input{
  width:100%;
  padding:12px;
  border-radius:12px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
  color:var(--text);
}
.blog-main{
  display:grid;
  gap:18px;
}
.blog-feature{
  background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding:18px;
  display:grid;
  gap:10px;
}

.blog-index-feature{
  margin-top:24px;
  padding:24px;
  border:1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.01));
  display:grid;
  gap:10px;
}
.blog-index-feature-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.blog-index-feature-title{
  margin:0;
  font-size: clamp(18px, 2vw, 26px);
  color:#fff;
}
.blog-index-feature-desc{
  margin:0;
  color:var(--muted);
  font-size: var(--font-sm);
  max-width:60ch;
}
.blog-index-card{
  display:flex;
  flex-direction:column;
}
.blog-index-card h4{
  margin:0 0 8px;
  font-size: var(--font-sm);
  color:#fff;
}
.blog-index-card p{
  margin:0;
  font-size: var(--font-xs);
  color:var(--muted);
  flex:1;
}
.blog-feature-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.blog-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap:14px;
}
.blog-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.blog-card .btn{
  width:max-content;
  padding:10px 12px;
}
.blog-list{
  margin:0;
}
.blog-list li{
  list-style:none;
  padding:6px 0;
}
.blog-list a{
  color:var(--text);
}
.blog-list a:hover{
  color:var(--text);
  opacity:.9;
}
.blog-card p.small{
  font-size: var(--font-xs);
  color:var(--muted);
}
.blog-empty{
  margin:4px 0 0;
}

@media (max-width: 900px){
  .blog-layout{
    grid-template-columns:1fr;
  }
  .blog-sidebar{
    position:static;
  }
}

/* About sector hero */
.about-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin:32px 0 0;
  align-items:stretch;
}
.about-left{
  position:relative;
  overflow:hidden;
  border-radius:0;
  background:#000;
  border:none;
  min-height:580px;
}
.about-terminal{
  position:absolute;
  inset:0;
  padding:18px 16px;
  font-family:'Courier New',Courier,monospace;
  font-size:10.5px;
  line-height:1.65;
  color:#383838;
  overflow:hidden;
  opacity:1;
  pointer-events:none;
  white-space:pre;
  word-break:normal;
}
.about-sectors{
  position:relative;
  z-index:2;
  padding:48px 44px;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.about-sector-list{
  display:flex;
  flex-direction:column;
  gap:0;
}
.about-sector{
  font-family:"Afacad",ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(36px,4.8vw,76px);
  font-weight:700;
  line-height:1.0;
  color:#ffffff;
  letter-spacing:-0.02em;
}
.about-right{
  padding:48px 0 48px 56px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:16px;
  border:none;
}
.about-section-label{
  margin:0;
  font-size:var(--font-xs);
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
  opacity:0.6;
}
.about-right h2{margin:0;font-size:clamp(22px,2.4vw,34px);}
.about-right .lead{margin:0;font-size:var(--font-sm);line-height:1.6;}
.about-right > p{margin:0;color:var(--muted);font-size:var(--font-sm);line-height:1.6;}
.about-pillars{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:8px;
}
.about-pillar{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:12px;
  padding:22px 24px;
}
.about-pillar strong{
  display:block;
  font-size:var(--font-sm);
  margin-bottom:8px;
}
.about-pillar .list{margin:0;padding-left:16px;}
.about-pillar .list li{font-size:var(--font-xs);margin:4px 0;color:var(--muted);}
@media(max-width:1024px){
  .about-split{grid-template-columns:1fr;}
  .about-left{ min-height:360px; }
  .about-right{ padding:36px 0; }
  .about-sectors{ padding:36px 32px; }
  .about-sector{font-size:clamp(44px,10vw,80px);}
  .about-terminal{
    left:50%;
    transform:translateX(-50%);
    width:max-content;
    min-width:100%;
    inset:unset;
    top:0; bottom:0;
  }
}
@media(max-width:600px){
  .about-pillars{grid-template-columns:1fr;}
  .about-sectors{padding:28px 24px;}
}

/* ── Products section ── */
.product-row{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:72px;
  align-items:center;
  padding:72px 0;
}
.product-badge{
  font-family:'Courier New',monospace;
  font-size:11px;
  color:rgba(255,255,255,.3);
  letter-spacing:.1em;
  margin-bottom:12px;
}
.product-name{
  font-family:"Afacad",ui-sans-serif,sans-serif;
  font-size:clamp(32px,3.5vw,52px);
  font-weight:700;
  margin:0 0 6px;
  line-height:1;
}
.product-tagline{
  font-size:var(--font-sm);
  color:rgba(255,255,255,.6);
  margin:0 0 18px;
  font-style:italic;
}
.product-row p{color:var(--muted);margin:0 0 12px;font-size:var(--font-sm);}
.product-list li{font-size:var(--font-sm);margin:6px 0;}
.product-note{
  margin-top:16px!important;
  font-size:var(--font-sm)!important;
  color:#fff!important;
  font-family:"Afacad",ui-sans-serif,sans-serif!important;
  font-weight:700!important;
  font-style:normal;
}
.product-divider{
  border:none;
  border-top:1px solid var(--line);
  margin:0;
}

/* Demo shared */
.product-demo{
  display:flex;
  justify-content:center;
}
.demo-chat-window{
  width:100%;
  max-width:460px;
  background:#0d0d0d;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  overflow:hidden;
  font-family:'Courier New',Courier,monospace;
}
.demo-chat-header{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#111;
}
.demo-chat-logo{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:600;
  font-family:"Afacad",sans-serif;
  color:#fff;
}
.demo-chat-dots{display:flex;gap:5px;margin-left:auto;}
.demo-doc-dots{margin-left:0;}
.demo-chat-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.15);}
.demo-chat-dots span:nth-child(1){background:#ff5f57;}
.demo-chat-dots span:nth-child(2){background:#febc2e;}
.demo-chat-dots span:nth-child(3){background:#28c840;}

.demo-chat-casefiles{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:10px 16px;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:#0a0a0a;
}
.demo-casefile{
  display:flex;
  align-items:center;
  gap:5px;
  font-size:10px;
  color:rgba(255,255,255,.4);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:6px;
  padding:3px 8px;
}
.demo-chat-messages{
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:150px;
  max-height:220px;
  overflow-y:auto;
}
.demo-msg{
  max-width:88%;
  font-size:12px;
  line-height:1.55;
}
.demo-msg.user{
  align-self:flex-end;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px 12px 2px 12px;
  padding:8px 12px;
  color:#fff;
  font-family:"Afacad",sans-serif;
  font-size:13px;
}
.demo-msg.ai .demo-msg-inner{
  background:#1a1a1a;
  border:1px solid rgba(255,255,255,.1);
  border-radius:2px 12px 12px 12px;
  padding:10px 13px;
  color:rgba(255,255,255,.82);
  font-family:"Afacad",sans-serif;
  font-size:13px;
  line-height:1.6;
}
.demo-cite{
  display:block;
  margin-top:8px;
  font-size:11px;
  color:rgba(255,255,255,.35);
  font-family:'Courier New',monospace;
}
.demo-typing{
  display:flex;
  gap:4px;
  align-items:center;
  padding:10px 2px;
}
.demo-typing span{
  width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.3);
  animation:typingBounce 1.2s ease-in-out infinite;
}
.demo-typing span:nth-child(2){animation-delay:.2s;}
.demo-typing span:nth-child(3){animation-delay:.4s;}
@keyframes typingBounce{
  0%,60%,100%{transform:translateY(0);}
  30%{transform:translateY(-5px);}
}
.demo-chat-input{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-top:1px solid rgba(255,255,255,.07);
  background:#0d0d0d;
}
.demo-input-bar{
  flex:1;
  min-width:0;
  font-size:12px;
  color:rgba(255,255,255,.22);
  font-family:"Afacad",sans-serif;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.demo-input-send{
  width:26px;height:26px;
  border-radius:8px;
  background:rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}

/* Legacy document demo */
.demo-doc-window{
  width:100%;
  background:#0a0a0a;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  overflow:hidden;
  font-size:12px;
  font-family:'Times New Roman',Times,serif;
}
.demo-doc-topbar{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 16px;
  background:#111;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.demo-doc-filename{
  font-family:'Courier New',monospace;
  font-size:10px;
  color:rgba(255,255,255,.3);
  flex:1;
  text-align:center;
}
.demo-doc-split{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  min-height:320px;
}
.demo-doc-text{
  padding:18px 16px;
  border-right:1px solid rgba(255,255,255,.07);
  display:flex;
  flex-direction:column;
  gap:14px;
  overflow-y:auto;
  max-height:360px;
}
.demo-doc-meta{
  font-family:'Times New Roman',Times,serif;
  font-size:10px;
  color:rgba(255,255,255,.5);
  font-weight:700;
  letter-spacing:.04em;
  line-height:1.6;
  border-bottom:1px solid rgba(255,255,255,.07);
  padding-bottom:10px;
}
.demo-doc-meta span{color:rgba(255,255,255,.3);font-weight:400;}
.demo-doc-clause{
  font-family:'Times New Roman',Times,serif;
  font-size:11px;
  color:rgba(255,255,255,.55);
  line-height:1.65;
  display:flex;
  gap:8px;
}
.demo-clause-num{
  color:rgba(255,255,255,.25);
  flex-shrink:0;
  min-width:32px;
}
mark.hl-amber{
  background:rgba(251,191,36,.18);
  color:rgba(251,191,36,.9);
  border-radius:2px;
  padding:0 2px;
  font-style:normal;
}
mark.hl-red{
  background:rgba(239,68,68,.18);
  color:rgba(239,68,68,.9);
  border-radius:2px;
  padding:0 2px;
}
mark.hl-blue{
  background:rgba(96,165,250,.15);
  color:rgba(147,197,253,.8);
  border-radius:2px;
  padding:0 2px;
}
.demo-doc-annotations{
  padding:14px 14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow-y:auto;
  max-height:360px;
  background:#080808;
}
.demo-ann{
  background:#111;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  padding:10px 12px;
}
.demo-ann-label{
  display:flex;
  align-items:center;
  gap:5px;
  font-family:"Afacad",sans-serif;
  font-size:11px;
  font-weight:700;
  margin-bottom:5px;
  color:#fff;
}
.demo-ann-dot{
  width:7px;height:7px;border-radius:50%;flex-shrink:0;
}
.demo-ann-dot.amber{background:rgba(251,191,36,.8);}
.demo-ann-dot.red{background:rgba(239,68,68,.8);}
.demo-ann-dot.blue{background:rgba(96,165,250,.7);}
.demo-ann p{
  margin:0 0 6px;
  font-size:11px;
  color:rgba(255,255,255,.5);
  font-family:"Afacad",sans-serif;
  line-height:1.5;
}
.demo-ann-cite{
  font-size:10px;
  font-family:'Courier New',monospace;
  color:rgba(255,255,255,.25);
}

/* Corvus — Afacad throughout */
.corvus-font,
.corvus-font .demo-chart-ticker,
.corvus-font .demo-chart-price,
.corvus-font .demo-chart-change,
.corvus-font .demo-chart-pill,
.corvus-font .demo-stat-item span,
.corvus-font .demo-stat-item b{
  font-family:"Afacad",ui-sans-serif,sans-serif!important;
}
.demo-chart-account{
  font-family:"Afacad",ui-sans-serif,sans-serif;
  font-size:11px;
  color:rgba(255,255,255,.45);
}
.demo-chart-account b{color:rgba(255,255,255,.85);font-weight:600;}

/* Alfred split layout */
.alfred-demo-wrap{ width:100%; }
.alfred-demo-split{
  display:grid;
  grid-template-columns:1fr 0.85fr;
  gap:10px;
  align-items:stretch;
}
.alfred-sched-panel{
  background:#0a0a0a;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  font-family:"Afacad",sans-serif;
}
.alfred-sched-title{
  padding:11px 14px;
  font-size:11px;
  font-weight:600;
  color:rgba(255,255,255,.4);
  letter-spacing:.08em;
  text-transform:uppercase;
  background:#111;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.alfred-sched-section{ padding:8px 12px 4px; }
.alfred-sched-day{
  font-size:10px;
  color:rgba(255,255,255,.25);
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:4px;
  font-family:'Courier New',monospace;
}
.alfred-event{
  display:flex;
  align-items:center;
  gap:8px;
  padding:5px 6px;
  border-radius:7px;
  margin-bottom:2px;
  transition:opacity .4s,background .3s;
}
.alfred-event:hover{ background:rgba(255,255,255,.04); }
.alfred-evt-time{
  font-size:10px;
  color:rgba(255,255,255,.3);
  font-family:'Courier New',monospace;
  min-width:32px;
}
.alfred-evt-body{ flex:1;display:flex;justify-content:space-between;align-items:center;gap:6px; }
.alfred-evt-name{ font-size:11px;color:rgba(255,255,255,.7); }
.alfred-evt-status{
  font-size:9px;
  font-family:'Courier New',monospace;
  color:rgba(255,255,255,.2);
  white-space:nowrap;
}
.alfred-evt-status.done{ color:rgba(74,222,128,.7); }
.alfred-evt-status.moving{ color:rgba(251,191,36,.8);animation:statusPulse .8s ease-in-out infinite; }
.alfred-evt-status.blocked{ color:rgba(96,165,250,.7); }
@keyframes statusPulse{ 0%,100%{opacity:1;} 50%{opacity:.4;} }
.alfred-action-log{
  margin-top:auto;
  padding:8px 12px;
  border-top:1px solid rgba(255,255,255,.05);
  display:flex;
  flex-direction:column;
  gap:4px;
  max-height:100px;
  overflow-y:auto;
}
.alfred-action-item{
  font-size:12px;
  font-family:'Courier New',monospace;
  color:#fff;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .3s,transform .3s;
}
.alfred-action-item.show{ opacity:1;transform:translateY(0); }

@media(max-width:1024px){
  .alfred-demo-split{ grid-template-columns:1fr; }
}

/* Corvus chart */
.demo-chart-window{
  width:100%;
  max-width:680px;
  background:#0d0d0d;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  overflow:hidden;
}

/* TradingView-style toolbar */
.tv-topbar{
  display:flex;
  align-items:center;
  height:40px;
  padding:0 10px;
  background:#111;
  border-bottom:1px solid rgba(255,255,255,.08);
  gap:0;
  overflow:hidden;
}
.tv-left{
  display:flex;
  align-items:center;
  gap:0;
  flex-shrink:0;
}
.tv-symbol{
  display:flex;
  align-items:center;
  gap:3px;
  padding:0 6px;
  height:28px;
  border-radius:4px;
  cursor:default;
  transition:background .12s;
}
.tv-symbol:hover{background:rgba(255,255,255,.06);}
.tv-ticker-text{
  font-family:"Afacad",sans-serif;
  font-weight:700;
  font-size:13px;
  color:#d1d4dc;
}
.tv-caret{color:#787b86;}
.tv-sep-v{
  width:1px;height:18px;
  background:rgba(255,255,255,.09);
  margin:0 6px;
  flex-shrink:0;
}
.tv-ohlc{display:flex;align-items:center;gap:6px;padding:0 4px;}
.tv-ohlc-price{
  font-family:"Afacad",sans-serif;
  font-size:13px;
  font-weight:600;
  color:#d1d4dc;
}
.tv-ohlc-change{font-family:"Afacad",sans-serif;font-size:12px;}
.tv-ohlc-change.neg{color:#ef5350;}
.tv-ohlc-change.pos{color:#26a69a;}
.tv-center{
  display:flex;
  align-items:center;
  gap:0;
  margin-left:6px;
}
.tv-tf-group{display:flex;align-items:center;gap:1px;}
.tv-tf{
  font-family:"Afacad",sans-serif;
  font-size:12px;
  font-weight:500;
  color:#787b86;
  background:transparent;
  border:none;
  padding:3px 7px;
  border-radius:4px;
  cursor:default;
  line-height:1;
  transition:background .12s,color .12s;
  display:flex;align-items:center;justify-content:center;
}
.tv-tf:hover{background:rgba(255,255,255,.06);color:#d1d4dc;}
.tv-tf.tv-tf-active{background:rgba(255,255,255,.12);color:#d1d4dc;font-weight:600;}
.tv-tf.tv-tf-caret{padding:3px 4px;color:#787b86;}
.tv-icon-btn{
  display:flex;align-items:center;gap:4px;
  font-family:"Afacad",sans-serif;
  font-size:12px;color:#787b86;
  background:transparent;border:none;
  padding:4px 7px;border-radius:4px;
  cursor:default;
  transition:background .12s,color .12s;
}
.tv-icon-btn:hover{background:rgba(255,255,255,.06);color:#d1d4dc;}
.tv-labeled-btn span{font-size:12px;}
.tv-right{
  display:flex;align-items:center;gap:6px;
  margin-left:auto;
  flex-shrink:0;
}
.tv-right .demo-chart-account{
  font-family:"Afacad",sans-serif;
  font-size:11px;
  color:rgba(209,212,220,.5);
}
.tv-right .demo-chart-account b{color:#d1d4dc;font-weight:600;}
.demo-chart-header{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:#111;
}
.demo-chart-ticker{font-family:"Afacad",sans-serif;font-weight:700;font-size:14px;color:#fff;}
.demo-chart-price{font-family:'Courier New',monospace;font-size:13px;color:#fff;}
.demo-chart-change{font-size:12px;font-family:'Courier New',monospace;}
.demo-chart-change.neg{color:rgba(255,80,80,.9);}
.demo-chart-change.pos{color:rgba(180,255,180,.9);}
.demo-chart-pill{
  font-size:10px;font-family:'Courier New',monospace;
  padding:2px 7px;border-radius:4px;
  border:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.6);
}
.demo-chart-pill.short{
  background:rgba(255,50,50,.15);
  border-color:rgba(255,80,80,.4);
  color:rgba(255,100,100,.9);
}
.demo-chart-pill.long{
  background:rgba(74,222,128,.12);
  border-color:rgba(74,222,128,.4);
  color:rgba(74,222,128,.9);
}
#corvusChart{display:block;width:100%!important;}
@media(max-width:600px){
  #corvusChart{height:220px;}
  .demo-chart-window{height:auto;}
}
.demo-chart-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid rgba(255,255,255,.06);
  background:#111;
}
.demo-stat-item{
  padding:8px 14px;
  border-right:1px solid rgba(255,255,255,.06);
  font-size:11px;
}
.demo-stat-item:last-child{border-right:none;}
.demo-stat-item span{display:block;color:rgba(120,123,134,.9);margin-bottom:3px;font-family:"Afacad",sans-serif;font-size:10px;letter-spacing:.04em;text-transform:uppercase;}
.demo-stat-item b{font-family:"Afacad",sans-serif;color:#d1d4dc;font-weight:600;font-size:12px;}
.demo-stat-item b.neg{color:#ef5350;}
.demo-stat-item b.pos{color:#26a69a;}

.alfred-input-sm{
  font-size:11px!important;
  color:rgba(255,255,255,.28)!important;
}
.alfred-input-sm.typing{
  color:#fff!important;
}
.alfred-input-pill{
  display:flex;
  align-items:center;
  flex:1;
  min-width:0;
  overflow:hidden;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  padding:5px 8px 5px 14px;
  gap:6px;
}
.alfred-input-actions{
  display:flex;
  align-items:center;
  gap:5px;
  flex-shrink:0;
}
.alfred-chat-input{
  padding:14px 12px 10px!important;
  margin-top:auto;
}
.alfred-mic{
  flex-shrink:0;
  opacity:0.55;
}

/* Alfred */
.alfred-window{display:flex;flex-direction:column;}
.alfred-window .demo-chat-header{background:#0f0f0f;}
.alfred-window .demo-chat-messages{
  flex:1;
  scrollbar-width:none;
}
.alfred-window .demo-chat-messages::-webkit-scrollbar{display:none;}
.alfred-status{
  margin-left:auto;
  display:flex;align-items:center;gap:5px;
  font-size:11px;color:rgba(255,255,255,.4);
  font-family:"Afacad",sans-serif;
}
.alfred-dot{
  width:7px;height:7px;border-radius:50%;
  background:#4ade80;
  box-shadow:0 0 6px #4ade80;
}

@media(max-width:1024px){
  .product-row{grid-template-columns:1fr !important;gap:36px;}
  .product-demo{order:-1; min-width:0; overflow:hidden;}
  .demo-chart-window,.demo-chat-window{max-width:100%; overflow:hidden;}
  .demo-chart-stats{grid-template-columns:repeat(2,1fr);}
}

/* Responsive */
@media (max-width: 1024px){
  .hero-grid{grid-template-columns:1fr}
  .grid{grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));}
  .splash-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .splash-copy{
    max-width:34ch;
    margin-top:28px;
  }
  .login-quote{
    justify-self:start;
    text-align:left;
    max-width:24ch;
  }
}

@media (max-width: 900px){
  .container{width:min(var(--max), calc(100% - 32px));}
  .nav{position:relative;}
  .nav-toggle{display:inline-flex;}
  nav a[aria-current="page"]{
    background:none;
    border:none;
    box-shadow:none;
  }
  nav a::after{ display:none; }
  nav ul{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    right:0;
    padding:12px;
    background: rgba(0,0,0,.95);
    border:1px solid var(--line);
    border-radius:14px;
    flex-direction:column;
    gap:10px;
    display:flex;
    max-height:0;
    overflow:hidden;
    opacity:0;
    transform: translateY(-6px);
    transition: max-height .22s ease, opacity .18s ease, transform .18s ease;
  }
  body.nav-open nav ul{
    max-height:400px;
    opacity:1;
    transform: translateY(0);
    overflow:auto;
    animation: mobileMenuIn .26s ease forwards;
  }
  nav a{width:100%;}
  .grid{grid-template-columns:1fr;}
  .split{grid-template-columns:1fr;}
  .hero-grid{grid-template-columns:1fr;}
  .project-highlight .project-visual img{max-width:100%;}
  nav ul li{
    opacity:0;
    transform: translateY(-6px);
  }
  body.nav-open nav ul li{
    opacity:1;
    transform: translateY(0);
    animation: menuItemIn .22s ease forwards;
  }
  body.nav-open nav ul li:nth-child(1){animation-delay: .02s;}
  body.nav-open nav ul li:nth-child(2){animation-delay: .04s;}
  body.nav-open nav ul li:nth-child(3){animation-delay: .06s;}
  body.nav-open nav ul li:nth-child(4){animation-delay: .08s;}
  body.nav-open nav ul li:nth-child(5){animation-delay: .10s;}
  body.nav-open nav ul li:nth-child(6){animation-delay: .12s;}
  body.nav-open nav ul li:nth-child(7){animation-delay: .14s;}
}

@media (max-width: 480px){
  .container{width:min(var(--max), calc(100% - 24px));}
  .splash{padding:90px 16px 70px;}
  .hero-cta{gap:10px;}
  .pillrow{gap:6px;}
  .login-wrap{padding:18px;}
  .login-box{padding:16px;}
  .login-row{flex-direction:row; align-items:center;}
}

html.has-custom-cursor,
html.has-custom-cursor *,
html.has-custom-cursor *::before,
html.has-custom-cursor *::after,
body.has-custom-cursor,
body.has-custom-cursor *{
  cursor:none!important;
}

/* Force-hide native cursor globally as a fallback */
html, body, *{
  cursor:none!important;
}

/* Explicitly hide native cursor on interactive elements (and their children) to prevent pointer flash on hover */
a, button, .btn, input, textarea, select, label, summary, details,
[role="button"], [role="link"], a *, button *, .btn *{
  cursor:none!important;
}

@keyframes mobileMenuIn{
  0%{transform: translateY(-6px) scale(0.98); opacity:0;}
  100%{transform: translateY(0) scale(1); opacity:1;}
}
@keyframes menuItemIn{
  0%{opacity:0; transform: translateY(-6px);}
  100%{opacity:1; transform: translateY(0);}
}

@media (prefers-reduced-motion: reduce){
  body.nav-open nav ul{animation:none;}
  body.nav-open nav ul li{
    animation:none;
    opacity:1;
    transform:none;
  }
}

.custom-cursor{
  position:fixed;
  top:0; left:0;
  width:16px;
  height:16px;
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  border:1.5px solid transparent;
  background: #fff;
  box-shadow: none;
  mix-blend-mode: normal;
  transform: translate3d(var(--x, -50px), var(--y, -50px), 0) translate(-50%, -50%) scale(var(--s, 1));
  z-index:9999;
  transition: opacity .14s linear, width .2s ease, height .2s ease, background .2s ease, border-color .2s ease;
}
.custom-cursor::after{ display:none; }
.custom-cursor.cursor--active{opacity:1;}
.custom-cursor.cursor--hover{
  --s:1;
  width:32px;
  height:32px;
  background: transparent;
  border-color: #fff;
}
.custom-cursor.cursor--hover::after{ display:none; }
.custom-cursor.cursor--press{
  --s:0.85;
  opacity:0.84;
}
