/* jujudesigned.com | Web Design Agency | Santo Tirso, Portugal
   BOLD CONTEMPORARY: White + Electric Violet #5B3CF5 + Warm Yellow #F7BA4A
   Space Grotesk (heading) + Nunito Sans (body)
   FLOATING PILL NAV | Gradient hero | 3-col service cards
   Numbered table process | Horizontal testimonials | Violet pricing card
   Numbered FAQ accordion | Fixed bottom bar builder | IG+TW+LI
   Prefix: jjd- | sessionStorage: jjd_basket */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700;800&family=Nunito+Sans:wght@400;500;600;700&display=swap');

:root {
  --jjd-white:#FFFFFF; --jjd-off:#F8F8F4; --jjd-gray:#F0F0EC; --jjd-gray2:#E4E4DC;
  --jjd-ink:#111118; --jjd-muted:#888894;
  --jjd-border:#E0E0D8; --jjd-border-l:#EBEBE4;
  --jjd-violet:#5B3CF5; --jjd-violet-l:#7B63FF; --jjd-violet-d:#4429E0;
  --jjd-violet-bg:rgba(91,60,245,.07); --jjd-violet-bg2:rgba(91,60,245,.13);
  --jjd-yellow:#F7BA4A; --jjd-yellow-d:#D99B2A;
  --jjd-yellow-bg:rgba(247,186,74,.12); --jjd-yellow-bg2:rgba(247,186,74,.2);
  --jjd-max:1180px;
  --jjd-fh:'Space Grotesk',sans-serif; --jjd-fb:'Nunito Sans',sans-serif;
  --jjd-r:8px; --jjd-r2:16px; --jjd-r3:100px;
  --jjd-tr:all .22s ease;
  --jjd-sh:0 2px 16px rgba(91,60,245,.08);
  --jjd-sh2:0 16px 48px rgba(91,60,245,.12);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--jjd-white);color:var(--jjd-ink);font-family:var(--jjd-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(--jjd-fh);color:var(--jjd-ink);}
p{font-size:clamp(0.78rem,1.5vw,0.96rem);line-height:1.78;color:var(--jjd-muted);}

/* ── FLOATING PILL NAVIGATION (unique! centered, glassmorphism) ── */
.jjd-nav-pill{
    position:fixed;top:1.1rem;left:50%;transform:translateX(-50%);
    z-index:600;width:min(960px,94%);
    background:rgba(255,255,255,.88);backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border-radius:var(--jjd-r3);border:1px solid rgba(91,60,245,.1);
    box-shadow:0 4px 24px rgba(91,60,245,.08);
    padding:0 1.2rem;height:58px;
    display:flex;align-items:center;justify-content:space-between;gap:.5rem;
    transition:box-shadow .25s;
}
.jjd-nav-pill.jjd-pill-scrolled{box-shadow:0 8px 32px rgba(91,60,245,.12);}
/* Logo — bigger than body text */
.jjd-pill-logo{font-family:var(--jjd-fh);font-size:clamp(1.1rem,2vw,1.5rem);font-weight:700;color:var(--jjd-ink);text-decoration:none;white-space:nowrap;flex-shrink:0;}
.jjd-pill-logo strong{color:var(--jjd-violet);}
/* Nav links — bigger than default text */
.jjd-pill-links{display:flex;align-items:center;gap:.15rem;}
.jjd-plk{font-family:var(--jjd-fb);font-size:clamp(1rem,1.4vw,1.1rem);font-weight:600;color:var(--jjd-muted);padding:.28rem .6rem;text-decoration:none;transition:color .14s;white-space:nowrap;border-radius:var(--jjd-r);}
.jjd-plk:hover,.jjd-plk.jjd-active{color:var(--jjd-violet);}
.jjd-pill-util{display:flex;align-items:center;gap:.5rem;flex-shrink:0;}
.jjd-lang-wrap{display:flex;gap:2px;}
.jjd-lbtn{font-size:0.75rem;font-weight:700;color:var(--jjd-muted);cursor:pointer;border:none;background:none;padding:.04rem .18rem;transition:color .14s;}
.jjd-lbtn.jjd-lbtn-on,.jjd-lbtn:hover{color:var(--jjd-violet);}
.jjd-pill-mob-btn{display:none;color:var(--jjd-ink);}
/* Mobile dropdown (slides from pill) */
.jjd-mob-drop{
    position:fixed;top:0;left:50%;transform:translateX(-50%) translateY(-100%);
    width:min(960px,94%);background:var(--jjd-white);
    border-radius:0 0 var(--jjd-r2) var(--jjd-r2);
    border:1px solid var(--jjd-border);box-shadow:var(--jjd-sh2);
    z-index:599;padding:5rem 2rem 2rem;
    transition:transform .3s cubic-bezier(.4,0,.2,1);
}
.jjd-mob-drop.jjd-md-open{transform:translateX(-50%) translateY(0);}
.jjd-mob-cls{position:absolute;top:1rem;right:1.5rem;color:var(--jjd-muted);}
.jjd-mob-nav{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.5rem;}
.jjd-mob-lk{font-family:var(--jjd-fh);font-size:1.2rem;font-weight:700;color:var(--jjd-ink);opacity:.35;text-decoration:none;transition:opacity .14s;padding:.25rem 0;}
.jjd-mob-lk:hover{opacity:1;color:var(--jjd-violet);}

