:root{
  --bg: #090C14;
  --bg-soft: #0C1120;
  --bg-panel-solid: #10152A;
  --text: #EEF1F8;
  --text-dim: #8891A8;
  --text-faint: #565F78;
  --teal: #2FE0C4;
  --violet: #8B6BFF;
  --coral: #FF7A6B;
  --gold: #F0B95C;
  --line: rgba(255,255,255,0.09);
  --line-bright: rgba(255,255,255,0.18);
  --radius: 16px;

  --bs-body-bg: var(--bg);
  --bs-body-color: var(--text);
  --bs-border-color: var(--line);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; background: var(--bg); overflow-x:clip; width:100%; }

body{
  background: var(--bg);
  color: var(--text);
  font-family:'Inter', sans-serif;
  line-height:1.65;
  overflow-x:clip;
  width:100%;
  max-width:100vw;
  position:relative;
}

/* subtle grain for premium texture */
body::after{
  content:"";
  position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");
  pointer-events:none; z-index:0; opacity:.5;
}

body::before{
  content:"";
  position:fixed; inset:0;
  background:
    radial-gradient(circle at 12% 6%, rgba(139,107,255,0.18), transparent 42%),
    radial-gradient(circle at 90% 14%, rgba(47,224,196,0.15), transparent 45%),
    radial-gradient(circle at 50% 100%, rgba(255,122,107,0.09), transparent 42%);
  pointer-events:none;
  z-index:0;
}

h1,h2,h3,h4{ font-family:'Sora', sans-serif; letter-spacing:-0.02em; }
.mono{ font-family:'JetBrains Mono', monospace; }
a{ color:inherit; text-decoration:none; }
a:hover{ color:inherit; }

img, svg{ max-width:100%; }

/* ---- Anti-overflow safety net (fixes horizontal gap/crop on mobile) ---- */
.container-xl, .row, [class*="col-"]{ max-width:100%; }
.row{ margin-left:0; margin-right:0; }
.row > *{ padding-left:calc(var(--bs-gutter-x)*.5); padding-right:calc(var(--bs-gutter-x)*.5); }

.container-xl{
  max-width:1180px; position:relative; z-index:1;
  padding-left:24px; padding-right:24px;
  margin-left:auto; margin-right:auto;
  width:100%;
}
@media (max-width:576px){
  .container-xl{ padding-left:20px; padding-right:20px; }
}

/* ============ SCROLL REVEAL ============ */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.reveal.is-visible{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; transition:none; } }

/* ============ NAV ============ */
.navbar-spl{
  position:sticky; top:0; z-index:1050;
  background: rgba(9,12,20,0.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom:1px solid var(--line);
  padding-top:.9rem; padding-bottom:.9rem;
  transition: padding .25s ease, background .25s ease, box-shadow .25s ease;
  width:100%;
}
.navbar-spl.is-scrolled{
  padding-top:.55rem; padding-bottom:.55rem;
  background: rgba(9,12,20,0.92);
  box-shadow: 0 12px 30px -18px rgba(0,0,0,.7);
}
.brand-mark{
  width:38px; height:38px; border-radius:10px;
  object-fit:cover;
  flex-shrink:0;
}
.brand-name{ display:flex; flex-direction:column; min-width:0; }
.brand-name .full{ font-weight:700; font-size:.88rem; line-height:1.25; letter-spacing:-.01em; color:var(--text); font-family:'Sora',sans-serif; margin-bottom:2px; }
.brand-name small{ font-family:'JetBrains Mono', monospace; font-weight:400; font-size:.6rem; line-height:1.3; color:var(--text-dim); letter-spacing:.07em; white-space:nowrap; opacity:.85; }
@media (max-width:400px){
  .brand-name small{ display:none; }
}

.navbar-spl .nav-link{
  color:var(--text-dim); font-size:.92rem; font-weight:500; padding:.5rem 1rem;
  transition:color .18s ease; position:relative;
}
.navbar-spl .nav-link:hover{ color:var(--text); }
.navbar-spl .nav-link.active{ color:var(--text); }
.navbar-spl .nav-link.active::after{
  content:""; position:absolute; left:1rem; right:1rem; bottom:.15rem; height:2px;
  background:linear-gradient(90deg, var(--teal), var(--violet)); border-radius:2px;
}

.btn-spl-primary{
  background: linear-gradient(100deg, var(--teal), var(--violet));
  color:#081018; font-weight:600; border:none; border-radius:10px;
  padding:.65rem 1.4rem; font-size:.88rem;
  transition: transform .18s ease, box-shadow .18s ease;
}
.btn-spl-primary:hover{ color:#081018; transform:translateY(-1px); box-shadow:0 10px 30px -10px rgba(47,224,196,.45); }

.btn-spl-ghost{
  border:1px solid var(--line-bright); color:var(--text); border-radius:10px;
  padding:.65rem 1.4rem; font-size:.9rem; font-weight:600;
  transition: background .18s ease, transform .18s ease;
}
.btn-spl-ghost:hover{ color:var(--text); background:rgba(255,255,255,.05); transform:translateY(-1px); }

.navbar-toggler{ border-color:var(--line-bright); }
.navbar-toggler:focus{ box-shadow:0 0 0 .2rem rgba(47,224,196,.25); }
.navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(238,241,248,0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ============ HERO BANNER (photo + gradient) ============ */
.hero-wrap{ position:relative; width:100%; overflow:hidden; z-index:1; }
.hero-wrap picture{ position:absolute; inset:0; display:block; width:100%; height:100%; }
.hero-bg-img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center 22%;
  opacity:.55; filter:saturate(1.05) contrast(1.02);
}
@media (max-width:767px){
  .hero-bg-img{ object-position:center 14%; }
}
.hero-overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(9,12,20,.55) 0%, rgba(9,12,20,.72) 55%, var(--bg) 96%),
    linear-gradient(100deg, rgba(9,12,20,.88) 0%, rgba(9,12,20,.45) 42%, rgba(139,107,255,.14) 78%, rgba(47,224,196,.14) 100%);
}

