/* kpcopywriting.com -- style.css
   Theme: Dark navy digital studio, copywriting agency, Taviano Lecce Puglia
   Nav: LEFT SIDEBAR FIXED (240px, collapses to mobile top bar) -- UNIQUE in series
   Hero: ASYMMETRIC FULL-VIEWPORT (text left + bento mini-service grid right) -- UNIQUE
   Services: BENTO IRREGULAR GRID -- UNIQUE
   Process: HORIZONTAL SCROLLING NUMBERED STEPS -- UNIQUE
   Testimonials: QUOTE WALL (2-col, masonry-like) -- UNIQUE
   Pricing: FEATURE COMPARISON TABLE (matrix rows+cols) -- UNIQUE
   Footer: WIDE SINGLE ROW -- UNIQUE
   Fonts: Unbounded (headings) + Archivo (body) -- UNIQUE in series
   Palette: #090D1E deep navy + #12F5DC electric teal + #EEF2FF soft white -- UNIQUE
   CSS prefix: kp-
   ---------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Unbounded:wght@300;400;500;600;700&family=Archivo:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap');

:root {
  --kp-void:   #090D1E;
  --kp-navy:   #0B1437;
  --kp-surf:   #121936;
  --kp-card:   #192040;
  --kp-card2:  #1E2848;
  --kp-teal:   #12F5DC;
  --kp-teal2:  #0DC9B5;
  --kp-tbg:    rgba(18,245,220,.07);
  --kp-tbg2:   rgba(18,245,220,.14);
  --kp-white:  #EEF2FF;
  --kp-white2: #BEC9E8;
  --kp-muted:  #7B8DB8;
  --kp-stone:  #4A5A80;
  --kp-edge:   rgba(18,245,220,.12);
  --kp-edge2:  rgba(18,245,220,.22);
  --kp-edgew:  rgba(238,242,255,.1);
  --kp-edgew2: rgba(238,242,255,.18);
  --kp-sb:     240px;
  --kp-max:    1120px;
  --kp-ease:   all 0.22s cubic-bezier(.4,0,.2,1);
  --kp-fh:     'Unbounded', system-ui, sans-serif;
  --kp-fb:     'Archivo', system-ui, sans-serif;
  --kp-r:      6px;
  --kp-r2:     14px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{background:var(--kp-void);color:var(--kp-white);font-family:var(--kp-fb);font-size:1rem;line-height:1.7;overflow-x:hidden;}
img,svg{display:block;max-width:100%;}
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;font-size:1rem;}
address{font-style:normal;}
h1,h2,h3,h4{font-family:var(--kp-fh);line-height:1.08;}
h1{font-size:clamp(2.2rem,4vw,4.5rem);font-weight:600;letter-spacing:-.03em;}
h2{font-size:clamp(1.6rem,2.8vw,2.8rem);font-weight:500;letter-spacing:-.025em;}
h3{font-size:clamp(.95rem,1.4vw,1.2rem);font-weight:500;letter-spacing:-.01em;}
h4{font-size:.8rem;font-weight:600;font-family:var(--kp-fb);}
p{font-size:.88rem;line-height:1.82;color:var(--kp-muted);}

/* ---- SIDEBAR LAYOUT (UNIQUE - never used in series) ---- */
/* Desktop: fixed 240px left sidebar, main content margin-left:240px */
.kp-layout{display:flex;min-height:100vh;}
.kp-sidebar{
  position:fixed;top:0;left:0;width:var(--kp-sb);height:100vh;
  background:var(--kp-navy);
  border-right:1px solid var(--kp-edge);
  display:flex;flex-direction:column;
  padding:1.75rem 0;
  z-index:500;overflow-y:auto;
  transition:transform .3s cubic-bezier(.4,0,.2,1);
}
.kp-canvas{
  margin-left:var(--kp-sb);
  flex:1;
  min-width:0;
}
.kp-sb-logo{padding:0 1.5rem 1.5rem;border-bottom:1px solid var(--kp-edge);}
.kp-sb-logo a{display:flex;align-items:center;gap:.55rem;}
.kp-sb-logo img{height:22px;width:auto;}
.kp-sb-bname{font-family:var(--kp-fh);font-size:.68rem;font-weight:600;color:var(--kp-white2);letter-spacing:.03em;}
/* Nav links */
.kp-sb-nav{flex:1;padding:1.5rem 0;}
.kp-sb-nav a{
  display:flex;align-items:center;gap:.65rem;
  font-family:var(--kp-fb);font-size:.93rem;font-weight:400;
  color:var(--kp-muted);
  padding:.55rem 1.5rem;
  transition:color .2s,background .2s;
  position:relative;
}
.kp-sb-nav a:hover,.kp-sb-nav a.kp-nav-on{color:var(--kp-white);}
.kp-sb-nav a.kp-nav-on::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:2px;
  background:var(--kp-teal);
}
.kp-sb-nav a svg{flex-shrink:0;color:var(--kp-stone);transition:color .2s;}
.kp-sb-nav a:hover svg,.kp-sb-nav a.kp-nav-on svg{color:var(--kp-teal);}
.kp-sb-nav .kp-nav-grp-h{
  font-family:var(--kp-fb);font-size:.52rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--kp-stone);padding:.35rem 1.5rem;margin-top:.5rem;
}
/* Bottom area of sidebar */
.kp-sb-bottom{padding:1.25rem 1.5rem;border-top:1px solid var(--kp-edge);}
.kp-sb-cta{
  display:block;text-align:center;
  font-family:var(--kp-fb);font-size:.76rem;font-weight:500;
  background:var(--kp-teal);color:var(--kp-void);
  padding:.58rem;border-radius:var(--kp-r);
  margin-bottom:.75rem;
  transition:var(--kp-ease);
}
.kp-sb-cta:hover{background:var(--kp-teal2);}
.kp-sb-lang-row{display:flex;align-items:center;justify-content:space-between;}
.kp-sb-lang{font-family:var(--kp-fb);font-size:.62rem;font-weight:600;letter-spacing:.06em;color:var(--kp-stone);border:1px solid var(--kp-edge);padding:.1rem .38rem;border-radius:3px;transition:var(--kp-ease);}
.kp-sb-lang:hover{color:var(--kp-teal);border-color:var(--kp-teal);}
.kp-sb-soc{display:flex;gap:.3rem;}
.kp-sb-soc a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:var(--kp-stone);transition:color .18s;}
.kp-sb-soc a:hover{color:var(--kp-teal);}
/* Mobile overlay */
.kp-sb-overlay{display:none;position:fixed;inset:0;background:rgba(9,13,30,.6);z-index:490;}
.kp-sb-overlay.kp-sbov-open{display:block;}
/* Mobile topbar */
.kp-topbar{
  display:none;align-items:center;justify-content:space-between;
  height:60px;padding:0 1.25rem;
  background:var(--kp-navy);
  border-bottom:1px solid var(--kp-edge);
  position:fixed;top:0;left:0;right:0;z-index:480;
}
.kp-topbar-brand{display:flex;align-items:center;gap:.45rem;}
.kp-topbar-brand img{height:18px;}
.kp-topbar-nm{font-family:var(--kp-fh);font-size:.7rem;font-weight:600;color:var(--kp-white2);}
.kp-topbar-burger{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--kp-white);cursor:pointer;}

