/* ==========================================================================
   Bablio — Tweakr-inspired design system
   Indigo + orange, rounded Poppins, pill buttons, organic blobs,
   floating white cards, dark navy footer.
   ========================================================================== */

:root{
  --indigo:#5B4FE8;
  --indigo-deep:#4A3ED6;
  --indigo-soft:#EEEDFC;
  --orange:#F5883F;
  --orange-soft:#FDEEE1;
  --navy:#1B2340;
  --navy-2:#232D4F;
  --ink:#161B2E;
  --ink-2:#2A3147;
  --body:#6B7280;
  --muted:#9AA1B0;
  --white:#FFFFFF;
  --soft:#F7F8FD;
  --line:#ECEDF4;
  --radius:24px;
  --radius-sm:14px;
  --pill:999px;
  --shadow-card:0 30px 60px -24px rgba(27,35,64,.28);
  --shadow-soft:0 18px 40px -20px rgba(27,35,64,.20);
  --shadow-btn:0 12px 24px -8px rgba(91,79,232,.45);
  --font:"Poppins",-apple-system,"Segoe UI",Roboto,sans-serif;
  --max:1140px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font);
  color:var(--body);
  background:var(--white);
  line-height:1.7;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* ---- typography ---- */
h1,h2,h3,h4{color:var(--ink);font-weight:800;line-height:1.15;letter-spacing:-.02em}
h1{font-size:clamp(2.3rem,5vw,3.35rem)}
h2{font-size:clamp(1.8rem,3.6vw,2.5rem)}
h3{font-size:1.15rem;font-weight:700}
h4{font-size:1rem;font-weight:700}
p{color:var(--body)}
strong{color:var(--ink)}
.accent{color:var(--indigo)}
.accent-o{color:var(--orange)}

.eyebrow{
  display:inline-block;font-weight:700;font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--indigo);margin-bottom:1rem;
}

/* ---- buttons (pills) ---- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.85rem 1.7rem;border-radius:var(--pill);font-weight:700;font-size:.92rem;
  border:2px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--indigo);color:#fff;box-shadow:var(--shadow-btn)}
.btn-primary:hover{background:var(--indigo-deep)}
.btn-white{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-soft)}
.btn-white:hover{border-color:#dcdef0}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-lg{padding:1rem 2.1rem;font-size:1rem}

/* ==========================================================================
   HEADER
   ========================================================================== */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:blur(10px)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:82px}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.4rem;color:var(--ink);letter-spacing:-.02em}
.brand .brand-icon{height:42px;width:auto;display:block}
.brand .wordmark{font-weight:800;font-size:1.4rem;letter-spacing:-.02em;color:var(--ink)}
nav.main-nav{display:flex;gap:2rem;align-items:center}
nav.main-nav a:not(.btn){font-size:.92rem;font-weight:600;color:var(--ink-2)}
nav.main-nav a:not(.btn):hover{color:var(--indigo)}
nav.main-nav a.btn-primary{color:#fff}
.nav-toggle{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--ink)}

/* ==========================================================================
   BLOBS  (organic background shapes behind cards)
   ========================================================================== */
.blob{position:absolute;z-index:0;filter:blur(.2px)}
.blob-blue{background:var(--indigo);border-radius:42% 58% 63% 37% / 41% 44% 56% 59%}
.blob-orange{background:var(--orange);border-radius:60% 40% 47% 53% / 55% 52% 48% 45%}
.blob-soft-blue{background:var(--indigo);opacity:.9}

/* ==========================================================================
   TRUSTED-BY LOGO MARQUEE
   ========================================================================== */
