/* STAR2CO R8 | Readable type and content-led reflow. Load after earlier styles. */
html.star2-r8:root { font-size: 112.5%; scroll-padding-top: calc(var(--star2-header-height, 5rem) + 1rem); }
html.star2-r8:root body {
  --home4-ui-scale: 1;
  zoom: 1 !important;
  font-family: "Noto Sans TC", "Noto Sans CJK TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: .015em;
  overflow-wrap: anywhere;
}
html.star2-r8:root :where(main, footer, header) :where(p, h1, h2, h3, h4, a, button, label, li) {
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}
html.star2-r8:root body :is(.container, .h4-wrap, .header-inner, .h4-switcher-inner, .trust-inner) {
  width: min(calc(100% - 2 * clamp(1rem, 3vw, 3rem)), 72rem) !important;
  max-width: 72rem !important;
  margin-inline: auto;
  min-width: 0;
}
html.star2-r8:root main :is(p, li, label, input, select, textarea) { font-size: 1rem !important; line-height: 1.8; }
html.star2-r8:root main :is(.kicker, .h4-kicker) { font-size: .8rem !important; line-height: 1.6; letter-spacing: .1em; }
html.star2-r8:root main :is(small, .service-tag, .h4-eyebrow, .h4-a-note, .h4-film-tag, .h4-d-promise, .h4-stories-heading, .h4-step-number, .h4-story-number, .form-note) {
  font-size: .85rem !important;
  line-height: 1.6;
  white-space: normal !important;
}
html.star2-r8:root main :is(h1, .h4-title) { font-size: clamp(2rem, 1.55rem + 1.8vw, 3.25rem) !important; line-height: 1.38 !important; letter-spacing: -.015em !important; }
html.star2-r8:root main :is(.section-title h2, .journey-layout h2, .home-cta h2, .split-content h2, .social-section-head h2) {
  font-size: clamp(1.6rem, 1.3rem + 1.1vw, 2.3rem) !important;
  line-height: 1.5 !important;
  letter-spacing: -.01em !important;
}
html.star2-r8:root main h3 { font-size: 1.22rem !important; line-height: 1.55 !important; }
html.star2-r8:root main :is(.brand-green, .h4-fit-title, .h4-type-line, .h4-type-phrase, .h4-btn-phrase) { white-space: normal !important; min-width: 0; max-width: 100%; }
html.star2-r8:root main .h4-type-line { display: block; line-height: inherit; text-wrap: balance; }
html.star2-r8:root main .h4-type-phrase { display: inline-block; line-height: inherit; }
html.star2-r8:root main .h4-type-desktop-br { display: none; }
html.star2-r8:root main :is(.h4-fit-title, .brand-green) { text-wrap: balance; }
html.star2-r8:root main :is(.btn, .h4-button, .mini-btn, .partner-detail, .partner-line, .h4-text-link, .more-service-links a) {
  font-size: 1rem !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 2.75rem;
  height: auto !important;
  padding: .7rem 1.2rem !important;
  line-height: 1.5 !important;
  white-space: normal !important;
  text-align: center;
  flex-wrap: wrap;
}
html.star2-r8:root :is(.btn-row, .h4-actions, .partner-actions, .more-service-links, .flow-line) { flex-wrap: wrap !important; gap: .7rem; min-width: 0; }
html.star2-r8:root main :is(.btn-row, .h4-actions, .partner-actions) > a { flex: 0 1 auto; }
html.star2-r8:root main :is(.core-service-grid, .service-detail-grid, .scenario-grid, .process-cards, .item-cards.six, .scope-grid, .benefit-grid, .inspection-grid, .compare-grid, .general-service-grid, .life-cards) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)) !important;
  gap: 1.15rem;
}
html.star2-r8:root main :is(.core-card-body, .service-card-body, .social-detail-copy, .panel, .notice-panel) { padding: 1.35rem; min-width: 0; }
html.star2-r8:root :is(.core-service-grid, .service-detail-grid, .scenario-grid, .h4-steps, .h4-stories, .journey-layout, .form-wrap, .partner-card, .split-content, .page-hero .container) > * { min-width: 0; }
html.star2-r8:root main .social-story-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.5rem), 1fr));
  margin-inline: 0;
  padding: 0;
  gap: 1.1rem;
  overflow: visible;
}
html.star2-r8:root main .social-story-card { min-width: 0; }
html.star2-r8:root main .social-story-card h3 :is(.h4-type-line, .h4-type-phrase) { width: auto; height: auto; border-radius: 0; background: none; }
html.star2-r8:root main .social-story-card > div { padding: 1rem; }
html.star2-r8:root main .social-story-card strong { font-size: 1rem; }
html.star2-r8:root .trust-item b { font-size: 1rem !important; }
html.star2-r8:root .trust-item small { font-size: .85rem !important; line-height: 1.65; }
html.star2-r8:root .trust-inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1rem; }
html.star2-r8:root .trust-item { min-width: 0; justify-content: flex-start !important; padding: .5rem 0; }
html.star2-r8:root .social-slogan { transform: none; font-size: 1rem !important; line-height: 1.6; padding: .4rem .9rem; background: #fff0c2; color: #79520b; border: 1px solid #edd499; box-shadow: none; }

/* Header: stable brand size, comfortable labels, expandable navigation. */
html.star2-r8:root .site-header { z-index: 500; }
html.star2-r8:root .site-header .header-inner { height: auto !important; min-height: 5rem; padding-block: .5rem; gap: 1.25rem; }
html.star2-r8:root .site-header .brand { min-width: 0; flex: 0 1 12rem; }
html.star2-r8:root .site-header .brand img { height: 3.2rem !important; max-height: 64px; width: auto; max-width: 100%; object-fit: contain; }
html.star2-r8:root .site-header .main-nav { gap: clamp(.45rem, 1.1vw, 1.15rem) !important; font-size: 1rem !important; flex-wrap: wrap; }
html.star2-r8:root .site-header :is(.main-nav > a, .services-trigger, .life-trigger) {
  height: auto !important;
  min-height: 2.75rem;
  padding: .5rem .3rem;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  font-weight: 750;
  white-space: normal !important;
  text-align: left !important;
}
html.star2-r8:root .site-header :is(.nav-services, .nav-life) { height: auto; min-width: 0; }
html.star2-r8:root .site-header .nav-cta { padding: .65rem 1.1rem !important; border-radius: .85rem !important; }
html.star2-r8:root .site-header a.social-nav-link {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: .25rem;
  padding: .55rem .8rem !important;
  border: 1px solid #d1e6d9;
  border-radius: .85rem;
  background: linear-gradient(135deg, #f1faf5, #fffdf5);
  color: #116441 !important;
  min-width: 0;
  max-width: 100%;
}
html.star2-r8:root .site-header a.social-nav-link::after { display: none; }
html.star2-r8:root .site-header a.social-nav-link small {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .08em .2em;
  max-width: 100%;
  margin: 0;
  padding: .15rem .45rem;
  border: 1px solid #e9d49a;
  border-radius: .45rem;
  background: #fff1c9;
  color: #79500b;
  font-size: .78rem !important;
  line-height: 1.55 !important;
  letter-spacing: .035em;
  font-weight: 700;
  white-space: normal !important;
}
html.star2-r8:root .site-header a.social-nav-link small::before { content: '✦'; flex: 0 0 auto; color: #a16b10; }
html.star2-r8:root .r8-badge-phrase { display: inline-block; max-width: 100%; white-space: normal; }
html.star2-r8:root .site-header .services-menu { top: 100%; width: min(36rem, calc(100vw - 2rem)); grid-template-columns: repeat(3, minmax(0, 1fr)); }
html.star2-r8:root .site-header .mega-menu { top: 100%; width: min(62rem, calc(100vw - 2rem)); padding: 1rem; }
html.star2-r8:root .site-header :is(.services-menu b, .mega-col > em.mega-title) { font-size: 1rem !important; line-height: 1.5 !important; white-space: normal !important; }
html.star2-r8:root .site-header :is(.services-menu small, .mega-col ul) { font-size: .85rem !important; line-height: 1.6 !important; }
html.star2-r8:root .site-header .mega-col { min-width: 0; padding: .7rem; }
html.star2-r8:root .site-header .mega-col > em.mega-title { display: flex !important; flex-wrap: wrap; margin: .3rem 0 .6rem !important; gap: .25rem !important; }
html.star2-r8:root .site-header .mega-col > em.mega-title :is(strong, span) { white-space: normal !important; min-width: 0; }
html.star2-r8:root .site-header .menu-btn { flex: 0 0 auto; width: 3rem; height: 3rem; max-width: 56px; max-height: 56px; min-width: 44px; min-height: 44px; padding: 0; }
html.star2-r8:root .site-header .menu-btn span { left: 25%; width: 50%; }
html.star2-r8:root .site-header .menu-btn span:nth-child(1) { top: 32%; }
html.star2-r8:root .site-header .menu-btn span:nth-child(2) { top: 49%; }
html.star2-r8:root .site-header .menu-btn span:nth-child(3) { top: 66%; }
html.star2-r8:root .site-header .menu-btn.active span:nth-child(1),
html.star2-r8:root .site-header .menu-btn.active span:nth-child(3) { top: 49%; }

/* Readable type must grow the scene instead of overflowing a fixed-height panel. */
html.star2-r8:root .h4-stage { min-height: 0; overflow: visible; }
html.star2-r8:root .h4-scene { min-height: 0; }
html.star2-r8:root .h4-scene.h4-measuring { min-height: 0 !important; }
html.star2-r8:root :is(.h4-b-layout, .h4-c-layout, .h4-d-layout) { min-height: 34rem; padding-block: 3rem; }
html.star2-r8:root .h4-a-content { min-height: 36rem; padding-block: 3rem 1.5rem; gap: 1.5rem; }
html.star2-r8:root .h4-a-copy { width: min(34rem, 60%); margin-bottom: 1rem; }
html.star2-r8:root .h4-a-bottom { position: static; display: flex; align-items: stretch; gap: .8rem; margin-top: 1rem; }
html.star2-r8:root .h4-a-flow { grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr)); padding: .8rem; gap: .8rem; }
html.star2-r8:root .h4-a-flow a { padding: .3rem; gap: .5rem; min-width: 0; border: 0; flex-wrap: wrap; text-align: center; }
html.star2-r8:root .h4-a-flow b { font-size: 1rem; line-height: 1.6; }
html.star2-r8:root .h4-a-flow small { display: block; }
html.star2-r8:root .h4-motion-button { flex-wrap: wrap; flex-direction: row; position: static !important; min-height: 2.75rem; height: auto; max-width: 100%; padding: .6rem .9rem; font-size: .9rem !important; white-space: normal; margin: 0 !important; align-self: center; }
html.star2-r8:root .h4-steps { grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)) !important; gap: 1rem; }
html.star2-r8:root .h4-step { padding: 1rem; }
html.star2-r8:root .h4-step-body { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: .65rem; }
html.star2-r8:root .h4-step img { position: static; width: 2.75rem; height: 2.75rem; max-width: 100%; }
html.star2-r8:root .h4-stories { display: grid; overflow: visible; padding: 0; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: 1rem; }
html.star2-r8:root .h4-story { min-width: 0; flex: initial; flex-wrap: wrap; padding: .8rem; }
html.star2-r8:root .h4-story-thumb { width: 5rem; max-width: 100%; }
html.star2-r8:root .h4-story > div:not(.h4-story-thumb) { flex: 1 1 9rem; min-width: 0; }
html.star2-r8:root :is(.h4-b-tags, .h4-stories-heading, .h4-film-footer, .h4-film-footer > div) { flex-wrap: wrap; }
html.star2-r8:root :is(.h4-b-tags, .h4-b-caption small, .h4-film-footer p, .h4-film-fineprint, .h4-video-notice) { font-size: .85rem !important; line-height: 1.7; }
html.star2-r8:root .h4-b-caption strong { font-size: 1rem; }
html.star2-r8:root .h4-switcher-inner { display: flex; padding-block: 1rem; flex-wrap: wrap; min-height: 0; gap: .8rem; }
html.star2-r8:root .h4-theme-buttons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); flex: 1 1 34rem; gap: .4rem; min-width: 0; }
html.star2-r8:root :is(.h4-theme-button, .h4-auto-button, .h4-switcher-label) { font-size: .9rem !important; line-height: 1.5; white-space: normal; min-width: 0; }
html.star2-r8:root .h4-theme-button { min-height: 2.75rem; padding: .5rem; flex-wrap: wrap; }
html.star2-r8:root .h4-theme-button b { flex: 0 0 auto; font-size: .8rem; width: 1.5rem; height: 1.5rem; }
html.star2-r8:root .h4-switcher-label small { font-size: .8rem; }
html.star2-r8:root .h4-auto-button { padding: .6rem .8rem; min-height: 2.75rem; }
html.star2-r8:root .h4-film-dialog { width: min(62rem, calc(100% - 1rem)); }
html.star2-r8:root .h4-film-header h2 { font-size: 1.2rem; }
html.star2-r8:root .h4-film-header span { font-size: .8rem; }
html.star2-r8:root .h4-film-header > div { min-width: 0; }
html.star2-r8:root .h4-film-dialog .h4-button { font-size: 1rem !important; white-space: normal; }

