/* Shared accessibility rules and the public site's Premium Visual Redesign V2. */
:root { --ui-focus: #ae8f50; --ui-nav-offset: 92px; }
.premium-services-grid[hidden] { display: none !important; }
html { scroll-padding-block-start: var(--ui-nav-offset); }
body, button, input, select, textarea { font-family: "Cairo", sans-serif; }
button, input, select, textarea { font-family: inherit; }
:where(main, footer) :is(h1,h2,h3,h4,h5,h6) { overflow-wrap: break-word; }
:where(main, footer) :is(p, a, li) { overflow-wrap: break-word; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--ui-focus);
  outline-offset: 3px;
}
:where(button, .btn, .detail-btn, .detail-final-btn) {
  cursor: pointer;
  white-space: normal;
  overflow-wrap: anywhere;
}
:where(button, .btn):disabled,
:where(button, .btn)[aria-disabled="true"] { cursor: not-allowed; opacity: .6; }
:where(button, .btn):active:not(:disabled) { filter: brightness(.96); }
:where(.card, .detail-plus-card, .form-box, .quick-card, .footer-grid > *, .ai-message) { min-width: 0; }
.btn i, .footer-contact-list i { flex-shrink: 0; }
.skip-link {
  position: fixed; top: 12px; inset-inline-start: 12px; z-index: 2000;
  padding: .6rem 1rem; background: #1f2f3f; color: #fff;
  border-radius: 10px; transform: translateY(-160%);
}
.skip-link:focus { transform: none; color: #fff; }

/* Sticky navigation already occupies space in the document. */
body.has-site-nav :is(.insurance-main, .insurance-types-main, .about-main, .forms-main) {
  padding-top: clamp(1.5rem, 3vw, 3rem);
}
body.has-site-nav .network-hero { padding-top: clamp(2rem, 5vw, 4rem); }

/* Make all text visible without replacing the image-card design. */
.service-chip { max-width: calc(100% - 24px); white-space: normal; }
.insurance-type-tile span { white-space: normal; color: #172637; }
.detail-plus-card ul { padding-inline-start: 1rem; padding-inline-end: 0; }
.detail-list li { opacity: 1; }
.detail-final-btn { display: inline-flex; align-items: center; justify-content: center; }
.detail-actions .detail-btn { max-width: 100%; }
.network-tabs { flex-wrap: wrap; gap: .5rem; }
.network-table-scroll { overscroll-behavior-inline: contain; }
.network-table th { text-align: start; }

/* Isolate Latin phone numbers and email addresses inside RTL contact rows. */
.footer-contact-list div:has(.bi-telephone-fill) span,
.footer-contact-list div:has(.bi-envelope-fill) span { direction: ltr; unicode-bidi: isolate; text-align: start; }
.site-footer .footer-bottom p { max-width: none; white-space: normal; text-align: center; }
.site-footer .social-links { flex-wrap: wrap; }
.site-footer .social-links a { min-width: 44px; min-height: 44px; }
.site-footer .footer-contact-list div { overflow-wrap: anywhere; }

/* Native checkbox/radio controls must not inherit full-width text-field rules. */
input[type="checkbox"], input[type="radio"] { width: 1.15em; min-height: 1.15em; flex-shrink: 0; }
label:has(input[type="checkbox"]), label:has(input[type="radio"]) { min-height: 44px; }

body.home-page .hero-glow { opacity: .22; filter: blur(40px); }
body.home-page .hero-lights { animation-duration: 20s; }
body.home-page .hero-card::before { filter: blur(28px); }
body.home-page .hero-shell { padding-block: clamp(3rem, 7vw, 6rem); }
body.home-page .hero-section { min-height: calc(100svh - 76px); }
body.home-page .hero-btn-primary { color: #172637 !important; }
body.home-page #insurance-grid .premium-service-content {
  position: relative; padding-block-start: 3.6rem; min-height: 100%;
}
body.home-page #insurance-grid .premium-service-card { aspect-ratio: auto; }
body.home-page #insurance-grid .premium-service-content p {
  display: block; overflow: visible; -webkit-line-clamp: unset;
}
body.home-page #insurance-grid .premium-service-actions .btn {
  min-height: 44px; white-space: normal; line-height: 1.5;
}

