/* =========================================================================
   VIA VA TEAM — redesign system  (Home + About)
   AI-trained. Human-powered. Business-ready.
   ========================================================================= */

:root{
  --cream:#F7F1E9;
  --cream-2:#F1E7DA;
  --card:#FFFFFF;
  --card-warm:#FDFAF5;

  --ink:#1F1823;
  --ink-soft:#584E58;
  --ink-mute:#8C8189;

  --dark:#17131B;
  --dark-2:#211A28;
  --dark-3:#120E16;
  --on-dark:#F5EFF4;
  --on-dark-soft:#B6ABB7;
  --on-dark-mute:#877C8C;

  --rose:#C6396E;
  --rose-deep:#A81F58;
  --rose-on-dark:#E4739F;
  --coral:#E8734F;
  --coral-soft:#F2AC90;

  --line:rgba(31,24,35,0.12);
  --line-warm:rgba(150,108,86,0.20);
  --line-dark:rgba(245,239,244,0.12);

  --grad:linear-gradient(103deg,#A81F58 0%,#CE3A68 46%,#E8734F 100%);
  --grad-soft:linear-gradient(103deg,#C6396E 0%,#E8734F 100%);

  --r-sm:12px; --r-md:18px; --r-lg:26px; --r-xl:34px; --r-pill:999px;
  --shadow-card:0 22px 48px -30px rgba(120,40,70,0.42);
  --shadow-float:0 26px 54px -24px rgba(88,28,54,0.30);

  --font-display:'Fraunces',Georgia,'Times New Roman',serif;
  --font-body:'Poppins','Helvetica Neue',Arial,sans-serif;
  --maxw:1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink-soft);
  font-family:var(--font-body);
  font-weight:400;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}
h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--ink);
  margin:0;
  font-weight:500;
  line-height:1.14;
  letter-spacing:-0.012em;
  text-wrap:balance;
}
p{margin:0;}
em{font-style:italic;}

.container{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
@media(max-width:640px){ .container{padding:0 20px;} }

.section{padding:104px 0;}
@media(max-width:860px){ .section{padding:72px 0;} }
.section--dark{background:var(--dark);color:var(--on-dark-soft);}
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:#fff;}
.section--cream2{background:var(--cream-2);}

/* ---- shared bits -------------------------------------------------------- */
.klabel{
  display:inline-flex;align-items:center;gap:9px;
  font-size:11px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--rose);margin:0 0 18px;
}
.klabel::before{content:"\2726";color:var(--coral);font-size:12px;letter-spacing:0;}
.section--dark .klabel{color:var(--coral-soft);}
.section--dark .klabel::before{color:var(--coral-soft);}
.klabel--plain::before{display:none;}

.tick{border-left:2px solid var(--coral);padding-left:22px;}

.arrow{width:16px;height:16px;flex:none;transition:transform .16s ease;}
.arrow path{stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;}

/* ---- buttons ---------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-size:0.9rem;font-weight:600;
  padding:15px 28px;border-radius:var(--r-pill);
  border:1.5px solid transparent;cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease,border-color .16s ease;
}
.btn:hover .arrow{transform:translateX(4px);}
.btn:focus-visible{outline:3px solid var(--rose);outline-offset:3px;}
.btn-grad{background:var(--grad);color:#fff;box-shadow:var(--shadow-card);}
.btn-grad:hover{transform:translateY(-2px);color:#fff;}
.btn-ghost{background:transparent;border-color:var(--ink);color:var(--ink);}
.btn-ghost:hover{background:var(--ink);color:var(--cream);}
.btn-ghost-dark{background:transparent;border-color:var(--line-dark);color:#fff;}
.btn-ghost-dark:hover{border-color:#fff;background:rgba(255,255,255,0.06);}
.btn-white{background:var(--card);color:var(--ink);}
.btn-white:hover{transform:translateY(-2px);}
.btn-outline{background:var(--card);border-color:var(--line);color:var(--ink);}
.btn-outline:hover{border-color:var(--rose);color:var(--rose);}

.textlink{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--rose);}
.textlink:hover .arrow{transform:translateX(4px);}
.section--dark .textlink{color:var(--rose-on-dark);}

/* ---- nav ------------------------------------------------------------- */
.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(247,241,233,0.86);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line-warm);
}
.nav-inner{
  max-width:var(--maxw);margin:0 auto;padding:15px 32px;
  display:flex;align-items:center;gap:30px;
}
@media(max-width:640px){ .nav-inner{padding:14px 20px;} }

.brand{display:inline-flex;flex-direction:column;line-height:1;flex:none;align-items:flex-start;}
.pink{color:var(--rose);font-style:normal;}
.section--dark .pink,.ctaband .pink{color:var(--rose-on-dark);}
.statband .pink{color:#fff;}
.brand-main{
  font-family:var(--font-display);font-weight:600;font-size:1.42rem;
  letter-spacing:0.02em;color:var(--ink);
}
.brand-main .accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.brand-main sup{font-size:0.46em;color:var(--coral);top:-0.85em;margin-left:1px;}
.brand-sub{font-size:0.52rem;font-weight:600;letter-spacing:0.42em;color:var(--ink-soft);text-align:right;margin-top:4px;}

.nav-menu{
  display:flex;align-items:center;gap:26px;
  margin:0 auto 0 6px;padding:0;list-style:none;
}
.nav-menu > li{position:relative;}
.nav-menu > li > a,
.nav-drop-toggle{
  display:inline-flex;align-items:center;gap:5px;
  font-size:0.85rem;font-weight:500;color:var(--ink-soft);
  background:none;border:0;cursor:pointer;padding:6px 0;
}
.nav-menu > li > a:hover,
.nav-menu > li > a.active,
.nav-drop-toggle:hover{color:var(--rose);}
.nav-menu > li > a.active{position:relative;}
.nav-menu > li > a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
  background:var(--grad);border-radius:2px;
}
.caret{width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease;}

.nav-drop{
  position:absolute;top:calc(100% + 12px);left:50%;
  transform:translateX(-50%) translateY(8px);
  min-width:206px;padding:8px;margin:0;list-style:none;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);
  box-shadow:var(--shadow-float);
  opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.nav-drop::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px;}
.has-drop:hover .nav-drop,
.has-drop:focus-within .nav-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.has-drop:hover .caret,
.has-drop:focus-within .caret{transform:rotate(45deg) translateY(1px) scale(0.9);}
.nav-drop a{display:block;padding:10px 13px;border-radius:11px;font-size:0.84rem;color:var(--ink-soft);}
.nav-drop a:hover{background:var(--cream-2);color:var(--rose);}

