/* designsprostudio.com | Web Design Agency | Lisboa, Portugal
   White + Electric Cobalt #2552FF + Vivid Coral #FF4B26 + Ink #0A0A14
   Outfit 700 (heading, geometric) + IBM Plex Sans (body)
   DARK SIDEBAR NAV | Asymmetric hero | Horizontal service rows
   Comparison table pricing | Questionnaire builder | Rotating testimonials
   Sequential accordion process | Horizontal case list | IG+Dribbble+LI
   Prefix: dps- | sessionStorage: dps_order */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=IBM+Plex+Sans:wght@400;500;600&display=swap');

:root {
  --dps-white:#FFFFFF; --dps-off:#F8F8FA; --dps-gray:#F0F0F5; --dps-gray2:#E4E4EE;
  --dps-border:#E0E0EB; --dps-ink:#0A0A14; --dps-muted:#6B6B90;
  --dps-cobalt:#2552FF; --dps-cobalt-l:#4770FF; --dps-cobalt-d:#1A38CC;
  --dps-cobalt-bg:rgba(37,82,255,.06); --dps-cobalt-bg2:rgba(37,82,255,.12);
  --dps-coral:#FF4B26; --dps-coral-d:#E03A18;
  --dps-coral-bg:rgba(255,75,38,.07); --dps-coral-bg2:rgba(255,75,38,.13);
  --dps-side:#0A0A14; --dps-side-s:#141428; --dps-side-s2:#1C1C38;
  --dps-rail-w:240px;
  --dps-max:1140px;
  --dps-fh:'Outfit',sans-serif; --dps-fb:'IBM Plex Sans',sans-serif;
  --dps-r:8px; --dps-r2:16px; --dps-r3:100px;
  --dps-tr:all .22s ease;
  --dps-sh:0 2px 16px rgba(10,10,20,.06);
  --dps-sh2:0 12px 48px rgba(10,10,20,.1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--dps-white);color:var(--dps-ink);font-family:var(--dps-fb);font-size:1rem;line-height:1.72;overflow-x:hidden;min-width:320px;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
input,textarea,select{font-family:inherit;}address{font-style:normal;}
h1,h2,h3,h4{font-family:var(--dps-fh);color:var(--dps-ink);}
p{font-size:clamp(0.78rem,1.5vw,0.96rem);line-height:1.78;color:var(--dps-muted);}

/* ── DARK SIDEBAR NAV (fixed left, unique in ALL 40+ sites!) ── */
.dps-shell{display:flex;min-height:100vh;}
.dps-rail{
    position:fixed;left:0;top:0;width:var(--dps-rail-w);height:100vh;
    background:var(--dps-side);overflow-y:auto;z-index:600;
    display:flex;flex-direction:column;
    border-right:1px solid rgba(255,255,255,.04);
}
.dps-main{flex:1;margin-left:var(--dps-rail-w);min-height:100vh;overflow-x:hidden;}
/* Sidebar logo */
.dps-rl-logo{padding:2rem 1.5rem .5rem;display:block;font-family:var(--dps-fh);font-size:clamp(1rem,1.6vw,1.3rem);font-weight:700;color:white;text-decoration:none;letter-spacing:-.02em;line-height:1.1;flex-shrink:0;}
.dps-rl-logo strong{color:var(--dps-cobalt);}
.dps-rl-byline{padding:0 1.5rem .5rem;font-size:0.65rem;color:rgba(255,255,255,.15);font-family:var(--dps-fb);font-weight:500;text-transform:uppercase;letter-spacing:.18em;flex-shrink:0;}
/* Nav links — bigger than body text */
.dps-rl-nav{padding:.8rem .8rem;flex:1;display:flex;flex-direction:column;gap:2px;}
.dps-rl-lk{font-family:var(--dps-fb);font-size:clamp(1rem,1.3vw,1.06rem);font-weight:600;color:rgba(255,255,255,.28);text-decoration:none;padding:.45rem .7rem;border-radius:var(--dps-r);transition:var(--dps-tr);display:flex;align-items:center;gap:.5rem;white-space:nowrap;}
.dps-rl-lk:hover{color:rgba(255,255,255,.7);background:rgba(255,255,255,.04);}
.dps-rl-lk.dps-current{color:white;background:var(--dps-cobalt);}
/* Lang toggle in sidebar */
.dps-rl-lang{padding:.6rem 1.5rem;display:flex;gap:4px;border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04);}
.dps-lbtn{font-size:0.72rem;font-weight:700;color:rgba(255,255,255,.2);cursor:pointer;border:none;background:none;padding:.04rem .18rem;transition:color .14s;}
.dps-lbtn.dps-lbtn-on,.dps-lbtn:hover{color:var(--dps-cobalt);}
/* Sidebar footer */
.dps-rail-foot{padding:1rem 1.5rem;flex-shrink:0;}
.dps-rf-lbl{font-size:0.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.1);display:block;margin-bottom:.3rem;}
.dps-rf-addr{font-size:0.65rem;color:rgba(255,255,255,.12);line-height:1.6;margin-bottom:.6rem;}
.dps-rf-socs{display:flex;gap:.35rem;}
.dps-rf-soc{width:28px;height:28px;border-radius:var(--dps-r);border:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.15);transition:var(--dps-tr);text-decoration:none;}
.dps-rf-soc:hover{color:var(--dps-cobalt);border-color:rgba(37,82,255,.3);}
/* Mobile hamburger */
.dps-mob-btn{position:fixed;top:1rem;right:1rem;z-index:700;display:none;width:40px;height:40px;background:var(--dps-side);border-radius:var(--dps-r);align-items:center;justify-content:center;color:white;border:none;cursor:pointer;box-shadow:var(--dps-sh2);}
@media(max-width:900px){
    .dps-main{margin-left:0;}
    .dps-rail{transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);}
    .dps-rail.dps-r-open{transform:translateX(0);}
    .dps-mob-btn{display:flex;}
}

