/* V203 — unified premium UI polish: arrows, buttons, radii, shadows, tabs, carousel affordances */
body.site-final{
  --ui-gold:#c58a2f;
  --ui-gold-dark:#a86f1c;
  --ui-gold-soft:#e6c992;
  --ui-navy:#14345c;
  --ui-ink:#102b4d;
  --ui-ivory:#fffdf8;
  --ui-card-radius:24px;
  --ui-shell-radius:30px;
  --ui-small-radius:16px;
  --ui-shadow:0 14px 36px rgba(20,42,69,.075);
  --ui-shadow-hover:0 18px 42px rgba(20,42,69,.105);
}

/* ---------- One arrow language everywhere ---------- */
body.site-final button[data-carousel-prev],
body.site-final button[data-carousel-next],
body.site-final #process .process-mobile-arrow-v199{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  padding:0!important;
  border-radius:50%!important;
  border:1px solid rgba(197,138,47,.34)!important;
  background:rgba(255,253,248,.98)!important;
  color:var(--ui-navy)!important;
  box-shadow:0 7px 18px rgba(20,42,69,.075)!important;
  position:relative!important;
  display:inline-grid!important;
  place-items:center!important;
  overflow:visible!important;
  font-size:0!important;
  line-height:1!important;
  transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease,opacity .18s ease!important;
  -webkit-tap-highlight-color:transparent;
}
body.site-final button[data-carousel-prev] img,
body.site-final button[data-carousel-next] img,
body.site-final button[data-carousel-prev] i,
body.site-final button[data-carousel-next] i{display:none!important}
body.site-final button[data-carousel-prev]::before,
body.site-final button[data-carousel-next]::before,
body.site-final #process .process-mobile-arrow-v199::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  width:9px!important;
  height:9px!important;
  top:50%!important;
  left:50%!important;
  border-top:1.8px solid currentColor!important;
  border-right:1.8px solid currentColor!important;
  background:none!important;
  margin:0!important;
}
body.site-final button[data-carousel-next]::before,
body.site-final #process .process-mobile-arrow-v199[data-dir="next"]::before{
  transform:translate(-62%,-50%) rotate(45deg)!important;
}
body.site-final button[data-carousel-prev]::before,
body.site-final #process .process-mobile-arrow-v199[data-dir="prev"]::before{
  transform:translate(-38%,-50%) rotate(-135deg)!important;
}
body.site-final button[data-carousel-prev]::after,
body.site-final button[data-carousel-next]::after,
body.site-final #process .process-mobile-arrow-v199::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  width:12px!important;
  height:1.8px!important;
  top:50%!important;
  left:50%!important;
  background:currentColor!important;
  border:0!important;
  border-radius:2px!important;
  font-size:0!important;
  margin:0!important;
}
body.site-final button[data-carousel-next]::after,
body.site-final #process .process-mobile-arrow-v199[data-dir="next"]::after{
  transform:translate(-58%,-50%)!important;
}
body.site-final button[data-carousel-prev]::after,
body.site-final #process .process-mobile-arrow-v199[data-dir="prev"]::after{
  transform:translate(-42%,-50%)!important;
}
@media (hover:hover) and (pointer:fine){
  body.site-final button[data-carousel-prev]:hover:not(:disabled),
  body.site-final button[data-carousel-next]:hover:not(:disabled),
  body.site-final #process .process-mobile-arrow-v199:hover:not(:disabled){
    transform:translateY(-1px)!important;
    border-color:rgba(197,138,47,.72)!important;
    background:#fff9ed!important;
    box-shadow:0 10px 24px rgba(20,42,69,.11)!important;
  }
}
body.site-final button[data-carousel-prev]:active:not(:disabled),
body.site-final button[data-carousel-next]:active:not(:disabled),
body.site-final #process .process-mobile-arrow-v199:active:not(:disabled){transform:scale(.96)!important}
body.site-final button[data-carousel-prev]:disabled,
body.site-final button[data-carousel-next]:disabled,
body.site-final #process .process-mobile-arrow-v199:disabled{
  opacity:.28!important;
  box-shadow:none!important;
  cursor:default!important;
}