.nav-cta{
  flex:none;display:inline-flex;align-items:center;gap:7px;
  background:var(--grad);color:#fff;font-size:0.83rem;font-weight:600;
  padding:11px 21px;border-radius:var(--r-pill);box-shadow:var(--shadow-card);
  transition:transform .15s ease;
}
.nav-cta:hover{transform:translateY(-1px);color:#fff;}
.nav-cta .plus{font-size:1.05em;line-height:0;}

.navtog{position:absolute;opacity:0;pointer-events:none;}
.burger{display:none;flex-direction:column;justify-content:space-between;width:24px;height:16px;cursor:pointer;flex:none;}
.burger span{display:block;height:2px;border-radius:2px;background:var(--ink);transition:transform .2s ease,opacity .2s ease;}

@media(max-width:940px){
  .nav-inner{flex-wrap:wrap;}
  .burger{display:flex;margin-left:auto;order:2;}
  .nav-menu{
    order:5;width:100%;flex-direction:column;align-items:stretch;gap:2px;
    margin:14px 0 0;padding-top:14px;border-top:1px solid var(--line-warm);
    display:none;
  }
  .navtog:checked ~ .nav-menu{display:flex;}
  .navtog:checked ~ .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .navtog:checked ~ .burger span:nth-child(2){opacity:0;}
  .navtog:checked ~ .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .nav-menu > li > a,.nav-drop-toggle{padding:11px 2px;width:100%;}
  .nav-menu > li > a.active::after{display:none;}
  .caret{display:none;}
  .nav-drop{
    position:static;transform:none;opacity:1;visibility:visible;
    box-shadow:none;border:0;background:transparent;padding:0 0 6px 14px;min-width:0;
  }
  .nav-cta{order:6;width:100%;justify-content:center;margin-top:12px;display:none;}
  .navtog:checked ~ .nav-cta{display:inline-flex;}
}

/* ---- generic hero shell ------------------------------------------------ */
.hero{position:relative;overflow:hidden;padding:60px 0 84px;}
@media(max-width:860px){ .hero{padding:44px 0 56px;} }
.hero-grid{display:grid;grid-template-columns:1.02fr 0.98fr;gap:64px;align-items:center;}
@media(max-width:940px){ .hero-grid{grid-template-columns:1fr;gap:44px;} }

.hero h1{
  font-size:clamp(2.55rem,1.8rem+3.2vw,4.05rem);
  font-weight:400;letter-spacing:-0.022em;margin-bottom:22px;
}
.hero h1 .pink{color:var(--rose-deep);}
.hero-tagline{
  font-size:0.92rem;font-weight:600;letter-spacing:0.13em;text-transform:uppercase;
  color:var(--ink);margin-bottom:20px;
}
.hero-tagline b{color:var(--rose);font-weight:600;}
.hero-lead{font-size:1.04rem;color:var(--ink-soft);max-width:47ch;margin-bottom:32px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;}

.hero-visual{position:relative;}
.hero-visual > img{
  width:100%;border-radius:var(--r-xl);
  aspect-ratio:4/3;object-fit:cover;object-position:70% 30%;
  box-shadow:var(--shadow-float);
}
@media(max-width:940px){ .hero-visual > img{aspect-ratio:16/10;} }
.hero-cards{
  position:absolute;left:-40px;top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;gap:16px;
}
.hero-card{
  display:flex;align-items:center;gap:12px;
  background:var(--card);border-radius:16px;padding:13px 20px 13px 13px;
  box-shadow:var(--shadow-float);
  font-size:0.72rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink);
  max-width:210px;
}
.hero-card .ic{width:34px;height:34px;border-radius:10px;background:rgba(198,57,110,0.10);display:grid;place-items:center;flex:none;}
.hero-card .ic svg{width:18px;height:18px;stroke:var(--rose);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
@media(max-width:1120px){ .hero-cards{left:-20px;} }
@media(max-width:940px){
  .hero-cards{position:static;transform:none;flex-direction:row;flex-wrap:wrap;margin-top:18px;}
  .hero-card{max-width:none;flex:1 1 200px;}
}

/* dotted decorative arc (about hero) */
.dot-arc{
  position:absolute;right:-30px;bottom:-30px;width:180px;height:180px;
  background-image:radial-gradient(var(--coral-soft) 1.6px,transparent 1.7px);
  background-size:14px 14px;opacity:0.5;border-radius:50%;
  -webkit-mask:radial-gradient(circle at 30% 30%,transparent 55%,#000 56%);
  mask:radial-gradient(circle at 30% 30%,transparent 55%,#000 56%);
  z-index:0;pointer-events:none;
}
@media(max-width:640px){ .dot-arc{display:none;} }

/* ---- trusted-by strip ----------------------------------------------- */
.trusted{border-top:1px solid var(--line-warm);border-bottom:1px solid var(--line-warm);padding:40px 0;background:var(--cream);}
.trusted-label{text-align:center;font-size:11px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:26px;}
.trusted-row{display:flex;flex-wrap:wrap;justify-content:center;gap:22px 52px;}
.trusted-item{display:flex;align-items:center;gap:11px;font-size:0.82rem;font-weight:500;color:var(--ink-soft);}
.trusted-item svg{width:22px;height:22px;stroke:var(--rose);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none;}

/* ---- split copy + grid (dark "evolves" / about mission) ------------- */
.split{display:grid;grid-template-columns:0.92fr 1.08fr;gap:60px;align-items:start;}
@media(max-width:900px){ .split{grid-template-columns:1fr;gap:40px;} }
.split--balanced{grid-template-columns:1fr 1fr;}
.split-copy h2{font-size:clamp(1.95rem,1.5rem+2vw,2.85rem);font-weight:400;margin-bottom:18px;}
.split-copy h2 em{font-style:italic;color:var(--rose-on-dark);}
.split-copy .on-light em{color:var(--rose);}
.split-copy p{max-width:44ch;margin-bottom:26px;}
.section--dark .split-copy p{color:var(--on-dark-soft);}

.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 28px;}
@media(max-width:720px){ .feat-grid{grid-template-columns:1fr 1fr;gap:28px 20px;} }
@media(max-width:460px){ .feat-grid{grid-template-columns:1fr;} }
.feat .ic{width:28px;height:28px;}
.feat .ic svg{width:26px;height:26px;stroke:var(--rose-on-dark);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.feat h3{font-size:0.8rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:#fff;font-family:var(--font-body);margin:13px 0 8px;}
.feat p{font-size:0.85rem;line-height:1.55;color:var(--on-dark-soft);}
.feat--light .ic svg{stroke:var(--rose);}
.feat--light h3{color:var(--ink);}
.feat--light p{color:var(--ink-soft);}

/* ---- "what we do" services grid ----------------------------------- */
.dowork-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:56px;align-items:start;}
@media(max-width:900px){ .dowork-grid{grid-template-columns:1fr;gap:34px;} }
.dowork-head h2{font-size:clamp(1.9rem,1.5rem+1.8vw,2.65rem);font-weight:400;}
.dowork-head h2 em{font-style:italic;color:var(--rose);}

.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:1080px){ .svc-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:760px){ .svc-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:420px){ .svc-grid{grid-template-columns:1fr;} }
.svc-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);
  padding:22px 18px;transition:transform .16s ease,box-shadow .16s ease;
}
.svc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);}
.svc-card .ic{width:36px;height:36px;border-radius:11px;background:rgba(198,57,110,0.09);display:grid;place-items:center;margin-bottom:14px;}
.svc-card .ic svg{width:19px;height:19px;stroke:var(--rose);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.svc-card h3{font-family:var(--font-body);font-size:0.95rem;font-weight:600;color:var(--ink);margin-bottom:6px;}
.svc-card p{font-size:0.8rem;line-height:1.5;color:var(--ink-soft);}

.center-cta{text-align:center;margin-top:40px;}

/* ---- gradient stat band ----------------------------------------------- */
.statband{background:var(--grad);color:#fff;padding:66px 0;}
.statband-inner{display:grid;grid-template-columns:1fr 2fr;gap:44px;align-items:center;}
@media(max-width:860px){ .statband-inner{grid-template-columns:1fr;gap:30px;} }
.statband h2{color:#fff;font-weight:400;font-size:clamp(1.6rem,1.3rem+1.3vw,2.15rem);}
.statband .klabel{color:rgba(255,255,255,0.82);}
.statband .klabel::before{color:rgba(255,255,255,0.82);}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media(max-width:560px){ .stat-row{grid-template-columns:1fr 1fr;gap:24px 16px;} }
.stat{padding-left:22px;border-left:1px solid rgba(255,255,255,0.28);}
.stat:first-child{border-left:0;padding-left:0;}
@media(max-width:560px){ .stat:nth-child(odd){border-left:0;padding-left:0;} }
.stat .n{font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,1.5rem+1.7vw,2.9rem);line-height:1;}
.stat .l{font-size:0.68rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;opacity:0.85;margin-top:6px;}
.pledge-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:700px){ .pledge-row{grid-template-columns:1fr;gap:18px;} }
.pledge{padding-left:22px;border-left:1px solid rgba(255,255,255,0.3);}
.pledge:first-child{border-left:0;padding-left:0;}
@media(max-width:700px){ .pledge{border-left:0;padding-left:0;} }
.pledge b{display:block;font-family:var(--font-display);font-weight:500;font-size:1.05rem;margin-bottom:6px;}
.pledge span{font-size:0.82rem;line-height:1.55;opacity:0.92;}

/* ---- approach + testimonial --------------------------------------- */
.approach-grid{display:grid;grid-template-columns:1.12fr 0.88fr;gap:56px;align-items:center;}
@media(max-width:940px){ .approach-grid{grid-template-columns:1fr;gap:40px;} }
.approach-head h2{font-size:clamp(1.9rem,1.5rem+1.8vw,2.65rem);font-weight:400;margin-bottom:8px;}
.approach-head h2 em{font-style:italic;color:var(--rose);}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative;margin:34px 0 30px;}
@media(max-width:560px){ .steps{grid-template-columns:1fr 1fr;gap:24px 12px;} }
.steps::before{content:"";position:absolute;top:27px;left:13%;right:13%;height:1px;background:var(--line-warm);}
@media(max-width:560px){ .steps::before{display:none;} }
.step{text-align:center;position:relative;}
.step .dot{width:54px;height:54px;border-radius:50%;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;margin:0 auto 12px;}
.step .dot svg{width:22px;height:22px;stroke:var(--rose);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.step h4{font-family:var(--font-body);font-size:0.7rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);margin-bottom:5px;}
.step p{font-size:0.76rem;line-height:1.45;color:var(--ink-soft);}

