:root{
  --paper:#EFF1F5;
  --paper-2:#FFFFFF;
  --paper-3:#E4E7EE;
  --ink:#12141C;
  --ink-dim:#5B5F70;
  --volt:#2F51F2;
  --volt-soft:#2F51F214;
  --brass:#9C7A2E;
  --ember:#C9491F;
  --line:rgba(18,20,28,0.10);
  --line-strong:rgba(18,20,28,0.20);
  --display:'Fraunces', serif;
  --body:'Inter', sans-serif;
  --mono:'IBM Plex Mono', monospace;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;}
::selection{background:var(--volt);color:var(--paper-2);}
a{color:inherit;text-decoration:none;}
.wrap{max-width:920px;margin:0 auto;padding:0 32px;}
@media (max-width:640px){.wrap{padding:0 20px;}}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}

.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1;transform:translateY(0);}
.work-grid > .reveal:nth-child(2){transition-delay:.06s;}
.work-grid > .reveal:nth-child(3){transition-delay:.12s;}
.work-grid > .reveal:nth-child(4){transition-delay:.18s;}
.work-grid > .reveal:nth-child(5){transition-delay:.24s;}
.work-grid > .reveal:nth-child(6){transition-delay:.3s;}
.stat-row > .reveal:nth-child(2){transition-delay:.1s;}
.stat-row > .reveal:nth-child(3){transition-delay:.2s;}

header{
  position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:20px 32px;background:rgba(239,241,245,0.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
}
.logo{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:0.01em;}
.logo span{color:var(--volt);}
.back-link{
  font-family:var(--mono);font-size:12.5px;letter-spacing:0.03em;color:var(--ink-dim);
  display:flex;align-items:center;gap:6px;transition:color .25s ease;
}
.back-link:hover{color:var(--ink);}

.case-hero{padding:72px 0 48px;border-bottom:1px solid var(--line);}
.case-eyebrow{
  font-family:var(--mono);font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--brass);
  display:flex;align-items:center;gap:10px;margin-bottom:20px;
}
.case-eyebrow::before{content:'';width:24px;height:1px;background:var(--brass);}
.case-hero h1{
  font-family:var(--display);font-weight:600;font-size:clamp(32px,5vw,54px);line-height:1.04;letter-spacing:-0.01em;margin-bottom:20px;
}
.case-summary{font-size:17px;line-height:1.65;color:var(--ink-dim);max-width:640px;margin-bottom:28px;}
.case-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;}
.case-chip{
  font-family:var(--mono);font-size:11.5px;padding:6px 13px;border:1px solid var(--line-strong);
  border-radius:100px;color:var(--ink-dim);
}
.case-actions{display:flex;gap:14px;flex-wrap:wrap;}
.btn{
  font-family:var(--mono);font-size:13px;letter-spacing:0.03em;padding:14px 24px;border-radius:100px;
  display:inline-flex;align-items:center;gap:8px;transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}
.btn-primary{background:var(--ink);color:var(--paper-2);}
.btn-primary:hover{background:var(--volt);color:#fff;transform:translateY(-2px);}
.btn-ghost{border:1px solid var(--line-strong);color:var(--ink);}
.btn-ghost:hover{border-color:var(--ink);transform:translateY(-2px);}

section.case-section{padding:56px 0;border-bottom:1px solid var(--line);}
section.case-section:last-of-type{border-bottom:none;}
.section-label{
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--volt);
  display:block;margin-bottom:14px;
}
.case-section h2{font-family:var(--display);font-weight:600;font-size:clamp(24px,3vw,32px);letter-spacing:-0.01em;margin-bottom:32px;max-width:600px;}

.work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;}
.work-card{background:var(--paper-2);border:1px solid var(--line-strong);border-radius:16px;padding:28px 26px;}
.work-card h3{font-family:var(--display);font-weight:600;font-size:18px;margin-bottom:12px;}
.work-card p{color:var(--ink-dim);font-size:14px;line-height:1.65;}
.work-card ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.work-card li{font-size:13.5px;color:var(--ink-dim);line-height:1.6;padding-left:16px;position:relative;}
.work-card li::before{content:'—';position:absolute;left:0;color:var(--volt);}
.work-card li strong{color:var(--ink);font-weight:600;}