/* ── HERO: Gradient background with decorative blobs ── */
.jjd-intro{
    min-height:100vh;
    background:radial-gradient(ellipse 70% 60% at -10% -10%, rgba(91,60,245,.07) 0%, transparent 60%),
               radial-gradient(ellipse 50% 50% at 110% 110%, rgba(247,186,74,.1) 0%, transparent 60%),
               var(--jjd-white);
    display:flex;align-items:center;justify-content:center;text-align:center;
    padding:7rem 2rem 4rem;position:relative;overflow:hidden;
}
.jjd-intro-in{max-width:860px;position:relative;z-index:1;}
.jjd-hero-badge{font-family:var(--jjd-fb);font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.28em;color:var(--jjd-muted);display:inline-block;background:var(--jjd-violet-bg);border:1px solid rgba(91,60,245,.15);padding:.22rem .9rem;border-radius:var(--jjd-r3);margin-bottom:1.5rem;}
.jjd-hero-h1{font-family:var(--jjd-fh);font-size:clamp(2.8rem,7vw,5.5rem);font-weight:800;color:var(--jjd-ink);line-height:1.05;letter-spacing:-.03em;margin-bottom:1rem;}
.jjd-hero-h1 em{font-style:normal;color:var(--jjd-violet);}
.jjd-hero-lede{font-size:clamp(0.95rem,1.6vw,1.1rem);color:var(--jjd-muted);max-width:55ch;margin:0 auto 1.8rem;line-height:1.82;}
.jjd-hero-ctas{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.5rem;}
.jjd-hero-glass{
    border-radius:var(--jjd-r2);overflow:hidden;
    box-shadow:0 24px 64px rgba(91,60,245,.14);
    border:1px solid rgba(91,60,245,.1);
    background:rgba(255,255,255,.6);
    backdrop-filter:blur(4px);
}
.jjd-hero-glass img{width:100%;height:clamp(220px,28vw,400px);object-fit:cover;display:block;}