.quote-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:38px 36px;box-shadow:var(--shadow-card);
}
.quote-card .mark{font-family:var(--font-display);font-size:3.2rem;line-height:0.5;color:var(--coral-soft);display:block;height:0.7em;}
.quote-card blockquote{margin:14px 0 26px;font-family:var(--font-display);font-style:italic;font-size:1.16rem;font-weight:400;line-height:1.5;color:var(--ink);}
.quote-who{display:flex;align-items:center;gap:13px;}
.quote-avatar{width:46px;height:46px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:600;font-size:0.9rem;flex:none;}
.quote-who b{display:block;font-size:0.88rem;color:var(--ink);}
.quote-who span{font-size:0.78rem;color:var(--ink-mute);}
.dots{display:flex;gap:7px;margin-top:22px;}
.dots i{width:7px;height:7px;border-radius:50%;background:var(--line);}
.dots i.on{background:var(--rose);}

/* ---- dark CTA band (pre-footer) --------------------------------- */
.ctaband{background:var(--dark);padding:58px 0;}
.ctaband-inner{display:grid;grid-template-columns:1.15fr 1fr auto;gap:34px;align-items:center;}
@media(max-width:900px){ .ctaband-inner{grid-template-columns:1fr;gap:20px;text-align:left;} }
.ctaband h2{color:#fff;font-weight:400;font-size:clamp(1.55rem,1.3rem+1.2vw,2.1rem);}
.ctaband h2 em{font-style:italic;color:var(--rose-on-dark);}
.ctaband p{font-size:0.9rem;color:var(--on-dark-soft);}

/* gradient CTA band (about) */
.ctaband--grad{background:var(--grad);}
.ctaband--grad h2{color:#fff;}
.ctaband--grad h2 em{color:#fff;font-style:italic;opacity:0.9;}
.ctaband--grad p{color:rgba(255,255,255,0.9);}

/* ---- footer ---------------------------------------------------------- */
.footer{background:var(--dark-3);color:var(--on-dark-soft);padding:66px 0 28px;}
.footer-top{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:34px;margin-bottom:46px;}
@media(max-width:900px){ .footer-top{grid-template-columns:1fr 1fr;gap:32px;} }
@media(max-width:520px){ .footer-top{grid-template-columns:1fr;} }
.footer .brand-main{color:#fff;}
.footer .brand-sub{color:var(--on-dark-mute);}
.footer-tag{font-size:0.6rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--on-dark-mute);margin-top:16px;line-height:2.1;}
.footer h5{font-family:var(--font-body);font-size:0.64rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--on-dark-mute);margin:0 0 15px;}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.footer li a{font-size:0.84rem;color:var(--on-dark-soft);}
.footer li a:hover{color:#fff;}
.socials{display:flex;gap:9px;margin-bottom:16px;}
.socials a{width:34px;height:34px;border-radius:9px;border:1px solid var(--line-dark);display:grid;place-items:center;transition:border-color .15s ease,background .15s ease;}
.socials a:hover{border-color:#fff;background:rgba(255,255,255,0.05);}
.socials svg{width:16px;height:16px;stroke:var(--on-dark-soft);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.footer-email{font-size:0.84rem;color:var(--on-dark-soft);}
.footer-email:hover{color:#fff;}
.footer-bottom{border-top:1px solid var(--line-dark);padding-top:22px;text-align:center;font-size:0.76rem;color:var(--on-dark-mute);}

/* ---- about: story panel ------------------------------------------- */
.story-panel{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);
  padding:56px;box-shadow:var(--shadow-card);
}
@media(max-width:640px){ .story-panel{padding:34px 24px;} }
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;}
@media(max-width:860px){ .story-grid{grid-template-columns:1fr;gap:28px;} }
.story-grid h2{font-size:clamp(1.7rem,1.4rem+1.4vw,2.3rem);font-weight:400;}
.story-grid h2 em{font-style:italic;color:var(--rose);display:block;margin-top:6px;}
.story-grid p{margin-bottom:16px;}
.story-grid .hot{color:var(--rose);font-weight:600;}

/* ---- about: pillars (dark) -------------------------------------- */
.pillars-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:center;}
@media(max-width:900px){ .pillars-grid{grid-template-columns:1fr;gap:36px;} }
.pillars-title{font-size:clamp(2rem,1.6rem+2vw,3rem);font-weight:400;line-height:1.16;color:#fff;}
.pillars-title em{font-style:italic;color:var(--rose-on-dark);}
.pillars-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media(max-width:620px){ .pillars-cols{grid-template-columns:1fr;gap:22px;} }
.pillar{padding-left:24px;border-left:1px solid var(--line-dark);}
.pillar:first-child{border-left:0;padding-left:0;}
@media(max-width:620px){ .pillar{border-left:0;padding-left:0;} }
.pillar .ic svg{width:26px;height:26px;stroke:var(--rose-on-dark);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.pillar h3{font-family:var(--font-body);font-size:0.78rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:#fff;margin:12px 0 8px;}
.pillar p{font-size:0.85rem;line-height:1.55;color:var(--on-dark-soft);}

/* ---- about: what makes a VA (numbered cards) ------------------- */
.makes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media(max-width:1000px){ .makes-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:520px){ .makes-grid{grid-template-columns:1fr;} }
.make-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 24px;text-align:center;transition:transform .16s ease,box-shadow .16s ease;}
.make-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);}
.make-num{font-family:var(--font-display);font-size:1.05rem;color:var(--rose);font-weight:500;}
.make-ic{width:54px;height:54px;border-radius:50%;background:rgba(198,57,110,0.09);display:grid;place-items:center;margin:14px auto 16px;}
.make-ic svg{width:24px;height:24px;stroke:var(--rose);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.make-card h3{font-family:var(--font-body);font-size:0.8rem;font-weight:600;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink);margin-bottom:10px;}
.make-card p{font-size:0.83rem;line-height:1.55;color:var(--ink-soft);}

/* ---- about: philosophy band ---------------------------------- */
.philosophy{background:var(--cream-2);border:1px solid var(--line-warm);border-radius:var(--r-xl);overflow:hidden;display:grid;grid-template-columns:1.05fr 0.95fr;}
@media(max-width:820px){ .philosophy{grid-template-columns:1fr;} }
.philosophy-copy{padding:56px;}
@media(max-width:640px){ .philosophy-copy{padding:34px 24px;} }
.philosophy-copy h2{font-size:clamp(1.7rem,1.4rem+1.4vw,2.3rem);font-weight:400;}
.philosophy-copy h2 em{font-style:italic;color:var(--rose);display:block;margin-top:4px;}
.philosophy-copy p{margin-top:16px;}
.philosophy-media{position:relative;min-height:280px;}
.philosophy-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* ---- about: impact row -------------------------------------- */
.impact-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;text-align:center;}
@media(max-width:720px){ .impact-row{grid-template-columns:1fr 1fr;gap:34px 0;} }
.impact{padding:0 26px;border-left:1px solid var(--line-warm);}
.impact:first-child{border-left:0;}
@media(max-width:720px){ .impact:nth-child(odd){border-left:0;} }
.impact svg{width:26px;height:26px;stroke:var(--rose);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 10px;}
.impact .n{font-family:var(--font-display);font-weight:500;font-size:clamp(1.7rem,1.4rem+1.3vw,2.4rem);color:var(--ink);line-height:1;}
.impact .l{font-size:0.66rem;font-weight:600;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-mute);margin-top:7px;}

.section-head{max-width:640px;margin-bottom:44px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head.center .klabel{justify-content:center;}
.section-head h2{font-size:clamp(1.8rem,1.4rem+1.6vw,2.55rem);font-weight:400;margin-bottom:14px;}
.section-head p{font-size:1rem;line-height:1.6;}

/* ---- placeholder / coming-soon page ------------------------- */
.soon{min-height:58vh;display:grid;place-items:center;text-align:center;padding:100px 0;}
.soon h1{font-size:clamp(2.2rem,1.7rem+2.4vw,3.4rem);font-weight:400;margin-bottom:16px;}
.soon h1 em{font-style:italic;color:var(--rose);}
.soon p{max-width:46ch;margin:0 auto 30px;font-size:1.05rem;}

/* ---- reveal on scroll ------------------------------------------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
  .btn,.nav-cta,.svc-card,.make-card{transition:none;}
}

/* =======================================================================
   INNER-PAGE COMPONENTS  (Services, Our VAs, Resources, For Clients,
   How It Works, Pricing, Let's Talk, FAQ)
   ======================================================================= */

/* ---- page hero + breadcrumb ---------------------------------------- */
.page-hero{position:relative;overflow:hidden;padding:48px 0 72px;}
@media(max-width:860px){ .page-hero{padding:36px 0 52px;} }
.page-hero .hero-grid{align-items:center;}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:0.76rem;color:var(--ink-mute);margin-bottom:16px;}
.breadcrumb a:hover{color:var(--rose);}
.breadcrumb .sep{opacity:0.5;}
.breadcrumb .here{color:var(--rose);font-weight:500;}
.klabel--dbl::before{content:"\2726\00a0\2726";letter-spacing:1px;}
.hero-tick{border-left:2px solid var(--coral);padding-left:24px;}
.hero-checks{list-style:none;margin:22px 0 30px;padding:0;display:flex;flex-direction:column;gap:10px;}
.hero-checks li{position:relative;padding-left:24px;font-size:0.9rem;color:var(--ink-soft);}
.hero-checks li::before{content:"";position:absolute;left:0;top:5px;width:12px;height:9px;border-left:2px solid var(--rose);border-bottom:2px solid var(--rose);transform:rotate(-45deg);}
.hero-script{font-family:var(--font-display);font-style:italic;font-size:1.1rem;color:var(--rose);margin-top:16px;}

/* ---- big rounded content panel ----------------------------------- */
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:52px;box-shadow:var(--shadow-card);}
@media(max-width:640px){ .panel{padding:30px 20px;} }
.panel-title,.eyebrow-c{text-align:center;font-size:11px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:14px;}
.panel-h{text-align:center;font-weight:400;font-size:clamp(1.6rem,1.3rem+1.4vw,2.3rem);margin-bottom:36px;}
.panel-h .pink{color:var(--rose);}