/* ── HERO: Asymmetric split (60/40) ── */
.dps-splash{min-height:100vh;display:flex;align-items:center;background:var(--dps-white);padding:4rem 2.5rem;}
.dps-splash-in{max-width:var(--dps-max);margin:0 auto;width:100%;display:grid;grid-template-columns:58fr 42fr;gap:3.5rem;align-items:center;}
.dps-sp-pre{font-family:var(--dps-fb);font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.28em;color:var(--dps-muted);display:block;margin-bottom:1rem;}
.dps-sp-h1{font-family:var(--dps-fh);font-size:clamp(2.8rem,7vw,6rem);font-weight:700;color:var(--dps-ink);line-height:.95;letter-spacing:-.03em;margin-bottom:1rem;}
.dps-sp-h1-accent{color:var(--dps-cobalt);}
.dps-sp-sub{font-size:clamp(0.92rem,1.5vw,1.06rem);color:var(--dps-muted);max-width:50ch;margin-bottom:1.8rem;line-height:1.8;}
.dps-sp-ctas{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:2.5rem;}
.dps-sp-stats{display:flex;gap:2rem;padding-top:1.5rem;border-top:1px solid var(--dps-border);flex-wrap:wrap;}
.dps-sp-sv{font-family:var(--dps-fh);font-size:clamp(1.4rem,2.8vw,2rem);font-weight:700;color:var(--dps-cobalt);display:block;line-height:1;}
.dps-sp-sl{font-size:0.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--dps-muted);display:block;margin-top:.08rem;}
/* Hero image with gradient border frame */
.dps-sp-img-wrap{position:relative;padding:4px;border-radius:var(--dps-r2);background:linear-gradient(135deg,var(--dps-cobalt),var(--dps-coral));}
.dps-sp-img-inner{border-radius:calc(var(--dps-r2) - 4px);overflow:hidden;}
.dps-sp-img-inner img{width:100%;height:clamp(260px,32vw,480px);object-fit:cover;display:block;transition:transform .35s;}
.dps-sp-img-wrap:hover .dps-sp-img-inner img{transform:scale(1.03);}

/* ── SERVICES: Horizontal feature rows ── */
.dps-lineup{padding:5rem 2.5rem;background:var(--dps-off);border-top:1px solid var(--dps-border);}
.dps-lineup-in{max-width:var(--dps-max);margin:0 auto;}
.dps-lu-hd{margin-bottom:2rem;}
.dps-lu-hd h2{font-family:var(--dps-fh);font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.02em;}
.dps-lu-hd p{font-size:clamp(0.82rem,1.3vw,0.95rem);color:var(--dps-muted);margin-top:.25rem;}
.dps-svc-row{display:grid;grid-template-columns:30fr 1fr 40fr 20fr auto;gap:1.5rem;align-items:center;padding:1.2rem 0;border-bottom:1px solid var(--dps-border);}
.dps-svc-row:first-of-type{border-top:1px solid var(--dps-border);}
.dps-sr-num{font-family:var(--dps-fh);font-size:0.72rem;font-weight:700;color:var(--dps-muted);}
.dps-sr-ico{color:var(--dps-cobalt);}
.dps-sr-nm{font-family:var(--dps-fh);font-size:clamp(1rem,1.8vw,1.2rem);font-weight:700;color:var(--dps-ink);}
.dps-sr-brief{font-size:clamp(0.72rem,1.1vw,0.85rem);color:var(--dps-muted);line-height:1.5;}
.dps-sr-pr{font-family:var(--dps-fh);font-size:clamp(0.85rem,1.4vw,1rem);font-weight:700;color:var(--dps-cobalt);white-space:nowrap;text-align:right;}
.dps-sr-link{display:inline-flex;align-items:center;gap:.3rem;font-size:0.75rem;font-weight:600;color:var(--dps-muted);transition:color .14s;white-space:nowrap;}
.dps-svc-row:hover .dps-sr-nm{color:var(--dps-cobalt);}
.dps-svc-row:hover .dps-sr-link{color:var(--dps-cobalt);}

