/* Agency palette. The standalone storefront uses its own stylesheet. */
:root {
  --pink: #ffb3c7;
  --blush: #ffe4eb;
  --paper: #fff8fa;
  --ink: #100b0e;
  --dark-bg: var(--pink);
  --dark-surface: var(--blush);
  --dark-card: var(--paper);
  --dark-card-hover: #fff;
  --light-bg: var(--paper);
  --medium-bg: var(--blush);
  --text-light: var(--ink);
  --text-dark: var(--ink);
  --text-dim: #44373d;
  --text-muted: #44373d;
  --hx-bg: var(--pink);
  --hx-ink: var(--ink);
  --gradient-text: linear-gradient(var(--ink), var(--ink));
}
body .App { background: var(--paper); color: var(--ink); }
.App :is(header,footer,section,nav,aside,form,.hd4-panel,.cta5-container,.spx,.aboutv5,.contactv6,.terms,.pp-content) {
  background-color: var(--blush); background-image: none;
}
.App :is(.heroAboutTheme,.stats-section,.sg-about,.cta5,.cta5-container,.ft-blue,.aboutv5,.spx,.contactv6,.cookie-consent) { background: var(--pink); }
.App :is(.about-services,.about-process,.testimonials-section,.pp-content,.terms) { background: var(--paper); }
.App :is(.hd4,.hd4--scrolled,.hd4-panel,.hd4-logo,.card-tab-nav,.ft-news,.spx-side,.spx-quote,.cta5-side,.cta5-li,.case-study-card,.visual-badge,.visual-metric-box,.sg-about-card,.about-process-card,.stat-card,.metric-box,.floating-card,.dash-graph-box,.about-services-card,.testimonial-card,.av5-stat-card,.av5-val-card,.av5-graphic-card,.cv6-status-box) { background: var(--paper); border-color: #cba9b3; }
.App :is(h1,h2,h3,h4,h5,h6,p,a,li,label,small,span,strong,b,em,blockquote,button,input,select,textarea),
.App [class*="gradient"] { color: var(--ink) !important; -webkit-text-fill-color: currentColor !important; }
.App :is(input,textarea,select,button,[role="button"],a[class*="btn" i],a[class*="call" i],.visual-badge,.visual-metric-box,.hero-badge,.hero-stat-pill,.av5-tag,.sg-about-kicker,.spx-kicker,.about-process-kicker) { background: var(--paper); }
.App :is(button[class*="primary" i],a[class*="primary" i],button[type="submit"],.consult-submit-btn,.hd4-call,.dash-action-btn) { background: var(--pink); box-shadow: inset 0 0 0 1px var(--ink); }
.App :is(button,a):focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.App :is(input,textarea)::placeholder { color: #57444c; }
.App :is(.hero-glow-1,.hero-glow-2,.ft-glow,.cta5-glow,.av5-card-glow) { opacity: .12; }
.App .cookie-consent__btn--primary { background: white; }
#cookie-settings-link { background: #ffe4eb !important; color: black !important; border-color: black !important; }

/* Studio edition: a ruled editorial grid, blush paper and ink typography. */
.App .hd4 { background: #fff; border-bottom: 1px solid #151015; box-shadow: none; }
.App .heroAboutTheme {
  isolation: isolate;
  background: linear-gradient(112deg, #fff 0 59%, #ffe7ef 59% 100%);
  border-bottom: 1px solid #181318;
  padding-block: clamp(4.5rem, 7vw, 10rem);
}
.App .hero-grid-pattern {
  inset: 0 0 0 55%; opacity: .55;
  background: repeating-radial-gradient(ellipse at 110% 0%, transparent 0 28px, #d393a7 29px, transparent 30px 46px);
}
.App .heroAboutTheme .hero-glow-1, .App .heroAboutTheme .hero-glow-2 { display: none; }
.App .hero-heading {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500; font-size: clamp(4rem, 4.8vw, 7.8rem);
  line-height: 1.01; letter-spacing: -.055em; text-wrap: balance;
}
.App .hero-heading-sub { font-style: italic; }
.App .hero-description { max-width: 56ch; line-height: 1.65; }
.App .hero-badge, .App .hero-stat-pill {
  background: transparent; border: 0; border-radius: 0; box-shadow: none; padding-inline: 0;
}
.App .hero-badge { border-bottom: 2px solid #d58aa1; padding-bottom: .7rem; }
.App .hero-main-card, .App .av5-graphic-card, .App .spx-side {
  background: #fff; border: 1px solid #241b20; border-radius: 12px;
  box-shadow: 8px 8px 0 #f3bbcc;
}
.App .floating-card { background: white; border: 1px solid #281c21; box-shadow: 3px 3px 0 #fad6e1; }
.App .heroAboutTheme .hero-btn-primary, .App .cta5 .cta5-btnPrimary, .App .contactv6 .cv6-submit-btn {
  background: #161116; color: #fff !important; border: 1px solid #161116; box-shadow: none;
}
.App .hero-btn-primary span, .App .cta5-btnPrimary span, .App .cv6-submit-btn span { color: inherit !important; }
.App .hero-btn-secondary { border: 1px solid #211820; background: white; }
.App :is(.about-services,.about-process,.contactv6,.terms,.pp-content) { background: #fff; }
.App :is(.case-studies-section,.sg-about,.aboutv5,.spx,.cta5) { background: #fff0f5; }
.App :is(.stats-section,.testimonials-section) { background: #fbdce6; border-block: 1px solid #e3b3c3; }
.App :is(.about-services,.sg-about,.testimonials-section,.about-process,.case-studies-section,.cta5,.contactv6,.aboutv5,.spx,.pp-content,.terms) h2 {
  font-family: Georgia, 'Times New Roman', serif; font-weight: 500;
  letter-spacing: -.04em; line-height: 1.12; text-wrap: balance;
}
.App :is(.cv6-eyebrow,.spx-kicker,.av5-badge,.sg-about-kicker,.about-process-kicker) {
  border: 0; border-radius: 0; border-left: 3px solid #bc627f; background: transparent; box-shadow: none;
}
.App :is(.stat-card,.testimonial-card,.about-services-card,.sg-about-card,.about-process-card,.av5-val-card,.av5-stat-card,.case-study-card) {
  background: #fff; border: 1px solid #dac8cf; border-top: 3px solid #241b20;
  border-radius: 3px 3px 14px 3px; box-shadow: none;
}
.App .about-services-card:nth-child(3n + 2), .App .sg-about-card:nth-child(even) { background: #fff3f7; }
.App .case-study-card img { filter: saturate(.85); }
.App .cta5-container { background: #ffdce8; border: 1px solid #211820; border-radius: 4px 32px 4px 4px; }
.App .ft-blue { background: #fff; border-top: 4px solid #181318; }
@media (max-width: 760px) {
  .App .heroAboutTheme { background: linear-gradient(165deg, #fff 0 65%, #ffe7ef 65%); }
  .App .hero-grid-pattern { inset: 50% 0 0; opacity: .32; }
  .App .hero-heading { font-size: clamp(3.8rem, 9vw, 5.8rem); }
  .App .hero-main-card { box-shadow: 4px 4px 0 #f3bbcc; }
}
