:root{
  --bg:#0a0a0b;
  --bg-2:#0e0e10;
  --card:#121215;
  --border:rgba(255,255,255,.07);
  --border-2:rgba(255,255,255,.16);
  --text:#f2f1ed;
  --text-2:rgba(242,241,237,.62);
  --text-3:rgba(242,241,237,.38);
  --accent:#2e7bf6;
  --accent-2:#1f63d4;
  --radius:10px;
  --font-h:'Space Grotesk',sans-serif;
  --font-b:'Inter',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:var(--font-b);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
::selection{background:rgba(46,123,246,.35);}

.container{max-width:1160px;margin:0 auto;padding:0 24px;}

/* ── Nav ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s,border-color .3s;border-bottom:1px solid transparent;}
.nav.scrolled{background:rgba(10,10,11,.88);backdrop-filter:blur(14px);border-bottom-color:var(--border);}
.nav-inner{max-width:1160px;margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.brand svg{width:30px;height:30px;}
.brand-name{font-family:var(--font-h);font-weight:500;font-size:17px;letter-spacing:.01em;}
.brand-name b{color:var(--accent);font-weight:500;}
.nav-links{display:flex;gap:32px;align-items:center;}
.nav-links a{font-size:14px;color:var(--text-2);transition:color .2s;}
.nav-links a:hover{color:var(--text);}
.nav-links a.active{color:var(--text);}
.nav-cta{display:flex;align-items:center;gap:18px;}
.nav-phone{font-size:14px;color:var(--text-2);}
.nav-phone:hover{color:var(--text);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-b);font-size:14.5px;font-weight:500;padding:11px 22px;border-radius:8px;transition:background .2s,border-color .2s,transform .15s;cursor:pointer;border:1px solid transparent;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:var(--accent-2);}
.btn-ghost{border-color:var(--border-2);color:var(--text);}
.btn-ghost:hover{border-color:rgba(255,255,255,.32);}
.btn-lg{padding:14px 28px;font-size:15.5px;}
.menu-btn{display:none;background:none;border:none;cursor:pointer;padding:6px;}
.menu-btn span{display:block;width:20px;height:2px;background:var(--text);margin:4px 0;border-radius:1px;}
.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;z-index:99;background:rgba(10,10,11,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding:20px 24px 28px;flex-direction:column;gap:4px;}
.mobile-menu a{padding:12px 0;font-size:16px;color:var(--text-2);border-bottom:1px solid var(--border);}
.mobile-menu a:last-child{border-bottom:none;}
.mobile-menu .btn{margin-top:14px;justify-content:center;}

/* ── Sections ── */
.section{padding:110px 0;}
.section.tight{padding:80px 0;}
.section.alt{background:var(--bg-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.kicker{display:flex;align-items:center;gap:10px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:18px;font-weight:500;}
.kicker::before{content:'';width:22px;height:1px;background:var(--accent);}
h1{font-family:var(--font-h);font-weight:500;font-size:clamp(2.5rem,5.6vw,4.1rem);line-height:1.06;letter-spacing:-.025em;}
h2{font-family:var(--font-h);font-weight:500;font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.12;letter-spacing:-.02em;}
h3{font-family:var(--font-h);font-weight:500;font-size:1.15rem;letter-spacing:-.01em;}
.lede{font-size:17px;color:var(--text-2);max-width:620px;line-height:1.7;}
.section-head{max-width:720px;margin-bottom:56px;}
.section-head .lede{margin-top:16px;}

/* ── Hero ── */
.hero{padding:190px 0 90px;position:relative;}
.hero .lede{margin:24px 0 36px;font-size:18px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:52px;}
.trust-row{display:flex;flex-wrap:wrap;gap:10px 28px;padding-top:28px;border-top:1px solid var(--border);}
.trust-row span{font-size:13.5px;color:var(--text-3);display:flex;align-items:center;gap:8px;}
.trust-row span::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--accent);}

/* ── Stat band ── */
.stat-band{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-2);}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.stat{padding:36px 28px;border-right:1px solid var(--border);}
.stat:last-child{border-right:none;}
.stat b{display:block;font-family:var(--font-h);font-weight:500;font-size:2rem;letter-spacing:-.02em;margin-bottom:4px;}
.stat span{font-size:13.5px;color:var(--text-3);line-height:1.5;display:block;}