/* ── PORTFOLIO: Horizontal case list ── */
.dps-caselist{padding:5rem 2.5rem;background:var(--dps-white);border-top:1px solid var(--dps-border);}
.dps-cl-in{max-width:var(--dps-max);margin:0 auto;}
.dps-cl-hd{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;}
.dps-cl-hd h2{font-family:var(--dps-fh);font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.02em;}
.dps-case-row{display:grid;grid-template-columns:60px 2fr 3fr 1fr;gap:2rem;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--dps-border);transition:var(--dps-tr);}
.dps-case-row:first-of-type{border-top:1px solid var(--dps-border);}
.dps-case-row:hover{background:var(--dps-off);margin:0 -2.5rem;padding:1.5rem 2.5rem;}
.dps-cr-num{font-family:var(--dps-fh);font-size:clamp(1rem,1.8vw,1.3rem);font-weight:700;color:var(--dps-gray2);}
.dps-cr-cat{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--dps-cobalt);display:block;margin-bottom:.15rem;}
.dps-cr-title{font-family:var(--dps-fh);font-size:clamp(1rem,1.8vw,1.3rem);font-weight:700;color:var(--dps-ink);}
.dps-cr-desc{font-size:clamp(0.78rem,1.2vw,0.9rem);color:var(--dps-muted);line-height:1.6;}
.dps-cr-img{border-radius:var(--dps-r2);overflow:hidden;flex-shrink:0;}
.dps-cr-img img{width:100%;height:clamp(80px,8vw,110px);object-fit:cover;display:block;transition:transform .3s;}
.dps-case-row:hover .dps-cr-img img{transform:scale(1.05);}

/* ── PROCESS: Sequential accordion ── */
.dps-sequence{padding:5rem 2.5rem;background:var(--dps-off);border-top:1px solid var(--dps-border);}
.dps-seq-in{max-width:var(--dps-max);margin:0 auto;}
.dps-seq-hd{text-align:center;margin-bottom:3rem;}
.dps-seq-hd h2{font-family:var(--dps-fh);font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.02em;}
.dps-seq-hd p{font-size:clamp(0.82rem,1.3vw,0.95rem);color:var(--dps-muted);margin-top:.3rem;}
.dps-proc-item{border-bottom:1px solid var(--dps-border);}
.dps-proc-item:first-of-type{border-top:1px solid var(--dps-border);}
.dps-proc-toggle{width:100%;display:flex;align-items:center;gap:1.5rem;padding:1.2rem 0;background:none;border:none;cursor:pointer;text-align:left;}
.dps-pt-num{font-family:var(--dps-fh);font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:700;color:var(--dps-gray2);flex-shrink:0;width:3rem;line-height:1;transition:color .2s;}
.dps-proc-item.dps-pi-open .dps-pt-num{color:var(--dps-cobalt);}
.dps-pt-nm{font-family:var(--dps-fh);font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:700;color:var(--dps-ink);flex:1;transition:color .2s;}
.dps-proc-toggle:hover .dps-pt-nm,.dps-proc-item.dps-pi-open .dps-pt-nm{color:var(--dps-cobalt);}
.dps-pt-ico{color:var(--dps-muted);flex-shrink:0;transition:transform .22s;}
.dps-proc-item.dps-pi-open .dps-pt-ico{transform:rotate(90deg);color:var(--dps-cobalt);}
.dps-proc-body{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1);}
.dps-pb-inner{padding:0 4.5rem 1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;}
.dps-pb-main p{font-size:clamp(0.85rem,1.4vw,0.98rem);color:var(--dps-muted);line-height:1.82;}
.dps-pb-detail{font-size:clamp(0.72rem,1.1vw,0.82rem);color:var(--dps-cobalt);background:var(--dps-cobalt-bg);border:1px solid rgba(37,82,255,.12);border-radius:var(--dps-r2);padding:1rem;line-height:1.6;}

/* ── TESTIMONIALS: Large rotating single quote ── */
.dps-tspeak{padding:5rem 2.5rem;background:var(--dps-white);border-top:1px solid var(--dps-border);}
.dps-ts-in{max-width:var(--dps-max);margin:0 auto;}
.dps-ts-h2{font-family:var(--dps-fh);font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.02em;margin-bottom:2.5rem;}
.dps-tspeak-stage{max-width:800px;position:relative;padding:0 3rem;}
.dps-tspeak-qmark{font-family:var(--dps-fh);font-size:6rem;line-height:0;color:var(--dps-cobalt);opacity:.15;position:absolute;top:.5rem;left:0;pointer-events:none;}
.dps-testy-panel{display:none;animation:dps-fade-in .3s ease;}
.dps-testy-panel.dps-tp-vis{display:block;}
@keyframes dps-fade-in{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.dps-tq{font-family:var(--dps-fh);font-size:clamp(1.1rem,2.2vw,1.5rem);font-weight:500;font-style:italic;color:var(--dps-ink);line-height:1.4;margin-bottom:1.5rem;}
.dps-tw{display:flex;align-items:center;gap:.8rem;}
.dps-tw-nm{font-family:var(--dps-fb);font-size:0.85rem;font-weight:600;color:var(--dps-ink);}
.dps-tw-role{font-size:0.75rem;color:var(--dps-muted);}
.dps-ts-controls{display:flex;align-items:center;gap:1rem;margin-top:2rem;}
.dps-ts-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--dps-border);background:white;display:flex;align-items:center;justify-content:center;color:var(--dps-muted);cursor:pointer;transition:var(--dps-tr);}
.dps-ts-btn:hover{border-color:var(--dps-cobalt);color:var(--dps-cobalt);}
.dps-ts-dots{display:flex;gap:.4rem;}
.dps-td{width:6px;height:6px;border-radius:50%;background:var(--dps-gray2);transition:var(--dps-tr);cursor:pointer;}
.dps-td.dps-td-on{background:var(--dps-cobalt);width:18px;border-radius:3px;}