.before-after{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line-strong);border-radius:16px;overflow:hidden;}
@media (max-width:700px){.before-after{grid-template-columns:1fr;}}
.ba-col{background:var(--paper-2);padding:30px 28px;}
.ba-col.after{background:linear-gradient(180deg, rgba(47,81,242,0.05), var(--paper-2) 45%);}
.ba-label{font-family:var(--mono);font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;padding:5px 12px;border-radius:100px;display:inline-block;margin-bottom:18px;}
.ba-col.before .ba-label{color:var(--ink-dim);border:1px solid var(--line-strong);}
.ba-col.after .ba-label{color:#fff;background:var(--volt);}
.ba-list{list-style:none;display:flex;flex-direction:column;gap:14px;}
.ba-list li{font-size:14px;line-height:1.55;color:var(--ink-dim);padding-left:22px;position:relative;}
.ba-col.before .ba-list li::before{content:'×';position:absolute;left:0;color:var(--ember);font-weight:600;}
.ba-col.after .ba-list li{color:var(--ink);}
.ba-col.after .ba-list li::before{content:'✓';position:absolute;left:0;color:var(--volt);font-weight:600;}

.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;}
.stat-card{background:var(--paper-2);border:1px solid var(--line-strong);border-radius:14px;padding:24px 22px;text-align:center;}
.stat-value{display:block;font-family:var(--display);font-weight:600;font-size:30px;color:var(--volt);margin-bottom:6px;}
.stat-label{font-family:var(--mono);font-size:11px;color:var(--ink-dim);line-height:1.4;}
.stat-placeholder{
  grid-column:1/-1;background:var(--paper-3);border:1px dashed var(--line-strong);border-radius:14px;
  padding:28px;text-align:center;color:var(--ink-dim);font-size:13.5px;
}

footer{padding:40px 0;text-align:center;border-top:1px solid var(--line);}
footer a{font-family:var(--mono);font-size:12.5px;color:var(--volt);}

/* ---------- price estimate quiz ---------- */
.eq-progress-track{height:3px;background:var(--line);margin-bottom:32px;border-radius:100px;max-width:640px;}
.eq-progress-fill{height:3px;background:var(--volt);width:0%;transition:width .5s cubic-bezier(.16,1,.3,1);border-radius:100px;}

.eq-card{background:var(--paper-2);border:1px solid var(--line-strong);border-radius:16px;padding:36px 32px;max-width:640px;box-shadow:0 30px 60px -36px rgba(18,20,28,0.18);}
.eq-qnum{font-family:var(--mono);font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:14px;}
.eq-question{font-family:var(--display);font-weight:600;font-size:21px;line-height:1.35;margin:0 0 24px;}
#eqQuestionInner{animation:eqQIn .45s cubic-bezier(.16,1,.3,1);}
@keyframes eqQIn{from{opacity:0;transform:translateX(14px);}to{opacity:1;transform:translateX(0);}}

.eq-options{display:flex;flex-direction:column;gap:10px;}
.eq-opt{
  font-family:var(--body);text-align:left;padding:15px 18px;border:1px solid var(--line-strong);
  background:transparent;border-radius:10px;font-size:14.5px;color:var(--ink);cursor:pointer;
  transition:border-color .2s ease, background .2s ease, transform .2s ease;width:100%;
}
.eq-opt:hover{border-color:var(--volt);transform:translateX(3px);}
.eq-opt.selected{border-color:var(--volt);background:var(--volt-soft);}

.eq-style-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;}
.eq-style-card{border:1px solid var(--line-strong);border-radius:12px;padding:16px;cursor:pointer;transition:border-color .2s ease, background .2s ease;text-align:left;background:var(--paper);}
.eq-style-card:hover{border-color:var(--volt);}
.eq-style-card.selected{border-color:var(--volt);background:var(--volt-soft);}
.eq-style-card h5{font-family:var(--display);font-weight:600;font-size:14px;margin:0 0 4px;}
.eq-style-card p{font-size:12px;color:var(--ink-dim);line-height:1.4;margin:0;}