/* Footer follows the same base font and becomes fewer columns as text grows. */
html.star2-r8:root body .footer.star2-footer-v2 { font-size: 1rem; }
html.star2-r8:root body .footer.star2-footer-v2 .footer-grid { grid-template-columns: 1.6fr repeat(3, minmax(0, 1fr)); gap: 1.6rem; }
html.star2-r8:root body .footer.star2-footer-v2 .footer-company,
html.star2-r8:root body .footer.star2-footer-v2 .footer-company .company-name { font-size: 1.2rem !important; line-height: 1.6 !important; white-space: normal !important; }
html.star2-r8:root body .footer.star2-footer-v2 .footer-group h4 { font-size: 1.05rem; }
html.star2-r8:root body .footer.star2-footer-v2 a.footer-link { font-size: 1rem; }
html.star2-r8:root :is(a, button, input, textarea, select):focus-visible { outline: 3px solid #b37c14; outline-offset: 4px; }

/* JS bases this mode on available width AND actual rem size (including text-only zoom). */
html.star2-r8:root[data-star2-nav="compact"] .site-header .header-inner { min-height: 4rem; gap: .8rem; }
html.star2-r8:root[data-star2-nav="compact"] .site-header .brand { flex-basis: auto; max-width: 65%; }
html.star2-r8:root[data-star2-nav="compact"] .site-header .menu-btn { display: block !important; }
html.star2-r8:root[data-star2-nav="compact"] .site-header .main-nav {
  position: fixed !important;
  top: calc(var(--star2-header-height, 4.5rem) + .4rem) !important;
  left: 1rem !important;
  right: 1rem !important;
  width: auto !important;
  max-width: none !important;
  max-height: calc(100vh - var(--star2-header-height, 4.5rem) - 1.4rem) !important;
  max-height: calc(100dvh - var(--star2-header-height, 4.5rem) - 1.4rem) !important;
  margin: 0;
  padding: .65rem !important;
  display: flex !important;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: .5rem !important;
  transform: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  border: 1px solid #dceae1;
  border-radius: 1.1rem;
  background: #fcfefc;
  box-shadow: 0 18px 50px #102c2426;
  z-index: 120;
}
html.star2-r8:root[data-star2-nav="compact"] .site-header .main-nav.open { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; }
html.star2-r8:root[data-star2-nav="compact"] .site-header .main-nav > *,
html.star2-r8:root[data-star2-nav="compact"] .site-header :is(.nav-life, .nav-services) { width: 100%; min-width: 0; flex: 0 0 auto; }
html.star2-r8:root[data-star2-nav="compact"] .site-header :is(.main-nav > a, .services-trigger, .life-trigger) {
  width: 100%; min-height: 2.9rem !important; padding: .7rem .85rem !important; display: flex; align-items: center; justify-content: space-between; border-radius: .75rem; background: #f4f8f5; border: 1px solid #e3ece6;
}
html.star2-r8:root[data-star2-nav="compact"] .site-header .social-nav-link { background: linear-gradient(135deg, #edf8f1, #fffaf0); gap: .35rem; }
html.star2-r8:root[data-star2-nav="compact"] .site-header :is(.nav-life, .nav-services) { height: auto; display: block; }
html.star2-r8:root[data-star2-nav="compact"] .site-header .nav-cta { justify-content: center; }
html.star2-r8:root[data-star2-nav="compact"] .site-header :is(.main-nav > a, .services-trigger, .life-trigger)::after { display: none; }
html.star2-r8:root[data-star2-nav="compact"] .site-header :is(.mega-menu, .services-menu) {
  position: static !important; inset: auto !important; transform: none !important; width: 100% !important; min-width: 0; grid-template-columns: 1fr !important; display: none; padding: .5rem 0 0; margin: 0; opacity: 1; visibility: visible; pointer-events: auto; box-shadow: none; background: transparent; border: 0; gap: .5rem;
}
html.star2-r8:root[data-star2-nav="compact"] .site-header :is(.nav-life.open .mega-menu, .nav-services.open .services-menu) { display: grid !important; }
html.star2-r8:root[data-star2-nav="compact"] .site-header .mega-menu::before { display: none; }
html.star2-r8:root[data-star2-nav="compact"] .site-header :is(.mega-col, .services-menu > a:not(.services-all)) {
  display: grid !important; grid-template-columns: 2.6rem minmax(0, 1fr) !important; grid-template-areas: 'icon title' 'icon list' !important; gap: .15rem .7rem; padding: .75rem; min-width: 0; background: white; border: 1px solid #e0eae3; border-radius: .8rem; text-align: left;
}
html.star2-r8:root[data-star2-nav="compact"] .site-header .mega-col > em.mega-title { grid-area: title; justify-content: flex-start !important; text-align: left !important; margin: 0 !important; width: auto !important; }
html.star2-r8:root[data-star2-nav="compact"] .site-header .mega-col ul { grid-area: list; display: flex; flex-wrap: wrap; gap: .2rem .5rem; margin: .2rem 0 0; }
html.star2-r8:root[data-star2-nav="compact"] .site-header .mega-col img { display: none; }
html.star2-r8:root[data-star2-nav="compact"] .site-header :is(.mega-icon, .services-menu i) { grid-area: icon; width: 2.6rem; height: 2.6rem; font-size: 1.2rem; margin: 0; border-radius: .7rem; }
html.star2-r8:root[data-star2-nav="compact"] .site-header .services-menu b { grid-area: title; }
html.star2-r8:root[data-star2-nav="compact"] .site-header .services-menu small { grid-area: list; }
html.star2-r8:root[data-star2-nav="compact"] .site-header .services-menu .services-all { display: flex; flex-wrap: wrap; }
html.star2-r8:root[data-star2-nav="compact"] .mobile-nav-backdrop { display: block; position: fixed; inset: var(--star2-header-height, 4.5rem) 0 0; opacity: 0; pointer-events: none; z-index: 80; background: #10241840; }
html.star2-r8:root[data-star2-nav="compact"] body.mobile-menu-open .mobile-nav-backdrop { opacity: 1; pointer-events: auto; }
html.star2-r8:root[data-star2-nav="wide"] .site-header .menu-btn { display: none !important; }
html.star2-r8:root[data-star2-nav="wide"] .site-header .main-nav { position: static; display: flex; opacity: 1; visibility: visible; pointer-events: auto; transform: none; box-shadow: none; max-height: none; }

html.star2-r8:root[data-star2-nav="compact"] main :is(.page-hero .container, .journey-layout, .form-wrap, .split-content, .h4-b-layout, .h4-c-intro, .h4-d-intro, .social-repair-layout) { grid-template-columns: minmax(0, 1fr) !important; gap: 1.5rem; }
html.star2-r8:root[data-star2-nav="compact"] :is(.h4-b-layout, .h4-c-layout, .h4-d-layout) { min-height: 0; padding-block: 1.8rem; }
html.star2-r8:root[data-star2-nav="compact"] .h4-a-media { position: relative; inset: auto; width: 100%; aspect-ratio: 16/9; height: auto; max-height: none; }
html.star2-r8:root[data-star2-nav="compact"] .h4-a-shade { display: none; }
html.star2-r8:root[data-star2-nav="compact"] .h4-a-content { min-height: 0; padding-block: 1.6rem; gap: .75rem; }
html.star2-r8:root[data-star2-nav="compact"] .h4-a-copy { width: 100%; margin: 0; }
html.star2-r8:root[data-star2-nav="compact"] .h4-a-center-play { top: 0; left: 50%; transform: translate(-50%, -100%); height: calc(100vw * 9 / 16); max-height: none; justify-content: center; }
html.star2-r8:root[data-star2-nav="compact"] .h4-a-center-play > span:last-child { display: none; }
html.star2-r8:root[data-star2-nav="compact"] .h4-a-bottom { flex-direction: column; }
html.star2-r8:root[data-star2-nav="compact"] .h4-motion-button { align-self: flex-start; }
html.star2-r8:root[data-star2-nav="compact"] :is(.h4-title, .h4-description, .h4-a-copy) { text-align: left; }
html.star2-r8:root[data-star2-nav="compact"] .h4-actions { justify-content: flex-start; }
html.star2-r8:root[data-star2-nav="compact"] .h4-d-note { position: static; transform: none; max-width: 100%; margin-top: .6rem; font-size: 1rem; }
html.star2-r8:root[data-star2-nav="compact"] .h4-theme-buttons { grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr)); flex-basis: 100%; }
html.star2-r8:root[data-star2-nav="compact"] .partner-card { grid-template-columns: minmax(0, 1fr); }
html.star2-r8:root[data-star2-nav="compact"] .partner-cooperation { display: block; padding: 1.25rem; }
html.star2-r8:root[data-star2-nav="compact"] .partner-cooperation .btn-row { margin-top: 1rem; }
html.star2-r8:root[data-star2-nav="compact"] .form { grid-template-columns: minmax(0, 1fr); padding: 1.2rem; }
html.star2-r8:root[data-star2-nav="compact"] .journey-steps { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
html.star2-r8:root[data-star2-nav="compact"] body .footer.star2-footer-v2 .footer-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.75rem), 1fr)); }
html.star2-r8:root[data-star2-nav="compact"] body .footer.star2-footer-v2 :is(.footer-brand, .footer-quick) { grid-column: 1 / -1; }
html.star2-r8:root[data-star2-nav="compact"] body .footer.star2-footer-v2 .footer-quick .footer-links { grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); padding-right: 0; }
@media (prefers-reduced-motion: reduce) { html.star2-r8:root { scroll-behavior: auto; } }