/* ── PRICING: Comparison table (unique!) ── */
.dps-compare{padding:5rem 2.5rem;background:var(--dps-off);border-top:1px solid var(--dps-border);}
.dps-cmp-in{max-width:var(--dps-max);margin:0 auto;}
.dps-cmp-hd{text-align:center;margin-bottom:2.5rem;}
.dps-cmp-hd h2{font-family:var(--dps-fh);font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.02em;}
.dps-cmp-hd p{font-size:clamp(0.82rem,1.3vw,0.95rem);color:var(--dps-muted);margin-top:.3rem;}
.dps-table-wrap{overflow-x:auto;}
.dps-ptbl{width:100%;border-collapse:collapse;table-layout:fixed;}
.dps-ptbl th,.dps-ptbl td{padding:.85rem 1.2rem;text-align:left;font-size:clamp(0.72rem,1.1vw,0.85rem);}
.dps-ptbl thead th{font-family:var(--dps-fh);font-size:clamp(0.88rem,1.4vw,1.05rem);font-weight:700;color:var(--dps-ink);border-bottom:2px solid var(--dps-cobalt);}
.dps-ptbl thead th.dps-col-feat{background:var(--dps-cobalt);color:white;border-bottom-color:var(--dps-cobalt);}
.dps-ptbl tbody tr:nth-child(even){background:rgba(37,82,255,.02);}
.dps-ptbl tbody td{color:var(--dps-muted);border-bottom:1px solid var(--dps-border);}
.dps-ptbl tbody td.dps-col-feat{background:var(--dps-cobalt-bg);color:var(--dps-cobalt);font-weight:600;}
.dps-ptbl .dps-tbl-price-row td{font-family:var(--dps-fh);font-size:clamp(1.1rem,2vw,1.5rem);font-weight:700;color:var(--dps-ink);padding-top:1.2rem;border-top:2px solid var(--dps-border);}
.dps-ptbl .dps-tbl-price-row td.dps-col-feat{color:var(--dps-cobalt);}
.dps-ptbl .dps-tbl-cta-row td{padding-top:.8rem;padding-bottom:1.2rem;}
.dps-ptbl .dps-tbl-cta-row th{color:var(--dps-muted);font-size:0.72rem;font-weight:500;}

/* ── FAQ: Clean minimal accordion ── */
.dps-questions{padding:5rem 2.5rem;background:var(--dps-white);border-top:1px solid var(--dps-border);}
.dps-q-in{max-width:820px;margin:0 auto;}
.dps-q-h2{font-family:var(--dps-fh);font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.02em;margin-bottom:1.5rem;}
.dps-qa-item{border-bottom:1px solid var(--dps-border);}
.dps-qa-item:first-of-type{border-top:1px solid var(--dps-border);}
.dps-qa-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;background:none;border:none;cursor:pointer;text-align:left;}
.dps-qa-q{font-family:var(--dps-fb);font-size:clamp(0.88rem,1.4vw,1rem);font-weight:600;color:var(--dps-ink);transition:color .14s;flex:1;line-height:1.35;}
.dps-qa-toggle:hover .dps-qa-q{color:var(--dps-cobalt);}
.dps-qa-item.dps-qi-open .dps-qa-q{color:var(--dps-cobalt);}
.dps-qa-ico{color:var(--dps-muted);flex-shrink:0;transition:transform .22s;}
.dps-qa-item.dps-qi-open .dps-qa-ico{transform:rotate(45deg);color:var(--dps-cobalt);}
.dps-qa-body{max-height:0;overflow:hidden;transition:max-height .34s cubic-bezier(.4,0,.2,1);}
.dps-qa-body p{padding:0 0 1rem;font-size:clamp(0.82rem,1.3vw,0.95rem);color:var(--dps-muted);line-height:1.82;}

