/* Commecial Kitchen Repair Service Global 24/7 — local design system.
   Recovered styles load first; this file owns the visual identity on every route. */
@font-face {
  font-family: "Kitchen Manrope";
  src: url("/assets/manrope-latin-wght-normal-DHIcAJRg.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
:root {
  --brand-navy: #102333;
  --brand-teal: #087c72;
  --brand-teal-hover: #075e56;
  --brand-mint: #23c7b5;
  --brand-orange: #ff7849;
  --brand-orange-hover: #f16b3d;
  --brand-action: var(--brand-navy);
  --brand-action-hover: #234859;
  --brand-action-text: #fff;
  --brand-paper: #f6f5ef;
  --brand-panel: #e9f2ee;
  --brand-line: #d9e0dc;
  --brand-muted: #52616b;
  --page-h1-size: clamp(1.95rem, 3.3vw, 3.6rem);
  --page-h1-line-height: 1.08;
  --font-ui: "Kitchen Manrope", Arial, sans-serif;
  --font-sans: var(--font-ui);
  --ink: var(--brand-navy);
  --blue: var(--brand-teal);
  --blue-hover: var(--brand-teal-hover);
  --cyan: var(--brand-mint);
  --muted: var(--brand-muted);
  --line: var(--brand-line);
  --pale: var(--brand-panel);
  --paper: #fff;
  --white: #fff;
  --dark-muted: #bdcdcF;
  --support-band: var(--brand-navy);
  --support-band-hover: #1c3d4c;
  --support-online: var(--brand-mint);
  --phone-emphasis: var(--brand-navy);
  --border-strong: #849790;
  --contact-tab: var(--brand-teal);
  --contact-tab-hover: var(--brand-teal-hover);
  --fire-flame: var(--brand-orange);
  --fire-flame-light: #ffd4bb;
  --fire-ember: var(--brand-orange);
  --fire-ember-hover: var(--brand-orange-hover);
  --fire-signal: var(--brand-teal);
  --fire-signal-hover: var(--brand-teal-hover);
  --fire-soot: var(--brand-navy);
  --fire-coal: #1c3746;
  --fire-steel: var(--brand-muted);
  --fire-smoke: var(--brand-paper);
  --fire-warm-panel: var(--brand-panel);
  --fire-ash-line: var(--brand-line);
  --header-h: 5.25rem;
  --radius-sm: .5rem;
  --radius-card: 1rem;
  --radius-large: 1.25rem;
  --shadow: 0 16px 48px rgb(16 35 51 / 9%);
  color: var(--brand-navy);
  background: var(--brand-paper);
}
html { font-family: var(--font-ui); scroll-padding-top: calc(var(--header-h) + 1rem); }
body { background: var(--brand-paper); color: var(--brand-navy); font-family: var(--font-ui); line-height: 1.65; }
::selection { background: #a0ecdf; color: var(--brand-navy); }
a, button, summary { -webkit-tap-highlight-color: transparent; }
a, button { transition: color .18s, background-color .18s, border-color .18s, box-shadow .18s; }
:focus-visible { outline: 3px solid var(--brand-teal); outline-offset: 4px; }
main { overflow: clip; }
.wrap { width: min(1320px, calc(100% - 96px)); margin-inline: auto; }
.section { padding-block: clamp(3.5rem, 6vw, 6.5rem); }
h1 { font-size: var(--page-h1-size) !important; line-height: var(--page-h1-line-height) !important; font-weight: 800 !important; letter-spacing: -.045em; color: var(--brand-navy); }
h2 { font-size: clamp(1.7rem, 2.6vw, 2.8rem); line-height: 1.15; font-weight: 800; letter-spacing: -.035em; }
h3 { line-height: 1.3; font-weight: 750; letter-spacing: -.02em; }
p { line-height: 1.7; }
.eyebrow, .fire-page .eyebrow { color: var(--brand-teal); letter-spacing: .13em; font-size: .7rem; font-weight: 800; margin-bottom: .9rem; }
.breadcrumb { color: var(--brand-muted); font-size: .76rem; font-weight: 650; line-height: 1.6; margin-bottom: 1rem; }
.breadcrumb a { text-decoration: underline; text-decoration-color: #a1b4ad; text-underline-offset: 3px; }
.fire-page { --fire-red: var(--brand-teal); --fire-orange: var(--brand-orange); --fire-ink: var(--brand-navy); }

/* A quiet, legible navigation gives the equipment and the brand room to speak. */
.header-sticky, .header-refresh { background: #fff; border: 0; border-bottom: 1px solid var(--brand-line); box-shadow: none; }
.header { min-height: var(--header-h); gap: 2rem; }
.brand.fire-brand { width: 255px; max-width: 29%; margin-right: auto; }
.brand.fire-brand img { width: 100%; height: auto; max-height: 58px; object-fit: contain; filter: none; }
.header > nav { gap: clamp(.8rem, 1.5vw, 1.4rem); font-size: .78rem; font-weight: 750; }
.header > nav > a, .header .services-trigger { min-height: 44px; color: var(--brand-navy); border: 0; position: relative; padding: .55rem 0; }
.header > nav > a[aria-current="page"] { color: var(--brand-teal); }
.header > nav > a[aria-current="page"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: 1px; height: 2px; background: var(--brand-teal); }
.header-sticky.header-refresh .header > nav > a[href="/contact-us/"] { color: var(--brand-action-text); background: var(--brand-action); padding: .6rem 1rem; border-radius: .4rem; font-weight: 800; }
.header-sticky.header-refresh .header > nav > a[href="/contact-us/"]:hover { background: var(--brand-action-hover); color: var(--brand-action-text); }
.header-sticky.header-refresh .header > nav > a[href="/contact-us/"] .cta-icon { color: #7ee6d9; }
.header-sticky.header-refresh .header > nav > a[href="/contact-us/"][aria-current="page"]::after { content: none; }
.header .services-trigger { display: inline-flex; align-items: center; gap: .4rem; }
.header .services-trigger > .nav-chevron { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 16px; height: 16px; margin: 0; font-size: 0; line-height: 1; color: var(--brand-teal); transform: rotate(0deg); transform-origin: center; }
.header .services-trigger > span::before { content: none; }
.header .services-trigger > .nav-chevron svg { display: block; width: 16px; height: 16px; }
.header .services-nav[open] .services-trigger > .nav-chevron { transform: rotate(180deg); }
.scroll-progress { background: var(--brand-teal); height: 2px; }
.fire-services-panel { left: auto; right: 0; width: min(34rem, 90vw); padding: .6rem; border: 1px solid var(--brand-line); border-top: 3px solid var(--brand-orange); border-radius: .8rem; box-shadow: var(--shadow); transform: translateY(.5rem); }
.services-nav[open] .fire-services-panel { transform: translateY(0); }
.services-panel-heading { border-radius: .45rem; padding: 1.1rem 1.2rem; background: var(--brand-navy); }
.services-panel-heading span { color: var(--brand-mint); }
.services-panel-heading strong { font-size: 1rem; }
.header-sticky.header-refresh .services-panel-heading strong { color: #fff; }
.fire-services-panel .service-submenu-links { grid-template-columns: 1fr; gap: .25rem; padding-top: .5rem; }
.fire-services-panel .service-submenu-links a { padding: .9rem 1.2rem; border: 0; border-radius: .45rem; background: #fff; font-size: .83rem; }
.fire-services-panel .service-submenu-links a:hover { color: var(--brand-teal); background: var(--brand-panel); }
.mobile-nav > summary { display: flex; justify-content: center; align-items: center; gap: .7rem; border-color: var(--brand-line); border-radius: .4rem; background: var(--brand-paper); color: var(--brand-navy); font-size: .78rem; font-weight: 800; }
.mobile-nav nav { background: #fff; border-color: var(--brand-line); padding: 1rem 1.4rem; box-shadow: var(--shadow); }
.mobile-nav nav a { padding-block: .7rem; font-size: .9rem; line-height: 1.45; }
.header-sticky.header-refresh .mobile-nav nav a[href="/contact-us/"] { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .7rem 1rem; background: var(--brand-action); color: var(--brand-action-text); border-radius: .4rem; font-weight: 800; }
.header-sticky.header-refresh .mobile-nav nav a[href="/contact-us/"]:hover { background: var(--brand-action-hover); color: var(--brand-action-text); }
.header-sticky.header-refresh .mobile-nav nav a[href="/contact-us/"] .cta-icon { color: #7ee6d9; }
.header-sticky.header-refresh .header > nav > a[href="/contact-us/"]:focus-visible,
.header-sticky.header-refresh .mobile-nav nav a[href="/contact-us/"]:focus-visible { outline: 3px solid var(--brand-teal); outline-offset: 4px; }

/* Consistent actions throughout hero, forms, maps, and planning content. */
.button, .home-primary, .calculator-calculate, .fire-page .button, .fire-page .home-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: .8rem; min-height: 50px; padding: .85rem 1.3rem;
  border: 1px solid transparent; border-radius: .45rem; color: var(--brand-action-text); background: var(--brand-action); font-size: .85rem; font-weight: 800; line-height: 1.4; box-shadow: none;
}
.button:hover, .home-primary:hover, .calculator-calculate:hover, .fire-page .button:hover, .fire-page .home-primary:hover { background: var(--brand-action-hover); color: var(--brand-action-text); box-shadow: 0 5px 16px rgb(16 35 51 / 16%); }
.button:disabled { cursor: not-allowed; opacity: .5; box-shadow: none; }
.button-secondary, .fire-page .button-secondary, .home-secondary, .fire-page .home-secondary { background: transparent; color: var(--brand-navy); border: 1px solid #a6b5ae; border-radius: .45rem; box-shadow: none; font-weight: 800; }
.button-secondary:hover, .fire-page .button-secondary:hover, .home-secondary:hover, .fire-page .home-secondary:hover { border-color: var(--brand-teal); background: var(--brand-panel); color: var(--brand-teal-hover); box-shadow: none; }
.home-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: .8rem 1.2rem; font-size: .85rem; }

/* Every service, geography, and resource page uses the same heading scale. */
.rental-hero, .fire-hero, .fire-utility-hero, .location-hero, .region-hero, .city-hero, .model-hero, .about-hero, .blog-hero, .industry-hero, .secondary-hero {
  padding-block: clamp(2.5rem, 5.5vw, 5rem); background: var(--brand-paper); color: var(--brand-navy); border-bottom: 1px solid var(--brand-line);
}
.rental-hero-grid { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: clamp(2rem, 4.5vw, 4.75rem); align-items: center; }
.rental-hero-copy h1, .fire-hero .rental-hero-copy h1 { color: var(--brand-navy); max-width: 22ch; }
.rental-hero-copy > p, .fire-hero .rental-hero-copy > p { max-width: 62ch; margin-top: 1.25rem; color: var(--brand-muted); font-size: .95rem; line-height: 1.8; }
.hero-kicker, .fire-page .hero-kicker { color: var(--brand-teal); background: transparent; border: 0; border-radius: 0; padding: 0; margin-bottom: 1.25rem; font-size: .64rem; letter-spacing: .11em; line-height: 1.5; }
.hero-kicker > span { width: 7px; height: 7px; background: var(--brand-teal); }
.hero-orbit { display: none; }
.rental-hero-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: .75rem; margin-top: 1.6rem; }
.fire-proof { display: flex; gap: clamp(1rem, 2vw, 2rem); border-top: 1px solid var(--brand-line); padding-top: 1.25rem; margin-top: 1.8rem; }
.fire-proof dt { color: var(--brand-teal); font-size: 1.12rem; font-weight: 800; line-height: 1.2; }
.fire-proof dd { color: var(--brand-muted); font-size: .64rem; letter-spacing: .035em; margin-top: .4rem; }
.rental-hero-photo, .region-hero-visual, .location-hero-visual, .city-hero figure, .model-hero figure, .industry-hero figure, .fire-service-area-hero-carousel { overflow: hidden; border-radius: 1rem; box-shadow: 0 18px 38px rgb(16 35 51 / 10%); }
.rental-hero-photo, .fire-hero-photo, .fire-page-hero-photo { background: var(--brand-navy); border-radius: 1rem; }
.fire-hero-photo img, .fire-page-hero-photo > img { height: 430px; min-height: 0; width: 100%; object-fit: cover; }
.fire-page-hero-photo figcaption, .rental-hero-photo figcaption, .region-hero-visual figcaption, .location-hero-visual figcaption, .city-hero figcaption, .model-hero figcaption, .industry-hero figcaption { padding: .9rem 1.2rem; background: var(--brand-navy); color: #e7f2f1; font-size: .76rem; line-height: 1.5; }
.fire-home-core-media, .fire-state-page-media { gap: .7rem; min-height: 410px; }
.fire-state-page-media { height: 470px; }
.fire-home-core-media figure, .fire-state-page-media figure, .fire-state-core-media figure { overflow: hidden; border: 0; border-radius: .9rem; background: #fff; box-shadow: 0 12px 28px rgb(16 35 51 / 8%); }
.fire-home-core-media img, .fire-state-page-media img { min-height: 0; }
.fire-home-core-media figcaption, .fire-state-page-media figcaption, .fire-state-core-media figcaption { display: grid; gap: .3rem; padding: .85rem 1rem; color: var(--brand-muted); background: #fff; font-size: .66rem; }
.fire-home-core-media figcaption small, .fire-state-page-media figcaption small { font-size: .56rem; letter-spacing: .06em; }
.fire-home-core-media figcaption strong, .fire-state-page-media figcaption strong, .fire-state-core-media figcaption strong { color: var(--brand-navy); font-size: .75rem; font-weight: 800; }
.fire-state-core-family-tags { margin-top: 1rem; gap: .45rem; }
.fire-state-core-family-tags span { padding: .45rem .8rem; color: var(--brand-teal-hover); background: var(--brand-panel); border-color: var(--brand-line); font-size: .66rem; }

/* Equipment becomes a useful catalog; editorial content stays easy to read. */
.home-services { padding-block: clamp(3.5rem, 6vw, 6rem); }
.home-section-heading { gap: 3rem; margin-bottom: 2.25rem; align-items: end; }
.home-section-heading h2 { max-width: 25ch; }
.home-section-heading > p { max-width: 51ch; font-size: .91rem; line-height: 1.8; color: var(--brand-muted); }
.fire-equipment-grid { gap: 1.2rem; }
.fire-equipment-grid a { padding: .7rem .7rem 1.4rem; background: #fff; border: 1px solid var(--brand-line); border-radius: 1rem; box-shadow: none; overflow: hidden; }
.fire-equipment-grid a > span:not(.cta-icon) { position: absolute; top: 1.3rem; left: 1.3rem; display: grid; place-items: center; width: 2rem; height: 2rem; color: var(--brand-navy); background: #fff; border-radius: .35rem; font-size: .67rem; z-index: 1; }
.fire-equipment-grid img { border-radius: .6rem; aspect-ratio: 4/3; }
.fire-equipment-grid h3 { font-size: 1.05rem; margin: 1.1rem .55rem .5rem; line-height: 1.4; }
.fire-equipment-grid p { margin-inline: .55rem; font-size: .83rem; line-height: 1.75; color: var(--brand-muted); }
.fire-equipment-grid a:hover { border-color: var(--brand-teal); box-shadow: 0 8px 26px rgb(16 35 51 / 7%); }
.fire-home-support-links article, .fire-state-core-grid article, .fire-state-context-grid article, .fire-related article, .home-card, .home-service-card, .home-plan-card, .home-step, .home-resource-card, .secondary-card, .article-card, .model-card, .city-card, .region-card, .location-card, .contact-card { border: 1px solid var(--brand-line); border-radius: .9rem; background: #fff; box-shadow: none; }
.fire-home .fire-home-support-links article { padding: 1.5rem; border-color: var(--brand-line); background: #fff; border-radius: 1rem; }
.fire-home .fire-home-support-links a, .fire-state-core-grid a { color: var(--brand-teal); }
.fire-home .fire-home-support-links a:hover { color: var(--brand-teal-hover); }
.fire-scope { gap: clamp(2rem, 6vw, 6rem); }
.fire-scope p, .fire-article > div > p, .fire-article li { color: var(--brand-muted); font-size: .97rem; line-height: 1.85; }
.fire-scope h2 { max-width: 22ch; }
.fire-state-context-grid article, .fire-state-core-grid article { padding: 1.5rem; }
.fire-state-core-grid article > span { width: 2rem; height: 2rem; background: var(--brand-panel); color: var(--brand-teal); border-radius: .5rem; }
.fire-state-context-grid h3, .fire-state-core-grid h3 { font-size: 1.08rem; }
.fire-state-context-grid p, .fire-state-core-grid p { color: var(--brand-muted); font-size: .87rem; line-height: 1.8; }
.fire-state-core-checks p { border: 1px solid var(--brand-line); background: #fff; color: var(--brand-muted); border-radius: .6rem; }
.fire-related { gap: 1rem; }
.fire-related a { border: 1px solid var(--brand-line); border-radius: .7rem; padding: 1.3rem; background: #fff; }
.fire-related a:hover { border-color: var(--brand-teal); background: #f0f8f4; }
.fire-related a strong { font-size: 1rem; line-height: 1.4; }
.fire-related small { color: var(--brand-teal); font-size: .63rem; font-weight: 800; margin-bottom: .5rem; }
.fire-related article { padding: 1.6rem; }
.fire-related article h3 { font-size: 1.03rem; }
.fire-related article p { color: var(--brand-muted); font-size: .88rem; line-height: 1.8; margin-top: .7rem; }
.fire-article { gap: clamp(2rem, 5vw, 5rem); }
.fire-article h2 { margin-bottom: 1.3rem; }
.fire-article h3 { margin-top: 2rem; margin-bottom: .8rem; font-size: 1.25rem; }
.fire-article aside { align-self: start; padding: 1.6rem; border: 1px solid var(--brand-line); border-top: 3px solid var(--brand-teal); border-left-width: 1px; border-radius: .7rem; background: #fff; }
.fire-article aside h2 { font-size: 1.25rem; }
.fire-article aside p { font-size: .84rem; color: var(--brand-muted); }

/* Bold navy sections mark changes of task, without competing with the equipment. */
.fire-checklist, .home-dark, .home-coverage { background: var(--brand-navy); color: #fff; }
.fire-checklist .eyebrow, .home-dark .eyebrow, .home-coverage .eyebrow { color: var(--brand-mint); }
.fire-checklist .home-section-heading > p, .fire-checklist p, .home-dark p, .home-coverage p { color: #bbccd0; }
.fire-check-grid { gap: 1rem; }
.fire-check-grid article { padding: 1.7rem; border: 1px solid #3b5160; border-radius: .7rem; background: #172e3e; }
.fire-check-grid article > span { color: var(--brand-orange); font-size: .72rem; letter-spacing: .04em; }
.fire-check-grid h3 { font-size: 1.07rem; margin: 1rem 0 .75rem; }
.fire-check-grid p { font-size: .83rem; line-height: 1.8; }
.home-process { background: var(--brand-panel); color: var(--brand-navy); padding-block: clamp(3.5rem, 6vw, 6rem); }
.home-process::before { content: none; }
.home-process .eyebrow { color: var(--brand-teal); }
.home-process .home-section-heading > p { color: var(--brand-muted); }
.home-process .rental-process-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.home-process .rental-process-steps li { padding: 1.5rem; border: 1px solid #cfded4; border-radius: .75rem; background: #fff; }
.process-step-top b { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; background: var(--brand-teal); color: #fff; border-radius: .55rem; font-size: .73rem; }
.rental-process-steps h3 { font-size: 1.1rem; margin-block: 1.25rem .6rem; }
.rental-process-steps p { font-size: .84rem; line-height: 1.8; color: var(--brand-muted); }

/* Gallery behavior and controls are retained, with clearer chrome. */
.fire-gallery-group { border-top-color: var(--brand-line); }
.fire-gallery-group h3 { margin-bottom: 1.2rem; }
.service-carousel-viewport { border-radius: .8rem; background: #dce4de; }
.service-carousel-overlay { background: linear-gradient(transparent, rgb(16 35 51 / 92%)); }
.service-carousel-slide figcaption { color: #fff; background: transparent; line-height: 1.5; }
.service-carousel-zoom-hint { color: var(--brand-navy); background: #fff; border: 0; border-radius: .4rem; font-weight: 800; font-size: .68rem; }
.service-carousel-arrow { color: var(--brand-navy); background: #fff; border-color: #fff; box-shadow: 0 4px 15px rgb(16 35 51 / 15%); }
.service-carousel-arrow:hover { background: var(--brand-mint); border-color: var(--brand-mint); }
.service-carousel-toggle, .service-carousel-controls button { color: var(--brand-navy); border-color: var(--brand-line); background: #fff; border-radius: .4rem; }
.service-carousel-status { color: var(--brand-muted); font-size: .75rem; }
.service-carousel-thumbnails button { border-radius: .4rem; overflow: hidden; border-color: transparent; }
.service-carousel-thumbnails button[aria-current="true"] { border-color: var(--brand-teal); box-shadow: 0 0 0 2px var(--brand-teal); }

/* Nationwide coverage: a recognizable map and practical state directory. */
.fire-coverage-map { border: 1px solid var(--brand-line); border-radius: 1.2rem; padding: 2rem; background: #fff; color: var(--brand-navy); }
.fire-map-heading { align-items: start; }
.fire-map-heading h2 { font-size: clamp(1.7rem, 2.6vw, 2.8rem); margin-bottom: 1.5rem; }
.fire-map-heading > strong { flex: none; padding: .5rem .8rem; border-radius: 100px; background: var(--brand-panel); color: var(--brand-teal-hover); font-size: .69rem; }
.fire-map-stage, .fire-map-dialog .map-large-scroll { background: #eaf1e8; border-radius: .7rem; }
.fire-map-shadow path { fill: #a8bcb0; }
.fire-map-states path { fill: #4e7a70; stroke: #eaf1e8; stroke-width: 1.3; }
.fire-map-states a:hover path, .fire-map-states a:focus path { fill: var(--brand-orange); }
.fire-map-labels text { fill: #fff; stroke: #365d55; stroke-width: 2px; paint-order: stroke fill; }
.fire-map-labels .fire-map-callout text { fill: var(--brand-navy); stroke: transparent; }
.fire-map-leader { stroke: var(--brand-navy); }
.fire-map-leader-point { fill: var(--brand-navy); }
.fire-map-callout-surface { fill: #fff; stroke: #aabeb4; }
.fire-map-controls { gap: 1rem; margin-top: 1.2rem; }
.fire-map-controls label { color: var(--brand-muted); font-size: .8rem; }
.fire-map-controls select { border: 1px solid var(--brand-line); border-radius: .4rem; color: var(--brand-navy); background: #fff; font-size: .8rem; }
.fire-map-controls button { border: 0; border-radius: .4rem; color: var(--brand-action-text); background: var(--brand-action); font-size: .8rem; font-weight: 800; }
.fire-map-controls button:hover { background: var(--brand-action-hover); color: var(--brand-action-text); }
.fire-coverage-map figcaption { color: var(--brand-muted); font-size: .76rem; margin-top: 1.1rem; }
.fire-area-directory { gap: .8rem; }
.fire-area-directory a { padding: 1.1rem 1.2rem; border: 1px solid var(--brand-line); border-radius: .55rem; background: #fff; font-size: .84rem; font-weight: 750; }
.fire-area-directory a:hover { color: var(--brand-teal); border-color: var(--brand-teal); background: var(--brand-panel); }
.coverage-map, .state-preview-dialog, .coverage-map .map-dialog { background: #fff; border-color: var(--brand-line); border-radius: 1rem; }
.coverage-map .coverage-map-topline > strong { color: var(--brand-teal-hover); background: var(--brand-panel); }
.coverage-map .map-depth { fill: #a8bcb0; stroke: #a8bcb0; }
.coverage-map .map-land path { fill: #83b3a5; stroke: #fff; }
.coverage-map .map-land path:hover, .coverage-map .map-land path[role="button"]:focus-visible { fill: var(--brand-orange); }
.coverage-map .map-callout-surface { fill: #fff; stroke: #aabeb4; }
.coverage-map .map-leader { stroke: var(--brand-teal); }
.fire-state-dialog, .fire-map-dialog { padding: 1.75rem; border: 0; border-top: 4px solid var(--brand-orange); border-radius: 1rem; background: var(--brand-paper); color: var(--brand-navy); box-shadow: 0 24px 80px rgb(16 35 51 / 25%); }
.fire-state-dialog h1 { color: var(--brand-navy); }
.fire-state-dialog h2 { font-size: clamp(1.6rem, 3vw, 2.5rem); line-height: 1.15; }
.fire-state-dialog-close { color: var(--brand-navy); background: #fff; border-radius: 50%; width: 40px; height: 40px; }
.fire-state-dialog-note { background: var(--brand-panel); border-left-color: var(--brand-teal); border-radius: .4rem; font-size: .8rem; }
.fire-state-dialog-navigation button { border-color: var(--brand-line); border-radius: .4rem; color: var(--brand-navy); font-size: .75rem; background: #fff; }
.fire-state-dialog-position { font-size: .72rem; color: var(--brand-muted); }
.fire-state-dialog-dots button { background: #afc1b7; }
.fire-state-dialog-dots button[aria-current="true"] { background: var(--brand-teal); outline-color: var(--brand-navy); }
.fire-state-dialog-actions > a:not(.button), .fire-state-dialog-copy .eyebrow { color: var(--brand-teal); }
.fire-state-dialog .location-image-gallery figcaption { color: var(--brand-muted); }

/* Calculator and request forms remain complete, with a deliberate work surface. */
.calculator-hero { background: var(--brand-navy); color: #fff; padding-block: clamp(2.5rem, 5.5vw, 5rem); }
.calculator-hero h1 { color: #fff; }
.calculator-hero p, .calculator-hero .breadcrumb { color: #bdccd0; }
.calculator-hero .eyebrow { color: var(--brand-mint); }
.calculator-hero-grid { align-items: center; }
.calculator-hero-side { display: grid; gap: 1.5rem; align-self: center; width: 100%; max-width: 430px; justify-self: end; }
.calculator-plan-card { padding: 1.6rem; border: 1px solid #3b5867; border-radius: 1rem; background: #183443; box-shadow: 0 16px 36px rgb(0 0 0 / 12%); }
.calculator-plan-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.calculator-plan-header .eyebrow { margin: 0; font-size: .58rem; letter-spacing: .1em; }
.calculator-plan-header > .cta-icon { width: 32px; height: 32px; margin: 0; border-radius: .5rem; color: #7ee6d9; background: #244b58; }
.calculator-plan-card h2 { margin: 1rem 0 1.25rem; color: #fff; font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1.15; }
.calculator-plan-steps { display: grid; gap: 1rem; list-style: none; margin: 0; padding: 0; }
.calculator-plan-steps li { display: flex; align-items: center; gap: .8rem; }
.calculator-plan-steps li > span { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border: 1px solid #547580; border-radius: 50%; color: #7ee6d9; font-size: .64rem; font-weight: 800; }
.calculator-plan-steps strong { display: block; color: #fff; font-size: .8rem; font-weight: 800; }
.calculator-hero .calculator-plan-steps p { margin: .15rem 0 0; color: #c3d5db; font-size: .73rem; line-height: 1.5; }
.calculator-plan-summary { display: flex; align-items: center; gap: .5rem; margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid #3b5867; color: #7ee6d9; font-size: .69rem; font-weight: 750; }
.calculator-plan-summary > .cta-icon { margin: 0; }
.calculator-callout { border-left-color: var(--brand-orange); }
.calculator-callout p { font-size: .87rem; }
.calculator-workspace { gap: 1.5rem; align-items: start; }
.calculator-form-card { border: 1px solid var(--brand-line); border-radius: 1rem; padding: clamp(1.4rem, 3vw, 2.5rem); background: #fff; box-shadow: none; }
.calculator-form-card h2 { font-size: 1.75rem; }
.calculator-home-intro, .calculator-estimate-help, .calculator-privacy, .calculator-quote-section > p { color: var(--brand-muted); font-size: .82rem; line-height: 1.75; }
.calculator-fields { gap: 1.1rem; }
.calculator-fields label, .quote-form label { color: var(--brand-navy); font-size: .8rem; font-weight: 750; gap: .45rem; }
input, select, textarea, .calculator-input, .calculator-select { color: var(--brand-navy); background: #fff; border: 1px solid #bac7bf; border-radius: .4rem; min-height: 48px; padding: .75rem .9rem; font-size: .85rem; line-height: 1.45; }
input:focus, select:focus, textarea:focus, .calculator-input:focus, .calculator-select:focus { outline: none; border-color: var(--brand-teal); box-shadow: 0 0 0 3px rgb(8 124 114 / 14%); }
input:disabled, select:disabled { color: #6e7b72; background: #f1f3ef; cursor: not-allowed; opacity: 1; }
input[type="checkbox"] { accent-color: var(--brand-teal); min-height: 0; padding: 0; }
input[type="date"] { min-width: 0; }
input::placeholder, textarea::placeholder { color: #7b877e; font-weight: 450; }
.field-optional, .field-label small { color: #64766b; font-size: .68rem; font-weight: 500; }
.calculator-calculate { width: 100%; margin-top: 1.4rem; }
.calculator-quote-section { border-top-color: var(--brand-line); margin-top: 2rem; padding-top: 1.7rem; }
.calculator-quote-section legend { font-size: 1.05rem; font-weight: 800; }
.calculator-consent, .consent { align-items: start; line-height: 1.6; }
.calculator-consent span, .consent span { color: var(--brand-muted); font-size: .76rem; font-weight: 500; }
.calculator-consent a, .consent a { color: var(--brand-teal); text-decoration: underline; text-underline-offset: 3px; }
.calculator-result-card { position: sticky; top: calc(var(--header-h) + 1.5rem); padding: 2rem; border: 1px solid #c3d8c9; border-radius: 1rem; background: var(--brand-panel); box-shadow: none; }
.calculator-result-card .eyebrow { color: var(--brand-teal); }
.calculator-total { font-size: clamp(1.6rem, 2.5vw, 2.5rem); color: var(--brand-navy); line-height: 1.25; font-weight: 800; letter-spacing: -.04em; }
.calculator-result-card dl div { border-color: #c7dace; font-size: .83rem; }
.calculator-result-card dt, .calculator-result-card [data-estimate-message] { color: var(--brand-muted); }
.calculator-result-card [data-estimate-message] { font-size: .82rem; line-height: 1.75; }
.calculator-phone { color: var(--brand-teal-hover); font-size: .91rem; line-height: 1.5; }
.calculator-details-link { color: var(--brand-teal); font-size: .75rem; }
.calculator-request-quote { margin-top: 1rem; }
.calculator-quote-section .calculator-external-quote { display: flex; width: fit-content; margin: .75rem 0 0; min-height: auto; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--brand-teal-hover); font-size: .75rem; text-align: left; text-decoration: underline; text-underline-offset: 3px; }
.calculator-quote-section .calculator-external-quote:hover { background: transparent; color: var(--brand-navy); }
.form-status.success, .calculator-submit-status.success { color: var(--brand-teal-hover); }
.form-status.error, .calculator-submit-status.error { color: #a42e16; }
.form-status.sending, .calculator-submit-status.sending { color: var(--brand-muted); }
.price-table-wrap { border: 1px solid var(--brand-line); border-radius: .8rem; background: #fff; }
.price-table-wrap th { color: var(--brand-navy); background: var(--brand-panel); font-size: .75rem; }
.price-table-wrap td { border-color: var(--brand-line); font-size: .84rem; }
.calculator-state-list { align-items: start; }
.calculator-state-list a { color: var(--brand-teal); background: #fff; border-color: var(--brand-line); border-radius: .5rem; }
.contact-grid { gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.contact-grid h1 { max-width: 20ch; }
.contact-grid > div:first-child > p { color: var(--brand-muted); font-size: .94rem; line-height: 1.8; }
.contact-call { padding: 2rem; border: 1px solid var(--brand-line); border-radius: 1rem; background: #fff; }
.contact-call h2 { font-size: 1.55rem; }
.kr-site .contact-call h2 { color: var(--brand-navy); }
.kr-site .contact-call .eyebrow { color: var(--brand-teal); }
.contact-call p { color: var(--brand-muted); font-size: .87rem; }
.contact-grid .phone-link { background: transparent; color: var(--brand-teal); font-size: clamp(1.45rem, 2.5vw, 2rem); }
.narrow { max-width: 850px; }
.narrow h1 { margin-block: 1rem 1.5rem; }
.narrow > p { color: var(--brand-muted); line-height: 1.85; }
.narrow h2 { font-size: 1.6rem; margin-block: 2.5rem 1rem; }
.contact-drawer { background: var(--brand-paper); }
.contact-drawer::backdrop, .fire-state-dialog::backdrop, .map-dialog::backdrop { background: rgb(16 35 51 / 65%); backdrop-filter: blur(4px); }
.contact-drawer-call { background: var(--brand-navy); color: #fff; padding-inline: 1.7rem; }
.contact-drawer-call > span { color: var(--brand-mint); font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.contact-drawer-header { padding: 1.6rem 1.7rem; border-bottom-color: var(--brand-line); background: #fff; }
.contact-drawer-kicker { color: var(--brand-teal); font-size: .64rem; font-weight: 800; }
.contact-drawer-header h2 { color: var(--brand-navy); font-size: 1.8rem; }
.contact-drawer-header p { color: var(--brand-muted); font-size: .82rem; line-height: 1.7; }
.contact-drawer-actions button { background: var(--brand-action); color: var(--brand-action-text); border: 0; border-radius: .4rem; font-weight: 800; }
.contact-drawer-actions button:hover { background: var(--brand-action-hover); color: var(--brand-action-text); }
.contact-drawer-actions a { color: var(--brand-teal); border-color: var(--brand-line); border-radius: .4rem; }
.contact-drawer-scroll { padding: 1.5rem 1.7rem 2rem; }
.quote-form .form-intro { color: var(--brand-muted); font-size: .82rem; line-height: 1.7; }
.quote-form .form-intro a { color: var(--brand-teal); font-weight: 750; }
.fire-drawer-external { margin-top: 1.2rem; }
.fire-drawer-external .button { width: 100%; }

/* Compact contact controls share a baseline; they never straddle the hero. */
.contact-rail.contact-rail-refresh { inset: auto 1.5rem 1.5rem auto; display: flex; width: auto; min-width: 0; height: auto; min-height: 54px; padding: .7rem 1.15rem; flex-direction: row; gap: .5rem; background: var(--brand-action); color: var(--brand-action-text); border: 1px solid #395766; border-radius: .6rem; transform: none; box-shadow: 0 6px 20px rgb(16 35 51 / 17%); }
.contact-rail.contact-rail-refresh span { writing-mode: horizontal-tb; transform: none; letter-spacing: 0; color: inherit; }
.kr-site .contact-rail.contact-rail-refresh .contact-rail-copy :is(small, strong) { color: var(--brand-action-text); }
.contact-rail.contact-rail-refresh > .cta-icon { color: #7ee6d9; }
.contact-rail-copy { display: grid; gap: .1rem; }
.contact-rail.contact-rail-refresh small { font-size: .58rem; line-height: 1.4; text-transform: none; }
.contact-rail.contact-rail-refresh strong { font-size: .85rem; line-height: 1.3; }
.contact-rail.contact-rail-refresh:is(:hover,:focus-visible) { padding: .7rem 1.15rem; background: var(--brand-action-hover); color: var(--brand-action-text); box-shadow: 0 8px 24px rgb(16 35 51 / 22%); }
.emergency-dispatch { --dispatch-red: var(--brand-navy); --dispatch-amber: var(--brand-mint); left: 1.5rem; bottom: 1.5rem; background: transparent; box-shadow: none; }
.emergency-dispatch-trigger { min-height: 54px; padding: .7rem 1rem; border: 1px solid #395766; border-radius: .6rem; background: var(--brand-navy); color: #fff; box-shadow: 0 6px 20px rgb(16 35 51 / 17%); }
.emergency-dispatch-trigger small { font-size: .6rem; }
.emergency-dispatch-trigger strong { font-size: .85rem; }
.emergency-dispatch-signal, .emergency-dispatch-signal i { background: var(--brand-mint); box-shadow: none; }
.emergency-dispatch-panel { background: var(--brand-navy); border-color: #385462; border-radius: .8rem; }
.emergency-dispatch-call { color: var(--brand-navy); background: var(--brand-mint); border-radius: .4rem; }
.mobile-call.mobile-call-refresh { background: var(--brand-navy); border-top-color: var(--brand-navy); }
.fire-home-shell[data-hero-visible="true"] :is(.contact-rail, .emergency-dispatch, .mobile-call) { visibility: hidden; pointer-events: none; }

/* A clear final invitation and a calm, durable brand footer. */
.closing { background: var(--brand-orange); color: var(--brand-navy); padding-block: clamp(3rem, 5vw, 5.5rem); }
.closing .eyebrow { color: var(--brand-navy); }
.closing h2 { font-size: clamp(2rem, 3vw, 3.2rem); }
.closing p { color: #213b45; font-size: .92rem; line-height: 1.8; }
.kr-site .closing .phone-link { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; max-width: 100%; min-height: 50px; margin: 1rem 0 0; padding: .75rem 1.1rem; border: 1px solid var(--brand-action); border-radius: .45rem; background: var(--brand-action); color: var(--brand-action-text); font-size: clamp(1rem, 1.4vw, 1.125rem); font-weight: 800; line-height: 1.35; letter-spacing: .01em; white-space: nowrap; text-decoration: none; }
.kr-site .closing .phone-link:hover { background: var(--brand-action-hover); border-color: var(--brand-action-hover); color: var(--brand-action-text); }
.kr-site .closing .phone-link:focus-visible { outline: 3px solid var(--brand-teal-hover); outline-offset: 4px; }
.kr-site .closing .phone-link > .cta-icon { flex: none; width: 20px; height: 20px; margin: 0; color: #7ee6d9; }
.kr-site .closing .phone-link > .cta-icon svg { width: 20px; height: 20px; }
.fire-footer-full { background: var(--brand-navy); border-top: 0; }
.fire-footer-full .footer { padding-block: 3.5rem; gap: 3rem; color: #fff; grid-template-columns: 1.6fr 1.1fr .8fr auto; }
.fire-footer-logo { width: 260px; max-width: 100%; margin-bottom: 1rem; }
.fire-footer-logo img { width: 100%; height: auto; max-height: 70px; object-fit: contain; filter: none; }
.footer p, .footer small { color: #a7bdc7; font-size: .75rem; line-height: 1.75; max-width: 31ch; }
.footer strong { color: #fff; font-size: .72rem; letter-spacing: .09em; text-transform: uppercase; margin-bottom: .6rem; }
.footer > div > a:not(.wordmark):not(.fire-footer-logo) { min-height: 38px; color: #d0dde1; font-size: .75rem; line-height: 1.5; }
.footer a:hover { color: var(--brand-mint); text-decoration: none; }
.back-top { color: #d0dde1; font-size: .7rem; min-height: 44px; }

/* Homepage defaults share the same type scale as the interior templates. */
.fire-home > .fire-hero { min-height: calc(100svh - var(--header-h)); display: grid; align-items: center; padding-block: 2.5rem; background: var(--brand-navy); border: 0; }
.fire-home > .fire-hero .rental-hero-copy h1 { color: #fff; max-width: 16ch; }
.fire-home > .fire-hero .rental-hero-copy > p { color: #bdccd0; font-size: .9rem; line-height: 1.75; }
.fire-home > .fire-hero .hero-kicker { color: var(--brand-mint); }
.fire-home > .fire-hero .hero-kicker > span { background: var(--brand-mint); }
.fire-home > .fire-hero .home-secondary { color: #fff; border-color: #58717e; display: flex; flex-direction: column; gap: .1rem; }
.fire-home > .fire-hero .home-secondary:hover { background: #1b3949; color: #fff; border-color: var(--brand-mint); }
.hero-phone-label { color: #bdccd0; font-size: .63rem; font-weight: 500; }
.fire-home > .fire-hero .fire-proof { border-color: #38515f; margin-top: 1.4rem; padding-top: 1rem; }
.fire-home > .fire-hero .fire-proof dt { color: var(--brand-mint); font-size: 1.03rem; }
.fire-home > .fire-hero .fire-proof dd { color: #b1c5ce; font-size: .6rem; }
.fire-home > .fire-hero .fire-home-core-media { height: clamp(420px, 60svh, 560px); min-height: 0; }
.fire-home > .fire-hero .fire-home-core-featured, .fire-home > .fire-hero .fire-home-core-supporting { height: 100%; min-height: 0; }
.fire-home > .fire-hero .fire-home-core-media figure { min-height: 0; border: 1px solid #49616c; box-shadow: none; }
.fire-home > .fire-hero .fire-home-core-media figcaption { background: #193344; color: #bbd2d8; }
.fire-home > .fire-hero .fire-home-core-media figcaption strong { color: #fff; }
.hero-planning-note { border: 1px solid #38515f; border-left: 3px solid var(--brand-mint); border-radius: .5rem; background: #172e3e; padding: .9rem 1rem; margin-top: 1.4rem; }
.hero-planning-note strong { color: #fff; font-size: .78rem; }
.hero-planning-note p { color: #b1c5ce; font-size: .72rem; line-height: 1.65; margin-top: .4rem; }

@media (max-width: 1100px) {
  .wrap { width: calc(100% - 64px); }
  .header { gap: 1.25rem; }
  .brand.fire-brand { width: 218px; }
  .header > nav { gap: .8rem; font-size: .72rem; }
  .fire-check-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-process .rental-process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fire-footer-full .footer { grid-template-columns: 1.6fr 1fr 1fr; gap: 2rem; }
  .back-top { grid-column: 1 / -1; }
}
@media (max-width: 800px) {
  :root { --header-h: 4.4rem; --page-h1-size: clamp(1.7rem, 6vw, 2.5rem); --page-h1-line-height: 1.1; }
  .wrap { width: calc(100% - 40px); }
  .header { min-height: var(--header-h); gap: 1rem; }
  .header > nav { display: none; }
  .brand.fire-brand { width: 228px; max-width: calc(100% - 90px); }
  .brand.fire-brand img { max-height: 48px; }
  .mobile-nav { display: block; }
  .mobile-nav nav { top: var(--header-h); }
  .section, .home-services { padding-block: 3.25rem; }
  .rental-hero, .fire-hero, .fire-utility-hero { padding-block: 2rem; }
  .rental-hero-grid { grid-template-columns: 1fr; gap: 2rem; }
  .rental-hero-copy h1 { max-width: 24ch; }
  .rental-hero-copy > p, .fire-hero .rental-hero-copy > p { font-size: .88rem; line-height: 1.75; margin-top: 1rem; }
  .hero-kicker, .fire-page .hero-kicker { font-size: .58rem; margin-bottom: .9rem; }
  .rental-hero-actions { margin-top: 1.2rem; gap: .6rem; }
  .button, .home-secondary, .fire-page .button, .fire-page .home-secondary { font-size: .79rem; min-height: 48px; padding: .75rem 1rem; }
  .fire-proof { gap: 1.4rem; margin-top: 1.4rem; padding-top: 1rem; }
  .fire-proof dt { font-size: 1rem; }
  .fire-proof dd { font-size: .57rem; }
  .fire-hero-photo img, .fire-page-hero-photo > img { height: 330px; }
  .fire-state-page-media { height: 390px; min-height: 390px; grid-template-columns: 1.15fr .85fr; grid-template-rows: repeat(2, minmax(0, 1fr)); }
  .fire-state-page-media figure { min-height: 0; }
  .fire-state-page-media figure:first-child { grid-row: 1 / 3; }
  .fire-home-core-media figcaption, .fire-state-page-media figcaption { padding: .7rem; }
  .fire-home-core-media figcaption strong, .fire-state-page-media figcaption strong { font-size: .66rem; }
  .home-section-heading { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-bottom: 1.7rem; }
  .home-section-heading h2 { max-width: 30ch; }
  .home-section-heading > p { font-size: .85rem; }
  .fire-equipment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
  .fire-equipment-grid h3 { font-size: .92rem; margin-inline: .3rem; }
  .fire-equipment-grid p { font-size: .75rem; margin-inline: .3rem; }
  .fire-equipment-grid a { padding: .5rem .5rem 1rem; }
  .fire-equipment-grid a > span { top: .9rem; left: .9rem; width: 1.6rem; height: 1.6rem; }
  .fire-scope, .fire-article { grid-template-columns: 1fr; gap: 1.5rem; }
  .fire-state-core-grid, .fire-state-context-grid { grid-template-columns: 1fr; }
  .fire-state-core-grid article, .fire-state-context-grid article { padding: 1.3rem; }
  .fire-related { grid-template-columns: 1fr; }
  .fire-related article { padding: 1.3rem; }
  .fire-check-grid article { padding: 1.25rem; }
  .fire-check-grid h3 { font-size: .97rem; }
  .fire-check-grid p { font-size: .77rem; }
  .home-process { padding-block: 3.25rem; }
  .rental-process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-process .rental-process-steps li { padding: 1.3rem; }
  .fire-coverage-map { padding: 1.25rem; border-radius: .8rem; }
  .fire-map-heading { flex-direction: column; gap: .5rem; }
  .fire-map-heading h2 { margin-bottom: .6rem; }
  .fire-map-heading > strong { margin-bottom: 1rem; }
  .fire-map-controls { flex-wrap: wrap; gap: .7rem; }
  .fire-map-controls label { flex: 1 0 100%; }
  .fire-map-controls select { flex: 1; min-width: 0; }
  .fire-map-controls button { padding: .65rem; font-size: .7rem; }
  .fire-area-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fire-area-directory a { padding: .85rem; font-size: .74rem; }
  .fire-state-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); padding: 1.25rem; }
  .calculator-hero { padding-block: 2.25rem; }
  .calculator-hero-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .calculator-hero-side { max-width: none; gap: 1.25rem; }
  .calculator-plan-card { padding: 1.25rem; }
  .calculator-plan-card h2 br { display: none; }
  .calculator-plan-card h2 { font-size: 1.3rem; margin: .7rem 0 .9rem; }
  .calculator-plan-header > .cta-icon { width: 24px; height: 24px; }
  .calculator-plan-steps { gap: .65rem; }
  .calculator-plan-steps li > span { width: 24px; height: 24px; }
  .calculator-plan-steps li > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: center; gap: .4rem; flex: 1; }
  .calculator-plan-steps strong { font-size: .73rem; }
  .calculator-hero .calculator-plan-steps p { margin: 0; font-size: .67rem; }
  .calculator-plan-summary { margin-top: .9rem; padding-top: .7rem; }
  .calculator-hero p { font-size: .9rem; line-height: 1.75; }
  .calculator-workspace { grid-template-columns: 1fr; gap: 1.1rem; }
  .calculator-result-card { position: static; padding: 1.5rem; }
  .calculator-form-card h2 { font-size: 1.6rem; }
  .contact-grid { grid-template-columns: 1fr; gap: 2rem; }
  .contact-call { padding: 1.5rem; }
  .contact-drawer-header, .contact-drawer-scroll { padding-inline: 1.25rem; }
  .contact-rail.contact-rail-refresh { right: 1rem; bottom: 1rem; min-height: 48px; }
  .emergency-dispatch { left: 1rem; bottom: 1rem; }
  .emergency-dispatch-trigger { min-height: 48px; }
  .mobile-call.mobile-call-refresh { display: none; }
  .closing-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .closing h2 br { display: inline; }
  .fire-footer-full .footer { grid-template-columns: 1fr 1fr; padding-block: 2.8rem; gap: 2rem 1.4rem; }
  .fire-footer-full .footer > div:first-child { grid-column: 1 / -1; }
  .fire-footer-logo { width: 235px; }
  .footer p { max-width: 50ch; }
  .fire-home > .fire-hero { padding-block: 1.4rem 2rem; min-height: calc(100svh - var(--header-h)); }
  .fire-home > .fire-hero .rental-hero-copy h1 { max-width: 22ch; }
  .fire-home > .fire-hero .rental-hero-copy > p { font-size: .84rem; line-height: 1.6; margin-top: .9rem; }
  .fire-home > .fire-hero .rental-hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; }
  .fire-home > .fire-hero .rental-hero-actions > a { padding: .6rem; text-align: center; font-size: .74rem; }
  .fire-home > .fire-hero .fire-proof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .fire-home > .fire-hero .fire-proof dt { font-size: .93rem; }
  .fire-home > .fire-hero .fire-proof dd { font-size: .55rem; }
  .fire-home > .fire-hero .fire-home-core-media { height: 400px; grid-template-columns: 1.2fr .8fr; }
  .fire-home > .fire-hero .fire-home-core-featured { grid-template-rows: minmax(0, 1fr) auto; }
  .fire-home > .fire-hero .fire-home-core-supporting figure { grid-template-rows: minmax(0, 1fr) auto; }
}
@media (max-width: 480px) {
  .wrap { width: calc(100% - 36px); }
  .fire-equipment-grid { grid-template-columns: 1fr; gap: 1rem; }
  .fire-equipment-grid h3 { font-size: 1.05rem; }
  .fire-equipment-grid p { font-size: .83rem; }
  .fire-check-grid, .rental-process-steps, .home-process .rental-process-steps { grid-template-columns: 1fr; }
  .fire-state-page-media { height: 340px; min-height: 340px; }
  .fire-state-page-media figcaption small { font-size: .48rem; }
  .fire-state-page-media figcaption strong { font-size: .6rem; }
  .contact-rail.contact-rail-refresh { padding: .6rem .8rem; }
  .contact-rail.contact-rail-refresh:is(:hover,:focus-visible) { padding: .6rem .8rem; }
  .contact-rail.contact-rail-refresh small { font-size: .51rem; }
  .contact-rail.contact-rail-refresh strong { font-size: .74rem; }
  .emergency-dispatch-trigger { padding: .6rem .8rem; }
  .emergency-dispatch-trigger strong { font-size: .74rem; }
  .emergency-dispatch-trigger small { font-size: .53rem; }
  .fire-home > .fire-hero .hero-kicker { font-size: .53rem; letter-spacing: .065em; margin-bottom: .75rem; }
  .fire-home > .fire-hero .fire-home-core-media { height: 370px; }
}
@media (max-width: 360px) {
  .wrap { width: calc(100% - 32px); }
  .brand.fire-brand { width: 195px; }
  .mobile-nav > summary { padding: .6rem; font-size: .72rem; gap: .5rem; }
  .fire-home > .fire-hero { padding-top: .85rem; }
  .fire-home > .fire-hero .hero-kicker { font-size: .48rem; margin-bottom: .55rem; }
  .fire-home > .fire-hero .rental-hero-copy > p { font-size: .78rem; line-height: 1.5; margin-top: .65rem; }
  .fire-home > .fire-hero .rental-hero-actions { margin-top: .85rem; }
  .fire-home > .fire-hero .rental-hero-actions > a { font-size: .66rem; }
  .fire-home > .fire-hero .fire-proof { margin-top: .85rem; padding-top: .65rem; gap: .7rem; }
  .fire-home > .fire-hero .fire-proof dt { font-size: .8rem; }
  .fire-home > .fire-hero .fire-proof dd { font-size: .49rem; }
  .contact-rail.contact-rail-refresh { right: .7rem; bottom: .7rem; }
  .emergency-dispatch { left: .7rem; bottom: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  a, button, .services-panel { transition: none; }
}

/* Homepage: an equipment-led story with a decisive, practical next step. */
.fire-state-dialog-close { width: auto; min-width: 44px; padding-inline: .7rem; white-space: nowrap; border-radius: .45rem; font-size: .75rem; }
.fire-home > .studio-home-hero {
  position: relative; isolation: isolate; overflow: hidden; border: 0;
  padding-block: clamp(2.25rem, 5vw, 4.5rem); min-height: calc(100svh - var(--header-h));
  background: #102333; color: #fff; display: grid; align-items: center;
}
.studio-home-hero::after {
  content: ""; position: absolute; z-index: -1; width: 700px; height: 700px;
  border: 1px solid rgb(35 199 181 / 18%); transform: rotate(-18deg);
  border-radius: 90px; right: -320px; top: -180px; background: rgb(35 199 181 / 4%);
}
.fire-home > .studio-home-hero .rental-hero-grid { gap: clamp(2rem, 4vw, 4rem); align-items: center; grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr); }
.fire-home > .studio-home-hero .hero-kicker { color: #7ee6d9; font-size: .65rem; letter-spacing: .1em; margin-bottom: 1.1rem; }
.fire-home > .studio-home-hero .hero-kicker > span { background: var(--brand-mint); }
.fire-home > .studio-home-hero .rental-hero-copy h1 { color: #fff; max-width: 16ch; }
.studio-heading-accent { color: #7ee6d9; }
.fire-home > .studio-home-hero .rental-hero-copy > p { color: #d2e0e4; font-size: .96rem; line-height: 1.7; max-width: 57ch; margin-top: 1.1rem; }
.fire-home > .studio-home-hero .rental-hero-actions { margin-top: 1.6rem; }
.fire-home > .studio-home-hero .home-primary { background: var(--brand-orange); color: #061421; font-weight: 800; }
.fire-home > .studio-home-hero .home-primary:hover { background: var(--brand-orange-hover); color: #061421; }
.fire-home > .studio-home-hero .home-secondary { color: #fff; border-color: #5a7380; display: flex; flex-direction: column; gap: .1rem; padding: .55rem 1.25rem; }
.hero-phone-label { font-size: .65rem; font-weight: 600; }
.fire-home > .studio-home-hero .home-secondary:hover { color: #fff; background: #254152; border-color: #7ee6d9; }
.fire-home > .studio-home-hero .fire-proof { border-color: #3d5360; margin-top: 1.6rem; padding-top: 1.3rem; }
.fire-home > .studio-home-hero .fire-proof dt { color: #7ee6d9; font-size: 1.05rem; }
.fire-home > .studio-home-hero .fire-proof dd { color: #c1d1d7; font-size: .59rem; }
.fire-home > .studio-home-hero .studio-hero-media { display: grid; grid-template-columns: 1fr; grid-template-rows: minmax(0, 1fr) 88px; gap: .85rem; height: clamp(450px, 64svh, 560px); min-height: 0; }
.fire-home > .studio-home-hero .fire-home-core-featured { display: block; position: relative; height: 100%; overflow: hidden; border-radius: 1.05rem; border: 1px solid #4d626b; background: var(--brand-navy); }
.fire-home > .studio-home-hero .fire-home-core-featured > img { display: block; height: 100%; width: 100%; object-fit: cover; object-position: center 38%; }
.fire-home > .studio-home-hero .fire-home-core-featured figcaption { position: absolute; inset: auto 0 0; padding: 2.5rem 1.75rem 1.4rem; gap: .65rem; color: #fff; background: linear-gradient(transparent, rgb(5 20 29 / 94%)); }
.fire-home > .studio-home-hero .fire-home-core-featured figcaption small { color: #8ce9db; font-size: .6rem; letter-spacing: .13em; }
.fire-home > .studio-home-hero .fire-home-core-featured figcaption strong { color: #fff; font-size: 1.85rem; line-height: 1.08; letter-spacing: -.035em; font-weight: 800; }
.fire-home > .studio-home-hero .fire-home-core-featured figcaption a { color: #fff; font-size: .72rem; font-weight: 800; padding-top: .15rem; }
.fire-home > .studio-home-hero .fire-home-core-featured figcaption a span { color: var(--brand-orange); margin-left: .45rem; }
.fire-home > .studio-home-hero .fire-home-core-supporting { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; height: 88px; }
.fire-home > .studio-home-hero .fire-home-core-supporting figure { display: grid; grid-template-columns: 74px minmax(0, 1fr); grid-template-rows: 1fr; margin: 0; border-radius: .7rem; background: #fff; height: 88px; min-height: 0; }
.fire-home > .studio-home-hero .fire-home-core-supporting img { width: 74px; height: 88px; object-fit: cover; }
.fire-home > .studio-home-hero .fire-home-core-supporting figcaption { padding: .85rem .8rem; gap: .2rem; align-content: center; background: #fff; }
.fire-home > .studio-home-hero .fire-home-core-supporting figcaption small { color: var(--brand-teal); font-size: .5rem; letter-spacing: .05em; }
.fire-home > .studio-home-hero .fire-home-core-supporting figcaption a { color: var(--brand-navy); font-weight: 800; font-size: .74rem; line-height: 1.3; }

.studio-services { padding-top: 5.5rem; }
.studio-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; }
.studio-service-card { display: block; border: 1px solid var(--brand-line); background: #fff; border-radius: 1rem; padding: 1.2rem; overflow: hidden; }
.studio-card-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; font-size: .66rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--brand-teal); }
.studio-card-top > span:last-child { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--brand-line); border-radius: 50%; font-size: 1.1rem; color: var(--brand-navy); }
.studio-card-image { height: 210px; overflow: hidden; border-radius: .65rem; }
.studio-card-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .35s; }
.studio-card-copy { padding: 1.6rem .2rem .6rem; }
.studio-card-copy h3 { font-size: 1.5rem; font-weight: 800; max-width: 17ch; margin: 0 0 .85rem; }
.studio-card-copy p { color: var(--brand-muted); font-size: .85rem; line-height: 1.75; min-height: 6em; }
.studio-card-copy > strong { display: flex; align-items: center; justify-content: space-between; padding-top: 1.2rem; margin-top: 1.3rem; border-top: 1px solid var(--brand-line); font-size: .8rem; }
.studio-service-card:hover { border-color: var(--brand-teal); box-shadow: var(--shadow); }
.studio-service-card:hover .studio-card-image img { transform: scale(1.035); }
.studio-service-card-featured { background: var(--brand-navy); color: #fff; border-color: var(--brand-navy); }
.studio-service-card-featured .studio-card-top { color: #7ee6d9; }
.studio-service-card-featured .studio-card-top > span:last-child { background: var(--brand-orange); border-color: var(--brand-orange); }
.studio-service-card-featured p { color: #cbdce1; }
.studio-service-card-featured .studio-card-copy > strong { color: #7ee6d9; border-color: #3b5361; }
.studio-catalog { padding-top: 1rem; }
.studio-equipment-links { display: flex; flex-wrap: wrap; gap: .7rem; padding-top: 1.5rem; }
.studio-equipment-links a { display: flex; justify-content: space-between; gap: 1.25rem; border: 1px solid var(--brand-line); border-radius: .4rem; padding: .8rem 1rem; background: #fff; font-size: .77rem; font-weight: 800; }
.studio-equipment-links a:hover { border-color: var(--brand-teal); color: var(--brand-teal); }
.studio-support { border-top: 1px solid var(--brand-line); }
.studio-industries { border: 0; }
.studio-faq .fire-related { display: grid; grid-template-columns: 1fr; gap: 0; max-width: 960px; }
.studio-faq-item { border-top: 1px solid #bdcdc6; padding: 1.25rem 0; }
.studio-faq-item:last-child { border-bottom: 1px solid #bdcdc6; }
.studio-faq-item > summary { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; list-style: none; cursor: pointer; font-size: 1.05rem; font-weight: 800; padding-block: .3rem; }
.studio-faq-item > summary::-webkit-details-marker { display: none; }
.studio-faq-item > summary::after { content: "+"; display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 50%; background: #fff; color: var(--brand-teal); font-size: 1.4rem; font-weight: 600; }
.studio-faq-item[open] > summary::after { content: "−"; background: var(--brand-panel); }
.studio-faq-item > p { margin-top: 1rem; max-width: 75ch; color: var(--brand-muted); font-size: .91rem; }
.studio-cta { background: var(--brand-orange); color: var(--brand-navy); padding-block: 4rem; }
.studio-cta-inner { display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: center; }
.studio-cta .eyebrow { color: #3a372c; }
.studio-cta h2 { font-size: clamp(2rem, 3.3vw, 3.4rem); letter-spacing: -.045em; }
.studio-cta p { max-width: 54ch; font-size: .94rem; margin-top: 1rem; color: #3e382e; }
.studio-cta-actions { display: grid; gap: .75rem; min-width: 235px; }
.studio-cta-actions .home-primary { background: var(--brand-action); color: var(--brand-action-text); }
.studio-cta-actions .home-primary:hover { background: var(--brand-action-hover); }
.studio-cta-actions .home-secondary { color: var(--brand-navy); border-color: #705446; }
.studio-cta-actions .home-secondary:hover { background: rgb(255 255 255 / 20%); }

/* Floating actions stay clear of the opening content and footer. */
.studio-not-found { min-height: 85svh; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; max-width: 820px; padding-block: 3rem; }
.studio-not-found > a { margin-bottom: 3rem; }
.studio-not-found h1 { max-width: 20ch; }
.studio-not-found p { margin-top: 1.5rem; max-width: 60ch; color: var(--brand-muted); }
body { padding-bottom: 0; }
.kr-site .contact-rail.contact-rail-refresh { bottom: 1.5rem; height: auto; width: auto; min-width: 0; }
.kr-site .contact-rail.contact-rail-refresh .contact-rail-copy { display: grid; gap: .1rem; }
.kr-site[data-hero-visible="true"] :is(.contact-rail, .emergency-dispatch, .mobile-call),
.fire-home-shell[data-hero-visible="true"] :is(.contact-rail, .emergency-dispatch, .mobile-call) { visibility: hidden; pointer-events: none; }
.kr-site[data-footer-visible="true"] :is(.contact-rail:not(:focus-within), .mobile-call:not(:focus-within), .emergency-dispatch:not(.is-open):not(:focus-within)) { visibility: hidden; pointer-events: none; }

@media (max-width: 1100px) and (min-width: 801px) {
  .fire-home > .studio-home-hero .rental-hero-grid { gap: 2rem; }
  .fire-home > .studio-home-hero .fire-home-core-supporting figure { grid-template-columns: 54px minmax(0, 1fr); }
  .fire-home > .studio-home-hero .fire-home-core-supporting img { width: 54px; }
  .fire-home > .studio-home-hero .rental-hero-copy > p { font-size: .88rem; }
}
@media (max-width: 800px) {
  .kr-site .contact-rail.contact-rail-refresh { inset: auto 1rem 1rem auto; height: 48px; min-height: 48px; }
  .fire-home > .studio-home-hero { padding-block: 1.45rem 2rem; }
  .fire-home > .studio-home-hero .rental-hero-grid { grid-template-columns: 1fr; gap: 2rem; }
  .fire-home > .studio-home-hero .rental-hero-copy h1 { max-width: 22ch; }
  .fire-home > .studio-home-hero .hero-kicker { margin-bottom: .8rem; font-size: .57rem; }
  .fire-home > .studio-home-hero .rental-hero-copy > p { font-size: .85rem; line-height: 1.55; margin-top: .8rem; }
  .fire-home > .studio-home-hero .rental-hero-actions { margin-top: 1rem; }
  .fire-home > .studio-home-hero .rental-hero-actions > a { min-height: 50px; font-size: .73rem; padding: .55rem .5rem; }
  .fire-home > .studio-home-hero .fire-proof { margin-top: 1rem; padding-top: .9rem; }
  .fire-home > .studio-home-hero .fire-proof dt { font-size: .94rem; }
  .fire-home > .studio-home-hero .fire-proof dd { font-size: .52rem; }
  .fire-home > .studio-home-hero .studio-hero-media { height: 430px; grid-template-columns: 1fr; grid-template-rows: minmax(0, 1fr) 88px; }
  .fire-home > .studio-home-hero .fire-home-core-featured figcaption strong { font-size: 1.7rem; }
  .studio-service-grid { grid-template-columns: 1fr; gap: 1rem; }
  .studio-services { padding-top: 3rem; }
  .studio-service-card { padding: 1rem; }
  .studio-card-image { height: 230px; }
  .studio-card-copy { padding-top: 1.3rem; }
  .studio-card-copy p { min-height: 0; }
  .studio-card-copy h3 { max-width: 25ch; }
  .studio-catalog { padding-top: 0; }
  .studio-equipment-links { display: grid; grid-template-columns: 1fr; }
  .studio-cta { padding-block: 3rem; }
  .studio-cta-inner { grid-template-columns: 1fr; gap: 1.75rem; }
  .studio-cta-actions { min-width: 0; }
  .studio-faq-item > summary { font-size: .95rem; }
  .studio-faq-item > p { font-size: .86rem; }
}
@media (max-width: 360px) {
  .kr-site .contact-rail.contact-rail-refresh { right: .7rem; bottom: .7rem; }
  .fire-home > .studio-home-hero { padding-top: .75rem; }
  .fire-home > .studio-home-hero .hero-kicker { margin-bottom: .5rem; font-size: .51rem; letter-spacing: .04em; }
  .fire-home > .studio-home-hero .rental-hero-copy > p { font-size: .79rem; line-height: 1.45; margin-top: .65rem; }
  .fire-home > .studio-home-hero .rental-hero-actions { margin-top: .85rem; }
  .fire-home > .studio-home-hero .rental-hero-actions > a { font-size: .65rem; }
  .fire-home > .studio-home-hero .fire-proof { margin-top: .85rem; padding-top: .65rem; gap: .65rem; }
  .fire-home > .studio-home-hero .fire-proof dt { font-size: .82rem; }
  .fire-home > .studio-home-hero .fire-proof dd { font-size: .49rem; }
  .fire-home > .studio-home-hero .fire-home-core-supporting figure { grid-template-columns: 50px minmax(0, 1fr); }
  .fire-home > .studio-home-hero .fire-home-core-supporting img { width: 50px; }
  .fire-home > .studio-home-hero .fire-home-core-supporting figcaption { padding: .6rem; }
  .fire-home > .studio-home-hero .fire-home-core-supporting figcaption a { font-size: .65rem; }
}
@media (prefers-reduced-motion: reduce) { .studio-card-image img { transition: none; } }

/* Native vector icons stay legible without depending on an icon font. */
.cta-icon { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 18px; height: 18px; margin-inline: .35em; vertical-align: middle; pointer-events: none; }
.cta-icon svg { display: block; flex: none; width: 18px; height: 18px; overflow: visible; }
.cta-icon:first-child { margin-left: 0; }
.cta-icon:last-child { margin-right: 0; }
:is(.button, .home-primary, .home-secondary, .contact-drawer-actions > *, .emergency-dispatch-trigger, .emergency-dispatch-call, .emergency-dispatch-request, .header > nav > a[data-cta-kind], .back-top) { align-items: center; gap: .5rem; }
:is(.contact-drawer-actions > *, .emergency-dispatch-call, .emergency-dispatch-request, .header > nav > a[data-cta-kind], .back-top) { display: inline-flex; }
:is(.button, .home-primary, .home-secondary, .contact-drawer-actions > *, .emergency-dispatch-trigger, .emergency-dispatch-call, .emergency-dispatch-request, .contact-rail) > .cta-icon { margin: 0; }
.fire-home > .studio-home-hero .home-secondary[data-cta-kind] { flex-direction: row; gap: .5rem; }
.fire-home > .studio-home-hero .home-secondary .cta-label, .mobile-call .cta-label { display: grid; gap: .1rem; }
.fire-home > .studio-home-hero .home-secondary .cta-icon { color: #7ee6d9; }
.contact-drawer-actions a > span:not(.cta-icon) { margin-left: auto; }
.contact-rail.contact-rail-refresh > .cta-icon, .emergency-dispatch-trigger > .cta-icon { width: 20px; height: 20px; }
.contact-rail.contact-rail-refresh > .cta-icon svg, .emergency-dispatch-trigger > .cta-icon svg { width: 20px; height: 20px; }
.studio-card-top > .cta-icon { margin: 0; }
.fire-equipment-grid h3 > .cta-icon { color: var(--brand-teal); }
@media (max-width: 480px) {
  .fire-home > .studio-home-hero .rental-hero-actions > a { gap: .35rem; }
}
@media (max-width: 360px) {
  .contact-rail.contact-rail-refresh, .contact-rail.contact-rail-refresh:is(:hover, :focus-visible) { padding-inline: .65rem; gap: .4rem; }
  .contact-rail.contact-rail-refresh small { font-size: .46rem; }
  .contact-rail.contact-rail-refresh > .cta-icon, .emergency-dispatch-trigger > .cta-icon,
  .contact-rail.contact-rail-refresh > .cta-icon svg, .emergency-dispatch-trigger > .cta-icon svg { width: 16px; height: 16px; }
}