/* ---- generic icon-card grids ----------------------------------- */
.cards{display:grid;gap:18px;}
.cards.c2{grid-template-columns:repeat(2,1fr);}
.cards.c3{grid-template-columns:repeat(3,1fr);}
.cards.c4{grid-template-columns:repeat(4,1fr);}
.cards.c5{grid-template-columns:repeat(5,1fr);}
@media(max-width:1000px){ .cards.c4,.cards.c5{grid-template-columns:repeat(3,1fr);} }
@media(max-width:820px){ .cards.c3{grid-template-columns:repeat(2,1fr);} }
@media(max-width:680px){ .cards.c2,.cards.c4,.cards.c5{grid-template-columns:repeat(2,1fr);} }
@media(max-width:460px){ .cards.c2,.cards.c3,.cards.c4,.cards.c5{grid-template-columns:1fr;} }

.icard{background:var(--card-warm);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 22px;transition:transform .16s ease,box-shadow .16s ease;}
.icard:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);}
.icard.plain{background:transparent;border:0;padding:14px 10px;text-align:center;}
.icard.plain:hover{transform:none;box-shadow:none;}
.ic-badge{width:52px;height:52px;border-radius:50%;background:rgba(198,57,110,0.09);display:grid;place-items:center;margin-bottom:16px;}
.icard.plain .ic-badge{margin-left:auto;margin-right:auto;}
.ic-badge svg{width:24px;height:24px;stroke:var(--rose);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.icard h3{font-family:var(--font-body);font-size:0.98rem;font-weight:600;color:var(--ink);margin-bottom:8px;}
.icard.caps h3{font-size:0.8rem;letter-spacing:0.09em;text-transform:uppercase;}
.icard p{font-size:0.84rem;line-height:1.55;color:var(--ink-soft);}
.icard .num{font-family:var(--font-display);color:var(--rose);font-size:1rem;display:block;margin-bottom:8px;}
.icard .checklist,.checklist{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
.checklist li{position:relative;padding-left:20px;font-size:0.82rem;color:var(--ink-soft);}
.checklist li::before{content:"";position:absolute;left:0;top:6px;width:11px;height:8px;border-left:2px solid var(--rose);border-bottom:2px solid var(--rose);transform:rotate(-45deg);}

/* ---- horizontal numbered flow --------------------------------- */
.flow{display:grid;gap:16px;position:relative;}
.flow.n4{grid-template-columns:repeat(4,1fr);}
.flow.n5{grid-template-columns:repeat(5,1fr);}
.flow.n6{grid-template-columns:repeat(6,1fr);}
.flow::before{content:"";position:absolute;top:18px;left:9%;right:9%;border-top:1px dashed var(--line-warm);}
@media(max-width:860px){ .flow.n4,.flow.n5,.flow.n6{grid-template-columns:repeat(3,1fr);} .flow::before{display:none;} }
@media(max-width:520px){ .flow.n4,.flow.n5,.flow.n6{grid-template-columns:1fr 1fr;} }
.flow-step{text-align:center;position:relative;}
.flow-badge{width:38px;height:38px;border-radius:50%;background:var(--grad);color:#fff;font-family:var(--font-display);font-size:0.9rem;display:grid;place-items:center;margin:0 auto 14px;position:relative;z-index:1;}
.flow-ic{width:48px;height:48px;border-radius:50%;background:rgba(198,57,110,0.08);display:grid;place-items:center;margin:0 auto 12px;}
.flow-ic svg{width:22px;height:22px;stroke:var(--rose);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.flow-step h3{font-family:var(--font-body);font-size:0.9rem;font-weight:600;color:var(--ink);margin-bottom:6px;}
.flow-step p{font-size:0.78rem;line-height:1.5;color:var(--ink-soft);}
.flow-arrow{align-self:start;margin-top:8px;color:var(--coral-soft);display:grid;place-items:center;}
.flow-arrow svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;}
@media(max-width:860px){ .flow-arrow{display:none;} }

/* ---- dark reasons band --------------------------------------- */
.reasons{background:var(--dark);color:var(--on-dark-soft);border-radius:var(--r-lg);padding:44px 40px;display:grid;grid-template-columns:0.9fr 2.1fr;gap:40px;align-items:center;position:relative;overflow:hidden;}
@media(max-width:900px){ .reasons{grid-template-columns:1fr;gap:26px;padding:32px 24px;} }
.reasons h2{color:#fff;font-weight:400;font-size:clamp(1.45rem,1.2rem+1.2vw,2rem);}
.reasons h2 .pink{color:var(--rose-on-dark);}
.reasons .klabel{color:var(--coral-soft);margin-bottom:12px;}
.reasons .klabel::before{color:var(--coral-soft);}
.reasons-items{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;}
@media(max-width:900px){ .reasons-items{grid-template-columns:repeat(3,1fr);} }
@media(max-width:560px){ .reasons-items{grid-template-columns:1fr 1fr;} }
.reasons-item .ic{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-dark);display:grid;place-items:center;margin-bottom:10px;}
.reasons-item .ic svg{width:18px;height:18px;stroke:var(--rose-on-dark);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.reasons-item h4{font-family:var(--font-body);font-size:0.75rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:#fff;margin-bottom:6px;}
.reasons-item p{font-size:0.74rem;line-height:1.45;color:var(--on-dark-soft);}
.reasons--light{background:var(--cream-2);color:var(--ink-soft);border:1px solid var(--line-warm);}
.reasons--light h2{color:var(--ink);}
.reasons--light h2 .pink{color:var(--rose);}
.reasons--light .klabel,.reasons--light .klabel::before{color:var(--rose);}
.reasons--light .reasons-item .ic{border-color:var(--line);}
.reasons--light .reasons-item .ic svg{stroke:var(--rose);}
.reasons--light .reasons-item h4{color:var(--ink);}
.reasons--light .reasons-item p{color:var(--ink-soft);}

/* ---- dark AI tools band ------------------------------------- */
.toolband{background:var(--dark);color:var(--on-dark-soft);border-radius:var(--r-lg);padding:46px 42px;display:grid;grid-template-columns:0.95fr 1.7fr;gap:44px;align-items:center;}
@media(max-width:900px){ .toolband{grid-template-columns:1fr;gap:28px;padding:32px 22px;} }
.toolband h2{color:#fff;font-weight:400;font-size:clamp(1.55rem,1.3rem+1.3vw,2.1rem);margin-bottom:14px;}
.toolband h2 .pink{color:var(--rose-on-dark);}
.toolband .klabel,.toolband .klabel::before{color:var(--coral-soft);}
.toolband > div > p{color:var(--on-dark-soft);font-size:0.87rem;}
.toolband .checklist{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;}
.toolband .checklist li{color:var(--on-dark-soft);}
.toolband .checklist li::before{border-color:var(--rose-on-dark);}
.tool-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
@media(max-width:620px){ .tool-grid{grid-template-columns:repeat(4,1fr);} }
@media(max-width:420px){ .tool-grid{grid-template-columns:repeat(3,1fr);} }
.tool-rows{display:grid;grid-template-columns:auto 1fr;gap:12px 16px;align-items:center;}
.tool-rows .rlabel{font-size:0.66rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--on-dark-mute);}
@media(max-width:560px){ .tool-rows{grid-template-columns:1fr;gap:4px;} .tool-rows .rlabel{margin:10px 0 2px;} }
.toolband--tri{grid-template-columns:0.9fr 1.5fr 0.7fr;}
@media(max-width:900px){ .toolband--tri{grid-template-columns:1fr;} }
.tool-tile{background:#fff;border-radius:13px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:7px;}
.tool-tile .mono{width:28px;height:28px;border-radius:8px;background:var(--cream-2);display:grid;place-items:center;font-weight:700;font-size:0.8rem;color:var(--rose-deep);}
.tool-tile span{font-size:0.62rem;font-weight:500;color:var(--ink-soft);text-align:center;line-height:1.2;}
.tool-tile.more{background:rgba(255,255,255,0.05);border:1px dashed var(--line-dark);}
.tool-tile.more .mono{background:transparent;color:var(--on-dark-soft);}
.tool-tile.more span{color:var(--on-dark-soft);}

/* ---- FAQ accordion ---------------------------------------- */
.faq{max-width:980px;margin:0 auto;}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;}
@media(max-width:760px){ .faq-grid{grid-template-columns:1fr;} }
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 2px;font-size:0.88rem;font-weight:500;color:var(--ink);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-size:1.2rem;color:var(--rose);flex:none;line-height:1;}
.faq details[open] summary::after{content:"\2013";}
.faq details > p{padding:0 2px 18px;font-size:0.84rem;line-height:1.6;color:var(--ink-soft);max-width:54ch;}
.faq-foot{text-align:center;margin-top:28px;font-size:0.86rem;color:var(--ink-soft);}
.faq-foot a{color:var(--rose);font-weight:600;}

/* ---- pricing ------------------------------------------------ */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start;}
@media(max-width:920px){ .price-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto;} }
.price-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 28px;display:flex;flex-direction:column;box-shadow:var(--shadow-card);}
.price-card.feat{border:2px solid var(--rose);position:relative;}
.price-tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--grad);color:#fff;font-size:0.64rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;padding:5px 15px;border-radius:var(--r-pill);white-space:nowrap;}
.price-ic{width:52px;height:52px;border-radius:50%;background:rgba(198,57,110,0.09);display:grid;place-items:center;margin-bottom:16px;}
.price-ic svg{width:24px;height:24px;stroke:var(--rose);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.price-card h3{font-size:1.3rem;margin-bottom:8px;}
.price-card .blurb{font-size:0.83rem;color:var(--ink-soft);margin-bottom:20px;line-height:1.5;}
.price-amt{font-family:var(--font-display);font-size:2.3rem;color:var(--rose-deep);line-height:1.05;margin-bottom:6px;}
.price-amt .was{display:block;font-size:0.95rem;color:var(--ink-mute);text-decoration:line-through;margin-bottom:2px;}
.price-amt small{font-size:0.85rem;color:var(--ink-soft);}
.price-off{display:inline-block;background:var(--cream-2);border-radius:var(--r-pill);padding:5px 12px;font-size:0.7rem;color:var(--ink-soft);margin-bottom:20px;}
.price-card ul.feats{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:10px;}
.price-card ul.feats li{position:relative;padding-left:22px;font-size:0.84rem;color:var(--ink-soft);}
.price-card ul.feats li::before{content:"";position:absolute;left:0;top:5px;width:11px;height:8px;border-left:2px solid var(--rose);border-bottom:2px solid var(--rose);transform:rotate(-45deg);}
.price-card .btn{margin-top:auto;justify-content:center;}
.price-note{position:relative;display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 20px;max-width:520px;}
.price-note svg{width:26px;height:26px;stroke:var(--rose);fill:none;stroke-width:1.6;flex:none;}
.price-note b{color:var(--ink);display:block;font-size:0.88rem;}
.price-note span{font-size:0.8rem;color:var(--ink-soft);}
.price-note .btn{margin-left:auto;}

.ptable-wrap{overflow-x:auto;}
.ptable{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;min-width:560px;}
.ptable th,.ptable td{padding:15px 20px;text-align:center;font-size:0.85rem;border-bottom:1px solid var(--line);}
.ptable tr:last-child th,.ptable tr:last-child td{border-bottom:0;}
.ptable thead th{font-family:var(--font-display);font-weight:500;color:var(--ink);font-size:0.98rem;}
.ptable thead th small{display:block;font-family:var(--font-body);font-size:0.75rem;color:var(--ink-soft);font-weight:400;}
.ptable tbody th{text-align:left;font-weight:500;color:var(--ink-soft);font-family:var(--font-body);}
.ptable .chk{color:var(--rose);font-size:1rem;}

/* ---- tabs (delegate) -------------------------------------- */
.tabs{max-width:1040px;margin:0 auto;}
.tabs > input{position:absolute;opacity:0;pointer-events:none;}
.tabs-nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:24px;}
.tabs-nav label{padding:9px 18px;border-radius:var(--r-pill);border:1px solid var(--line);font-size:0.82rem;font-weight:500;color:var(--ink-soft);cursor:pointer;transition:background .15s,color .15s,border-color .15s;}
.tabs-nav label:hover{border-color:var(--rose);color:var(--rose);}
.tab-panel{display:none;}
#tab1:checked~.tabs-nav label[for="tab1"],
#tab2:checked~.tabs-nav label[for="tab2"],
#tab3:checked~.tabs-nav label[for="tab3"],
#tab4:checked~.tabs-nav label[for="tab4"],
#tab5:checked~.tabs-nav label[for="tab5"]{background:var(--grad);border-color:transparent;color:#fff;}
#tab1:checked~.tabs-body #panel1,
#tab2:checked~.tabs-body #panel2,
#tab3:checked~.tabs-body #panel3,
#tab4:checked~.tabs-body #panel4,
#tab5:checked~.tabs-body #panel5{display:block;}
.tab-inner{display:grid;grid-template-columns:0.85fr 1.4fr 0.8fr;gap:24px;align-items:start;background:var(--card-warm);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;}
@media(max-width:860px){ .tab-inner{grid-template-columns:1fr;} }
.tab-inner > img{border-radius:var(--r-md);width:100%;height:100%;object-fit:cover;max-height:220px;}
.tab-checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px 16px;}
@media(max-width:520px){ .tab-checks{grid-template-columns:1fr;} }
.tab-checks li{position:relative;padding-left:20px;font-size:0.83rem;color:var(--ink-soft);}
.tab-checks li::before{content:"";position:absolute;left:0;top:5px;width:11px;height:8px;border-left:2px solid var(--rose);border-bottom:2px solid var(--rose);transform:rotate(-45deg);}
.tab-note{background:var(--cream-2);border-radius:var(--r-md);padding:18px;font-size:0.8rem;color:var(--ink-soft);}
.tab-note b{color:var(--ink);display:block;margin-bottom:6px;font-size:0.85rem;}