/* ── CTA BAND ── */
.dps-signal{padding:5rem 2.5rem;background:var(--dps-cobalt);}
.dps-sig-in{max-width:var(--dps-max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.dps-sig-h{font-family:var(--dps-fh);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;color:white;line-height:1.0;letter-spacing:-.02em;}
.dps-sig-sub{font-size:clamp(0.85rem,1.4vw,1rem);color:rgba(255,255,255,.45);line-height:1.78;margin-top:.5rem;}
.dps-sig-form{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:var(--dps-r2);padding:1.8rem;}

/* ── PAGE BANNER (interior pages) ── */
.dps-pg-bnr{background:var(--dps-off);padding:4rem 2.5rem 3rem;border-bottom:1px solid var(--dps-border);}
.dps-pg-bnr-in{max-width:var(--dps-max);margin:0 auto;text-align:center;}
.dps-pg-eye{font-size:0.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.28em;color:var(--dps-muted);display:block;margin-bottom:.5rem;}
.dps-pg-h1{font-family:var(--dps-fh);font-size:clamp(2rem,5vw,4rem);font-weight:700;color:var(--dps-ink);line-height:1.05;letter-spacing:-.02em;}
.dps-pg-sub{font-size:clamp(0.82rem,1.4vw,0.95rem);color:var(--dps-muted);margin:.5rem auto 0;max-width:60ch;line-height:1.78;}

/* ── SERVICE PAGE ── */
.dps-svc-shell{max-width:var(--dps-max);margin:0 auto;padding:3rem 2.5rem 6rem;display:grid;grid-template-columns:3fr 2fr;gap:3rem;align-items:start;}
.dps-svc-txt h2{font-family:var(--dps-fh);font-size:clamp(0.95rem,1.6vw,1.1rem);font-weight:700;color:var(--dps-ink);margin:2rem 0 .4rem;}
.dps-svc-txt p{font-size:clamp(0.78rem,1.2vw,0.92rem);color:var(--dps-muted);line-height:1.82;margin-bottom:.9rem;}
.dps-svc-li{display:flex;align-items:flex-start;gap:.4rem;font-size:clamp(0.78rem,1.2vw,0.85rem);color:var(--dps-muted);margin-bottom:.28rem;}
.dps-svc-li svg{color:var(--dps-cobalt);flex-shrink:0;margin-top:.1rem;}
.dps-svc-aside{background:var(--dps-off);border:1.5px solid var(--dps-border);border-radius:var(--dps-r2);overflow:hidden;position:sticky;top:80px;}
.dps-sa-hd{background:var(--dps-cobalt);padding:.7rem 1.2rem;}
.dps-sa-ht{font-family:var(--dps-fh);font-size:clamp(0.88rem,1.5vw,1rem);font-weight:700;color:white;}
.dps-sa-bd{padding:1.2rem;}
.dps-sa-from{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--dps-muted);display:block;}
.dps-sa-pr{font-family:var(--dps-fh);font-size:clamp(2rem,4vw,2.8rem);font-weight:700;color:var(--dps-cobalt);display:block;line-height:1;}
.dps-sa-pp{font-size:0.72rem;color:var(--dps-muted);display:block;margin-bottom:.8rem;}
.dps-sa-row{display:flex;align-items:flex-start;gap:.3rem;font-size:.72rem;color:var(--dps-muted);margin-bottom:.2rem;}
.dps-sa-btn{display:block;width:100%;text-align:center;background:var(--dps-cobalt);color:white;font-family:var(--dps-fh);font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:700;padding:.55rem;border-radius:var(--dps-r);cursor:pointer;transition:background .14s;text-decoration:none;margin-top:1rem;border:none;}
.dps-sa-btn:hover{background:var(--dps-cobalt-l);}

/* ── BUILDER: Questionnaire style (radio cards + checkbox grid + slider) ── */
.dps-build-pg{background:var(--dps-off);padding:3rem 0 7rem;}
.dps-build-in{max-width:var(--dps-max);margin:0 auto;padding:0 2.5rem;}
.dps-build-grid{display:grid;grid-template-columns:1fr 300px;gap:2.5rem;margin-top:2rem;align-items:start;}
.dps-bsec{background:white;border:1px solid var(--dps-border);border-radius:var(--dps-r2);padding:1.5rem;margin-bottom:1rem;}
.dps-bsec h3{font-family:var(--dps-fh);font-size:clamp(0.95rem,1.6vw,1.1rem);font-weight:700;color:var(--dps-ink);margin-bottom:.3rem;}
.dps-bsec>p{font-size:clamp(0.72rem,1.1vw,0.82rem);color:var(--dps-muted);margin-bottom:1rem;}
/* Radio cards for service selection */
.dps-radio-cards{display:flex;flex-direction:column;gap:.5rem;}
.dps-radio-card{position:relative;}
.dps-rc-input{position:absolute;opacity:0;width:0;height:0;}
.dps-rc-label{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;border:1.5px solid var(--dps-border);border-radius:var(--dps-r2);cursor:pointer;transition:var(--dps-tr);background:var(--dps-off);}
.dps-rc-label:hover{border-color:rgba(37,82,255,.4);}
.dps-rc-input:checked + .dps-rc-label{border-color:var(--dps-cobalt);background:var(--dps-cobalt-bg);}
.dps-rc-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--dps-border);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:border-color .15s;background:white;}
.dps-rc-input:checked + .dps-rc-label .dps-rc-dot{border-color:var(--dps-cobalt);}
.dps-rc-input:checked + .dps-rc-label .dps-rc-dot::after{content:'';width:6px;height:6px;border-radius:50%;background:var(--dps-cobalt);}
.dps-rc-nm{font-family:var(--dps-fb);font-size:clamp(0.82rem,1.3vw,0.9rem);font-weight:700;color:var(--dps-ink);flex:1;}
.dps-rc-pr{font-family:var(--dps-fh);font-size:clamp(0.82rem,1.3vw,0.9rem);font-weight:700;color:var(--dps-cobalt);flex-shrink:0;}
/* Checkbox grid for extras */
.dps-chk-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;}
.dps-chk-item{position:relative;}
.dps-chk-input{position:absolute;opacity:0;width:0;height:0;}
.dps-chk-label{display:flex;flex-direction:column;padding:.8rem 1rem;border:1.5px solid var(--dps-border);border-radius:var(--dps-r);cursor:pointer;transition:var(--dps-tr);background:var(--dps-off);}
.dps-chk-label:hover{border-color:rgba(255,75,38,.4);}
.dps-chk-input:checked + .dps-chk-label{border-color:var(--dps-coral);background:var(--dps-coral-bg);}
.dps-ck-nm{font-size:clamp(0.72rem,1.1vw,0.82rem);font-weight:700;color:var(--dps-ink);}
.dps-ck-pr{font-size:0.72rem;color:var(--dps-muted);margin-top:.1rem;}
.dps-chk-input:checked + .dps-chk-label .dps-ck-pr{color:var(--dps-coral);}
/* Slider for hours */
.dps-slider-zone{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.dps-hrs-sl{flex:1;min-width:120px;accent-color:var(--dps-cobalt);}
.dps-sl-disp{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;}
.dps-sld-hrs{font-family:var(--dps-fh);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;color:var(--dps-cobalt);line-height:1;}
.dps-sld-cost{font-size:0.72rem;color:var(--dps-muted);}
/* Build summary panel */
.dps-build-sum{background:var(--dps-side);border-radius:var(--dps-r2);overflow:hidden;position:sticky;top:80px;}
.dps-bs-hd{background:var(--dps-cobalt);padding:.7rem 1.2rem;}
.dps-bs-ht{font-family:var(--dps-fh);font-size:clamp(0.88rem,1.5vw,1rem);font-weight:700;color:white;}
.dps-bs-bd{padding:.7rem 1.2rem;min-height:80px;}
.dps-bs-item{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.3rem;}
.dps-bs-lbl{font-size:clamp(0.69rem,1.1vw,0.78rem);color:rgba(255,255,255,.3);flex:1;line-height:1.4;}
.dps-bs-val{font-family:var(--dps-fh);font-size:clamp(0.78rem,1.2vw,0.88rem);font-weight:700;color:var(--dps-cobalt);white-space:nowrap;}
.dps-bs-empty{font-size:clamp(0.69rem,1.1vw,0.78rem);color:rgba(255,255,255,.1);font-style:italic;}
.dps-bs-sep{border:none;border-top:1px solid rgba(255,255,255,.06);margin:.4rem 0;}
.dps-bs-total-row{display:flex;justify-content:space-between;align-items:flex-end;padding:.15rem 1.2rem .2rem;}
.dps-bs-tl{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.15);}
.dps-bs-tv{font-family:var(--dps-fh);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;color:var(--dps-cobalt);}
.dps-bs-ft{padding:.6rem 1.2rem;border-top:1px solid rgba(255,255,255,.06);}
.dps-bs-go{display:block;width:100%;background:var(--dps-cobalt);color:white;font-family:var(--dps-fh);font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:700;padding:.6rem;border:none;border-radius:var(--dps-r);cursor:pointer;transition:background .14s;}
.dps-bs-go:hover:not(:disabled){background:var(--dps-cobalt-l);}
.dps-bs-go:disabled{opacity:.22;cursor:not-allowed;}

