/* copywritingproject.com | style.css */
/* Sora (heading) + Plus Jakarta Sans (body) | Cobalt blue + sunny yellow palette */

:root{
  --cp-cobalt:   #1040D0;
  --cp-cobalt-d: #0B30A8;
  --cp-cobalt-bg:rgba(16,64,208,.06);
  --cp-cobalt-bg2:rgba(16,64,208,.12);
  --cp-yellow:   #F5C517;
  --cp-yellow-d: #D4A812;
  --cp-snow:     #F5F7FA;
  --cp-white:    #FFFFFF;
  --cp-ink:      #0C1524;
  --cp-ink2:     #2A3548;
  --cp-slate:    #5E7291;
  --cp-mist:     #A0AABB;
  --cp-edge:     #D4DCE8;
  --cp-edge2:    #E8EDF5;
  --cp-fh: 'Sora', system-ui, sans-serif;
  --cp-fb: 'Plus Jakarta Sans', system-ui, sans-serif;
  --cp-max: 1200px;
  --cp-r:  6px;
  --cp-r2: 12px;
  --cp-r3: 999px;
  --cp-sh:  0 2px 18px rgba(12,21,36,.07);
  --cp-sh2: 0 8px 50px rgba(12,21,36,.13);
  --cp-tr: all .15s ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--cp-fb);font-size:clamp(0.93rem,1.4vw,1rem);color:var(--cp-ink);background:var(--cp-snow);line-height:1.72;overflow-x:hidden;}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font-family:inherit;font-size:inherit;}
ul,ol{list-style:none;}

/* ─ Layout ─ */
.cp-shell{max-width:var(--cp-max);margin:0 auto;padding:0 2rem;}
.cp-shell-sm{max-width:820px;margin:0 auto;padding:0 2rem;}

/* ─ Eyebrow ─ */
.cp-eye{font-family:var(--cp-fh);font-size:0.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.32em;color:var(--cp-cobalt);display:block;margin-bottom:.5rem;}
.cp-eye--white{color:rgba(255,255,255,.5);}

/* ─ Headings ─ */
.cp-h1{font-family:var(--cp-fh);font-size:clamp(2.8rem,6vw,6rem);color:var(--cp-white);font-weight:800;letter-spacing:-.03em;line-height:.9;}
.cp-h2{font-family:var(--cp-fh);font-size:clamp(2.2rem,5vw,4.5rem);color:var(--cp-ink);font-weight:800;letter-spacing:-.03em;line-height:.9;}
.cp-h2--sm{font-size:clamp(1.8rem,3vw,2.8rem);}
.cp-sub{font-size:clamp(0.88rem,1.4vw,1rem);color:var(--cp-slate);line-height:1.78;max-width:60ch;}
.cp-pg-top{background:var(--cp-cobalt);padding:7rem 2rem 4rem;position:relative;overflow:hidden;}
.cp-pg-top::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:40px;background:var(--cp-snow);clip-path:ellipse(55% 100% at 50% 100%);}
.cp-pg-top h1{font-family:var(--cp-fh);font-size:clamp(2.5rem,6vw,5.5rem);color:var(--cp-white);font-weight:800;letter-spacing:-.03em;line-height:.9;text-align:center;max-width:16ch;margin:0 auto;}
.cp-pg-top .cp-sub{color:rgba(255,255,255,.6);text-align:center;margin:.8rem auto 0;}