@media (max-width: 991.98px) {
  body.home-page .hero-shell { padding-block: 2.25rem; }
  body.home-page .hero-section { min-height: calc(100svh - 72px); }
  body.home-page .hero-card { min-width: 0; }
  body.home-page .hero-mobile-visual { max-width: 100%; }
  .detail-content-side { min-width: 0; }
}
@media (max-width: 767.98px) {
  .network-tabs { flex-wrap: wrap; overflow-x: visible; justify-content: flex-start; }
  body.home-page .insurance-filter-row { flex-wrap: wrap; overflow: visible; gap: .5rem; }
  body.home-page .insurance-filter-chip { min-height: 44px; max-width: 100%; }
  body.home-page .cev-ticker-track { animation: none; white-space: normal; justify-content: center; width: 100%; padding: .5rem; }
  body.home-page .cev-ticker-track span { white-space: normal; text-align: center; }
  body.home-page .hero-actions .hero-btn { max-width: none; min-width: 0; }
  body.home-page .quick-quote-fab { bottom: calc(68px + env(safe-area-inset-bottom)); }
  body:has(.floating-whatsapp, .quick-quote-fab) .site-footer {
    padding-bottom: calc(128px + env(safe-area-inset-bottom));
  }
  .app-navbar .container-fluid { gap: .75rem; }
  .app-navbar .navbar-brand { white-space: normal; min-width: 0; flex: 1 1 180px; }
  .app-navbar .brand-title { font-size: .95rem; }
  .app-navbar .navbar-brand img { flex-shrink: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html, body { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal, .reveal-item, .auto-reveal, .premium-reveal,
  .insurance-type-card, .detail-list li, .home-card-reveal,
  .reveal-item.pending { opacity: 1 !important; transform: none !important; filter: none !important; clip-path: none !important; }
  .hero-mobile-curve path { stroke-dashoffset: 0; }
}

/* Premium Visual Redesign V2: one shared visual system, no application logic. */
:root {
  --v2-navy: #293545;
  --v2-deep: #202b39;
  --v2-gold: #AE8F50;
  --v2-light-gold: #C6BEAE;
  --v2-ivory: #F1ECE2;
  --v2-paper: #faf8f4;
  --v2-muted: #626b77;
  --v2-line: #e2dfd7;
  --v2-radius: 16px;
  --v2-shadow: 0 12px 32px -24px rgba(41,53,69,.24);
  --v2-section: clamp(3.5rem, 7vw, 6.5rem);
  --v2-container: 1240px;
}
body { background: #fff; color: var(--v2-navy); }
body, button, input, select, textarea { font-family: 'Cairo', sans-serif; }
h1, h2, h3 { letter-spacing: 0 !important; text-wrap: balance; }
.container-xxl, .news-fluid { max-width: var(--v2-container); padding-inline: clamp(20px, 3vw, 36px); }
body main > section:not(.hero-section), body.home-page main > section:not(.hero-section) {
  margin: 0; border: 0; border-radius: 0; box-shadow: none;
}
body.home-page main > section:not(.hero-section) { background: #fff; }
body.home-page main > section.ui-tone-gradient,
body.home-page main > section:nth-of-type(even):not(.hero-section),
.about-main > section:nth-of-type(even) { background: var(--v2-paper); }
body.home-page main > section.ui-tone-dark { background: var(--v2-navy); }
.section-padding { padding-block: var(--v2-section); }
.section-head { margin-bottom: clamp(2rem, 4vw, 3.25rem); }
.section-head h2, .section-title { font-size: clamp(1.65rem, 3vw, 2.65rem); line-height: 1.5; }
.section-head p, .section-subtitle { color: var(--v2-muted); line-height: 1.95; }
body.home-page .section-head h2::after { height: 2px; width: 48px; background: var(--v2-gold); }

/* Consistent controls; higher specificity replaces legacy gradients. */
body .btn, .detail-final-btn, .submit-btn, .about-btn {
  min-height: 48px; border-radius: 8px; padding: .72rem 1.25rem;
  font-weight: 700; transition: background-color 200ms ease, border-color 200ms ease, transform 200ms ease;
}
body .btn:hover { transform: translateY(-1px); box-shadow: none; }
body :is(.cta-btn,.about-btn,.submit-btn,.detail-btn-primary,.premium-service-btn) {
  background: var(--v2-navy) !important; color: #fff !important;
  border: 1px solid var(--v2-navy) !important; box-shadow: none !important;
}
body :is(.cta-btn,.about-btn,.submit-btn,.detail-btn-primary,.premium-service-btn):hover {
  background: var(--v2-deep) !important; border-color: var(--v2-gold) !important;
}
body :is(.detail-btn-secondary,.premium-service-btn-alt) {
  background: transparent !important; border: 1px solid #aab0b6 !important; color: var(--v2-navy) !important;
}
body .btn-outline-light { color: #fff; border-color: #b3b7bd; }
body .btn-outline-light:hover { background: #fff; color: var(--v2-navy); }

/* Navigation retains the existing desktop dropdown and accessible mobile drawer. */
.tkf-site-header { border-bottom: 1px solid rgba(198,190,174,.3); }
.tkf-site-header .tkf-site-nav { background: var(--v2-navy); transition: background-color 220ms, box-shadow 220ms; }
.tkf-site-header .tkf-site-nav.is-scrolled { background: var(--v2-deep); box-shadow: 0 8px 24px #202b3920; }
.tkf-nav-shell { max-width: 1440px; }
.tkf-brand img { max-height: 58px; }
.tkf-site-header .tkf-quote-btn { background: var(--v2-gold); color: #202b39; border-radius: 8px; box-shadow: none; }
.tkf-site-header .tkf-dropdown { border: 1px solid var(--v2-line); border-top: 3px solid var(--v2-gold); border-radius: 12px; box-shadow: 0 18px 40px #202b3920; padding: 12px; }
.tkf-dropdown a { min-height: 44px; border-radius: 6px; }
.tkf-mobile-sidebar { background: var(--v2-deep); }

/* Home: editorial split composition, with the existing video in a framed panel. */
body.home-page .hero-section { min-height: 690px; background: var(--v2-navy); display: block; }
body.home-page .hero-shell { width: min(calc(100% - 48px), 1168px); padding-block: 76px 58px; display: block; perspective: none; }
body.home-page .hero-card {
  width: 53%; max-width: none; padding: 0; margin: 0; text-align: start;
  background: none; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none;
  transform: none !important; animation: none;
}
body.home-page .hero-card::before, body.home-page .hero-glow,
body.home-page .hero-lights, body.home-page .hero-mobile-visual { display: none; }
body.home-page .hero-video, body.home-page .hero-reduced-picture {
  inset: 54px auto auto 4%; width: 39%; height: calc(100% - 108px);
  border-radius: 120px 16px 16px 16px; object-fit: cover;
  border: 1px solid rgba(198,190,174,.35); transform: none !important;
}
body.home-page .hero-image { object-fit: cover; transform: none !important; }
body.home-page .hero-overlay { background: linear-gradient(90deg, transparent 35%, #293545 48%); pointer-events: none; }
body.home-page .hero-kicker { margin-bottom: 22px; }
body.home-page .hero-kicker span {
  padding: 0 0 0 12px; min-height: 0; border: 0; border-radius: 0;
  background: none; color: var(--v2-light-gold); box-shadow: none; font-size: .92rem; font-weight: 600;
}
body.home-page .hero-kicker span::before { content: ''; width: 26px; height: 1px; margin-inline-end: 12px; background: var(--v2-gold); }
body.home-page .hero-title {
  max-width: 15ch; font-size: clamp(2.1rem, 3.65vw, 3.55rem); line-height: 1.5;
  margin: 0; color: #fff; text-shadow: none; font-weight: 800;
}
body.home-page .hero-subtitle { margin: 22px 0 0; max-width: 48ch; color: #d5d8dd; font-size: 1rem; font-weight: 400; line-height: 2; text-shadow: none; }
body.home-page .hero-actions { justify-content: start; margin-top: 28px; gap: 12px; }
body.home-page .hero-actions .hero-btn { border-radius: 8px !important; min-height: 52px; padding: .8rem 1.4rem; box-shadow: none !important; backdrop-filter: none; }
body.home-page .hero-actions .hero-btn-primary { background: var(--v2-gold) !important; color: #202b39 !important; border-color: var(--v2-gold) !important; }
body.home-page .hero-actions .hero-btn-secondary { background: transparent !important; color: #fff !important; border-color: #89909b !important; }
body.home-page .hero-actions .hero-btn:hover { transform: translateY(-1px) !important; }
body.home-page .hero-trust-row { margin: 34px 0 0; padding-top: 22px; gap: 0; border-top: 1px solid #ffffff26; }
body.home-page .hero-trust-item {
  min-height: 65px; padding: 0 12px; background: none; border: 0; border-radius: 0;
  border-inline-end: 1px solid #ffffff26; box-shadow: none; backdrop-filter: none;
}
body.home-page .hero-trust-item:last-child { border-inline-end: 0; }
body.home-page .hero-trust-item:hover { transform: none; }
body.home-page .hero-trust-item strong { color: #d2bb89; font-size: clamp(1.2rem, 2vw, 1.65rem); }
body.home-page .hero-trust-item span { font-size: .73rem; color: #d5d8dd; }

/* Product cards: images above readable content, never text over a busy photograph. */
body.home-page #insurance-grid .premium-services-grid { max-width: none; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px !important; }
body.home-page #insurance-grid .premium-services-grid > div { grid-column: auto; grid-row: auto; min-width: 0; margin: 0; }
body.home-page #insurance-grid .premium-service-card {
  height: 100%; min-height: 0; display: flex; flex-direction: column; background: #fff;
  border: 1px solid var(--v2-line); border-radius: var(--v2-radius); box-shadow: var(--v2-shadow); overflow: hidden;
}
body.home-page #insurance-grid .premium-service-card > img { position: static; width: 100%; height: 210px; aspect-ratio: 16/10; object-fit: cover; filter: none; transform: none; }
body.home-page #insurance-grid .premium-service-overlay,
body.home-page #insurance-grid .premium-service-card::after { display: none; }
body.home-page #insurance-grid .premium-service-content { position: relative; inset: auto; padding: 24px; min-height: 0; display: flex; flex: 1; flex-direction: column; color: var(--v2-navy); background: #fff; }
body.home-page #insurance-grid .premium-service-icon { top: -24px; left: 22px; background: var(--v2-ivory); color: #80662f; border: 4px solid #fff; border-radius: 12px; width: 48px; height: 48px; box-shadow: none; }
body.home-page #insurance-grid .premium-service-type { color: #786334; background: none; font-size: .73rem; font-weight: 600; padding: 0; margin: 8px 0 10px; border: 0; }
body.home-page #insurance-grid .premium-service-content h3 { color: var(--v2-navy); font-size: 1.3rem; line-height: 1.7; }
body.home-page #insurance-grid .premium-service-content p { color: var(--v2-muted); line-height: 1.9; font-size: .92rem; margin: 10px 0 22px; }
body.home-page #insurance-grid .premium-service-actions { margin-top: auto; gap: 8px; }
body.home-page #insurance-grid .premium-service-actions .btn { font-size: .78rem; padding: .65rem .8rem; min-width: 0; min-height: 44px; }
body :is(.premium-service-card,.insurance-type-tile,.service-media-card,.info-card):hover { transform: translateY(-2px) !important; box-shadow: var(--v2-shadow) !important; }
body :is(.info-card,.trust-card,.pillar-card,.strategy-card,.content-box,.quick-card,.form-box) { border: 1px solid var(--v2-line); border-radius: var(--v2-radius); box-shadow: var(--v2-shadow); }
body :is(.mission-card,.pillar-card,.strategy-card) { background: #fff; }
body.home-page .final-conversion-cta { background: var(--v2-navy) !important; padding-block: var(--v2-section); }
body.home-page .final-conversion-cta :is(h2,p) { color: #fff; }

/* Catalogue: a calm image grid with independent captions and directional affordance. */
body .insurance-types-main { background: var(--v2-paper); padding-top: 0; }
.insurance-types-showcase { padding-block: var(--v2-section); background: var(--v2-paper); }
.insurance-types-inner { max-width: var(--v2-container); padding-inline: 24px; margin-inline: auto; }
.insurance-types-title { max-width: 28ch; margin: 0 auto 48px; font-size: clamp(1.8rem,3vw,2.7rem); line-height: 1.65; }
.insurance-types-main .insurance-types-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.insurance-types-main .insurance-type-tile { display: flex; flex-direction: column; height: auto; min-height: 0; padding: 0; background: #fff; border: 1px solid var(--v2-line); border-radius: 14px; overflow: hidden; box-shadow: var(--v2-shadow); }
.insurance-type-tile::before { display: none; }
.insurance-types-main .insurance-type-tile img { width: 100%; height: 220px; position: static; object-fit: cover; transform: none; }
.insurance-types-main .insurance-type-tile span { position: static; transform: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; max-width: none; min-height: 80px; padding: 20px; border: 0; border-radius: 0; color: var(--v2-navy); background: #fff; box-shadow: none; font-size: 1rem; }
.insurance-type-tile span::after { content: '←'; color: #8b713c; font-size: 1.4rem; }

/* All insurance detail pages share this layout and keep every original coverage. */
body.has-site-nav .insurance-detail-main { padding-top: 32px; background: var(--v2-paper); }
.insurance-detail-wrap { max-width: var(--v2-container); padding: 0 24px 64px; gap: 48px; }
.insurance-detail-wrap .detail-card { background: #fff; border: 1px solid var(--v2-line); border-radius: 20px; min-height: 0; box-shadow: var(--v2-shadow); }
.detail-card::before { display: none; }
.detail-card .row { min-height: 0; }
.detail-card .detail-image-side { position: relative; inset: auto; height: 100%; min-height: 380px; background: var(--v2-ivory); }
.detail-card .detail-image-side img { object-fit: cover; height: 100%; min-height: 380px; position: absolute; inset: 0; border-radius: 0; }
.detail-card .detail-content-side { padding: clamp(24px,3.5vw,48px); color: var(--v2-navy); max-width: none; }
.detail-card .detail-badge { background: var(--v2-ivory); border: 0; color: #786334; border-radius: 4px; font-size: .8rem; }
.detail-card .detail-title { color: var(--v2-navy); font-size: clamp(1.8rem,3vw,2.8rem); line-height: 1.55; }
.detail-card .detail-description { color: var(--v2-muted); font-size: 1.05rem; line-height: 2; }
.detail-card .detail-list { grid-template-columns: 1fr; gap: 0; margin-block: 20px; }
.detail-card .detail-list li { padding: 12px 0; border: 0; border-bottom: 1px solid var(--v2-line); background: transparent; color: var(--v2-navy); border-radius: 0; min-height: 0; transform: none; }
.detail-card .detail-list li::before { color: #8b713c; }
.detail-plus-section { padding: 0; background: transparent; border: 0; box-shadow: none; }
.detail-plus-grid { gap: 24px; }
.detail-plus-card { padding: clamp(24px,3vw,36px); border: 1px solid var(--v2-line); border-top: 2px solid var(--v2-gold); border-radius: 12px; background: #fff; box-shadow: none; }
.detail-plus-card h2 { font-size: 1.4rem; margin-bottom: 20px; }
.detail-plus-card li { line-height: 2; padding-block: 6px; }
.detail-plus-card li::marker { color: var(--v2-gold); }
.detail-trust-strip { margin-block: 36px; gap: 0; border-block: 1px solid var(--v2-line); padding-block: 28px; }
.detail-trust-strip article { border: 0; border-inline-end: 1px solid var(--v2-line); background: transparent; border-radius: 0; }
.detail-trust-strip article:last-child { border: 0; }
.detail-trust-strip strong { font-size: clamp(1.5rem,3vw,2.3rem); color: #826b39; }
.detail-pricing-box { padding: 30px; border: 1px solid var(--v2-line); background: #fff; border-radius: 12px; }
.pricing-equation { background: var(--v2-paper); border-color: var(--v2-line); }
.detail-final-cta { margin-top: 36px; background: var(--v2-navy); padding: clamp(30px,5vw,60px); border-radius: 16px; box-shadow: none; }
.detail-final-cta :is(h2,p) { color: #fff; }
body .detail-final-btn { background: var(--v2-gold); color: var(--v2-deep); border: 1px solid var(--v2-gold); }
body .detail-final-btn-alt { background: transparent; color: #fff; border-color: #89909b; }

/* Corporate story: large type, existing photography, restrained mission panels. */
body.has-site-nav .about-main { padding-top: 0; background: #fff; }
.about-main .about-intro { background: var(--v2-ivory); }
.intro-copy h1 { font-size: clamp(2.5rem,4vw,4rem); line-height: 1.5; }
.intro-copy p { line-height: 2.1; max-width: 48ch; color: var(--v2-muted); margin-block: 24px 32px; }
.about-main .intro-illustration { min-height: 330px; background: var(--v2-navy); box-shadow: none; border-radius: 100px 12px 12px 12px; }
.intro-illustration::before, .intro-illustration::after { display: none; }
.intro-logo-image { animation: none !important; filter: none; }
.about-main .value-wrap { background: var(--v2-navy); border-radius: 16px; box-shadow: none; }
.about-main .value-text h2 { color: #fff; line-height: 1.8; }
.about-main .pillar-card, .about-main .strategy-card { padding: 32px; background: #fff; border: 1px solid var(--v2-line); border-top: 2px solid var(--v2-gold); border-radius: 12px; box-shadow: none; }
.about-main .pillar-card p, .about-main .strategy-card p { line-height: 2; color: var(--v2-muted); }
.service-media-card { border-radius: 12px; box-shadow: var(--v2-shadow); }
.service-chip { animation: none; }
.word-card { box-shadow: none; border: 1px solid var(--v2-line); border-radius: 16px; }

/* Forms: presentation only; field names, validation and submission are untouched. */
.insurance-section { background: var(--v2-paper); padding-block: var(--v2-section) !important; }
.insurance-section > .container { max-width: 1100px; }
.insurance-section .section-heading { text-align: center; margin-bottom: 44px !important; }
.insurance-section .section-title { font-size: clamp(2rem,3.5vw,3rem); }
.insurance-section .content-box, .forms-main .form-box { background: #fff; padding: clamp(24px,3vw,40px); }
.insurance-section article.content-box { background: var(--v2-navy); color: #e0e2e6; height: 100%; }
.insurance-section article.content-box h3 { color: #fff; font-size: 1.5rem; margin-bottom: 28px; }
.insurance-section article.content-box p { color: #e0e2e6; line-height: 2.2; padding-bottom: 20px; border-bottom: 1px solid #ffffff24; }
.insurance-section form.content-box { border-top: 3px solid var(--v2-gold); }
.quote-form { max-width: 820px; }
.quote-form .row { --bs-gutter-y: 1.6rem; }
.quote-form .col-12:has(select) { padding-top: 24px; border-top: 1px solid var(--v2-line); margin-top: 28px; }
.form-label { color: var(--v2-navy); font-size: .92rem; font-weight: 700; margin-bottom: 10px; }
body .form-control, body .form-select { min-height: 52px; padding: .8rem 1rem; border: 1px solid #d5d7d8; border-radius: 8px; background-color: #fff; color: var(--v2-navy); box-shadow: none; }
body .form-select { padding-inline-end: 2.5rem; }
body textarea.form-control { min-height: 140px; }
body .form-control:focus, body .form-select:focus { border-color: var(--v2-gold); box-shadow: 0 0 0 4px #ae8f5020; }
body .form-control::placeholder { color: #727982; opacity: 1; }

/* News keeps its existing renderer/API, including real empty and error states. */
body.has-site-nav .news-main { padding-top: 0; background: var(--v2-paper); }
.news-main .news-hero { padding-block: var(--v2-section); background: var(--v2-navy); border: 0; border-radius: 0; margin: 0; }
.news-hero .news-hero-card { border: 0; background: transparent; border-radius: 0; box-shadow: none; padding: 0 0 36px; }
.news-hero-card::after { display: none; }
.news-hero-card h1 { color: #fff; font-size: clamp(2rem,3.5vw,3.1rem); line-height: 1.6; }
.news-kicker { color: var(--v2-light-gold); background: transparent; border: 0; padding: 0; }
.news-stats-grid { gap: 0; border-top: 1px solid #ffffff26; padding-top: 24px; }
.news-hero .news-stat-card { background: none; box-shadow: none; border: 0; border-inline-end: 1px solid #ffffff26; border-radius: 0; }
.news-hero .news-stat-card span { color: #cbd0d6; }
.news-hero .news-stat-card strong { color: #fff; }
.news-main > .news-featured, .news-main > .news-grid-section, .news-main > .news-subscribe { padding-block: 44px; margin: 0; border: 0; border-radius: 0; box-shadow: none; background: var(--v2-paper); }
.news-card, .featured-article { border: 1px solid var(--v2-line); border-radius: 14px; box-shadow: var(--v2-shadow); overflow: hidden; }
.news-card img { height: 240px; object-fit: cover; }
.news-card h3 { font-size: 1.3rem; line-height: 1.7; }
.news-card p { color: var(--v2-muted); line-height: 1.9; }
.featured-meta { color: #806735; }
.news-toolbar { padding: 20px; border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; }
.news-main .subscribe-card { background: var(--v2-navy); padding: 36px; border: 0; border-radius: 14px; box-shadow: none; }
.subscribe-card :is(h3,p) { color: #fff; }
.reader-article { max-width: 1000px; margin-inline: auto; padding: clamp(16px,3vw,40px); }
.reader-content { max-width: 72ch; margin-inline: auto; }
.reader-content h1 { font-size: clamp(1.7rem,3vw,2.7rem); line-height: 1.65; }
.reader-content .modal-body-content { font-size: 1.05rem; line-height: 2.15; }

/* Footer is a single quiet navy surface with the original logo and links. */
body .site-footer.modern-footer { background: var(--v2-deep); background-image: none; border-top: 2px solid var(--v2-gold); }
body .site-footer.modern-footer::before, body .site-footer.modern-footer::after { display: none; }
body .site-footer.modern-footer .footer-content { padding: 64px 24px 24px; }
body .site-footer.modern-footer .footer-grid h3 { font-size: 1.08rem; margin-bottom: 20px; }
body .site-footer.modern-footer .footer-list a { color: #d5d8dd; font-size: .92rem; display: inline-flex; padding-block: 7px; }
body .site-footer.modern-footer .footer-list a:hover { color: #d2bb89; }
body .site-footer.modern-footer .footer-contact-list { font-size: .9rem; line-height: 1.9; }
body .site-footer.modern-footer .footer-contact-list i { color: #d2bb89; }
body .site-footer.modern-footer .social-links a { background: transparent; border: 1px solid #ffffff30; border-radius: 8px; color: #fff; box-shadow: none; }
body .site-footer.modern-footer .footer-bottom { border-top: 1px solid #ffffff20; margin-top: 36px !important; padding-top: 24px; }
body .site-footer.modern-footer .footer-bottom p { font-size: .82rem; max-width: none; }

/* Decorative loops are stopped; interaction feedback remains short and subtle. */
body :is(.hero-section,.about-main,.mission-section,.services-circle-section,.claims-journey-section,.unified-takaful-section,.iraq-map-section,.site-footer) *,
body :is(.hero-section,.about-main,.mission-section,.services-circle-section,.claims-journey-section,.unified-takaful-section,.iraq-map-section,.site-footer) *::before,
body :is(.hero-section,.about-main,.mission-section,.services-circle-section,.claims-journey-section,.unified-takaful-section,.iraq-map-section,.site-footer) *::after { animation: none !important; }
body .cev-ticker-track { animation: none; white-space: normal; flex-wrap: wrap; width: 100%; justify-content: center; }
body .reveal-item { transition-duration: 220ms; }

@media (min-width: 1600px) {
  body.home-page .hero-video, body.home-page .hero-reduced-picture { left: calc((100% - 1200px)/2); width: 470px; }
}
@media (max-width: 991.98px) {
  body.home-page .hero-section { min-height: 0; padding-bottom: 300px; }
  body.home-page .hero-shell { width: min(calc(100% - 40px),680px); padding-block: 44px 32px; }
  body.home-page .hero-card { width: 100%; }
  body.home-page .hero-title { max-width: 19ch; font-size: clamp(2rem,5vw,3rem); }
  body.home-page .hero-overlay { display: none; }
  body.home-page .hero-video, body.home-page .hero-reduced-picture { display: block; inset: auto 20px 24px; width: calc(100% - 40px); height: 260px; border-radius: 60px 12px 12px 12px; }
  body.home-page #insurance-grid .premium-services-grid, .insurance-types-main .insurance-types-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .detail-card .detail-image-side, .detail-card .detail-image-side img { min-height: 290px; }
  .detail-card .detail-content-side { padding: 28px; }
  .about-intro .order-2 { order: 0 !important; }
  .news-hero-card { align-items: start; }
}
@media (max-width: 575.98px) {
  .section-padding { padding-block: 52px; }
  .container-xxl { padding-inline: 20px; }
  body.home-page .hero-section { padding-bottom: 226px; }
  body.home-page .hero-title { font-size: 2.05rem !important; line-height: 1.55; }
  body.home-page .hero-subtitle { font-size: .94rem; line-height: 2; }
  body.home-page .hero-kicker span { font-size: .79rem; }
  body.home-page .hero-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
  body.home-page .hero-trust-row { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 20px; }
  body.home-page .hero-trust-item:nth-child(2) { border-inline-end: 0; }
  body.home-page .hero-video, body.home-page .hero-reduced-picture { height: 202px; bottom: 24px; }
  body.home-page #insurance-grid .premium-services-grid, .insurance-types-main .insurance-types-grid { grid-template-columns: 1fr; }
  body.home-page #insurance-grid .premium-service-content { padding: 22px; }
  .insurance-types-title { margin-bottom: 32px; font-size: 1.8rem; }
  .insurance-types-inner { padding-inline: 20px; }
  .insurance-detail-wrap { padding-inline: 16px; gap: 28px; }
  .detail-card .detail-content-side { padding: 24px 20px; }
  .detail-card .detail-image-side, .detail-card .detail-image-side img { min-height: 230px; }
  .detail-plus-grid { grid-template-columns: 1fr; }
  .detail-actions { display: grid; grid-template-columns: 1fr; }
  .detail-actions .btn { width: 100%; }
  .detail-plus-card, .detail-pricing-box { padding: 24px 20px; }
  .detail-trust-strip strong { font-size: 1.3rem; }
  .detail-trust-strip span { font-size: .74rem; }
  .detail-final-actions { display: grid; }
  .about-main .intro-illustration { min-height: 240px; }
  .about-main .pillar-card, .about-main .strategy-card { padding: 24px; }
  .news-hero-card { flex-direction: column; align-items: stretch; }
  .news-stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 0; }
  .news-main .subscribe-card { padding: 24px; }
  .news-toolbar { padding: 16px; }
  .insurance-section .content-box { padding: 24px 20px; }
  .insurance-section .section-heading { padding-inline: 12px; }
  body .site-footer.modern-footer .footer-content { padding-top: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  body.home-page .hero-video { display: none !important; }
  body.home-page .hero-reduced-picture { display: block; }
}

/* Final geometry overrides for legacy component rules. */
body.home-page .hero-shell { display: flex; justify-content: flex-start; }
body.home-page .hero-card { flex: 0 0 50%; }
.insurance-types-main .insurance-types-title { max-width: 29ch; line-height: 1.65; margin-bottom: 40px; }
.insurance-types-main .insurance-types-inner { width: 100%; max-width: var(--v2-container); }
.insurance-types-main .insurance-type-tile { aspect-ratio: auto; }
.insurance-types-main .insurance-type-tile img { flex-shrink: 0; }
.insurance-types-main .insurance-type-tile::after { display: none; }
body .insurance-types-main > .insurance-types-showcase { background: var(--v2-paper); padding-inline: 0; }
body .insurance-main > .insurance-detail-wrap { margin-inline: auto; }
.forms-main .forms-hero { background: var(--v2-ivory); padding-block: 52px; }
.forms-main .forms-contact { padding-block: 60px; background: #fff; }
.forms-main .forms-quote { padding-block: 60px; background: var(--v2-paper); }
.forms-main .form-box { border: 1px solid var(--v2-line); border-top: 3px solid var(--v2-gold); }
.forms-main .form-box h2 { font-size: clamp(1.5rem,2.5vw,2rem); line-height: 1.7; }
.forms-main .form-box .form-control, .forms-main .form-box .form-select { border-radius: 8px; }
.forms-main .quick-card { padding: 24px; background: var(--v2-paper); }
.forms-main .quick-card h3 { font-size: 1.25rem; line-height: 1.7; }
.forms-main .quick-card p { font-size: .94rem; line-height: 1.9; }
.forms-main .quick-btn { color: var(--v2-navy); border-color: var(--v2-gold); border-radius: 8px; min-height: 48px; }
.forms-main .quick-btn:hover { color: #fff; background: var(--v2-navy); }
body .quick-quote-fab { background: var(--v2-gold); color: #202b39; box-shadow: var(--v2-shadow); border-radius: 8px; }
body .floating-top { animation: none; }
@media (max-width: 991.98px) {
  body.home-page .hero-card { flex-basis: 100%; }
}
@media (max-width: 575.98px) {
  .insurance-types-main .insurance-types-title { max-width: none; font-size: 1.7rem; }
  body .quick-quote-fab, body.home-page .quick-quote-fab { bottom: calc(12px + env(safe-area-inset-bottom)); }
  body.home-page .floating-whatsapp { width: 48px; min-width: 48px; height: 48px; padding: 0; border-radius: 50%; bottom: 76px; left: 16px; font-size: 0; }
  body.home-page .floating-whatsapp i { font-size: 24px; margin: 0; }
  body.home-page .floating-top { bottom: 76px; }
}
@media (max-width: 575.98px) {
  body .floating-whatsapp { width: 48px; min-width: 48px; height: 48px; padding: 0 !important; border-radius: 50% !important; bottom: 76px !important; left: 16px; font-size: 0 !important; gap: 0; }
  body .floating-whatsapp i { font-size: 24px; margin: 0; }
  body .floating-top { bottom: 76px !important; }
  body .quick-quote-fab { bottom: calc(12px + env(safe-area-inset-bottom)) !important; }
}
body .quick-quote-fab { background: var(--v2-gold) !important; color: var(--v2-deep) !important; border-radius: 8px !important; }
body .news-hero .news-hero-card { background: transparent !important; }
body.home-page #insurance-grid .premium-services-grid > [class*="col-"]:nth-child(n) { grid-column: auto; grid-row: auto; }
body.home-page .home-card-reveal { filter: none; transition: opacity 220ms ease, transform 220ms ease; transition-delay: 0ms; }
body.home-page .home-card-from-right, body.home-page .home-card-from-left { transform: translateY(8px); }
body.home-page .home-card-reveal.is-visible { transform: none; }
body .global-quote-fab { background: var(--v2-gold); color: var(--v2-deep); border-radius: 8px; box-shadow: var(--v2-shadow); }
@media (max-width: 575.98px) {
  body .global-quote-fab { bottom: calc(12px + env(safe-area-inset-bottom)) !important; }
}
body.home-page #insurance-grid .premium-service-content h3 { text-shadow: none; }
body.home-page #insurance-grid .premium-service-actions .btn { font-size: .8rem !important; padding: .65rem .7rem !important; }

/* Stability/performance guards for media-heavy cards. */
body.home-page :is(.trust-photo, .premium-service-card > img, .service-tile-bg),
.insurance-types-main .insurance-type-tile img,
.detail-card .detail-image-side img,
.news-card-image img,
.featured-media img,
.news-modal img {
  aspect-ratio: 16 / 10;
}

.site-footer img {
  content-visibility: auto;
}

/* Google Translate/LTR homepage hero fix.
   Arabic uses RTL flex-start to place copy on the right; English must force that side explicitly. */
html[dir="ltr"] body.home-page .hero-shell,
html.translated-ltr body.home-page .hero-shell,
body.translated-ltr.home-page .hero-shell {
  justify-content: flex-end !important;
}

html[dir="ltr"] body.home-page .hero-card,
html.translated-ltr body.home-page .hero-card,
body.translated-ltr.home-page .hero-card {
  flex: 0 0 54% !important;
  width: 54% !important;
  max-width: 680px !important;
  text-align: left !important;
}

html[dir="ltr"] body.home-page .hero-title,
html.translated-ltr body.home-page .hero-title,
body.translated-ltr.home-page .hero-title {
  max-width: 18ch !important;
  font-size: clamp(2.15rem, 3.25vw, 3.35rem) !important;
  line-height: 1.22 !important;
}

html[dir="ltr"] body.home-page .hero-subtitle,
html.translated-ltr body.home-page .hero-subtitle,
body.translated-ltr.home-page .hero-subtitle {
  max-width: 50ch !important;
  font-size: 0.98rem !important;
  line-height: 1.8 !important;
}

html[dir="ltr"] body.home-page .hero-actions,
html.translated-ltr body.home-page .hero-actions,
body.translated-ltr.home-page .hero-actions {
  justify-content: flex-start !important;
}

html[dir="ltr"] body.home-page .hero-actions .hero-btn,
html.translated-ltr body.home-page .hero-actions .hero-btn,
body.translated-ltr.home-page .hero-actions .hero-btn {
  min-width: 186px !important;
  white-space: normal !important;
}

html[dir="ltr"] body.home-page .hero-trust-row,
html.translated-ltr body.home-page .hero-trust-row,
body.translated-ltr.home-page .hero-trust-row {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

html[dir="ltr"] body.home-page .hero-trust-item,
html.translated-ltr body.home-page .hero-trust-item,
body.translated-ltr.home-page .hero-trust-item {
  padding-inline: 8px !important;
}

html[dir="ltr"] body.home-page .hero-trust-item span,
html.translated-ltr body.home-page .hero-trust-item span,
body.translated-ltr.home-page .hero-trust-item span {
  font-size: 0.66rem !important;
  line-height: 1.3 !important;
}

@media (max-width: 991.98px) {
  html[dir="ltr"] body.home-page .hero-shell,
  html.translated-ltr body.home-page .hero-shell,
  body.translated-ltr.home-page .hero-shell {
    justify-content: flex-start !important;
  }

  html[dir="ltr"] body.home-page .hero-card,
  html.translated-ltr body.home-page .hero-card,
  body.translated-ltr.home-page .hero-card {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: none !important;
  }

  html[dir="ltr"] body.home-page .hero-title,
  html.translated-ltr body.home-page .hero-title,
  body.translated-ltr.home-page .hero-title {
    max-width: 20ch !important;
  }
}

@media (max-width: 575.98px) {
  html[dir="ltr"] body.home-page .hero-trust-row,
  html.translated-ltr body.home-page .hero-trust-row,
  body.translated-ltr.home-page .hero-trust-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
/* Dropdown visibility must update immediately for keyboard focus. */
.tkf-site-header .tkf-dropdown { transition: opacity 200ms ease, transform 200ms ease; }

/* Original logo revealed along ink paths: 4 seconds drawing, 3 seconds held. */
.takaful-logo-drawing { display: grid; justify-items: center; gap: 18px; padding: clamp(36px, 5vw, 64px) 16px 24px; }
.takaful-drawn-logo { display: block; width: min(100%, 330px); height: auto; overflow: visible; }
body.home-page .takaful-logo-drawing .logo-ink { stroke-dasharray: 1; stroke-dashoffset: 0; animation: logoDrawShield 7s linear infinite !important; }
body.home-page .takaful-logo-drawing .logo-ink-navy { animation-name: logoDrawNavy !important; }
body.home-page .takaful-logo-drawing .logo-ink-gold { animation-name: logoDrawGold !important; }
body.home-page .takaful-logo-drawing .logo-ink-english { animation-name: logoDrawEnglish !important; }
body.home-page .takaful-logo-drawing .logo-ink-rule { animation-name: logoDrawRule !important; }
body.home-page .takaful-logo-drawing .logo-ink-arabic { animation-name: logoDrawArabic !important; }
body.home-page .takaful-logo-drawing .logo-ink-complete { animation: logoDrawComplete 7s linear infinite !important; }
.logo-motion-control { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: .78rem; color: var(--v2-muted); cursor: pointer; }
.logo-motion-control input { accent-color: var(--v2-gold); }
body.home-page .takaful-logo-drawing:has(input:checked) :is(.logo-ink, .logo-ink-complete) { animation-play-state: paused !important; }
.unified-services-details { border-top: 1px solid var(--v2-line); margin-top: 8px; }
.unified-services-details > summary { color: var(--v2-navy); padding: 18px; cursor: pointer; text-align: center; font-weight: 700; }
body.home-page .unified-services-details .service-tile.reveal-item { opacity: 1; transform: none; filter: none; }
@keyframes logoDrawShield { 0% { stroke-dashoffset: 1; } 17%,100% { stroke-dashoffset: 0; } }
@keyframes logoDrawNavy { 0%,17% { stroke-dashoffset: 1; } 27%,100% { stroke-dashoffset: 0; } }
@keyframes logoDrawGold { 0%,27% { stroke-dashoffset: 1; } 37%,100% { stroke-dashoffset: 0; } }
@keyframes logoDrawEnglish { 0%,37% { stroke-dashoffset: 1; } 46%,100% { stroke-dashoffset: 0; } }
@keyframes logoDrawRule { 0%,46% { stroke-dashoffset: 1; } 49%,100% { stroke-dashoffset: 0; } }
@keyframes logoDrawArabic { 0%,49% { stroke-dashoffset: 1; } 57.142857%,100% { stroke-dashoffset: 0; } }
@keyframes logoDrawComplete { 0%,57.142856% { opacity: 0; } 57.142857%,100% { opacity: 1; } }
@media (max-width: 575.98px) { .takaful-drawn-logo { width: min(100%, 260px); } }
@media (prefers-reduced-motion: reduce) {
  body.home-page .takaful-logo-drawing :is(.logo-ink, .logo-ink-complete) { animation: none !important; }
  .logo-ink-complete { opacity: 1; }
  .logo-motion-control { display: none; }
}

/* Final professional catalogue treatment */
@keyframes catalogueFadeLift {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes catalogueGoldLine {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

body .insurance-types-main {
  background: linear-gradient(180deg, #f7f4ee 0%, #ffffff 42%, #f7f8fa 100%);
}
body .insurance-types-main > .insurance-types-showcase {
  padding-block: clamp(2.6rem, 6vw, 5.2rem);
  background: radial-gradient(circle at 12% 6%, rgba(174, 143, 80, 0.16), transparent 28%), linear-gradient(180deg, #fbfaf7 0%, #f3efe6 100%);
}
.insurance-types-main .insurance-types-inner { max-width: 1180px; }
.insurance-types-main .insurance-types-title {
  max-width: 860px;
  margin-bottom: clamp(34px, 5vw, 58px);
  color: #243140;
  font-size: clamp(2rem, 4vw, 3.45rem);
  line-height: 1.45;
}
.insurance-types-main .insurance-types-title::after {
  content: "";
  display: block;
  width: 84px;
  height: 3px;
  margin: 24px auto 0;
  background: #ae8f50;
  transform-origin: center;
  animation: catalogueGoldLine 720ms ease 180ms both;
}
.insurance-types-main .insurance-types-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}
.insurance-types-main .insurance-type-tile {
  position: relative;
  display: block;
  min-height: 244px;
  border: 1px solid rgba(36, 49, 64, 0.12);
  border-radius: 8px;
  overflow: hidden;
  background: #111c29;
  box-shadow: 0 18px 36px -28px rgba(36, 49, 64, 0.72);
  opacity: 0;
  animation: catalogueFadeLift 680ms cubic-bezier(.22, 1, .36, 1) both;
}

.insurance-types-main .insurance-type-tile:nth-child(1) { animation-delay: 60ms; }
.insurance-types-main .insurance-type-tile:nth-child(2) { animation-delay: 110ms; }
.insurance-types-main .insurance-type-tile:nth-child(3) { animation-delay: 160ms; }
.insurance-types-main .insurance-type-tile:nth-child(4) { animation-delay: 210ms; }
.insurance-types-main .insurance-type-tile:nth-child(5) { animation-delay: 260ms; }
.insurance-types-main .insurance-type-tile:nth-child(6) { animation-delay: 310ms; }
.insurance-types-main .insurance-type-tile:nth-child(7) { animation-delay: 360ms; }
.insurance-types-main .insurance-type-tile:nth-child(8) { animation-delay: 410ms; }
.insurance-types-main .insurance-type-tile:nth-child(9) { animation-delay: 460ms; }
.insurance-types-main .insurance-type-tile:nth-child(10) { animation-delay: 510ms; }
.insurance-types-main .insurance-type-tile:nth-child(11) { animation-delay: 560ms; }
.insurance-types-main .insurance-type-tile:nth-child(12) { animation-delay: 610ms; }
.insurance-types-main .insurance-type-tile::before {
  display: block;
  background: linear-gradient(180deg, rgba(17, 28, 41, 0.04) 0%, rgba(17, 28, 41, 0.38) 46%, rgba(17, 28, 41, 0.88) 100%);
}
.insurance-types-main .insurance-type-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: none;
  filter: saturate(1.08) contrast(1.06);
  transition: transform 520ms cubic-bezier(.22, 1, .36, 1), filter 260ms ease;
}
.insurance-types-main .insurance-type-tile span {
  position: absolute;
  inset-inline: 18px;
  right: 18px;
  left: 18px;
  bottom: 18px;
  width: auto;
  min-height: 54px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  background: rgba(17, 28, 41, 0.78);
  color: #fff;
  font-size: clamp(0.95rem, 1.2vw, 1.08rem);
  line-height: 1.5;
  backdrop-filter: blur(10px);
  box-shadow: 0 14px 28px -20px rgba(0, 0, 0, 0.62);
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.28);
}
.insurance-types-main .insurance-type-tile span::after { color: #d6b56f; }
body :is(.insurance-type-tile):hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 28px 46px -30px rgba(36, 49, 64, 0.9) !important;
}

.insurance-types-main .insurance-type-tile:hover img,
.insurance-types-main .insurance-type-tile:focus-visible img {
  transform: scale(1.07);
  filter: saturate(1.16) contrast(1.1);
}

.insurance-types-main .insurance-type-tile:hover span,
.insurance-types-main .insurance-type-tile:focus-visible span {
  border-color: rgba(214, 181, 111, 0.7);
  background: rgba(17, 28, 41, 0.88);
}
@media (max-width: 1199.98px) {
  .insurance-types-main .insurance-types-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
  .insurance-types-main .insurance-types-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .insurance-types-main .insurance-types-grid { grid-template-columns: 1fr; }
  .insurance-types-main .insurance-type-tile { min-height: 210px; }
}

/* Global Takaful background: a quiet Islamic diamond grid behind light page areas. */
:root {
  --global-pattern-bg: #fbfaf7;
  --global-pattern-line: rgba(174, 143, 80, 0.065);
  --global-pattern-size: 88px 52px;
}

body {
  background-color: var(--global-pattern-bg) !important;
  background-image:
    linear-gradient(32deg, transparent 49.45%, var(--global-pattern-line) 49.75%, var(--global-pattern-line) 50.25%, transparent 50.55%),
    linear-gradient(148deg, transparent 49.45%, var(--global-pattern-line) 49.75%, var(--global-pattern-line) 50.25%, transparent 50.55%) !important;
  background-position: 0 0, 0 0 !important;
  background-size: var(--global-pattern-size) !important;
}

/* Let the shared page canvas show through; component surfaces remain untouched. */
body :is(
  .insurance-main,
  .insurance-types-main,
  .insurance-detail-main,
  .medical-page,
  .about-main,
  .news-main,
  .forms-main,
  .direct-requests-main
) {
  background-color: transparent !important;
  background-image: none !important;
}

body.home-page main > section:is(.ui-tone-light, .ui-tone-gradient):not(.faq-section),
body .news-main > :is(.news-featured, .news-grid-section, .news-subscribe),
body .insurance-types-main > .insurance-types-showcase,
body.insurance-premium :is(.insurance-content-section, #insurance-medical-directory) {
  background-color: transparent !important;
  background-image: none !important;
}

@media (max-width: 575.98px) {
  :root { --global-pattern-size: 72px 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .insurance-types-main .insurance-type-tile,
  .insurance-types-main .insurance-types-title::after {
    opacity: 1;
    animation: none !important;
    transform: none !important;
  }

  .insurance-types-main .insurance-type-tile img {
    transition: none !important;
    transform: none !important;
  }
}