/* ── CHECKOUT: Centered with top order summary ── */
.dps-co-pg{background:var(--dps-off);padding:3rem 2.5rem 5rem;}
.dps-co-in{max-width:720px;margin:0 auto;}
.dps-ord-top{background:var(--dps-side);border-radius:var(--dps-r2);padding:1.5rem;margin-bottom:1.5rem;}
.dps-ot-h{font-family:var(--dps-fh);font-size:clamp(0.88rem,1.5vw,1rem);font-weight:700;color:var(--dps-cobalt);margin-bottom:.8rem;}
.dps-ot-main{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;background:rgba(255,255,255,.05);border-radius:var(--dps-r);padding:.7rem 1rem;margin-bottom:.6rem;}
.dps-ot-mnm{font-family:var(--dps-fh);font-size:clamp(0.88rem,1.4vw,1rem);font-weight:700;color:white;}
.dps-ot-mpr{font-family:var(--dps-fh);font-size:clamp(0.88rem,1.4vw,1rem);font-weight:700;color:var(--dps-cobalt);}
.dps-ot-row{display:flex;justify-content:space-between;font-size:0.75rem;color:rgba(255,255,255,.25);margin-bottom:.2rem;}
.dps-ot-sep{border:none;border-top:1px solid rgba(255,255,255,.06);margin:.6rem 0;}
.dps-ot-total{display:flex;justify-content:space-between;align-items:center;}
.dps-ot-tl{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.15);}
.dps-ot-tv{font-family:var(--dps-fh);font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:700;color:var(--dps-cobalt);}
.dps-no-ord{font-size:0.82rem;color:rgba(255,255,255,.1);font-style:italic;text-align:center;padding:1rem 0;}
.dps-co-card{background:white;border:1px solid var(--dps-border);border-radius:var(--dps-r2);padding:1.8rem;margin-bottom:1rem;}
.dps-co-card h3{font-family:var(--dps-fh);font-size:clamp(0.95rem,1.6vw,1.1rem);font-weight:700;color:var(--dps-ink);margin-bottom:1.2rem;}
.dps-frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.8rem;}
.dps-fld{margin-bottom:.8rem;}
.dps-fl{display:block;font-size:0.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--dps-muted);margin-bottom:.22rem;}
.dps-fin{width:100%;background:var(--dps-off);border:1.5px solid var(--dps-border);border-radius:var(--dps-r);padding:.55rem .8rem;color:var(--dps-ink);font-size:clamp(0.82rem,1.2vw,0.9rem);transition:border-color .14s;}
.dps-fin:focus{outline:none;border-color:var(--dps-cobalt);}
.dps-agree{display:flex;align-items:flex-start;gap:.5rem;font-size:0.78rem;color:var(--dps-muted);margin:1rem 0;line-height:1.6;}
.dps-agree input{margin-top:.15rem;accent-color:var(--dps-cobalt);}
.dps-agree a{color:var(--dps-cobalt);}
.dps-co-btn{width:100%;background:var(--dps-cobalt);color:white;font-family:var(--dps-fh);font-size:clamp(0.9rem,1.6vw,1.05rem);font-weight:700;padding:.75rem;border:none;border-radius:var(--dps-r2);cursor:pointer;transition:background .14s;}
.dps-co-btn:hover{background:var(--dps-cobalt-l);}
.dps-err{background:#FEF2F2;border:1px solid #FCA5A5;border-radius:var(--dps-r);padding:.65rem .9rem;font-size:clamp(0.78rem,1.2vw,0.85rem);color:#B91C1C;margin-bottom:1rem;}

/* ── LEGAL ── */
.dps-legal-pg{max-width:820px;margin:0 auto;padding:4rem 2.5rem 7rem;}
.dps-legal-eff{display:inline-block;font-size:0.72rem;color:var(--dps-muted);background:var(--dps-off);border:1px solid var(--dps-border);padding:.18rem .65rem;border-radius:var(--dps-r3);margin-bottom:1.5rem;}
.dps-legal-pg h2{font-family:var(--dps-fh);font-size:clamp(0.95rem,1.6vw,1.1rem);font-weight:700;color:var(--dps-ink);margin:2.5rem 0 .4rem;}
.dps-legal-pg p,.dps-legal-pg li{font-size:clamp(0.78rem,1.2vw,0.9rem);color:var(--dps-muted);line-height:1.82;margin-bottom:.85rem;}
.dps-legal-pg ul{padding-left:1.4rem;margin:.5rem 0;}
.dps-legal-pg li{list-style:disc;}
.dps-legal-pg a{color:var(--dps-cobalt);}

/* ── BUTTONS ── */
.dps-btn-cobalt{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--dps-fb);font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:600;color:white;background:var(--dps-cobalt);padding:.5rem 1.6rem;border-radius:var(--dps-r3);border:none;cursor:pointer;transition:var(--dps-tr);text-decoration:none;white-space:nowrap;}
.dps-btn-cobalt:hover{background:var(--dps-cobalt-l);}
.dps-btn-coral{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--dps-fb);font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:600;color:white;background:var(--dps-coral);padding:.5rem 1.6rem;border-radius:var(--dps-r3);border:none;cursor:pointer;transition:var(--dps-tr);text-decoration:none;white-space:nowrap;}
.dps-btn-coral:hover{background:var(--dps-coral-d);}
.dps-btn-ghost{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--dps-fb);font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:600;color:var(--dps-ink);background:transparent;padding:.48rem 1.6rem;border-radius:var(--dps-r3);border:2px solid var(--dps-border);transition:var(--dps-tr);text-decoration:none;white-space:nowrap;}
.dps-btn-ghost:hover{border-color:var(--dps-cobalt);color:var(--dps-cobalt);}
.dps-btn-wh{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--dps-fb);font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:600;color:rgba(255,255,255,.6);background:rgba(255,255,255,.1);padding:.48rem 1.6rem;border-radius:var(--dps-r3);border:1px solid rgba(255,255,255,.2);transition:var(--dps-tr);text-decoration:none;white-space:nowrap;}
.dps-btn-wh:hover{background:rgba(255,255,255,.18);color:white;}