/* Content container inside canvas */
.kp-wrap{max-width:var(--kp-max);margin:0 auto;padding:0 2.5rem;}
.kp-seg{padding:7rem 0;}
.kp-seg-sm{padding:4.5rem 0;}

/* ---- BUTTONS ---- */
.kp-btn-teal{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--kp-fb);font-size:.82rem;font-weight:500;background:var(--kp-teal);color:var(--kp-void);padding:.74rem 1.65rem;border-radius:var(--kp-r);transition:var(--kp-ease);white-space:nowrap;border:none;cursor:pointer;}
.kp-btn-teal:hover{background:var(--kp-teal2);transform:translateY(-1px);}
.kp-btn-ghost{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--kp-fb);font-size:.82rem;font-weight:500;color:var(--kp-white);padding:.72rem 1.6rem;border-radius:var(--kp-r);border:1px solid var(--kp-edgew2);background:transparent;transition:var(--kp-ease);white-space:nowrap;}
.kp-btn-ghost:hover{border-color:var(--kp-teal);color:var(--kp-teal);}
.kp-btn-ghost-dark{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--kp-fb);font-size:.82rem;font-weight:500;color:var(--kp-void);padding:.72rem 1.6rem;border-radius:var(--kp-r);border:1px solid rgba(9,13,30,.15);background:transparent;transition:var(--kp-ease);white-space:nowrap;}
.kp-btn-ghost-dark:hover{border-color:var(--kp-void);background:rgba(9,13,30,.06);}
.kp-kicker{display:block;font-family:var(--kp-fb);font-size:.52rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--kp-teal);margin-bottom:.55rem;}

/* ---- ASYMMETRIC HERO (UNIQUE) ---- */
/* Left: large text. Right: floating service bento cards */
.kp-hero{
  min-height:100vh;display:flex;align-items:center;
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--kp-void) 0%,var(--kp-navy) 100%);
}
/* Background texture */
.kp-hero::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(circle at 70% 50%,rgba(18,245,220,.04) 0%,transparent 60%);
  pointer-events:none;
}
.kp-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center;position:relative;z-index:1;}
.kp-hero-left{}
.kp-hero-eyebrow{display:inline-flex;align-items:center;gap:.42rem;font-family:var(--kp-fb);font-size:.54rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--kp-teal);background:var(--kp-tbg);border:1px solid var(--kp-edge);padding:.18rem .65rem;border-radius:2px;margin-bottom:1.25rem;}
.kp-hero-h1{color:var(--kp-white);margin-bottom:1.35rem;max-width:18ch;}
.kp-hero-h1 em{font-style:normal;color:var(--kp-teal);}
.kp-hero-sub{font-family:var(--kp-fb);font-size:.88rem;color:var(--kp-muted);max-width:38ch;line-height:1.8;margin-bottom:2.25rem;}
.kp-hero-acts{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;}
.kp-hero-meta{margin-top:3rem;display:flex;gap:2.5rem;}
.kp-hero-stat-n{font-family:var(--kp-fh);font-size:1.8rem;font-weight:600;color:var(--kp-teal);line-height:1;}
.kp-hero-stat-l{font-family:var(--kp-fb);font-size:.52rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--kp-stone);margin-top:.15rem;}
/* Right bento mini-service grid */
.kp-hero-right{position:relative;}
.kp-hero-bento{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;}
.kp-hb-card{background:var(--kp-card);border:1px solid var(--kp-edge);border-radius:var(--kp-r2);padding:1.35rem;transition:var(--kp-ease);cursor:pointer;text-decoration:none;}
.kp-hb-card:hover{border-color:var(--kp-teal);background:var(--kp-card2);}
.kp-hb-card.kp-hb-wide{grid-column:span 2;}
.kp-hb-ico{width:30px;height:30px;border-radius:var(--kp-r);background:var(--kp-tbg);color:var(--kp-teal);display:flex;align-items:center;justify-content:center;margin-bottom:.65rem;}
.kp-hb-nm{font-family:var(--kp-fh);font-size:.72rem;font-weight:500;color:var(--kp-white);margin-bottom:.2rem;line-height:1.3;}
.kp-hb-pr{font-family:var(--kp-fb);font-size:.65rem;color:var(--kp-teal);opacity:.7;}