/* Remove remaining fixed dimensions around supporting copy and controls. */
html.star2-r8:root :is(.h4-copy, .h4-step-body > div, .h4-b-caption > div, .h4-film-footer > div, .journey-steps li > div) { min-width: 0; }
html.star2-r8:root :is(.h4-film-footer > div, .h4-actions > a > span) { max-width: 100%; flex-shrink: 1; }
html.star2-r8:root .h4-a-flow small { font-size: .8rem; line-height: 1.6; }
html.star2-r8:root .h4-a-flow { min-width: 0; }
html.star2-r8:root .h4-floating-label { position: relative; inset: auto; width: fit-content; max-width: 100%; margin: 0 0 .6rem auto; font-size: .85rem; padding: .45rem .8rem; }
html.star2-r8:root .h4-b-visual { padding-top: 0; }
html.star2-r8:root .h4-caption-icon { flex: 0 0 2.3rem; }
html.star2-r8:root .h4-b-caption { flex-wrap: wrap; padding: 1rem; }
html.star2-r8:root .h4-b-caption > div { flex: 1 1 10rem; }
html.star2-r8:root .h4-stories-heading small { font-size: .8rem; }
html.star2-r8:root .h4-media.r8-media-card { aspect-ratio: auto; transform: none; }
html.star2-r8:root .h4-media.r8-media-card::after { display: none; }
html.star2-r8:root .r8-media-frame { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; }
html.star2-r8:root .r8-media-frame .h4-poster { height: 100%; width: 100%; object-fit: cover; }
html.star2-r8:root .r8-media-card .h4-film-tag { position: static; flex-wrap: wrap; background: #123b2c; padding: .65rem .9rem; font-size: .85rem !important; text-shadow: none; }
html.star2-r8:root .r8-media-card .h4-film-tag b { font-size: .8rem; }
html.star2-r8:root main :is(.hero-actions, .life-actions, .cta-row, .page-hero-actions, .social-section-head, .home-cta .container) { flex-wrap: wrap !important; min-width: 0; }
html.star2-r8:root main :is(.housing-tab, .item-cards b, .benefit-grid b, .timing-list b, .partner-logo, .social-capability-grid b, .core-card-body strong, .service-card strong, .life-card strong) { font-size: 1rem; line-height: 1.65; }
html.star2-r8:root main :is(.social-section-head > span, .scenario-grid > a > span, .compare-grid > article > span, .general-service-grid > a > span) { font-size: .85rem; }
html.star2-r8:root main :is(.housing-tabs, .social-capability-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
html.star2-r8:root main .housing-tab { min-width: 0; white-space: normal; padding: .9rem; }
html.star2-r8:root main .partner-logo { width: auto; height: auto; min-height: 3rem; max-width: 100%; padding: .5rem; }
html.star2-r8:root main .partner-actions { display: flex; flex-wrap: wrap; }
html.star2-r8:root main :is(input, select, textarea) { width: 100%; min-width: 0; max-width: 100%; }
html.star2-r8:root .social-story-card h3 :is(.h4-type-line, .h4-type-phrase) { color: inherit; font-weight: inherit; place-items: normal; }
html.star2-r8:root main .social-repair-copy h2 { font-size: clamp(1.6rem, 1.3rem + 1.1vw, 2.3rem); line-height: 1.5; }
html.star2-r8:root .footer.star2-footer-v2 { overflow: visible !important; }
html.star2-r8:root[data-star2-nav="compact"] body.mobile-menu-open { overflow: hidden; }
html.star2-r8:root[data-star2-nav="compact"] .h4-copy { text-align: left; }
html.star2-r8:root[data-star2-nav="compact"] .h4-stories { grid-template-columns: minmax(0, 1fr); }
html.star2-r8:root[data-star2-nav="compact"] .h4-step-body { grid-template-columns: minmax(0, 1fr); }
html.star2-r8:root[data-star2-nav="compact"] .h4-step img { width: 2.75rem; height: 2.75rem; }
html.star2-r8:root[data-star2-nav="compact"] .partner-logo { width: fit-content; min-width: 4rem; }
html.star2-r8:root[data-star2-nav="compact"] .form .full { grid-column: 1; }

/* A bottom action bar keeps readable labels clear of footer content on phones. */
html.star2-r8:root .star2-action-btn { width: auto !important; min-width: 3.5rem; max-width: 12rem; height: auto !important; min-height: 3.5rem; border-radius: 1rem !important; padding: .65rem .8rem; overflow: visible !important; gap: .3rem; }
html.star2-r8:root :is(.star2-action-booking span, .star2-chat-text) { font-size: .85rem !important; line-height: 1.5 !important; white-space: normal !important; text-align: center; letter-spacing: 0 !important; min-width: 0; }
html.star2-r8:root .star2-fixed-actions { z-index: 400 !important; }
html.star2-r8:root .star2-backtop { z-index: 400 !important; width: 44px !important; height: 44px !important; }
html.star2-r8:root .star2-backtop span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
html.star2-r8:root .star2-backtop::before { top: 13px; font-size: 24px; }
html.star2-r8:root[data-star2-nav="compact"] body { padding-bottom: var(--star2-action-height, 5rem); }
html.star2-r8:root[data-star2-nav="compact"] .star2-fixed-actions {
  inset: auto 0 0 !important; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem !important; align-items: stretch !important;
  padding: .55rem 1rem calc(.55rem + env(safe-area-inset-bottom, 0px)); background: #fffffff5; border-top: 1px solid #dce8e0; box-shadow: 0 -6px 25px #123b2c0d;
}
html.star2-r8:root[data-star2-nav="compact"] .star2-action-btn { min-width: 0; max-width: 100%; min-height: 2.75rem; flex-direction: row !important; flex-wrap: wrap; padding: .5rem .65rem; }
html.star2-r8:root[data-star2-nav="compact"] .star2-chat-icon { flex: 0 0 27px; }
html.star2-r8:root[data-star2-nav="compact"] .star2-backtop { right: .6rem !important; bottom: calc(var(--star2-action-height, 5rem) + .6rem) !important; }
html.star2-r8:root[data-star2-nav="compact"] body.mobile-menu-open :is(.star2-fixed-actions, .star2-backtop) { visibility: hidden !important; pointer-events: none !important; }

html.star2-r8:root[data-star2-nav="compact"] .mobile-nav-backdrop { bottom: auto; height: calc(100vh - var(--star2-header-height, 4.5rem)); height: calc(100dvh - var(--star2-header-height, 4.5rem)); }

html.star2-r8:root main :is(h1, h2, h3) :is(span, em, strong) { font-size: inherit; line-height: inherit; }
html.star2-r8:root main .life-card > em { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: .6rem; font-size: 1.15rem !important; line-height: 1.6 !important; white-space: normal !important; word-break: normal !important; overflow-wrap: anywhere !important; text-align: left !important; }
html.star2-r8:root main .life-card > em > strong { font-size: inherit !important; margin: 0 !important; }
html.star2-r8:root main .btn br { display: none; }
html.star2-r8:root[data-star2-nav="compact"] .h4-desktop-break { display: none; }