/* ── TRUST TICKER ── */
.jjd-ticker{background:var(--jjd-gray);padding:.6rem 0;overflow:hidden;border-top:1px solid var(--jjd-border);border-bottom:1px solid var(--jjd-border);}
.jjd-ticker-track{display:flex;gap:2rem;animation:jjdTick 28s linear infinite;width:max-content;align-items:center;}
@keyframes jjdTick{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.jjd-tick-item{font-family:var(--jjd-fh);font-size:0.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:rgba(17,17,24,.12);white-space:nowrap;}
.jjd-tick-dot{width:4px;height:4px;border-radius:50%;background:var(--jjd-violet);opacity:.3;flex-shrink:0;}

/* ── SERVICES: 3-col card grid ── */
.jjd-offerings{padding:5rem 2rem;background:var(--jjd-white);border-top:1px solid var(--jjd-border);}
.jjd-off-in{max-width:var(--jjd-max);margin:0 auto;}
.jjd-off-hd{margin-bottom:2.5rem;}
.jjd-off-hd h2{font-family:var(--jjd-fh);font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.02em;}
.jjd-off-hd p{font-size:clamp(0.82rem,1.3vw,0.95rem);color:var(--jjd-muted);margin-top:.25rem;}
.jjd-offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.jjd-offer-card{border:1.5px solid var(--jjd-border);border-radius:var(--jjd-r2);padding:1.5rem;background:var(--jjd-white);transition:var(--jjd-tr);cursor:default;}
.jjd-offer-card:hover{border-color:var(--jjd-violet);box-shadow:var(--jjd-sh2);}
.jjd-oc-icon{width:36px;height:36px;border-radius:var(--jjd-r);background:var(--jjd-violet-bg);display:flex;align-items:center;justify-content:center;color:var(--jjd-violet);margin-bottom:.8rem;}
.jjd-oc-nm{font-family:var(--jjd-fh);font-size:clamp(0.95rem,1.6vw,1.1rem);font-weight:700;color:var(--jjd-ink);margin-bottom:.3rem;}
.jjd-oc-brief{font-size:clamp(0.78rem,1.2vw,0.88rem);color:var(--jjd-muted);line-height:1.6;margin-bottom:1rem;}
.jjd-oc-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-top:1px solid var(--jjd-border);padding-top:.8rem;}
.jjd-oc-pr{font-family:var(--jjd-fh);font-size:0.78rem;font-weight:700;color:var(--jjd-violet);}
.jjd-oc-lnk{font-size:0.72rem;font-weight:700;color:var(--jjd-muted);text-decoration:none;display:flex;align-items:center;gap:.2rem;transition:color .14s;}
.jjd-offer-card:hover .jjd-oc-lnk{color:var(--jjd-violet);}
.jjd-offer-cta-card{border:1.5px dashed var(--jjd-violet);border-radius:var(--jjd-r2);padding:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--jjd-violet-bg);transition:var(--jjd-tr);}
.jjd-offer-cta-card:hover{background:var(--jjd-violet-bg2);}

/* ── SHOWCASE: Portfolio 3-col cards ── */
.jjd-showcase{padding:5rem 2rem;background:var(--jjd-gray);border-top:1px solid var(--jjd-border);}
.jjd-show-in{max-width:var(--jjd-max);margin:0 auto;}
.jjd-show-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;}
.jjd-show-hd h2{font-family:var(--jjd-fh);font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.02em;}
.jjd-proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.jjd-proj-card{border-radius:var(--jjd-r2);overflow:hidden;background:var(--jjd-white);border:1.5px solid var(--jjd-border);transition:var(--jjd-tr);}
.jjd-proj-card:hover{border-color:var(--jjd-violet);box-shadow:var(--jjd-sh2);}
.jjd-pc-img{overflow:hidden;}
.jjd-pc-img img{width:100%;height:clamp(160px,16vw,220px);object-fit:cover;display:block;transition:transform .3s;}
.jjd-proj-card:hover .jjd-pc-img img{transform:scale(1.05);}
.jjd-pc-body{padding:1.2rem;}
.jjd-pc-cat{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--jjd-violet);display:block;margin-bottom:.2rem;}
.jjd-pc-res{font-family:var(--jjd-fh);font-size:clamp(0.9rem,1.5vw,1.05rem);font-weight:700;color:var(--jjd-ink);display:block;margin-bottom:.25rem;}
.jjd-pc-lede{font-size:clamp(0.72rem,1.1vw,0.82rem);color:var(--jjd-muted);line-height:1.6;}