/* ── COOKIE + CHAT ── */
.dps-ck{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--dps-side);border-top:2px solid var(--dps-cobalt);padding:.9rem 2rem;display:none;align-items:center;gap:2rem;justify-content:space-between;flex-wrap:wrap;}
.dps-ck p{font-size:0.78rem;color:rgba(255,255,255,.3);margin:0;}
.dps-ck a{color:var(--dps-cobalt);}
.dps-ck-btns{display:flex;gap:.5rem;flex-shrink:0;}
.dps-ck-yes{background:var(--dps-cobalt);color:white;font-family:var(--dps-fb);font-size:0.85rem;font-weight:600;padding:.28rem .85rem;border-radius:var(--dps-r3);cursor:pointer;border:none;}
.dps-ck-no{background:transparent;color:rgba(255,255,255,.25);font-family:var(--dps-fb);font-size:0.82rem;padding:.26rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--dps-r3);cursor:pointer;}
.dps-chat-fab{position:fixed;bottom:4.5rem;right:1.5rem;z-index:9990;width:50px;height:50px;background:var(--dps-coral);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;box-shadow:0 4px 20px rgba(255,75,38,.4);transition:var(--dps-tr);color:white;}
.dps-chat-fab:hover{background:var(--dps-coral-d);transform:scale(1.08);}
.dps-chat-pop{position:fixed;bottom:7rem;right:1.5rem;z-index:9989;width:290px;background:white;border:1px solid var(--dps-border);border-radius:var(--dps-r2);box-shadow:var(--dps-sh2);opacity:0;pointer-events:none;transform:translateY(10px) scale(.97);transition:opacity .2s,transform .22s;overflow:hidden;}
.dps-chat-pop.dps-cp-vis{opacity:1;pointer-events:auto;transform:none;}
.dps-chat-hd{background:var(--dps-cobalt);padding:.8rem 1.1rem;}
.dps-chat-nm{font-family:var(--dps-fh);font-size:clamp(0.88rem,1.5vw,1rem);font-weight:700;color:white;}
.dps-chat-bd{padding:.8rem 1rem;}
.dps-chat-ta{width:100%;background:var(--dps-off);border:1.5px solid var(--dps-border);border-radius:var(--dps-r);padding:.5rem .8rem;font-size:0.85rem;color:var(--dps-ink);margin-bottom:.35rem;resize:none;transition:border-color .14s;}
.dps-chat-ta:focus{outline:none;border-color:var(--dps-cobalt);}
.dps-chat-send{width:100%;background:var(--dps-cobalt);color:white;font-family:var(--dps-fh);font-size:0.88rem;font-weight:700;padding:.5rem;border-radius:var(--dps-r);border:none;cursor:pointer;}