/* Process navigation: smaller, balanced and consistent */
@media(max-width:768px){
  body.site-final #process .process-mobile-controls-v199{
    grid-template-columns:46px minmax(72px,auto) 46px!important;
    gap:12px!important;
    margin-top:13px!important;
  }
  body.site-final #process .process-mobile-arrow-v199{
    width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
  }
  body.site-final #process .process-mobile-counter-v200{font-size:14px!important;letter-spacing:.035em!important}
  body.site-final #process .process-mobile-counter-v200 b{font-size:18px!important;color:var(--ui-gold)!important}
}

/* ---------- CTA arrow: thin, identical in every button ---------- */
body.site-final .cta-triangle-v173{
  width:18px!important;height:14px!important;min-width:18px!important;
  margin-left:2px!important;position:relative!important;display:inline-block!important;
  background:none!important;border:0!important;transform:none!important;clip-path:none!important;
}
body.site-final .cta-triangle-v173::before{
  content:""!important;position:absolute!important;left:1px!important;right:2px!important;top:50%!important;
  height:1.6px!important;background:currentColor!important;border-radius:2px!important;transform:translateY(-50%)!important;
}
body.site-final .cta-triangle-v173::after{
  content:""!important;position:absolute!important;right:1px!important;top:50%!important;width:7px!important;height:7px!important;
  border-top:1.6px solid currentColor!important;border-right:1.6px solid currentColor!important;transform:translateY(-50%) rotate(45deg)!important;
}

/* Quiz next button used a separate text arrow — align it with the same language */
body.site-final #quiz [data-quiz-next]::after{
  content:""!important;width:8px!important;height:8px!important;right:20px!important;
  border-top:1.8px solid currentColor!important;border-right:1.8px solid currentColor!important;
  transform:translateY(-50%) rotate(45deg)!important;background:none!important;
}

/* ---------- Buttons ---------- */
body.site-final .button,
body.site-final a.button,
body.site-final button.button{
  border-radius:16px!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease,filter .18s ease!important;
}
body.site-final .button-gold{
  background:linear-gradient(135deg,#bf8125 0%,#dfa02f 100%)!important;
  border-color:#bd7e22!important;
  box-shadow:0 9px 22px rgba(168,111,28,.17)!important;
}
body.site-final .button-light{
  background:rgba(255,255,255,.94)!important;
  border-color:rgba(197,138,47,.31)!important;
}
@media(hover:hover) and (pointer:fine){
  body.site-final .button:hover,
  body.site-final a.button:hover,
  body.site-final button.button:hover{
    transform:translateY(-1px)!important;
    box-shadow:0 13px 28px rgba(20,42,69,.11)!important;
  }
  body.site-final .button-gold:hover{filter:saturate(1.03) brightness(1.015)!important;box-shadow:0 13px 28px rgba(168,111,28,.22)!important}
  body.site-final .button-light:hover{border-color:rgba(197,138,47,.56)!important;background:#fffdf8!important}
}
body.site-final .button:active{transform:translateY(0) scale(.992)!important}
body.site-final .button:focus-visible,
body.site-final button[data-carousel-prev]:focus-visible,
body.site-final button[data-carousel-next]:focus-visible,
body.site-final #process .process-mobile-arrow-v199:focus-visible{
  outline:3px solid rgba(197,138,47,.22)!important;outline-offset:3px!important;
}

/* ---------- Tabs ---------- */
body.site-final #reviews .proof-tabs-v180{gap:8px!important}
body.site-final #reviews .proof-tabs-v180 button{
  min-height:44px!important;padding:0 18px!important;border-radius:999px!important;
  border:1px solid rgba(20,52,92,.14)!important;background:#fff!important;color:#536982!important;
  font-weight:700!important;box-shadow:none!important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease!important;
}
body.site-final #reviews .proof-tabs-v180 button.is-active{
  background:var(--ui-navy)!important;color:#fff!important;border-color:var(--ui-navy)!important;
  box-shadow:0 7px 18px rgba(20,52,92,.12)!important;
}
@media(hover:hover) and (pointer:fine){
  body.site-final #reviews .proof-tabs-v180 button:hover:not(.is-active){
    transform:translateY(-1px)!important;border-color:rgba(197,138,47,.44)!important;color:var(--ui-navy)!important;background:#fffaf1!important;
  }
}