/* ---- media + copy split --------------------------------- */
.media-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
@media(max-width:860px){ .media-split{grid-template-columns:1fr;gap:28px;} }
.media-split > img{border-radius:var(--r-lg);width:100%;object-fit:cover;box-shadow:var(--shadow-card);aspect-ratio:4/3;}
.media-split h2{font-weight:400;font-size:clamp(1.6rem,1.35rem+1.3vw,2.25rem);margin-bottom:14px;}
.media-split h2 .pink{color:var(--rose);}
.media-split .checklist{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:9px 16px;}
@media(max-width:520px){ .media-split .checklist{grid-template-columns:1fr;} }
.floatcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-float);padding:18px;}
.floatcard h4{font-family:var(--font-body);font-size:0.66rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:12px;}
.floatcard ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.floatcard li{display:flex;align-items:center;gap:9px;font-size:0.82rem;color:var(--ink-soft);}
.floatcard li .d{width:20px;height:20px;border-radius:6px;background:var(--cream-2);display:grid;place-items:center;font-size:0.6rem;font-weight:700;color:var(--rose-deep);flex:none;}
.mediawrap{position:relative;}
.mediawrap .floatcard{position:absolute;right:-18px;top:24px;max-width:220px;}
@media(max-width:860px){ .mediawrap .floatcard{position:static;max-width:none;margin-top:14px;} }

