/* FLOWTECH v0.21.0 — navigation, mobile service cards and readability */
html{scroll-padding-top:108px}
.site-header{position:fixed!important;top:0;left:0;right:0;width:100%;background:rgba(239,246,249,.9)!important;border-bottom:1px solid rgba(20,61,78,.09);box-shadow:0 10px 30px rgba(10,43,59,.045);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%)}
.menu-open .site-header{background:#edf4f7!important}
.mobile-sticky-cta{display:none}
.service-mobile-list{display:none}

/* SVG arrows stay identical on iOS, Android and desktop; no Unicode emoji glyphs are used. */
.ft-arrow{display:inline-flex;align-items:center;justify-content:center;width:1.45em;height:1.45em;flex:0 0 auto;line-height:0;color:currentColor}
.ft-arrow svg{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:square;stroke-linejoin:miter}
.ft-arrow-down svg{transform:rotate(135deg)}
.ft-arrow-right svg{transform:rotate(45deg)}
.ft-arrow-left svg{transform:rotate(225deg)}
.ft-arrow-up svg{transform:rotate(-45deg)}
.circle-arrow{display:inline-flex}.circle-arrow svg{width:20px;height:20px}
.service-switcher button .ft-arrow{width:24px;height:24px}
.header-contact>.ft-arrow,.mobile-contact-link>.ft-arrow,.mobile-sticky-contact>.ft-arrow{width:22px;height:22px}
.mobile-menu .primary-menu a:after,.footer-menu a:after,.facility-picker button[aria-selected=true]:after{content:"";display:inline-block;width:17px;height:17px;flex:0 0 17px;margin-left:10px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a6dfa' stroke-width='1.7'%3E%3Cpath d='M5 19L19 5M10 5h9v9'/%3E%3C/svg%3E")}

@media(max-width:760px){
  html{scroll-padding-top:87px}
  body{padding-bottom:78px}
  .site-header{height:75px!important;padding-inline:20px!important}
  .header-contact{display:none!important}
  .mobile-menu{inset:75px 0 76px!important;padding:25px 24px 36px!important;overflow-y:auto}
  .mobile-menu a{font-size:19px!important;padding:21px 0!important}

  .mobile-sticky-cta{position:fixed;display:grid;grid-template-columns:66px 1fr;gap:8px;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:80;padding:7px;background:rgba(241,247,249,.94);border:1px solid rgba(80,119,134,.23);box-shadow:0 12px 36px rgba(4,35,52,.2);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}
  .mobile-sticky-cta a{min-height:54px;display:flex;align-items:center;justify-content:center}
  .mobile-sticky-phone{flex-direction:column;gap:2px;background:#dcebf0;color:#143c4e;font-size:12px;font-weight:700}
  .mobile-sticky-phone svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .mobile-sticky-contact{justify-content:space-between!important;gap:14px;padding:8px 18px;background:#103b50;color:#fff}
  .mobile-sticky-contact>span{display:flex;flex-direction:column;gap:1px}
  .mobile-sticky-contact small{font-size:12px;line-height:1.35;color:#b9d8e4;letter-spacing:.03em}
  .mobile-sticky-contact strong{font-size:16px;line-height:1.4;letter-spacing:.02em}
  .mobile-sticky-contact .ui-arrow{color:#8ee0ef}

  .service-stage{min-height:auto!important;padding-bottom:48px!important}
  .service-live-scene{height:310px!important;mask-image:linear-gradient(transparent,#000 22%,#000 68%,transparent 100%)!important;-webkit-mask-image:linear-gradient(transparent,#000 22%,#000 68%,transparent 100%)!important}
  .service-switcher,.service-stage>.service-panel{display:none!important}
  .service-mobile-list{display:grid;gap:12px;margin-top:255px;position:relative;z-index:3}
  .service-mobile-list details{background:linear-gradient(135deg,rgba(20,67,91,.9),rgba(8,42,63,.96));border:1px solid rgba(137,201,222,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
  .service-mobile-list summary{list-style:none;display:grid;grid-template-columns:34px 1fr 25px;align-items:center;gap:11px;min-height:70px;padding:16px 18px;cursor:pointer}
  .service-mobile-list summary::-webkit-details-marker{display:none}
  .service-mobile-number{font:12px/1 Arial,sans-serif;color:#7dd5e9;letter-spacing:.08em}
  .service-mobile-list summary strong{font-size:18px;line-height:1.5;letter-spacing:-.02em}
  .service-card-toggle{width:18px;height:18px;position:relative}
  .service-card-toggle:before,.service-card-toggle:after{content:"";position:absolute;left:3px;top:8px;width:12px;height:1.5px;background:#92d9e8;transition:transform .25s ease}
  .service-card-toggle:after{transform:rotate(90deg)}
  .service-mobile-list details[open] .service-card-toggle:after{transform:rotate(0)}
  .service-mobile-detail{margin:0 18px 18px;padding:21px 0 4px 45px;border-top:1px solid rgba(144,205,224,.22)}
  .service-mobile-detail h3{font-size:21px;line-height:1.65;letter-spacing:-.035em}
  .service-mobile-detail p{font-size:14px;line-height:1.9;color:#c8dce4;margin-top:13px}
  .service-mobile-detail a{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:13px 0 9px;border-top:1px solid rgba(144,205,224,.18);font-size:13px;font-weight:700;color:#9adceb}

  /* Mobile readability floor for labels, notes and secondary information. */
  :is(.hero-purpose,.story-footer,.identity-audience,.facility-audience,.photo-credit,.area-photo-credit,.fac-credit,figcaption,.area-map figcaption,.area-map-note,.area-band p,.hours,.area-hours,.fac-hours,.fac-area,.footer-identity p,.footer-company p,.footer-company>a,.footer-bottom,.footer-bottom small,.breadcrumbs>*,.cutaway-note,.strength-index a,.strength-label,.odor-caption>*,.svc-flow-caption,.svc-flow-note,.svc-hero-contact>span,.svc-contact-methods p,.svc-area,.fac-photo-heading>p,.fac-service-links>p,.inquiry-hours,.inquiry-other small,.inquiry-hint,.inquiry-required-note,.inquiry-required-note>span,.inquiry-field label>small,.inquiry-field label>span,.inquiry-consent span,.inquiry-consent a,.info-eyebrow,.price-formula small,.promise-grid small,.price-note,.case-label,.article-meta){font-size:12px!important;line-height:1.7!important}
  :is(.text-link,.area-inline-link,.area-related a,.area-services-link,.inquiry-guide-link,.inquiry-closing a,.fac-service-links a,.fac-preparation summary){font-size:13px!important}
  .footer-menu a{font-size:14px!important}
  .area-base-panorama>img{object-position:57% 50%!important}
}

@media(max-width:370px){
  .service-mobile-list summary strong{font-size:16px}
  .service-mobile-detail{padding-left:34px}
  .mobile-sticky-contact{padding-inline:14px}
}

@media print{.mobile-sticky-cta{display:none!important}.site-header{position:static!important}}