/* ── PROCESS: Numbered table rows (image + text alternating) — unique! ── */
.jjd-method{padding:5rem 2rem;background:var(--jjd-white);border-top:1px solid var(--jjd-border);}
.jjd-meth-in{max-width:var(--jjd-max);margin:0 auto;}
.jjd-meth-hd{text-align:center;margin-bottom:3rem;}
.jjd-meth-hd h2{font-family:var(--jjd-fh);font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.02em;}
.jjd-meth-hd p{font-size:clamp(0.82rem,1.3vw,0.95rem);color:var(--jjd-muted);margin-top:.3rem;}
.jjd-method-row{display:grid;grid-template-columns:auto 1fr auto;gap:2.5rem;align-items:center;padding:2rem 0;border-bottom:1px solid var(--jjd-border);}
.jjd-method-row:first-of-type{border-top:1px solid var(--jjd-border);}
.jjd-method-row.jjd-mr-flip{direction:rtl;}
.jjd-method-row.jjd-mr-flip>*{direction:ltr;}
.jjd-mr-num{font-family:var(--jjd-fh);font-size:clamp(2.5rem,5vw,4rem);font-weight:800;color:var(--jjd-violet);opacity:.18;line-height:1;flex-shrink:0;width:5rem;text-align:center;}
.jjd-mr-txt h3{font-family:var(--jjd-fh);font-size:clamp(1.1rem,2vw,1.4rem);font-weight:700;color:var(--jjd-ink);margin-bottom:.4rem;}
.jjd-mr-txt p{font-size:clamp(0.82rem,1.3vw,0.95rem);color:var(--jjd-muted);line-height:1.8;max-width:55ch;}
.jjd-mr-img{width:clamp(140px,16vw,200px);flex-shrink:0;border-radius:var(--jjd-r2);overflow:hidden;}
.jjd-mr-img img{width:100%;height:clamp(100px,12vw,150px);object-fit:cover;display:block;}

/* ── TESTIMONIALS: Horizontal review list (unique!) ── */
.jjd-voices{padding:5rem 2rem;background:var(--jjd-gray);border-top:1px solid var(--jjd-border);}
.jjd-voices-in{max-width:var(--jjd-max);margin:0 auto;}
.jjd-voices-h2{font-family:var(--jjd-fh);font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.02em;margin-bottom:1.5rem;}
.jjd-review-list{display:flex;flex-direction:column;gap:0;}
.jjd-review-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:1rem 0;border-bottom:1px solid var(--jjd-border);}
.jjd-review-row:first-child{border-top:1px solid var(--jjd-border);}
.jjd-rr-stars{display:flex;gap:2px;color:var(--jjd-yellow);flex-shrink:0;}
.jjd-rr-q{font-family:var(--jjd-fb);font-size:clamp(0.82rem,1.3vw,0.95rem);font-style:italic;color:var(--jjd-ink);flex:1;line-height:1.5;}
.jjd-rr-who{text-align:right;flex-shrink:0;}
.jjd-rr-who-nm{font-family:var(--jjd-fh);font-size:0.78rem;font-weight:700;color:var(--jjd-ink);display:block;white-space:nowrap;}
.jjd-rr-who-role{font-size:0.65rem;color:var(--jjd-muted);white-space:nowrap;display:block;}

/* ── PRICING: 3 cards (middle = VIOLET solid card) — unique! ── */
.jjd-rates{padding:5rem 2rem;background:var(--jjd-white);border-top:1px solid var(--jjd-border);}
.jjd-rates-in{max-width:var(--jjd-max);margin:0 auto;}
.jjd-rates-hd{text-align:center;margin-bottom:2.5rem;}
.jjd-rates-hd h2{font-family:var(--jjd-fh);font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.02em;}
.jjd-rates-hd p{font-size:clamp(0.82rem,1.3vw,0.95rem);color:var(--jjd-muted);margin-top:.3rem;}
.jjd-plan-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.jjd-plan-box{border:1.5px solid var(--jjd-border);border-radius:var(--jjd-r2);padding:2rem;background:var(--jjd-white);transition:var(--jjd-tr);}
.jjd-plan-box:hover{box-shadow:var(--jjd-sh2);}
/* FEATURED: solid violet card */
.jjd-plan-box.jjd-pb-feat{background:var(--jjd-violet);border-color:var(--jjd-violet);color:white;}
.jjd-pb-badge{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--jjd-muted);display:block;margin-bottom:.25rem;}
.jjd-plan-box.jjd-pb-feat .jjd-pb-badge{color:rgba(255,255,255,.4);}
.jjd-pb-nm{font-family:var(--jjd-fh);font-size:clamp(1.4rem,2.5vw,1.8rem);font-weight:800;color:var(--jjd-ink);display:block;margin-bottom:.1rem;}
.jjd-plan-box.jjd-pb-feat .jjd-pb-nm{color:white;}
.jjd-pb-tag{font-size:0.75rem;color:var(--jjd-muted);display:block;margin-bottom:1.5rem;line-height:1.5;}
.jjd-plan-box.jjd-pb-feat .jjd-pb-tag{color:rgba(255,255,255,.45);}
.jjd-pb-price{font-family:var(--jjd-fh);font-size:clamp(2rem,4vw,2.8rem);font-weight:800;color:var(--jjd-ink);display:block;line-height:1;}
.jjd-plan-box.jjd-pb-feat .jjd-pb-price{color:var(--jjd-yellow);}
.jjd-pb-pp{font-size:0.72rem;color:var(--jjd-muted);display:block;margin-bottom:1.5rem;}
.jjd-plan-box.jjd-pb-feat .jjd-pb-pp{color:rgba(255,255,255,.3);}
.jjd-pb-inc{border-top:1px solid var(--jjd-border);padding-top:1.2rem;display:flex;flex-direction:column;gap:.28rem;}
.jjd-plan-box.jjd-pb-feat .jjd-pb-inc{border-top-color:rgba(255,255,255,.15);}
.jjd-pb-li{display:flex;align-items:flex-start;gap:.38rem;font-size:clamp(0.72rem,1.1vw,0.82rem);color:var(--jjd-muted);}
.jjd-pb-li svg{color:var(--jjd-violet);flex-shrink:0;margin-top:.1rem;}
.jjd-plan-box.jjd-pb-feat .jjd-pb-li{color:rgba(255,255,255,.55);}
.jjd-plan-box.jjd-pb-feat .jjd-pb-li svg{color:var(--jjd-yellow);}