/* ============ HERO ============ */
.hero{ padding:6.5rem 0 4rem; position:relative; z-index:1; }
@media (max-width:576px){ .hero{ padding:3.2rem 0 2.6rem; } }
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono', monospace; font-size:.74rem; color:var(--teal);
  border:1px solid rgba(47,224,196,.32); background:rgba(47,224,196,.06);
  padding:6px 13px; border-radius:999px; margin-bottom:1.4rem;
}
.eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--teal); box-shadow:0 0 8px var(--teal); animation:pulse-dot 2.2s ease-in-out infinite; }
@keyframes pulse-dot{ 0%,100%{opacity:1;} 50%{opacity:.35;} }

.hero h1{ font-size:clamp(1.85rem, 6vw, 3.35rem); font-weight:700; line-height:1.12; margin-bottom:1.3rem; word-break:break-word; }
.hero h1 .grad{
  background: linear-gradient(100deg, var(--teal), var(--violet) 60%, var(--coral));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}
.hero p.lead-spl{ color:var(--text-dim); font-size:1.02rem; max-width:46ch; margin-bottom:2rem; }

.status-card{
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.01));
  border:1px solid var(--line-bright);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.65);
  max-width:100%;
}
.status-head{
  display:flex; align-items:center; gap:8px;
  padding:14px 18px; border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.02);
}
.status-head span.dotwin{ width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.status-head span.dotwin:nth-child(1){ background:#FF6B6B; }
.status-head span.dotwin:nth-child(2){ background:#FFC85C; }
.status-head span.dotwin:nth-child(3){ background:#3EE08C; }
.status-head .stlabel{ margin-left:auto; font-family:'JetBrains Mono', monospace; font-size:.72rem; color:var(--text-faint); }

.status-body{ padding:1.4rem 1.25rem; font-family:'JetBrains Mono', monospace; font-size:.85rem; overflow-wrap:anywhere; }
.status-row{ display:flex; justify-content:space-between; gap:16px; padding:.68rem 0; border-bottom:1px dashed var(--line); }
.status-row:last-child{ border-bottom:none; }
.status-row .k{ color:var(--text-faint); }
.status-row .v{ color:var(--text); text-align:right; }
.status-row .v.ok{ color:var(--teal); display:flex; align-items:center; gap:6px; }
.status-row .v.ok::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--teal); box-shadow:0 0 6px var(--teal); flex-shrink:0; }

/* ============ STATS BAR ============ */
.stats-bar{ position:relative; z-index:1; padding:0 0 2rem; }
.stats-panel{
  border:1px solid var(--line-bright); border-radius:var(--radius);
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.008));
  padding:2rem 1rem; box-shadow:0 30px 80px -40px rgba(0,0,0,.6);
}
.stat-item{ text-align:center; padding:.5rem 1rem; border-right:1px solid var(--line); }
.stat-item:last-child{ border-right:none; }
@media (max-width:767px){
  .stat-item{ border-right:none; border-bottom:1px solid var(--line); padding-bottom:1.2rem; margin-bottom:1rem; }
  .stat-item:last-child{ border-bottom:none; margin-bottom:0; padding-bottom:.5rem; }
}
.stat-num{
  font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(1.6rem,5vw,2.3rem);
  background:linear-gradient(100deg, var(--teal), var(--violet));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  line-height:1;
}
.stat-label{ font-family:'JetBrains Mono',monospace; font-size:.68rem; color:var(--text-faint); text-transform:uppercase; letter-spacing:.06em; margin-top:.5rem; }