/* ---- need / handle two-column w/ badge ----------------- */
.needs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:44px;background:var(--card-warm);border:1px solid var(--line);border-radius:var(--r-xl);padding:44px;}
@media(max-width:760px){ .needs{grid-template-columns:1fr;gap:24px;padding:30px 22px;} }
.needs h3{font-size:0.78rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--rose);margin-bottom:16px;}
.needs .checklist li{font-size:0.85rem;}
.needs-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;text-align:center;font-size:0.58rem;font-weight:700;letter-spacing:0.03em;text-transform:uppercase;line-height:1.25;box-shadow:var(--shadow-card);padding:6px;}
@media(max-width:760px){ .needs-badge{position:static;transform:none;margin:0 auto;} }

/* ---- results / testimonials --------------------------- */
.bigstats{display:flex;flex-wrap:wrap;gap:34px 44px;}
.bigstat .n{font-family:var(--font-display);font-size:clamp(1.9rem,1.5rem+1.4vw,2.7rem);color:var(--rose-deep);line-height:1;}
.bigstat .l{font-size:0.76rem;color:var(--ink-soft);margin-top:6px;max-width:17ch;line-height:1.4;}
.tcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-card);}
.tcard > p{font-size:0.88rem;line-height:1.6;color:var(--ink-soft);font-style:italic;margin-bottom:16px;}
.tcard .who{display:flex;align-items:center;gap:12px;}
.tcard .who .av{width:42px;height:42px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:600;font-size:0.82rem;flex:none;}
.tcard .who b{display:block;font-size:0.84rem;color:var(--ink);}
.tcard .who span{font-size:0.74rem;color:var(--ink-mute);}
.tcard .stars{color:var(--coral);font-size:0.78rem;letter-spacing:2px;margin-left:auto;align-self:center;}

