/* ============================================================= *
 *  KOZ type role locks                                          *
 *  Loaded LAST (after page $page_styles) so roles win.          *
 *  Playfair = all display / titles / heroes                     *
 *  Poppins  = body, eyebrows, buttons, forms, captions          *
 * ============================================================= */

.btn .dot,
.btn-primary .dot,
.claim-now .dot{display:none!important}

/* --- Display (Playfair) --- */
.propose h2,
.sh-title,
.cq,
.card-title,
.gate-banner h2,
.rh-title,
.dossier-title,
.hero h1,
.splithero h1,
.phero h1,
.phero.calc-hero h1{
  font-family:var(--font-serif);
}

/* --- Body (Poppins) — reinforce UI / labels --- */
.eyebrow,
.btn,
.fluid-btn,
button,
input,
select,
textarea,
label,
.card-sub,
.rh-sub,
.sc-count,
.nav .burger,
footer.site .foot-cols h5,
.menu .meta h5{
  font-family:var(--font-sans);
}

/* --- Light-wash contrast (Brand: Royal Purple on pearl; Gold fails WCAG) --- */
.propose .eyebrow,
.pr-copy .eyebrow{color:var(--wash-eyebrow)}
.propose .eyebrow::before,
.pr-copy .eyebrow::before{background:var(--purple);opacity:.9}
.propose h2{color:var(--wash-ink)}
.propose h2 em{color:var(--wash-em);font-style:italic}
.propose .btn-ghost{
  border-color:rgba(114,49,118,.35);
  color:var(--purple);
  background:rgba(255,255,255,.55);
}
.propose .btn-ghost:hover{
  background:var(--purple);
  color:var(--pearl);
  border-color:var(--purple);
}

/* --- Section titles: left-aligned (not a centered narrow column) --- */
.ilist-head,
.tiers .head,
.folio .head,
.team-sec .team-head,
.commission .comm-head{
  max-width:none !important;
  margin-inline:0 !important;
  text-align:left !important;
}
.ilist-head h2,
.tiers .head h2,
.folio .head h2,
.vo-head h2,
.team-sec .team-head h2,
.commission .comm-head h2,
.faq h2,
.manifesto .txt h2,
.offer .copy h2,
.calc .copy h2,
.journey .j-head h2,
.inner .ilist-head h2,
.inner .tiers .head h2,
.inner .folio .head h2{
  max-width:none;
  margin-inline:0;
  line-height:1.12;
  text-wrap:pretty;
  text-align:left;
}
.services .head h2{
  max-width:none;
  line-height:1.12;
  text-wrap:pretty;
  text-align:left;
}

/* Section intro copy under titles — min 80% width sitewide (beats inline max-width: Nch) */
.services .head p,
.team-sec .team-head p,
.commission .comm-head p,
.ilist-head p,
.journey .j-head p,
.journey .head p,
.tiers .head p,
.folio-intro,
.folio .head p,
.calc .copy p,
.manifesto .txt > p,
.offer .copy p,
.atlas-intro-copy p,
.apillars-head p,
.c-reach > p,
.cform-sub,
.pr-lede,
.manifesto2.wed-lede > .wrap > p,
.card-sub{
  max-width:none !important;
  min-width:80% !important;
  width:80% !important;
  margin-inline:0 !important;
  line-height:1.75;
}
/* Calculator reveal body — centered under the title */
.rh-sub{
  max-width:42ch !important;
  min-width:0 !important;
  width:auto !important;
  margin-inline:auto !important;
  text-align:center !important;
  line-height:1.75;
}
.journey .j-head .eyebrow,
.team-sec .team-head .eyebrow,
.commission .comm-head .eyebrow{
  justify-content:flex-start;
}
.team-sec .team-head p,
.journey .j-head p{
  margin-inline:0 !important;
}
/* foot-cta / ctasec centering handled in rail block above */

/* --- Shared content rail (Option A) ---
   Same left edge via --edge + --maxw. Do NOT force max-width on .wrap
   so quote / CTA / manifesto2 keep intentional narrower caps. */
