/* Shared visual layer. Keep the generated design system unchanged. */
:root { --ui-ink:#24283E; --ui-muted:#52586B; --ui-line:#D7DCE2; }
html { scroll-padding-top:90px; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #007F8B !important; outline-offset:4px; }
:where(input,select,textarea) { font-size:16px !important; }
:where(input,textarea)::placeholder { color:#656B7C; opacity:1; }
.nav-item:focus-within .nav-menu { opacity:1; visibility:visible; transform:translateX(-50%); pointer-events:auto; display:block; }
.mnav-btn { border:1px solid var(--ui-line); }
.mnav-panel { overscroll-behavior:contain; height:calc(100dvh - 70px) !important; }
body:has(.mnav-toggle:checked) { overflow:hidden; }
.nav-menu a { min-height:44px; display:flex; align-items:center; }
.cta-rose, .mnav-cta { background:#FF0078 !important; color:#fff !important; font:700 19px/1.25 Inter,sans-serif !important; min-height:48px; padding:12px 24px !important; box-shadow:none !important; text-align:center; justify-content:center; align-items:center; max-width:100%; }
.cta-rose:hover,.mnav-cta:hover { background:#D60065 !important; transform:none !important; }
.cta-ghost { min-height:48px; padding:12px 22px !important; border:1px solid #BBC2CD !important; color:var(--ui-ink) !important; background:#fff !important; box-shadow:none !important; text-align:center; justify-content:center; }
.ui-rider:not(.ui-pride) .cta-pp { min-height:48px; font-size:16px !important; font-weight:700 !important; box-shadow:none !important; }
.ui-rider nav .cta-rose { background:#fff !important; color:var(--ui-ink) !important; border:1px solid var(--ui-line); }
.ui-light-surface,footer,[data-mid-cta],article section[style*="var(--sc-500)"] { background:#F0FAFB !important; color:var(--ui-ink) !important; border-top:1px solid #DCECEE; }
:is(.ui-light-surface,footer,[data-mid-cta],article section[style*="var(--sc-500)"]) :is(h1,h2,h3,h4,p,li,span,div,a):not(.cta-rose):not(.cta-pp):not(.mnav-cta) { color:var(--ui-ink) !important; }
:is(.ui-light-surface,footer,[data-mid-cta],article section[style*="var(--sc-500)"]) :is(p,li) { color:var(--ui-muted) !important; }
:is(.ui-light-surface,footer,[data-mid-cta],article section[style*="var(--sc-500)"]) > [aria-hidden="true"] { opacity:.08 !important; }
footer { font-family:Inter,sans-serif; background:#F7F9FA !important; }
footer a:not(.cta-rose) { display:inline-flex; align-items:center; min-height:36px; font-size:14px !important; overflow-wrap:anywhere; }
footer a:not(.cta-rose):hover { text-decoration:underline; text-underline-offset:4px; }
footer h4 { color:#00717C !important; }
footer .g-footlinks { gap:24px !important; }
footer .g-footlinks > div { min-width:0; }
footer p { line-height:1.7 !important; }
:is(.pcard,.liftd,.tcell):not(a):not(button):hover { transform:none !important; box-shadow:none !important; }
a:is(.pcard,.liftd,.bcard):hover { border-color:#007F8B !important; }
.ui-empty-media { height:12px !important; min-height:0 !important; aspect-ratio:auto !important; }
article > section:first-child > div > h1 + div { flex-wrap:wrap; row-gap:8px !important; color:var(--ui-muted) !important; }
article > section:first-child > div > h1 + div > span { white-space:nowrap; }
.abody { color:var(--ui-ink); overflow-wrap:anywhere; }
.abody :is(p,li) { color:var(--ui-muted) !important; }
.abody a:not(.cta-rose) { color:#006F79 !important; text-decoration:underline; text-underline-offset:3px; }
.abody table { display:block; max-width:100%; overflow-x:auto; }
.abody th,.abody td { min-width:100px; padding:12px !important; }
.bfilter { display:block !important; position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.bfilters label { cursor:pointer; min-height:44px; display:inline-flex; align-items:center; }
.bfilters label.ui-filter-active { background:#DDF5F7 !important; color:var(--ui-ink) !important; border-color:#007F8B !important; }
.bfilters label.ui-filter-active span { color:var(--ui-ink) !important; }
.bfilters label.ui-filter-focus { outline:3px solid #007F8B; outline-offset:3px; }
.ui-more { display:block; margin:32px auto 0; font:600 16px Inter,sans-serif; background:#fff; color:var(--ui-ink); border:1px solid #BBC2CD; border-radius:999px; min-height:48px; padding:12px 24px; cursor:pointer; }
.ui-more[hidden],.bcard[data-ui-hidden] { display:none !important; }
.ui-count { text-align:center; font:14px Inter,sans-serif; color:var(--ui-muted); margin:20px 0; }
@media(max-width:700px) {
  nav .cta-rose { font-size:19px !important; padding:10px 14px !important; min-height:44px; }
  section[data-screen-label="Hero"] { padding-top:36px !important; padding-bottom:40px !important; }
  article > section:first-child { padding:32px 0 24px !important; }
  article > section:nth-child(2) { padding:0 0 28px !important; }
  article > section:nth-child(3) { padding:0 0 48px !important; }
  article > section > div { padding-left:24px !important; padding-right:24px !important; }
  article [data-mid-cta] { padding:28px 20px !important; }
  article > section:nth-child(2) > div > div { box-shadow:0 8px 24px rgba(36,40,62,.10) !important; }
  footer { padding:40px 0 28px !important; }
  footer a:not(.cta-rose) { min-height:44px; }
  footer .g-footlinks > div:last-child { grid-column:1/-1; }
  .choicecard { padding:22px !important; }
  #lead-form { padding:24px 20px !important; }
  section[data-screen-label="Featured"] { padding:0 0 28px !important; }
  section[data-screen-label="Featured"] > div > a > div:first-child { min-height:180px !important; }
  section[data-screen-label="Featured"] > div > a > div:last-child { padding:24px !important; }
  :is(.cta-rose,.cta-ghost) { flex-shrink:0; }
  div:has(> .cta-rose):has(> .cta-ghost) { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
  .reveal { opacity:1 !important; transform:none !important; }
}

/* Text-led related cards preserve the article source and all destinations. */
article a > div:empty[style*="aspect-ratio"] { height:12px !important; aspect-ratio:auto !important; }
article > section:first-child [style*="color:rgba(36,40,62,.5)"] { color:var(--ui-muted) !important; }
[style*="rgb(16, 185, 129)"],[style*="rgb(217, 119, 6)"],[style*="rgb(59, 130, 246)"],[style*="rgb(139, 92, 246)"] { color:#00717C !important; }
section[data-screen-label="Comparison"] > div > div:has(> div[style*="1.4fr 1fr 1fr 1fr"]) { overflow-x:auto !important; }
section[data-screen-label="Comparison"] [style*="1.4fr 1fr 1fr 1fr"] { min-width:640px; }
.ui-copy { font:600 14px Inter,sans-serif; color:var(--ui-ink); background:#fff; border:1px solid #BBC2CD; border-radius:999px; min-height:44px; padding:10px 18px; cursor:pointer; }
.shareb { display:none !important; }
footer .g-footbar { border-color:var(--ui-line) !important; }
@media(max-width:700px) {
 section[data-screen-label="Contact hero"] { padding:28px 0 24px !important; }
 section[data-screen-label="Contact options"] { padding:12px 0 48px !important; }
 .choicecard > span { margin-top:10px !important; }
 .choicecard > span:first-child { margin-top:0 !important; }
}
#bf-All:checked ~ div .bfilters label[for="bf-All"],#bf-Hotels:checked ~ div .bfilters label[for="bf-Hotels"],#bf-Universities:checked ~ div .bfilters label[for="bf-Universities"],#bf-Communities:checked ~ div .bfilters label[for="bf-Communities"],#bf-Industry:checked ~ div .bfilters label[for="bf-Industry"],#bf-Company:checked ~ div .bfilters label[for="bf-Company"] { background:#DDF5F7 !important; color:#24283E !important; border-color:#007F8B !important; }
@media(max-width:700px) {
 section[data-screen-label="Contents"] { padding:24px 0 !important; }
 section[data-screen-label="Contents"] a { min-height:44px; display:inline-flex; align-items:center; }
 section:is([data-screen-label="Policy body"],[data-screen-label="Consent body"]) { padding:24px 0 40px !important; }
 section:is([data-screen-label="Policy body"],[data-screen-label="Consent body"]) > div > div { padding:24px 20px !important; }
}

section[data-screen-label="Featured guides"] a > div[style*="aspect-ratio"] { height:12px !important; aspect-ratio:auto !important; }
.slidr-search-pill { min-width:44px !important; min-height:44px !important; color:#52586B !important; }
@media(max-width:700px) {
 nav:not([data-breadcrumb]) > div { padding-left:20px !important; padding-right:20px !important; }
 div:has(> .cta-rose):has(> a[href^="mailto:"]) { flex-wrap:wrap; justify-content:center; }
}
.ui-rider:not(.ui-pride) .cta-pp { background:#FF0078 !important; color:#fff !important; font-size:19px !important; }
.ui-rider:not(.ui-pride) .cta-pp:hover { background:#D60065 !important; }
.faqchip { min-height:44px; }
.faqchip.is-active,.faqchip:hover { background:#DDF5F7 !important; color:#24283E !important; border-color:#007F8B !important; transform:none !important; }
a[href="#main-content"] { background:#fff !important; color:#24283E !important; border:2px solid #007F8B; }
input::placeholder,textarea::placeholder,.cfield::placeholder { color:#656B7C !important; opacity:1; }
article :is(p,span,div)[style*="color: rgba(36, 40, 62,"],.art :is(p,li) { color:#52586B !important; }
@media(max-width:700px) {
 section[data-screen-label="Comparison"] > div > div[role="region"]::before { content:'Scroll to compare all providers'; display:block; padding:12px 16px; color:#52586B; font:14px Inter,sans-serif; background:#fff; position:sticky; left:0; }
 image-slot[id^="area-shuttle-"] { height:240px !important; }
}
image-slot[id^="area-shuttle-"]::part(ring) { border:0 !important; }
article div:has(> .krcard) { align-items:start; }
image-slot[id^="area-shuttle-"]::part(frame) { border:0 !important; }
@media(max-width:700px) {
 .choicecard > span:first-child { width:36px !important; height:36px !important; }
}