/* ---- CLIENT LOGO STRIP ---- */
.kp-logos-strip{background:var(--kp-surf);border-top:1px solid var(--kp-edge);border-bottom:1px solid var(--kp-edge);}
.kp-logos-inner{padding:1.5rem 0;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.kp-logo-tag{font-family:var(--kp-fb);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--kp-stone);}

/* ---- SERVICES: BENTO IRREGULAR GRID ---- */
.kp-svc-sec{background:var(--kp-void);}
.kp-svc-bento{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem;}
.kp-svc-tile{
  background:var(--kp-surf);
  border:1px solid var(--kp-edge);
  border-radius:var(--kp-r2);overflow:hidden;
  transition:var(--kp-ease);
  display:flex;flex-direction:column;
  position:relative;
}
.kp-svc-tile:hover{border-color:var(--kp-edge2);}
.kp-svc-tile.kp-t-wide{grid-column:span 2;}
.kp-svc-tile-img{overflow:hidden;height:180px;}
.kp-svc-tile.kp-t-wide .kp-svc-tile-img{height:220px;}
.kp-svc-tile-img img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.55) saturate(.8);transition:filter .45s,transform .45s;}
.kp-svc-tile:hover .kp-svc-tile-img img{filter:brightness(.65) saturate(1);transform:scale(1.04);}
.kp-svc-tile-body{padding:1.4rem 1.5rem;flex:1;display:flex;flex-direction:column;}
.kp-svc-tile-ico{width:28px;height:28px;border-radius:var(--kp-r);background:var(--kp-tbg);color:var(--kp-teal);display:flex;align-items:center;justify-content:center;margin-bottom:.6rem;}
.kp-svc-tile-nm{font-family:var(--kp-fh);font-size:.88rem;color:var(--kp-white);margin-bottom:.3rem;}
.kp-svc-tile-tg{font-size:.74rem;color:var(--kp-muted);line-height:1.65;flex:1;}
.kp-svc-tile-foot{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--kp-edge);}
.kp-svc-tile-pr{font-family:var(--kp-fh);font-size:.75rem;color:var(--kp-teal);}
.kp-svc-tile-lnk{display:flex;align-items:center;gap:.28rem;font-size:.7rem;font-weight:500;color:var(--kp-stone);transition:color .2s,gap .2s;}
.kp-svc-tile:hover .kp-svc-tile-lnk{color:var(--kp-teal);gap:.45rem;}
/* Teal accent bar on left */
.kp-svc-tile::before{content:'';position:absolute;top:0;left:0;bottom:0;width:2px;background:var(--kp-teal);opacity:0;transition:opacity .25s;}
.kp-svc-tile:hover::before{opacity:1;}

/* ---- CASES ---- */
.kp-cases-sec{background:var(--kp-surf);}
.kp-cases-list{display:flex;flex-direction:column;gap:1px;}
.kp-case-row{
  display:grid;grid-template-columns:1fr 1.4fr;
  gap:0;background:var(--kp-card);
  border:1px solid var(--kp-edge);
  border-radius:var(--kp-r2);overflow:hidden;margin-bottom:1rem;
  transition:var(--kp-ease);
}
.kp-case-row:hover{border-color:var(--kp-edge2);}
.kp-case-img img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.6) saturate(.8);transition:filter .4s;min-height:240px;}
.kp-case-row:hover .kp-case-img img{filter:brightness(.7) saturate(1);}
.kp-case-body{padding:2.5rem;}
.kp-case-tag{font-family:var(--kp-fb);font-size:.52rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--kp-teal);margin-bottom:.5rem;}
.kp-case-nm{font-family:var(--kp-fh);font-size:1.15rem;color:var(--kp-white);margin-bottom:.65rem;}
.kp-case-p{font-size:.8rem;color:var(--kp-muted);line-height:1.75;}
.kp-case-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.85rem;}
.kp-case-badge{font-size:.52rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--kp-edge);color:var(--kp-stone);padding:.1rem .42rem;border-radius:3px;}