/* ============ SECTIONS SHARED ============ */
section{ padding:5rem 0; border-top:1px solid var(--line); position:relative; z-index:1; overflow-x:clip; }
@media (max-width:576px){ section{ padding:3.4rem 0; } }
.section-head{ margin-bottom:3.2rem; max-width:60ch; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.section-head .tag{
  font-family:'JetBrains Mono', monospace; font-size:.74rem; color:var(--violet);
  letter-spacing:.09em; text-transform:uppercase; margin-bottom:.7rem; display:block;
}
.section-head h2{ font-size:clamp(1.45rem, 4.4vw, 2.15rem); font-weight:700; margin-bottom:.8rem; }
.section-head p{ color:var(--text-dim); }

/* ============ SERVICES ============ */
.service-card{
  border:1px solid var(--line); border-radius:var(--radius);
  padding:1.9rem 1.6rem; background:rgba(255,255,255,.015);
  transition:border-color .22s ease, transform .22s ease, background .22s ease;
  height:100%;
}
.service-card:hover{ border-color:var(--line-bright); transform:translateY(-4px); background:rgba(255,255,255,.03); }
.service-icon{
  width:44px; height:44px; border-radius:11px; margin-bottom:1.3rem;
  display:flex; align-items:center; justify-content:center; font-size:1.15rem;
}
.service-icon.i-teal{ background:rgba(47,224,196,.12); color:var(--teal); }
.service-icon.i-violet{ background:rgba(139,107,255,.12); color:var(--violet); }
.service-icon.i-coral{ background:rgba(255,122,107,.12); color:var(--coral); }
.service-icon.i-gold{ background:rgba(240,185,92,.12); color:var(--gold); }
.service-card h3{ font-size:1.08rem; margin-bottom:.6rem; }
.service-card p{ color:var(--text-dim); font-size:.92rem; margin-bottom:0; }

/* ============ PROJECTS / ORG PORTFOLIO ============ */
.filter-bar{ display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:2.4rem; }
.filter-chip{
  font-family:'JetBrains Mono',monospace; font-size:.78rem; color:var(--text-dim);
  border:1px solid var(--line-bright); border-radius:999px; padding:.42rem 1.05rem;
  cursor:pointer; background:transparent; transition:all .18s ease;
}
.filter-chip:hover{ color:var(--text); border-color:var(--teal); }
.filter-chip.active{ color:#081018; background:linear-gradient(100deg,var(--teal),var(--violet)); border-color:transparent; font-weight:600; }

.project-card{
  border:1px solid var(--line); border-radius:var(--radius);
  background:rgba(255,255,255,.015); overflow:hidden; height:100%;
  transition:border-color .22s ease, transform .22s ease, background .22s ease, box-shadow .22s ease;
  display:flex; flex-direction:column;
}
.project-card:hover{
  border-color:var(--line-bright); transform:translateY(-6px);
  background:rgba(255,255,255,.03); box-shadow:0 30px 60px -32px rgba(0,0,0,.7);
}
.project-cover{
  height:150px; position:relative; display:flex; align-items:flex-end;
  padding:1.1rem 1.3rem; overflow:hidden;
}
.project-cover .glyph{
  position:absolute; right:-10px; top:-18px; font-size:6.5rem; opacity:.14;
  font-family:'Sora',sans-serif; font-weight:800; line-height:1; color:#fff;
}
.project-cover .status-pill{
  position:relative; z-index:1;
  font-family:'JetBrains Mono',monospace; font-size:.68rem; text-transform:uppercase; letter-spacing:.06em;
  background:rgba(9,12,20,.55); border:1px solid rgba(255,255,255,.25); color:#fff;
  padding:.3rem .7rem; border-radius:999px; backdrop-filter:blur(6px);
}
.cover-1{ background:linear-gradient(135deg, rgba(47,224,196,.55), rgba(9,12,20,.9)); }
.cover-2{ background:linear-gradient(135deg, rgba(139,107,255,.55), rgba(9,12,20,.9)); }
.cover-3{ background:linear-gradient(135deg, rgba(255,122,107,.55), rgba(9,12,20,.9)); }
.cover-4{ background:linear-gradient(135deg, rgba(240,185,92,.5), rgba(9,12,20,.9)); }
.cover-5{ background:linear-gradient(135deg, rgba(47,224,196,.4), rgba(139,107,255,.45), rgba(9,12,20,.9)); }
.cover-6{ background:linear-gradient(135deg, rgba(255,122,107,.45), rgba(139,107,255,.4), rgba(9,12,20,.9)); }

.project-body{ padding:1.4rem 1.4rem 1.6rem; flex:1; display:flex; flex-direction:column; }
.project-cat{ font-family:'JetBrains Mono',monospace; font-size:.7rem; color:var(--teal); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.5rem; }
.project-body h3{ font-size:1.08rem; margin-bottom:.55rem; }
.project-body p{ color:var(--text-dim); font-size:.9rem; margin-bottom:1.1rem; flex:1; }
.tech-tags{ display:flex; flex-wrap:wrap; gap:.4rem; }
.tech-tag{
  font-family:'JetBrains Mono',monospace; font-size:.68rem; color:var(--text-dim);
  border:1px solid var(--line); border-radius:6px; padding:.2rem .55rem;
}

/* ============ PROCESS ============ */
.process-track{ position:relative; }
.process-track::before{
  content:""; position:absolute; top:26px; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, var(--line-bright) 10%, var(--line-bright) 90%, transparent);
}
@media (max-width:767px){
  .process-track::before{ display:none; }
  .process-step{ padding-left:1.6rem; border-left:1px solid var(--line-bright); padding-bottom:1.8rem; }
  .process-step:last-child{ padding-bottom:0; }
}
.process-step{ position:relative; z-index:1; }
.process-num{
  width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:'JetBrains Mono',monospace; font-weight:600; font-size:.9rem;
  background:var(--bg); border:1px solid var(--line-bright); color:var(--teal); margin-bottom:1.1rem;
}
@media (max-width:767px){
  .process-num{ width:40px; height:40px; font-size:.78rem; margin-left:-1.6rem; margin-bottom:.9rem; }
}
.process-step h4{ font-size:1rem; margin-bottom:.5rem; }
.process-step p{ color:var(--text-dim); font-size:.88rem; margin-bottom:0; }

/* ============ FOUNDERS ============ */
.founder-card{
  border:1px solid var(--line); border-radius:var(--radius);
  padding:1.9rem; background:rgba(255,255,255,.015);
  transition:border-color .22s ease, transform .22s ease;
  height:100%;
}
.founder-card:hover{ border-color:var(--line-bright); transform:translateY(-4px); }
.founder-avatar{
  width:54px; height:54px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:'Sora',sans-serif; font-weight:700; font-size:1.1rem; color:#081018;
  margin-bottom:1rem;
}
.founder-avatar.pb{ background:linear-gradient(135deg, var(--teal), #7EE8D8); }
.founder-avatar.sm{ background:linear-gradient(135deg, var(--violet), var(--coral)); }
.founder-avatar.ab{ background:linear-gradient(135deg, var(--gold), var(--coral)); }
.founder-card h3{ font-size:1.06rem; margin-bottom:.15rem; }
.founder-card .role{ font-family:'JetBrains Mono', monospace; font-size:.75rem; color:var(--text-dim); margin-bottom:.8rem; display:block; }
.founder-card p{ color:var(--text-dim); font-size:.92rem; }
.founder-link{
  display:inline-flex; align-items:center; gap:6px;
  font-size:.86rem; font-weight:600; color:var(--teal); margin-top:.5rem;
  transition:color .18s ease;
}
.founder-link:hover{ color:var(--text); }

/* ============ TESTIMONIALS ============ */
.quote-card{
  border:1px solid var(--line); border-radius:var(--radius); padding:1.9rem;
  background:rgba(255,255,255,.015); height:100%;
}
.quote-card .stars{ color:var(--gold); font-size:.85rem; letter-spacing:.2em; margin-bottom:1rem; }
.quote-card p.qtext{ color:var(--text); font-size:.94rem; margin-bottom:1.3rem; }
.quote-person{ display:flex; align-items:center; gap:.7rem; }
.quote-avatar{
  width:38px; height:38px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Sora',sans-serif; font-weight:700; font-size:.8rem; color:#081018;
  background:linear-gradient(135deg, var(--teal), var(--violet));
}
.quote-person .qname{ font-size:.88rem; font-weight:600; }
.quote-person .qrole{ font-size:.76rem; color:var(--text-faint); }

/* ============ TECH STACK STRIP ============ */
.tech-strip{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:2.2rem 0; overflow:hidden; width:100%; }
.marquee{ display:flex; gap:3rem; white-space:nowrap; animation:marquee 26s linear infinite; width:max-content; }
.marquee span{ font-family:'JetBrains Mono',monospace; font-size:.95rem; color:var(--text-faint); letter-spacing:.03em; }
@keyframes marquee{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .marquee{ animation:none; flex-wrap:wrap; } }

/* ============ CONTACT ============ */
.info-item{ margin-bottom:1.5rem; }
.info-item .label{ font-family:'JetBrains Mono', monospace; font-size:.7rem; color:var(--text-faint); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.35rem; }
.info-item .value{ font-size:1.02rem; overflow-wrap:anywhere; word-break:break-word; }
.info-item .value a{ transition:color .18s ease; }
.info-item .value a:hover{ color:var(--teal); }

.legal-card{ border:1px solid var(--line-bright); border-radius:var(--radius); padding:1.8rem; background:rgba(255,255,255,.02); height:100%; }
.legal-card .tag{ font-family:'JetBrains Mono', monospace; font-size:.68rem; color:var(--teal); text-transform:uppercase; letter-spacing:.08em; display:block; margin-bottom:1.1rem; }
.legal-row{ display:flex; justify-content:space-between; gap:14px; padding:.62rem 0; border-bottom:1px solid var(--line); font-size:.9rem; }
.legal-row:last-child{ border-bottom:none; }
.legal-row .k{ color:var(--text-dim); }
.legal-row .v{ text-align:right; }

/* CTA banner */
.cta-banner{
  border:1px solid var(--line-bright); border-radius:var(--radius);
  padding:2.6rem 1.6rem; text-align:center;
  background:linear-gradient(135deg, rgba(47,224,196,.09), rgba(139,107,255,.09));
  margin-bottom:3.5rem;
}
.cta-banner h3{ font-size:1.4rem; margin-bottom:.6rem; }
.cta-banner p{ color:var(--text-dim); margin-bottom:1.4rem; }

/* contact form */
.form-spl label{ font-family:'JetBrains Mono',monospace; font-size:.72rem; color:var(--text-faint); text-transform:uppercase; letter-spacing:.07em; margin-bottom:.4rem; }
.form-spl .form-control{
  background:rgba(255,255,255,.02); border:1px solid var(--line-bright); color:var(--text);
  border-radius:10px; padding:.7rem .9rem; font-size:.92rem;
}
.form-spl .form-control:focus{ background:rgba(255,255,255,.04); border-color:var(--teal); box-shadow:0 0 0 .2rem rgba(47,224,196,.15); color:var(--text); }
.form-spl .form-control::placeholder{ color:var(--text-faint); }
#formNote{ font-size:.85rem; }

/* ============ FOOTER ============ */
.footer-spl{ border-top:1px solid var(--line); padding:2rem 0; color:var(--text-faint); font-size:.82rem; }

/* back to top */
#backToTop{
  position:fixed; right:18px; bottom:18px; z-index:1000;
  width:44px; height:44px; border-radius:50%;
  background:linear-gradient(135deg, var(--teal), var(--violet)); color:#081018;
  display:flex; align-items:center; justify-content:center; font-size:1.1rem; border:none;
  box-shadow:0 14px 30px -12px rgba(47,224,196,.5);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
}
#backToTop.show{ opacity:1; visibility:visible; transform:translateY(0); }

::selection{ background: var(--violet); color:#fff; }
@media (prefers-reduced-motion: reduce){ *{ animation:none !important; transition:none !important; } }
a:focus-visible, button:focus-visible{ outline:2px solid var(--teal); outline-offset:3px; border-radius:4px; }
/* ============================================================
   MULTI-PAGE EXTENSIONS
   ============================================================ */

/* ---- Sub-page header (no photo banner) ---- */
.page-header{
  padding:7.2rem 0 3.6rem; position:relative; z-index:1; border-bottom:1px solid var(--line);
}
@media (max-width:576px){ .page-header{ padding:5.6rem 0 2.4rem; } }
.page-header h1{ font-size:clamp(1.7rem, 5vw, 2.9rem); font-weight:700; margin-bottom:1rem; max-width:22ch; }
.page-header p.lead-spl{ color:var(--text-dim); font-size:1.02rem; max-width:56ch; margin-bottom:0; }
.page-header .crumbs{
  font-family:'JetBrains Mono', monospace; font-size:.74rem; color:var(--text-faint);
  margin-bottom:1.2rem; display:flex; align-items:center; gap:8px;
}
.page-header .crumbs a{ color:var(--text-dim); }
.page-header .crumbs a:hover{ color:var(--teal); }

/* ---- Engagement / pricing model cards ---- */
.engage-card{
  border:1px solid var(--line); border-radius:var(--radius); padding:2rem 1.7rem;
  background:rgba(255,255,255,.015); height:100%; position:relative;
  transition:border-color .22s ease, transform .22s ease, background .22s ease;
}
.engage-card:hover{ border-color:var(--line-bright); transform:translateY(-4px); background:rgba(255,255,255,.03); }
.engage-card.featured{ border-color:rgba(47,224,196,.4); background:linear-gradient(180deg, rgba(47,224,196,.06), rgba(139,107,255,.04)); }
.engage-card .badge-pill{
  position:absolute; top:-12px; right:1.5rem;
  font-family:'JetBrains Mono', monospace; font-size:.66rem; text-transform:uppercase; letter-spacing:.06em;
  background:linear-gradient(100deg, var(--teal), var(--violet)); color:#081018; font-weight:700;
  padding:.32rem .75rem; border-radius:999px;
}
.engage-card h3{ font-size:1.12rem; margin-bottom:.4rem; }
.engage-card .price-tag{ font-family:'Sora',sans-serif; font-weight:700; font-size:1.35rem; color:var(--teal); margin-bottom:.9rem; display:block; }
.engage-card p{ color:var(--text-dim); font-size:.9rem; margin-bottom:1.2rem; }
.engage-list{ list-style:none; padding:0; margin:0 0 1.4rem; }
.engage-list li{ display:flex; gap:.6rem; align-items:flex-start; font-size:.87rem; color:var(--text); padding:.4rem 0; border-bottom:1px dashed var(--line); }
.engage-list li:last-child{ border-bottom:none; }
.engage-list li::before{ content:"✓"; color:var(--teal); font-weight:700; flex-shrink:0; }

/* ---- Service detail rows ---- */
.service-detail{
  border:1px solid var(--line); border-radius:var(--radius);
  padding:2.1rem 1.9rem; background:rgba(255,255,255,.015); height:100%;
  transition:border-color .22s ease, transform .22s ease, background .22s ease;
}
.service-detail:hover{ border-color:var(--line-bright); transform:translateY(-4px); background:rgba(255,255,255,.03); }
.service-detail .service-icon{ margin-bottom:1.2rem; }
.service-detail h3{ font-size:1.15rem; margin-bottom:.6rem; }
.service-detail > p{ color:var(--text-dim); font-size:.92rem; margin-bottom:1.1rem; }
.service-detail .deliver-label{
  font-family:'JetBrains Mono', monospace; font-size:.68rem; color:var(--text-faint);
  text-transform:uppercase; letter-spacing:.08em; margin-bottom:.6rem; display:block;
}
.service-detail ul{ list-style:none; padding:0; margin:0; }
.service-detail ul li{ font-size:.86rem; color:var(--text); padding:.28rem 0; display:flex; gap:.55rem; }
.service-detail ul li::before{ content:"—"; color:var(--text-faint); flex-shrink:0; }

/* ---- FAQ accordion ---- */
.faq-item{ border-bottom:1px solid var(--line); }
.faq-item:first-child{ border-top:1px solid var(--line); }
.faq-q{
  width:100%; text-align:left; background:none; border:none; color:var(--text);
  font-family:'Sora',sans-serif; font-weight:600; font-size:1rem;
  padding:1.3rem .3rem; display:flex; justify-content:space-between; align-items:center; gap:1rem;
  cursor:pointer;
}
.faq-q .plus{ font-family:'JetBrains Mono',monospace; color:var(--teal); font-size:1.2rem; flex-shrink:0; transition:transform .22s ease; }
.faq-item.open .faq-q .plus{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .28s ease; }
.faq-item.open .faq-a{ max-height:400px; }
.faq-a p{ color:var(--text-dim); font-size:.92rem; padding:0 .3rem 1.3rem; margin:0; max-width:70ch; }

/* ---- About: company story timeline ---- */
.story-track{ position:relative; padding-left:1.6rem; border-left:1px solid var(--line-bright); }
.story-milestone{ position:relative; padding-bottom:2.1rem; }
.story-milestone:last-child{ padding-bottom:0; }
.story-milestone::before{
  content:""; position:absolute; left:-1.68rem; top:.3rem; width:11px; height:11px; border-radius:50%;
  background:var(--bg); border:2px solid var(--teal); box-shadow:0 0 0 4px var(--bg);
}
.story-milestone .m-year{ font-family:'JetBrains Mono',monospace; font-size:.74rem; color:var(--teal); letter-spacing:.06em; margin-bottom:.3rem; display:block; }
.story-milestone h4{ font-size:1rem; margin-bottom:.4rem; }
.story-milestone p{ color:var(--text-dim); font-size:.9rem; margin-bottom:0; max-width:60ch; }

/* ---- About: values grid ---- */
/* ============ PROJECT ESTIMATOR ============ */
.estimator-card{
  border:1px solid var(--line); border-radius:var(--radius);
  background:rgba(255,255,255,.015); padding:1.9rem; height:100%;
}
.est-field{ margin-bottom:1.8rem; }
.est-field:last-of-type{ margin-bottom:0; }
.est-field-head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:.7rem; gap:.6rem; }
.est-field-head label{ font-size:.86rem; color:var(--text-dim); font-weight:500; }
.est-field-value{ font-family:'JetBrains Mono', monospace; font-weight:600; color:var(--teal); font-size:.95rem; }

.est-range{
  width:100%; appearance:none; -webkit-appearance:none; height:6px; border-radius:999px;
  background:var(--line-bright); accent-color:var(--teal); cursor:pointer; display:block;
}
.est-range::-webkit-slider-thumb{
  appearance:none; -webkit-appearance:none; width:18px; height:18px; border-radius:50%;
  background:linear-gradient(100deg, var(--teal), var(--violet));
  border:2px solid var(--bg); box-shadow:0 0 0 1px var(--line-bright); cursor:pointer;
}
.est-range::-moz-range-thumb{
  width:18px; height:18px; border-radius:50%; border:2px solid var(--bg);
  background:linear-gradient(100deg, var(--teal), var(--violet)); cursor:pointer;
}
.est-range::-moz-range-track{ background:var(--line-bright); height:6px; border-radius:999px; }
.est-range-scale{ display:flex; justify-content:space-between; font-family:'JetBrains Mono',monospace; font-size:.68rem; color:var(--text-faint); margin-top:.5rem; }

.est-toggle{ display:flex; flex-direction:column; gap:.6rem; }
.est-toggle-btn{
  display:flex; justify-content:space-between; align-items:center; gap:.6rem; width:100%;
  border:1px solid var(--line); background:rgba(255,255,255,.01); color:var(--text);
  border-radius:12px; padding:.65rem .95rem; font-size:.86rem; font-weight:500; text-align:left;
  transition:border-color .18s ease, background .18s ease;
}
.est-toggle-main{ display:flex; flex-direction:column; gap:.15rem; min-width:0; }
.est-toggle-name{ font-weight:600; }
.est-toggle-sub{ font-family:'JetBrains Mono',monospace; font-size:.66rem; color:var(--text-faint); font-weight:400; white-space:normal; }
.est-toggle-btn .est-badge{ font-family:'JetBrains Mono',monospace; font-size:.68rem; color:var(--text-faint); font-weight:400; flex-shrink:0; }
.est-toggle-btn.active{ border-color:var(--teal); background:rgba(47,224,196,.08); }
.est-toggle-btn.active .est-badge{ color:var(--teal); }
.est-toggle-btn.active .est-toggle-sub{ color:var(--teal); opacity:.85; }
.est-toggle-btn:hover{ border-color:var(--line-bright); }

.est-tech-stack{ margin-top:1.3rem; padding-top:1.1rem; border-top:1px dashed var(--line); }
.est-tech-label{ display:block; font-family:'JetBrains Mono',monospace; font-size:.66rem; color:var(--text-faint); text-transform:uppercase; letter-spacing:.04em; margin-bottom:.55rem; }
.est-tech-badges{ display:flex; flex-wrap:wrap; gap:.45rem; }
.est-tech-badge{
  font-family:'JetBrains Mono',monospace; font-size:.7rem; color:var(--teal);
  background:rgba(47,224,196,.08); border:1px solid rgba(47,224,196,.3);
  border-radius:999px; padding:.25rem .65rem;
}

.est-note{ font-size:.78rem; color:var(--text-faint); margin-top:1.6rem; margin-bottom:0; }

.estimator-result{
  border:1px solid var(--line-bright); border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.008));
  padding:2rem 1.9rem; height:100%; box-shadow:0 30px 80px -40px rgba(0,0,0,.6);
}
.est-result-label{ font-family:'JetBrains Mono',monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--text-faint); }
.est-big-num{
  font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(2.1rem,6vw,3rem);
  margin:.5rem 0 .2rem;
  background:linear-gradient(100deg, var(--teal), var(--violet));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  line-height:1.05;
}
.est-result-sub{ display:block; color:var(--text-dim); font-size:.88rem; margin-bottom:1.6rem; }