.trusted{padding:3.5rem 0 2.5rem}
.trusted-title{text-align:center;font-size:.92rem;font-weight:700;color:var(--muted);margin-bottom:1.9rem;padding:0 24px}
.marquee-wrap{overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee{display:flex;gap:3.4rem;width:max-content;animation:marquee 38s linear infinite}
.marquee:hover{animation-play-state:paused}
.marquee span{font-size:1.4rem;font-weight:800;color:#b4bac8;white-space:nowrap;letter-spacing:-.01em;flex:0 0 auto}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.trusted-note{text-align:center;font-size:.72rem;color:var(--muted);margin:2rem auto 0;max-width:62ch;padding:0 24px;line-height:1.5}
@media (prefers-reduced-motion:reduce){
  .marquee{animation:none;flex-wrap:wrap;justify-content:center;width:auto;gap:1.4rem 3rem}
  .marquee span[aria-hidden]{display:none}
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{padding:3.5rem 0 4rem;position:relative}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.hero-copy h1{margin-bottom:1.3rem}
.hero-copy .sub{font-size:1.08rem;max-width:42ch;margin-bottom:2rem}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.4rem}

/* "cheapest in Singapore" price badge */
.price-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--orange-soft);color:#b45309;font-weight:800;font-size:.82rem;letter-spacing:.01em;padding:.5rem 1.05rem;border-radius:var(--pill);margin-bottom:1.3rem}
.price-badge svg{width:16px;height:16px;flex-shrink:0}

/* product-hunt style trust badge */
.trust-badge{
  display:inline-flex;align-items:center;gap:.7rem;background:var(--ink);color:#fff;
  padding:.55rem .9rem;border-radius:12px;font-size:.7rem;
}
.trust-badge .ph-mark{width:30px;height:30px;border-radius:8px;background:var(--orange);display:grid;place-items:center;font-weight:800;color:#fff;font-size:.9rem}
.trust-badge .ph-txt small{display:block;letter-spacing:.12em;text-transform:uppercase;color:#aeb6cc;font-size:.58rem}
.trust-badge .ph-txt b{font-size:.82rem;letter-spacing:.02em}
.trust-badge .ph-count{margin-left:.6rem;padding-left:.7rem;border-left:1px solid #38415f;text-align:center}
.trust-badge .ph-count span{display:block;font-size:.55rem;color:#aeb6cc}
.trust-badge .ph-count b{font-size:.85rem}

/* hero visual — upload card floating over blobs */
.hero-visual{position:relative;min-height:440px;display:grid;place-items:center}
.hero-visual .blob-blue{width:300px;height:300px;top:-10px;right:20px}
.hero-visual .blob-orange{width:210px;height:210px;bottom:20px;left:20px}
.upload-card{
  position:relative;z-index:2;background:#fff;border-radius:var(--radius);
  width:min(370px,100%);aspect-ratio:1/.92;box-shadow:var(--shadow-card);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;
  border:1px solid var(--line);
}
.upload-card .plus{
  width:60px;height:60px;border-radius:50%;background:var(--indigo);color:#fff;
  display:grid;place-items:center;font-size:1.9rem;font-weight:400;margin-bottom:.6rem;
  box-shadow:0 14px 28px -10px rgba(91,79,232,.6);
}
.upload-card strong{font-size:1.35rem;color:var(--ink);font-weight:800}
.upload-card span{font-size:.95rem;color:var(--muted)}

/* ---- cookie / consent pill ---- */
.cookie-pill{
  max-width:520px;margin:0 auto;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow-soft);border-radius:var(--pill);
  padding:.6rem 1.2rem;font-size:.72rem;color:var(--muted);text-align:center;
  display:flex;align-items:center;justify-content:center;gap:.5rem;
}
.cookie-pill a{color:var(--indigo);text-decoration:underline}
.cookie-pill button{background:none;border:0;color:var(--muted);cursor:pointer;font-size:.9rem;line-height:1}

/* ==========================================================================
   SECTION SCAFFOLD
   ========================================================================== */
section.block{padding:4.5rem 0;position:relative}
.section-head{text-align:center;max-width:640px;margin:0 auto 3rem}
.section-head h2{margin-bottom:1rem}
.section-head p{font-size:1.05rem}
.center{text-align:center}

/* ---- 3 feature columns with icons ---- */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:1rem}
.feature{text-align:center}
.feature .ficon{width:64px;height:64px;margin:0 auto 1.3rem;display:grid;place-items:center}
.feature .ficon svg{width:100%;height:100%}
.feature h3{margin-bottom:.6rem}
.feature p{font-size:.92rem;max-width:32ch;margin:0 auto}

/* ==========================================================================
   SPLIT BLOCKS  (card + text, alternating)
   ========================================================================== */
.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-bottom:5rem}
.split:last-child{margin-bottom:0}
.split .s-copy h3{font-size:1.6rem;font-weight:800;margin-bottom:.9rem}
.split .s-copy p{font-size:.98rem;max-width:40ch}
.split .s-visual{position:relative;display:grid;place-items:center;min-height:300px}
.split.reverse .s-copy{order:2}
.split.reverse .s-visual{order:1}
.split .blob-blue{width:230px;height:230px}
.split .blob-orange{width:180px;height:180px}
.split .blob.pos-tr{top:0;right:30px}
.split .blob.pos-bl{bottom:0;left:30px}
.split .blob.pos-c{top:50%;left:50%;transform:translate(-50%,-50%)}

/* mock cards inside splits */
.mock{
  position:relative;z-index:2;background:#fff;border-radius:var(--radius-sm);
  box-shadow:var(--shadow-card);width:min(380px,100%);padding:1.6rem;border:1px solid var(--line);
}
.mock .m-close{position:absolute;top:1rem;right:1.2rem;color:var(--muted);font-size:1.1rem}
.mock .m-title{text-align:center;font-weight:800;color:var(--ink);margin-bottom:1.2rem}
.mock-field{display:flex;gap:.6rem;align-items:center}
.mock-field input{
  flex:1;border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;font-size:.82rem;
  color:var(--ink-2);background:var(--soft);font-family:var(--font);
}
.mock-pill{background:var(--indigo);color:#fff;border-radius:var(--pill);padding:.55rem 1.1rem;font-size:.8rem;font-weight:700;border:0}
.mock-comment{font-size:.92rem;color:var(--ink-2);margin-bottom:1rem}
.mock .row-right{display:flex;justify-content:flex-end}

/* upload progress mock */
.upload-mock{width:min(340px,100%)}
.up-row{display:flex;align-items:center;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.up-row:last-child{border-bottom:0}
.up-badge{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:#fff;font-size:.58rem;font-weight:800;flex-shrink:0}
.up-badge.pdf{background:#EB5757}.up-badge.jpg{background:var(--indigo)}.up-badge.png{background:var(--orange)}
.up-meta{flex:1;min-width:0}
.up-meta b{display:block;font-size:.8rem;color:var(--ink);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.up-meta small{font-size:.66rem;color:var(--muted)}
.up-bar{height:4px;border-radius:4px;background:var(--indigo-soft);margin-top:.3rem;overflow:hidden}
.up-bar i{display:block;height:100%;background:var(--indigo);border-radius:4px}

/* ==========================================================================
   TESTIMONIAL
   ========================================================================== */
.testimonial{text-align:center;max-width:680px;margin:0 auto}
.testimonial .quote{font-size:1.3rem;font-weight:600;color:var(--ink-2);line-height:1.6}
.testimonial .quote .who{color:var(--indigo)}

/* ==========================================================================
   SHOWCASE (preview + tab cards)
   ========================================================================== */
.showcase-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;align-items:center}
.showcase-preview{
  position:relative;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-card);
  border:1px solid var(--line);padding:1.4rem;overflow:hidden;
}
.showcase-preview .doc{
  background:var(--soft);border-radius:12px;padding:1.4rem;display:flex;gap:1rem;
}
.showcase-preview .doc-side{width:52px;background:var(--indigo);border-radius:10px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:.9rem 0}
.showcase-preview .doc-side i{width:22px;height:22px;border-radius:6px;background:rgba(255,255,255,.35);display:block}
.showcase-preview .doc-main{flex:1}
.doc-lines{height:10px;border-radius:5px;background:#e6e8f2;margin-bottom:.6rem}
.doc-lines.w-70{width:70%}.doc-lines.w-90{width:90%}.doc-lines.w-50{width:50%}
.doc-stamp{margin-top:1.2rem;display:inline-grid;place-items:center;width:78px;height:78px;border:2.5px solid var(--indigo);border-radius:50%;color:var(--indigo);font-size:.55rem;font-weight:800;text-align:center;transform:rotate(-10deg)}
.showcase-tabs{display:flex;flex-direction:column;gap:1rem}
.s-tab{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:1.2rem 1.3rem;box-shadow:var(--shadow-soft)}
.s-tab.active{border-left:4px solid var(--indigo)}
.s-tab .s-ico{width:40px;height:40px;flex-shrink:0}
.s-tab h4{margin-bottom:.15rem}
.s-tab p{font-size:.82rem;margin:0}

/* ==========================================================================
   TEAM
   ========================================================================== */
.team-visual{position:relative;max-width:820px;margin:2rem auto 0;display:grid;place-items:center;min-height:360px}
.team-visual .blob-blue{width:260px;height:260px;top:0;left:50%;transform:translateX(-50%)}
.team-photo{
  position:relative;z-index:2;width:min(440px,100%);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-card);background:linear-gradient(135deg,#eef0fb,#f7f8fd);aspect-ratio:16/11;
  display:grid;place-items:center;border:1px solid var(--line);
}
.team-photo svg{width:70%;height:70%;opacity:.9}
.read-more{
  position:relative;z-index:3;background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-card);
  border:1px solid var(--line);padding:1.6rem 1.8rem;max-width:330px;
  margin:-90px 0 0 auto;
}
.read-more h4{font-size:1.25rem;margin-bottom:.6rem}
.read-more p{font-size:.86rem;margin-bottom:.8rem}
.read-more .arrow{color:var(--indigo);font-weight:800;font-size:1.1rem}

/* ==========================================================================
   CARDS (service cards, reused on inner pages)
   ========================================================================== */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.6rem;margin-top:2.4rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:1.9rem;box-shadow:var(--shadow-soft);transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.card .tag{display:inline-block;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:.7rem}
.card h3{margin-bottom:.5rem}
.card h3 a:hover{color:var(--indigo)}
.card p{font-size:.92rem}
.more{display:inline-block;margin-top:1rem;color:var(--indigo);font-weight:700;font-size:.86rem}
.more:hover{text-decoration:underline}

/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.6rem;margin-top:2.4rem;counter-reset:step}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:1.7rem;box-shadow:var(--shadow-soft)}
.step::before{counter-increment:step;content:counter(step);width:38px;height:38px;border-radius:50%;background:var(--indigo-soft);color:var(--indigo);font-weight:800;display:grid;place-items:center;margin-bottom:1rem}
.step h3{margin-bottom:.4rem}
.step p{font-size:.9rem}

/* requirement selector — "which translation do I need?" */
.req-intro{max-width:60ch;margin:.4rem 0 2rem;font-size:1rem}
.req-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:1.3rem}
.req-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:1.5rem 1.5rem 1.6rem;
  box-shadow:var(--shadow-soft);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;gap:.7rem;
  scroll-margin-top:100px;
}
.req-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.req-card:target{border-color:var(--indigo);box-shadow:0 0 0 3px var(--indigo-soft),var(--shadow-card)}
.req-head{display:flex;align-items:center;gap:.7rem}
.req-abbr{
  flex-shrink:0;min-width:52px;height:38px;padding:0 .55rem;border-radius:10px;display:grid;place-items:center;
  background:var(--indigo-soft);color:var(--indigo);font-weight:800;font-size:.9rem;letter-spacing:.01em;
}
.req-head h3{font-size:1.02rem;font-weight:700;margin:0;line-height:1.25}
.req-head h3 small{display:block;font-size:.7rem;font-weight:600;color:var(--muted);letter-spacing:.01em}
.req-card p{font-size:.88rem;margin:0}
.req-docs{font-size:.8rem;color:var(--muted)}
.req-docs b{color:var(--ink-2);font-weight:700}
.req-need{margin-top:auto;padding-top:.6rem;display:flex;flex-wrap:wrap;gap:.4rem}
.req-badge{font-size:.66rem;font-weight:700;letter-spacing:.04em;padding:.32rem .6rem;border-radius:var(--pill)}
.req-badge.certified{background:var(--indigo-soft);color:var(--indigo)}
.req-badge.notarised{background:var(--orange-soft);color:#c9670f}
.req-badge.apostille{background:#e7ebf5;color:var(--navy)}
.req-help{background:var(--indigo-soft);border-radius:var(--radius-sm);padding:1.2rem 1.5rem;margin-top:1.8rem;font-size:.94rem;color:var(--ink-2)}
.req-help strong{color:var(--indigo)}

/* ==========================================================================
   INTERACTIVE QUOTE BUILDER
   ========================================================================== */
.quote-wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:2.6rem;align-items:start}
.quote-steps{display:flex;flex-direction:column;gap:2.4rem}
.qstep .qlabel{font-weight:800;color:var(--ink);font-size:1.12rem;display:flex;gap:.7rem;align-items:center}
.qstep .qlabel .n{width:30px;height:30px;border-radius:50%;background:var(--indigo);color:#fff;font-size:.85rem;font-weight:800;display:grid;place-items:center;flex-shrink:0}
.qstep .qhint{font-size:.86rem;color:var(--muted);margin:.35rem 0 1rem 2.5rem}

/* purpose picker */
.purpose-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:.8rem}
.purpose-opt{cursor:pointer;position:relative;display:block}
.purpose-opt input{position:absolute;opacity:0;pointer-events:none}
.purpose-opt .po-card{display:flex;flex-direction:column;gap:.15rem;border:2px solid var(--line);border-radius:14px;padding:.9rem 1rem;background:#fff;height:100%;transition:border-color .15s,background .15s,box-shadow .15s}
.purpose-opt .po-abbr{display:block;font-weight:800;color:var(--indigo);font-size:.98rem;line-height:1}
.purpose-opt .po-name{display:block;font-size:.84rem;color:var(--ink);font-weight:700;margin-top:.2rem}
.purpose-opt .po-sub{display:block;font-size:.7rem;color:var(--muted);line-height:1.3}
.purpose-opt input:checked + .po-card{border-color:var(--indigo);background:var(--indigo-soft);box-shadow:var(--shadow-soft)}
.purpose-opt input:focus-visible + .po-card{outline:2.5px solid var(--indigo);outline-offset:2px}

/* pages stepper + language */
.field-row{display:flex;gap:1.8rem;flex-wrap:wrap;align-items:flex-end}
.field label{font-size:.8rem;font-weight:700;color:var(--ink);display:block;margin-bottom:.5rem}
.stepper{display:inline-flex;align-items:center;border:2px solid var(--line);border-radius:12px;overflow:hidden}
.stepper button{width:44px;height:46px;border:0;background:#fff;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--indigo);font-weight:700}
.stepper button:hover{background:var(--indigo-soft)}
.stepper input{width:60px;height:46px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font-size:1.05rem;font-weight:800;font-family:var(--font);color:var(--ink);-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.field select{padding:.75rem 1rem;border:2px solid var(--line);border-radius:12px;background:#fff;font-family:var(--font);font-size:.92rem;color:var(--ink);min-width:210px}
.field select:focus{outline:none;border-color:var(--indigo)}

/* services checklist */
.svc-list{display:flex;flex-direction:column;gap:.7rem}
.svc-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;border:2px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
.svc-item.on{border-color:var(--indigo);background:var(--indigo-soft)}
.svc-item.locked{cursor:default;background:var(--soft);border-color:var(--line)}
.svc-item.hidden{display:none}
.svc-item input{position:absolute;opacity:0;pointer-events:none}
.svc-check{width:24px;height:24px;border-radius:7px;border:2px solid var(--muted);flex-shrink:0;display:grid;place-items:center;color:#fff;font-size:.85rem;font-weight:800}
.svc-item.on .svc-check{background:var(--indigo);border-color:var(--indigo)}
.svc-item.locked .svc-check{background:var(--indigo);border-color:var(--indigo)}
.svc-info{flex:1;min-width:0}
.svc-info b{display:block;font-size:.94rem;color:var(--ink)}
.svc-info small{font-size:.77rem;color:var(--muted)}
.svc-tag{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--indigo);background:#fff;border:1px solid var(--indigo-soft);padding:.15rem .45rem;border-radius:6px;margin-left:.5rem;vertical-align:middle;white-space:nowrap}
.svc-tag.req{color:#b45309;background:var(--orange-soft);border-color:var(--orange-soft)}
.svc-tag.opt{color:var(--muted);background:var(--soft);border-color:var(--line)}
.svc-req-note{background:var(--indigo-soft);border-radius:12px;padding:.85rem 1.1rem;font-size:.86rem;color:var(--ink-2);margin-bottom:1.1rem;line-height:1.55}
.svc-req-note b{color:var(--indigo)}
.svc-price{font-weight:800;color:var(--ink);font-size:.92rem;white-space:nowrap}

/* turnaround pills */
.turn-pills{display:flex;gap:.7rem;flex-wrap:wrap}
.turn-opt{cursor:pointer}
.turn-opt input{position:absolute;opacity:0;pointer-events:none}
.turn-opt span{display:block;border:2px solid var(--line);border-radius:var(--pill);padding:.6rem 1.4rem;font-weight:700;font-size:.86rem;color:var(--ink-2);transition:all .15s}
.turn-opt input:checked + span{border-color:var(--indigo);background:var(--indigo-soft);color:var(--indigo)}
.turn-opt input:focus-visible + span{outline:2.5px solid var(--indigo);outline-offset:2px}

/* document upload */
.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;text-align:center;border:2px dashed var(--line);border-radius:var(--radius-sm);padding:2.3rem 1.5rem;background:var(--soft);cursor:pointer;transition:border-color .15s,background .15s}
.dropzone:hover,.dropzone.drag{border-color:var(--indigo);background:var(--indigo-soft)}
.dropzone input[type=file]{display:none}
.dropzone .dz-plus{width:52px;height:52px;border-radius:50%;background:var(--indigo);color:#fff;display:grid;place-items:center;font-size:1.7rem;box-shadow:0 12px 24px -10px rgba(91,79,232,.6);margin-bottom:.4rem}
.dropzone strong{color:var(--ink);font-size:1.05rem;font-weight:800}
.dropzone span{color:var(--muted);font-size:.86rem}
.file-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.file-item{display:flex;align-items:center;gap:.9rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:12px;background:#fff}
.file-item.err{border-color:#f2b8b5;background:#fdecec}
.file-ico{width:38px;height:38px;border-radius:9px;background:var(--indigo-soft);color:var(--indigo);display:grid;place-items:center;font-weight:800;font-size:.6rem;flex-shrink:0;letter-spacing:.02em}
.file-item.err .file-ico{background:#f7dcda;color:#c0392b}
.file-meta{flex:1;min-width:0}
.file-meta b{display:block;font-size:.85rem;color:var(--ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-meta small{font-size:.73rem;color:var(--muted)}
.file-item.err .file-meta small{color:#c0392b}
.file-remove{background:none;border:0;color:var(--muted);cursor:pointer;font-size:1.3rem;line-height:1;padding:.15rem .3rem;flex-shrink:0;border-radius:6px}
.file-remove:hover{color:#EB5757;background:#fdecec}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.contact-fields .field:first-child{grid-column:1 / -1}
@media (max-width:560px){.contact-fields{grid-template-columns:1fr}}
.q-email{padding:.8rem 1rem;border:2px solid var(--line);border-radius:12px;font-family:var(--font);font-size:.92rem;background:#fff;color:var(--ink);width:100%}
.field .q-email{max-width:none}
.q-email:focus{outline:none;border-color:var(--indigo)}
.q-email.err{border-color:#EB5757}
.phone-control,.phone-control .iti{width:100%}
.phone-control .q-phone{width:100%;min-width:0}
.phone-control .iti__country-container{font-family:var(--font)}
.phone-control .iti__selected-country{border-radius:12px 0 0 12px}
.phone-control .iti__country-selector{z-index:1000;max-width:min(360px,calc(100vw - 40px))}
.phone-control .iti__search-input{font-family:var(--font);font-size:1rem}

/* summary card */
.quote-summary{position:sticky;top:100px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1.9rem}
.qs-head{font-weight:800;color:var(--ink);font-size:1.25rem}
.qs-for{font-size:.84rem;color:var(--muted);margin:.15rem 0 1.2rem}
.qs-need{background:var(--indigo-soft);border-radius:12px;padding:.8rem 1rem;font-size:.78rem;color:var(--ink-2);margin-bottom:1.3rem;line-height:1.55}
.qs-need b{color:var(--indigo)}
.qs-lines{display:flex;flex-direction:column;gap:.65rem;border-top:1px solid var(--line);padding-top:1.2rem}
.qs-line{display:flex;justify-content:space-between;gap:1rem;font-size:.88rem;color:var(--ink-2)}
.qs-line span:last-child{font-weight:700;color:var(--ink);white-space:nowrap}
.qs-line.sub{color:var(--muted);font-size:.82rem}
.qs-total{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid var(--ink);margin-top:1.1rem;padding-top:1.1rem}
.qs-total b{font-size:1.02rem;color:var(--ink)}
.qs-total .amt{font-size:1.9rem;font-weight:800;color:var(--indigo);letter-spacing:-.02em}
.qs-cta{margin-top:1.4rem}
.qs-cta .btn{width:100%}
.qs-fine{font-size:.72rem;color:var(--muted);margin-top:.9rem;text-align:center;line-height:1.5}

/* order-page liveliness — soft brand blobs + orange accent */
.deco-blob{position:absolute;border-radius:50%;filter:blur(72px);z-index:0;pointer-events:none}
.deco-blob.o{background:var(--orange);opacity:.30}
.deco-blob.i{background:var(--indigo);opacity:.20}
.quote-summary{overflow:hidden}
.quote-summary::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--indigo) 40%,var(--orange))}
.qs-head{padding-top:.2rem}

/* inline "trouble checking out?" help */
.qs-help{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--line);text-align:center;font-size:.78rem;color:var(--muted)}
.qs-help b{display:block;color:var(--ink);font-size:.86rem;margin-bottom:.3rem}
.qs-help-links{display:inline-flex;gap:1rem;margin-top:.5rem;justify-content:center;flex-wrap:wrap}
.qs-help-links a{color:var(--indigo);font-weight:700;font-size:.86rem}
.qs-help-links a:hover{text-decoration:underline}

/* floating contact widget (all pages) */
.help-fab{position:fixed;right:20px;bottom:20px;z-index:300;display:flex;flex-direction:column;align-items:flex-end;gap:.8rem}
.help-panel{display:none;flex-direction:column;gap:.15rem;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-card);padding:.7rem;width:252px}
.help-fab.open .help-panel{display:flex;animation:helpIn .18s ease}
@keyframes helpIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.help-title{font-weight:700;font-size:.82rem;color:var(--ink);padding:.4rem .5rem .55rem}
.help-panel a{display:flex;align-items:center;gap:.75rem;padding:.55rem .6rem;border-radius:12px;color:var(--ink);font-weight:700;font-size:.88rem;transition:background .15s}
.help-panel a:hover{background:var(--soft)}
.help-panel a .ht{display:flex;flex-direction:column;line-height:1.25}
.help-panel a .ht small{font-weight:500;font-size:.72rem;color:var(--muted)}
.help-panel .hi{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;flex-shrink:0}
.help-panel .hi svg{width:20px;height:20px}
.hi.wa{background:#25D366}
.hi.call{background:var(--indigo)}
.hi.mail{background:var(--orange)}

/* "Ask us" button in the quote Services step */
.ask-btn{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.1rem;background:var(--indigo-soft);color:var(--indigo);border:0;border-radius:var(--pill);padding:.6rem 1.2rem;font-family:var(--font);font-weight:700;font-size:.86rem;cursor:pointer;transition:background .15s}
.ask-btn:hover{background:#e2e0fb}
.ask-btn svg{flex-shrink:0}
.help-toggle{width:60px;height:60px;border-radius:50%;background:var(--indigo);color:#fff;border:0;cursor:pointer;box-shadow:0 16px 32px -8px rgba(91,79,232,.55);display:grid;place-items:center;transition:transform .15s,background .15s}
.help-toggle:hover{transform:scale(1.06)}
.help-toggle svg{width:30px;height:30px}
.help-fab.open .help-toggle{background:var(--ink)}
/* WhatsApp-branded floating button */
.help-toggle.wa{background:#25D366;box-shadow:0 16px 32px -8px rgba(37,211,102,.55)}
.help-fab.open .help-toggle.wa{background:#128C7E}
@media (max-width:520px){.help-fab{right:14px;bottom:14px}.help-panel{width:224px}}

@media (max-width:900px){
  .quote-wrap{grid-template-columns:1fr;gap:2rem}
  .quote-summary{position:static}
}

/* snapshot / in-brief callout */
.snapshot{background:var(--indigo-soft);border-radius:var(--radius-sm);padding:1.3rem 1.6rem;margin:1.8rem 0 2.4rem;font-size:1rem;color:var(--ink-2);max-width:72ch}
.snapshot strong{color:var(--indigo)}

/* faq */
.faq-list{margin-top:1.8rem;max-width:840px}
.faq-list details{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:1.1rem 1.4rem;margin-bottom:.9rem;box-shadow:var(--shadow-soft)}
.faq-list summary{font-weight:700;cursor:pointer;font-size:1rem;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq-list summary::after{content:"+";color:var(--indigo);font-size:1.4rem;font-weight:400}
.faq-list details[open] summary::after{content:"–"}
.faq-list details p{margin-top:.8rem;font-size:.94rem;max-width:66ch}

/* payments */
.pay-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.6rem;margin-top:2rem}
.pay-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:1.9rem;display:flex;flex-direction:column;gap:.9rem;box-shadow:var(--shadow-soft)}
.pay-card .pm{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pay-card .price{font-size:2rem;font-weight:800;color:var(--ink)}
.pay-note{font-size:.84rem;color:var(--muted);margin-top:1.4rem}
.qr-placeholder{width:150px;height:150px;border:2px dashed var(--line);border-radius:12px;display:grid;place-items:center;color:var(--muted);font-size:.72rem;text-align:center}

/* forms */
.order-form{display:grid;gap:1.1rem;max-width:560px;margin-top:1.8rem}
.order-form label{font-weight:700;font-size:.88rem;color:var(--ink)}
.order-form select,.order-form input,.order-form textarea{width:100%;padding:.8rem 1rem;border:1px solid var(--line);border-radius:12px;font-family:var(--font);font-size:.92rem;background:var(--soft);margin-top:.35rem;color:var(--ink)}
.order-form select:focus,.order-form input:focus,.order-form textarea:focus{outline:2px solid var(--indigo);border-color:var(--indigo)}

/* trust strip (inner page hero support) */
.trust-strip{display:flex;gap:2.5rem;flex-wrap:wrap;justify-content:center;padding:2rem 0;color:var(--muted);font-size:.85rem;font-weight:600}
.trust-strip b{color:var(--indigo)}

/* ==========================================================================
   DARK CTA + FOOTER
   ========================================================================== */
.cta-dark{background:var(--navy);color:#fff;padding:4.5rem 0 0;position:relative}
.cta-dark .cta-inner{text-align:center;max-width:600px;margin:0 auto;padding-bottom:3.5rem}
.cta-dark h2{color:#fff;margin-bottom:1rem}
.cta-dark p{color:#b9c0d6;margin-bottom:2rem;font-size:1.05rem}
.cta-dark .hero-ctas{justify-content:center}

footer{background:var(--navy);color:#aeb6cc;padding:2.5rem 0}
footer.slim{padding:2.2rem 0}
footer .foot-top{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;border-top:1px solid #2c3557;padding-top:2.2rem}
footer .brand{color:#fff;flex-direction:column;align-items:flex-start;gap:0}
footer .brand .wordmark{color:#fff;font-size:1.5rem}
footer .brand .tagline{display:block;font-size:.6rem;font-weight:600;letter-spacing:.18em;color:#8a93b0;margin-top:.1rem}
footer .foot-links{display:flex;gap:1.8rem;flex-wrap:wrap}
footer .foot-links a{font-size:.86rem;color:#aeb6cc}
footer .foot-links a:hover{color:#fff}
footer .socials{display:flex;gap:.8rem}
footer .socials a{width:34px;height:34px;border-radius:9px;background:#2c3557;display:grid;place-items:center;color:#fff}
footer .socials a:hover{background:var(--indigo)}
footer .fine{margin-top:1.4rem;font-size:.78rem;color:#7a839e}
footer .fine a{color:#aeb6cc}

/* ==========================================================================
   REVEAL / MOTION
   ========================================================================== */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
:focus-visible{outline:2.5px solid var(--indigo);outline-offset:2px}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:2.5rem}
  .hero-visual{min-height:400px}
  .features{grid-template-columns:1fr;gap:2.5rem}
  .split{grid-template-columns:1fr;gap:2.5rem;margin-bottom:3.5rem}
  .split.reverse .s-copy{order:1}
  .split.reverse .s-visual{order:2}
  .split .s-copy{text-align:center}
  .split .s-copy p{margin:0 auto}
  .showcase-grid{grid-template-columns:1fr}
  .read-more{margin:-70px auto 0}
  nav.main-nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;flex-direction:column;
    padding:1.4rem 24px;gap:1.1rem;align-items:flex-start;box-shadow:var(--shadow-soft);border-top:1px solid var(--line)}
  nav.main-nav.open{display:flex}
  .nav-toggle{display:block}
  footer .foot-top{flex-direction:column;align-items:flex-start}
}
@media (max-width:520px){
  .hero-ctas{flex-direction:column;align-items:stretch}
  .hero-ctas .btn{width:100%}
  .brand .wordmark{display:none}
}