/* ---- PROCESS: HORIZONTAL SCROLLING STEPS (UNIQUE) ---- */
.kp-proc-sec{background:var(--kp-void);}
.kp-proc-scroll{overflow-x:auto;padding-bottom:1rem;}
.kp-proc-scroll::-webkit-scrollbar{height:2px;}
.kp-proc-scroll::-webkit-scrollbar-track{background:var(--kp-surf);}
.kp-proc-scroll::-webkit-scrollbar-thumb{background:var(--kp-teal);border-radius:1px;}
.kp-proc-track{display:flex;gap:1rem;min-width:max-content;padding:.25rem 0;}
.kp-proc-step{
  width:260px;background:var(--kp-card);
  border:1px solid var(--kp-edge);border-radius:var(--kp-r2);
  padding:1.75rem;flex-shrink:0;
  position:relative;
}
.kp-proc-step::after{
  content:'';position:absolute;top:50%;right:-1rem;
  width:1rem;height:1px;background:var(--kp-edge);
  display:none;/* shown via JS for non-last */
}
.kp-proc-num{font-family:var(--kp-fh);font-size:2rem;font-weight:700;color:var(--kp-teal);opacity:.18;line-height:1;margin-bottom:.75rem;}
.kp-proc-h{font-family:var(--kp-fh);font-size:.88rem;color:var(--kp-white);margin-bottom:.45rem;}
.kp-proc-p{font-size:.76rem;color:var(--kp-muted);line-height:1.72;}
.kp-proc-img{margin-top:1.25rem;border-radius:var(--kp-r);overflow:hidden;height:120px;}
.kp-proc-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.5);}

/* ---- TESTIMONIALS: QUOTE WALL (2 COLUMNS) ---- */
.kp-voices-sec{background:var(--kp-surf);}
.kp-qt-wall{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem;}
.kp-qt-block{background:var(--kp-card);border:1px solid var(--kp-edge);border-radius:var(--kp-r2);padding:1.75rem;}
.kp-qt-block.kp-qt-featured{border-color:var(--kp-teal);background:var(--kp-tbg);}
.kp-qt-ico{color:var(--kp-teal);opacity:.3;margin-bottom:1rem;}
.kp-qt-stars{display:flex;gap:.15rem;color:var(--kp-teal);margin-bottom:.85rem;}
.kp-qt-q{font-family:var(--kp-fh);font-style:italic;font-size:.92rem;color:var(--kp-white);line-height:1.55;margin-bottom:1rem;font-weight:400;}
.kp-qt-who{font-family:var(--kp-fb);font-size:.72rem;color:var(--kp-muted);}
.kp-qt-init{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--kp-tbg);border:1px solid var(--kp-edge);font-family:var(--kp-fh);font-size:.65rem;font-weight:600;color:var(--kp-teal);margin-right:.55rem;flex-shrink:0;}

/* ---- PRICING: COMPARISON TABLE (UNIQUE) ---- */
.kp-pricing-sec{background:var(--kp-void);}
.kp-pricing-head{margin-bottom:3rem;}
.kp-table-wrap{overflow-x:auto;}
.kp-ptable{width:100%;border-collapse:collapse;}
.kp-ptable th{
  padding:1.5rem 1.25rem;text-align:left;
  border-bottom:1px solid var(--kp-edge);
}
.kp-ptable th:first-child{font-family:var(--kp-fb);font-size:.52rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--kp-stone);width:200px;}
.kp-pkg-th{vertical-align:top;}
.kp-pkg-th .kp-pkg-badge{display:inline-flex;font-size:.52rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;background:var(--kp-tbg);color:var(--kp-teal);padding:.08rem .42rem;border-radius:100px;margin-bottom:.45rem;border:1px solid var(--kp-edge);}
.kp-pkg-th .kp-pkg-nm{font-family:var(--kp-fh);font-size:1rem;font-weight:500;color:var(--kp-white);margin-bottom:.2rem;}
.kp-pkg-th .kp-pkg-pr{font-family:var(--kp-fh);font-size:1.6rem;color:var(--kp-teal);}
.kp-pkg-th .kp-pkg-unit{font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--kp-stone);}
.kp-ptable th.kp-col-feat{background:var(--kp-tbg);border-radius:var(--kp-r) var(--kp-r) 0 0;border-left:1px solid var(--kp-edge);border-right:1px solid var(--kp-edge);}
.kp-ptable td{
  padding:.85rem 1.25rem;font-size:.8rem;color:var(--kp-muted);
  border-bottom:1px solid rgba(18,245,220,.05);
  vertical-align:middle;
}
.kp-ptable td:first-child{color:var(--kp-white2);font-size:.78rem;}
.kp-ptable td.kp-col-feat{background:var(--kp-tbg);border-left:1px solid var(--kp-edge);border-right:1px solid var(--kp-edge);}
.kp-ptable tr:last-child td.kp-col-feat{border-bottom:1px solid var(--kp-edge);border-radius:0 0 var(--kp-r) var(--kp-r);}
.kp-ptable .kp-pt-yes{color:var(--kp-teal);}
.kp-ptable .kp-pt-no{color:var(--kp-stone);}
.kp-ptable .kp-pt-cta td{padding:1.25rem 1.25rem;}
.kp-pkg-cta-btn{display:inline-block;font-family:var(--kp-fb);font-size:.78rem;font-weight:500;padding:.62rem 1.2rem;border-radius:var(--kp-r);transition:var(--kp-ease);text-align:center;width:100%;}
.kp-cta-ghost-t{border:1px solid var(--kp-edge);color:var(--kp-muted);}
.kp-cta-ghost-t:hover{border-color:var(--kp-teal);color:var(--kp-teal);}
.kp-cta-teal-full{background:var(--kp-teal);color:var(--kp-void);}
.kp-cta-teal-full:hover{background:var(--kp-teal2);}