/* ─ Buttons ─ */
.cp-btn-cobalt{display:inline-flex;align-items:center;gap:.4rem;background:var(--cp-cobalt);color:#fff;font-family:var(--cp-fh);font-size:clamp(0.85rem,1.3vw,0.94rem);font-weight:700;padding:.58rem 1.6rem;border-radius:var(--cp-r);border:none;cursor:pointer;transition:background .14s,transform .12s;white-space:nowrap;text-decoration:none;}
.cp-btn-cobalt:hover{background:var(--cp-cobalt-d);transform:translateY(-1px);}
.cp-btn-yellow{display:inline-flex;align-items:center;gap:.4rem;background:var(--cp-yellow);color:var(--cp-ink);font-family:var(--cp-fh);font-size:clamp(0.85rem,1.3vw,0.94rem);font-weight:700;padding:.58rem 1.6rem;border-radius:var(--cp-r);border:none;cursor:pointer;transition:background .14s,transform .12s;white-space:nowrap;text-decoration:none;}
.cp-btn-yellow:hover{background:var(--cp-yellow-d);transform:translateY(-1px);}
.cp-btn-ghost{display:inline-flex;align-items:center;gap:.4rem;background:transparent;color:var(--cp-ink);font-family:var(--cp-fh);font-size:clamp(0.85rem,1.3vw,0.94rem);font-weight:600;padding:.55rem 1.5rem;border-radius:var(--cp-r);border:1.5px solid var(--cp-edge);cursor:pointer;transition:var(--cp-tr);white-space:nowrap;text-decoration:none;}
.cp-btn-ghost:hover{border-color:var(--cp-cobalt);color:var(--cp-cobalt);}
.cp-link-co{color:var(--cp-cobalt);font-weight:700;font-size:clamp(0.82rem,1.2vw,0.9rem);display:inline-flex;align-items:center;gap:.3rem;transition:gap .14s;}
.cp-link-co:hover{gap:.5rem;}

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

/* ─ HEADER / MEGA MENU ─ */
.cp-nav{position:sticky;top:0;z-index:600;background:var(--cp-white);border-bottom:1.5px solid var(--cp-edge2);box-shadow:var(--cp-sh);}
.cp-nav-inner{max-width:var(--cp-max);margin:0 auto;padding:0 2rem;height:66px;display:flex;align-items:center;gap:1rem;}
.cp-logo{display:flex;align-items:baseline;gap:0;font-family:var(--cp-fh);font-size:clamp(1.4rem,2.2vw,1.75rem);font-weight:800;color:var(--cp-ink);letter-spacing:-.03em;line-height:1;white-space:nowrap;}
.cp-logo-cw{color:var(--cp-cobalt);}
.cp-logo-proj{color:var(--cp-ink);}
.cp-main-nav{display:flex;align-items:center;gap:0;margin-left:auto;}
.cp-nav-lnk,.cp-nav-btn{font-family:var(--cp-fh);font-size:clamp(0.88rem,1.3vw,1rem);font-weight:600;color:var(--cp-slate);padding:.5rem .75rem;border-radius:var(--cp-r);transition:var(--cp-tr);background:none;border:none;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:.2rem;}
.cp-nav-lnk:hover,.cp-nav-btn:hover,.cp-nav-on{color:var(--cp-cobalt);}
.cp-nav-item{position:relative;}
/* Mega menu */
.cp-mega{display:none;position:absolute;top:calc(100% + 8px);left:-20px;width:700px;background:var(--cp-white);border:1.5px solid var(--cp-edge2);border-radius:var(--cp-r2);box-shadow:var(--cp-sh2);z-index:800;}
.cp-nav-item:hover .cp-mega,.cp-has-mega:focus-within .cp-mega{display:block;}
.cp-mega-inner{padding:1.5rem;}
.cp-mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem;}
.cp-mega-tile{display:flex;align-items:flex-start;gap:.75rem;padding:.7rem;border-radius:var(--cp-r);text-decoration:none;transition:background .12s;}
.cp-mega-tile:hover{background:var(--cp-cobalt-bg);}
.cp-mega-ico{color:var(--cp-cobalt);flex-shrink:0;margin-top:.1rem;}
.cp-mega-nm{font-family:var(--cp-fh);font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:700;color:var(--cp-ink);margin-bottom:.1rem;}
.cp-mega-brief{font-size:0.72rem;color:var(--cp-slate);line-height:1.4;}
.cp-mega-foot{border-top:1.5px solid var(--cp-edge2);padding-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.cp-mega-all{font-size:clamp(0.78rem,1.1vw,0.86rem);font-weight:700;color:var(--cp-cobalt);display:inline-flex;align-items:center;gap:.3rem;}
.cp-mega-cta{font-family:var(--cp-fh);font-size:0.82rem;font-weight:700;background:var(--cp-cobalt);color:#fff;padding:.35rem 1rem;border-radius:var(--cp-r);transition:background .12s;}
.cp-mega-cta:hover{background:var(--cp-cobalt-d);}
/* Nav end */
.cp-nav-end{display:flex;align-items:center;gap:.6rem;margin-left:1rem;}
.cp-lang-tog{font-size:0.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;border:1.5px solid var(--cp-edge);border-radius:var(--cp-r3);padding:.2rem .6rem;color:var(--cp-slate);transition:var(--cp-tr);}
.cp-lang-tog:hover{border-color:var(--cp-cobalt);color:var(--cp-cobalt);}
.cp-nav-cta{font-family:var(--cp-fh);font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:700;background:var(--cp-cobalt);color:#fff;padding:.38rem 1.1rem;border-radius:var(--cp-r);transition:background .14s;white-space:nowrap;}
.cp-nav-cta:hover{background:var(--cp-cobalt-d);}
.cp-mob-tog{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:6px;}
.cp-mob-bar{display:block;height:2px;background:var(--cp-ink);border-radius:2px;transition:var(--cp-tr);}
.cp-mob-panel{display:none;background:var(--cp-white);border-top:1.5px solid var(--cp-edge2);padding:1.5rem 2rem 2rem;}
.cp-mob-panel.cp-mob-open{display:block;}
.cp-mob-nav{display:flex;flex-direction:column;gap:.6rem;}
.cp-mob-svc-head{font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--cp-mist);padding:.4rem 0;}
.cp-mob-svc-lnk{display:flex;align-items:center;gap:.5rem;font-size:0.95rem;font-weight:600;color:var(--cp-slate);padding:.3rem 0;transition:color .14s;}
.cp-mob-svc-lnk svg{color:var(--cp-cobalt);}
.cp-mob-svc-lnk:hover,.cp-mob-nav .cp-nav-lnk:hover{color:var(--cp-cobalt);}
.cp-nav-cta--mob{margin-top:.5rem;width:fit-content;}

/* ─ HERO: BENTO GRID cp-bento ─ */
.cp-bento-section{background:var(--cp-cobalt);padding:2rem 2rem 0;}
.cp-bento-grid{max-width:var(--cp-max);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:1rem;}
.cp-bento-main{background:var(--cp-cobalt);border-radius:var(--cp-r2) var(--cp-r2) 0 0;padding:4rem 3.5rem 3rem;position:relative;overflow:hidden;}
.cp-bento-main::after{content:'';position:absolute;bottom:-30px;right:-30px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.04);pointer-events:none;}
.cp-bento-eye{font-family:var(--cp-fh);font-size:0.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.3em;color:var(--cp-yellow);display:block;margin-bottom:1.5rem;}
.cp-bento-h1{font-family:var(--cp-fh);font-size:clamp(3.5rem,7vw,7rem);color:#fff;font-weight:800;letter-spacing:-.04em;line-height:.88;margin-bottom:1.5rem;}
.cp-bento-sub{font-size:clamp(0.9rem,1.5vw,1.05rem);color:rgba(255,255,255,.6);max-width:50ch;line-height:1.75;margin-bottom:2.5rem;}
.cp-bento-btns{display:flex;gap:.8rem;flex-wrap:wrap;}
.cp-bento-img{border-radius:0 var(--cp-r2) 0 0;overflow:hidden;position:relative;}
.cp-bento-img img{width:100%;height:100%;object-fit:cover;display:block;min-height:320px;}
.cp-bento-stats{grid-column:1/-1;background:var(--cp-yellow);border-radius:0 0 var(--cp-r2) var(--cp-r2);display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.cp-bento-stat{padding:1.5rem 2rem;border-right:1px solid rgba(12,21,36,.1);}
.cp-bento-stat:last-child{border-right:none;}
.cp-bento-stat-n{font-family:var(--cp-fh);font-size:clamp(1.6rem,3vw,2.5rem);font-weight:800;color:var(--cp-ink);display:block;line-height:1;}
.cp-bento-stat-l{font-size:0.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:rgba(12,21,36,.5);display:block;margin-top:.2rem;}
.cp-bento-below{height:3rem;background:var(--cp-cobalt);}

/* ─ MARQUEE ─ */
.cp-scroll-band{background:var(--cp-ink);overflow:hidden;padding:.8rem 0;}
.cp-scroll-run{display:flex;animation:cpRun 30s linear infinite;white-space:nowrap;}
.cp-scroll-it{font-family:var(--cp-fh);font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.25em;color:rgba(255,255,255,.25);padding:0 2rem;flex-shrink:0;}
.cp-scroll-dot{color:var(--cp-yellow);opacity:.6;}
@keyframes cpRun{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ─ SERVICES LIST cp-menu ─ */
.cp-menu{padding:6rem 0;background:var(--cp-white);}
.cp-menu-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem;flex-wrap:wrap;}
.cp-menu-list{display:flex;flex-direction:column;gap:0;}
.cp-menu-row{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:2rem;padding:1.8rem 0;border-bottom:1.5px solid var(--cp-edge2);text-decoration:none;transition:background .12s;cursor:pointer;position:relative;}
.cp-menu-row:first-child{border-top:1.5px solid var(--cp-edge2);}
.cp-menu-row:hover .cp-mr-arr{transform:translate(4px,-4px);}
.cp-mr-n{font-family:var(--cp-fh);font-size:clamp(2rem,4vw,3.5rem);font-weight:800;color:var(--cp-edge);line-height:1;}
.cp-mr-body h3{font-family:var(--cp-fh);font-size:clamp(1.1rem,2vw,1.5rem);font-weight:700;color:var(--cp-ink);margin-bottom:.2rem;}
.cp-mr-body p{font-size:clamp(0.78rem,1.2vw,0.88rem);color:var(--cp-slate);line-height:1.6;}
.cp-mr-pr{font-family:var(--cp-fh);font-size:clamp(0.88rem,1.4vw,1.05rem);font-weight:700;color:var(--cp-cobalt);white-space:nowrap;}
.cp-mr-arr{color:var(--cp-mist);transition:transform .16s;}

/* ─ CASES: alternating L/R cp-tunnel ─ */
.cp-tunnel{padding:6rem 0;background:var(--cp-snow);}
.cp-tunnel-hd{margin-bottom:3rem;}
.cp-tunnel-list{display:flex;flex-direction:column;gap:3rem;}
.cp-tunnel-item{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.cp-tunnel-item:nth-child(even){direction:rtl;}
.cp-tunnel-item:nth-child(even)>*{direction:ltr;}
.cp-ti-img{border-radius:var(--cp-r2);overflow:hidden;background:var(--cp-edge2);}
.cp-ti-img img{width:100%;height:320px;object-fit:cover;display:block;}
.cp-ti-body{padding:.5rem 0;}
.cp-ti-cat{font-size:0.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.25em;color:var(--cp-cobalt);display:block;margin-bottom:.3rem;}
.cp-ti-nm{font-family:var(--cp-fh);font-size:clamp(1.5rem,3vw,2.5rem);font-weight:800;color:var(--cp-ink);margin-bottom:.2rem;letter-spacing:-.02em;}
.cp-ti-loc{font-size:0.72rem;color:var(--cp-mist);display:block;margin-bottom:.3rem;}
.cp-ti-svc{font-size:0.78rem;font-weight:700;color:var(--cp-ink2);display:block;margin-bottom:.8rem;}
.cp-ti-stat{font-family:var(--cp-fh);font-size:clamp(2.5rem,5vw,5rem);font-weight:800;color:var(--cp-cobalt);display:block;line-height:1;letter-spacing:-.03em;}
.cp-ti-stat-l{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--cp-mist);display:block;margin-top:.1rem;}
.cp-ti-desc{font-size:clamp(0.82rem,1.3vw,0.92rem);color:var(--cp-slate);line-height:1.78;margin-top:.6rem;}

/* ─ PROCESS cp-phases ─ */
.cp-phases{padding:6rem 0;background:var(--cp-cobalt);}
.cp-phases-hd{margin-bottom:3rem;}
.cp-phases-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.08);}
.cp-ph{background:var(--cp-cobalt);padding:2.5rem 2rem;}
.cp-ph:hover{background:var(--cp-cobalt-d);}
.cp-ph-n{font-family:var(--cp-fh);font-size:clamp(3rem,6vw,5rem);font-weight:800;color:rgba(255,255,255,.08);line-height:1;display:block;margin-bottom:.5rem;}
.cp-ph-ico{color:var(--cp-yellow);margin-bottom:.5rem;}
.cp-ph-nm{font-family:var(--cp-fh);font-size:clamp(1.1rem,1.8vw,1.3rem);font-weight:700;color:#fff;margin-bottom:.4rem;}
.cp-ph-body{font-size:clamp(0.78rem,1.2vw,0.88rem);color:rgba(255,255,255,.5);line-height:1.72;}

/* ─ TESTIMONIALS cp-speak ─ */
.cp-speak{padding:6rem 0;background:var(--cp-white);}
.cp-speak-hd{margin-bottom:3rem;}
.cp-speak-feat{background:var(--cp-cobalt-bg);border:1.5px solid var(--cp-cobalt-bg2);border-radius:var(--cp-r2);padding:3rem;margin-bottom:2rem;}
.cp-speak-feat-q{font-family:var(--cp-fh);font-size:clamp(1.4rem,2.5vw,2rem);font-weight:700;color:var(--cp-ink);letter-spacing:-.02em;line-height:1.3;margin-bottom:1.5rem;}
.cp-speak-feat-who{font-weight:700;font-size:clamp(0.88rem,1.4vw,1rem);color:var(--cp-ink);display:block;}
.cp-speak-feat-role{font-size:0.72rem;color:var(--cp-slate);display:block;margin-top:.1rem;}
.cp-speak-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.cp-speak-card{background:var(--cp-snow);border:1.5px solid var(--cp-edge2);border-radius:var(--cp-r2);padding:2rem;display:flex;flex-direction:column;gap:.8rem;}
.cp-speak-stars{display:flex;gap:2px;color:var(--cp-cobalt);}
.cp-speak-q{font-size:clamp(0.85rem,1.3vw,0.95rem);color:var(--cp-ink2);line-height:1.65;flex:1;font-style:italic;}
.cp-speak-who{font-weight:700;font-size:0.82rem;color:var(--cp-ink);display:block;}
.cp-speak-role{font-size:0.68rem;color:var(--cp-mist);display:block;margin-top:.1rem;}

/* ─ PRICING cp-plans ─ */
.cp-plans{padding:6rem 0;background:var(--cp-snow);}
.cp-plans-hd{margin-bottom:2.5rem;}
.cp-plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.cp-plan{background:var(--cp-white);border:1.5px solid var(--cp-edge2);border-radius:var(--cp-r2);padding:2.5rem 2rem;display:flex;flex-direction:column;position:relative;transition:var(--cp-tr);}
.cp-plan:hover{box-shadow:var(--cp-sh2);}
.cp-plan.cp-plan-feat{background:var(--cp-cobalt);border-color:var(--cp-cobalt);}
.cp-plan-badge{font-size:0.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--cp-cobalt);display:block;margin-bottom:.4rem;}
.cp-plan-feat .cp-plan-badge{color:var(--cp-yellow);}
.cp-plan-nm{font-family:var(--cp-fh);font-size:clamp(1.8rem,3vw,2.2rem);font-weight:800;color:var(--cp-ink);display:block;margin-bottom:.3rem;}
.cp-plan-feat .cp-plan-nm{color:#fff;}
.cp-plan-tag{font-size:0.78rem;color:var(--cp-slate);display:block;margin-bottom:1.2rem;padding-bottom:1.2rem;border-bottom:1.5px solid var(--cp-edge2);}
.cp-plan-feat .cp-plan-tag{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.12);}
.cp-plan-pr{font-family:var(--cp-fh);font-size:clamp(2.5rem,5vw,4rem);font-weight:800;color:var(--cp-cobalt);display:block;line-height:1;letter-spacing:-.03em;}
.cp-plan-feat .cp-plan-pr{color:var(--cp-yellow);}
.cp-plan-pp{font-size:0.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--cp-mist);display:block;margin-bottom:1.5rem;}
.cp-plan-feat .cp-plan-pp{color:rgba(255,255,255,.35);}
.cp-plan-list{display:flex;flex-direction:column;gap:.3rem;flex:1;margin-bottom:1.5rem;}
.cp-plan-li{display:flex;align-items:flex-start;gap:.35rem;font-size:clamp(0.75rem,1.1vw,0.84rem);color:var(--cp-slate);}
.cp-plan-li svg{color:var(--cp-cobalt);flex-shrink:0;margin-top:.1rem;}
.cp-plan-feat .cp-plan-li{color:rgba(255,255,255,.6);}
.cp-plan-feat .cp-plan-li svg{color:var(--cp-yellow);}
.cp-plan-cta{width:100%;font-family:var(--cp-fh);font-size:clamp(0.85rem,1.2vw,0.92rem);font-weight:700;padding:.55rem;border-radius:var(--cp-r);border:1.5px solid var(--cp-edge);background:transparent;color:var(--cp-ink);cursor:pointer;transition:var(--cp-tr);}
.cp-plan-cta:hover:not(.cp-plan-cta--y){background:var(--cp-cobalt);border-color:var(--cp-cobalt);color:#fff;}
.cp-plan-cta--y{background:var(--cp-yellow);border-color:var(--cp-yellow);color:var(--cp-ink);}
.cp-plan-cta--y:hover{background:var(--cp-yellow-d);border-color:var(--cp-yellow-d);}

/* ─ FAQ: TABBED cp-folds ─ */
.cp-folds{padding:6rem 0;background:var(--cp-white);}
.cp-folds-hd{margin-bottom:2.5rem;}
.cp-tabs{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap;}
.cp-tab{font-family:var(--cp-fh);font-size:clamp(0.78rem,1.2vw,0.88rem);font-weight:700;padding:.45rem 1.1rem;border-radius:var(--cp-r3);border:1.5px solid var(--cp-edge);background:transparent;color:var(--cp-slate);cursor:pointer;transition:var(--cp-tr);}
.cp-tab:hover{border-color:var(--cp-cobalt);color:var(--cp-cobalt);}
.cp-tab.cp-tab-active{background:var(--cp-cobalt);border-color:var(--cp-cobalt);color:#fff;}
.cp-tab-panel{display:none;}
.cp-tab-panel.cp-tab-show{display:block;}
.cp-faq-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 4rem;}
.cp-fq{border-bottom:1.5px solid var(--cp-edge2);}
.cp-fq-trig{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 0;background:none;border:none;cursor:pointer;text-align:left;}
.cp-fq-q{font-family:var(--cp-fh);font-size:clamp(0.88rem,1.4vw,1rem);font-weight:700;color:var(--cp-ink);}
.cp-fq-ico{flex-shrink:0;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--cp-edge);display:flex;align-items:center;justify-content:center;color:var(--cp-mist);transition:var(--cp-tr);}
.cp-fq.cp-fq-open .cp-fq-ico{background:var(--cp-cobalt);border-color:var(--cp-cobalt);color:#fff;}
.cp-fq-ans{display:none;padding-bottom:1.2rem;}
.cp-fq-ans p{font-size:clamp(0.82rem,1.3vw,0.9rem);color:var(--cp-slate);line-height:1.8;}
.cp-fq.cp-fq-open .cp-fq-ans{display:block;}

/* ─ CTA REACH cp-reach ─ */
.cp-reach{padding:7rem 0;background:var(--cp-cobalt);}
.cp-reach-in{max-width:var(--cp-max);margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.cp-reach-left h2{font-family:var(--cp-fh);font-size:clamp(2.5rem,5vw,5rem);font-weight:800;color:#fff;letter-spacing:-.04em;line-height:.88;margin-bottom:.8rem;}
.cp-reach-left p{font-size:clamp(0.9rem,1.5vw,1.05rem);color:rgba(255,255,255,.6);max-width:48ch;line-height:1.78;}
.cp-reach-form-wrap{background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.1);border-radius:var(--cp-r2);padding:2.5rem;}

/* ─ FORMS ─ */
.cp-form{display:flex;flex-direction:column;gap:1rem;}
.cp-field{display:flex;flex-direction:column;gap:.3rem;}
.cp-field label{font-size:0.78rem;font-weight:700;color:rgba(255,255,255,.7);}
.cp-field.cp-field--light label{color:var(--cp-ink);}
.cp-field input,.cp-field select,.cp-field textarea{width:100%;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.12);border-radius:var(--cp-r);padding:.55rem .85rem;font-size:clamp(0.85rem,1.3vw,0.94rem);color:#fff;transition:border-color .14s;outline:none;}
.cp-field.cp-field--light input,.cp-field.cp-field--light select,.cp-field.cp-field--light textarea{background:var(--cp-white);border-color:var(--cp-edge);color:var(--cp-ink);}
.cp-field input:focus,.cp-field select:focus,.cp-field textarea:focus{border-color:var(--cp-yellow);}
.cp-field.cp-field--light input:focus,.cp-field.cp-field--light select:focus,.cp-field.cp-field--light textarea:focus{border-color:var(--cp-cobalt);}
.cp-field textarea{min-height:130px;resize:vertical;}
.cp-field input::placeholder,.cp-field textarea::placeholder{color:rgba(255,255,255,.3);}
.cp-field.cp-field--light input::placeholder,.cp-field.cp-field--light textarea::placeholder{color:var(--cp-mist);}
.cp-row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.cp-agree{display:flex;align-items:flex-start;gap:.5rem;font-size:clamp(0.78rem,1.2vw,0.86rem);color:rgba(255,255,255,.5);}
.cp-agree.cp-agree--light{color:var(--cp-slate);}
.cp-agree input[type="checkbox"]{width:16px;height:16px;margin-top:.15rem;flex-shrink:0;accent-color:var(--cp-cobalt);}
.cp-agree a{color:var(--cp-yellow);text-decoration:underline;}
.cp-agree.cp-agree--light a{color:var(--cp-cobalt);}
.cp-form-done{display:none;padding:1.5rem;border-radius:var(--cp-r2);background:rgba(245,197,23,.1);border:1.5px solid rgba(245,197,23,.3);text-align:center;}
.cp-form-done p:first-child{font-family:var(--cp-fh);font-size:1.1rem;font-weight:700;color:var(--cp-yellow);}
.cp-form-done p{font-size:0.88rem;color:rgba(255,255,255,.55);}

/* ─ FOOTER cp-base ─ */
.cp-base{background:var(--cp-ink);border-top:3px solid var(--cp-cobalt);}
.cp-base-top{max-width:var(--cp-max);margin:0 auto;padding:4rem 2rem 3rem;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:2.5rem;}
.cp-base-logo{font-family:var(--cp-fh);font-size:clamp(1.4rem,2.2vw,1.75rem);font-weight:800;color:#fff;display:block;margin-bottom:.5rem;letter-spacing:-.03em;}
.cp-base-logo span{color:var(--cp-cobalt);}
.cp-base-tag{font-size:0.78rem;color:rgba(255,255,255,.3);line-height:1.6;margin-bottom:.8rem;}
.cp-base-socs{display:flex;gap:.5rem;}
.cp-soc{color:rgba(255,255,255,.3);transition:color .14s;padding:3px;}
.cp-soc:hover{color:var(--cp-yellow);}
.cp-base-col-h{font-size:0.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.25em;color:rgba(255,255,255,.2);display:block;margin-bottom:.8rem;}
.cp-base-col-nav{display:flex;flex-direction:column;gap:.45rem;}
.cp-base-col-nav a{font-size:clamp(0.8rem,1.2vw,0.88rem);color:rgba(255,255,255,.4);transition:color .14s;}
.cp-base-col-nav a:hover{color:#fff;}
.cp-base-contact{display:flex;flex-direction:column;gap:.45rem;}
.cp-base-contact a,.cp-base-contact span{font-size:clamp(0.78rem,1.1vw,0.86rem);color:rgba(255,255,255,.4);display:flex;align-items:center;gap:.4rem;transition:color .14s;}
.cp-base-contact a:hover{color:#fff;}
.cp-base-foot{border-top:1px solid rgba(255,255,255,.06);padding:1.2rem 2rem;max-width:var(--cp-max);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;}
.cp-base-copy{font-size:0.72rem;color:rgba(255,255,255,.15);}
.cp-base-legal{display:flex;gap:1rem;flex-wrap:wrap;}
.cp-base-legal a{font-size:0.68rem;color:rgba(255,255,255,.15);transition:color .14s;}
.cp-base-legal a:hover{color:rgba(255,255,255,.5);}

/* ─ COOKIE ─ */
.cp-ck-bar{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);z-index:900;background:var(--cp-ink);border-radius:var(--cp-r3);padding:.7rem 1.2rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--cp-sh2);max-width:500px;width:calc(100% - 2rem);}
.cp-ck-bar p{font-size:0.75rem;color:rgba(255,255,255,.45);line-height:1.4;flex:1;}
.cp-ck-bar a{color:var(--cp-cobalt);}
.cp-ck-btns{display:flex;gap:.4rem;flex-shrink:0;}
.cp-ck-yes{font-size:0.72rem;font-weight:700;background:var(--cp-cobalt);color:#fff;border:none;border-radius:var(--cp-r3);padding:.3rem .85rem;cursor:pointer;}
.cp-ck-no{font-size:0.72rem;font-weight:600;background:transparent;color:rgba(255,255,255,.3);border:1px solid rgba(255,255,255,.15);border-radius:var(--cp-r3);padding:.3rem .85rem;cursor:pointer;}
.cp-ck-bar.cp-ck-off{display:none;}

/* ─ BUILDER / CHECKOUT ─ */
.cp-builder-section{padding:3rem 0 6rem;background:var(--cp-snow);}
.cp-bldr-grid{display:grid;grid-template-columns:1fr 360px;gap:3rem;align-items:start;}
.cp-bldr-left{display:flex;flex-direction:column;gap:2rem;}
.cp-blok{background:var(--cp-white);border:1.5px solid var(--cp-edge2);border-radius:var(--cp-r2);padding:2rem;}
.cp-blok-h{font-family:var(--cp-fh);font-size:clamp(1rem,1.7vw,1.2rem);font-weight:700;color:var(--cp-ink);margin-bottom:.3rem;}
.cp-blok-sub{font-size:clamp(0.75rem,1.1vw,0.84rem);color:var(--cp-slate);margin-bottom:1.2rem;}
.cp-plan-opts{display:flex;flex-direction:column;gap:.6rem;}
.cp-plan-rad{position:absolute;opacity:0;width:0;height:0;}
.cp-plan-lbl{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border:1.5px solid var(--cp-edge2);border-radius:var(--cp-r);cursor:pointer;transition:var(--cp-tr);flex-wrap:wrap;}
.cp-plan-rad:checked+.cp-plan-lbl{border-color:var(--cp-cobalt);background:var(--cp-cobalt-bg);}
.cp-plan-lbl:hover{border-color:var(--cp-cobalt);}
.cp-pln-nm{font-weight:700;color:var(--cp-ink);font-size:clamp(0.9rem,1.4vw,1rem);}
.cp-pln-sub{font-size:0.72rem;color:var(--cp-slate);margin-top:.1rem;}
.cp-pln-pr{font-family:var(--cp-fh);font-size:clamp(1.05rem,1.8vw,1.25rem);font-weight:700;color:var(--cp-cobalt);white-space:nowrap;}
.cp-add-opts{display:flex;flex-direction:column;gap:.5rem;}
.cp-add-chk{position:absolute;opacity:0;width:0;height:0;}
.cp-add-lbl{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1.5px solid var(--cp-edge2);border-radius:var(--cp-r);cursor:pointer;transition:var(--cp-tr);flex-wrap:wrap;}
.cp-add-chk:checked+.cp-add-lbl{border-color:var(--cp-cobalt);background:var(--cp-cobalt-bg);}
.cp-add-lbl:hover{border-color:var(--cp-cobalt);}
.cp-add-nm{font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:600;color:var(--cp-ink);}
.cp-add-brief{font-size:0.72rem;color:var(--cp-slate);margin-top:.1rem;}
.cp-add-pr{font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:700;color:var(--cp-cobalt);white-space:nowrap;}
.cp-hrs-row{display:flex;align-items:center;gap:1rem;}
.cp-hrs-rng{flex:1;accent-color:var(--cp-cobalt);}
.cp-hrs-val{font-family:var(--cp-fh);font-size:1.4rem;font-weight:700;color:var(--cp-ink);min-width:2.5ch;text-align:center;}
/* Summary box */
.cp-sumbox{position:sticky;top:82px;background:var(--cp-ink);border-radius:var(--cp-r2);padding:2rem;}
.cp-sum-lbl{font-size:0.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.25em;color:rgba(255,255,255,.2);display:block;margin-bottom:1.2rem;}
.cp-sum-rows{display:flex;flex-direction:column;gap:.2rem;min-height:2rem;margin-bottom:1rem;}
.cp-sum-row{display:flex;justify-content:space-between;gap:.5rem;font-size:0.82rem;color:rgba(255,255,255,.4);}
.cp-sum-empty{font-size:0.82rem;color:rgba(255,255,255,.2);font-style:italic;}
.cp-sum-divider{border:none;border-top:1px solid rgba(255,255,255,.07);margin:.6rem 0;}
.cp-sum-total{display:flex;justify-content:space-between;align-items:baseline;}
.cp-sum-total-l{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.3);}
.cp-sum-total-v{font-family:var(--cp-fh);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;color:#fff;}
.cp-sum-go{margin-top:1.2rem;width:100%;font-family:var(--cp-fh);font-size:clamp(0.85rem,1.2vw,0.94rem);font-weight:700;padding:.58rem;border-radius:var(--cp-r);border:none;background:var(--cp-yellow);color:var(--cp-ink);cursor:pointer;transition:background .14s;}
.cp-sum-go:hover:not(:disabled){background:var(--cp-yellow-d);}
.cp-sum-go:disabled{opacity:.3;cursor:not-allowed;}
.cp-sum-note{font-size:0.62rem;color:rgba(255,255,255,.15);text-align:center;margin-top:.5rem;line-height:1.5;}

/* ─ Checkout ─ */
.cp-checkout-pg{padding:3rem 0 6rem;background:var(--cp-snow);}
.cp-co-grid{display:grid;grid-template-columns:1fr 380px;gap:3rem;align-items:start;}
.cp-co-form{background:var(--cp-white);border:1.5px solid var(--cp-edge2);border-radius:var(--cp-r2);padding:2.5rem;}
.cp-co-form h2{font-family:var(--cp-fh);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;color:var(--cp-ink);margin-bottom:1.5rem;}
.cp-co-sum{background:var(--cp-ink);border-radius:var(--cp-r2);padding:2rem;position:sticky;top:82px;}
.cp-co-sum h2{font-family:var(--cp-fh);font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:1.2rem;}
.cp-co-row{display:flex;justify-content:space-between;gap:.5rem;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:0.82rem;color:rgba(255,255,255,.4);}
.cp-co-trow{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding-top:.8rem;}
.cp-co-tl{font-weight:700;font-size:0.84rem;color:rgba(255,255,255,.5);}
.cp-co-tv{font-family:var(--cp-fh);font-size:1.5rem;font-weight:800;color:var(--cp-yellow);}
.cp-co-note{font-size:0.7rem;color:rgba(255,255,255,.2);margin-top:1rem;line-height:1.6;}

/* ─ Service page ─ */
.cp-svc-pg-top{background:var(--cp-cobalt);padding:6rem 2rem 4rem;position:relative;overflow:hidden;}
.cp-svc-pg-top::before{content:'';position:absolute;right:-100px;bottom:-100px;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,.04);}
.cp-svc-pg-in{max-width:var(--cp-max);margin:0 auto;display:grid;grid-template-columns:1fr 380px;gap:4rem;align-items:center;}
.cp-svc-pg-left h1{font-family:var(--cp-fh);font-size:clamp(2.8rem,6vw,5.5rem);color:#fff;font-weight:800;letter-spacing:-.04em;line-height:.88;margin-bottom:1rem;}
.cp-svc-pg-left .cp-sub{color:rgba(255,255,255,.6);margin-bottom:1.5rem;}
.cp-svc-pg-img{border-radius:var(--cp-r2);overflow:hidden;background:rgba(255,255,255,.08);}
.cp-svc-pg-img img{width:100%;height:300px;object-fit:cover;display:block;}
.cp-svc-body{padding:4rem 0;background:var(--cp-snow);}
.cp-svc-cols{max-width:var(--cp-max);margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 320px;gap:4rem;}
.cp-svc-text h2{font-family:var(--cp-fh);font-size:clamp(1.4rem,2.5vw,2rem);font-weight:700;color:var(--cp-ink);margin:1.5rem 0 .6rem;}
.cp-svc-text p{font-size:clamp(0.88rem,1.4vw,0.98rem);color:var(--cp-slate);line-height:1.82;margin-bottom:.9rem;}
.cp-svc-aside{position:sticky;top:82px;}
.cp-svc-aside-card{background:var(--cp-white);border:1.5px solid var(--cp-edge2);border-radius:var(--cp-r2);padding:2rem;}
.cp-svc-aside-card h3{font-family:var(--cp-fh);font-size:1rem;font-weight:700;color:var(--cp-ink);margin-bottom:.8rem;}
.cp-svc-pr-big{font-family:var(--cp-fh);font-size:clamp(2rem,3.5vw,3rem);font-weight:800;color:var(--cp-cobalt);display:block;margin-bottom:.2rem;}
.cp-svc-pr-note{font-size:0.72rem;color:var(--cp-mist);display:block;margin-bottom:1.2rem;}
.cp-svc-inc{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1.5rem;}
.cp-svc-inc-row{display:flex;align-items:center;gap:.4rem;font-size:0.82rem;color:var(--cp-slate);}
.cp-svc-inc-row svg{color:var(--cp-cobalt);flex-shrink:0;}

/* ─ Legal / About / General pages ─ */
.cp-legal-body{max-width:780px;margin:0 auto;padding:3rem 2rem 6rem;}
.cp-legal-body h2{font-family:var(--cp-fh);font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:700;color:var(--cp-ink);margin:2rem 0 .6rem;}
.cp-legal-body h3{font-family:var(--cp-fh);font-size:clamp(1.1rem,1.8vw,1.35rem);font-weight:700;color:var(--cp-ink);margin:1.5rem 0 .4rem;}
.cp-legal-body p{font-size:clamp(0.88rem,1.4vw,0.98rem);color:var(--cp-slate);line-height:1.82;margin-bottom:.9rem;}
.cp-legal-body ul{margin:.5rem 0 .9rem 1.2rem;list-style:disc;}
.cp-legal-body li{font-size:clamp(0.85rem,1.3vw,0.95rem);color:var(--cp-slate);line-height:1.75;margin-bottom:.3rem;}
.cp-status-pg{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:6rem 2rem;text-align:center;}
.cp-status-in h1{font-family:var(--cp-fh);font-size:clamp(2rem,4vw,3.5rem);font-weight:800;color:var(--cp-ink);margin-bottom:.8rem;}
.cp-status-in p{font-size:clamp(0.9rem,1.5vw,1.05rem);color:var(--cp-slate);max-width:52ch;margin:0 auto 1.5rem;line-height:1.78;}

/* ─ Responsive ─ */
@media(max-width:1060px){
  .cp-bento-grid{grid-template-columns:1fr;}
  .cp-bento-img{display:none;}
  .cp-phases-grid{grid-template-columns:repeat(2,1fr);}
  .cp-plans-grid{grid-template-columns:1fr 1fr;}
  .cp-base-top{grid-template-columns:1fr 1fr;}
  .cp-bldr-grid{grid-template-columns:1fr 320px;}
  .cp-co-grid{grid-template-columns:1fr 340px;}
  .cp-faq-cols{grid-template-columns:1fr;}
}
@media(max-width:880px){
  .cp-main-nav,.cp-nav-end{display:none;}
  .cp-mob-tog{display:flex;}
  .cp-tunnel-item{grid-template-columns:1fr;} .cp-tunnel-item:nth-child(even){direction:ltr;}
  .cp-ti-img{display:none;}
  .cp-speak-row{grid-template-columns:1fr;}
  .cp-plans-grid{grid-template-columns:1fr;}
  .cp-bento-stats{grid-template-columns:repeat(2,1fr);}
  .cp-bldr-grid,.cp-co-grid{grid-template-columns:1fr;}
  .cp-svc-pg-in,.cp-svc-cols{grid-template-columns:1fr;}
  .cp-svc-pg-img{display:none;} .cp-svc-aside{position:static;}
  .cp-reach-in{grid-template-columns:1fr;}
  .cp-base-top{grid-template-columns:1fr 1fr;}
}
@media(max-width:540px){
  .cp-phases-grid{grid-template-columns:1fr;}
  .cp-row2{grid-template-columns:1fr;}
  .cp-bento-stats{grid-template-columns:1fr 1fr;}
  .cp-base-top{grid-template-columns:1fr;}
  .cp-ck-bar{border-radius:var(--cp-r2);}
}