.est-stat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:.9rem; margin-bottom:1.6rem; }
.est-stat{ border:1px solid var(--line); border-radius:12px; padding:.9rem .8rem; text-align:center; background:rgba(255,255,255,.015); }
.est-stat-num{ display:block; font-family:'Sora',sans-serif; font-weight:700; font-size:1.25rem; color:var(--text); overflow-wrap:anywhere; }
.est-stat-label{ display:block; font-family:'JetBrains Mono',monospace; font-size:.63rem; color:var(--text-faint); text-transform:uppercase; letter-spacing:.04em; margin-top:.35rem; }

.est-highlight{
  border:1px solid rgba(240,185,92,.35); background:rgba(240,185,92,.06);
  border-radius:12px; padding:1.2rem 1.3rem; margin-bottom:1.3rem;
}
.est-highlight-tag{ font-family:'JetBrains Mono',monospace; font-size:.72rem; color:var(--gold); text-transform:uppercase; letter-spacing:.04em; }
.est-highlight p{ color:var(--text-dim); font-size:.85rem; margin:.55rem 0 1rem; }
.est-mini-stats{ display:flex; gap:1.4rem; flex-wrap:wrap; }
.est-mini-stats div{ display:flex; flex-direction:column; }
.est-mini-stats strong{ font-family:'Sora',sans-serif; font-size:1.05rem; color:var(--text); }
.est-mini-stats span{ font-family:'JetBrains Mono',monospace; font-size:.63rem; color:var(--text-faint); text-transform:uppercase; }