/* ---- FAQ ---- */
.kp-faq-sec{background:var(--kp-surf);}
.kp-faq-wrap{max-width:720px;}
.kp-faq-item{border-bottom:1px solid var(--kp-edge);}
.kp-faq-item.kp-fq-on{border-bottom-color:var(--kp-teal);}
.kp-faq-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 0;font-family:var(--kp-fh);font-size:.88rem;font-weight:400;color:var(--kp-white2);text-align:left;cursor:pointer;transition:color .2s;}
.kp-faq-btn:hover,.kp-faq-item.kp-fq-on .kp-faq-btn{color:var(--kp-teal);}
.kp-faq-chev{color:var(--kp-stone);transition:transform .25s;flex-shrink:0;}
.kp-faq-item.kp-fq-on .kp-faq-chev{transform:rotate(180deg);color:var(--kp-teal);}
.kp-faq-panel{max-height:0;overflow:hidden;transition:max-height .38s ease;}
.kp-faq-item.kp-fq-on .kp-faq-panel{max-height:500px;}
.kp-faq-body{padding:0 0 1rem;font-size:.84rem;color:var(--kp-muted);line-height:1.82;}

/* ---- CTA BAND ---- */
.kp-cta-band{background:linear-gradient(135deg,var(--kp-teal) 0%,var(--kp-teal2) 100%);}
.kp-cta-inner{max-width:640px;margin:0 auto;text-align:center;padding:6.5rem 2.5rem;}
.kp-cta-inner h2{font-family:var(--kp-fh);font-size:clamp(1.8rem,3.5vw,3rem);color:var(--kp-void);margin-bottom:.8rem;font-weight:700;}
.kp-cta-inner p{color:rgba(9,13,30,.5);margin-bottom:2.5rem;}
.kp-cta-acts{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;}

/* ---- PAGE CROWN ---- */
.kp-crown{background:var(--kp-navy);padding:6rem 0 4.5rem;border-bottom:1px solid var(--kp-edge);}
.kp-crown-inner{max-width:var(--kp-max);margin:0 auto;padding:0 2.5rem;text-align:center;}
.kp-crown-eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--kp-fb);font-size:.52rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--kp-teal);background:var(--kp-tbg);border:1px solid var(--kp-edge);padding:.18rem .65rem;border-radius:2px;margin-bottom:1.1rem;}
.kp-crown h1{color:var(--kp-white);max-width:22ch;margin:0 auto;}
.kp-crown-sub{font-family:var(--kp-fb);font-size:.88rem;color:var(--kp-muted);max-width:50ch;margin:.65rem auto 0;}

/* ---- SERVICE PAGE ---- */
.kp-svcp-frame{max-width:var(--kp-max);margin:0 auto;padding:5rem 2.5rem;display:grid;grid-template-columns:1fr 260px;gap:5rem;align-items:start;}
.kp-svcp-body h2{font-family:var(--kp-fh);font-size:1.4rem;color:var(--kp-white);margin:2.5rem 0 .85rem;}
.kp-svcp-body p{margin-bottom:1rem;}
.kp-svcp-inc{display:flex;flex-direction:column;gap:.42rem;margin-bottom:2rem;}
.kp-svcp-li{display:flex;align-items:center;gap:.48rem;font-size:.84rem;color:var(--kp-white2);}
.kp-svcp-li svg{color:var(--kp-teal);flex-shrink:0;}
.kp-svcp-note{background:var(--kp-tbg);border-left:2.5px solid var(--kp-teal);border-radius:0 var(--kp-r) var(--kp-r) 0;padding:1rem 1.2rem;font-size:.82rem;color:var(--kp-white2);line-height:1.7;}
.kp-svcp-aside{position:sticky;top:1.5rem;}
.kp-aside-card{background:var(--kp-card);border:1px solid var(--kp-edge);border-radius:var(--kp-r2);overflow:hidden;margin-bottom:1rem;}
.kp-aside-img img{width:100%;height:160px;object-fit:cover;display:block;filter:brightness(.6);}
.kp-aside-body{padding:1.35rem;}
.kp-aside-nm{font-family:var(--kp-fb);font-size:.8rem;color:var(--kp-muted);margin-bottom:.15rem;}
.kp-aside-pr{font-family:var(--kp-fh);font-size:2rem;font-weight:600;color:var(--kp-teal);line-height:1;}
.kp-aside-unit{font-size:.52rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--kp-stone);margin-bottom:1.2rem;}
.kp-aside-acts{display:flex;flex-direction:column;gap:.5rem;}