/* ── FAQ: Numbered accordion (large violet numbers) — unique! ── */
.jjd-ask{padding:5rem 2rem;background:var(--jjd-gray);border-top:1px solid var(--jjd-border);}
.jjd-ask-in{max-width:820px;margin:0 auto;}
.jjd-ask-h2{font-family:var(--jjd-fh);font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.02em;margin-bottom:1.5rem;}
.jjd-faq-item{border-bottom:1px solid var(--jjd-border);}
.jjd-faq-item:first-of-type{border-top:1px solid var(--jjd-border);}
.jjd-faq-toggle{width:100%;display:flex;align-items:center;gap:1.2rem;padding:.85rem 0;background:none;border:none;cursor:pointer;text-align:left;}
.jjd-faq-n{font-family:var(--jjd-fh);font-size:clamp(1rem,1.6vw,1.2rem);font-weight:800;color:var(--jjd-violet);opacity:.3;flex-shrink:0;width:2.2rem;transition:opacity .14s;}
.jjd-faq-item.jjd-fi-open .jjd-faq-n{opacity:1;}
.jjd-faq-q{font-family:var(--jjd-fb);font-size:clamp(0.88rem,1.4vw,1rem);font-weight:700;color:var(--jjd-ink);flex:1;line-height:1.35;transition:color .14s;}
.jjd-faq-toggle:hover .jjd-faq-q,.jjd-faq-item.jjd-fi-open .jjd-faq-q{color:var(--jjd-violet);}
.jjd-faq-ico{color:var(--jjd-muted);flex-shrink:0;transition:transform .22s;}
.jjd-faq-item.jjd-fi-open .jjd-faq-ico{transform:rotate(45deg);color:var(--jjd-violet);}
.jjd-faq-body{max-height:0;overflow:hidden;transition:max-height .34s cubic-bezier(.4,0,.2,1);}
.jjd-faq-body p{padding:0 3.4rem 1rem;font-size:clamp(0.78rem,1.2vw,0.9rem);color:var(--jjd-muted);line-height:1.82;}