/* ---------- Card system: calmer radii and one shadow language ---------- */
body.site-final #process .process-card-v198,
body.site-final #reviews .case-v186-card,
body.site-final #reviews .story-v186-card,
body.site-final #property .property45-card,
body.site-final #pricing .pricing-v197__card,
body.site-final .team-unified-card-v85,
body.site-final #faq .faq-question-list-v122 button,
body.site-final .contact-channel-v100{
  border-radius:var(--ui-card-radius)!important;
  box-shadow:var(--ui-shadow)!important;
}
body.site-final #reviews .proof-pane-v180,
body.site-final #pricing .pricing-shell-v197,
body.site-final #property .property45-shell{
  border-radius:var(--ui-shell-radius)!important;
}
@media(hover:hover) and (pointer:fine){
  body.site-final #process .process-card-v198:hover,
  body.site-final #reviews .case-v186-card:hover,
  body.site-final #reviews .story-v186-card:hover,
  body.site-final #property .property45-card:hover,
  body.site-final .team-unified-card-v85:hover,
  body.site-final .contact-channel-v100:hover{
    transform:translateY(-1px)!important;box-shadow:var(--ui-shadow-hover)!important;
  }
}

/* Keep image/icon optical sizes consistent where PNGs carry transparent padding */
body.site-final #quiz .quiz-v188__option-ui>img{
  object-fit:contain!important;transform:scale(1.04);transform-origin:center;
}
body.site-final #quiz .quiz-v188__benefit>img{
  object-fit:contain!important;transform:scale(1.03);transform-origin:center;
}

/* Carousel rails: a deliberate hint of continuation on touch layouts */
@media(max-width:900px){
  body.site-final #reviews .cases-v186-rail,
  body.site-final #reviews .stories-v186-rail,
  body.site-final #process .process-grid-v198{
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.site-final #reviews .case-v186-card,
  body.site-final #reviews .story-v186-card,
  body.site-final #process .process-grid-v198>article{scroll-snap-align:start!important}
}

/* Tablet/mobile tuning */
@media(max-width:768px){
  body.site-final{--ui-card-radius:22px;--ui-shell-radius:24px}
  body.site-final #reviews .proof-tabs-v180 button{min-height:42px!important;padding:0 15px!important;font-size:13.5px!important}
  body.site-final button[data-carousel-prev],body.site-final button[data-carousel-next]{width:44px!important;height:44px!important}
}
@media(max-width:430px){
  body.site-final #reviews .proof-tabs-v180{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
  body.site-final #reviews .proof-tabs-v180 button{width:100%!important;padding:0 10px!important}
}

/* Respect reduced motion */
@media(prefers-reduced-motion:reduce){
  body.site-final *,body.site-final *::before,body.site-final *::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}

/* V203.1 — resolve legacy CTA arrows so buttons never show two arrow glyphs */
body.site-final .cta-triangle-v173{display:none!important}
body.site-final .button.button-gold:not(.button-phone-v98),
body.site-final .button.button-light:not(.button-phone-v98),
body.site-final .service-copy-v107 button,
body.site-final .property45-cta-v75 button,
body.site-final .pricing-early-cta-v126 button,
body.site-final .faq-chat-foot-v122 button,
body.site-final .contact-picker-lead-v100,
body.site-final [data-lead-submit]{padding-right:46px!important}
body.site-final .button.button-gold:not(.button-phone-v98)::after,
body.site-final .button.button-light:not(.button-phone-v98)::after,
body.site-final .service-copy-v107 button::after,
body.site-final .property45-cta-v75 button::after,
body.site-final .pricing-early-cta-v126 button::after,
body.site-final .faq-chat-foot-v122 button::after,
body.site-final .contact-picker-lead-v100::after,
body.site-final [data-lead-submit]::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  right:18px!important;
  top:50%!important;
  width:8px!important;
  height:8px!important;
  border-top:1.8px solid currentColor!important;
  border-right:1.8px solid currentColor!important;
  background:none!important;
  border-radius:0!important;
  transform:translateY(-50%) rotate(45deg)!important;
  font-size:0!important;
  line-height:0!important;
}

/* Process cards are bare articles in the current markup */
body.site-final #process .process-grid-v198>article{
  border-radius:var(--ui-card-radius)!important;
  box-shadow:var(--ui-shadow)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
@media(hover:hover) and (pointer:fine){
  body.site-final #process .process-grid-v198>article:hover{
    transform:translateY(-1px)!important;
    box-shadow:var(--ui-shadow-hover)!important;
  }
}