/* ---- BUILDER ---- */
.kp-bld-frame{max-width:var(--kp-max);margin:0 auto;padding:5rem 2.5rem;display:grid;grid-template-columns:1fr 260px;gap:4.5rem;align-items:start;}
.kp-bld-step{margin-bottom:2.75rem;}
.kp-bld-kicker{display:block;font-family:var(--kp-fb);font-size:.52rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--kp-teal);margin-bottom:.85rem;}
.kp-bld-rows{display:flex;flex-direction:column;gap:.45rem;}
.kp-bld-row{background:var(--kp-card);border:1px solid var(--kp-edge);border-radius:var(--kp-r);padding:.8rem 1rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:var(--kp-ease);user-select:none;}
.kp-bld-row:hover{border-color:var(--kp-edge2);}
.kp-bld-row.kp-sel{border-color:var(--kp-teal);background:var(--kp-tbg);}
.kp-bld-ico{width:28px;height:28px;border-radius:var(--kp-r);background:var(--kp-tbg);color:var(--kp-teal);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.kp-bld-nm{font-family:var(--kp-fb);font-size:.82rem;font-weight:400;color:var(--kp-white2);flex:1;}
.kp-bld-pr{font-size:.72rem;color:var(--kp-stone);flex-shrink:0;}
.kp-bld-tick{width:16px;height:16px;border-radius:3px;border:1px solid var(--kp-edge2);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--kp-ease);}
.kp-bld-row.kp-sel .kp-bld-tick{background:var(--kp-teal);border-color:var(--kp-teal);color:var(--kp-void);}
.kp-adn-chips{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;}
.kp-adn-chip{background:var(--kp-card);border:1px solid var(--kp-edge);border-radius:var(--kp-r);padding:.72rem .9rem;cursor:pointer;transition:var(--kp-ease);user-select:none;}
.kp-adn-chip:hover{border-color:var(--kp-edge2);}
.kp-adn-chip.kp-sel{border-color:var(--kp-teal);background:var(--kp-tbg);}
.kp-adn-nm{font-size:.76rem;font-weight:500;color:var(--kp-white2);}
.kp-adn-pr{font-size:.67rem;color:var(--kp-muted);margin-top:.05rem;}
.kp-adn-chip.kp-sel .kp-adn-pr{color:var(--kp-teal);}
.kp-hrs-box{background:var(--kp-card);border:1px solid var(--kp-edge);border-radius:var(--kp-r);padding:1.2rem 1.35rem;}
.kp-hrs-rng{-webkit-appearance:none;width:100%;height:3px;background:var(--kp-surf);border-radius:2px;margin-top:.65rem;}
.kp-hrs-rng::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--kp-teal);cursor:pointer;box-shadow:0 0 0 3px var(--kp-tbg);}
.kp-hrs-val{font-family:var(--kp-fh);font-size:1.4rem;color:var(--kp-teal);}
.kp-order-box{background:var(--kp-card);border:1px solid var(--kp-edge);border-radius:var(--kp-r2);overflow:hidden;position:sticky;top:1.5rem;}
.kp-ob-head{background:var(--kp-surf);padding:.85rem 1.35rem;border-bottom:1px solid var(--kp-edge);}
.kp-ob-head h3{font-family:var(--kp-fb);font-size:.52rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--kp-stone);}
.kp-ob-lines{padding:1.1rem 1.35rem;min-height:58px;}
.kp-ob-empty{font-size:.75rem;color:var(--kp-stone);font-style:italic;}
.kp-ob-line{display:flex;justify-content:space-between;gap:.7rem;font-size:.75rem;margin-bottom:.48rem;}
.kp-ob-lnm{color:var(--kp-muted);}
.kp-ob-lpr{font-family:var(--kp-fb);font-weight:500;color:var(--kp-white);}
.kp-ob-foot{border-top:1px solid var(--kp-edge);padding:1.1rem 1.35rem;}
.kp-ob-tot{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem;}
.kp-ob-totl{font-family:var(--kp-fb);font-size:.52rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--kp-muted);}
.kp-ob-totn{font-family:var(--kp-fh);font-size:2rem;font-weight:600;color:var(--kp-teal);}
.kp-ob-go{display:block;width:100%;text-align:center;background:var(--kp-teal);color:var(--kp-void);font-family:var(--kp-fb);font-size:.8rem;font-weight:500;padding:.78rem;border-radius:var(--kp-r);cursor:pointer;border:none;transition:var(--kp-ease);}
.kp-ob-go:hover:not(:disabled){background:var(--kp-teal2);}
.kp-ob-go:disabled{opacity:.2;cursor:not-allowed;}

/* ---- CHECKOUT ---- */
.kp-co-frame{max-width:820px;margin:0 auto;padding:5rem 2.5rem;display:grid;grid-template-columns:1fr 250px;gap:3.5rem;align-items:start;}
.kp-fld-lbl{display:block;font-family:var(--kp-fb);font-size:.54rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--kp-muted);margin-bottom:.4rem;}
.kp-fld{width:100%;background:var(--kp-card);border:1px solid var(--kp-edge);border-radius:var(--kp-r);padding:.62rem .9rem;color:var(--kp-white);font-size:.85rem;transition:border-color .2s;}
.kp-fld:focus{outline:none;border-color:var(--kp-teal);}
.kp-fld::placeholder{color:var(--kp-stone);}
.kp-fgrp{margin-bottom:1rem;}
.kp-fgrp-duo{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.kp-agree{display:flex;align-items:flex-start;gap:.5rem;font-size:.74rem;color:var(--kp-muted);line-height:1.55;margin:1.2rem 0;}
.kp-agree input{margin-top:.15rem;accent-color:var(--kp-teal);}
.kp-agree a{color:var(--kp-teal);}
.kp-co-panel{background:var(--kp-card);border:1px solid var(--kp-edge);border-radius:var(--kp-r2);overflow:hidden;position:sticky;top:1.5rem;}
.kp-co-ph{background:var(--kp-surf);padding:.82rem 1.2rem;border-bottom:1px solid var(--kp-edge);}
.kp-co-ph h3{font-family:var(--kp-fb);font-size:.52rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--kp-stone);}
.kp-co-pb{padding:1.1rem 1.2rem;}
.kp-co-line{display:flex;justify-content:space-between;gap:1rem;font-size:.74rem;margin-bottom:.45rem;}
.kp-co-nm{color:var(--kp-muted);}
.kp-co-pr{font-family:var(--kp-fb);font-weight:500;color:var(--kp-white);}
.kp-co-hr{border:none;border-top:1px solid var(--kp-edge);margin:.7rem 0;}
.kp-co-totr{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.55rem;}
.kp-co-totl{font-family:var(--kp-fb);font-size:.52rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--kp-muted);}
.kp-co-totn{font-family:var(--kp-fh);font-size:1.55rem;font-weight:600;color:var(--kp-teal);}