/* ── Cards ── */
.grid{display:grid;gap:16px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:30px;transition:border-color .25s,transform .2s;}
a.card:hover{border-color:var(--border-2);transform:translateY(-2px);}
.card .num{font-size:13px;color:var(--text-3);font-weight:500;margin-bottom:22px;display:block;}
.card h3{margin-bottom:10px;}
.card p{font-size:14.5px;color:var(--text-2);line-height:1.7;}
.card .link{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--accent);margin-top:20px;font-weight:500;}

/* ── Steps ── */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:step;}
.step{padding:28px 26px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);}
.step em{display:block;font-style:normal;font-family:var(--font-h);color:var(--accent);font-size:14px;font-weight:500;margin-bottom:16px;}
.step h3{font-size:1.02rem;margin-bottom:8px;}
.step p{font-size:14px;color:var(--text-2);line-height:1.65;}

/* ── Packages ── */
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start;}
.pkg{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:34px 30px;position:relative;}
.pkg.featured{border-color:var(--accent);}
.pkg-badge{position:absolute;top:-13px;left:30px;background:var(--accent);color:#fff;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:6px;}
.pkg .tier{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-weight:600;}
.pkg .goal{font-family:var(--font-h);font-size:1.35rem;font-weight:500;margin:8px 0 22px;letter-spacing:-.01em;}
.pkg .price{font-family:var(--font-h);font-size:2.6rem;font-weight:500;letter-spacing:-.02em;line-height:1;}
.pkg .price small{font-family:var(--font-b);font-size:14px;color:var(--text-3);font-weight:400;letter-spacing:0;}
.pkg .monthly{font-size:14.5px;color:var(--text-2);margin:8px 0 24px;}
.pkg .monthly b{color:var(--text);font-weight:600;}
.pkg ul{list-style:none;border-top:1px solid var(--border);padding-top:22px;margin-bottom:28px;}
.pkg li{font-size:14.5px;color:var(--text-2);padding:7px 0 7px 28px;position:relative;}
.pkg li::before{content:'';position:absolute;left:0;top:12px;width:16px;height:16px;border-radius:4px;background:rgba(46,123,246,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpolyline points='4,8.5 7,11.5 12,5.5' fill='none' stroke='%232e7bf6' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;}
.pkg .btn{width:100%;}

/* ── Work ── */
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.work-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .25s,transform .2s;}
.work-card:hover{border-color:var(--border-2);transform:translateY(-2px);}
.work-visual{height:210px;display:flex;align-items:flex-end;padding:24px;position:relative;border-bottom:1px solid var(--border);}
.work-visual .mark{font-family:var(--font-h);font-weight:500;font-size:3rem;letter-spacing:-.02em;color:rgba(242,241,237,.16);line-height:1;}
.work-body{padding:24px;}
.work-body .cat{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:8px;}
.work-body h3{margin-bottom:8px;}
.work-body p{font-size:14.5px;color:var(--text-2);line-height:1.7;margin-bottom:16px;}
.tags{display:flex;flex-wrap:wrap;gap:6px;}
.tag{font-size:12px;color:var(--text-3);border:1px solid var(--border);padding:4px 10px;border-radius:6px;}

/* ── Quotes ── */
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.quote{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:30px;display:flex;flex-direction:column;}
.quote p{font-size:15px;color:var(--text-2);line-height:1.75;flex:1;}
.quote footer{margin-top:22px;padding-top:18px;border-top:1px solid var(--border);display:flex;align-items:center;gap:12px;}
.quote .avatar{width:36px;height:36px;border-radius:50%;background:rgba(46,123,246,.14);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600;flex-shrink:0;}
.quote .who b{display:block;font-size:14px;font-weight:600;}
.quote .who span{font-size:12.5px;color:var(--text-3);}

/* ── Split ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.checklist{list-style:none;margin-top:32px;}
.checklist li{padding:20px 0;border-bottom:1px solid var(--border);display:flex;gap:16px;}
.checklist li:first-child{border-top:1px solid var(--border);}
.checklist .tick{width:22px;height:22px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;}
.checklist .tick svg{width:11px;height:11px;stroke:#fff;stroke-width:2.5;fill:none;}
.checklist b{display:block;font-size:15px;font-weight:600;margin-bottom:3px;}
.checklist p{font-size:14px;color:var(--text-2);line-height:1.65;}
.side-stats{display:flex;flex-direction:column;gap:14px;}
.side-stat{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:26px 28px;}
.side-stat b{font-family:var(--font-h);font-weight:500;font-size:2.1rem;letter-spacing:-.02em;display:block;margin-bottom:4px;}
.side-stat span{font-size:13.5px;color:var(--text-2);line-height:1.55;}

/* ── Pills ── */
.pill-wrap{display:flex;flex-wrap:wrap;gap:8px;}
.pill{font-size:13.5px;color:var(--text-2);border:1px solid var(--border);padding:8px 16px;border-radius:100px;transition:all .2s;}
.pill:hover{border-color:rgba(46,123,246,.5);color:var(--accent);}

/* ── FAQ ── */
.faq{max-width:760px;}
.faq-item{border-bottom:1px solid var(--border);}
.faq-q{width:100%;background:none;border:none;color:var(--text);font-family:var(--font-b);font-size:15.5px;font-weight:500;text-align:left;padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;}
.faq-q svg{width:14px;height:14px;stroke:var(--text-3);fill:none;stroke-width:2;flex-shrink:0;transition:transform .3s;}
.faq-item.open .faq-q svg{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-a p{font-size:14.5px;color:var(--text-2);line-height:1.75;padding-bottom:22px;max-width:680px;}

/* ── CTA band ── */
.cta-band{background:var(--accent);border-radius:18px;padding:72px 60px;text-align:center;}
.cta-band h2{color:#fff;}
.cta-band p{color:rgba(255,255,255,.75);margin:16px auto 32px;max-width:520px;font-size:16.5px;}
.cta-band .btn{background:#0a0a0b;color:#fff;}
.cta-band .btn:hover{background:#1c1c1f;}
.cta-contacts{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-top:28px;}
.cta-contacts a,.cta-contacts span{font-size:14px;color:rgba(255,255,255,.85);}

/* ── Forms ── */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-grid .full{grid-column:1/-1;}
label{display:block;font-size:13px;font-weight:500;color:var(--text-2);margin-bottom:7px;}
input,select,textarea{width:100%;background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font-b);font-size:14.5px;padding:12px 14px;transition:border-color .2s;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);}
textarea{min-height:130px;resize:vertical;}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpolyline points='4,6 8,10 12,6' fill='none' stroke='%23888' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;}

/* ── Contact cards ── */
.contact-cards{display:flex;flex-direction:column;gap:14px;}
.contact-card{display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px;transition:border-color .2s;}
.contact-card:hover{border-color:var(--border-2);}
.contact-card .ic{width:40px;height:40px;border-radius:8px;background:rgba(46,123,246,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.contact-card .ic svg{width:18px;height:18px;stroke:var(--accent);fill:none;stroke-width:1.8;}
.contact-card b{display:block;font-size:14.5px;font-weight:600;}
.contact-card span{font-size:13px;color:var(--text-3);}

/* ── Footer ── */
footer{border-top:1px solid var(--border);padding:72px 0 32px;background:var(--bg-2);}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px;}
.footer-brand p{font-size:14px;color:var(--text-2);line-height:1.7;max-width:280px;margin-top:14px;}
.footer-tag{font-size:12px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-top:10px;}
.footer-col h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-weight:600;margin-bottom:18px;}
.footer-col a{display:block;font-size:14px;color:var(--text-2);padding:5px 0;transition:color .2s;}
.footer-col a:hover{color:var(--text);}
.footer-bottom{border-top:1px solid var(--border);padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.footer-bottom p,.footer-bottom a{font-size:12.5px;color:var(--text-3);}
.footer-bottom a:hover{color:var(--text-2);}
.footer-bottom .links{display:flex;gap:22px;}

/* ── Reveal ── */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease;}
.reveal.in{opacity:1;transform:none;}

/* ── Page hero (inner pages) ── */
.page-hero{padding:170px 0 70px;}
.page-hero .lede{margin-top:20px;}

/* ── Mini badge (used to flag signature items in package lists) ── */
.mini-badge{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:rgba(46,123,246,.14);padding:2px 8px;border-radius:5px;margin-left:8px;vertical-align:1px;}

/* ── Quiz flow (contact page) ── */
.quiz{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:44px 40px;position:relative;overflow:hidden;}
.quiz-progress{display:flex;gap:6px;margin-bottom:32px;}
.quiz-progress i{flex:1;height:3px;background:var(--border);border-radius:2px;overflow:hidden;position:relative;}
.quiz-progress i::after{content:'';position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.quiz-progress i.done::after{transform:scaleX(1);}
.quiz-step{display:none;}
.quiz-step.active{display:block;animation:qstep .35s ease;}
@keyframes qstep{from{opacity:0;transform:translateX(10px);}to{opacity:1;transform:none;}}
.quiz-step .q-label{font-size:12.5px;color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-weight:600;}
.quiz-step h3{font-family:var(--font-h);font-weight:500;font-size:1.5rem;letter-spacing:-.01em;margin-bottom:26px;line-height:1.25;}
.q-options{display:flex;flex-direction:column;gap:10px;margin-bottom:8px;}
.q-option{display:block;width:100%;text-align:left;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font-b);font-size:15px;padding:16px 18px;border-radius:9px;cursor:pointer;transition:border-color .2s,background .2s;}
.q-option:hover{border-color:var(--border-2);}
.q-option.selected{border-color:var(--accent);background:rgba(46,123,246,.08);}
.q-nav{display:flex;justify-content:space-between;align-items:center;margin-top:28px;}
.q-back{font-size:14px;color:var(--text-3);cursor:pointer;background:none;border:none;font-family:var(--font-b);}
.q-back:hover{color:var(--text-2);}
.q-continue,.q-other-continue{background:var(--accent);color:#fff;border:none;font-family:var(--font-b);font-size:14.5px;font-weight:500;padding:12px 26px;border-radius:8px;cursor:pointer;transition:background .2s;}
.q-continue:hover,.q-other-continue:hover{background:var(--accent-2);}
.q-continue:disabled{opacity:.4;cursor:not-allowed;}
.quiz-step .form-grid{margin-top:2px;}
.quiz-done{display:none;text-align:center;padding:20px 0;}
.quiz-done.active{display:block;}
.quiz-done .tick-big{width:56px;height:56px;border-radius:50%;background:rgba(46,123,246,.14);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;}
.quiz-done .tick-big svg{width:26px;height:26px;stroke:var(--accent);stroke-width:2;fill:none;}

@media(max-width:960px){
  .nav-links,.nav-phone{display:none;}
  .menu-btn{display:block;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:1fr;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .pkg-grid{grid-template-columns:1fr;}
  .work-grid{grid-template-columns:1fr;}
  .quote-grid{grid-template-columns:1fr;}
  .split{grid-template-columns:1fr;gap:48px;}
  .stat-grid{grid-template-columns:repeat(2,1fr);}
  .stat:nth-child(2){border-right:none;}
  .stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--border);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .form-grid{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .section{padding:76px 0;}
  .hero{padding:150px 0 64px;}
  .grid-4{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .stat-grid{grid-template-columns:1fr;}
  .stat{border-right:none;border-bottom:1px solid var(--border);}
  .stat:last-child{border-bottom:none;}
  .cta-band{padding:56px 28px;}
  .footer-grid{grid-template-columns:1fr;gap:36px;}
}