/* ---- contact / connect ------------------------------- */
.connect-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:24px;align-items:start;}
@media(max-width:900px){ .connect-grid{grid-template-columns:1fr;} }
.connect-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:34px;box-shadow:var(--shadow-card);}
@media(max-width:640px){ .connect-card{padding:24px 20px;} }
.connect-card > .klabel{margin-bottom:10px;}
.connect-card h2{font-weight:400;font-size:1.45rem;margin-bottom:10px;}
.connect-card > p{font-size:0.86rem;color:var(--ink-soft);margin-bottom:20px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:520px){ .form-row{grid-template-columns:1fr;} }
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.field label{font-size:0.77rem;font-weight:500;color:var(--ink);}
.field label .req{color:var(--rose);}
.field input,.field select,.field textarea{font-family:inherit;font-size:0.88rem;padding:11px 13px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--card-warm);color:var(--ink);width:100%;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--rose);}
.field textarea{resize:vertical;min-height:80px;}
.pillset{display:flex;flex-wrap:wrap;gap:8px;}
.pillset label{padding:9px 14px;border-radius:var(--r-pill);border:1px solid var(--line);font-size:0.8rem;color:var(--ink-soft);cursor:pointer;position:relative;}
.pillset input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.pillset label:has(input:checked){background:var(--grad);border-color:transparent;color:#fff;}
.connect-side{display:flex;flex-direction:column;gap:18px;}
.connect-side .checklist li{font-size:0.85rem;}
.mini-cal table{width:100%;border-collapse:collapse;margin-top:6px;}
.mini-cal caption{text-align:left;font-size:0.82rem;font-weight:600;color:var(--ink);padding-bottom:8px;}
.mini-cal th{font-size:0.64rem;color:var(--ink-mute);font-weight:600;padding:6px 0;}
.mini-cal td{text-align:center;font-size:0.78rem;padding:7px 0;color:var(--ink-soft);}
.mini-cal td .d{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;}
.mini-cal td.on .d{background:var(--grad);color:#fff;}
.mini-cal td.dim{color:var(--line);}
.slot{display:block;width:100%;text-align:center;border:1px solid var(--line);border-radius:var(--r-pill);padding:9px;font-size:0.8rem;color:var(--rose);margin-bottom:8px;background:var(--card);cursor:pointer;}
.slot:hover{border-color:var(--rose);}
.form-note{font-size:0.76rem;color:var(--ink-mute);text-align:center;margin-top:8px;}

/* ---- trust bar ------------------------------------- */
.trustbar{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 46px;background:var(--cream-2);border-radius:var(--r-lg);padding:24px 32px;}
.trustbar-item{display:flex;align-items:center;gap:11px;font-size:0.82rem;color:var(--ink-soft);}
.trustbar-item b{color:var(--ink);font-weight:600;}
.trustbar-item svg{width:22px;height:22px;stroke:var(--rose);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none;}

/* ---- wide gradient CTA (full-bleed feel) ---------- */
.ctaband--wide{background:var(--grad);position:relative;overflow:hidden;}
.ctaband--wide .ctaband-inner{position:relative;z-index:1;}
.ctaband--wide h2{color:#fff;font-weight:400;}
.ctaband--wide h2 .pink{color:#fff;opacity:0.9;}
.ctaband--wide p{color:rgba(255,255,255,0.9);}
.ctaband--wide .spark{position:absolute;color:rgba(255,255,255,0.5);font-size:1.4rem;}
.ctaband--wide .spark.s1{left:3%;top:24%;}
.ctaband--wide .spark.s2{right:4%;bottom:20%;}

/* ---- category columns (resources) ---------------- */
.catcols{display:grid;grid-template-columns:repeat(5,1fr);gap:0;}
@media(max-width:900px){ .catcols{grid-template-columns:repeat(3,1fr);gap:24px;} }
@media(max-width:560px){ .catcols{grid-template-columns:1fr 1fr;} }
.catcol{padding:0 22px;border-left:1px solid var(--line);text-align:center;}
.catcol:first-child{border-left:0;}
@media(max-width:900px){ .catcol{border-left:0;padding:0;} }
.catcol .ic-badge{margin:0 auto 14px;}
.catcol h3{font-family:var(--font-body);font-size:0.92rem;font-weight:600;color:var(--ink);margin-bottom:8px;}
.catcol p{font-size:0.8rem;line-height:1.5;color:var(--ink-soft);margin-bottom:12px;}
.catcol a{font-size:0.8rem;font-weight:600;color:var(--rose);}

/* ---- article cards (resources featured) --------- */
.artgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media(max-width:960px){ .artgrid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:520px){ .artgrid{grid-template-columns:1fr;} }
.artcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .16s ease,box-shadow .16s ease;}
.artcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);}
.artcard .thumb{aspect-ratio:16/10;background:var(--grad-soft);display:grid;place-items:center;}
.artcard .thumb svg{width:34px;height:34px;stroke:#fff;fill:none;stroke-width:1.5;opacity:0.9;}
.artcard .body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.artcard .cat{font-size:0.62rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-mute);}
.artcard h3{font-family:var(--font-body);font-size:0.95rem;font-weight:600;color:var(--ink);line-height:1.3;}
.artcard p{font-size:0.8rem;color:var(--ink-soft);line-height:1.5;}
.artcard .more{margin-top:auto;font-size:0.8rem;font-weight:600;color:var(--rose);}

/* ---- download cards --------------------------------- */
.dlgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:860px){ .dlgrid{grid-template-columns:1fr;} }
.dlcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:12px;}
.dlcard .ic-badge{background:var(--grad-soft);}
.dlcard .ic-badge svg{stroke:#fff;}
.dlcard h3{font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--ink);}
.dlcard p{font-size:0.82rem;color:var(--ink-soft);line-height:1.55;flex:1;}
.dlcard .btn{align-self:flex-start;}

/* ---- section heading helper (centered, inner pages) --- */
.ihead{text-align:center;max-width:640px;margin:0 auto 44px;}
.ihead .klabel{justify-content:center;}
.ihead h2{font-weight:400;font-size:clamp(1.7rem,1.4rem+1.5vw,2.5rem);margin-bottom:12px;}
.ihead h2 .pink{color:var(--rose);}
.ihead p{font-size:0.98rem;color:var(--ink-soft);}

/* ---- free-download email-gate modal + notice ---------------- */
.dl-notice{max-width:640px;margin:0 auto 24px;border-radius:var(--r-md);padding:14px 18px;font-size:0.86rem;text-align:center;}
.dl-notice.ok{background:rgba(46,158,110,0.12);color:#1E7A4F;}
.dl-notice.err{background:rgba(198,57,110,0.10);color:var(--rose-deep);}
.dl-modal{
  width:min(420px,92vw);border:1px solid var(--line);border-radius:var(--r-xl);
  padding:34px 32px;background:var(--card);color:var(--ink-soft);
  box-shadow:var(--shadow-float);position:relative;
}
.dl-modal::backdrop{background:rgba(31,24,35,0.45);backdrop-filter:blur(2px);}
.dl-modal[open]{animation:dlpop .18s ease;}
@keyframes dlpop{from{opacity:0;transform:translateY(8px) scale(0.98);}to{opacity:1;transform:none;}}
.dl-modal .dl-x{
  position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;
  border:0;background:var(--cream-2);color:var(--ink-soft);font-size:1.2rem;line-height:1;cursor:pointer;
}
.dl-modal .dl-x:hover{background:var(--line);color:var(--ink);}
.dl-modal .field{margin-bottom:14px;}
@media(prefers-reduced-motion:reduce){ .dl-modal[open]{animation:none;} }

/* =======================================================================
   BLOG — "The VIA Edit" index + article pages
   ======================================================================= */

.hero-swoosh{display:block;margin:18px auto 4px;width:150px;height:46px;}
.hero-swoosh path{fill:none;stroke:var(--rose);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}

/* ---- index hero ---- */
.blog-hero{text-align:center;padding:50px 0 26px;}
.blog-hero .klabel{justify-content:center;}
.blog-hero h1{font-weight:400;font-size:clamp(2.4rem,1.9rem+2.6vw,3.6rem);margin-bottom:14px;}
.blog-hero p{max-width:54ch;margin:0 auto;color:var(--ink-soft);font-size:1rem;}

/* ---- filter bar ---- */
.filterbar{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:22px;box-shadow:var(--shadow-card);max-width:1000px;margin:0 auto 40px;}
.blog-search{position:relative;margin-bottom:16px;}
.blog-search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:16px;height:16px;stroke:var(--ink-mute);fill:none;stroke-width:2;}
.blog-search input{width:100%;font-family:inherit;font-size:0.9rem;padding:12px 16px 12px 42px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card-warm);color:var(--ink);}
.blog-search input:focus{outline:none;border-color:var(--rose);}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.chip{font-family:inherit;font-size:0.78rem;font-weight:500;padding:9px 16px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--card);color:var(--ink-soft);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;}
.chip:hover{border-color:var(--rose);color:var(--rose);}
.chip.on{background:var(--grad);border-color:transparent;color:#fff;}

/* ---- post grid + cards ---- */
.postgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:900px){ .postgrid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .postgrid{grid-template-columns:1fr;} }
.postcard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform .16s ease,box-shadow .16s ease;}
.postcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);}
.postcard.hide{display:none;}
.postcard-head{height:130px;display:grid;place-items:center;background:linear-gradient(160deg,var(--coral) 0%,var(--rose) 100%);}
.postcard-head svg{width:34px;height:34px;stroke:#fff;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.postcard-body{padding:20px;display:flex;flex-direction:column;gap:9px;flex:1;}
.postcard-body .cat{font-size:0.62rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-mute);}
.postcard-body h3{font-family:var(--font-body);font-size:1rem;font-weight:600;line-height:1.32;color:var(--ink);}
.postcard-body p{font-size:0.82rem;line-height:1.55;color:var(--ink-soft);}
.postcard-body .more{margin-top:auto;font-size:0.8rem;font-weight:600;color:var(--rose);}
.postcard-body .more.muted{color:var(--ink-mute);font-weight:500;}
.loadmore{text-align:center;margin-top:34px;}
.noresults{text-align:center;color:var(--ink-mute);padding:44px 0;display:none;}