.est-disclaimer{ font-size:.74rem; color:var(--text-faint); margin-bottom:0; }

@media (max-width:576px){
  .est-stat-grid{ grid-template-columns:1fr; }
  .est-mini-stats{ gap:1rem; }
}

.value-card{
  border:1px solid var(--line); border-radius:var(--radius); padding:1.7rem;
  background:rgba(255,255,255,.015); height:100%;
}
.value-card .value-glyph{ font-size:1.3rem; color:var(--violet); margin-bottom:.9rem; display:block; }
.value-card h4{ font-size:.98rem; margin-bottom:.5rem; }
.value-card p{ color:var(--text-dim); font-size:.87rem; margin-bottom:0; }

/* ---- Founders: expanded profile ---- */
.partner-note{
  border:1px solid var(--line); border-radius:var(--radius);
  background:rgba(255,255,255,.015); padding:1.6rem 1.9rem; margin-top:1.6rem;
}
.partner-note-tag{
  display:block; font-family:'JetBrains Mono', monospace; font-size:.7rem; color:var(--violet);
  text-transform:uppercase; letter-spacing:.06em; margin-bottom:.7rem;
}
.partner-note p{ color:var(--text-dim); font-size:.9rem; margin-bottom:0; max-width:78ch; }

.partner-photo{
  border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; background:rgba(255,255,255,.015);
  display:flex; align-items:center; justify-content:center; min-height:280px;
  margin-top:1.6rem;
}
.partner-photo img{ width:100%; height:auto; object-fit:contain; display:block; max-height:100%; }