/* ---- LEGAL ---- */
.kp-docpage{max-width:740px;margin:0 auto;padding:5rem 2.5rem;}
.kp-docpage h2{font-family:var(--kp-fh);font-size:1.4rem;color:var(--kp-white);margin:2.5rem 0 .75rem;}
.kp-docpage h3{font-family:var(--kp-fb);font-size:.88rem;font-weight:600;color:var(--kp-white2);margin:1.4rem 0 .4rem;}
.kp-docpage p{font-size:.85rem;color:var(--kp-muted);line-height:1.82;margin-bottom:.85rem;}
.kp-docpage ul{padding-left:1.2rem;margin:.4rem 0 .9rem;display:flex;flex-direction:column;gap:.3rem;}
.kp-docpage li{font-size:.85rem;color:var(--kp-muted);list-style:disc;line-height:1.7;}
.kp-docpage a{color:var(--kp-teal);}
.kp-docpage address{font-style:normal;background:var(--kp-tbg);border-left:2.5px solid var(--kp-teal);padding:.9rem 1.1rem;margin:.85rem 0;border-radius:0 var(--kp-r) var(--kp-r) 0;font-size:.85rem;line-height:1.9;color:var(--kp-white2);}
.kp-docpage table{width:100%;border-collapse:collapse;font-size:.76rem;margin:.85rem 0 1.35rem;}
.kp-docpage th{background:var(--kp-card);color:var(--kp-white2);padding:.5rem .9rem;text-align:left;font-weight:600;font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--kp-edge);}
.kp-docpage td{padding:.5rem .9rem;border-bottom:1px solid var(--kp-edge);color:var(--kp-muted);vertical-align:top;}