/* ── CTA / ACTION BAND ── */
.jjd-action{padding:5rem 2rem;background:var(--jjd-violet);position:relative;overflow:hidden;}
.jjd-action::before{content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:rgba(247,186,74,.08);bottom:-200px;right:-150px;pointer-events:none;}
.jjd-action-in{max-width:var(--jjd-max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1;}
.jjd-act-h{font-family:var(--jjd-fh);font-size:clamp(2rem,4vw,3rem);font-weight:800;color:white;line-height:1.05;letter-spacing:-.02em;margin-bottom:.5rem;}
.jjd-act-h span{color:var(--jjd-yellow);}
.jjd-act-sub{font-size:clamp(0.85rem,1.4vw,1rem);color:rgba(255,255,255,.4);line-height:1.78;}
.jjd-act-form{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:var(--jjd-r2);padding:1.8rem;}

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

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

/* ── BUILDER: Tiles + FIXED BOTTOM BAR ── */
.jjd-builder-pg{background:var(--jjd-white);padding:3rem 0 7rem;}
.jjd-builder-in{max-width:var(--jjd-max);margin:0 auto;padding:0 2rem;}
.jjd-build-sec{background:white;border:1px solid var(--jjd-border);border-radius:var(--jjd-r2);padding:1.5rem;margin-bottom:1rem;}
.jjd-build-sec h3{font-family:var(--jjd-fh);font-size:clamp(0.95rem,1.6vw,1.1rem);font-weight:700;color:var(--jjd-ink);margin-bottom:.3rem;}
.jjd-build-sec > p{font-size:clamp(0.72rem,1.1vw,0.82rem);color:var(--jjd-muted);margin-bottom:1rem;}
/* Service TILES (2x3 or similar grid) */
.jjd-svc-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;}
.jjd-svc-tile{border:1.5px solid var(--jjd-border);border-radius:var(--jjd-r2);padding:1rem;cursor:pointer;transition:var(--jjd-tr);user-select:none;}
.jjd-svc-tile:hover{border-color:rgba(91,60,245,.4);}
.jjd-svc-tile.jjd-st-on{border-color:var(--jjd-violet);background:var(--jjd-violet-bg);}
.jjd-st-nm{font-family:var(--jjd-fb);font-size:clamp(0.78rem,1.2vw,0.88rem);font-weight:700;color:var(--jjd-ink);display:block;margin-bottom:.1rem;}
.jjd-st-pr{font-size:0.69rem;color:var(--jjd-muted);display:block;}
.jjd-svc-tile.jjd-st-on .jjd-st-pr{color:var(--jjd-violet);}
/* Extras as toggle rows */
.jjd-extra-list{display:flex;flex-direction:column;gap:.5rem;}
.jjd-extra-row{display:flex;align-items:center;gap:.8rem;padding:.65rem 1rem;border:1.5px solid var(--jjd-border);border-radius:var(--jjd-r);cursor:pointer;transition:var(--jjd-tr);}
.jjd-extra-row:hover{border-color:var(--jjd-violet);}
.jjd-extra-row.jjd-er-on{border-color:var(--jjd-violet);background:var(--jjd-violet-bg);}
.jjd-er-tog{width:34px;height:20px;border-radius:10px;background:var(--jjd-gray2);flex-shrink:0;position:relative;transition:background .15s;}
.jjd-er-tog::after{content:'';position:absolute;width:14px;height:14px;border-radius:50%;background:white;top:3px;left:3px;transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.15);}
.jjd-extra-row.jjd-er-on .jjd-er-tog{background:var(--jjd-violet);}
.jjd-extra-row.jjd-er-on .jjd-er-tog::after{transform:translateX(14px);}
.jjd-er-nm{flex:1;font-size:clamp(0.82rem,1.3vw,0.92rem);font-weight:600;color:var(--jjd-ink);}
.jjd-er-pr{font-size:clamp(0.78rem,1.2vw,0.88rem);font-weight:700;color:var(--jjd-muted);}
.jjd-extra-row.jjd-er-on .jjd-er-pr{color:var(--jjd-violet);}
/* +/- stepper for hours */
.jjd-hrs-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.jjd-hrs-stepper{display:flex;align-items:center;gap:.6rem;}
.jjd-hs-btn{width:36px;height:36px;border-radius:50%;border:2px solid var(--jjd-border);background:white;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--jjd-tr);color:var(--jjd-ink);}
.jjd-hs-btn:hover{border-color:var(--jjd-violet);color:var(--jjd-violet);}
.jjd-hs-val{font-family:var(--jjd-fh);font-size:2rem;font-weight:800;color:var(--jjd-ink);min-width:2.5ch;text-align:center;line-height:1;}
.jjd-hrs-info{font-size:0.78rem;color:var(--jjd-muted);}