/* ---- soft pink CTA band ---- */
.softcta{background:linear-gradient(120deg,#FBE4EC 0%,#FCE9DF 100%);border:1px solid var(--line-warm);border-radius:var(--r-xl);padding:32px 40px;display:grid;grid-template-columns:1.1fr 1fr auto;gap:24px;align-items:center;position:relative;overflow:hidden;}
@media(max-width:820px){ .softcta{grid-template-columns:1fr;padding:26px 24px;} }
.softcta h2{font-weight:400;font-size:clamp(1.35rem,1.2rem+1vw,1.85rem);color:var(--ink);}
.softcta p{font-size:0.88rem;color:var(--ink-soft);}
.softcta .spark{position:absolute;color:var(--coral-soft);font-size:1.15rem;}
.softcta .spark.s1{left:2%;top:22%;} .softcta .spark.s2{right:3%;bottom:18%;}

/* ---- article page ---- */
.post-hero{text-align:center;padding:46px 0 22px;max-width:740px;margin:0 auto;}
.post-hero .klabel{justify-content:center;}
.post-hero h1{font-weight:400;font-size:clamp(2rem,1.6rem+2vw,3rem);line-height:1.16;margin-bottom:14px;}
.post-dek{font-size:1.02rem;color:var(--ink-soft);line-height:1.6;max-width:58ch;margin:0 auto 14px;}
.post-byline{font-size:0.8rem;color:var(--ink-mute);letter-spacing:0.02em;}

.post-layout{display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start;}
@media(max-width:940px){ .post-layout{grid-template-columns:1fr;} }
.post-body{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:46px;box-shadow:var(--shadow-card);}
@media(max-width:600px){ .post-body{padding:28px 22px;} }
.post-body > h2{font-weight:400;font-size:1.5rem;margin:0 0 14px;}
.post-lead{font-size:1rem;line-height:1.7;color:var(--ink-soft);margin-bottom:16px;}
.post-body p{font-size:0.95rem;line-height:1.7;color:var(--ink-soft);margin-bottom:16px;}
.post-body p:last-child{margin-bottom:0;}
.pullquote{border-left:3px solid var(--rose);background:var(--cream-2);border-radius:0 var(--r-md) var(--r-md) 0;padding:18px 22px;margin:24px 0;font-family:var(--font-display);font-style:italic;font-size:1.05rem;color:var(--ink);line-height:1.5;}
.post-section{margin-top:32px;padding-top:26px;border-top:1px solid var(--line);scroll-margin-top:90px;}
.post-section h3{display:flex;align-items:baseline;gap:12px;font-weight:400;font-size:1.3rem;margin-bottom:16px;}
.post-section h3 .sec-num{font-family:var(--font-display);color:var(--rose);font-size:1rem;flex:none;}
.post-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.post-checklist li{position:relative;padding-left:30px;font-size:0.92rem;color:var(--ink-soft);line-height:1.5;}
.post-checklist li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;border:1.6px solid var(--rose);background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="%23C6396E" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round" d="M6 12.5l4 4 8-9"/></svg>') no-repeat center / 11px 11px;}
.post-note{margin-top:26px;background:var(--cream-2);border-radius:var(--r-md);padding:20px 22px;display:flex;gap:14px;align-items:flex-start;}
.post-note .ic{width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none;}
.post-note .ic svg{width:18px;height:18px;stroke:var(--rose);fill:none;stroke-width:1.7;}
.post-note b{display:block;color:var(--ink);font-size:0.9rem;margin-bottom:4px;}
.post-note p{font-size:0.84rem;margin:0;color:var(--ink-soft);}

.post-aside{position:sticky;top:92px;display:flex;flex-direction:column;gap:18px;}
@media(max-width:940px){ .post-aside{position:static;} }
.post-toc{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;}
.post-toc h4{font-family:var(--font-body);font-size:0.64rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 12px;}
.post-toc a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;font-size:0.85rem;color:var(--rose);font-weight:500;border-bottom:1px solid var(--line);}
.post-toc a:last-child{border-bottom:0;}
.post-toc a::after{content:"\2192";opacity:0.6;}
.post-sidecta{background:var(--grad);color:#fff;border-radius:var(--r-lg);padding:28px;}
.post-sidecta h4{font-family:var(--font-display);font-weight:400;font-size:1.4rem;color:#fff;margin:0 0 8px;line-height:1.2;}
.post-sidecta p{font-size:0.85rem;color:rgba(255,255,255,0.9);margin-bottom:18px;}

.post-download{background:linear-gradient(120deg,#FBE4EC 0%,#FCE9DF 100%);border:1px solid var(--line-warm);border-radius:var(--r-xl);padding:28px 36px;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;}
@media(max-width:760px){ .post-download{grid-template-columns:1fr;} }
.post-download > .ic{width:52px;height:52px;border-radius:14px;background:#fff;display:grid;place-items:center;flex:none;}
.post-download > .ic svg{width:24px;height:24px;stroke:var(--rose);fill:none;stroke-width:1.6;}
.post-download .klabel{margin-bottom:6px;}
.post-download h3{font-weight:400;font-size:1.2rem;color:var(--ink);}
.post-download p{font-size:0.84rem;color:var(--ink-soft);margin-top:4px;}

/* industries mini icons row */
.indrow{display:flex;flex-wrap:wrap;gap:22px 30px;}
.inditem{display:flex;flex-direction:column;align-items:center;gap:8px;width:84px;text-align:center;}
.inditem .ic{width:44px;height:44px;border-radius:50%;background:rgba(198,57,110,0.08);display:grid;place-items:center;}
.inditem .ic svg{width:20px;height:20px;stroke:var(--rose);fill:none;stroke-width:1.6;}
.inditem span{font-size:0.72rem;color:var(--ink-soft);line-height:1.3;}