/* ---- SINGLE ROW FOOTER (UNIQUE) ---- */
.kp-footer{background:var(--kp-navy);border-top:1px solid var(--kp-edge);}
.kp-footer-row{max-width:var(--kp-max);margin:0 auto;padding:3rem 2.5rem;display:grid;grid-template-columns:auto 1fr auto;gap:3rem;align-items:center;}
.kp-foot-brand{display:flex;align-items:center;gap:.5rem;flex-shrink:0;}
.kp-foot-brand img{height:18px;}
.kp-foot-bname{font-family:var(--kp-fh);font-size:.68rem;font-weight:500;color:var(--kp-stone);}
.kp-foot-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.8rem 1.5rem;}
.kp-foot-links a{font-size:.74rem;color:var(--kp-stone);transition:color .18s;}
.kp-foot-links a:hover{color:var(--kp-teal);}
.kp-foot-right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;flex-shrink:0;}
.kp-foot-soc{display:flex;gap:.38rem;}
.kp-foot-soc a{width:26px;height:26px;border-radius:var(--kp-r);background:var(--kp-surf);border:1px solid var(--kp-edge);display:flex;align-items:center;justify-content:center;color:var(--kp-stone);transition:var(--kp-ease);}
.kp-foot-soc a:hover{color:var(--kp-teal);border-color:var(--kp-teal);}
.kp-foot-ct{font-size:.67rem;color:var(--kp-stone);}
.kp-footer-bottom{border-top:1px solid rgba(18,245,220,.05);padding:1rem 2.5rem;max-width:var(--kp-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.kp-foot-copy{font-size:.62rem;color:var(--kp-stone);}
.kp-foot-legal{display:flex;gap:1rem;}
.kp-foot-legal a{font-size:.62rem;color:var(--kp-stone);transition:color .18s;}
.kp-foot-legal a:hover{color:var(--kp-teal);}
.kp-foot-note{font-size:.62rem;color:rgba(18,245,220,.25);}

/* ---- COOKIE + CHAT ---- */
.kp-cookie{position:fixed;bottom:1.5rem;left:calc(var(--kp-sb) + 1.5rem);z-index:9999;max-width:310px;background:var(--kp-card);border:1px solid var(--kp-edge);border-radius:var(--kp-r2);padding:1.2rem 1.4rem;box-shadow:0 8px 28px rgba(9,13,30,.4);display:none;}
.kp-cookie p{font-size:.74rem;color:var(--kp-muted);line-height:1.6;margin-bottom:.8rem;}
.kp-cookie-btns{display:flex;gap:.4rem;}
.kp-ck-yes{flex:1;background:var(--kp-teal);color:var(--kp-void);font-family:var(--kp-fb);font-size:.74rem;font-weight:500;padding:.44rem .8rem;border-radius:var(--kp-r);border:none;cursor:pointer;transition:var(--kp-ease);}
.kp-ck-yes:hover{background:var(--kp-teal2);}
.kp-ck-no{font-family:var(--kp-fb);font-size:.74rem;font-weight:500;color:var(--kp-muted);padding:.44rem .8rem;border-radius:var(--kp-r);border:1px solid var(--kp-edge);background:none;cursor:pointer;}
.kp-chat-btn{position:fixed;bottom:1.75rem;right:1.75rem;z-index:9990;width:44px;height:44px;border-radius:50%;background:var(--kp-teal);color:var(--kp-void);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(18,245,220,.25);cursor:pointer;border:none;transition:var(--kp-ease);}
.kp-chat-btn:hover{background:var(--kp-teal2);transform:scale(1.08);}
.kp-chatpane{position:fixed;bottom:5rem;right:1.75rem;z-index:9989;width:278px;background:var(--kp-card);border:1px solid var(--kp-edge);border-radius:var(--kp-r2);overflow:hidden;box-shadow:0 12px 40px rgba(9,13,30,.5);transform:translateY(10px);opacity:0;pointer-events:none;transition:opacity .22s,transform .22s;}
.kp-chatpane.kp-cp-open{opacity:1;pointer-events:auto;transform:translateY(0);}
.kp-chat-hd{background:var(--kp-surf);padding:.9rem 1.1rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--kp-edge);}
.kp-chat-ht{font-family:var(--kp-fh);font-size:.88rem;color:var(--kp-white);}
.kp-chat-hs{font-size:.62rem;color:var(--kp-stone);}
.kp-chat-xb{color:var(--kp-stone);cursor:pointer;border:none;background:none;}
.kp-chat-xb:hover{color:var(--kp-white);}
.kp-chat-bd{padding:1.1rem;}
.kp-chat-done{display:none;text-align:center;padding:1rem;font-size:.78rem;color:var(--kp-teal);font-weight:500;}
.kp-chat-inp{width:100%;background:var(--kp-surf);border:1px solid var(--kp-edge);border-radius:var(--kp-r);padding:.5rem .75rem;color:var(--kp-white);font-size:.77rem;margin-bottom:.5rem;resize:none;transition:border-color .2s;}
.kp-chat-inp::placeholder{color:var(--kp-stone);}
.kp-chat-inp:focus{outline:none;border-color:var(--kp-teal);}
.kp-chat-go{width:100%;background:var(--kp-teal);color:var(--kp-void);font-family:var(--kp-fb);font-size:.77rem;font-weight:500;padding:.5rem;border-radius:var(--kp-r);border:none;cursor:pointer;transition:var(--kp-ease);}
.kp-chat-go:hover{background:var(--kp-teal2);}

/* ---- RESULT PAGES ---- */
.kp-result-pg{min-height:75vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:5rem 2.5rem;}
.kp-ri{max-width:440px;}
.kp-ri-ico{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;}
.kp-ri-ok{background:var(--kp-tbg);color:var(--kp-teal);border:1px solid var(--kp-edge);}
.kp-ri-err{background:rgba(220,38,38,.08);color:#F87171;border:1px solid rgba(220,38,38,.18);}
.kp-ri h1{color:var(--kp-white);margin-bottom:.75rem;}
.kp-ri p{margin-bottom:1.75rem;}

/* ---- REVEAL ANIMATIONS ---- */
.kp-fade{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease;}
.kp-fade.kp-vis{opacity:1;transform:translateY(0);}
.kp-fade-l{opacity:0;transform:translateX(-14px);transition:opacity .5s ease,transform .5s ease;}
.kp-fade-l.kp-vis{opacity:1;transform:translateX(0);}
.kp-fade-r{opacity:0;transform:translateX(14px);transition:opacity .5s ease,transform .5s ease;}
.kp-fade-r.kp-vis{opacity:1;transform:translateX(0);}

/* ---- RESPONSIVE ---- */
@media(max-width:1060px){
  .kp-sidebar{transform:translateX(-100%);z-index:900;}
  .kp-sidebar.kp-sb-open{transform:translateX(0);}
  .kp-canvas{margin-left:0;}
  .kp-topbar{display:flex;}
  .kp-canvas > *:first-child{padding-top:60px;}
  .kp-cookie{left:1.5rem;}
  .kp-hero-grid{grid-template-columns:1fr;}
  .kp-hero-bento{display:none;}
  .kp-svc-bento{grid-template-columns:1fr 1fr;}
  .kp-svc-tile.kp-t-wide{grid-column:span 2;}
  .kp-case-row{grid-template-columns:1fr;}
  .kp-svcp-frame,.kp-bld-frame,.kp-co-frame{grid-template-columns:1fr;}
  .kp-footer-row{grid-template-columns:1fr;text-align:center;gap:1.5rem;}
  .kp-foot-right{align-items:center;}
  .kp-foot-links{justify-content:center;}
  .kp-qt-wall{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .kp-wrap{padding:0 1.25rem;}
  .kp-seg{padding:4.5rem 0;}
  .kp-svc-bento{grid-template-columns:1fr;}
  .kp-svc-tile.kp-t-wide{grid-column:span 1;}
  .kp-adn-chips{grid-template-columns:1fr;}
  .kp-fgrp-duo{grid-template-columns:1fr;}
  .kp-hero-meta{gap:1.5rem;}
}