.founder-card.expanded{ padding:2.2rem; }
.founder-card.expanded .founder-avatar{ width:72px; height:72px; font-size:1.4rem; }
.founder-meta{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }
.founder-meta span{
  font-family:'JetBrains Mono',monospace; font-size:.68rem; color:var(--text-dim);
  border:1px solid var(--line); border-radius:6px; padding:.22rem .6rem;
}
.founder-links{ display:flex; flex-wrap:wrap; gap:1.1rem; margin-top:1rem; }

/* Avatar photo support: drop a JPG/PNG at the given path and it
   replaces the initials automatically (onerror keeps the initials
   showing until a real photo exists — see comment in about.html). */
.founder-avatar{ position:relative; overflow:hidden; }
.founder-avatar img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; border-radius:50%;
}
.founder-avatar .initials{ position:relative; z-index:1; }

/* ---- Studio-in-numbers stat cards (About page) ---- */
.fact-card{
  border:1px solid var(--line); border-radius:var(--radius); padding:1.6rem;
  background:rgba(255,255,255,.015); text-align:center; height:100%;
}

/* ---- Business Partners Section ---- */
.partner-card{
  border:1px solid var(--line); border-radius:var(--radius); padding:2rem;
  background:rgba(255,255,255,.015); height:100%;
  display:flex; flex-direction:column; gap:1rem;
  transition:all .3s ease;
}
.partner-card:hover{
  background:rgba(255,255,255,.025); border-color:var(--teal);
  transform:translateY(-4px); box-shadow:0 12px 30px rgba(47,224,196,.15);
}

