/* Main marketing pages only; article templates keep their own presentation. */
body[data-ui-refined] { --ui-ink:#17212b; --ui-muted:#566573; --ui-line:#dce6ee; }
body[data-ui-refined] main :is(h2,h3) { color:var(--ui-ink)!important; text-wrap:balance; line-height:1.15; }
body[data-ui-refined] main p { color:var(--ui-muted)!important; line-height:1.7; }
body[data-ui-refined] main :is(.about-story-facts,.customer-video-criteria,.google-review-card) strong { color:var(--ui-ink); }
body[data-ui-refined] main :is(.about-story-facts,.google-review-card) :is(span,small) { color:var(--ui-muted); }
body[data-ui-refined] main .stars { color:#b77700!important; }
body[data-ui-refined] main .customer-video-card-copy a { color:#006acb; }
body[data-ui-refined] main :is(.condition-note,.brand-disclaimer,.video-status-note,.review-source-note,.faq-search-status) { font-size:16px!important; }
body[data-ui-refined] main :is(.journey-copy,.story-timeline,.contact-booking-list,.customer-video-criteria,.service-process-assurance,.model-case-card,.contact-social-card,.customer-video-card-copy) p { font-size:16px; }
body[data-ui-refined] main .eyebrow { font-size:16px; letter-spacing:.1em; line-height:1.6; }
body[data-ui-refined] main :is(.about-story-facts,.proof-grid,.services-hero-proof,.reviews-hero-facts) span { font-size:16px; }
body[data-ui-refined] :is(a,button,input):focus-visible { outline:3px solid #0879df; outline-offset:4px; }
body[data-ui-refined] :is(a,button) { -webkit-tap-highlight-color:transparent; }
body[data-ui-refined] .button { min-height:46px; font-size:16px; box-shadow:none; }
body[data-ui-refined] .button-primary { background:#0077df; }
body[data-ui-refined] .button-primary:hover { background:#0064bf; }
body[data-ui-refined] :is(.hero,.hero-followup) .button-secondary { border:1px solid #0077df; background:transparent; color:#25313d; }
body[data-ui-refined] :is(.hero,.hero-followup) .button-secondary:hover { border-color:#0064bf; background:#e7f4ff; color:#0064bf; }
body[data-ui-refined] .faq-intro .button { text-align:center; }
body[data-ui-refined] .button:active { transform:translateY(1px); }
body[data-ui-refined] .desktop-nav a { font-size:16px; }
body[data-ui-refined] .desktop-nav a[aria-current=page] { color:#006acb; text-decoration:underline; text-underline-offset:8px; text-decoration-thickness:2px; }
body[data-ui-refined] :is(section[id],div[id]) { scroll-margin-top:100px; }
body[data-ui-refined] main :is(.about-story-copy,.customer-interview-copy,.service-process-heading,.contact-google-copy,.contact-whatsapp-copy,.faq-intro,.final-cta) h2 { font-size:clamp(30px,3.2vw,46.2px); letter-spacing:-.035em; }
body[data-ui-refined] main :is(.reviews-hero-proof,.reviews-proof-label,.story-timeline,.about-story-media>img,.promise-signature) { box-shadow:none; }
body[data-ui-refined] .reviews-hero-proof { padding:16px; background:#f5f8fb; }
body[data-ui-refined] .reviews-proof-label { position:static; margin-top:16px; padding:12px 4px 4px; border:0; background:transparent; }
body[data-ui-refined] .reviews-proof-label small { font-size:16px; line-height:1.6; }
body[data-ui-refined] .service-category-card { display:flex; flex-direction:column; min-height:0; padding:32px; }
body[data-ui-refined] .service-category-card:hover { transform:none; box-shadow:none; }
body[data-ui-refined] .service-category-card>.text-link { margin-top:auto; min-height:44px; display:flex; align-items:center; }
body[data-ui-refined] .service-card-number { font-size:34px; top:26px; right:30px; color:#728394; letter-spacing:-.04em; }
body[data-ui-refined] .service-card-icon { width:auto; height:auto; display:block; border:0; border-radius:0; font-size:16px; letter-spacing:.08em; }
body[data-ui-refined] .service-category-card h3 { margin-top:26px; max-width:24ch; }
body[data-ui-refined] .service-category-card li { font-size:16px; line-height:1.6; }
body[data-ui-refined] .service-process-flow { gap:16px; border:0; }
body[data-ui-refined] .service-process-flow::before { display:none; }
body[data-ui-refined] .process-step { min-height:0; padding:28px 24px; }
body[data-ui-refined] .process-step>span { margin-bottom:24px; font-size:26px; color:#006acb; }
body[data-ui-refined] .process-step small { font-size:16px; color:#52697b; }
body[data-ui-refined] .process-step p { font-size:16px; }
body[data-ui-refined] .journey-icon { background:transparent; border:0; box-shadow:none; font-size:28px; }
body[data-ui-refined] .journey-copy small { font-size:16px; color:#52697b; }
body[data-ui-refined] .promise-number { display:none; }
body[data-ui-refined] .promise-card:hover { transform:none; box-shadow:none; }
body[data-ui-refined] :is(.about-section-nav,.services-section-nav,.reviews-section-nav,.faq-topic-nav) a { min-height:56px; font-size:16px; }
body[data-ui-refined] :is(.about-section-nav,.services-section-nav,.reviews-section-nav,.faq-topic-nav) a:hover { background:#edf5fc; color:#006acb; }
body[data-ui-refined] .faq-page-hero-visual { min-height:420px; }
body[data-ui-refined] .faq-search input { min-height:48px; font-size:18px; }
body[data-ui-refined] .faq-search-clear { display:inline-flex; align-items:center; min-height:44px; margin:0 0 16px; padding:0 14px; border:1px solid #cbdbe8; border-radius:8px; background:white; color:#006acb; font:inherit; font-size:16px; cursor:pointer; }
body[data-ui-refined] .faq-search-clear[hidden] { display:none; }
body[data-ui-refined] main .accordion-item button { min-height:60px; font-size:18px; line-height:1.5; text-align:left; }
body[data-ui-refined] main .accordion-item button[aria-expanded=true] { color:#006acb; background:#f1f7fc; }
body[data-ui-refined] .accordion-panel p { font-size:17px; }
body[data-ui-refined] .review-dialog { max-height:90dvh; overflow:auto; }
body[data-ui-refined] .review-dialog header button { min-width:44px; min-height:44px; }
body[data-ui-refined] .mobile-menu { max-height:calc(100dvh - 68px); overflow-y:auto; overscroll-behavior:contain; }
body[data-ui-refined] .mobile-menu a { min-height:48px; }
body[data-ui-refined] .site-footer :is(p,a) { font-size:16px; line-height:1.7; }
/* Keep the image-led hero separate from the practical next steps. */
body[data-ui-refined] .hero-heading .button-row { display:flex; flex-direction:column; align-items:flex-start; width:100%; gap:10px; margin-top:24px; }
body[data-ui-refined] .hero-heading .button { width:min(100%,220px); min-height:46px; padding:12px 16px; text-align:center; }
body[data-ui-refined] .hero-heading .button::after { content:none; }
body[data-ui-refined] .hero-followup { padding:36px 0; background:#fff; }
body[data-ui-refined] .hero-followup .hero-lead { max-width:820px; margin-bottom:26px; font-size:18px; }
body[data-ui-refined] .hero-followup .micro-proof { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; gap:20px; color:var(--ui-ink); font-size:18px; font-weight:600; }
body[data-ui-refined] .service-highlight { display:flex; align-items:center; gap:12px; line-height:1.45; }
body[data-ui-refined] .hero-followup .micro-proof span::before { content:none; }
body[data-ui-refined] .highlight-icon,body[data-ui-refined] .promise-step-icon { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; border-radius:12px; background:#eaf5ff; color:#0077df; }
body[data-ui-refined] .highlight-icon svg { width:24px; height:24px; }
body[data-ui-refined] .home-promise { padding:64px 0; background:#f5f9fd; }
body[data-ui-refined] .home-promise-heading { margin-bottom:30px; }
body[data-ui-refined] .home-promise-heading h2 { margin-bottom:12px; font-size:clamp(34px,4vw,50.4px); }
body[data-ui-refined] .home-promise-heading p { margin:0; font-size:20px; }
body[data-ui-refined] .home-promise-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin:0; padding:0; list-style:none; }
body[data-ui-refined] .home-promise-grid li { padding:26px; border:1px solid var(--ui-line); border-radius:16px; background:#fff; }
body[data-ui-refined] .promise-step-icon { width:52px; height:52px; margin-bottom:24px; }
body[data-ui-refined] .promise-step-icon svg { width:30px; height:30px; }
body[data-ui-refined] .home-promise-grid h3 { margin-bottom:12px; font-size:25px; }
body[data-ui-refined] .home-promise-grid p { margin:0; font-size:17px; }
body[data-ui-refined] .promise-visit-note { max-width:760px; margin:26px 0 0; }
body[data-ui-refined] .proof-bar { padding:36px 0; border:0; }
body[data-ui-refined] .proof-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; background:transparent; }
body[data-ui-refined] .proof-grid > div { display:flex; flex-direction:column; justify-content:center; min-height:160px; padding:26px; border:1px solid var(--ui-line); border-radius:16px; background:#fff; text-align:left; }
body[data-ui-refined] .proof-grid strong { font-size:20px; line-height:1.4; }
body[data-ui-refined] .proof-grid strong::before { content:none; }
body[data-ui-refined] .proof-grid span { margin-top:10px; font-size:16px; line-height:1.6; }
@media(max-width:1000px) {
  body[data-ui-refined] .home-promise-grid,body[data-ui-refined] .proof-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:820px) {
  body[data-ui-refined] .hero-grid { height:100%; min-height:0; }
  body[data-ui-refined] .hero-copy { display:block; width:100%; max-width:none; height:100%; padding:0; }
  body[data-ui-refined] .hero-heading { display:flex; flex-direction:column; justify-content:center; width:48%; height:100%; min-height:0; margin:0; padding-block:18px; }
  body[data-ui-refined] .hero h1 { margin-bottom:0; font-size:clamp(26px,5.5vw,46.2px); line-height:1.08; }
  body[data-ui-refined] .hero-mobile-portrait { position:absolute; inset:0; z-index:0; width:100%; height:100%; margin:0; background:#f2f9ff; pointer-events:none; }
  body[data-ui-refined] .hero-mobile-portrait img { inset:0; width:100%; max-width:100%; height:100%; transform:none; object-fit:contain; object-position:center; }
  body[data-ui-refined] .hero-mobile-portrait::before { content:""; position:absolute; inset:0; z-index:1; backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); mask-image:linear-gradient(90deg,#000 0%,#000 30%,transparent 49%); }
  body[data-ui-refined] .hero-mobile-portrait::after { z-index:2; background:linear-gradient(90deg,rgb(242 249 255 / 80%),rgb(242 249 255 / 35%) 30%,transparent 49%); }
  body[data-ui-refined] main :is(.about-hero-visual,.services-hero-visual,.faq-page-hero-visual) { min-height:360px; }
  body[data-ui-refined] .service-category-card { padding:26px 22px; }
  body[data-ui-refined] .service-card-number { top:21px; right:23px; }
  body[data-ui-refined] .button { font-size:16px!important; }
  body[data-ui-refined] .section { padding-block:56px; }
  body[data-ui-refined] .hero.section { aspect-ratio:3 / 2; min-height:360px; padding:0; }
  body[data-ui-refined] .story-timeline { margin-top:16px; }
  body[data-ui-refined] .faq-topic-nav { grid-template-columns:1fr 1fr; }
  body[data-ui-refined] .faq-topic-nav a { padding:16px 12px; gap:8px; font-size:16px; }
  body[data-ui-refined] .faq-topic-nav a span { font-size:16px; }
}
@media(max-width:600px) {
  body[data-ui-refined] .hero-followup .micro-proof { grid-template-columns:1fr; gap:16px; }
  body[data-ui-refined] .hero-heading .button-row { margin-top:18px; }
  body[data-ui-refined] .hero-heading .button { padding-inline:10px; }
  body[data-ui-refined] .home-promise { padding:44px 0; }
  body[data-ui-refined] .home-promise-grid li,body[data-ui-refined] .proof-grid > div { padding:20px; }
}
@media(max-width:420px) {
  body[data-ui-refined] .home-promise-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  body[data-ui-refined] * { scroll-behavior:auto!important; }
}

/* Dark panels retain their own text palette inside the light page theme. */
body[data-ui-refined] .cta-panel { overflow:clip; }
body[data-ui-refined] main :is(.promise-signature,.cta-panel) :is(h2,h3,strong) { color:#fff!important; }
body[data-ui-refined] main :is(.promise-signature,.cta-panel) p { color:#deebf5!important; }
body[data-ui-refined] main :is(.promise-signature,.cta-panel) :is(.eyebrow,small) { color:#9bdaff!important; }
body[data-ui-refined] .promise-signature strong { font-size:24px; line-height:1.5; }

/* About details use the homepage's bordered cards and blue line icons. */
body.about-page .about-detail-icon,
body.about-page .promise-icon {
  display:grid; place-items:center; flex:0 0 52px; width:52px; height:52px;
  background:#eaf5ff; color:#0077df; border:0; border-radius:12px; box-shadow:none;
}
body.about-page :is(.about-detail-icon,.promise-icon) svg { width:28px; height:28px; }
body.about-page .about-story-facts {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:32px; border:0;
}
body.about-page .about-story-facts > div {
  padding:24px; border:1px solid var(--ui-line); border-radius:16px; background:#fff;
}
body.about-page .about-story-facts .about-detail-icon { margin-bottom:20px; }
body.about-page .about-story-facts strong { font-size:22px; line-height:1.4; }
body.about-page .about-story-facts span { font-size:18px; line-height:1.6; }
body.about-page .promise-grid { gap:20px; }
body.about-page .promise-card {
  min-height:0; padding:28px; border:1px solid var(--ui-line); border-radius:16px; background:#fff; box-shadow:none;
}
body.about-page .promise-card::before { display:none; }
body.about-page .promise-icon { margin-bottom:24px; }
body.about-page .promise-card h3 { font-size:25px; line-height:1.4; }
body.about-page .promise-card > strong { color:#0068bd; text-transform:none; letter-spacing:0; font-size:18px; line-height:1.5; }
body.about-page .story-timeline {
  position:static; display:grid; grid-template-columns:1fr; gap:14px; margin-top:20px;
  background:transparent; border:0; border-radius:0; box-shadow:none;
}
body.about-page .story-timeline > div {
  display:grid; grid-template-columns:52px minmax(0,1fr); gap:18px; padding:24px;
  border:1px solid var(--ui-line); border-radius:16px; background:#fff;
}
body.about-page .story-timeline strong { font-size:20px; line-height:1.4; margin-bottom:8px; }
body.about-page .about-story-media { padding-bottom:0; }
body.about-page .about-section-nav {
  display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px;
  width:min(1200px,calc(100% - 40px)); margin-inline:auto; border:0; background:transparent; overflow:visible;
}
body.about-page .about-section-nav a {
  min-width:0; padding:18px; border:1px solid #cbdde9; border-radius:14px; background:#fff; color:#205678;
  font-size:17px; line-height:1.5; scroll-snap-align:none;
}
body.about-page .about-section-nav .about-detail-icon { width:40px; height:40px; flex-basis:40px; }
body.about-page .about-section-nav .about-detail-icon svg { width:24px; height:24px; }
html:root body.about-page .site-footer a { display:block; width:fit-content; }
@media(max-width:1100px) {
  body.about-page .about-story-facts { grid-template-columns:1fr; }
  body.about-page .about-section-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px) {
  body.about-page .promise-grid { grid-template-columns:1fr; }
  body.about-page :is(.promise-card,.about-story-facts > div) { padding:24px; }
}
@media(max-width:480px) {
  body.about-page .about-section-nav { grid-template-columns:1fr; }
  body.about-page .promise-signature { gap:20px; }
  body.about-page .promise-signature strong { font-size:22px; }
}