:root{
  --rail-inset:calc(max(0px,(100vw - var(--maxw)) / 2) + var(--edge));
  --section-title-size:clamp(2rem,4.4vw,3.6rem);
  --section-title-lh:1.14;
}
.wrap{
  margin-inline:auto !important;
  padding-inline:var(--edge) !important;
  box-sizing:border-box;
}
/* Services title is .wrap.head — keep full wrap rail (do not zero max-width) */
.services .wrap.head,
.services .head.wrap{
  max-width:var(--maxw) !important;
  width:100%;
  box-sizing:border-box;
  text-align:left;
}
/* Voices title uses .vo-head.wrap — keep it on the same rail as other wraps */
.voices .vo-head.wrap{
  max-width:var(--maxw) !important;
  width:100%;
  box-sizing:border-box;
  text-align:left;
}
.voices .vo-head .eyebrow{justify-content:flex-start}
.voices .vo-head h2{margin-inline:0;text-align:left}
/* Voices carousel: left edge matches wrap; right can still breathe */
.voices .swiper{
  padding-left:var(--rail-inset) !important;
  padding-right:var(--edge) !important;
  box-sizing:border-box;
}
/* Footer CTA is cinematic-centered — restore after theme-fixes zeroed side margins */
footer.site .foot-cta,
.foot-cta{
  text-align:center;
}
footer.site .foot-cta .eyebrow,
.foot-cta .eyebrow{
  justify-content:center;
}
footer.site .foot-cta h2,
.inner footer.site .foot-cta h2,
.inner .foot-cta h2,
.foot-cta h2,
.ctasec h2{
  max-width:18ch;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  text-wrap:pretty;
}
/* Footer ticker: middot glyph reads as a 1px spec — use real gold discs */
footer.site .foot-strip .run b,
.inner footer.site .foot-strip .run b,
.foot-strip .run b{
  display:inline-block;
  width:7px;
  height:7px;
  padding:0;
  font-size:0;
  line-height:0;
  color:transparent;
  background:var(--gold);
  border-radius:50%;
  opacity:1;
  flex:0 0 auto;
  vertical-align:middle;
  transform:translateY(-.08em);
}
/* --- Density: tighter section padding --- */
.offer,
.manifesto,
.services,
.faq,
.voices,
.ilist-sec,
.journey,
.commission,
.tiers,
.team-sec,
.contact-sec,
.quote,
.manifesto2,
.statement{
  padding-top:clamp(48px,6vh,72px);
  padding-bottom:clamp(48px,6vh,72px);
}
/* Extra bottom room: manifesto scroll-morph sits over the calc edge */
.calc{
  padding-top:clamp(56px,9vh,110px);
  padding-bottom:calc(clamp(56px,9vh,110px) + clamp(48px,7vw,88px));
}
/* Manifesto: less top padding — morph seam above reads as extra space */
.manifesto{
  padding-top:clamp(16px,2.5vh,32px);
}
.folio{
  padding-top:clamp(40px,5vh,64px);
  padding-bottom:0;
}
.inner .ctasec,
.ctasec.inner,
body.inner .ctasec{
  padding-top:clamp(64px,9vh,96px);
  padding-bottom:clamp(64px,9vh,96px);
}
.fillband{
  padding-top:clamp(56px,8vh,88px);
  padding-bottom:clamp(56px,8vh,88px);
}
.ilist-head,
.folio .head,
.vo-head,
.commission .comm-head,
.journey .j-head,
.team-sec .team-head,
.tiers .head,
.services .head{
  margin-bottom:clamp(1.15rem,2.2vh,1.7rem);
}

/* Footer wordmark — SVG asset + infinite gold wave (legacy wmWave) */
footer.site .wordmark{
  display:block;
  width:100%;
  max-width:100%;
  margin:clamp(1.6rem,3vh,2.4rem) auto 0;
  padding:0;
  font-size:0;
  line-height:0;
  text-align:center;
  color:transparent;
  -webkit-text-stroke:0;
  filter:drop-shadow(0 2px 18px rgba(22,15,27,.65));
}
footer.site .wordmark img,
footer.site .wordmark .wm-svg{
  display:block;
  width:100%;
  max-width:min(100%,var(--maxw));
  height:auto;
  margin-inline:auto;
  user-select:none;
  pointer-events:none;
  overflow:visible;
}
footer.site .wordmark .wm-path{
  fill:none;
  stroke:rgba(238,240,242,.62);
  stroke-width:2px;
  stroke-miterlimit:10;
}
footer.site .wordmark.wm-live .wm-path{
  animation:wmWave 3s var(--ease,cubic-bezier(.22,1,.36,1)) infinite;
  animation-delay:var(--d,0s);
}
@keyframes wmWave{
  0%,72%,100%{stroke:rgba(238,240,242,.62)}
  82%{stroke:rgba(230,207,134,.95)}
}