/* FIXED BOTTOM BAR (unique!) */
.jjd-build-bar{
    position:fixed;bottom:0;left:0;right:0;z-index:450;
    background:var(--jjd-violet);
    border-top:2px solid var(--jjd-yellow);
    transform:translateY(100%);
    transition:transform .3s cubic-bezier(.4,0,.2,1);
    box-shadow:0 -8px 32px rgba(91,60,245,.2);
}
.jjd-build-bar.jjd-bb-on{transform:translateY(0);}
.jjd-bb-in{max-width:var(--jjd-max);margin:0 auto;padding:.7rem 2rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap;}
.jjd-bb-summary{flex:1;min-width:0;}
.jjd-bb-svc-nm{font-family:var(--jjd-fh);font-size:clamp(0.82rem,1.3vw,0.95rem);font-weight:700;color:white;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.jjd-bb-extras-nm{font-size:0.72rem;color:rgba(255,255,255,.3);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.jjd-bb-center{flex-shrink:0;text-align:center;}
.jjd-bb-lbl{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.3);display:block;}
.jjd-bb-total{font-family:var(--jjd-fh);font-size:clamp(1.4rem,2.5vw,2rem);font-weight:800;color:var(--jjd-yellow);display:block;line-height:1;}
.jjd-bb-go{font-family:var(--jjd-fh);font-size:clamp(0.88rem,1.4vw,1rem);font-weight:700;background:var(--jjd-yellow);color:var(--jjd-ink);border:none;border-radius:var(--jjd-r3);padding:.5rem 1.8rem;cursor:pointer;transition:var(--jjd-tr);flex-shrink:0;}
.jjd-bb-go:hover:not(:disabled){background:#FFD060;}
.jjd-bb-go:disabled{opacity:.25;cursor:not-allowed;}

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

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

/* ── BUTTONS ── */
.jjd-btn-violet{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--jjd-fb);font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:700;color:white;background:var(--jjd-violet);padding:.5rem 1.6rem;border-radius:var(--jjd-r3);border:none;cursor:pointer;transition:var(--jjd-tr);text-decoration:none;white-space:nowrap;}
.jjd-btn-violet:hover{background:var(--jjd-violet-l);}
.jjd-btn-yellow{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--jjd-fb);font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:700;color:var(--jjd-ink);background:var(--jjd-yellow);padding:.5rem 1.6rem;border-radius:var(--jjd-r3);border:none;cursor:pointer;transition:var(--jjd-tr);text-decoration:none;white-space:nowrap;}
.jjd-btn-yellow:hover{background:#FFD060;}
.jjd-btn-out{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--jjd-fb);font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:700;color:var(--jjd-ink);background:transparent;padding:.48rem 1.6rem;border-radius:var(--jjd-r3);border:2px solid var(--jjd-border);transition:var(--jjd-tr);text-decoration:none;white-space:nowrap;}
.jjd-btn-out:hover{border-color:var(--jjd-violet);color:var(--jjd-violet);}
.jjd-btn-out-w{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--jjd-fb);font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:700;color:rgba(255,255,255,.55);background:transparent;padding:.48rem 1.6rem;border-radius:var(--jjd-r3);border:1.5px solid rgba(255,255,255,.2);transition:var(--jjd-tr);text-decoration:none;white-space:nowrap;}
.jjd-btn-out-w:hover{border-color:rgba(255,255,255,.6);color:white;}

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

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

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

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .jjd-pill-links,.jjd-pill-util .jjd-btn-violet{display:none;}
  .jjd-pill-mob-btn{display:flex;}
  .jjd-intro{padding-top:6rem;}
  .jjd-offer-grid,.jjd-proj-grid,.jjd-plan-trio,.jjd-svc-tiles{grid-template-columns:1fr 1fr;}
  .jjd-method-row{grid-template-columns:auto 1fr;}
  .jjd-mr-img{display:none;}
  .jjd-action-in,.jjd-co-grid{grid-template-columns:1fr;}
  .jjd-svc-body{grid-template-columns:1fr;}
  .jjd-footer-top{grid-template-columns:1fr 1fr;}
  .jjd-review-row{grid-template-columns:auto 1fr;gap:1rem;}
  .jjd-rr-who{display:none;}
}
@media(max-width:640px){
  .jjd-frow{grid-template-columns:1fr;}
  .jjd-offer-grid,.jjd-proj-grid,.jjd-plan-trio,.jjd-svc-tiles{grid-template-columns:1fr;}
  .jjd-footer-top{grid-template-columns:1fr;}
  .jjd-bb-in{flex-direction:column;gap:1rem;padding:1rem;}
  .jjd-hero-h1{font-size:clamp(2rem,8vw,3rem);}
}