/* ── FOOTER ── */
.dps-footer-wrap{background:var(--dps-side);}
.dps-footer-top{max-width:var(--dps-max);margin:0 auto;padding:4rem 2.5rem 3rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;border-bottom:1px solid rgba(255,255,255,.04);}
.dps-ft-logo{font-family:var(--dps-fh);font-size:clamp(1.1rem,2vw,1.6rem);font-weight:700;color:white;display:block;margin-bottom:.4rem;text-decoration:none;letter-spacing:-.02em;}
.dps-ft-logo strong{color:var(--dps-cobalt);}
.dps-ft-tag{font-size:0.72rem;color:rgba(255,255,255,.12);line-height:1.65;margin-bottom:.7rem;}
.dps-ft-socs{display:flex;gap:.35rem;}
.dps-ft-soc{width:30px;height:30px;border:1px solid rgba(255,255,255,.06);border-radius:var(--dps-r);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.15);transition:var(--dps-tr);text-decoration:none;}
.dps-ft-soc:hover{border-color:var(--dps-cobalt);color:var(--dps-cobalt);}
.dps-ft-col h4{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.12);display:block;margin-bottom:.65rem;}
.dps-ft-nav{display:flex;flex-direction:column;gap:.22rem;}
.dps-ft-nav a{font-size:0.75rem;color:rgba(255,255,255,.12);transition:color .14s;text-decoration:none;}
.dps-ft-nav a:hover{color:var(--dps-cobalt);}
.dps-ft-ct a{display:flex;align-items:flex-start;gap:.3rem;font-size:0.72rem;color:rgba(255,255,255,.12);transition:color .14s;text-decoration:none;margin-bottom:.22rem;}
.dps-ft-ct a:hover{color:var(--dps-cobalt);}
.dps-footer-base{max-width:var(--dps-max);margin:0 auto;padding:.65rem 2.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.dps-ft-copy{font-size:0.69rem;color:rgba(255,255,255,.06);}
.dps-ft-legal{display:flex;gap:1rem;flex-wrap:wrap;}
.dps-ft-legal a{font-size:0.69rem;color:rgba(255,255,255,.06);text-decoration:none;transition:color .14s;}
.dps-ft-legal a:hover{color:var(--dps-cobalt);}

/* ── MISC ── */
.dps-reveal{opacity:0;transform:translateY(12px);transition:opacity .42s,transform .42s;}
.dps-reveal.dps-vis{opacity:1;transform:none;}
.dps-result-pg{min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:6rem 2.5rem;flex-direction:column;gap:1.5rem;background:var(--dps-off);}
.dps-result-pg h1{font-family:var(--dps-fh);font-size:clamp(1.8rem,4vw,3rem);color:var(--dps-ink);}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
    .dps-svc-row{grid-template-columns:1fr auto;}.dps-sr-num,.dps-sr-ico{display:none;}
    .dps-case-row{grid-template-columns:auto 1fr;}.dps-cr-img{display:none;}
    .dps-pb-inner{grid-template-columns:1fr;}
}
@media(max-width:900px){
    .dps-splash-in{grid-template-columns:1fr;}
    .dps-sp-img-wrap{display:none;}
    .dps-sig-in,.dps-build-grid,.dps-svc-shell{grid-template-columns:1fr;}
    .dps-footer-top{grid-template-columns:1fr 1fr;}
    .dps-case-row{grid-template-columns:1fr;}
}
@media(max-width:640px){
    .dps-frow{grid-template-columns:1fr;}
    .dps-chk-grid{grid-template-columns:1fr;}
    .dps-footer-top{grid-template-columns:1fr;}
    .dps-sp-h1{font-size:clamp(2rem,8vw,3.5rem);}
}