.partner-avatar{
  width:72px; height:72px; border-radius:50%;
  background:linear-gradient(135deg, rgba(139,107,255,.3), rgba(47,224,196,.3));
  display:flex; align-items:center; justify-content:center;
  border:2px solid var(--line); margin-bottom:.5rem;
  font-family:'Sora',sans-serif; font-weight:700;
}
.avatar-initials{
  font-size:1.8rem; color:var(--teal); letter-spacing:-0.02em;
}
.partner-avatar:hover .avatar-initials{
  color:var(--violet);
}

.partner-card h3{
  font-size:1.1rem; margin-bottom:.2rem; color:var(--text);
  font-family:'Sora',sans-serif; font-weight:600;
}
.partner-category{
  display:block; font-family:'JetBrains Mono',monospace; font-size:.75rem;
  color:var(--teal); text-transform:uppercase; letter-spacing:.06em;
  margin-bottom:.8rem;
}
.partner-card p{
  color:var(--text-dim); font-size:.9rem; margin-bottom:0; flex-grow:1;
  line-height:1.6;
}
.partner-meta{
  display:flex; flex-direction:column; gap:.5rem;
  padding:.8rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  margin:.8rem 0;
}
.partner-meta span{
  font-size:.85rem; color:var(--text-faint); display:flex; align-items:center; gap:.4rem;
}
.partner-link{
  color:var(--teal); font-size:.9rem; font-weight:500;
  transition:all .2s ease; display:inline-flex; align-items:center; gap:.3rem;
  font-family:'Sora',sans-serif;
}
.partner-link:hover{
  color:var(--violet); transform:translateX(4px);
}
.fact-card .fact-num{
  font-family:'Sora',sans-serif; font-weight:800; font-size:1.9rem;
  background:linear-gradient(100deg, var(--teal), var(--violet));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  line-height:1; margin-bottom:.5rem; display:block; min-height:1.9rem;
}
.fact-card .fact-label{ font-family:'JetBrains Mono',monospace; font-size:.7rem; color:var(--text-faint); text-transform:uppercase; letter-spacing:.06em; }

/* ---- Education / credential rows ---- */
.credential-row{ display:flex; gap:.9rem; padding:.7rem 0; border-bottom:1px dashed var(--line); font-size:.88rem; }
.credential-row:last-child{ border-bottom:none; }
.credential-row .cr-icon{ color:var(--teal); flex-shrink:0; }
.credential-row .cr-label{ color:var(--text-faint); min-width:9ch; }
.credential-row .cr-value{ color:var(--text); }

/* ---- Project case detail (projects page) ---- */
.project-card.large .project-cover{ height:170px; }
.case-role{ font-family:'JetBrains Mono',monospace; font-size:.72rem; color:var(--text-faint); margin-top:.6rem; display:block; }

