
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --paper:#FFFFFF;
  --paper-2:#F7F5F1;      /* warm off-white for alt sections */
  --ink:#0A0A0A;          /* near-black */
  --ink-2:#1A1A1A;        /* subtle contrast */
  --muted:#6B6B6B;
  --line:#E6E3DC;          /* warm line */
  --line-2:rgba(255,255,255,.14);
  --purple:#492141;        /* Vincere purple */
  --purple-2:#371832;
  --purple-tint:#EEEEEE;
  --purple-lt:#A6A6A6;     /* purple for text on dark */
  --shadow:0 24px 60px rgba(10,10,10,.08);
}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:98px}
body{
  font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  background:var(--paper);color:var(--ink);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:3px solid var(--purple);outline-offset:3px}

.display{
  font-family:system-ui,sans-serif;
  font-weight:700;letter-spacing:-.035em;line-height:.98;
}
h1,h2,h3,h4{font-family:system-ui,sans-serif;letter-spacing:-.03em;line-height:1.05;margin:0}
h1{font-size:clamp(48px,8vw,120px);font-weight:700;letter-spacing:-.045em;line-height:.92}
h2{font-size:clamp(34px,4.6vw,64px);font-weight:700;letter-spacing:-.035em}
h3{font-size:clamp(22px,2vw,28px);font-weight:600;letter-spacing:-.025em;line-height:1.18}
h4{font-size:15px;font-weight:600;letter-spacing:-.01em}
p{margin:0 0 1em}p:last-child{margin-bottom:0}
em{font-style:normal;color:var(--purple)}

.wrap{max-width:1360px;margin:0 auto;padding:0 40px}
.wrap-narrow{max-width:1080px;margin:0 auto;padding:0 40px}

