/* Nati Weiss brand refresh - warm charcoal / champagne */
:root {
  color-scheme: dark;
  --bg: #0F0E0C;
  --bg-2: #16140F;
  --panel: rgba(22,20,15,.92);
  --panel-strong: rgba(18,16,12,.985);
  --text: #EDE8DE;
  --muted: #B6AE9F;
  --muted-2: #948C7C;
  --line: rgba(148,140,124,.30);
  --champagne: #C8A96B;
  --gold-mid: #B08A4F;
  --bronze: #8A6B3C;
  --champagne-accent: #C8A96B;
  --gradient: linear-gradient(112deg, #E0C38A 0%, #C8A96B 42%, #A9844D 72%, #8A6B3C 100%);
  --gradient-soft: linear-gradient(112deg, rgba(200,169,107,.16), rgba(138,107,60,.13));
  --shadow: 0 34px 100px rgba(0,0,0,.48);
  --serif: "Noto Sans Hebrew", "Segoe UI", Arial, sans-serif;
  --sans: "Noto Sans Hebrew", "Segoe UI", Arial, sans-serif;
}

html { scrollbar-color: #8A6B3C #16140F !important; }
body, .contact-modal, .contact-modal-scroll, .form-field textarea { scrollbar-color: #8A6B3C #16140F !important; }
*::-webkit-scrollbar-track { background: #16140F !important; }
*::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #C8A96B, #8A6B3C) !important; border-color: #16140F !important; }

body {
  font-family: var(--sans) !important;
  color: var(--text) !important;
  background:
    radial-gradient(circle at 88% 5%, rgba(200,169,107,.08), transparent 27%),
    linear-gradient(180deg, #100F0C 0%, #0F0E0C 100%) !important;
}

.ambient-grid {
  opacity: .36;
  background-image:
    linear-gradient(rgba(200,169,107,.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(200,169,107,.032) 1px, transparent 1px) !important;
  background-size: 86px 86px !important;
}
.orb-one {
  background: radial-gradient(circle, rgba(200,169,107,.55) 0%, rgba(138,107,60,.20) 46%, rgba(138,107,60,0) 74%) !important;
  opacity: .18 !important;
}
.orb-two {
  background: radial-gradient(circle, rgba(138,107,60,.46) 0%, rgba(138,107,60,.16) 45%, rgba(138,107,60,0) 74%) !important;
  opacity: .15 !important;
}
.orb-three {
  background: radial-gradient(circle, rgba(200,169,107,.34) 0%, rgba(200,169,107,.10) 48%, rgba(200,169,107,0) 74%) !important;
  opacity: .11 !important;
}

.site-header {
  border-bottom-color: rgba(148,140,124,.24) !important;
  min-height: 92px !important;
}
.brand-lockup { gap: 0 !important; }

.brand-lockup .brand-copy { display: none !important; }
.header-note { color: var(--muted-2) !important; }

.hero-layout.hero { padding-top: 78px !important; }
.hero-copy { position: relative; }
.eyebrow {
  color: var(--muted-2) !important;
  letter-spacing: 2.1px !important;
  font-family: var(--sans) !important;
}
.eyebrow::before {
  background: var(--gradient) !important;
  box-shadow: none !important;
}
.hero-title { letter-spacing: -.02em !important; }
.title-solid {
  color: var(--text) !important;
  font-family: var(--serif) !important;
  font-weight: 500 !important;
  text-shadow: none !important;
}
.title-outline {
  color: #C8A96B !important;
  -webkit-text-fill-color: #C8A96B !important;
  -webkit-text-stroke: 0 !important;
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  letter-spacing: -.02em !important;
}
.hero-lead { color: #C8C1B5 !important; font-weight: 300 !important; }
.hero-lead strong { color: var(--text) !important; }
.service-row { color: #DDD6C9 !important; }
.service-divider {
  background: #C8A96B !important;
  box-shadow: 0 0 0 4px rgba(200,169,107,.07) !important;
}


.visual-stage { filter: none !important; }
.visual-card {
  border-color: rgba(148,140,124,.34) !important;
  background:
    radial-gradient(circle at 56% 45%, rgba(200,169,107,.055), transparent 35%),
    linear-gradient(150deg, rgba(22,20,15,.96), rgba(15,14,12,.90)) !important;
  box-shadow: 0 30px 72px rgba(0,0,0,.40), inset 0 1px 0 rgba(255,255,255,.018) !important;
}
.visual-card::before { background: var(--gradient) !important; box-shadow: none !important; }
.visual-index, .stage-label, .visual-meta { color: var(--muted-2) !important; }
.visual-line { background: linear-gradient(90deg, #C8A96B, transparent) !important; }
.visual-caption { color: #E4DED2 !important; }

.site-footer { border-top-color: rgba(148,140,124,.22) !important; color: var(--muted-2) !important; }
.site-footer a { color: #BEB6A8 !important; }
.site-footer a:hover, .site-footer a:focus-visible { color: #C8A96B !important; }

.contact-modal { background: rgba(8,7,5,.72) !important; }
.contact-modal-card {
  border-color: rgba(148,140,124,.38) !important;
  background: linear-gradient(145deg, rgba(22,20,15,.992), rgba(15,14,12,.998)) !important;
  box-shadow: 0 48px 120px rgba(0,0,0,.66), 0 0 60px rgba(138,107,60,.07) !important;
}
.contact-modal-card::before { background: var(--gradient) !important; }
.contact-modal h2, .form-success h3 { color: var(--text) !important; font-family: var(--serif) !important; font-weight: 500 !important; }
.contact-modal-intro, .form-required-note, .form-privacy, .form-alt-contact, .form-status { color: var(--muted-2) !important; }
.modal-close { color: #BFB7A9 !important; border-color: rgba(148,140,124,.28) !important; background: rgba(15,14,12,.55) !important; }
.modal-close:hover { color: #C8A96B !important; border-color: rgba(200,169,107,.50) !important; }
.form-field label { color: #DED7CB !important; }
.form-field input, .form-field textarea {
  background: #1D1A14 !important;
  border-color: #7A6F5C !important;
  color: var(--text) !important;
  box-shadow: none !important;
}
.form-field input::placeholder, .form-field textarea::placeholder { color: #948C7C !important; }
.form-field input[aria-invalid="true"],
.form-field textarea[aria-invalid="true"] {
  border-color: #f39ab0 !important;
  box-shadow: 0 0 0 2px rgba(243,154,176,.12) !important;
}
.marketing-consent {
  border-color: rgba(200,169,107,.52) !important;
  background: linear-gradient(145deg, rgba(200,169,107,.035), rgba(138,107,60,.025)) !important;
}
.marketing-consent:hover { border-color: rgba(200,169,107,.48) !important; background: rgba(200,169,107,.045) !important; }
.marketing-consent input { accent-color: #C8A96B !important; }
.marketing-consent-note { color: var(--muted-2) !important; }
.form-success .success-mark {
  border-color: rgba(200,169,107,.50) !important;
  background: radial-gradient(circle at 50% 38%, rgba(200,169,107,.12), rgba(138,107,60,.025) 70%) !important;
  box-shadow: 0 0 28px rgba(138,107,60,.10) !important;
}
.form-success .success-mark svg path { stroke: #C8A96B !important; }
.premium-divider .line { background: linear-gradient(90deg, transparent, #C8A96B) !important; }
.premium-divider .line.reverse { background: linear-gradient(90deg, #8A6B3C, transparent) !important; }
.premium-divider .diamond { background: #C8A96B !important; box-shadow: 0 0 10px rgba(200,169,107,.42) !important; }

/* Content pages */
.page-card, .error-card {
  border-color: rgba(148,140,124,.36) !important;
  background: linear-gradient(145deg, rgba(22,20,15,.96), rgba(15,14,12,.985)) !important;
  box-shadow: 0 38px 96px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.018) !important;
}
.page-card::before, .error-card::before { background: var(--gradient) !important; box-shadow: none !important; }


.page-card h1, .error-card h1 {
  font-family: var(--serif) !important;
  color: var(--text) !important;
  background: none !important;
  -webkit-text-fill-color: var(--text) !important;
  font-weight: 500 !important;
}
.page-updated { color: var(--muted-2) !important; }
.page-card h2 { color: #D5B978 !important; font-family: var(--serif) !important; font-weight: 500 !important; }
.page-card h3 { color: var(--text) !important; }
.page-card p, .page-card li { color: #CFC8BC !important; }
.page-card strong { color: var(--text) !important; }


.page-note {
  border-color: rgba(148,140,124,.30) !important;
  background: linear-gradient(110deg, rgba(200,169,107,.04), rgba(138,107,60,.035)) !important;
  box-shadow: inset 3px 0 0 rgba(200,169,107,.32) !important;
}
.page-table th, .page-table td { border-color: rgba(148,140,124,.26) !important; color: #CFC8BC !important; }
.page-table th { background: rgba(200,169,107,.055) !important; color: var(--text) !important; }


.error-code {
  color: #C8A96B !important;
  background: none !important;
  -webkit-text-fill-color: #C8A96B !important;
  font-family: var(--serif) !important;
  font-weight: 500 !important;
}
.error-eyebrow { color: var(--muted-2) !important; }


@media (max-width: 700px) {
  
  .site-header { min-height: 76px !important; }
  
}


:root {
  --noto-hebrew: "Noto Sans Hebrew", "Segoe UI", Arial, sans-serif;
}

/* Match the new logo's clean Hebrew sans-serif language in the central lockup. */
.hero-title,
.title-solid,
.title-outline {
  font-family: var(--noto-hebrew) !important;
}
.title-solid {
  font-weight: 700 !important;
  letter-spacing: -.035em !important;
}
.title-outline {
  font-weight: 400 !important;
  letter-spacing: -.025em !important;
}

/* More dimensional background: a pronounced champagne glow at top-right,
   a softer bronze/champagne echo at bottom-left, and a warm charcoal core. */
body {
  background:
    radial-gradient(ellipse 78% 68% at 104% -5%, rgba(224,195,138,.30) 0%, rgba(200,169,107,.19) 22%, rgba(138,107,60,.08) 43%, transparent 65%),
    radial-gradient(ellipse 62% 54% at -7% 106%, rgba(200,169,107,.12) 0%, rgba(138,107,60,.09) 31%, transparent 64%),
    radial-gradient(circle at 52% 44%, rgba(44,40,31,.34), transparent 43%),
    linear-gradient(145deg, #16140F 0%, #0F0E0C 44%, #17130D 73%, #0F0E0C 100%) !important;
  background-attachment: fixed !important;
}

.ambient-grid {
  opacity: .30 !important;
  background-image:
    linear-gradient(rgba(200,169,107,.038) 1px, transparent 1px),
    linear-gradient(90deg, rgba(200,169,107,.038) 1px, transparent 1px) !important;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.72), rgba(0,0,0,.18)) !important;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.72), rgba(0,0,0,.18)) !important;
}

.orb-one {
  width: 760px !important;
  height: 760px !important;
  top: -355px !important;
  right: -245px !important;
  filter: blur(68px) !important;
  background: radial-gradient(circle,
    rgba(232,204,151,.96) 0%,
    rgba(200,169,107,.72) 27%,
    rgba(138,107,60,.30) 49%,
    rgba(138,107,60,0) 74%) !important;
  opacity: .56 !important;
}

.orb-two {
  width: 690px !important;
  height: 690px !important;
  bottom: -360px !important;
  left: -250px !important;
  filter: blur(82px) !important;
  background: radial-gradient(circle,
    rgba(200,169,107,.68) 0%,
    rgba(138,107,60,.35) 37%,
    rgba(138,107,60,.12) 56%,
    rgba(138,107,60,0) 76%) !important;
  opacity: .27 !important;
}

.orb-three {
  width: 430px !important;
  height: 430px !important;
  top: 39% !important;
  left: 43% !important;
  filter: blur(94px) !important;
  background: radial-gradient(circle,
    rgba(200,169,107,.28) 0%,
    rgba(138,107,60,.13) 47%,
    rgba(138,107,60,0) 76%) !important;
  opacity: .12 !important;
}

/* Remove any remaining cool cast from the geometric cards and frames. */
.visual-stage::before,
.visual-stage::after {
  border-color: rgba(148,140,124,.30) !important;
  box-shadow: none !important;
}
.visual-stage::after { border-color: rgba(200,169,107,.34) !important; }
.visual-card {
  border-color: rgba(200,169,107,.27) !important;
  background:
    radial-gradient(circle at 62% 36%, rgba(200,169,107,.10), transparent 34%),
    linear-gradient(150deg, rgba(28,25,18,.96), rgba(15,14,12,.91)) !important;
}
.visual-index { color: #EDE8DE !important; }
.visual-meta, .stage-label { color: #948C7C !important; }

@media (max-width: 700px) {
  .orb-one {
    width: 590px !important;
    height: 590px !important;
    top: -300px !important;
    right: -255px !important;
    opacity: .48 !important;
  }
  .orb-two {
    width: 540px !important;
    height: 540px !important;
    bottom: -315px !important;
    left: -255px !important;
    opacity: .23 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .orb-one, .orb-two, .orb-three { animation: none !important; }
}


:root {
  --noto-hebrew: "Noto Sans Hebrew", "Segoe UI", Arial, sans-serif;
  --serif: var(--noto-hebrew);
  --sans: var(--noto-hebrew);
}


.header-note { font-size: 12.5px !important; }
.eyebrow { font-size: 12.5px !important; }

.visual-caption { font-size: 13.5px !important; line-height: 1.7 !important; }
.visual-meta,
.stage-label { font-size: 12.5px !important; line-height: 1.6 !important; }
.site-footer { font-size: 13.5px !important; line-height: 1.7 !important; }

.contact-modal h2 { font-size: 31px !important; }
.contact-modal-intro { font-size: 15.5px !important; line-height: 1.7 !important; }
.form-required-note { font-size: 13.5px !important; line-height: 1.6 !important; }
.form-field label { font-size: 13.5px !important; }
.form-field input,
.form-field textarea { font-size: 15px !important; }
.form-error,
.turnstile-message { font-size: 13.5px !important; line-height: 1.55 !important; }
.form-alt-contact { font-size: 13.5px !important; line-height: 1.7 !important; }
.form-status { font-size: 14px !important; line-height: 1.6 !important; }
.form-privacy { font-size: 14px !important; line-height: 1.8 !important; }
.marketing-consent { font-size: 14px !important; line-height: 1.8 !important; }
.marketing-consent-note { font-size: 13px !important; line-height: 1.6 !important; }
.form-success h3 { font-size: 22px !important; }
.form-success .success-name,
.form-success .success-text { font-size: 15px !important; }

/* Inner pages */
.page-card h1,
.error-card h1 { font-size: 32px !important; }
.page-updated { font-size: 14px !important; }
.page-card h2 { font-size: 20px !important; }
.page-card h3 { font-size: 16.5px !important; }
.page-card p,
.page-card li { font-size: 16px !important; line-height: 1.9 !important; }
.page-table { font-size: 14.5px !important; }

.error-eyebrow { font-size: 13px !important; }


@media (max-width: 700px) {
  .orb-one {
    opacity: .29 !important;
    animation-duration: 8.5s !important;
  }
  .orb-two {
    opacity: .26 !important;
    animation-duration: 10.5s !important;
  }
  .header-note { font-size: 12px !important; }
  .eyebrow { font-size: 12px !important; }
  
  .site-footer { font-size: 13px !important; }
  .contact-modal h2 { font-size: 25px !important; }
  .contact-modal-intro { font-size: 15px !important; }
  .form-privacy,
  .marketing-consent { font-size: 13.5px !important; }
  .page-card h1,
  .error-card h1 { font-size: 25px !important; }
  .page-card h2 { font-size: 18px !important; }
  .page-card h3 { font-size: 16px !important; }
  .page-card p,
  .page-card li { font-size: 15.5px !important; }
  .page-table { font-size: 14px !important; }
  
}

@media (prefers-reduced-motion: reduce) {
  .orb-one, .orb-two, .orb-three { animation: none !important; }
}


body {
  background:
    radial-gradient(ellipse 76% 65% at 104% -5%, rgba(224,195,138,.145) 0%, rgba(200,169,107,.09) 23%, rgba(138,107,60,.038) 43%, transparent 65%),
    radial-gradient(ellipse 64% 56% at -7% 106%, rgba(200,169,107,.105) 0%, rgba(138,107,60,.075) 31%, transparent 64%),
    radial-gradient(circle at 52% 44%, rgba(44,40,31,.34), transparent 43%),
    linear-gradient(145deg, #16140F 0%, #0F0E0C 44%, #17130D 73%, #0F0E0C 100%) !important;
}


@keyframes brandGlowTopRight {
  0%   { transform: translate3d(36px,-34px,0) scale(.86); opacity: .18; }
  32%  { transform: translate3d(-52px,44px,0) scale(1.03); opacity: .27; }
  68%  { transform: translate3d(-168px,132px,0) scale(1.22); opacity: .31; }
  100% { transform: translate3d(-236px,54px,0) scale(.94); opacity: .22; }
}
@keyframes brandGlowBottomLeft {
  0%   { transform: translate3d(-42px,46px,0) scale(.86); opacity: .17; }
  34%  { transform: translate3d(58px,-32px,0) scale(1.02); opacity: .25; }
  70%  { transform: translate3d(174px,-132px,0) scale(1.22); opacity: .32; }
  100% { transform: translate3d(238px,-58px,0) scale(.96); opacity: .23; }
}
@keyframes brandGlowCenter {
  0%   { transform: translate3d(22px,-20px,0) scale(.90); opacity: .055; }
  100% { transform: translate3d(-78px,68px,0) scale(1.15); opacity: .105; }
}


/* Filled close affordance on pointer hover. */
@media (hover:hover) and (pointer:fine) {
  .modal-close:hover {
    color: #17130B !important;
    background: #C8A96B !important;
    border-color: #C8A96B !important;
    box-shadow: 0 8px 24px rgba(200,169,107,.20) !important;
  }
}


@media (max-width:700px) {
  .orb-one { animation-duration: 6.2s !important; }
  .orb-two { animation-duration: 7.6s !important; }
}


.contact-modal-intro {
  margin: 0 0 18px !important;
}

.modal-close {
  transition: transform .22s ease, background .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}
.modal-close:hover,
.modal-close:focus-visible {
  color: #17130B !important;
  background: #E0C38A !important;
  border-color: #E0C38A !important;
  box-shadow: 0 0 0 4px rgba(224,195,138,.18), 0 12px 28px rgba(0,0,0,.34) !important;
  transform: translateY(-1px);
}

.marketing-consent input::before {
  border-left-color: #17130B !important;
  border-bottom-color: #17130B !important;
}
.marketing-consent strong { font-weight: 500 !important; }


/* Canonical ambient glow motion. */
.orb-one {
  opacity: .12 !important;
  animation: brandGlowTopRight 4.6s cubic-bezier(.42,.02,.30,1) infinite alternate !important;
}
.orb-two {
  opacity: .18 !important;
  animation: brandGlowBottomLeft 5.2s cubic-bezier(.42,.02,.30,1) infinite alternate !important;
}
.orb-three {
  opacity: .15 !important;
  animation: brandGlowCenter 5.8s ease-in-out infinite alternate !important;
}
@media (max-width:850px) {
  .hero-layout.hero { gap: 34px !important; padding: 38px 0 28px !important; }
  .hero-visual { min-height: 340px !important; }
}
@media (max-width:560px) {
  .site-header { min-height: 62px !important; }
  .brand-lockup { width: 100%; justify-content: center; }
  
  .hero-layout.hero { padding-top: 18px !important; gap: 22px !important; }
  .hero-copy { text-align: center !important; }
  .eyebrow {
    justify-content: center !important;
    margin-inline: auto !important;
    margin-bottom: 16px !important;
    font-size: 11.3px !important;
    letter-spacing: 1.2px !important;
    text-align: center !important;
  }
  .service-row {
    justify-content: center !important;
    gap: 8px !important;
    margin: 30px 0 18px !important;
    font-size: 13.6px !important;
  }
  .hero-actions { margin-top: 28px !important; }
  .hero-visual { min-height: 270px !important; }
  .visual-stage { width: min(332px, 88vw) !important; }
  .visual-card { width: 74% !important; }
  .visual-index { font-size: 46px !important; }
  .stage-label {
    display: block !important;
    position: static !important;
    margin-top: 14px !important;
    text-align: center !important;
    font-size: 10.5px !important;
    letter-spacing: 1.4px !important;
  }
  .stage-label::before,
  .stage-label::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 24px;
    height: 1px;
    background: currentColor;
    margin: 0 8px;
  }
  .visual-meta {
    max-width: none !important;
    text-align: left !important;
  }
  .contact-modal-intro { margin-bottom: 20px !important; }
}
@media (max-width:420px) {
  .hero-layout.hero { padding-top: 12px !important; gap: 18px !important; }
  .hero-visual { min-height: 246px !important; }
  .visual-stage { width: min(320px, 90vw) !important; }
  .visual-card { width: 76% !important; padding: 21px !important; }
  .stage-label { margin-top: 12px !important; }
}


.visual-stage {
  width: min(402px, 88%) !important;
}
.visual-card {
  overflow: hidden !important;
}
.visual-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: -10px !important;
  top: 50% !important;
  width: 190px !important;
  height: 190px !important;
  transform: translateY(-50%);
  background: radial-gradient(circle at 38% 50%, rgba(224,195,138,.12), rgba(224,195,138,.05) 28%, rgba(224,195,138,0) 68%), url("brand-mark.svg") center / 100% 100% no-repeat !important;
  opacity: .52 !important;
  mix-blend-mode: screen !important;
  filter: blur(.2px) saturate(.9) brightness(.92) !important;
  -webkit-mask-image: radial-gradient(circle at 52% 50%, rgba(0,0,0,.96) 0%, rgba(0,0,0,.88) 36%, rgba(0,0,0,.52) 56%, rgba(0,0,0,.18) 74%, transparent 90%) !important;
  mask-image: radial-gradient(circle at 52% 50%, rgba(0,0,0,.96) 0%, rgba(0,0,0,.88) 36%, rgba(0,0,0,.52) 56%, rgba(0,0,0,.18) 74%, transparent 90%) !important;
  pointer-events: none;
}


@media (max-width:900px) {
  .hero-layout.hero {
    gap: 42px !important;
  }
}

@media (max-width:700px) {
  
  
}

@media (max-width:560px) {
  .site-header,
  .hero-layout.hero,
  .site-footer {
    width: min(100% - 30px, 560px) !important;
  }
  .site-header {
    min-height: 56px !important;
  }
  
  .hero-layout.hero {
    padding-top: 14px !important;
    padding-bottom: 26px !important;
    gap: 28px !important;
  }
  .eyebrow {
    margin-bottom: 14px !important;
    font-size: 10.7px !important;
    letter-spacing: 1px !important;
    line-height: 1.3 !important;
  }
  .title-solid {
    font-size: clamp(42px, 13.2vw, 58px) !important;
  }
  .title-outline {
    font-size: clamp(26px, 8vw, 38px) !important;
    margin-top: 8px !important;
  }
  .service-row {
    margin: 24px 0 16px !important;
    gap: 8px !important;
    font-size: 13.2px !important;
  }
  .hero-lead {
    font-size: 15px !important;
    line-height: 1.78 !important;
  }
  .hero-actions {
    margin-top: 24px !important;
    gap: 10px !important;
  }
  
  .hero-visual {
    min-height: 250px !important;
  }
  .visual-stage {
    width: min(292px, 84vw) !important;
  }
  .visual-stage::before,
  .visual-stage::after {
    inset: 13% 14% !important;
  }
  .visual-card {
    width: 72% !important;
    padding: 20px !important;
  }
  .visual-card::after {
    width: 148px !important;
    height: 148px !important;
    right: -6px !important;
    top: 52% !important;
    opacity: .48 !important;
  }
  .visual-index {
    font-size: 40px !important;
  }
  .visual-caption {
    font-size: 11.2px !important;
    letter-spacing: 1.2px !important;
  }
  .visual-meta {
    font-size: 10px !important;
    letter-spacing: .75px !important;
    padding-top: 18px !important;
  }
  .stage-label {
    margin-top: 12px !important;
    font-size: 9.7px !important;
    letter-spacing: 1.12px !important;
  }
  .contact-modal-scroll {
    padding: 26px 18px 22px !important;
  }
}

@media (max-width:420px) {
  
  
  .hero-layout.hero {
    width: min(100% - 26px, 420px) !important;
    padding-top: 10px !important;
    gap: 24px !important;
  }
  .title-solid {
    font-size: clamp(40px, 13vw, 52px) !important;
  }
  .title-outline {
    font-size: clamp(24px, 7.7vw, 34px) !important;
  }
  .hero-visual {
    min-height: 232px !important;
  }
  .visual-stage {
    width: min(278px, 84vw) !important;
  }
  .visual-card {
    width: 72% !important;
    padding: 18px !important;
  }
  .visual-index {
    font-size: 36px !important;
  }
  .stage-label {
    margin-top: 10px !important;
  }
}


@media (max-width:560px) {
  .site-header,
  .hero-layout.hero,
  .site-footer {
    width: min(100% - 34px, 560px) !important;
  }
  .site-header {
    min-height: 60px !important;
  }
  .brand-lockup {
    width: auto !important;
    margin-inline: auto !important;
  }
  
  .hero-layout.hero {
    padding-top: 30px !important;
    padding-bottom: 42px !important;
    gap: 44px !important;
  }
  .eyebrow {
    margin: 0 auto 22px !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 10.8px !important;
    line-height: 1.45 !important;
    letter-spacing: 1.05px !important;
  }
  .eyebrow::before {
    width: 28px !important;
  }
  .title-solid {
    font-size: clamp(42px, 13.5vw, 56px) !important;
    line-height: 1 !important;
  }
  .title-outline {
    font-size: clamp(26px, 8.1vw, 36px) !important;
    line-height: 1.12 !important;
    margin-top: 10px !important;
  }
  .service-row {
    margin: 30px 0 22px !important;
    gap: 9px !important;
    font-size: 13.5px !important;
  }
  .hero-lead {
    max-width: 32ch !important;
    margin-inline: auto !important;
    font-size: 15.2px !important;
    line-height: 1.82 !important;
  }
  .hero-actions {
    margin-top: 32px !important;
    gap: 12px !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  
  .hero-visual {
    min-height: 290px !important;
  }
  .visual-stage {
    width: min(310px, 84vw) !important;
  }
  .visual-card {
    width: 70% !important;
    padding: 21px !important;
  }
  .visual-index {
    font-size: 41px !important;
  }
  .stage-label {
    display: block !important;
    position: static !important;
    margin-top: 16px !important;
    text-align: center !important;
    font-size: 9.8px !important;
    line-height: 1.4 !important;
    letter-spacing: 1.18px !important;
  }
  .contact-modal-scroll {
    padding: 30px 20px 26px !important;
  }
}

@media (max-width:420px) {
  .site-header,
  .hero-layout.hero,
  .site-footer {
    width: min(100% - 28px, 420px) !important;
  }
  
  .hero-layout.hero {
    padding-top: 28px !important;
    padding-bottom: 38px !important;
    gap: 40px !important;
  }
  .eyebrow {
    margin-bottom: 20px !important;
    font-size: 10.3px !important;
    letter-spacing: .9px !important;
  }
  .service-row {
    margin: 28px 0 20px !important;
  }
  .hero-actions {
    margin-top: 30px !important;
  }
  
  .hero-visual {
    min-height: 278px !important;
  }
  .visual-stage {
    width: min(292px, 84vw) !important;
  }
  .visual-card {
    width: 70% !important;
  }
}


/* Opt-in checkmark: true optical centering inside the square. */
.marketing-consent input {
  position: relative !important;
  display: block !important;
  place-items: initial !important;
}
.marketing-consent input::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 9px !important;
  height: 5px !important;
  margin: 0 !important;
  border-left: 2px solid #17130B !important;
  border-bottom: 2px solid #17130B !important;
  transform: translate(-50%, -63%) rotate(-45deg) scale(0) !important;
  transform-origin: 50% 50% !important;
  transition: transform .13s ease !important;
}
.marketing-consent input:checked::before {
  transform: translate(-50%, -63%) rotate(-45deg) scale(1) !important;
}

/* Canonical logo sizing. */
.brand-lockup img { width:174px !important; height:auto !important; object-fit:contain !important; filter:none !important; }
.page-brand { display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.page-brand img { width:162px !important; height:auto !important; object-fit:contain !important; filter:none !important; }
.page-brand-copy { display:none !important; }
@media (max-width:700px) {
  .brand-lockup img { width:166px !important; }
  .page-brand img { width:156px !important; }
}
@media (max-width:560px) {
  .brand-lockup img { width:118px !important; }
  .page-brand img { width:138px !important; }
}
@media (max-width:420px) {
  .brand-lockup img { width:110px !important; }
  .page-brand img { width:130px !important; }
}