/* ---- Contact page: channel cards ---- */
.channel-card{
  border:1px solid var(--line); border-radius:var(--radius); padding:1.6rem;
  background:rgba(255,255,255,.015); display:flex; gap:1rem; align-items:flex-start; height:100%;
  transition:border-color .2s ease, transform .2s ease;
}
.channel-card:hover{ border-color:var(--line-bright); transform:translateY(-3px); }
.channel-card .ch-icon{
  width:42px; height:42px; border-radius:10px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:1.05rem;
  background:rgba(47,224,196,.12); color:var(--teal);
}
.channel-card h4{ font-size:.96rem; margin-bottom:.3rem; }
.channel-card p{ color:var(--text-dim); font-size:.86rem; margin-bottom:0; overflow-wrap:anywhere; }
.channel-card a{ color:var(--text); transition:color .18s ease; }
.channel-card a:hover{ color:var(--teal); }

/* ---- Simple footer nav ---- */
.footer-spl .footer-cols{ display:flex; flex-wrap:wrap; gap:2.4rem; margin-bottom:1.6rem; }
.footer-spl .footer-col h5{
  font-family:'JetBrains Mono',monospace; font-size:.7rem; color:var(--text-dim);
  text-transform:uppercase; letter-spacing:.08em; margin-bottom:.9rem;
}
.footer-spl .footer-col a{ display:block; font-size:.86rem; color:var(--text-faint); margin-bottom:.55rem; transition:color .18s ease; }
.footer-spl .footer-col a:hover{ color:var(--teal); }
.footer-bottom{ border-top:1px solid var(--line); padding-top:1.4rem; margin-top:.4rem; }

/* ---- Partner section responsive fix ---- */
@media (min-width:992px){
  .partner-photo{ min-height:280px; }
}

@media (max-width:991px){
  .partner-photo{ min-height:340px; }
}

@media (max-width:576px){
  .partner-photo{ min-height:300px; }
}

/* ---- Full Website Responsive Design ---- */

/* Large Desktop (1200px+) */
@media (min-width:1200px){
  .container-xl{ max-width:1180px; padding-left:32px; padding-right:32px; }
  section{ padding:6rem 0; }
  .partner-card{ padding:2.2rem; }
  .partner-logo{ font-size:2.4rem; }
}

/* Tablet & Medium Devices (768px - 991px) */
@media (max-width:991px) and (min-width:768px){
  section{ padding:4.5rem 0; }
  .container-xl{ padding-left:28px; padding-right:28px; }
  .partner-card{ padding:1.8rem; gap:.8rem; }
  .section-head h2{ font-size:2rem; }
  .fact-card{ padding:1.4rem; }
}

/* Small Tablet (577px - 767px) */
@media (max-width:767px) and (min-width:577px){
  section{ padding:3.6rem 0; }
  .container-xl{ padding-left:24px; padding-right:24px; }
  .partner-card{ padding:1.6rem; gap:.6rem; }
  .partner-card h3{ font-size:1rem; }
  .partner-card p{ font-size:.85rem; }
  .section-head h2{ font-size:1.8rem; }
  .fact-card{ padding:1.2rem; }
}

/* Mobile (max-width:576px) */
@media (max-width:576px){
  section{ padding:3.2rem 0; }
  .container-xl{ padding-left:20px; padding-right:20px; max-width:100%; }

  /* Founder cards mobile (3-up grid stacks to 1 col by default; tighten spacing) */
  .founder-card{ padding:1.5rem; }
  .founder-avatar{ width:48px; height:48px; font-size:1rem; }

  /* Partner cards mobile */
  .partner-card{ padding:1.4rem; gap:.5rem; }
  .partner-card h3{ font-size:.95rem; }
  .partner-card p{ font-size:.8rem; }
  .partner-meta{ margin:.6rem 0; padding:.6rem 0; }
  .partner-meta span{ font-size:.75rem; }
  .partner-logo-box{ width:56px; height:56px; margin-bottom:.3rem; }
  .partner-logo{ font-size:1.8rem; }

  /* Fact cards mobile */
  .fact-card{ padding:1rem; }
  .fact-num{ font-size:2.2rem; }
  .fact-label{ font-size:.75rem; }

  /* Section headers mobile */
  .section-head h2{ font-size:1.6rem; line-height:1.3; }
  .section-head p{ font-size:.85rem; }

  /* Grid adjustments */
  .row{ gap:1rem; }

  /* Hide elements on mobile if needed */
  .reveal{ opacity:0; transform:translateY(20px); }
}

/* Extra Small Mobile (max-width:360px) */
@media (max-width:360px){
  .container-xl{ padding-left:16px; padding-right:16px; }
  section{ padding:2.8rem 0; }

  .partner-card{ padding:1.2rem; }
  .partner-card h3{ font-size:.9rem; }
  .partner-logo-box{ width:48px; height:48px; }
  .partner-logo{ font-size:1.6rem; }

  .section-head h2{ font-size:1.4rem; }
  .fact-card{ padding:.9rem; }
  .fact-num{ font-size:2rem; }
}

/* Landscape Mobile (max-height:500px) */
@media (max-height:500px) and (orientation:landscape){
  section{ padding:2.5rem 0; }
  .section-head{ margin-bottom:1.5rem; }
  .partner-card{ padding:1.2rem; }
}

/* Large Desktop Optimization (1400px+) */
@media (min-width:1400px){
  .container-xl{ max-width:1320px; }
  .partner-card{ padding:2.4rem; }
  .fact-card{ padding:1.8rem; }
  .section-head h2{ font-size:2.8rem; }
}

/* Touch Device Optimization */
@media (hover:none) and (pointer:coarse){
  .partner-card:hover{ transform:none; }
  .partner-card:active{
    background:rgba(255,255,255,.03);
    border-color:var(--teal);
  }
  .partner-link:active{ transform:none; }
}