/* --------------------------------- NAV --------------------------------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:80;
  background:var(--ink);
  border-bottom:1px solid transparent;transition:box-shadow .2s;
}
.nav.stuck{box-shadow:0 6px 24px rgba(0,0,0,.35)}
.nav-in{max-width:1360px;margin:0 auto;padding:0 40px;height:80px;
  display:flex;align-items:center;gap:36px}
.nav-brand{flex:none;display:flex;align-items:center}
.nav-brand img{height:36px;width:auto;filter:brightness(0) invert(1)}
.nav-word{color:#fff;font-family:sans-serif;font-weight:700;font-size:26px;letter-spacing:-.03em;line-height:1}
.nav-mid{display:flex;gap:26px;margin-left:auto}
.nav-mid a{font-size:14.5px;font-weight:500;color:#fff;opacity:.75;transition:opacity .18s,color .18s}
.nav-mid a:hover{opacity:1;color:var(--purple)}
.nav-mid a[aria-current="page"]{opacity:1}
.nav-cta{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--purple);color:#fff;padding:12px 20px;
  font-size:13.5px;font-weight:600;letter-spacing:-.01em;
  border-radius:999px;transition:background .18s,transform .18s;
}
.nav-cta:hover{background:var(--purple-2);transform:translateY(-1px)}
.nav-cta .dot{width:6px;height:6px;background:#fff;border-radius:50%}
.burger{display:none;width:44px;height:44px;flex-direction:column;
  justify-content:center;align-items:center;gap:5px;margin-left:auto}
.burger span{width:22px;height:2px;background:#fff;transition:transform .25s,opacity .2s}
.burger.on span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.on span:nth-child(2){opacity:0}
.burger.on span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:900px){
  .nav-in{padding:0 22px;gap:0}
  .nav-mid{position:fixed;inset:80px 0 auto 0;background:var(--ink);
    border-bottom:1px solid rgba(255,255,255,.1);flex-direction:column;
    align-items:stretch;gap:0;padding:12px 22px 26px;margin:0;
    max-height:calc(100dvh - 80px);overflow-y:auto;
    transform:translateY(-8px);opacity:0;visibility:hidden;
    transition:transform .22s,opacity .22s,visibility .22s;}
  .nav-mid.open{transform:none;opacity:1;visibility:visible}
  .nav-mid a{padding:16px 6px;font-size:17px;border-bottom:1px solid rgba(255,255,255,.1);opacity:1}
  .nav-mid a:last-child{border-bottom:0}
  .burger{display:flex}
  .nav-cta{display:none}
}

/* ------------------------------- HERO ---------------------------------- */
.hero{padding:110px 0 80px;position:relative;overflow:hidden}
.hero::before{
  content:'';position:absolute;top:-40%;right:-20%;width:70%;height:120%;
  background:radial-gradient(closest-side,var(--purple-tint) 0%,transparent 62%);
  pointer-events:none;z-index:0;
}
.hero-in{position:relative;z-index:1;max-width:1360px;margin:0 auto;padding:0 40px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}
.hero-left{min-width:0}
.hero-right{min-width:0}
@media(max-width:1080px){.hero-grid{grid-template-columns:1fr;gap:56px}}
.eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-family:sans-serif;font-size:13px;font-weight:600;
  letter-spacing:.02em;color:var(--ink);
  padding:8px 14px;border:1px solid var(--line);border-radius:999px;
  background:rgba(255,255,255,.6);
}
.eyebrow .pulse{width:8px;height:8px;background:var(--purple);border-radius:50%;
  box-shadow:0 0 0 0 rgba(73,33,65,.5);animation:pulse 2.2s infinite}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(73,33,65,.5)}
  70%{box-shadow:0 0 0 10px rgba(73,33,65,0)}
  100%{box-shadow:0 0 0 0 rgba(73,33,65,0)}
}
.hero h1{margin:30px 0 26px;max-width:15ch;font-size:clamp(40px,5.8vw,80px)}
.hero .lede{font-size:clamp(19px,1.6vw,23px);line-height:1.55;color:var(--muted);max-width:56ch}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:44px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:17px 28px;font-family:sans-serif;font-weight:600;
  font-size:15px;letter-spacing:-.01em;border-radius:999px;
  border:2px solid transparent;transition:transform .18s,background .18s,color .18s,border-color .18s;
}
.btn:hover{transform:translateY(-2px)}
.btn-orange{background:var(--purple);color:#fff}
.btn-orange:hover{background:var(--purple-2)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:var(--purple)}
.btn-out{border-color:var(--ink);color:var(--ink)}
.btn-out:hover{background:var(--ink);color:#fff}
.btn-out-white{border-color:rgba(255,255,255,.3);color:#fff}
.btn-out-white:hover{background:#fff;color:var(--ink)}
.btn-arr::after{content:'→';font-family:sans-serif;transform:translateY(-1px)}

.hero-meta{
  margin-top:74px;padding-top:36px;border-top:1px solid var(--line);
  display:grid;grid-template-columns:auto 1fr auto;gap:34px;align-items:center;
}
.hero-meta .label{font-family:sans-serif;font-size:12px;
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.hero-meta .marks{display:flex;flex-wrap:wrap;gap:8px}
.mark-chip{
  font-family:sans-serif;font-size:13px;font-weight:500;
  padding:7px 13px;border:1px solid var(--line);border-radius:999px;
  color:var(--ink);opacity:.85;transition:all .18s;
}
.mark-chip:hover{border-color:var(--ink);opacity:1;background:var(--ink);color:#fff}
.mark-chip .n{color:var(--purple);font-weight:700;margin-right:6px}


.hero-form{
  background:var(--paper);border:1px solid var(--line);
  padding:34px 32px;border-radius:8px;
  box-shadow:0 30px 70px rgba(10,10,10,.08),0 2px 6px rgba(10,10,10,.04);
  position:relative;
}
.hero-form::before{
  content:'';position:absolute;top:-1px;left:-1px;right:-1px;height:4px;
  background:var(--purple);border-radius:8px 8px 0 0;
}
.hero-form .hf-tag{
  font-family:sans-serif;font-size:11px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--purple);
  margin-bottom:14px;display:inline-flex;align-items:center;gap:10px;
}
.hero-form .hf-tag::before{content:'';width:20px;height:1px;background:var(--purple)}
.hero-form h3{font-size:24px;font-weight:600;letter-spacing:-.025em;margin-bottom:8px}
.hero-form .hf-sub{font-size:14px;color:var(--muted);margin-bottom:22px;line-height:1.55}
.hero-form .f{margin-bottom:12px}
.hero-form .f label{
  display:block;font-family:sans-serif;font-size:11px;
  font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink);opacity:.7;margin-bottom:6px;
}
.hero-form .f input,.hero-form .f select{
  width:100%;padding:12px 14px;font-family:inherit;font-size:15px;
  background:var(--paper-2);border:1.5px solid var(--line);color:var(--ink);
  border-radius:6px;transition:border-color .18s,background .18s;
}
.hero-form .f input:focus,.hero-form .f select:focus{
  outline:none;border-color:var(--purple);background:#fff;
}
.hero-form .f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hero-form .btn{width:100%;margin-top:6px}
.hero-form .hf-note{
  margin-top:12px;text-align:center;font-size:12px;color:var(--muted);line-height:1.55;
}
.hero-form .hf-note a{color:var(--ink);text-decoration:underline}
.hero-form .hf-note a:hover{color:var(--purple)}
@media(max-width:560px){.hero-form{padding:26px 22px}.hero-form .f2{grid-template-columns:1fr}}

/* ---------------------------- BENTO GRID ------------------------------- */
.bento-wrap{padding:110px 0}
.bento-head{max-width:920px;margin-bottom:60px}
.bento-head .kicker{font-family:sans-serif;font-size:13px;
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--purple);margin-bottom:20px}
.bento-head h2{max-width:16ch}
.bento-head .sub{margin-top:22px;font-size:19px;color:var(--muted);
  line-height:1.6;max-width:64ch}
.bento{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:minmax(200px,auto);
  gap:14px;
}
.tile{
  position:relative;overflow:hidden;
  background:var(--paper-2);border:1px solid var(--line);
  padding:32px 30px;display:flex;flex-direction:column;
  transition:transform .22s ease,background .22s,border-color .22s,color .22s;
  min-height:200px;
}
.tile:hover{transform:translateY(-4px);border-color:var(--ink)}
.tile-idx{
  font-family:sans-serif;font-size:12px;font-weight:600;
  letter-spacing:.14em;color:var(--muted);margin-bottom:auto;
}
.tile h3{margin:0;font-size:clamp(22px,1.9vw,28px)}
.tile p{margin:10px 0 0;font-size:14.5px;color:var(--muted);line-height:1.62}
.tile-body{margin-top:32px}
.tile .arr{position:absolute;bottom:24px;right:26px;font-size:22px;color:var(--ink);
  transition:transform .22s;font-family:sans-serif}
.tile:hover .arr{transform:translate(4px,-4px)}
.tile-featured{background:var(--purple);border-color:var(--purple);color:#fff}
.tile-featured .tile-idx{color:rgba(255,255,255,.65)}
.tile-featured p{color:rgba(255,255,255,.85)}
.tile-featured .arr{color:#fff}
.tile-featured:hover{background:var(--purple-2);border-color:var(--purple-2)}
.tile-dark{background:var(--ink);border-color:var(--ink);color:#fff}
.tile-dark .tile-idx{color:rgba(255,255,255,.5)}
.tile-dark p{color:rgba(255,255,255,.7)}
.tile-dark .arr{color:#fff}
.tile-dark:hover{background:var(--ink-2)}
.tile-wide{grid-column:span 4}
.tile-tall{grid-row:span 2}
.tile-2{grid-column:span 2}
.tile-3{grid-column:span 3}
.tile-6{grid-column:span 6}

@media(max-width:1080px){
  .bento{grid-template-columns:repeat(4,1fr)}
  .tile-wide,.tile-3{grid-column:span 4}
  .tile-2{grid-column:span 2}
  .tile-tall{grid-row:span 1}
}
@media(max-width:640px){
  .bento{grid-template-columns:1fr;gap:12px}
  .tile-wide,.tile-2,.tile-3,.tile-6{grid-column:span 1}
}

/* ---------------------------- SECTIONS --------------------------------- */
.sec{padding:120px 0;position:relative}
.sec-tight{padding:80px 0}
.sec-alt{background:var(--paper-2)}
.sec-dark{background:var(--ink);color:#fff}
.sec-orange{background:var(--purple);color:#fff}

.sec-head{max-width:920px;margin-bottom:60px}
.sec-head .kicker{font-family:sans-serif;font-size:13px;
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--purple);
  margin-bottom:20px;display:inline-flex;align-items:center;gap:12px}
.sec-head .kicker::before{content:'';width:26px;height:1px;background:var(--purple)}
.sec-dark .sec-head .kicker{color:var(--purple)}
.sec-orange .sec-head .kicker{color:#fff}
.sec-orange .sec-head .kicker::before{background:#fff}
.sec-head .sub{margin-top:22px;font-size:19px;color:var(--muted);line-height:1.6;max-width:64ch}
.sec-dark .sec-head .sub{color:rgba(255,255,255,.68)}
.sec-orange .sec-head .sub{color:rgba(255,255,255,.9)}

/* ------------------------ EDITORIAL STATEMENT -------------------------- */
.statement{padding:150px 0 160px;text-align:center}
.statement .quote{
  font-family:sans-serif;
  font-size:clamp(38px,5.6vw,86px);font-weight:600;
  letter-spacing:-.035em;line-height:1.02;color:#fff;
  max-width:20ch;margin:0 auto;
}
.statement .quote em{color:var(--ink)}
.statement .attribution{
  margin-top:44px;font-family:sans-serif;font-size:14px;
  font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.82);
}

/* ---------------------------- STAGE TRIO ------------------------------- */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink)}
.trio-col{padding:44px 34px 40px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.trio-col:last-child{border-right:0}
.trio-col .cap{
  font-family:sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--purple);
  margin-bottom:24px;
}
.trio-col h3{font-size:clamp(28px,2.6vw,40px);font-weight:700;
  letter-spacing:-.03em;margin-bottom:14px}
.trio-col > p{font-size:15px;color:var(--muted);line-height:1.65;margin-bottom:28px}
.trio-links{display:flex;flex-direction:column;gap:0}
.trio-links a{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:15px 0;border-top:1px solid var(--line);
  font-family:sans-serif;font-weight:600;font-size:16px;
  transition:padding-left .18s,color .18s;
}
.trio-links a:hover{padding-left:8px;color:var(--purple)}
.trio-links a small{display:block;font-family:sans-serif;font-weight:400;
  font-size:13px;color:var(--muted);margin-top:3px}
.trio-links a .arr{color:var(--purple);font-family:sans-serif;flex:none}
@media(max-width:900px){
  .trio{grid-template-columns:1fr}
  .trio-col{border-right:0;border-bottom:1px solid var(--ink)}
}

/* --------------------------- SPLIT / PROSE ----------------------------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.split.mid{align-items:center}
.split.uneven{grid-template-columns:5fr 4fr}
.prose h3{margin:36px 0 12px;color:inherit}
.prose h3:first-child{margin-top:0}
.prose p{font-size:17px;line-height:1.72;color:var(--muted)}
.sec-dark .prose p{color:rgba(255,255,255,.72)}
.panel{
  background:var(--paper);border:1px solid var(--line);
  padding:38px 34px;
}
.panel-dark{background:var(--ink);color:#fff;padding:38px 34px}
.panel h4{
  font-family:sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--purple);margin-bottom:24px;
}
.panel-dark h4{color:var(--purple)}
.checks li{
  display:flex;align-items:flex-start;gap:14px;
  padding:13px 0;border-bottom:1px solid var(--line);
  font-size:15.5px;line-height:1.6;
}
.panel-dark .checks li{border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.85)}
.checks li:last-child{border-bottom:0}
.checks .dot{
  flex:none;width:16px;height:16px;border-radius:50%;
  background:var(--purple);margin-top:5px;position:relative;
}
.checks .dot::after{
  content:'';position:absolute;inset:0;margin:auto;width:6px;height:6px;
  background:#fff;border-radius:50%;
}
@media(max-width:900px){
  .split,.split.uneven{grid-template-columns:1fr;gap:50px}
}

/* ------------------------------ STEPS ---------------------------------- */
.steps{margin-top:12px;border-top:1px solid var(--ink)}
.step{
  display:grid;grid-template-columns:120px 1fr auto;gap:40px;
  padding:36px 0;border-bottom:1px solid var(--line);
  align-items:baseline;
}
.step-n{
  font-family:sans-serif;font-size:56px;font-weight:600;
  letter-spacing:-.04em;color:var(--purple);line-height:1;
}
.step h4{font-size:24px;font-weight:600;letter-spacing:-.02em;margin-bottom:10px;color:inherit}
.step p{font-size:16px;color:var(--muted);line-height:1.68;max-width:60ch}
.sec-dark .step p{color:rgba(255,255,255,.72)}
.step-caret{font-family:sans-serif;font-size:22px;color:var(--ink);opacity:.35}
.sec-dark .step-caret{color:#fff;opacity:.4}
@media(max-width:760px){
  .step{grid-template-columns:1fr;gap:12px}
  .step-n{font-size:36px}
  .step-caret{display:none}
}

/* ------------------------------ METRICS -------------------------------- */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.metric{padding:32px 28px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.14)}
.metric .k{
  font-family:sans-serif;font-size:18px;font-weight:600;
  letter-spacing:-.01em;color:var(--purple);margin-bottom:10px;
}
.metric p{font-size:14px;color:rgba(255,255,255,.65);line-height:1.6}
@media(max-width:900px){.grid4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid4{grid-template-columns:1fr}}

/* --------------------------- PACKAGES ---------------------------------- */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pkg{
  background:var(--paper);border:1px solid var(--line);padding:38px 32px;
  display:flex;flex-direction:column;transition:transform .22s,border-color .22s,box-shadow .22s;
}
.pkg:hover{transform:translateY(-4px);border-color:var(--ink);box-shadow:var(--shadow)}
.pkg-tag{font-family:sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--purple);margin-bottom:16px}
.pkg h3{font-size:26px;font-weight:700;margin-bottom:14px}
.pkg p.pkg-p{font-size:15px;color:var(--muted);line-height:1.65;margin-bottom:26px;min-height:5em}
.pkg .checks{margin-top:auto}
.pkg .foot{margin-top:24px;padding-top:22px;border-top:1px solid var(--line);
  font-family:sans-serif;font-size:13px;font-weight:600;color:var(--ink)}
.pkg .foot .p{color:var(--muted);font-weight:400;font-size:13px;margin-top:4px}
@media(max-width:900px){.grid3{grid-template-columns:1fr;gap:14px}
  .pkg p.pkg-p{min-height:0}
}

/* ------------------------------ FAQ ------------------------------------ */
.faq{border-top:1px solid var(--ink)}
.faq-i{border-bottom:1px solid var(--line)}
.faq-q{
  width:100%;text-align:left;display:flex;justify-content:space-between;
  align-items:center;gap:24px;padding:28px 0;
  font-family:sans-serif;font-size:20px;font-weight:600;
  letter-spacing:-.02em;color:var(--ink);
}
.faq-q .pl{
  flex:none;width:32px;height:32px;border-radius:50%;
  background:var(--paper);border:1.5px solid var(--ink);
  display:grid;place-items:center;transition:all .25s;
  font-family:sans-serif;font-size:18px;line-height:1;
}
.faq-i.open .pl{transform:rotate(45deg);background:var(--purple);
  border-color:var(--purple);color:#fff}
.faq-a{max-height:0;overflow:hidden;transition:max-height .32s ease}
.faq-a > div{padding:0 0 28px;font-size:16px;color:var(--muted);line-height:1.72;max-width:78ch}

/* --------------------------- RELATED CARDS ----------------------------- */
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rel-c{
  padding:34px 30px;background:var(--paper);border:1px solid var(--line);
  display:flex;flex-direction:column;
  transition:transform .22s,border-color .22s,background .22s,color .22s;
}
.rel-c:hover{transform:translateY(-4px);background:var(--ink);color:#fff;border-color:var(--ink)}
.rel-c:hover .rel-tag{color:var(--purple)}
.rel-c:hover p{color:rgba(255,255,255,.7)}
.rel-c:hover .rel-arr{color:var(--purple)}
.rel-tag{font-family:sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.16em;color:var(--purple);margin-bottom:16px}
.rel-c h3{font-size:22px;font-weight:600;margin-bottom:10px}
.rel-c p{font-size:14.5px;color:var(--muted);line-height:1.65;flex:1}
.rel-arr{margin-top:24px;font-family:sans-serif;font-size:13px;
  font-weight:600;letter-spacing:-.01em;color:var(--ink);display:inline-flex;align-items:center;gap:8px}
.rel-c:hover .rel-arr{gap:14px}
@media(max-width:900px){.rel{grid-template-columns:1fr;gap:14px}}

/* ---------------------------- PAGE HERO -------------------------------- */
.phero{padding:150px 0 90px;position:relative;overflow:hidden}
.phero::before{
  content:'';position:absolute;top:-40%;right:-15%;width:60%;height:110%;
  background:radial-gradient(closest-side,var(--purple-tint) 0%,transparent 62%);
  pointer-events:none;z-index:0;
}
.phero-in{position:relative;z-index:1}
.crumb{font-family:sans-serif;font-size:13px;font-weight:500;
  letter-spacing:.02em;color:var(--muted);margin-bottom:26px}
.crumb a:hover{color:var(--purple)}
.crumb .sep{margin:0 10px;opacity:.4}
.phero h1{font-size:clamp(40px,6.6vw,92px);max-width:20ch;margin-bottom:26px}
.phero .lede{font-size:clamp(18px,1.5vw,22px);color:var(--muted);line-height:1.55;max-width:56ch}

/* ---------------------------- BIG CALLOUT ------------------------------ */
.callout{padding:120px 0}
.callout .in{
  max-width:1200px;margin:0 auto;padding:0 40px;
  display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;
}
.callout h2{max-width:20ch;color:#fff}
.callout p{color:rgba(255,255,255,.85);margin-top:20px;max-width:52ch;font-size:18px;line-height:1.6}
.callout .cbtns{display:flex;flex-direction:column;gap:12px}
@media(max-width:900px){.callout .in{grid-template-columns:1fr;padding:0 22px}}

/* ---------------------------- CONTACT ---------------------------------- */
.contact-in{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.contact-side .display-tel{
  display:inline-block;font-family:sans-serif;
  font-size:clamp(34px,3.6vw,52px);font-weight:600;letter-spacing:-.03em;
  color:#fff;margin-top:12px;line-height:1;
}
.contact-side .display-tel:hover{color:var(--purple)}
.contact-side .email-line{margin-top:16px;color:rgba(255,255,255,.65)}
.contact-side .email-line a:hover{color:var(--purple)}
.form{background:var(--paper);color:var(--ink);padding:44px 40px;border-radius:6px}
.form h3{font-size:26px;font-weight:600;margin-bottom:6px}
.form .form-sub{font-size:14px;color:var(--muted);margin-bottom:28px;line-height:1.55}
.f{margin-bottom:16px}
.f label{display:block;font-family:sans-serif;font-size:12px;
  font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);
  opacity:.75;margin-bottom:7px}
.f input,.f select,.f textarea{
  width:100%;padding:14px 16px;font-family:inherit;font-size:15px;
  background:var(--paper-2);border:1.5px solid var(--line);color:var(--ink);
  border-radius:6px;transition:border-color .18s,background .18s;
}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;
  border-color:var(--purple);background:#fff}
.f textarea{min-height:100px;resize:vertical}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form .btn{width:100%;margin-top:6px}
.form-note{margin-top:14px;text-align:center;font-size:12px;color:var(--muted);line-height:1.55}
.hp{position:absolute;left:-9999px}
@media(max-width:900px){.contact-in{grid-template-columns:1fr;gap:44px}
  .form{padding:30px 24px}
  .f2{grid-template-columns:1fr}
}

/* ---------------------------- FOOTER ----------------------------------- */
.foot{background:var(--ink);color:rgba(255,255,255,.6);padding:80px 0 36px}
.foot-in{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;
  padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-logo{display:inline-block;margin-bottom:22px}
.foot-logo img{height:38px;width:auto;display:block}
.foot-logo .chip-word{display:none;color:#fff;font-family:sans-serif;font-weight:700;font-size:19px;letter-spacing:-.02em;line-height:1.05}
.foot-logo .chip-word small{display:block;font-size:9px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:5px}
.foot-logo.nologo .chip-word{display:block}
.foot-logo img{height:32px;width:auto}
.foot h5{font-family:sans-serif;font-size:12px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:20px}
.foot li{margin-bottom:11px;font-size:14.5px}
.foot a:hover{color:var(--purple)}
.foot-desc{font-size:14.5px;line-height:1.7;max-width:38ch}
.foot-tel{color:var(--purple);font-family:sans-serif;
  font-weight:600;font-size:20px;letter-spacing:-.01em;display:inline-block;margin-top:16px}
.foot-tel:hover{color:#fff}
.foot-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;
  padding-top:28px;font-size:13px;color:rgba(255,255,255,.4)}
@media(max-width:900px){.foot-in{grid-template-columns:1fr 1fr;gap:36px}}
@media(max-width:560px){.foot-in{grid-template-columns:1fr}}

/* ---------------------------- REVEAL ----------------------------------- */
.rv{opacity:1;transform:none}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}

@media(max-width:900px){
  .wrap,.wrap-narrow{padding:0 22px}
  .sec{padding:80px 0}
  .sec-tight{padding:60px 0}
  .hero{padding:100px 0 50px}
  .phero{padding:120px 0 60px}
  .statement{padding:100px 0}
  .callout{padding:80px 0}
  .bento-wrap{padding:80px 0}
  .btn{width:100%}
}

/* -- contact section on grey -- */
#contact.sec-grey{background:#EAE7E2;color:var(--ink)}
#contact.sec-grey .kicker{color:var(--purple)}
#contact.sec-grey h2{color:var(--ink)}
#contact.sec-grey .sub{color:var(--muted)}
#contact.sec-grey .display-tel{color:var(--ink)}
#contact.sec-grey .display-tel:hover{color:var(--purple)}
#contact.sec-grey .email-line{color:var(--muted)}
#contact.sec-grey .email-line a{color:var(--muted)}
#contact.sec-grey .email-line a:hover{color:var(--purple)}
#contact.sec-grey .contact-side .kicker[style]{color:var(--muted)!important}
#contact.sec-grey .form{box-shadow:0 20px 50px rgba(10,10,10,.07)}

#contact.sec-grey .kicker-quiet{
  color:var(--muted);letter-spacing:.14em;font-size:12px;
  font-family:sans-serif;font-weight:600;text-transform:uppercase;
}

/* ============ photography ============ */
.ph{
  position:relative;width:100%;overflow:hidden;border-radius:16px;
  background:var(--paper-2);
}
.ph::before{content:"";display:block;padding-top:var(--ar,62.5%)}
.ph img,.ph .ph-fallback{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block;
}
.ph-wide{--ar:42%}
.ph-tall{--ar:118%}
.ph-sq{--ar:88%}

/* subtle brand wash so stock never reads as generic */
.ph-tint::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(160deg,rgba(73,33,65,.14),rgba(10,10,10,.30));
  mix-blend-mode:multiply;
}
.ph-dark::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,10,10,0) 35%,rgba(10,10,10,.72));
}
.ph-cap{
  position:absolute;left:0;right:0;bottom:0;padding:26px 28px;z-index:2;
  color:#fff;font-size:15.5px;line-height:1.5;
}
.ph-cap b{display:block;font-family:sans-serif;font-weight:700;
  font-size:19px;letter-spacing:-.02em;margin-bottom:6px}

/* placeholder shown until a real file is dropped in */
.ph-fallback{
  display:flex;align-items:center;justify-content:center;text-align:center;
  background:
    linear-gradient(135deg,rgba(73,33,65,.10),rgba(10,10,10,.06)),
    repeating-linear-gradient(45deg,transparent 0 14px,rgba(10,10,10,.035) 14px 28px);
  border:1px dashed var(--line);border-radius:16px;
}
.ph-fallback span{
  font-family:sans-serif;font-size:11.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  padding:0 22px;line-height:1.7;
}

/* image + copy band */
.imgband{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;margin-top:56px}
.imgband-r{direction:rtl}
.imgband-r > *{direction:ltr}

/* channel panel thumbnail */
.chan-ph{margin-top:28px}

@media(max-width:980px){
  .imgband{grid-template-columns:1fr;gap:34px}
  .ph-wide{--ar:56%}
}

/* -- channel strip on service pages -- */
.chanbar{border-bottom:1px solid var(--line);background:var(--paper)}
.chanbar-in{
  display:flex;gap:10px;flex-wrap:wrap;justify-content:center;
  padding:22px 0;
}
.chanbar a{flex:1 1 0;min-width:0;text-align:center}
.chanbar a{
  font-family:sans-serif;font-weight:600;font-size:13.5px;
  letter-spacing:.04em;text-decoration:none;
  padding:11px 20px;border-radius:999px;
  border:1px solid var(--line);color:var(--ink);
  transition:background .18s,color .18s,border-color .18s;
}
.chanbar a:hover{border-color:var(--ink)}
.chanbar a[aria-current="page"]{background:var(--purple);border-color:var(--purple);color:#fff}
@media(max-width:640px){
  .chanbar a{flex:0 1 auto}
  .chanbar-in{gap:6px;padding:16px 0}
  .chanbar a{padding:9px 15px;font-size:12.5px}
}

/* -- service page intro: prose across the top, list in two columns below -- */
.split.uneven{grid-template-columns:1fr;gap:56px}
.split.uneven .prose{
  column-count:2;column-gap:72px;position:static;
}
.split.uneven .prose h3{margin-top:0;break-after:avoid}
.split.uneven .prose h3 + p{break-inside:avoid;margin-bottom:0}
.split.uneven .prose > *:not(:first-child){margin-top:0}
.split.uneven .prose p{margin-bottom:34px}
.split.uneven .panel{padding:44px 44px 40px}
.split.uneven .panel .checks{column-count:2;column-gap:56px}
.split.uneven .panel .checks li{break-inside:avoid}
.split.uneven .panel .checks li:last-child{border-bottom:1px solid var(--line)}
@media(max-width:900px){
  .split.uneven{gap:40px}
  .split.uneven .prose{column-count:1}
  .split.uneven .prose p{margin-bottom:24px}
  .split.uneven .panel{padding:32px 24px}
  .split.uneven .panel .checks{column-count:1}
}

/* -- in-page photography -- */
.sec-ph{margin:0}
.ph-band{padding:0 0 84px}
.ph-band .wrap{max-width:1220px}
@media(max-width:900px){.ph-band{padding:0 0 58px}}

@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}}

/* Vincere type: same self-hosted faces as the Vincere site */
h1,h2,h3,.display,.nav-word,.chip-word{font-family:Arial,sans-serif!important;font-weight:600!important}
h1{letter-spacing:-.028em!important;line-height:.96!important}
h2{letter-spacing:-.02em!important;line-height:1.02!important}
h3{letter-spacing:-.01em!important}
.phero h1{font-size:clamp(34px,4.6vw,66px)!important;max-width:18ch}
/* scroll progress bar */
.scroll-prog{position:fixed;top:0;left:0;right:0;height:3px;z-index:200;pointer-events:none;
  background:linear-gradient(90deg,var(--purple),var(--purple-lt));
  transform:scaleX(0);transform-origin:0 50%;will-change:transform}
/* Vincere purple, lightened for text on dark backgrounds */
.sec-dark .kicker,.sec-dark .metric .k,.band-dark em,.band-dark .srow .sn,.quickbar .qb-tag,.foot .foot-tel{color:var(--purple-lt)!important}

/* ===== shared additions for generated pages ===== */
:root{--purple-lt:#A6A6A6}
.nav-in{gap:22px}
.nav-mid{align-items:center;gap:24px}
.nav-mid > a,.dd-btn{font-size:14.5px;font-weight:500;color:#fff;opacity:.78;transition:opacity .18s,color .18s}
.nav-mid > a:hover,.dd-btn:hover,.dd.open .dd-btn{opacity:1}
.dd{position:relative}
.dd-btn{display:inline-flex;align-items:center;gap:6px;padding:28px 0;background:none;border:0;cursor:pointer;font-family:inherit}
.dd-btn svg{width:10px;height:10px;transition:transform .2s}
.dd.open .dd-btn svg{transform:rotate(180deg)}
.dd-panel{position:absolute;top:100%;left:50%;transform:translate(-50%,8px);opacity:0;visibility:hidden;pointer-events:none;
  background:#fff;color:var(--ink);border-radius:18px;box-shadow:0 30px 70px rgba(10,10,10,.28);padding:18px;
  transition:opacity .18s,transform .18s,visibility .18s;z-index:90}
.dd.open .dd-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
@media(hover:hover) and (min-width:1101px){.dd:hover .dd-panel,.dd:has(:focus-visible) .dd-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
  .dd:hover .dd-btn svg{transform:rotate(180deg)}}
.dd-grid{display:grid;gap:4px}
.dd-svc .dd-grid{grid-template-columns:repeat(3,minmax(0,1fr));width:min(820px,92vw)}
.dd-pa .dd-grid{grid-template-columns:repeat(3,minmax(0,1fr));width:min(760px,92vw)}
.dd-link{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;color:var(--ink);transition:background .15s}
.dd-link:hover,.dd-link:focus-visible{background:#F4F4F4}
.dd-ic{flex:none;width:34px;height:34px;border-radius:10px;background:#EEEEEE;color:var(--purple);display:flex;align-items:center;justify-content:center}
.dd-ic svg{width:17px;height:17px}
.dd-link b{display:block;font-size:14px;font-weight:700;line-height:1.25}
.dd-link small{display:block;font-size:12.5px;color:#6B6B6B;line-height:1.35;margin-top:3px}
.dd-pa .dd-link{padding:10px 12px;align-items:center}
.dd-pa .dd-link b{font-weight:600}
.dd-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:14px 12px 4px;border-top:1px solid #EAEAEA;font-size:13.5px}
.dd-foot a{font-weight:700;color:var(--purple)}
.dd-foot span{color:#6B6B6B}
.nav-portal{flex:none;display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:14px;font-weight:600;padding:11px 16px;border:1px solid rgba(255,255,255,.28);border-radius:999px;transition:border-color .2s,background .2s}
.nav-portal:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.nav-portal svg{width:14px;height:14px}
@media(max-width:1260px){.nav-mid .nav-tel{display:none}}
@media(max-width:1100px){
  .nav-mid{position:fixed;inset:80px 0 auto 0;background:var(--ink);flex-direction:column;align-items:stretch;gap:0;padding:8px 22px 22px;
    max-height:calc(100vh - 80px);overflow:auto;transform:translateY(-8px);opacity:0;visibility:hidden;transition:transform .2s,opacity .2s,visibility .2s}
  .nav-mid.open{transform:none;opacity:1;visibility:visible}
  .nav-mid > a,.dd-btn{padding:16px 6px;font-size:17px;border-bottom:1px solid rgba(255,255,255,.1);opacity:1;width:100%;justify-content:space-between}
  .nav-mid .nav-tel{display:block}
  .dd-panel{position:static;transform:none!important;opacity:1;visibility:visible;pointer-events:auto;display:none;background:transparent;box-shadow:none;padding:6px 0 12px;border-radius:0}
  .dd.open .dd-panel{display:block}
  .dd-svc .dd-grid,.dd-pa .dd-grid{grid-template-columns:1fr 1fr;width:auto}
  .dd-link{color:#fff;padding:10px 6px}
  .dd-link:hover{background:rgba(255,255,255,.06)}
  .dd-link small{display:none}
  .dd-ic{background:rgba(255,255,255,.08);color:var(--purple-lt)}
  .dd-foot{border-top-color:rgba(255,255,255,.1)}
  .dd-foot span{display:none}
  .dd-foot a{color:var(--purple-lt)}
  .burger{display:flex}
  .nav-portal{display:none}
  .nav-mid .nav-portal-m{display:flex}
}
.nav-mid .nav-portal-m{display:none;align-items:center;gap:8px}
@media(max-width:560px){.dd-svc .dd-grid,.dd-pa .dd-grid{grid-template-columns:1fr}}

/* page hero on generated pages */
.phero h1{font-size:clamp(34px,4.6vw,64px)!important;max-width:20ch}
.crumb a{color:inherit}
.crumb a:hover{color:var(--purple)}

/* quick answer (AEO) */
.answer{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;background:#fff;border:1px solid #E4E4E4;border-left:4px solid var(--purple);
  border-radius:18px;padding:28px 30px;box-shadow:0 18px 44px rgba(73,33,65,.08);max-width:980px}
.answer-tag{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--purple);background:var(--purple-tint);padding:6px 11px;border-radius:999px;white-space:nowrap}
.answer h2{font-family:sans-serif!important;font-weight:700!important;font-size:20px!important;letter-spacing:-.01em!important;line-height:1.3!important;margin:0 0 8px}
.answer p{margin:0;font-size:17px;line-height:1.6;color:var(--ink)}
@media(max-width:640px){.answer{grid-template-columns:1fr;padding:22px 20px;gap:12px}.answer-tag{justify-self:start}}
.sec-answer{padding:56px 0 8px}

/* long-form prose */
.lf{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:64px;align-items:start}
.lf .prose h2{font-size:clamp(24px,2.4vw,32px)!important;margin:0 0 14px;line-height:1.12!important}
.lf .prose h2:not(:first-child){margin-top:44px}
.lf .prose p{font-size:16.5px;line-height:1.7;color:var(--ink);margin:0 0 14px}
.lf .panel{position:sticky;top:110px}
@media(max-width:980px){.lf{grid-template-columns:1fr;gap:40px}.lf .panel{position:static}}

/* card grids */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.card{background:#fff;border:1px solid #E4E4E4;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:8px;color:var(--ink);transition:border-color .2s,transform .2s,box-shadow .2s}
a.card:hover{border-color:var(--purple);transform:translateY(-3px);box-shadow:0 18px 40px rgba(73,33,65,.12)}
.card h3{font-family:sans-serif!important;font-weight:700!important;font-size:18px!important;letter-spacing:-.01em!important;line-height:1.25!important;margin:0}
.card p{margin:0;font-size:14.5px;line-height:1.55;color:#4A4A4A}
.card .card-ic{width:40px;height:40px;border-radius:12px;background:var(--purple);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.card .card-ic svg{width:19px;height:19px}
.card .card-go{margin-top:auto;padding-top:10px;font-size:13.5px;font-weight:700;color:var(--purple)}
.sec-dark .card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:#fff}
.sec-dark .card p{color:rgba(255,255,255,.72)}
.sec-dark .card .card-go{color:var(--purple-lt)}

/* searches */
.qs{display:flex;flex-wrap:wrap;gap:10px}
.qs li{list-style:none;display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid #E4E4E4;border-radius:999px;padding:10px 16px;font-size:14.5px;color:var(--ink)}
.qs li svg{width:14px;height:14px;color:var(--purple);flex:none}
.qs{padding:0;margin:0}

/* intake band */
.intake{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.intake p{font-size:17px;line-height:1.7;color:rgba(255,255,255,.82);margin:0}
@media(max-width:900px){.intake{grid-template-columns:1fr;gap:20px}}

/* section spacing helpers */
.sec-head .sub{max-width:62ch}
.sec-tight{padding:72px 0}
.sec-alt.sec-lav{background:#F4F4F4}
.faq-q span:first-child{text-align:left}
.foot-in{grid-template-columns:1.3fr 1fr 1fr 1fr 1fr}
.foot h5{color:#fff}
@media(max-width:1100px){.foot-in{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){.foot-in{grid-template-columns:1fr 1fr}}
.foot-bot a{color:inherit}
.skip{position:absolute;left:-9999px;top:8px;z-index:300;background:#fff;color:var(--ink);padding:10px 14px;border-radius:8px}
.skip:focus{left:8px}
.nav-mid .dd-link{color:var(--ink);opacity:1}
.nav-mid .dd-link:hover{color:var(--purple)}
.nav-mid .dd-foot a{opacity:1;color:var(--purple)}
@media(max-width:1100px){.nav-mid .dd-link{color:#fff}.nav-mid .dd-foot a{color:var(--purple-lt)}}
.phero h1{font-size:clamp(32px,3.7vw,54px)!important;max-width:22ch;line-height:1.02!important}
#contact.sec-grey{background:#F4F4F4}
.intake h2{font-size:clamp(26px,2.6vw,38px)!important;line-height:1.08!important;margin-top:10px}
.intake .kicker{font-family:sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--purple-lt)}
.foot-in{grid-template-columns:minmax(0,1.3fr) repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.foot-in{grid-template-columns:repeat(3,minmax(0,1fr))}.foot-in > div:first-child{grid-column:1/-1}}
@media(max-width:640px){.foot-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}}
.foot li a{overflow-wrap:anywhere}
.nav-brand{gap:11px}
.vmark{width:34px;height:34px;flex:none;display:block}
.foot-logo{display:inline-flex!important;align-items:center;gap:12px}
.foot-logo .vmark{width:42px;height:42px}
@media(max-width:560px){.vmark{width:30px;height:30px}}
#services.dk{background:linear-gradient(180deg,#0B0A0B 0,#0B0A0B 40px,rgba(11,10,11,0) 260px),var(--dk-bg)!important}
.quickbar .qb-sub{color:rgba(255,255,255,.85)!important}
.quickbar .qb-f label{color:rgba(255,255,255,.8)!important}
.quickbar .qb-f input{color:#fff!important;border-bottom-color:rgba(255,255,255,.45)!important}
.quickbar .qb-f input::placeholder{color:rgba(255,255,255,.62)!important}
.photo-band .pb-shade{background:
  linear-gradient(180deg,#0B0A0B 0%,rgba(11,10,11,.85) 10%,rgba(11,10,11,.35) 26%,rgba(11,10,11,0) 40%,rgba(11,10,11,0) 70%,rgba(11,10,11,.6) 88%,#0A0A0A 100%),
  linear-gradient(90deg,rgba(11,10,11,.86) 0%,rgba(11,10,11,.62) 45%,rgba(11,10,11,.25) 100%),
  radial-gradient(60% 70% at 15% 60%,rgba(73,33,65,.35),rgba(73,33,65,0) 70%)!important}
.contact-photo{position:relative;margin:34px 0 0;border-radius:18px;overflow:hidden;aspect-ratio:16/8;background:linear-gradient(135deg,#492141,#2B1628);box-shadow:0 24px 60px rgba(73,33,65,.14)}
.contact-photo img{width:100%;height:100%;object-fit:cover;display:block}
.contact-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:48px 22px 18px;color:#fff;font-size:14px;line-height:1.45;background:linear-gradient(180deg,rgba(11,10,11,0),rgba(11,10,11,.78))}
.contact-photo figcaption b{display:block;font-size:16px;margin-bottom:2px}
#contact .contact-side{justify-content:flex-start}
/* hero Book a Call: make it pop */
.hero-v2 .hero-row .btn-orange{position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(135deg,#6A3660 0%,#492141 55%,#34162F 100%)!important;color:#fff!important;border-color:transparent!important;
  
  box-shadow:0 14px 34px rgba(73,33,65,.45),0 0 0 6px rgba(73,33,65,.12)!important;
  transition:transform .2s,box-shadow .2s}
.hero-v2 .hero-row .btn-orange:hover{transform:translateY(-3px) scale(var(--cta-s,1));box-shadow:0 20px 44px rgba(73,33,65,.55),0 0 0 8px rgba(73,33,65,.16)!important}
.hero-v2 .hero-row .btn-orange::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:-1;
  background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.28),rgba(255,255,255,0));transform:skewX(-20deg);
  animation:ctaShine 3.6s ease-in-out 1.2s infinite}
@keyframes ctaShine{0%{left:-60%}35%,100%{left:130%}}
@media(prefers-reduced-motion:reduce){.hero-v2 .hero-row .btn-orange::before{animation:none;display:none}}
@media(min-width:561px){.hero-v2 .hero-row .btn-orange{--cta-s:1.1;transform:scale(1.1);transform-origin:left center;margin-right:22px}}
/* quote bar + scroll cue: brighter (colours only, no size changes) */
.quickbar .qb-tag{color:#C8C8C8!important}
.quickbar .qb-sub{color:#fff!important}
.quickbar .qb-f label{color:rgba(255,255,255,.95)!important}
.quickbar .qb-f input{color:#fff!important;border-bottom-color:rgba(255,255,255,.7)!important}
.quickbar .qb-f input::placeholder{color:rgba(255,255,255,.82)!important}
.quickbar .qb-f input:focus{border-bottom-color:#C8C8C8!important}
.quickbar .btn{color:#fff!important;border-color:transparent!important;transition:transform .2s,box-shadow .2s}
.quickbar .btn:hover{transform:translateY(-2px)}
.scroll-cue,#services.dk .scroll-cue{color:rgba(255,255,255,.92)!important}
.scroll-cue:hover{color:#C8C8C8!important}
#services.dk .scroll-cue-line{background:rgba(255,255,255,.38)!important}
#services.dk .scroll-cue-line span{background:#C8C8C8!important}
/* sticky rail: white, drops down under the nav */
.railbar{top:81px!important;bottom:auto!important;background:#fff!important;color:var(--ink)!important;border-top:0!important;border-bottom:2px solid var(--purple)!important;
  box-shadow:0 12px 30px rgba(10,10,10,.14);transform:translateY(calc(-100% - 90px))!important}
.railbar.show{transform:none!important}
.railbar .rb-txt{color:#4A4A4A!important}
.railbar .rb-txt b{color:var(--ink)!important}
.railbar .rb-tel{color:var(--ink)!important;border-color:rgba(10,10,10,.22)!important}
.railbar .rb-tel:hover{border-color:var(--purple)!important;color:var(--purple)!important;background:#F4F4F4!important}
@media(max-width:1100px){.nav-mid .nav-portal-m{display:flex!important;padding:16px 6px;font-size:17px;color:#fff;opacity:1;border-bottom:0}.nav-mid .nav-portal-m svg{width:16px;height:16px}}
.home-faq{background:#fff!important;padding:56px 0 64px!important}.home-faq .hf-h{font-size:30px;line-height:1.15;letter-spacing:-.02em;margin:0 0 22px}.home-faq .faq-q{padding:14px 0!important;font-size:15.5px!important}.home-faq .faq-q .pl{width:26px!important;height:26px!important;font-size:14px!important}.home-faq .faq-a>div{font-size:14.5px!important;line-height:1.6!important;padding:0 0 16px!important}@media(max-width:560px){.home-faq{padding:40px 0 48px!important}.home-faq .hf-h{font-size:24px}}
.railbar-in{padding:5px 28px!important;gap:14px!important}.railbar .rb-txt{font-size:13px!important}.railbar .rb-act .btn{padding:0 14px!important;height:26px!important;line-height:26px!important;font-size:12.5px!important;min-height:0!important;box-shadow:none!important;transform:none!important}.railbar .rb-act .btn::before,.railbar .rb-act .btn::after{display:none!important}@media(max-width:980px){.railbar-in{padding:6px 16px!important}}
/* contact: dark purple */
section#contact.sec-grey{background:#492141!important;color:#fff}
section#contact.sec-grey h2{color:#fff}
section#contact.sec-grey .sub{color:rgba(255,255,255,.78)}
section#contact.sec-grey .kicker,section#contact.sec-grey .contact-side .kicker[style]{color:#C8C8C8!important}
section#contact.sec-grey .display-tel{color:#fff}
section#contact.sec-grey .display-tel:hover,section#contact.sec-grey .email-line a:hover{color:#C8C8C8}
section#contact.sec-grey .email-line,section#contact.sec-grey .email-line a{color:rgba(255,255,255,.72)}
section#contact.sec-grey .contact-call{border-color:rgba(255,255,255,.18)!important}
section#contact.sec-grey .form{box-shadow:0 24px 60px rgba(40,10,35,.25)!important}
/* contact side: clean value list */
.cs2 h2{font-size:clamp(30px,3.2vw,42px)!important;line-height:1.05!important;margin:0!important;color:#fff}
.cs2 .cs-sub{font-size:17px;line-height:1.55;color:rgba(255,255,255,.82);margin:14px 0 0;max-width:44ch}
.cs2 .cs-list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px}
.cs2 .cs-list li{display:flex;gap:12px;align-items:center;font-size:17px;font-weight:600;color:#fff}
.cs2 .cs-ic{flex:none;width:24px;height:24px;border-radius:50%;background:#fff;color:#492141;display:flex;align-items:center;justify-content:center}
.cs2 .cs-ic svg{width:13px;height:13px}
.cs2 .cs-alt{font-size:14px;color:rgba(255,255,255,.72);margin:32px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.16);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.cs2 .cs-alt a{color:#fff;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.cs2 .cs-alt a:hover{border-color:#fff}
@media(min-width:901px){section#contact .contact-in{align-items:center!important}}
.foot-pa{grid-column:span 2}.foot-pa-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:inherit;gap:0 48px}@media(max-width:560px){.foot-pa-cols{gap:0 20px}}
.cs2 h2,.cs2 .cs-sub,.cs2 .cs-list li,.cs2 .cs-alt,.cs2 .cs-alt a{color:#fff!important}.cs2 .cs-alt a{border-bottom-color:rgba(255,255,255,.5)!important}
section#math{padding-top:72px!important}
.rv{transition-duration:.55s!important}
/* heading-order fixes: same look, correct levels */
.foot .fh{font-family:sans-serif;font-size:12px;font-weight:600;line-height:1.6;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 20px}

.plan-steps h3.h4{font-family:sans-serif!important;font-size:18px!important;font-weight:700!important;line-height:1.05!important;letter-spacing:-.01em!important;margin:8px 0 4px!important;color:#fff!important;text-transform:none!important}
.srow h3.h4{font-family:sans-serif!important;font-size:17px!important;font-weight:700!important;line-height:1.05!important;letter-spacing:-.02em!important;margin:0 0 7px!important;color:#fff!important;text-transform:none!important}
.nf-links a{color:var(--purple);font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* service pages: tighter rhythm */
.svcp .phero{padding:124px 0 44px!important}
.svcp .phero h1{margin-bottom:18px!important}
.svcp .sec-answer{padding:8px 0 0!important}
.svcp .sec{padding:72px 0!important}
.svcp .sec-tight{padding:56px 0!important}
.svcp .callout{padding:64px 0!important}
.svcp .ph-band{padding:0 0 8px!important}
.svcp .sec-head{margin-bottom:32px!important}
.svcp .sec-head h2{margin-bottom:0}
.svcp .prose h2{margin-top:36px}
.svcp .prose h2:first-child{margin-top:0}
.svcp section#contact.sec-grey{padding:72px 0!important}
/* how it works: compact step cards */
.svcp .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-top:0;border-top:0}
.svcp .step{display:flex!important;flex-direction:column;gap:10px;padding:22px 20px!important;border:1px solid #E2E2E2!important;border-radius:14px;background:#fff;min-height:0}
.svcp .step-n{font-size:13px!important;font-weight:700;letter-spacing:.08em;color:#fff!important;background:var(--purple);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:1!important;font-family:inherit!important;line-height:1}
.svcp .step h3.h4{font-size:17px!important;margin:4px 0 6px!important;letter-spacing:-.01em}
.svcp .step p{font-size:14.5px!important;line-height:1.55!important;max-width:none;color:var(--muted)}
.svcp .step-caret{display:none!important}
@media(max-width:560px){.svcp .phero{padding:104px 0 32px!important}.svcp .sec{padding:52px 0!important}.svcp .sec-tight{padding:44px 0!important}.svcp .callout{padding:52px 0!important}.svcp .sec-head{margin-bottom:24px!important}.svcp section#contact.sec-grey{padding:52px 0!important}}
.svcp .sec-head h2,.svcp #faq h2,.svcp .callout h2{font-size:clamp(28px,3.2vw,44px)!important;line-height:1.08!important}.svcp .sec-head .kicker{margin-bottom:12px!important}
/* ===== practice-area pages: their own layout ===== */
.prap .sec{padding:72px 0!important}
.prap .sec-tight{padding:56px 0!important}
.prap .callout{padding:64px 0!important}
.prap .sec-head{margin-bottom:32px!important}
.prap .sec-head h2,.prap #faq h2,.prap .callout h2,.prap .pa-split-h h2,.prap .intake h2{font-size:clamp(28px,3.2vw,44px)!important;line-height:1.08!important}
.prap section#contact.sec-grey{padding:72px 0!important}
/* dark split hero */
.prap .pa-hero{background:radial-gradient(60% 80% at 85% 20%,rgba(73,33,65,.55),rgba(73,33,65,0) 70%),#0B0A0B!important;color:#fff;padding:128px 0 64px!important}
.prap .pa-hero::before,.prap .pa-hero::after{display:none!important}
.prap .pa-hero-in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:56px;align-items:center}
.prap .pa-hero h1{color:#fff!important;margin-bottom:18px!important;max-width:18ch}
.prap .pa-hero .lede{color:rgba(255,255,255,.78)!important;max-width:54ch}
.prap .pa-hero .btn-out{color:#fff!important;border-color:rgba(255,255,255,.45)!important;background:transparent!important}
.prap .pa-hero .btn-out:hover{border-color:#fff!important}
.pa-search{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:22px}
.pa-search-h{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#C8C8C8;margin:0 0 14px}
.pa-search ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pa-search li{display:flex;align-items:center;gap:10px;background:#fff;color:#1A1A1A;border-radius:999px;padding:10px 16px;font-size:14px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.pa-search li svg{width:15px;height:15px;color:var(--purple);flex:none}
.pa-search li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pa-search-f{font-size:12.5px;color:rgba(255,255,255,.62);margin:14px 0 0;line-height:1.5}
.prap .sec-answer{padding:40px 0 0!important}
/* market: sticky heading + numbered points */
.pa-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.pa-split-h{position:sticky;top:110px}
.pa-split-h h2{margin:0 0 18px}
.pa-link{font-weight:700;color:var(--purple);text-decoration:none;font-size:15px}
.pa-points{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pa-points li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px;padding:22px 0;border-bottom:1px solid var(--line)}
.pa-pn{font-size:28px;font-weight:700;color:var(--purple);line-height:1;letter-spacing:-.02em}
.pa-points h3{font-size:18px!important;margin:2px 0 6px!important;letter-spacing:-.01em}
.pa-points p{font-size:15px;line-height:1.6;color:var(--muted);margin:0}
/* long-form copy: one centered column */
.pa-prose .prose{max-width:760px;margin:0 auto}
.pa-prose .prose h2{margin-top:36px}.pa-prose .prose h2:first-child{margin-top:0}
/* channels: rows */
.pa-rows{border-top:1px solid var(--ink)}
.pa-row{display:grid;grid-template-columns:44px minmax(160px,.35fr) minmax(0,1fr) 28px;gap:20px;align-items:center;padding:20px 8px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:background .15s}
.pa-row:hover{background:#F4F4F4}
.pa-row-ic{width:40px;height:40px;border-radius:10px;background:var(--purple);color:#fff;display:flex;align-items:center;justify-content:center}
.pa-row-ic svg{width:19px;height:19px}
.pa-row h3{font-size:18px!important;margin:0!important}
.pa-row p{margin:0;font-size:15px;line-height:1.55;color:var(--muted)}
.pa-row-go{font-size:20px;color:var(--purple);transition:transform .15s}
.pa-row:hover .pa-row-go{transform:translateX(4px)}
@media(max-width:900px){
  .prap .pa-hero-in,.pa-split{grid-template-columns:1fr;gap:32px}
  .pa-split-h{position:static}
  .pa-row{grid-template-columns:40px minmax(0,1fr) 20px;gap:6px 14px}
  .pa-row p{grid-column:2/3}
  .pa-row-go{grid-row:1;grid-column:3}
}
@media(max-width:560px){
  .prap .pa-hero{padding:104px 0 40px!important}
  .prap .sec{padding:52px 0!important}.prap .sec-tight{padding:44px 0!important}.prap .callout{padding:52px 0!important}
  .prap .sec-head{margin-bottom:24px!important}.prap section#contact.sec-grey{padding:52px 0!important}
  .pa-points li{grid-template-columns:44px minmax(0,1fr)}.pa-pn{font-size:22px}
}
.prap .pa-prose{background:#F4F4F4!important}
.pa-prose .prose h2{font-size:clamp(22px,2.2vw,28px)!important;line-height:1.2!important;margin:40px 0 12px!important;letter-spacing:-.01em}
.pa-prose .prose h2:first-child{margin-top:0!important}
.pa-prose .prose p{color:#3F3A3E}
@media(max-width:900px){.prap .pa-hero-in,.pa-split{grid-template-columns:minmax(0,1fr)!important}}
.pa-search{min-width:0}.pa-search ul{grid-template-columns:minmax(0,1fr)}.pa-search li{min-width:0}@media(max-width:560px){.pa-search{padding:18px 16px}.pa-search li{font-size:13.5px;padding:9px 14px}}
@media(max-width:560px){.pa-search li{border-radius:14px;align-items:flex-start}.pa-search li svg{margin-top:3px}.pa-search li span{white-space:normal;overflow:visible}}
/* breadcrumb: small and tight on service + practice pages */
.svcp .crumb,.prap .crumb{font-size:13px!important;margin:0 0 14px!important;letter-spacing:.01em;color:var(--muted)}
.svcp .crumb .sep,.prap .crumb .sep{margin:0 8px}
.prap .pa-hero .crumb{color:rgba(255,255,255,.6)!important}
.prap .pa-hero .crumb a{color:rgba(255,255,255,.72)!important;text-decoration:none}
.prap .pa-hero .crumb a:hover{color:#fff!important}
.prap .pa-hero .crumb [aria-current]{color:#C8C8C8}
.phero .crumb{font-size:13px!important;margin:0 0 14px!important;letter-spacing:.01em;color:var(--muted)}.phero .crumb .sep{margin:0 8px}
.phero{padding:124px 0 52px!important}@media(max-width:560px){.phero{padding:104px 0 36px!important}}
.svcp .ph-band{background:linear-gradient(180deg,#fff 0,#fff 50%,#F4F4F4 50%,#F4F4F4 100%)!important;padding:0!important}.svcp .ph-band + .sec-lav{padding-top:64px!important}
/* tight FAQ everywhere (matches the homepage FAQ) */
.faq-sec{padding:56px 0 64px!important}
.faq-sec .sec-head{margin-bottom:20px!important}
.faq-sec .sec-head h2,.svcp .faq-sec h2,.prap .faq-sec h2{font-size:30px!important;line-height:1.15!important;letter-spacing:-.02em;margin:0!important}
.faq-sec .faq-q{padding:14px 0!important;font-size:15.5px!important}
.faq-sec .faq-q .pl{width:26px!important;height:26px!important;font-size:14px!important}
.faq-sec .faq-a>div{font-size:14.5px!important;line-height:1.6!important;padding:0 0 16px!important}
@media(max-width:560px){.faq-sec{padding:40px 0 48px!important}.faq-sec .sec-head h2,.svcp .faq-sec h2,.prap .faq-sec h2{font-size:24px!important}}
main #faq.faq-sec{padding:56px 0 64px!important}
main #faq.faq-sec .sec-head h2{font-size:30px!important;line-height:1.15!important;margin:0!important}
@media(max-width:560px){main #faq.faq-sec{padding:40px 0 48px!important}main #faq.faq-sec .sec-head h2{font-size:24px!important}}
@media(min-width:901px){.cards.cards-3,.cards:has(> :nth-child(9):last-child){grid-template-columns:repeat(3,minmax(0,1fr))!important}}
/* deep brand purple: give purple buttons a light rim so they read on black */
.nav-cta,.btn-orange,.railbar .rb-act .btn{box-shadow:inset 0 0 0 1.5px rgba(200,200,200,.45)!important}
.nav-cta:hover,.btn-orange:hover{box-shadow:inset 0 0 0 1.5px rgba(200,200,200,.8)!important}
/* quote-bar button: match the other brand buttons (no halo ring) */
.quickbar .btn{background:linear-gradient(135deg,#6A3660 0%,#492141 55%,#34162F 100%)!important;box-shadow:inset 0 0 0 1.5px rgba(200,200,200,.45),0 10px 26px rgba(0,0,0,.45)!important}
.quickbar .btn:hover{box-shadow:inset 0 0 0 1.5px rgba(200,200,200,.8),0 14px 32px rgba(0,0,0,.5)!important}
/* top scroll progress bar keeps the brand purple-to-pink */
.scroll-prog{background:linear-gradient(90deg,var(--purple),#C9A0C0)!important}
/* plan step numbers: brand purple on hover */
.plan-steps li{cursor:default}
.plan-steps li:hover .ps-n,.plan-steps li .ps-n:hover{background:var(--purple)!important;border-color:var(--purple)!important;color:#fff!important;transform:scale(1.08)}
/* hero photo: more prominent (clear on the right, white only behind the headline) */
.hero-bg::after{background:
  linear-gradient(96deg,var(--paper) 0%,var(--paper) 44%,rgba(255,255,255,.9) 54%,rgba(255,255,255,.55) 66%,rgba(255,255,255,.3) 80%,rgba(255,255,255,.2) 100%),
  linear-gradient(180deg,rgba(255,255,255,.25) 0%,rgba(255,255,255,0) 22%,rgba(255,255,255,0) 80%,rgba(255,255,255,.3) 100%)!important}
.hero-bg img{filter:saturate(1.04) contrast(1.02)}
@media(max-width:980px){.hero-bg::after{background:linear-gradient(180deg,rgba(255,255,255,.82) 0%,rgba(255,255,255,.9) 50%,var(--paper) 86%)!important}}
/* service metrics: heading left, 2x2 icon grid right */
.mx-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:center}
.mx-sec .mx-split .sec-head{margin-bottom:0!important}
.mx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 36px}
.mx-i{display:flex;gap:16px;align-items:flex-start}
.mx-ic{flex:none;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--purple);display:flex;align-items:center;justify-content:center}
.mx-ic svg{width:20px;height:20px}
.mx-i h3{color:#fff!important;font-size:17px!important;margin:2px 0 6px!important;letter-spacing:-.01em}
.mx-i p{color:rgba(255,255,255,.68);font-size:14.5px;line-height:1.55;margin:0}
@media(max-width:900px){.mx-split{grid-template-columns:minmax(0,1fr);gap:28px}}
@media(max-width:560px){.mx-grid{grid-template-columns:minmax(0,1fr);gap:22px}}
/* ===== blog ===== */
.blogp .post-hero h1{max-width:24ch}
.post-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin:16px 0 0;font-size:14px;color:var(--muted)}
.post-meta span:first-child{color:var(--purple);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:12px;align-self:center}
.post .post-body{max-width:720px;margin:0 auto;font-size:18px;line-height:1.75;color:#262326}
.post-body h2{font-size:clamp(24px,2.4vw,30px)!important;line-height:1.2!important;margin:44px 0 14px!important;letter-spacing:-.015em}
.post-body h3{font-size:20px!important;margin:30px 0 10px!important}
.post-body p{margin:0 0 20px}
.post-body ul,.post-body ol{margin:0 0 22px;padding-left:22px}.post-body li{margin:0 0 10px}
.post-body a{color:var(--purple);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.post-body strong{color:#111}
.post-body blockquote{margin:30px 0;padding:18px 24px;border-left:4px solid var(--purple);background:#F4F4F4;border-radius:0 12px 12px 0;font-size:19px;font-weight:600;color:#111}
.post-body blockquote p{margin:0}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.blog-card{display:flex;flex-direction:column;gap:10px;padding:26px;border:1px solid #E4E4E4;border-radius:18px;background:#fff;text-decoration:none;color:var(--ink);transition:transform .18s,box-shadow .18s,border-color .18s}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,0,0,.08);border-color:#D2D2D2}
.bc-cat{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--purple)}
.blog-card h2{font-size:21px!important;line-height:1.25!important;margin:0!important;letter-spacing:-.01em}
.blog-card p{font-size:15px;line-height:1.6;color:var(--muted);margin:0;flex:1}
.bc-meta{font-size:13px;color:#666;margin-top:6px}
@media(max-width:900px){.blog-grid{grid-template-columns:minmax(0,1fr)}.post .post-body{font-size:17px}}
.blogp .post-hero .phero-in{max-width:800px;margin:0 auto}.blogp .post-hero h1{max-width:none}.blogp .sec-answer .answer{max-width:720px;margin:0 auto}
/* homepage service tabs: glass card with gradient edge + feature tiles */
.gp{position:relative;border-radius:22px;padding:1.5px;background:linear-gradient(135deg,rgba(200,200,200,.55),rgba(106,54,96,.6) 40%,rgba(255,255,255,.08) 75%)}
.gp-in{border-radius:21px;background:radial-gradient(90% 120% at 100% 0%,rgba(106,54,96,.35),rgba(0,0,0,0) 55%),linear-gradient(180deg,#1B161A,#121012);padding:40px 44px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px 40px}
.gp-t{display:flex;align-items:center;gap:16px}
.gp-ic{flex:none;width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#fff,#E4E4E4);color:var(--purple);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,.35)}
.gp-ic svg{width:24px;height:24px}
.gp h3{color:#fff!important;font-size:30px!important;margin:0!important;letter-spacing:-.02em;line-height:1.1}
.gp-d{color:rgba(255,255,255,.72);font-size:16px;line-height:1.55;margin:12px 0 0}
.gp-f{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.gp-f span{font-size:12.5px;font-weight:600;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:99px;padding:7px 13px;white-space:nowrap}
.gp-list{grid-column:1/-1;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gp-list li{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:18px;color:#fff;font-size:14.5px;line-height:1.45}
.gp-list li i{display:flex;width:28px;height:28px;border-radius:8px;background:var(--purple);color:#fff;align-items:center;justify-content:center;margin-bottom:12px;box-shadow:inset 0 0 0 1.5px rgba(200,200,200,.4)}
.gp-list li i svg{width:14px;height:14px}
.gp-go{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:8px;background:var(--purple);color:#fff!important;font-weight:700;border-radius:99px;padding:13px 22px;text-decoration:none;box-shadow:inset 0 0 0 1.5px rgba(200,200,200,.45);transition:box-shadow .18s,transform .18s}
.gp-go:hover{box-shadow:inset 0 0 0 1.5px rgba(200,200,200,.85);transform:translateY(-1px)}
@media(max-width:1100px){.gp-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.gp-in{grid-template-columns:minmax(0,1fr);padding:28px 22px;gap:22px}.gp-f{flex-direction:row;flex-wrap:wrap;align-items:flex-start}.gp h3{font-size:24px!important}.gp-list{grid-template-columns:minmax(0,1fr)}.gp-go{justify-self:stretch;justify-content:center}}
.gp-go{font-size:15px!important;line-height:1.2}
@media(min-width:1101px){.nav-mid{flex:1;justify-content:space-evenly;margin-left:56px!important;margin-right:28px;gap:0!important}}
@media(max-width:1100px){.nav-mid .nav-portal-m{justify-content:flex-start!important;gap:10px!important}}

/* logo wordmark: Libre Baskerville (subset to the letters in Vincere, embedded) */
@font-face{font-family:'Vincere Wordmark';font-weight:700;font-style:normal;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAATAABAAAAAACSwAAARmAAIBSAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbgXgcKgZgP1NUQVREAFwRCAqFPIRFATYCJAMcCxAABCAFhFAHIAwHG5EHKJ4FORllr2VNyYKX/QlPWZ+7HLXg//s1Pfd9KDCqsiIQCljHVUbu2k3ifNFVdWoskI3en77T3iJC5cSTUg402wPor34dJOLpL7bv/5s5v/HLJPKgsJkKNIHGSxIOPOKX8uF2E9fURVOkVoolYjZVnEemD4fjAc2fVkITGW8g0wEOwBKYam9YqceFMZnW98nMnP/3IdAIAIxIJAL15sWijtmFleB8wl1GcL609VnAGQ3I/xPQuQtbgAsExDO1TL0LhE40CMbFSpYpHyEQ4wRRYN3GdRvfj0JPE3saUfcQdTlRpxD1FmYDDXaVY/HAlf9yBzYwURO42epJmoizmnvGNIQ0i30j3e1AoR+ryGcIwBlkBlDuR+oPS36BAXn5aNw9MAOr4QSeV/8B/yKaAQSwzZEAoygitQx0IsEk8tbT20cAFK5tJoIH4rUiAFrJ4wCOWPgAIAAGHOhEEehEOwY0q2WiEx266FngFuRp+umqruyyLup8As4Y6n8tl6gB0AxqwQ+gHQDAS7Qh3xYdJrz5Lo0xc8a6hkePVik9yJcIsuuBvfzmvQ+v8iWC18MkKzqCjt/nZw8fEumjR4LSgzuQbOdnWz23bt3Iz+5D8kBQetQRtJcMyXx+4/z5DFUzdKPIJiK9K1htJEevORIFwhw6to5IhQ9dlx7kq2bMKR71BCTHsSd7AHpA7tAqb5XglPZc0JYHcEPWKcZSx9H85cs7Hlt2VtA+7fuOrVvR/Tztvfi+S9uqA2MKPdLcshix+2Y08kb+g7jsufnvclb6p8dqdUN1oamuooVQLS4osIdmlA3JzBhaWpk7fExmTUKTb5XS85Ov95unnpYm54RUfbuhkMlDZXL4P2pvfffk8mEZmYNLKnJHjsmpNAzA3dKFbunOfsI0TXN2RKh/uVrCnqOrdQh00wSkZwMM3KPWlZahBFRWfjpkWDxVEJgbEqyo/CW7Lq8YmbwIWHxGzynB3FXtzafCRyRQuYF1fmmN02phDc2tD45KLVa8YPcdp85ob6AcxSF7ye6wyd3hpWmye5LLOdVA/EIjbvffRsVobMmu8KHJ7HxNoa/ykkqC6fU1SWGarz6yApnzOUbs1LZlBC8fAEDAksvd/XjdrSSxyqWoFwC896MiAPhwqWT9u/VPnEC/gEQGQPhJjvjeQf1NJW2GK6uZ3TB4qvNtBe3IA0304DEeQV8+QT8C1CjiKGARMDvS2yCbqxYewBvQWTLuKsvU+mc5276wvMVEsoL+tDKj+QwVIYDGrB/gqDkJ3hK++xB8qM9x2GNlMwSm16NXH5lwocKEk6nUq4tMIb12uPCma8MwerCBmWBi4i2FWRnMHVrAaQbo08sKY8igE0B9bBjxQoTood9zDDCAg3WwMguhZ2bTpm5uMzcYYkKcoGl1RvdJZ2XSKVywUKGiJAQww0hQ6eSyBeXuI9EJzNVrMLNgZSEz0KujoRpdX+TN0xdQMr0O5WI7nzYWFADy5ZZA6j2RT/jSFQ==) format('woff2')}
.nav-word,.chip-word,.pword{font-family:'Vincere Wordmark',Georgia,serif!important;font-weight:700!important;letter-spacing:-.01em!important}
.chip-word small,.pword small{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif!important;letter-spacing:.24em}
.nav-brand .vmark{width:40px!important;height:40px!important;border-radius:9px}
.nav-brand .nav-word{font-size:27.5px!important;line-height:1}
.nav-brand{gap:11px!important}
@media(max-width:560px){.nav-brand .vmark{width:36px!important;height:36px!important}.nav-brand .nav-word{font-size:25px!important}}
/* header logo: small tagline centered under the wordmark */
.nav-brand .vmark{width:44px!important;height:44px!important}
.nav-brand .nav-word{display:inline-flex!important;flex-direction:column;align-items:center;font-size:25px!important;line-height:1}
.nav-brand .nav-word small{display:block;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif!important;font-size:7.6px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:#A6A6A6;margin-top:5px;padding-left:.17em;white-space:nowrap}
@media(max-width:560px){.nav-brand .vmark{width:40px!important;height:40px!important}.nav-brand .nav-word{font-size:23px!important}.nav-brand .nav-word small{font-size:7px}}
/* header logo: match the footer lockup (left-aligned tagline, lighter, wider) */
.nav-brand{gap:12.5px!important}
.nav-brand .vmark{width:44px!important;height:44px!important}
.nav-brand .nav-word{align-items:flex-start!important;font-size:20px!important;letter-spacing:-.01em!important}
.nav-brand .nav-word small{font-size:9.4px!important;font-weight:600!important;letter-spacing:.22em!important;padding-left:0!important;color:rgba(255,255,255,.55)!important;margin-top:5px!important}
@media(max-width:560px){.nav-brand .vmark{width:42px!important;height:42px!important}.nav-brand .nav-word{font-size:19px!important}.nav-brand .nav-word small{font-size:9px!important}}
@media(min-width:1101px){.nav-mid > a,.nav-mid .dd-btn{font-size:15.5px!important}.nav-mid .dd-btn svg{width:11px;height:11px}}
@media(min-width:1101px){.nav-mid{gap:18px!important}}@media(min-width:1101px) and (max-width:1280px){.nav-mid > a,.nav-mid .dd-btn{font-size:14.5px!important}.nav-mid{margin-left:32px!important;margin-right:16px!important;gap:14px!important}}
/* article layout: reading column + sticky sidebar (blog posts, practice-area long copy) */
.art-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:start}
.art-main{min-width:0}
.art-main .post-body{max-width:none!important;margin:0!important}
.pa-prose .art-main .post-body{font-size:17px;line-height:1.75;color:#3F3A3E}
.art-side{position:sticky;top:110px;display:flex;flex-direction:column;gap:18px}
.toc{border:1px solid #E4E4E4;border-radius:16px;padding:20px 22px;background:#fff}
.toc-h,.side-h{font-size:12px!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#666;margin:0 0 10px}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:t}
.toc li{counter-increment:t;margin:0}
.toc a{display:flex;gap:10px;padding:8px 0;font-size:14.5px;line-height:1.4;color:#262326;text-decoration:none;border-top:1px solid #EFEFEF}
.toc li:first-child a{border-top:0}
.toc a:before{content:counter(t,decimal-leading-zero);color:var(--purple);font-weight:700;font-size:12.5px;padding-top:1px}
.toc a:hover{color:var(--purple)}
.side-cta{border-radius:16px;padding:22px;background:linear-gradient(160deg,#6A3660,#492141 60%,#34162F);color:#fff}
.side-cta .side-h{color:#fff!important;font-size:18px!important;letter-spacing:-.01em;text-transform:none;margin-bottom:8px}
.side-cta p{font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.82);margin:0 0 16px}
.side-cta .btn{width:100%;justify-content:center;background:#fff!important;color:var(--purple)!important;box-shadow:none!important;font-size:14.5px}
.post-answer{margin:0 0 36px!important;max-width:none!important}
.post-answer .qa-h{font-size:18px!important;margin:0 0 6px!important}
.pa-prose .post-body h2{scroll-margin-top:110px}.post-body h2{scroll-margin-top:110px}
/* blog header aligns with the article column, not a narrow centered strip */
.blogp .post-hero .phero-in{max-width:1360px!important;margin:0 auto!important}
.blogp .post-hero h1{max-width:22ch!important}
@media(max-width:1000px){.art-grid{grid-template-columns:minmax(0,1fr);gap:32px}.art-side{position:static}.toc{display:none}}
.blogp .post-hero{padding-bottom:24px!important}.blogp .post{padding-top:28px!important}
.foot-pa .fh{text-align:left!important}
section#services{padding-bottom:44px!important}section#math{padding-top:48px!important}
/* blog photos */
.bc-img,.post-cover,.post-fig{position:relative;overflow:hidden;background:linear-gradient(135deg,#6A3660,#492141 55%,#1E0B1B)}
.bc-img img,.post-cover img,.post-fig img{display:block;width:100%;height:100%;object-fit:cover}
.blog-card{padding:0!important;overflow:hidden;gap:0!important}
.bc-img{aspect-ratio:16/10}
.blog-card .bc-img img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.blog-card:hover .bc-img img{transform:scale(1.04)}
.bc-body{display:flex;flex-direction:column;gap:10px;padding:22px 24px 24px;flex:1}
.blog-card.feat{grid-column:1/-1;display:grid!important;grid-template-columns:1.25fr 1fr}
.blog-card.feat .bc-img{aspect-ratio:auto;min-height:340px}
.blog-card.feat .bc-body{justify-content:center;padding:40px 44px}
.blog-card.feat h2{font-size:clamp(26px,2.4vw,34px)!important}
.blog-card.feat p{flex:0;font-size:16.5px}
.post-cover-wrap{margin-top:-8px}
.post-cover{margin:0;border-radius:22px;aspect-ratio:5/2;box-shadow:0 30px 70px rgba(0,0,0,.14)}
.post-fig{margin:34px 0;border-radius:16px;aspect-ratio:16/9}
.post-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 14px;color:#fff;font-size:14px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.65))}
@media(max-width:900px){.blog-card.feat{grid-template-columns:1fr}.blog-card.feat .bc-img{min-height:0;aspect-ratio:16/10}.blog-card.feat .bc-body{padding:24px}.post-cover{aspect-ratio:16/10;border-radius:16px}}
/* blog index header: dark band with brand glow */
.blogp .blog-hero,.dark-hero{background:radial-gradient(55% 90% at 88% 10%,rgba(106,54,96,.6),rgba(106,54,96,0) 70%),radial-gradient(40% 70% at 5% 100%,rgba(73,33,65,.35),rgba(73,33,65,0) 70%),#0B0A0B!important;color:#fff;padding:128px 0 64px!important}
.blogp .blog-hero::before,.blogp .blog-hero::after,.dark-hero::before,.dark-hero::after{display:none!important}
.blog-hero .crumb,.blog-hero .crumb a,.dark-hero .crumb,.dark-hero .crumb a{color:rgba(255,255,255,.65)!important}
.blog-hero .crumb [aria-current]{color:#C8C8C8}
.bh-kick{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#C8C8C8;margin:6px 0 14px}
.blog-hero h1,.dark-hero h1{color:#fff!important;max-width:16ch}
.blog-hero h1 em{font-style:normal;color:#A6A6A6}
.blog-hero .lede,.dark-hero .lede{color:rgba(255,255,255,.78)!important;max-width:56ch}
.bh-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.bh-chip{font:inherit;font-size:14px;font-weight:600;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:99px;padding:9px 16px;cursor:pointer;transition:background .18s,border-color .18s}
.bh-chip:hover{border-color:rgba(255,255,255,.45)}
.bh-chip.on{background:#fff;color:var(--purple);border-color:#fff}
.blogp .blog-hero + .sec{padding-top:56px!important}
.blog-card[hidden]{display:none!important}
@media(max-width:560px){.blogp .blog-hero{padding:104px 0 44px!important}}

.dark-hero{color:#fff}
.dark-hero .btn-out{color:#fff!important;border-color:rgba(255,255,255,.45)!important;background:transparent!important}
.dark-hero .btn-out:hover{border-color:#fff!important}
.dark-hero + section{padding-top:64px!important}
.dark-hero h1{max-width:20ch!important}.svcp .dark-hero + .sec-answer{padding-top:40px!important}
.blogp .blog-hero h1{max-width:22ch!important}
/* desktop dropdowns: center under the whole nav bar, not the link */
@media(min-width:1101px){
.nav-in{position:relative}
.nav-mid .dd{position:static!important}
.nav-mid .dd-panel{top:calc(100% - 6px)!important;left:50%!important}
.nav-mid .dd-panel::before{content:"";position:absolute;left:0;right:0;top:-26px;height:26px}
}
/* service CTA band: brand purple */
.callout.callout-purple{background:radial-gradient(60% 120% at 90% 0%,rgba(255,255,255,.12),rgba(255,255,255,0) 60%),linear-gradient(120deg,#6A3660 0%,#492141 55%,#34162F 100%)!important;border:0!important}
.callout-purple p{color:rgba(255,255,255,.85)!important}
.callout-purple .btn-orange{background:#fff!important;color:var(--purple)!important;box-shadow:0 10px 26px rgba(0,0,0,.25)!important}
.callout-purple .btn-out{color:#fff!important;border-color:rgba(255,255,255,.55)!important;background:transparent!important}
.callout-purple .btn-out:hover{border-color:#fff!important}
.callout.callout-purple .in{max-width:1360px!important;margin:0 auto!important;padding-left:40px!important;padding-right:40px!important}@media(max-width:560px){.callout.callout-purple .in{padding-left:22px!important;padding-right:22px!important}}.callout-purple h2{max-width:22ch}
/* homepage header: faint purple glow from the left that drifts on scroll */
.hero-v2 .hero-stage{isolation:isolate}
.hero-glow{position:absolute;z-index:0;pointer-events:none;left:-22%;top:-20%;width:62%;height:150%;border-radius:50%;
  background:radial-gradient(closest-side,rgba(122,62,110,.30),rgba(106,54,96,.12) 55%,rgba(106,54,96,0) 100%);
  filter:blur(14px);transform:translate3d(var(--glx,0px),var(--gly,0px),0);transition:transform .15s linear;will-change:transform}
@media(max-width:700px){.hero-glow{width:120%;left:-50%}}
@media(prefers-reduced-motion:reduce){.hero-glow{transform:none}}
.hero-glow{z-index:1!important;mix-blend-mode:multiply}.hero-v2 .hero-stage .hero-in{z-index:2!important}
/* homepage photo band: client journey that lights up on scroll */
.pbj{margin-top:34px;max-width:640px;position:relative;--p:1}
.pbj-track{position:absolute;left:22px;width:75%;top:22px;height:2px;background:rgba(255,255,255,.18)}
.pbj-track i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--p)*100%);background:linear-gradient(90deg,#C9A0C0,#fff);box-shadow:0 0 12px rgba(201,160,192,.8)}
.pbj-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0;padding:0;list-style:none}
.pbj-dot{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #fff;color:#492141;box-shadow:0 0 0 6px rgba(201,160,192,.25);transition:all .4s}
.pbj-dot svg{width:20px;height:20px}
.pbj-s b{display:block;margin-top:12px;color:#fff;font-size:16px;transition:color .4s}
.pbj-s small{display:block;margin-top:3px;color:rgba(255,255,255,.75);font-size:13px;line-height:1.4;transition:color .4s}
.pbj.js .pbj-s:not(.lit) .pbj-dot{background:#1E151C;border-color:rgba(255,255,255,.25);color:rgba(255,255,255,.55);box-shadow:none}
.pbj.js .pbj-s:not(.lit) b{color:rgba(255,255,255,.55)}
.pbj.js .pbj-s:not(.lit) small{color:rgba(255,255,255,.4)}
@media(max-width:640px){.pbj-steps{grid-template-columns:repeat(2,1fr);row-gap:22px}.pbj-track{display:none}}
/* "Coming soon" badge (ChatGPT Ads) */
.soon{display:inline-block;vertical-align:middle;margin-left:8px;padding:3px 9px;border-radius:999px;background:#492141;color:#fff;font:700 10.5px/1.4 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.soon-s{margin-left:6px;padding:2px 7px;font-size:9.5px;background:#EDE3EB;color:#492141}
.soon-hero{margin:0 0 14px;background:#fff;color:#492141;font-size:11.5px;padding:5px 12px}
.card h3 .soon{position:relative;top:-2px}
/* footer bottom line: meet WCAG AA contrast (was .4 white, ~3.7:1) */
.foot-bot{color:rgba(255,255,255,.62)}

/* homepage hero: dark cinematic background (option 3) */
.hero-stage{background:#0B0A0B}
.hero-bg img{filter:grayscale(.35) brightness(.8) contrast(1.05)}
.hero-bg::after{background:linear-gradient(95deg,#0B0A0B 0%,#0B0A0B 32%,rgba(11,10,11,.82) 50%,rgba(11,10,11,.35) 75%,rgba(11,10,11,.2) 100%),radial-gradient(55% 80% at 82% 25%,rgba(142,79,128,.45),rgba(142,79,128,0) 70%),linear-gradient(180deg,rgba(11,10,11,0) 70%,#0B0A0B 100%)!important}
.hero-glow{mix-blend-mode:screen!important;opacity:.9}
.hero-v2 h1{color:#fff}.hero-v2 h1 em{color:#A6A6A6!important;-webkit-text-stroke-color:#A6A6A6!important}
.hero-index{color:rgba(255,255,255,.62)!important}.hero-index span:not(:last-child)::after{color:#C9A0C0}
.hero-v2 .btn-out{color:#fff!important;border-color:rgba(255,255,255,.55)!important;background:transparent!important}
@media(max-width:980px){.hero-bg::after{background:linear-gradient(180deg,rgba(11,10,11,.8),rgba(11,10,11,.9) 50%,#0B0A0B 90%)!important}}
/* homepage hero: purple Book a Call with white light circling the border */
@property --ba{syntax:'<angle>';initial-value:0deg;inherits:false}
.hero-v2 .hero-row .btn-orange{color:#fff!important;border:2.5px solid transparent!important;
  background:linear-gradient(135deg,#7A3F6E 0%,#5A2A52 55%,#492141 100%) padding-box,conic-gradient(from var(--ba),rgba(255,255,255,.25) 0deg,rgba(255,255,255,.35) 200deg,#E9C9E0 250deg,#fff 285deg,#E9C9E0 310deg,rgba(255,255,255,.25) 360deg) border-box!important;
  box-shadow:0 0 18px rgba(255,255,255,.18),0 16px 44px rgba(122,63,110,.55)!important;animation:btnSpin 3.2s linear infinite}
.hero-v2 .hero-row .btn-orange:hover{box-shadow:0 0 26px rgba(255,255,255,.3),0 18px 48px rgba(122,63,110,.65)!important}
@keyframes btnSpin{to{--ba:360deg}}
@media(prefers-reduced-motion:reduce){.hero-v2 .hero-row .btn-orange{animation:none}}
/* homepage hero: flipped celebration photo, fully zoomed out and anchored right */
.hero-bg picture{position:absolute;top:80px;bottom:0;right:0;left:auto;width:54%;display:block;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 32%);mask-image:linear-gradient(90deg,transparent 0%,#000 32%)}
.hero-bg picture img{width:100%;height:100%;object-fit:contain;object-position:100% 50%;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 82%,transparent 100%)}
@media(max-width:980px){.hero-bg picture{width:100%;-webkit-mask-image:none;mask-image:none}.hero-bg picture img{object-fit:cover;object-position:75% 10%;-webkit-mask-image:none;mask-image:none}}
/* homepage hero: blend the top into the nav and fade the bottom into the next section */
.hero-v2 .hero-stage::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,#0A0A0A 0,#0A0A0A 80px,rgba(10,10,10,0) 80px),linear-gradient(0deg,#0B0A0B 0,rgba(11,10,11,.85) 60px,rgba(11,10,11,0) 200px)}
/* homepage hero: no photo on phones and tablets */
@media(max-width:980px){.hero-bg picture{display:none}}
/* homepage hero: lighter photo treatment */
.hero-bg picture img{filter:grayscale(.12) brightness(1.05) contrast(1.05)!important}
.hero-bg::after{background:linear-gradient(95deg,#0B0A0B 0%,#0B0A0B 30%,rgba(11,10,11,.82) 52%,rgba(11,10,11,.2) 74%,rgba(11,10,11,0) 100%),radial-gradient(55% 80% at 82% 25%,rgba(142,79,128,.35),rgba(142,79,128,0) 70%)!important}
@media(max-width:980px){.hero-bg::after{background:radial-gradient(70% 60% at 85% 20%,rgba(142,79,128,.35),rgba(142,79,128,0) 70%)!important}}
.hero-v2 h1,.hero-v2 h1 em{text-shadow:0 2px 24px rgba(11,10,11,.65)}
/* homepage hero: taller, photo centered vertically with soft edges */
@media(min-width:981px){
.hero-v2 .hero-stage{min-height:max(740px,92vh);display:flex;flex-direction:column;justify-content:flex-start;padding-top:128px!important;padding-bottom:120px!important}
.hero-v2 .hero-stage>.hero-in{width:100%}
.hero-bg picture{top:80px!important;bottom:auto!important;height:min(750px,calc(100% - 80px))!important;width:auto!important;max-width:none;aspect-ratio:3/2;transform:none}
.hero-bg picture img{object-fit:cover!important;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 84%,transparent 100%)!important;mask-image:linear-gradient(180deg,#000 0%,#000 84%,transparent 100%)!important}
}
@media(max-width:980px){.hero-v2 .hero-stage{padding-bottom:40px}}
/* homepage hero: scroll to learn more */
.hero-scroll{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(255,255,255,.72);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:color .2s}
.hero-scroll:hover{color:#fff}
.hero-scroll i{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.35);animation:heroNudge 2s ease-in-out infinite}
.hero-scroll:hover i{border-color:#C9A0C0;background:rgba(142,79,128,.18)}
.hero-scroll svg{width:18px;height:18px}
@keyframes heroNudge{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media(max-width:980px){.hero-scroll{bottom:6px;font-size:10px}.hero-v2 .hero-stage{padding-bottom:96px!important}.hero-v2 .hero-row{padding-bottom:40px!important}}
@media(prefers-reduced-motion:reduce){.hero-scroll i{animation:none}}
/* nav: super thin white line along the bottom */
.nav{border-bottom:1px solid rgba(255,255,255,.16)!important}
@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.nav{border-bottom-width:.5px!important}}
/* homepage hero: supporting line */
.hero-v2 .hero-note{margin:26px 0 0;max-width:40ch;padding-left:16px;border-left:2px solid #8E4F80;color:rgba(255,255,255,.82);font-size:17.5px;line-height:1.55;text-shadow:0 2px 18px rgba(11,10,11,.7)}
.hero-v2 .hero-note b{color:#E9C9E0;font-weight:600}
@media(max-width:620px){.hero-v2 .hero-note{font-size:15.5px;margin-top:20px}}
/* homepage hero: keep the subline off the busy part of the photo */
@media(min-width:981px){.hero-v2 h1 em span{display:block}}
@media(min-width:981px){.hero-scroll{bottom:auto;top:min(calc(100vh - 78px),calc(100% - 78px))}}
/* phones: calmer homepage, fewer competing elements */
@media(max-width:760px){
.hero-v2 .hero-index{display:none}
.hero-scroll{display:none}
.hero-v2 .hero-row .btn-row{gap:12px}
.railbar{display:none!important}
.gp-f{display:none}
.gp-list{display:block!important;margin:16px 0 18px!important;padding:0!important}
.gp-list li{background:none!important;border:0!important;box-shadow:none!important;padding:5px 0!important;min-height:0!important;display:flex!important;align-items:flex-start;gap:10px;font-size:15px}
.gp-list li i{flex:0 0 18px;width:18px!important;height:18px!important;margin-top:2px}
.ps-tags{display:none!important}
.hero-v2 .hero-stage{padding-bottom:48px!important}
.chan-tabs{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:8px!important;margin:0 0 20px!important;padding:0!important;border-bottom:0!important}
.chan-tab{flex:0 0 auto!important;margin:0!important;padding:8px 13px!important;font-size:13.5px!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:999px!important;gap:6px!important}
.chan-tab::after,.chan-tab::before,.chan-ink{display:none!important}
.chan-tab .ct-ic{width:15px!important;height:15px!important}
.chan-tab[aria-selected="true"]{background:var(--purple)!important;border-color:var(--purple)!important;color:#fff!important}
.chan-tab[aria-selected="true"] .ct-ic{color:#fff!important}
}
/* desktop: tighter gap between the hero and the services band */
@media(min-width:981px){.hero-v2 .hero-stage{padding-bottom:64px!important}#services{padding-top:20px!important}}
/* homepage: Vincere vs. the typical agency */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.vs-sec{padding-top:96px;padding-bottom:96px;background:#0B0A0B!important;color:#fff}
.vs-sec h2{color:#fff}
.vs-sec{border-top:0!important}
.vs-head{max-width:640px;margin-bottom:44px}
.vs-head h2 em{font-style:normal;color:#A6A6A6}
.vs-head p{margin:18px 0 0;color:rgba(255,255,255,.72);font-size:18px;line-height:1.55}
.vs-table{border:1px solid rgba(255,255,255,.12);border-radius:22px;overflow:hidden;background:rgba(255,255,255,.02)}
.vs-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1.1fr);border-top:1px solid rgba(255,255,255,.08)}
.vs-row:first-child{border-top:0}
.vs-row>div{padding:20px 26px;font-size:15.5px;line-height:1.5;display:flex;gap:12px;align-items:flex-start}
.vs-k{color:#fff;font-weight:700}
.vs-them{color:rgba(255,255,255,.6)}
.vs-us{color:#fff;background:linear-gradient(90deg,rgba(73,33,65,.55),rgba(73,33,65,.35))}
.vs-row i{flex:0 0 22px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1px}
.vs-row i svg{width:13px;height:13px}
.vs-them i{background:rgba(255,255,255,.08);color:rgba(255,255,255,.55)}
.vs-us i{background:#fff;color:#492141}
.vs-top>div{padding-top:16px;padding-bottom:16px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.vs-top .vs-them{color:rgba(255,255,255,.5)}
.vs-top .vs-us{color:#E9C9E0}
.vs-lab{display:none}
.vs-cta{margin-top:36px}
@media(max-width:760px){
.vs-sec{padding-top:64px;padding-bottom:64px}
.vs-head{margin-bottom:28px}
.vs-head p{font-size:16.5px}
.vs-table{border:0;border-radius:0;background:none;display:grid;gap:12px}
.vs-top{display:none}
.vs-row{display:block;border:1px solid rgba(255,255,255,.12)!important;border-radius:16px;overflow:hidden}
.vs-row>div{padding:12px 16px;font-size:15px}
.vs-k{padding-top:14px!important;padding-bottom:4px!important;font-size:13px!important;letter-spacing:.12em;text-transform:uppercase;color:#E9C9E0!important}
.vs-them,.vs-us{display:grid!important;grid-template-columns:22px 1fr;column-gap:12px;row-gap:2px}
.vs-lab{display:block;grid-column:2;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.vs-them i,.vs-us i{grid-row:1/span 2;grid-column:1}
.vs-us{border-top:1px solid rgba(255,255,255,.08)}
.vs-row.vs-top{display:none}
}
/* homepage: more compact comparison table on desktop */
@media(min-width:761px){
.vs-row{grid-template-columns:minmax(0,.55fr) minmax(0,1fr) minmax(0,1.1fr)}
.vs-row>div{padding:13px 22px;font-size:14.5px;line-height:1.45}
.vs-top>div{padding-top:12px;padding-bottom:12px;font-size:11px}
.vs-row i{flex-basis:20px;width:20px;height:20px}
.vs-row i svg{width:12px;height:12px}
.vs-head{margin-bottom:32px}
}
/* homepage: plan section sits closer to the comparison */
#math{padding-bottom:64px!important}
@media(max-width:760px){#math{padding-bottom:48px!important}}
/* comparison: rows play in order; a shine crosses the Vincere answer
   and its check pops in */
html.js-anim .vs-row.kid{transition-delay:calc(var(--i,0) * 170ms + 150ms)}
html.js-anim .vs-us{position:relative;overflow:hidden}
html.js-anim .vs-us::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:60%;pointer-events:none;background:linear-gradient(100deg,rgba(201,160,192,0),rgba(201,160,192,.22),rgba(201,160,192,0));transform:translateX(0);opacity:0}
html.js-anim .in .vs-us::after{animation:vsShine 1s ease-out both;animation-delay:calc(var(--i,0) * 170ms + 650ms)}
@keyframes vsShine{0%{transform:translateX(0);opacity:1}100%{transform:translateX(280%);opacity:0}}
html.js-anim .vs-us i{transform:scale(0);transition:transform .45s cubic-bezier(.34,1.56,.64,1);transition-delay:calc(var(--i,0) * 170ms + 800ms)}
html.js-anim .in .vs-us i{transform:scale(1)}
@media(prefers-reduced-motion:reduce){html.js-anim .vs-us i{transition:none!important;transform:none!important}html.js-anim .in .vs-us::after{animation:none!important}}
/* homepage: rotating photo with matching captions */
.ph-rot .ph-slide{opacity:0;transform:scale(1.03);transition:opacity .8s ease,transform 4.5s ease-out}
.ph-rot .ph-slide.on{opacity:1;transform:scale(1)}
.ph-rot .ph-slide-cap{opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s ease}
.ph-rot .ph-slide-cap.on{opacity:1;transform:none;transition-delay:.25s}
@media(prefers-reduced-motion:reduce){.ph-rot .ph-slide,.ph-rot .ph-slide-cap{transition:none!important;transform:none!important}}
/* homepage: comparison sits closer to 'More signed cases' */
#compare{padding-bottom:48px!important}
#about{padding-top:44px!important}
@media(max-width:760px){#compare{padding-bottom:40px!important}#about{padding-top:36px!important}}
/* homepage: 'More signed cases' on a slightly lighter charcoal so the
   change from the comparison section is visible */
#about{background:linear-gradient(180deg,#0B0A0B 0,#161416 110px,#161416 100%)!important;border-top:0!important}
/* homepage hero: slightly brighter photo and a slightly lighter black fade */
@media(min-width:981px){
.hero-bg picture img{filter:grayscale(.1) brightness(1.06) contrast(1.05)!important}
.hero-bg::after{background:linear-gradient(95deg,#0B0A0B 0%,#0B0A0B 30%,rgba(11,10,11,.8) 50%,rgba(11,10,11,.2) 71%,rgba(11,10,11,0) 94%),radial-gradient(55% 80% at 82% 25%,rgba(142,79,128,.33),rgba(142,79,128,0) 70%)!important}
}

/* booking calendar */
.book{padding:36px 34px!important;border-radius:18px!important;box-shadow:0 24px 60px rgba(73,33,65,.12)}
.book h3{font-family:sans-serif!important;font-weight:700!important;font-size:24px!important;letter-spacing:-.015em!important;margin:0 0 6px}
.bk-step{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:22px}
.bk-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.bk-head b{font-size:15px;font-weight:700}
.bk-nav{width:34px;height:34px;border-radius:50%;border:1px solid #E4E4E4;background:#fff;color:var(--ink);font-size:17px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.bk-nav:hover:not(:disabled){border-color:var(--purple);color:var(--purple)}
.bk-nav:disabled{opacity:.35;cursor:default}
.bk-dow,.bk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.bk-dow span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6B6168;padding:4px 0}
.bk-day{aspect-ratio:1;border:0;border-radius:10px;background:transparent;font:inherit;font-size:14px;color:#B7AEB4;cursor:default}
.bk-day.on{background:#EEEEEE;color:var(--purple);font-weight:700;cursor:pointer}
.bk-day.on:hover{background:#E3E3E3}
.bk-day.sel{background:var(--purple)!important;color:#fff!important}
.bk-day.today{box-shadow:inset 0 0 0 1px #BDBDBD}
.bk-times-h{font-size:14px;font-weight:700;margin:4px 0 10px}
.bk-slots{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:292px;overflow:auto;padding-right:2px}
.bk-slot{border:1px solid #D2D2D2;background:#fff;color:var(--purple);border-radius:10px;padding:9px 6px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}
.bk-slot:hover{background:var(--purple);color:#fff;border-color:var(--purple)}
.bk-empty{font-size:13.5px;color:#6B6B6B;line-height:1.5;grid-column:1/-1}
.bk-tz{font-size:12px;color:#6B6168;margin:10px 0 0}
.bk-pick{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#F4F4F4;border:1px solid #E4E4E4;border-radius:12px;padding:14px 16px;margin-bottom:18px}
.bk-pick b{display:block;font-size:15px}
.bk-pick small{font-size:12.5px;color:#6B6B6B}
.bk-change{background:none;border:0;color:var(--purple);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.book .btn{width:100%;justify-content:center;margin-top:6px}
.bk-embed{width:100%;height:640px;border:0;border-radius:12px;background:#fff}
@media(max-width:1100px) and (min-width:901px){.bk-step{grid-template-columns:1fr}.bk-slots{grid-template-columns:repeat(3,1fr);max-height:none}}
@media(max-width:560px){.book{padding:26px 18px!important}.bk-step{grid-template-columns:1fr}.bk-slots{grid-template-columns:repeat(3,1fr);max-height:none}}
.form-fine{font-size:12px;color:#6B6168;text-align:center;margin:10px 0 0}
.book [hidden]{display:none!important}
/* multi-step flow */
.bk-prog{height:4px;border-radius:4px;background:#ECECEC;margin:0 0 22px;overflow:hidden}
.bk-prog span{display:block;height:100%;width:0;background:var(--purple);border-radius:4px;transition:width .35s cubic-bezier(.2,.7,.2,1)}
.bk-screen{animation:bkIn .3s ease both}
@keyframes bkIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
.bk-qn{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--purple);margin:0 0 8px}
.bk-q{font-family:sans-serif!important;font-size:22px!important;font-weight:700!important;letter-spacing:-.015em!important;line-height:1.25!important;margin:0 0 18px}
.bk-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bk-opts-wide{grid-template-columns:repeat(3,1fr);gap:8px}
.bk-opt{position:relative;cursor:pointer}
.bk-opt input{position:absolute;opacity:0;pointer-events:none}
.bk-opt span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:54px;padding:10px 12px;border:1.5px solid #DADADA;border-radius:12px;background:#fff;font-size:15px;font-weight:600;color:var(--ink);transition:border-color .15s,background .15s,color .15s,transform .15s}
.bk-opts-wide .bk-opt span{min-height:46px;font-size:13.5px}
.bk-opt:hover span{border-color:var(--purple);transform:translateY(-1px)}
.bk-opt input:checked + span{background:var(--purple);border-color:var(--purple);color:#fff}
.bk-opt input:focus-visible + span{outline:3px solid #A6A6A6;outline-offset:2px}
.bk-back{display:block;margin:16px auto 0;background:none;border:0;color:#6B6B6B;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
.bk-back:hover{color:var(--purple)}
.bk-done{text-align:center;padding:18px 0 6px}
.bk-check{width:64px;height:64px;border-radius:50%;background:var(--purple);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;animation:bkPop .45s cubic-bezier(.2,1.4,.4,1) both}
.bk-check svg{width:30px;height:30px}
@keyframes bkPop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.bk-done h3{margin-bottom:10px!important}
.bk-done-when{font-size:17px;font-weight:700;color:var(--ink);margin:0 0 6px}
.bk-done-mail{font-size:15px;color:#4A4A4A;margin:0 0 14px}
.bk-err{margin:14px 0 0;background:#FDF2F4;border:1px solid #F3C9D2;border-radius:10px;padding:12px 14px;font-size:13.5px;color:#7A1F35}
@media(max-width:560px){.bk-opts-wide{grid-template-columns:1fr 1fr}.bk-q{font-size:19px!important}}
/* cleaner calendar card */
.book .bk-prog{transition:opacity .25s}
.book.bk-at0 .bk-prog{opacity:0;height:0;margin:0}
.book h3{margin-bottom:4px}
.book .form-sub{margin:0 0 20px!important}
.bk-step{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:0}
.bk-cal{padding-right:24px}
.bk-times{border-left:1px solid #EAEAEA;padding-left:24px;display:flex;flex-direction:column;contain:size;min-height:0}
.bk-times .bk-slots{flex:1 1 0;min-height:0;max-height:none;align-content:start}
.bk-head{margin-bottom:6px}
.bk-days{gap:3px}
.bk-day{aspect-ratio:auto;height:38px}
.bk-times-h{margin:6px 0 10px;min-height:20px}
.bk-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;min-height:170px;padding:16px;border:1px dashed #DADADA;border-radius:12px;background:#F9F9F9;color:#6B6B6B!important;font-size:13px!important}
.bk-empty svg{width:22px;height:22px;color:var(--purple);opacity:.7}
.bk-tz{margin-top:auto!important;padding-top:12px;font-size:11.5px!important;line-height:1.45}
@media(max-width:1100px) and (min-width:901px),(max-width:560px){.bk-step{grid-template-columns:1fr}.bk-cal{padding-right:0}.bk-times .bk-slots{flex:none;max-height:none}.bk-times{contain:none;border-left:0;padding-left:0;border-top:1px solid #EAEAEA;padding-top:14px;margin-top:10px}.bk-empty{min-height:0}}
/* fixed-size card: all steps share one grid cell sized to the tallest */
.book{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr)}
.book .bk-prog{position:absolute;top:18px;left:34px;right:34px;margin:0!important}
.book.bk-at0 .bk-prog{height:4px;margin:0!important}
.book .bk-screen,.book .bk-err{grid-row:1;grid-column:1;animation:none}
.book .bk-screen[hidden]{display:block!important;visibility:hidden;pointer-events:none}
.book .bk-screen.bk-anim{animation:bkIn .3s ease both}
.book .bk-screen.bk-done{align-self:center}
.book .bk-err{align-self:center;margin:0!important;padding:22px!important;text-align:center}
.book .bk-err p{margin:0 0 14px;font-size:14.5px;line-height:1.55}
.book .bk-err .btn{width:auto;display:inline-flex}
@media(max-width:560px){.book .bk-prog{left:18px;right:18px;top:12px}}
@media(max-width:1100px) and (min-width:901px),(max-width:560px){.book .bk-times .bk-slots{max-height:156px!important;overflow:auto}.book .bk-empty{min-height:156px!important;box-sizing:border-box}}

.h4{font-family:sans-serif!important;font-size:18px;font-weight:700!important;letter-spacing:-.01em!important;line-height:1.25!important;margin:0 0 8px}
.metric h3.k{margin:0 0 10px}