/* Footer brand column logo — +95% (30% then +50%) */
footer.site .foot-cols .brandcol img,
.inner footer.site .foot-cols .brandcol img{
  height:calc(40px * 1.3 * 1.5);
  width:auto;
}

@media(prefers-reduced-motion:reduce){
  footer.site .wordmark.wm-live .wm-path{animation:none}
  .calc{padding-bottom:clamp(56px,9vh,110px)}
}

/* Hide footer wordmark on mobile */
@media(max-width:820px){
  footer.site .wordmark,
  footer.site .wordmark.wm-live{
    display:none;
  }
}

/* Menu open: solid (scrolled) nav was keeping a light bar + pearl Close text = invisible */
header.nav.menu-open,
header.nav.solid.menu-open{
  background:transparent;
  border-bottom-color:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
header.nav.menu-open::before,
header.nav.solid.menu-open::before{opacity:0}
header.nav.menu-open .burger,
header.nav.solid.menu-open .burger,
header.nav.menu-open .burger.open,
header.nav.solid.menu-open .burger.open{
  color:var(--pearl);
  background:rgba(238,240,242,.12);
  border-color:rgba(238,240,242,.4);
}
header.nav.menu-open .burger:hover,
header.nav.solid.menu-open .burger:hover{
  background:rgba(238,240,242,.22);
  border-color:var(--gold);
  color:var(--pearl);
}
header.nav.menu-open .burger .bars i,
header.nav.solid.menu-open .burger .bars i{
  background:currentColor;
}

/* Mega menu — left panel brand purple; footer meta titles +2px */
.menu .left{
  background:var(--purple);
}
.menu .meta h5{
  font-size:calc(.68rem + 2px);
}

/* After removing breadcrumbs + section eyebrows: titles sit flush on section edge */
.phero h1{margin-top:0}
.phero h1 em,
.phero.calc-hero h1 em{
  color:var(--gold)!important;
  font-style:italic;
}

/* Inner page hero — drop monogram; unified cinematic scrim (no text blob) */
.phero-wm{display:none!important}
.phero-overlay{
  background:
    radial-gradient(
      ellipse 72% 58% at 50% 46%,
      rgba(23,21,26,.72) 0%,
      rgba(23,21,26,.4) 52%,
      rgba(23,21,26,.12) 100%
    ),
    linear-gradient(
      180deg,
      rgba(23,21,26,.58) 0%,
      rgba(23,21,26,.38) 45%,
      rgba(23,21,26,.65) 82%,
      rgba(23,21,26,.85) 100%
    )!important;
}
.phero-vig{
  background:radial-gradient(
    125% 92% at 50% 40%,
    transparent 38%,
    rgba(23,21,26,.32) 72%,
    rgba(23,21,26,.52) 100%
  )!important;
}
.phero-dust{opacity:.4!important}
.phero h1,
.phero.calc-hero h1{
  text-shadow:0 2px 24px rgba(23,21,26,.5);
}
.phero-sub{
  color:rgba(238,240,242,.9)!important;
  text-shadow:0 1px 14px rgba(23,21,26,.5);
}
.crumb{display:none}

.manifesto2 h2{
  font-family:var(--font-display);
  font-weight:500;
  font-style:italic;
  font-size:clamp(1.05rem,1.75vw,1.32rem);
  line-height:1.25;
  letter-spacing:.02em;
  color:var(--purple);
  margin:0 0 clamp(.75rem,1.6vh,1.1rem);
}
.manifesto2 .mq{
  font-family:var(--font-serif);
  font-weight:500;
  font-size:clamp(1.65rem,3.15vw,2.55rem);
  line-height:1.38;
  letter-spacing:-.02em;
  color:var(--ink);
  margin:0 auto!important;
  max-width:34ch;
}
.manifesto2 .mq em{
  color:var(--purple);
  font-style:italic;
}
.manifesto2{
  padding-top:clamp(48px,6vh,72px)!important;
  padding-bottom:clamp(48px,6vh,72px)!important;
}
.chapters{
  padding-top:clamp(24px,3vh,40px)!important;
}

.nitem::before{
  background:linear-gradient(180deg,rgba(17,157,164,.85),rgba(17,157,164,0))!important;
}
/* Stats rules sit between items only — not before the first */
.numbers .nitem:first-child{
  padding-left:0;
}
.numbers .nitem:first-child::before{
  content:none!important;
}
@media(max-width:860px){
  .numbers .nitem:nth-child(odd){padding-left:0}
  .numbers .nitem:nth-child(odd)::before{content:none!important}
}

.journey .j-head h2,
.team-sec .team-head h2,
.commission .comm-head h2,
.ilist-head h2,
.atlas-head h2,
.atlas-intro-copy h2,
.apillars-head h2,
.commission-head h2,
.vo-head h2,
.faq h2,
.manifesto .txt h2,
.offer .copy h2,
.calc .copy h2,
.folio .head h2,
.reel-act h2,
.ri-head h2,
.ctasec h2,
.foot-cta h2,
.c-aside h2,
.cform-card-head h2,
.chapter-text h2,
.pr-copy h2,
.services .head h2{
  margin-top:0;
}

/* Unified section h2 scale — one size sitewide (overrides per-page inline styles) */
.manifesto .txt h2,
.offer .copy h2,
.calc .copy h2,
.services .head h2,
.faq h2,
.folio .head h2,
.vo-head h2,
.propose h2,
.propose .pr-copy h2,
.pr-copy h2,
.journey .j-head h2,
.team-sec .team-head h2,
.commission .comm-head h2,
.commission-head h2,
.commission-strip .commission-head h2,
.commission-atlas .commission-head h2,
.ilist-head h2,
.tiers .head h2,
.atlas-head h2,
.atlas-intro-copy h2,
.apillars-head h2,
.reel-act h2,
.ri-head h2,
.c-aside h2,
.chapter-text h2,
.ctasec h2,
.foot-cta h2,
.inner .ilist-head h2,
.inner .tiers .head h2,
.inner .folio .head h2{
  font-size:var(--section-title-size)!important;
  line-height:var(--section-title-lh)!important;
  letter-spacing:.004em!important;
}

/* Contact form title — one line on all breakpoints */
.cform-card-head h2{
  font-size:clamp(0.95rem,2.65vw,1.75rem)!important;
  line-height:1.2!important;
  letter-spacing:-.015em!important;
  white-space:nowrap!important;
  text-wrap:nowrap!important;
  max-width:100%;
}

/* Portfolio cover-flow act titles — white on dark gallery */
.koz-gal .koz-gal-title,
.koz-gal h2.koz-gal-title{
  color:#fff!important;
  text-shadow:0 2px 24px rgba(0,0,0,.55);
}
.koz-gal .koz-gal-sub{color:rgba(255,255,255,.78)!important}
.koz-gal .koz-gal-count{color:var(--gold)!important}
.koz-gal .koz-gal-title .w,
.koz-gal .koz-gal-title .wi{color:inherit!important}


/* Keep accent phrases readable — avoid forced nowrap (causes fi/ff collisions) */
h1,h2,h3,h4{
  letter-spacing:.004em;
  font-kerning:normal;
}
h1,h2{
  text-wrap:pretty;
}
h1 em,h2 em,h3 em{
  white-space:normal;
  letter-spacing:.022em;
  font-style:italic;
}
.nowrap{white-space:nowrap;letter-spacing:.015em}

/* Word reveal — clip room without extra line gap (padding + matching negative margin) */
.js .w{
  display:inline-block;
  overflow:hidden;
  vertical-align:top;
  line-height:1.12;
  padding-top:.18em;
  padding-bottom:.22em;
  margin-top:-.18em;
  margin-bottom:-.22em;
}
.js .wi{
  display:inline-block;
  transform:translateY(110%);
  will-change:transform;
  line-height:1.08;
  padding:0;
  margin:0;
}
.js h1 em .wi,
.js h2 em .wi,
.js h3 em .wi{
  letter-spacing:.026em;
}
.js .line-mask{
  overflow:hidden;
  display:block;
  line-height:1.12;
  padding-top:.1em;
  padding-bottom:.12em;
  margin-bottom:-.1em;
}
.js .line-mask.is-open,
.js h1 .line-mask.is-open,
.js h2 .line-mask.is-open{
  overflow:visible;
}

/* Portfolio index: underline tabs + card grid */
.ri-filters{
  display:flex;flex-wrap:wrap;align-items:stretch;
  gap:0;margin:clamp(1.1rem,2.2vh,1.6rem) 0 0;padding:0;
  border-bottom:1px solid var(--wash-line,var(--line));
}
.ri-filters button{
  position:relative;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  padding:.72rem 0 .9rem;
  margin:0 clamp(1.2rem,2.8vw,2.2rem) 0 0;
  color:var(--wash-muted,var(--muted));
}
.ri-filters button:last-child{margin-right:0}
.ri-filters button::after{
  content:"";
  position:absolute;left:0;right:0;bottom:-1px;
  height:2px;background:transparent;
}
.ri-filters button.on{color:var(--purple)}
.ri-filters button.on::after{background:var(--purple)}
.ri-filters button:hover{color:var(--purple)}
.reel-index .wrap{max-width:var(--maxw);width:100%}
@media(max-width:820px){
  .ri-filters button{margin-right:1.2rem;padding:.55rem 0 .7rem}
}

/* Scratch foil: readable prompt over gold */
.scratch .hint{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.58em 1.05em;
  border-radius:999px;
  color:var(--pearl);
  background:rgba(23,21,26,.72);
  box-shadow:0 8px 22px rgba(23,21,26,.28);
  font-weight:500;
  letter-spacing:.22em;
  white-space:nowrap;
}
.scratch .hint .coin{color:var(--gold)}

/* Services lists: no index numbers */
.apillar-num,
.arow .an,
.irow .in,
.irow .iarrow{display:none!important}

/* Portfolio reel: compact cards, no index numbers, larger tags */
.reel-num{display:none!important}
.reel-cat{
  font-size:clamp(.82rem,1.05vw,.95rem)!important;
  letter-spacing:.14em!important;
  font-weight:500;
}
/* Bottom row: force equal thirds across full rail; equal card height */
.reel-frames{
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-rows:clamp(240px,32vh,340px)!important;
  width:100%!important;
}
.reel-frame.is-hero,
.reel-frame.is-tall,
.reel-frame.is-third,
.reel-frame.is-half,
.reel-frame.is-wide{grid-row:span 1!important}
.reel-frame.is-hero{grid-column:1 / span 8!important}
.reel-frame.is-tall{grid-column:9 / span 4!important}
.reel-frame.is-third{grid-column:span 4!important}
.reel-frame.is-half{grid-column:span 6!important}
.reel-frame.is-wide{grid-column:1 / -1!important}
@media(max-width:1100px){
  .reel-frames{grid-auto-rows:clamp(220px,30vh,300px)!important}
}
@media(max-width:820px){
  .reel-frames{grid-auto-rows:clamp(200px,42vw,280px)!important}
  .reel-frame.is-hero,
  .reel-frame.is-tall,
  .reel-frame.is-third,
  .reel-frame.is-half,
  .reel-frame.is-wide{grid-column:span 1!important}
  .reel-frame.is-hero,
  .reel-frame.is-wide{grid-column:1 / -1!important}
}
@media(max-width:520px){
  .reel-frames{grid-auto-rows:clamp(220px,52vw,280px)!important}
  .reel-frame.is-hero,
  .reel-frame.is-tall,
  .reel-frame.is-third,
  .reel-frame.is-half,
  .reel-frame.is-wide{grid-column:1 / -1!important}
}

/* Voices carousel arrows — match primary button (gold) */
.voices .vo-arrow{
  border-color:rgba(212,175,55,.45);
  color:var(--ink);
}
.voices .vo-arrow:hover,
.voices .vo-arrow:focus-visible{
  background:linear-gradient(135deg,var(--gold),#c9962a);
  border-color:var(--gold);
  color:var(--velvet);
}

/* Footer column titles — ~2px larger than link items */
footer.site .foot-cols h5,
.foot-cols h5{
  font-size:calc(.9rem + 2px);
}

/* ============================================================= *
 *  Gold primary CTAs                                             *
 *  Light backgrounds: solid gold default (previous design)       *
 *  Dark backgrounds: glass outline → solid gold hover            *
 * ============================================================= */

/* Light wash / pearl — solid gold default, pearl (white) hover */
.propose .btn-primary,
.calc .btn-primary,
.offer .btn-primary,
.voices .btn-primary,
.fillband .btn-primary,
.faq .btn-primary,
.manifesto .btn-primary,
.commission .btn-primary,
.commission-strip .btn-primary,
.commission-atlas .btn-primary,
.commission-foot .btn-primary,
.ilist-sec .btn-primary,
.numbers .btn-primary,
.statement .btn-primary,
.journey .btn-primary,
.contact-main .btn-primary,
.gate-banner .btn-primary,
.scratch .claim-now,
.scratch .btn-primary,
.btn-primary.btn-gold{
  background:var(--gold)!important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  color:var(--velvet)!important;
  border-color:var(--gold)!important;
  box-shadow:none;
}
.propose .btn-primary{
  background:var(--gold)!important;
  border-color:var(--gold)!important;
  border-radius:8px!important;
}
.propose .btn-primary:hover,
.propose .btn-primary:focus-visible{
  background:var(--gold)!important;
  border-color:var(--gold)!important;
  color:var(--velvet)!important;
}
.propose .btn-primary:hover,
.calc .btn-primary:hover,
.offer .btn-primary:hover,
.voices .btn-primary:hover,
.fillband .btn-primary:hover,
.faq .btn-primary:hover,
.manifesto .btn-primary:hover,
.commission .btn-primary:hover,
.commission-strip .btn-primary:hover,
.commission-atlas .btn-primary:hover,
.commission-foot .btn-primary:hover,
.ilist-sec .btn-primary:hover,
.numbers .btn-primary:hover,
.statement .btn-primary:hover,
.journey .btn-primary:hover,
.contact-main .btn-primary:hover,
.gate-banner .btn-primary:hover,
.scratch .claim-now:hover,
.scratch .claim-now:focus-visible,
.scratch .btn-primary:hover,
.scratch .btn-primary:focus-visible,
.btn-primary.btn-gold:hover,
.btn-primary.btn-gold:focus-visible{
  background:var(--pearl)!important;
  color:var(--velvet)!important;
  border-color:var(--gold)!important;
}

/* Dark cinematic — glass outline default (gold border + text), solid gold hover */
footer.site .btn-primary,
.ctasec .btn-primary,
.phero .btn-primary,
.pz-hero .btn-primary,
.cnav .btn-primary,
.cr-cta .btn-primary,
.svc-flip-cta,
.rg-cta,
.sh-card-cta,
.lbox-enquire{
  background:rgba(212,175,55,.12)!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  color:var(--gold)!important;
  border-color:var(--gold)!important;
  box-shadow:none;
}
footer.site .btn-primary:hover,
footer.site .btn-primary:focus-visible,
.ctasec .btn-primary:hover,
.ctasec .btn-primary:focus-visible,
.phero .btn-primary:hover,
.phero .btn-primary:focus-visible,
.pz-hero .btn-primary:hover,
.pz-hero .btn-primary:focus-visible,
.cnav .btn-primary:hover,
.cnav .btn-primary:focus-visible,
.cr-cta .btn-primary:hover,
.cr-cta .btn-primary:focus-visible,
.svc-flip-cta:hover,
.svc-flip-cta:focus-visible,
.rg-cta:hover,
.rg-cta:focus-visible,
.sh-card-cta:hover,
.sh-card-cta:focus-visible,
.lbox-enquire:hover,
.lbox-enquire:focus-visible{
  background:var(--gold)!important;
  color:var(--velvet)!important;
  border-color:var(--gold)!important;
}
.apillar-enter:hover,
.apillar-enter:focus-visible{
  background:var(--gold)!important;
  color:var(--velvet)!important;
  border-color:var(--gold)!important;
}
.comm-card.is-featured .comm-cta.btn-primary,
.commission .comm-card.is-featured .comm-cta.btn-primary{
  background:var(--purple)!important;
  border-color:var(--purple)!important;
  color:var(--pearl)!important;
}
.comm-card.is-featured .comm-cta.btn-primary:hover,
.comm-card.is-featured .comm-cta.btn-primary:focus-visible,
.commission .comm-card.is-featured .comm-cta.btn-primary:hover,
.commission .comm-card.is-featured .comm-cta.btn-primary:focus-visible,
.comm-card.is-featured .is-fluid.comm-cta.btn-primary:hover,
.comm-card.is-featured .is-fluid.comm-cta.btn-primary:focus-visible,
.comm-card.is-featured .is-fluid.comm-cta.btn-primary.is-filling,
.commission .comm-card.is-featured .is-fluid.comm-cta.btn-primary:hover,
.commission .comm-card.is-featured .is-fluid.comm-cta.btn-primary:focus-visible,
.commission .comm-card.is-featured .is-fluid.comm-cta.btn-primary.is-filling{
  background:var(--pearl)!important;
  border-color:var(--pearl)!important;
  color:var(--velvet)!important;
}
/* Calculator keeps purple step nav — not gold outline */
body.calc-page .calc-body .btn-primary:not(.btn-gold),
body.calc-page .calc-sticky-nav .btn-primary:not(.btn-gold){
  background:var(--purple)!important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  color:var(--pearl)!important;
  border-color:var(--purple)!important;
}
body.calc-page .calc-body .btn-primary:not(.btn-gold):hover,
body.calc-page .calc-sticky-nav .btn-primary:not(.btn-gold):hover{
  background:var(--purple-deep,#4a1f4e)!important;
  border-color:var(--purple-deep,#4a1f4e)!important;
  color:var(--pearl)!important;
}

/* Buttons — one size sitewide (match “Get the full estimate”) */
a.btn,
button.btn,
.btn,
.claim-now{
  font-size:.78rem!important;
  font-weight:500!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  padding:1.05em 1.9em!important;
  border-radius:6px!important;
  line-height:1.2;
}
.sh-card-cta .dot,
.claim-now .dot{display:none}

/* Commission outline CTAs — gold border/text, gold fill hover */
.commission .comm-cta.btn-line,
.commission a.btn.btn-line,
.commission .btn-line,
.commission .is-fluid.btn-line,
.comm-cta.btn-gold-line,
.btn-gold-line,
.commission .btn-gold-line,
.commission .is-fluid.btn-gold-line{
  background:transparent!important;
  color:var(--gold)!important;
  border:1px solid var(--gold)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
}
.commission .comm-cta.btn-line:hover,
.commission .comm-cta.btn-line:focus-visible,
.commission a.btn.btn-line:hover,
.commission a.btn.btn-line:focus-visible,
.commission .btn-line:hover,
.commission .btn-line:focus-visible,
.commission .is-fluid.btn-line:hover,
.commission .is-fluid.btn-line:focus-visible,
.commission .is-fluid.btn-line.is-filling,
.comm-cta.btn-gold-line:hover,
.comm-cta.btn-gold-line:focus-visible,
.btn-gold-line:hover,
.btn-gold-line:focus-visible,
.commission .btn-gold-line:hover,
.commission .btn-gold-line:focus-visible,
.commission .is-fluid.btn-gold-line:hover,
.commission .is-fluid.btn-gold-line:focus-visible,
.commission .is-fluid.btn-gold-line.is-filling{
  background:var(--gold)!important;
  color:var(--velvet)!important;
  border-color:var(--gold)!important;
}

/* Voices carousel — no media tags or event metadata lines */
.voices .vo-tag,
.voices .vo-who span{display:none!important}

/* Decorative gold rules — removed sitewide */
.phero-rule,
.mrule{display:none!important}

/* Footer brand column — left-aligned logo, tight stack (no bottom gap) */
footer.site .foot-cols .brandcol,
.inner footer.site .foot-cols .brandcol{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  justify-content:flex-start;
}
footer.site .foot-cols .brandcol img,
.inner footer.site .foot-cols .brandcol img{
  display:block;
  align-self:flex-start;
  margin-inline:0;
  margin-bottom:.75rem;
}
footer.site .foot-cols .brandcol p,
.inner footer.site .foot-cols .brandcol p{
  margin-top:0;
  text-align:left;
}

/* Decorative index numbers on images — removed sitewide */
.manifesto .fig .idx,
.chapter-art .ghost,
.jstep-num,
.amode-num,
.rg-idx,
.split .panel .num{display:none!important}

/* Voices — keep section padding tight under the carousel */
.voices{
  padding-bottom:clamp(40px,5vh,64px)!important;
}
.voices .swiper{
  padding-bottom:1rem!important;
}
.voices + .faq,
.voices + .ctasec{
  padding-top:clamp(48px,6vh,72px);
}