.eq-preview{height:64px;border-radius:8px;margin-bottom:10px;position:relative;overflow:hidden;background:var(--paper-2);border:1px solid var(--line);}
.eq-preview-minimal .eq-bar{position:absolute;left:10px;height:5px;border-radius:3px;background:var(--ink-dim);opacity:.35;transition:transform .4s ease;}
.eq-preview-minimal .eq-bar:nth-child(1){top:14px;width:60%;}
.eq-preview-minimal .eq-bar:nth-child(2){top:26px;width:40%;transition-delay:.05s;}
.eq-preview-minimal .eq-bar:nth-child(3){top:38px;width:50%;transition-delay:.1s;}
.eq-preview-minimal .eq-bar:nth-child(4){top:50px;width:30%;transition-delay:.15s;}
.eq-style-card:hover .eq-preview-minimal .eq-bar{transform:translateX(6px);opacity:.6;}

.eq-preview-modern .eq-chip{position:absolute;width:26%;height:34px;border-radius:6px;background:var(--paper-3);border:1px solid var(--line-strong);transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;}
.eq-preview-modern .eq-chip:nth-child(1){left:8%;top:16px;}
.eq-preview-modern .eq-chip:nth-child(2){left:37%;top:16px;transition-delay:.06s;}
.eq-preview-modern .eq-chip:nth-child(3){left:66%;top:16px;transition-delay:.12s;}
.eq-style-card:hover .eq-preview-modern .eq-chip{transform:translateY(-6px);box-shadow:0 10px 20px -10px rgba(18,20,28,0.3);border-color:var(--volt);}

.eq-preview-rich .eq-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--ink-dim);opacity:.4;transition:transform .4s cubic-bezier(.34,1.56,.64,1), background .4s ease, opacity .4s ease;}
.eq-preview-rich .eq-dot:nth-child(n){transition-delay:calc(var(--i) * 0.04s);}
.eq-style-card:hover .eq-preview-rich .eq-dot{transform:scale(1.5);background:var(--volt);opacity:.9;}

.eq-nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:28px;max-width:640px;}
.eq-error-msg{font-family:var(--mono);color:var(--ember);font-size:12.5px;margin-top:14px;display:none;}

.eq-result{display:none;max-width:640px;}
.eq-tier-badge{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;padding:6px 13px;border-radius:100px;margin-bottom:14px;background:var(--volt-soft);color:var(--volt);}
.eq-price{font-family:var(--display);font-weight:600;font-size:42px;color:var(--ink);margin-bottom:6px;}
.eq-price-note{font-family:var(--mono);font-size:12px;color:var(--ink-dim);margin-bottom:24px;}
.eq-why{font-size:14.5px;color:var(--ink);line-height:1.65;margin-bottom:24px;}
.eq-includes{border-top:1px solid var(--line);padding-top:20px;margin-bottom:24px;}
.eq-includes h4{font-family:var(--display);font-weight:600;font-size:15px;margin-bottom:12px;}
.eq-includes ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
.eq-includes li{font-size:13.5px;color:var(--ink-dim);padding-left:16px;position:relative;}
.eq-includes li::before{content:'—';position:absolute;left:0;color:var(--volt);}
.eq-restart{
  font-family:var(--mono);background:none;border:1px solid var(--line-strong);color:var(--ink-dim);
  padding:11px 20px;border-radius:100px;cursor:pointer;font-size:12.5px;margin-top:8px;
}
.eq-restart:hover{border-color:var(--ink);color:var(--ink);}

/* ---------- type-picker cards (used on the main site) ---------- */
.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:860px){.type-grid{grid-template-columns:1fr;}}
.type-card{
  background:var(--paper-2);border:1px solid var(--line-strong);border-radius:16px;padding:32px 28px;
  transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, border-color .3s ease;display:block;
}
.type-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(18,20,28,0.25);border-color:var(--volt);}
.type-card h3{font-family:var(--display);font-weight:600;font-size:21px;margin-bottom:10px;}
.type-card p{color:var(--ink-dim);font-size:14px;line-height:1.6;margin-bottom:18px;}
.type-card .type-cta{font-family:var(--mono);font-size:12.5px;color:var(--volt);}
