:root {
  --ink: #17222b;
  --ink-2: #26343d;
  --muted: #68747d;
  --orange: #f15a24;
  --orange-dark: #cf4112;
  --gold: #f2aa3b;
  --mint: #eaf1ef;
  --mist: #f3f6f6;
  --paper: #fbfbf8;
  --white: #ffffff;
  --surface: #ffffff;
  --dark-panel: #17222b;
  --line: rgba(23, 34, 43, 0.12);
  --shadow: 0 24px 70px rgba(23, 34, 43, 0.13);
  --page: max(24px, calc((100vw - 1280px) / 2));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--surface); font-family: "Avenir Next", "Helvetica Neue", Arial, sans-serif; font-synthesis: none; -webkit-font-smoothing: antialiased; line-height: 1.58; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { margin-bottom: 0; font-weight: 600; letter-spacing: 0; }
main > *, main > * > * { min-width: 0; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(241, 90, 36, 0.32); outline-offset: 3px; }

.site-header {
  position: fixed;
  z-index: 50;
  top: 14px;
  left: max(18px, calc((100vw - 1440px) / 2));
  right: max(18px, calc((100vw - 1440px) / 2));
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 26px;
  min-height: 72px;
  padding: 0 18px 0 22px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(23, 34, 43, 0.1);
  border-radius: 8px;
  box-shadow: 0 16px 44px rgba(23, 34, 43, 0.08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transition: top 180ms ease, background 180ms ease, box-shadow 180ms ease;
}
.site-header.scrolled { top: 8px; background: rgba(255, 255, 255, 0.97); box-shadow: 0 18px 50px rgba(23, 34, 43, 0.14); }
.brand { display: flex; align-items: center; min-width: 190px; }
.brand-logo { width: 190px; height: auto; filter: drop-shadow(0 7px 14px rgba(160, 62, 20, 0.12)); }
.main-nav { display: flex; justify-content: center; align-items: center; gap: clamp(14px, 1.55vw, 26px); font-size: 13px; font-weight: 700; }
.main-nav a { position: relative; padding: 27px 0 24px; color: #48545d; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 18px; height: 2px; background: var(--orange); transform: scaleX(0); transform-origin: left; transition: transform 180ms ease; }
.main-nav a:hover, .main-nav a[aria-current="page"] { color: var(--ink); }
.main-nav a:hover::after, .main-nav a[aria-current="page"]::after { transform: scaleX(1); }
.main-nav .nav-emphasis { color: var(--orange-dark); }
.header-cta, .button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  padding: 0 21px;
  color: var(--white);
  background: #e96333;
  border: 1px solid #e96333;
  border-radius: 7px;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(188, 71, 27, 0.14);
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}
.header-cta { min-height: 42px; white-space: nowrap; }
.header-cta:hover, .button:hover { transform: translateY(-1px); background: #d95324; box-shadow: 0 10px 24px rgba(188, 71, 27, 0.18); }
.header-phones { display: flex; align-items: center; gap: 6px; }
.header-phone { min-height: 44px; display: inline-flex; align-items: center; gap: 6px; padding: 0 13px; color: #ffffff; background: #e96333; border: 1px solid #e96333; border-radius: 7px; box-shadow: 0 8px 18px rgba(188,71,27,0.14); font-size: 13px; font-weight: 700; white-space: nowrap; transition: transform 180ms ease, background 180ms ease; }
.header-phone span { color: rgba(255,255,255,0.72); font-size: 10px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.header-phone:hover { transform: translateY(-1px); background: #d95324; }
.header-phone-secondary { color: #ffffff; background: var(--ink); border-color: var(--ink); box-shadow: 0 8px 18px rgba(23,34,43,0.13); }
.header-phone-secondary span { color: #ffc08a; }
.header-phone-secondary:hover { background: #293741; }
.mobile-nav-phones { display: none; }
.button-light { color: #17222b; background: #ffffff; border-color: #ffffff; }
.button-light:hover { color: var(--white); background: transparent; }
.button-ghost { color: var(--ink); background: transparent; border-color: var(--line); box-shadow: none; }
.button-ghost:hover { color: var(--white); background: var(--ink); border-color: var(--ink); }
.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; }
.text-link { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); font-weight: 600; }
.text-link > span { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid currentColor; border-radius: 50%; transition: transform 180ms ease; }
.text-link:hover > span { transform: rotate(90deg); }
.text-link.light { color: var(--white); }
.menu-button { display: none; width: 44px; height: 44px; padding: 10px; background: transparent; border: 1px solid var(--line); border-radius: 50%; }
.menu-button span { display: block; height: 2px; margin: 5px 0; background: var(--dark-panel); }
.theme-toggle { position: relative; isolation: isolate; width: 68px; height: 38px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding: 3px; color: #56626a; background: var(--mist); border: 1px solid var(--line); border-radius: 999px; cursor: pointer; }
.theme-toggle::after { content: ""; position: absolute; z-index: 0; top: 3px; left: 3px; width: 30px; height: 30px; background: var(--surface); border: 1px solid var(--line); border-radius: 50%; box-shadow: 0 4px 12px rgba(23,34,43,0.12); transition: transform 200ms ease, background 200ms ease; }
.theme-toggle span { position: relative; z-index: 1; display: grid; place-items: center; font-family: Georgia, "Times New Roman", serif; font-size: 17px; line-height: 1; }
.theme-toggle span:last-child { font-size: 14px; }
html[data-theme="dark"] .theme-toggle::after { transform: translateX(30px); }
html[data-theme="dark"] .theme-toggle { color: #c7d1d2; }
.eyebrow { margin-bottom: 18px; color: var(--orange-dark); font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }

/* Homepage */
.home-hero { position: relative; min-height: max(820px, 92vh); overflow: hidden; display: grid; align-items: center; padding: 132px var(--page) 165px; background: #eef0ed; }
.hero-background, .hero-wash { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-background { object-fit: cover; object-position: 76% center; filter: saturate(1) contrast(1.03) brightness(0.98); }
.hero-wash { background: linear-gradient(90deg, rgba(255,255,255,0.99) 0%, rgba(255,255,255,0.98) 43%, rgba(255,255,255,0.88) 53%, rgba(255,255,255,0.34) 66%, rgba(255,255,255,0.04) 78%, rgba(255,255,255,0) 100%); }
.hero-inner { position: relative; z-index: 2; max-width: 760px; }
.hero-inner-wide { max-width: 900px; }
.home-hero h1 { margin-bottom: 23px; font-size: clamp(52px, 5.8vw, 84px); line-height: 0.97; font-weight: 600; }
.home-hero .service-led-headline { max-width: 900px; font-size: clamp(40px, 4.5vw, 64px); line-height: 1.05; }
.home-hero h1 span { color: var(--orange); font-family: Georgia, "Times New Roman", serif; font-style: italic; font-weight: 400; }
.home-hero .phoenix-led-headline { max-width: 780px; font-size: clamp(50px, 5.7vw, 82px); line-height: 0.98; }
.hero-service-line { max-width: 730px; margin: 0 0 16px; color: var(--ink-2); font-size: clamp(16px, 1.28vw, 19px); font-weight: 600; line-height: 1.45; }
.hero-copy { max-width: 620px; margin-bottom: 30px; color: #46535c; font-size: clamp(16px, 1.32vw, 19px); line-height: 1.55; }
.hero-origin { display: flex; align-items: center; gap: 12px; margin-top: 34px; color: #59656d; font-size: 12px; }
.hero-origin i { width: 38px; height: 1px; background: var(--orange); }
.hero-origin strong { color: var(--ink); font-weight: 600; }
.hero-proof { position: absolute; z-index: 3; left: var(--page); right: var(--page); bottom: 28px; display: grid; grid-template-columns: repeat(4, 1fr); color: var(--ink); background: rgba(255,255,255,0.9); border: 1px solid rgba(23,34,43,0.1); border-radius: 8px; box-shadow: 0 20px 60px rgba(23,34,43,0.11); backdrop-filter: blur(16px); }
.hero-proof div { min-height: 112px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 14px; padding: 22px 26px; border-right: 1px solid var(--line); }
.hero-proof div:last-child { border-right: 0; }
.hero-proof strong { color: var(--orange); font-size: 31px; line-height: 1; }
.hero-proof span { color: #59656d; font-size: 13px; font-weight: 700; line-height: 1.3; }
.opening-statement { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 58px 90px; padding: 130px var(--page); background: linear-gradient(180deg, var(--white), #faf9f5); }
.opening-statement h2, .service-intro h2, .platform-intro h2 { max-width: 760px; font-size: clamp(39px, 4.5vw, 62px); line-height: 1.06; }
.opening-body { align-self: end; max-width: 620px; margin: 0; color: var(--muted); font-size: 21px; }
.opening-collage { grid-column: 1 / 3; min-height: 570px; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr); grid-template-rows: 1fr auto; gap: 16px; margin-top: 22px; }
.opening-collage figure { position: relative; overflow: hidden; margin: 0; border-radius: 8px; }
.opening-collage img { width: 100%; height: 100%; object-fit: cover; }
.collage-main { grid-row: 1 / 3; }
.collage-main figcaption { position: absolute; left: 22px; bottom: 20px; padding: 10px 13px; color: var(--white); background: rgba(23,34,43,0.78); border-radius: 5px; font-size: 12px; font-weight: 600; backdrop-filter: blur(10px); }
.collage-detail { min-height: 310px; }
.field-note { position: relative; min-height: 240px; display: flex; flex-direction: column; justify-content: center; padding: 32px; color: var(--ink); background: #ffd69d; border-radius: 8px; transform: rotate(0.8deg); box-shadow: 0 18px 42px rgba(98,70,35,0.12); }
.field-note::before { content: ""; position: absolute; top: 19px; right: 21px; width: 44px; height: 2px; background: rgba(23,34,43,0.28); box-shadow: 0 7px 0 rgba(23,34,43,0.18); }
.field-note span { margin-bottom: 14px; color: #9c3f1d; font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.field-note strong { max-width: 410px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(25px, 2.2vw, 34px); font-style: italic; font-weight: 400; line-height: 1.14; }
.field-note small { margin-top: 22px; color: #6c5a46; font-size: 11px; }

.service-story { display: grid; grid-template-columns: 1.35fr 0.9fr; grid-template-rows: repeat(2, minmax(310px, 1fr)); gap: 18px; padding: 0 var(--page) 130px; }
.story-panel { position: relative; min-height: 310px; overflow: hidden; color: var(--white); background: var(--dark-panel); border-radius: 8px; box-shadow: var(--shadow); }
.story-panel.story-main { grid-row: 1 / 3; min-height: 640px; }
.story-panel img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.story-panel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(12,20,26,0.96) 0%, rgba(12,20,26,0.72) 32%, rgba(12,20,26,0.18) 68%, rgba(12,20,26,0.03) 84%); }
.story-panel > div:last-child { position: absolute; z-index: 2; left: 34px; right: 34px; bottom: 34px; }
.story-panel span { display: block; margin-bottom: 11px; color: #ffd198; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.story-panel strong { display: block; max-width: 570px; font-size: clamp(26px, 2.8vw, 42px); line-height: 1.08; }
.story-panel p { max-width: 560px; margin: 16px 0 0; color: rgba(255,255,255,0.72); font-size: 17px; }
.story-panel:hover img { transform: scale(1.035); }
.story-light { color: var(--ink); background: var(--mint); }
.story-light::after { background: linear-gradient(0deg, rgba(234,241,239,1), rgba(234,241,239,0.08)); }
.story-light span { color: var(--orange-dark); }
.asset-pulse { position: absolute !important; inset: 24px 26px auto auto !important; width: 168px; height: 168px; display: grid; place-content: center; text-align: center; background: var(--surface); border-radius: 50%; box-shadow: var(--shadow); }
.asset-pulse i { position: absolute; inset: -9px; border: 1px solid rgba(241,90,36,0.25); border-radius: 50%; }
.asset-pulse b { font-size: 27px; }
.asset-pulse small { color: #4f806d; font-weight: 600; }
.service-priority-strip { display: grid; grid-template-columns: repeat(4, 1fr); padding: 0 var(--page) 110px; background: var(--surface); }
.service-priority-strip a { min-height: 128px; display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 10px; padding: 20px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); transition: color 180ms ease, background 180ms ease; }
.service-priority-strip a:first-child { border-left: 1px solid var(--line); }
.service-priority-strip a:hover { color: var(--orange-dark); background: var(--mist); }
.service-priority-strip span { color: var(--orange); font-size: 11px; font-weight: 700; }
.service-priority-strip strong { font-size: 16px; font-weight: 600; line-height: 1.15; }

.services-showcase { padding: 130px var(--page); background: var(--surface); }
.services-showcase-heading { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 80px; align-items: end; margin-bottom: 58px; }
.services-showcase-heading h2 { max-width: 780px; font-size: clamp(42px, 4.7vw, 68px); line-height: 1.03; }
.services-showcase-heading > p { max-width: 520px; margin: 0 0 7px; color: var(--muted); font-size: 18px; }
.service-mosaic { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: minmax(320px, auto); gap: 16px; }
.service-tile { position: relative; min-height: 360px; grid-column: span 4; overflow: hidden; color: #ffffff; background: var(--dark-panel); border-radius: 8px; box-shadow: 0 18px 46px rgba(23,34,43,0.12); }
.service-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(12,20,26,0.97) 0%, rgba(12,20,26,0.78) 40%, rgba(12,20,26,0.16) 76%, rgba(12,20,26,0.02) 100%); }
.service-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform 450ms ease; }
.service-tile > div { position: absolute; z-index: 2; left: 30px; right: 30px; bottom: 28px; }
.service-tile span { display: block; margin-bottom: 10px; color: #ffd198; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.service-tile h3 { max-width: 620px; font-size: clamp(25px, 2.2vw, 35px); font-weight: 600; line-height: 1.08; }
.service-tile p { max-width: 650px; margin: 15px 0 19px; color: rgba(255,255,255,0.76); font-size: 15px; line-height: 1.48; }
.service-tile b { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 600; }
.service-tile b::after { content: "+"; display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid rgba(255,255,255,0.48); border-radius: 50%; }
.service-tile:hover img { transform: scale(1.035); }
.service-tile-large { grid-column: span 7; grid-row: span 2; min-height: 736px; }
.service-tile-side { grid-column: span 5; }
.service-tile-large > div { left: 40px; right: 40px; bottom: 40px; }
.service-tile-large h3 { font-size: clamp(36px, 3.8vw, 54px); }
.service-tile-editorial { grid-column: span 4; color: var(--ink); background: #ffd9a7; box-shadow: none; }
.service-tile-editorial::before { content: "FRA"; position: absolute; top: 18px; right: 25px; color: rgba(207,65,18,0.13); font-family: Georgia, "Times New Roman", serif; font-size: 112px; font-style: italic; line-height: 1; }
.service-tile-editorial::after { display: none; }
.service-tile-editorial > div { position: relative; left: auto; right: auto; bottom: auto; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding: 30px; }
.service-tile-editorial span { color: #9f3d19; }
.service-tile-editorial p { color: #5d4a3e; }
.service-tile-editorial b::after { border-color: rgba(23,34,43,0.34); }
.service-tile-wide { grid-column: span 4; }

.phoenix-feature { overflow: hidden; padding: 128px var(--page) 80px; background-color: var(--paper); background-image: linear-gradient(rgba(23,34,43,0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(23,34,43,0.025) 1px, transparent 1px); background-size: 34px 34px; }
.phoenix-heading { display: grid; grid-template-columns: 0.6fr 1.2fr 0.7fr; gap: 34px; align-items: end; margin-bottom: 72px; }
.phoenix-heading .eyebrow { align-self: start; }
.phoenix-heading h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(50px, 5.6vw, 82px); font-style: italic; font-weight: 400; line-height: 0.98; }
.phoenix-heading > p:not(.eyebrow) { margin-bottom: 0; color: var(--muted); font-size: 19px; }
.phoenix-heading .button { align-self: end; justify-self: start; grid-column: 3; }
.phoenix-stage { position: relative; min-height: 650px; padding: 42px 140px 42px 0; }
.real-phoenix-stage { min-height: 680px; padding: 0 150px 0 0; }
.phoenix-workstation, .phoenix-dashboard-shot { position: absolute; overflow: hidden; margin: 0; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 32px 84px rgba(23,34,43,0.18); }
.phoenix-workstation { inset: 0 auto 90px 0; width: 79%; }
.phoenix-workstation::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(12,20,26,0.58), rgba(12,20,26,0) 46%); }
.phoenix-workstation img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.phoenix-dashboard-shot { z-index: 2; left: 7%; bottom: 0; width: 60%; padding: 9px; }
.phoenix-dashboard-shot img { width: 100%; height: auto; }
.phoenix-workstation figcaption, .phoenix-dashboard-shot figcaption { position: absolute; z-index: 2; left: 20px; bottom: 17px; color: #ffffff; font-size: 11px; font-weight: 600; }
.phoenix-dashboard-shot figcaption { left: auto; right: 15px; bottom: 13px; padding: 6px 9px; color: var(--ink); background: rgba(255,255,255,0.9); border-radius: 4px; }
.real-phoenix-stage .phone-video { right: 0; bottom: 10px; }
.software-shell { overflow: hidden; color: var(--ink); background: #f7f9f9; border: 1px solid rgba(23,34,43,0.13); border-radius: 8px; box-shadow: 0 34px 90px rgba(23,34,43,0.16); }
.phoenix-stage .software-shell { width: 92%; min-height: 560px; transform: perspective(1800px) rotateY(3deg) rotateX(1deg); transform-origin: left center; }
.software-topbar { min-height: 58px; display: flex; align-items: center; gap: 14px; padding: 0 20px; background: var(--surface); border-bottom: 1px solid var(--line); font-size: 13px; }
.software-topbar > span:last-child { margin-left: auto; color: #4f806d; font-weight: 600; }
.software-mark { display: grid; place-items: center; width: 31px; height: 31px; color: var(--white); background: var(--orange); border-radius: 50%; font-weight: 700; }
.software-body { display: grid; grid-template-columns: 70px 1fr; min-height: 500px; }
.software-body aside { display: grid; align-content: start; justify-content: center; gap: 22px; padding-top: 32px; background: var(--dark-panel); }
.software-body aside b { width: 20px; height: 20px; border: 2px solid rgba(255,255,255,0.45); border-radius: 5px; }
.software-body aside b:first-child { background: var(--orange); border-color: var(--orange); }
.software-content { padding: 32px; }
.software-title { display: flex; justify-content: space-between; align-items: end; margin-bottom: 26px; }
.software-title small, .software-title > span { color: var(--muted); font-size: 10px; font-weight: 600; letter-spacing: 0.1em; }
.software-title strong { display: block; margin-top: 4px; font-size: 25px; }
.metric-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.metric-row article { position: relative; min-height: 120px; padding: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.metric-row span { display: block; color: var(--muted); font-size: 12px; }
.metric-row strong { display: block; margin-top: 8px; font-size: 32px; }
.metric-row i { position: absolute; right: 17px; bottom: 19px; width: 9px; height: 9px; background: #86a0ad; border-radius: 50%; box-shadow: 0 0 0 6px rgba(134,160,173,0.15); }
.metric-row i.good { background: #4f9f7c; box-shadow: 0 0 0 6px rgba(79,159,124,0.15); }
.metric-row i.warn { background: var(--gold); box-shadow: 0 0 0 6px rgba(242,170,59,0.18); }
.software-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 14px; margin-top: 14px; }
.chart-panel, .action-panel { min-height: 220px; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.chart-panel > span, .action-panel > span { color: var(--muted); font-size: 12px; font-weight: 600; }
.chart-bars { height: 145px; display: flex; align-items: end; gap: 10px; padding-top: 24px; border-bottom: 1px solid var(--line); }
.chart-bars i { flex: 1; height: 42%; background: #dce7e6; border-radius: 4px 4px 0 0; }
.chart-bars i:nth-child(2) { height: 57%; }.chart-bars i:nth-child(3) { height: 48%; }.chart-bars i:nth-child(4) { height: 72%; background: #f7c17b; }.chart-bars i:nth-child(5) { height: 68%; }.chart-bars i:nth-child(6) { height: 84%; background: var(--orange); }.chart-bars i:nth-child(7) { height: 91%; }
.action-panel { display: grid; align-content: start; gap: 10px; }
.action-panel b { display: flex; justify-content: space-between; gap: 10px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.action-panel em { color: #4f806d; font-style: normal; }
.phone-video, .page-video { position: relative; overflow: hidden; background: var(--dark-panel); border: 9px solid var(--dark-panel); border-radius: 28px; box-shadow: 0 30px 80px rgba(23,34,43,0.24); }
.phone-video { position: absolute; z-index: 3; right: 0; bottom: 0; width: 245px; aspect-ratio: 9 / 16; }
.phone-video video, .page-video video { display: block; width: 100%; height: 100%; object-fit: cover; }
.video-prompt { position: absolute; left: 12px; right: 12px; bottom: 54px; display: grid; gap: 7px; padding: 15px; color: var(--white); background: rgba(23,34,43,0.84); border: 1px solid rgba(255,255,255,0.15); border-radius: 8px; backdrop-filter: blur(12px); transition: opacity 180ms ease, visibility 180ms ease; }
.video-prompt.is-hidden { opacity: 0; visibility: hidden; }
.video-prompt span { color: #ffd198; font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.video-prompt strong { font-size: 15px; line-height: 1.2; }
.video-prompt button { position: relative; min-height: 39px; padding: 0 13px 0 35px; color: var(--white); background: var(--orange); border: 0; border-radius: 999px; font-size: 12px; font-weight: 700; cursor: pointer; }
.video-prompt button::before { content: ""; position: absolute; left: 15px; top: 50%; transform: translateY(-50%); width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 8px solid currentColor; }
.phoenix-capabilities { display: flex; justify-content: space-between; gap: 18px; padding: 30px 0 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; font-weight: 600; }
.phoenix-capabilities span::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 10px; background: var(--orange); border-radius: 50%; }

.coverage-feature { display: grid; grid-template-columns: 1fr minmax(420px, 0.8fr); gap: 80px; align-items: center; padding: 130px var(--page); background: var(--surface); }
.coverage-copy h2 { max-width: 700px; margin-bottom: 25px; font-size: clamp(38px, 4vw, 58px); line-height: 1.06; }
.coverage-copy > p:not(.eyebrow) { max-width: 640px; color: var(--muted); font-size: 17px; }
.coverage-list { display: flex; flex-wrap: wrap; gap: 9px; margin: 32px 0; }
.coverage-list span { padding: 9px 13px; background: var(--mist); border: 1px solid var(--line); border-radius: 999px; font-size: 12px; font-weight: 600; }
.map-stage { position: relative; min-height: 650px; overflow: hidden; display: grid; place-items: center; padding: 32px 34px 54px; background: var(--mint); border-radius: 8px; }
.uk-map-image { width: min(72%, 370px); max-height: 520px; object-fit: contain; mix-blend-mode: multiply; filter: sepia(1) saturate(2.1) hue-rotate(326deg) brightness(1.04); }
.map-stage > strong { position: absolute; left: 28px; bottom: 31px; font-size: 22px; }
.map-stage > small { position: absolute; right: 22px; bottom: 19px; max-width: 180px; color: var(--muted); font-size: 9px; text-align: right; }
.map-dot { position: absolute; width: 12px; height: 12px; background: var(--orange); border: 3px solid var(--white); border-radius: 50%; box-shadow: 0 0 0 7px rgba(241,90,36,0.18); }
.dot-one { top: 25%; left: 52%; }.dot-two { top: 44%; left: 57%; }.dot-three { top: 62%; left: 59%; }.dot-four { top: 77%; left: 48%; }
.regional-map-stage { display: block; padding: 0 0 58px; background: var(--surface); border: 1px solid var(--line); }
.coverage-map { width: 100%; height: 592px; display: block; border: 0; filter: saturate(0.78) contrast(1.03); }
.regional-map-stage > strong { bottom: 17px; font-size: 18px; }
.regional-map-stage > small { bottom: 17px; }
.trust-marquee { display: grid; grid-template-columns: repeat(5, 1fr); background: var(--orange); color: var(--white); }
.trust-marquee span { min-height: 112px; display: grid; place-items: center; padding: 22px; border-right: 1px solid rgba(255,255,255,0.23); text-align: center; font-size: 16px; font-weight: 700; }
.google-reviews { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: 74px; align-items: center; padding: 120px var(--page); background: var(--paper); }
.reviews-copy { max-width: 590px; }
.google-mark { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 28px; color: #4285f4; background: var(--surface); border: 1px solid var(--line); border-radius: 50%; box-shadow: var(--shadow); font-family: Arial, sans-serif; font-size: 29px; font-weight: 700; }
.reviews-copy h2 { margin-bottom: 20px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(38px, 4vw, 56px); font-style: italic; font-weight: 400; line-height: 1.06; }
.reviews-copy > p:not(.eyebrow) { margin-bottom: 28px; color: var(--muted); font-size: 18px; }
.google-profile-frame { min-height: 480px; overflow: hidden; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
.google-profile-frame iframe { width: 100%; height: 480px; display: block; border: 0; }
.pathways { display: grid; grid-template-columns: 1.25fr 0.85fr 0.85fr; gap: 1px; padding: 130px var(--page); background: var(--mist); }
.pathways a { position: relative; min-height: 420px; overflow: hidden; display: flex; flex-direction: column; padding: 238px 34px 34px; background: var(--surface); border: 1px solid var(--line); }
.pathways a:first-child { min-height: 500px; color: var(--white); background: var(--dark-panel); }
.pathways a::before { content: ""; position: absolute; inset: 0 0 auto; height: 210px; background-position: center; background-size: cover; transition: transform 400ms ease; }
.pathways a:first-child::before { height: 100%; background-image: linear-gradient(0deg, rgba(17,27,34,0.88), rgba(17,27,34,0.08) 72%), url("fire-door-inspection-case-study.png"); }
.pathways a:nth-child(2)::before { background-image: url("peterborough-united-stadium.jpg"); background-position: center 46%; }
.pathways a:nth-child(3)::before { background-image: url("https://images.unsplash.com/photo-1551288049-bebda4e38f71?auto=format&fit=crop&w=900&q=85"); }
.pathways a:hover::before { transform: scale(1.035); }
.pathways a > * { position: relative; z-index: 1; }
.pathways span { color: var(--orange); font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.pathways strong { display: block; margin-top: auto; font-size: clamp(25px, 2.4vw, 36px); font-weight: 500; line-height: 1.12; }
.pathways i { margin-top: 22px; color: var(--muted); font-style: normal; font-weight: 600; }
.pathways a:first-child i { color: rgba(255,255,255,0.65); }
.final-callout { padding: 120px var(--page); color: var(--white); background: linear-gradient(90deg, rgba(23,34,43,1) 0%, rgba(23,34,43,0.96) 52%, rgba(23,34,43,0.42)), url("hero-fire-engineer.png") right 38% center / cover; }
.final-callout .eyebrow { color: #ffc27a; }
.final-callout h2 { margin-bottom: 38px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(50px, 6vw, 86px); font-style: italic; font-weight: 400; line-height: 0.98; }

/* Shared subpages */
.sub-page main { padding-top: 0; }
.page-hero { position: relative; min-height: 760px; display: grid; align-items: end; padding: 170px var(--page) 92px; overflow: hidden; }
.image-hero { color: var(--white); background-size: cover; background-position: center; }
.page-hero-wash { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,25,32,0.94) 0%, rgba(15,25,32,0.78) 42%, rgba(15,25,32,0.34) 72%, rgba(15,25,32,0.12) 100%); }
.page-hero-copy { position: relative; z-index: 1; max-width: 880px; }
.page-hero-copy .eyebrow { color: #ffd198; }
.page-hero h1 { max-width: 900px; margin-bottom: 24px; font-size: clamp(48px, 5.5vw, 80px); line-height: 0.98; }
.page-hero-copy > p:last-child { max-width: 700px; margin: 0; color: rgba(255,255,255,0.78); font-size: 21px; }
.hero-jump { position: absolute; z-index: 2; right: var(--page); bottom: 96px; display: flex; align-items: center; gap: 14px; font-weight: 600; }
.hero-jump span { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,0.6); border-radius: 50%; }
.services-hero { background-image: url("https://images.unsplash.com/photo-1504917595217-d4dc5ebe6122?auto=format&fit=crop&w=2000&q=88"); }
.industries-hero { background-image: url("https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=2000&q=88"); }
.cases-hero { background-image: url("hero-fire-engineer.png"); }
.about-hero { background-image: url("hero-fire-engineer.png"); background-position: center; }
.resources-hero { background-image: url("compartmentation-survey.jpg"); background-position: center 46%; }
.site-footer { display: grid; grid-template-columns: 0.7fr 1fr auto; align-items: center; gap: 40px; padding: 46px var(--page); background: #f1f4f3; border-top: 1px solid var(--line); }
.footer-brand img { width: 185px; }
.site-footer p { max-width: 600px; margin: 0; color: var(--muted); font-size: 13px; }
.site-footer nav { display: flex; gap: 22px; font-size: 13px; font-weight: 600; }
.page-callout { display: flex; justify-content: space-between; align-items: end; gap: 40px; padding: 100px var(--page); color: var(--white); background: var(--dark-panel); }
.page-callout .eyebrow { color: #ffc27a; }
.page-callout h2 { max-width: 850px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(38px, 4.5vw, 62px); font-style: italic; font-weight: 400; line-height: 1.08; }

/* Services */
.service-intro { display: grid; grid-template-columns: 0.55fr 1.2fr 0.8fr; gap: 40px; align-items: end; padding: 120px var(--page); }
.service-intro h2 { grid-column: 2; }
.service-intro > p:last-child { margin: 0; color: var(--muted); font-size: 18px; }
.service-index { padding: 0 var(--page) 120px; }
.service-index article { display: grid; grid-template-columns: 80px minmax(0, 0.8fr) minmax(360px, 1.15fr); gap: 34px; align-items: center; min-height: 420px; padding: 42px 0; border-top: 1px solid var(--line); }
.service-index article:last-child { border-bottom: 1px solid var(--line); }
.service-no { align-self: start; color: var(--orange); font-size: 13px; font-weight: 700; }
.service-index article > div:nth-child(2) > p:first-child { color: var(--orange-dark); font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.service-index h2 { margin-bottom: 18px; font-size: clamp(34px, 3.3vw, 50px); line-height: 1.06; }
.service-index article > div:nth-child(2) > p:not(:first-child) { max-width: 570px; color: var(--muted); font-size: 17px; }
.service-index article > div:nth-child(2) > a { font-weight: 700; text-decoration: underline; text-decoration-color: var(--orange); text-underline-offset: 6px; }
.service-index article > img, .service-visual { width: 100%; height: 340px; object-fit: cover; border-radius: 8px; }
.service-visual { position: relative; overflow: hidden; background: var(--mint); }
.phoenix-service-visual { display: grid; align-content: center; justify-items: center; color: #ffffff; background: linear-gradient(145deg, #17222b, #25363e); }
.phoenix-service-visual::before { content: ""; position: absolute; inset: 28px; border: 1px solid rgba(255,255,255,0.14); border-radius: 8px; }
.phoenix-service-visual span { color: #ffc48a; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.phoenix-service-visual strong { margin-top: 8px; font-size: 76px; font-weight: 500; line-height: 1; }
.phoenix-service-visual i { width: 58%; height: 10px; margin: 27px 0 14px; overflow: hidden; background: rgba(255,255,255,0.14); border-radius: 999px; }
.phoenix-service-visual i::before { content: ""; display: block; width: 94%; height: 100%; background: var(--orange); border-radius: inherit; }
.phoenix-service-visual small { color: rgba(255,255,255,0.64); }
.door-visual::before { content: ""; position: absolute; left: 20%; top: 12%; bottom: 0; width: 48%; background: var(--dark-panel); border: 14px solid #36444d; }
.door-visual i { position: absolute; z-index: 1; left: 46%; top: 49%; width: 12px; height: 12px; background: var(--gold); border-radius: 50%; }
.door-visual b, .door-visual small { position: absolute; z-index: 2; right: 26px; padding: 10px 13px; background: var(--surface); border-radius: 6px; box-shadow: var(--shadow); }
.door-visual b { top: 28px; color: var(--orange); font-size: 20px; }.door-visual small { bottom: 26px; color: #4f806d; font-weight: 600; }
.light-visual { display: flex; align-items: center; justify-content: center; gap: 28px; background: var(--dark-panel); }
.light-visual i { width: 55px; height: 120px; background: #ffefbe; border-radius: 50%; box-shadow: 0 0 60px rgba(255,221,143,0.72); }
.light-visual i:nth-child(2) { opacity: 0.72; }.light-visual i:nth-child(3) { opacity: 0.42; }
.light-visual strong { position: absolute; left: 28px; bottom: 25px; color: #bdf3df; font-size: 13px; }
.alarm-visual { display: grid; place-items: center; color: #ffffff; background: #eef0ed; }
.alarm-visual i { width: 155px; height: 155px; display: block; background: #f8f8f5; border: 18px solid #ffffff; border-radius: 50%; box-shadow: 0 20px 50px rgba(23,34,43,0.16), inset 0 0 0 4px #d9dedd; }
.alarm-visual i::before { content: ""; display: block; width: 13px; height: 13px; margin: 53px auto 0; background: #63a97f; border-radius: 50%; box-shadow: 0 0 0 8px rgba(99,169,127,0.14); }
.alarm-visual b, .alarm-visual small { position: absolute; left: 28px; color: #17222b; }
.alarm-visual b { bottom: 44px; }.alarm-visual small { bottom: 25px; color: #67747c; }
.extinguisher-visual { color: #ffffff; background: #f2eee9; }
.extinguisher-visual i { position: absolute; left: 50%; top: 60px; width: 92px; height: 220px; transform: translateX(-50%); background: #d94332; border-radius: 42px 42px 17px 17px; box-shadow: 0 24px 48px rgba(110,33,25,0.24); }
.extinguisher-visual i::before { content: ""; position: absolute; left: 21px; top: -38px; width: 50px; height: 53px; border: 10px solid #26343d; border-bottom: 0; border-radius: 10px 10px 0 0; }
.extinguisher-visual i::after { content: ""; position: absolute; left: 18px; top: 74px; width: 56px; height: 70px; background: #ffffff; border-radius: 4px; }
.extinguisher-visual b, .extinguisher-visual small { position: absolute; left: 27px; color: #17222b; }.extinguisher-visual b { bottom: 43px; font-size: 18px; }.extinguisher-visual small { bottom: 24px; color: #65717a; }
.service-band { display: grid; grid-template-columns: 0.4fr 1.6fr; gap: 40px; padding: 68px var(--page); background: var(--mint); }
.service-band > span { color: var(--orange-dark); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; }
.service-band > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 24px; font-size: 18px; }

/* Phoenix page */
.phoenix-hero { min-height: 900px; display: grid; grid-template-columns: 0.78fr 1.22fr; gap: 60px; align-items: center; overflow: hidden; padding: 150px var(--page) 90px; background: var(--paper); }
.phoenix-hero-copy { position: relative; z-index: 2; }
.phoenix-hero h1 { margin-bottom: 28px; font-size: clamp(52px, 5.6vw, 80px); line-height: 0.98; }
.phoenix-hero h1 span { color: var(--orange); }
.phoenix-hero-copy > p:not(.eyebrow) { max-width: 640px; margin-bottom: 32px; color: var(--muted); font-size: 20px; }
.phoenix-hero-scene { position: relative; min-width: 780px; padding: 60px 0 110px; }
.hero-shell { min-height: 560px; transform: perspective(1800px) rotateY(-5deg) rotateX(1deg); }
.scan-card { position: absolute; left: -38px; bottom: 38px; width: 190px; display: grid; gap: 7px; padding: 22px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
.scan-card .qr-code { width: 72px; height: 72px; margin-bottom: 10px; background: repeating-conic-gradient(var(--ink) 0 25%, transparent 0 50%) 0 / 18px 18px; border: 7px solid var(--white); outline: 1px solid var(--line); }
.scan-card strong { font-size: 19px; }.scan-card span { color: var(--muted); font-size: 12px; }
.phoenix-real-dashboard { position: relative; overflow: hidden; margin: 0; padding: 9px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 34px 90px rgba(23,34,43,0.18); transform: perspective(1800px) rotateY(-4deg) rotateX(1deg); }
.phoenix-real-dashboard img { width: 100%; height: auto; }
.phoenix-real-dashboard figcaption { position: absolute; right: 18px; bottom: 16px; padding: 7px 10px; color: var(--ink); background: rgba(255,255,255,0.92); border-radius: 4px; font-size: 11px; font-weight: 600; }
.luminaire-card { position: absolute; z-index: 2; left: -34px; bottom: 40px; width: 230px; display: grid; gap: 7px; padding: 24px; color: #ffffff; background: var(--dark-panel); border-radius: 8px; box-shadow: var(--shadow); }
.luminaire-card span { color: #ffd198; font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.luminaire-card strong { font-size: 21px; line-height: 1.12; }
.luminaire-card small { color: rgba(255,255,255,0.7); line-height: 1.45; }
.platform-intro { display: grid; grid-template-columns: 0.45fr 1.55fr; gap: 50px; padding: 130px var(--page); }
.platform-intro h2 { max-width: 1000px; }
.phoenix-showcase { display: grid; grid-template-columns: minmax(300px, 0.55fr) 1fr; gap: 90px; align-items: center; padding: 0 var(--page) 130px; }
.page-video { justify-self: center; width: min(100%, 390px); aspect-ratio: 9 / 16; }
.page-video .video-prompt { bottom: 64px; padding: 19px; }
.feature-stack { border-top: 1px solid var(--line); }
.feature-stack article { display: grid; grid-template-columns: 64px 1fr; gap: 24px; padding: 32px 0; border-bottom: 1px solid var(--line); }
.feature-stack article > span { color: var(--orange); font-size: 12px; font-weight: 700; }
.feature-stack h3 { margin-bottom: 7px; font-size: 28px; }
.feature-stack p { max-width: 650px; margin: 0; color: var(--muted); }
.phoenix-flow { display: flex; align-items: center; justify-content: center; gap: 26px; padding: 56px var(--page); color: var(--white); background: var(--orange); font-size: clamp(16px, 2vw, 25px); font-weight: 700; }
.phoenix-flow i { width: 38px; height: 1px; background: rgba(255,255,255,0.55); }
.brochure-section { display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 90px; align-items: center; padding: 130px var(--page); background: var(--mist); }
.brochure-copy h2 { margin-bottom: 22px; font-size: clamp(40px, 4vw, 58px); line-height: 1.06; }
.brochure-copy > p:not(.eyebrow) { max-width: 560px; margin-bottom: 28px; color: var(--muted); font-size: 18px; }
.brochure-cover { position: relative; min-height: 650px; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) 230px; grid-template-rows: auto 1fr; gap: 46px; padding: 44px; color: var(--ink); background: var(--paper); border: 1px solid rgba(23,34,43,0.12); border-radius: 8px; box-shadow: var(--shadow); }
.brochure-cover::before { content: ""; position: absolute; right: -80px; top: -90px; width: 330px; height: 330px; background: #f8c279; border-radius: 50%; opacity: 0.78; }
.brochure-brand { position: relative; z-index: 2; grid-column: 1 / 3; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.brochure-brand img { width: 210px; }
.brochure-brand span { padding: 9px 12px; border: 1px solid rgba(241,90,36,0.35); border-radius: 999px; color: var(--orange-dark); font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.brochure-title { align-self: end; }
.brochure-title strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: clamp(34px, 3.5vw, 52px); font-weight: 400; line-height: 1.03; }
.brochure-title p { max-width: 370px; margin: 24px 0 0; color: var(--muted); font-size: 17px; }
.brochure-device { position: relative; align-self: end; min-height: 350px; display: grid; align-content: center; justify-items: center; padding: 26px; color: var(--white); background: var(--dark-panel); border-radius: 22px; box-shadow: 0 28px 70px rgba(23,34,43,0.25); }
.brochure-device i { width: 100%; height: 118px; margin-bottom: 34px; background: linear-gradient(145deg, var(--orange), var(--gold)); border-radius: 12px; }
.brochure-device b { font-size: 52px; }.brochure-device span { color: rgba(255,255,255,0.68); font-size: 12px; }

/* Industries */
.sector-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; padding: 120px var(--page); }
.sector-grid article { position: relative; min-height: 500px; overflow: hidden; color: var(--white); background: var(--dark-panel); border-radius: 8px; }
.sector-grid article.sector-wide { grid-column: 1 / 3; min-height: 640px; }
.sector-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.sector-grid article::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(16,26,33,0.86), rgba(16,26,33,0.08) 63%); }
.sector-grid article > div { position: absolute; z-index: 2; left: 36px; right: 36px; bottom: 34px; }
.sector-grid span { color: #ffd198; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; }
.sector-grid h2 { max-width: 700px; margin-top: 12px; font-size: clamp(33px, 3.5vw, 52px); line-height: 1.06; }
.sector-grid p { max-width: 620px; margin: 18px 0 0; color: rgba(255,255,255,0.72); }
.sector-grid article:hover img { transform: scale(1.035); }
.sector-grid .sector-plain, .sector-grid .sector-dark { display: flex; flex-direction: column; justify-content: flex-end; padding: 38px; }
.sector-grid .sector-plain { color: var(--ink); background: var(--mint); }
.sector-grid .sector-plain::after, .sector-grid .sector-dark::after { display: none; }
.sector-grid .sector-plain span { color: var(--orange-dark); }.sector-grid .sector-plain p { color: var(--muted); }
.sector-grid .sector-dark { background: var(--orange); }.sector-grid .sector-dark span { color: #ffe0bd; }
.industry-statement { display: grid; grid-template-columns: 0.5fr 1.4fr auto; gap: 40px; align-items: end; padding: 100px var(--page); background: var(--paper); }
.industry-statement > p { color: var(--orange-dark); font-weight: 700; }
.industry-statement h2 { font-size: clamp(36px, 3.7vw, 54px); line-height: 1.08; }

/* Case studies */
.case-feature { display: grid; grid-template-columns: 1.1fr 0.9fr; min-height: 700px; }
.case-feature > img { width: 100%; height: 100%; object-fit: cover; }
.case-feature > div { display: flex; flex-direction: column; justify-content: center; padding: 70px clamp(40px, 6vw, 100px); background: var(--paper); }
.case-feature > div > span, .case-list span { color: var(--orange-dark); font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.case-feature h2 { margin: 16px 0 22px; font-size: clamp(38px, 3.8vw, 56px); line-height: 1.06; }
.case-feature > div > p { color: var(--muted); font-size: 18px; }
.case-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 35px; }
.case-results b { padding-top: 16px; border-top: 2px solid var(--orange); color: var(--muted); font-size: 11px; }
.case-results strong { display: block; color: var(--ink); font-size: 25px; }
.case-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; padding: 120px var(--page); background: var(--mist); }
.case-list article { min-height: 420px; display: flex; flex-direction: column; padding: 42px; background: var(--surface); border: 1px solid var(--line); }
.case-list h2 { margin: auto 0 18px; font-size: clamp(32px, 3.2vw, 46px); line-height: 1.06; }
.case-list p { color: var(--muted); }.case-list a { font-weight: 700; text-decoration: underline; text-decoration-color: var(--orange); text-underline-offset: 6px; }
.case-study-intro { display: grid; grid-template-columns: 0.4fr 1fr 0.85fr; gap: 50px; align-items: end; padding: 110px var(--page) 70px; background: var(--surface); }
.case-study-intro h2 { max-width: 650px; font-size: clamp(36px, 3.8vw, 54px); line-height: 1.08; }
.case-study-intro > p:last-child { margin: 0; color: var(--muted); font-size: 17px; }
.case-study-grid { display: grid; grid-template-columns: 1fr; gap: 20px; padding: 0 var(--page) 120px; }
.case-study-card { min-height: 650px; display: grid; grid-template-columns: minmax(340px, 0.72fr) 1fr; overflow: hidden; background: var(--paper); border: 1px solid var(--line); border-radius: 8px; transition: transform 220ms ease, box-shadow 220ms ease; }
.case-study-card-featured { grid-column: 1; }
.case-study-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.case-study-card figure { position: relative; min-height: 100%; margin: 0; overflow: hidden; background: #e7e3dc; }
.case-study-card figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(14,22,28,0.5), transparent 42%); }
.case-study-card img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform 400ms ease; }
.case-study-card:hover img { transform: scale(1.025); }
.case-study-card figcaption { position: absolute; z-index: 1; left: 22px; bottom: 20px; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.case-study-card > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 4vw, 68px); }
.case-study-card span { color: var(--orange-dark); font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.case-study-card h2 { margin: 16px 0 20px; font-size: clamp(32px, 3.1vw, 47px); line-height: 1.08; }
.case-study-card p { max-width: 520px; color: var(--muted); font-size: 16px; }
.case-study-card b { margin-top: 30px; color: var(--ink); font-size: 13px; font-weight: 700; }
.case-study-card b i { margin-left: 8px; color: var(--orange); font-style: normal; }

.case-detail-hero { min-height: 820px; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(370px, 0.88fr); color: #fff; background: #131e25; }
.case-detail-copy { display: flex; flex-direction: column; justify-content: center; padding: 150px clamp(55px, 8vw, 130px) 90px var(--page); }
.case-back { align-self: flex-start; margin-bottom: 78px; color: #b8c2c5; font-size: 12px; font-weight: 700; }
.case-back::before { content: "←"; margin-right: 9px; color: #ff9d62; }
.case-detail-copy .eyebrow { color: #ffc391; }
.case-detail-copy h1 { max-width: 780px; margin-bottom: 26px; font-size: clamp(54px, 6.2vw, 88px); line-height: 0.98; }
.case-lead { max-width: 700px; color: rgba(255,255,255,0.72); font-size: clamp(18px, 1.6vw, 23px); line-height: 1.52; }
.case-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.case-tags span { padding: 8px 11px; color: #f8d6bb; border: 1px solid rgba(255,255,255,0.22); border-radius: 999px; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.case-detail-hero figure { position: relative; min-height: 820px; margin: 0; overflow: hidden; background: #e8e2d9; }
.case-detail-hero figure::after { content: ""; position: absolute; inset: 0; box-shadow: inset 24px 0 60px rgba(13,21,26,0.24); pointer-events: none; }
.case-detail-hero figure img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.case-detail-hero figcaption { position: absolute; z-index: 1; right: 24px; bottom: 22px; padding: 8px 11px; color: #fff; background: rgba(19,30,37,0.78); border-radius: 5px; font-size: 10px; font-weight: 700; text-transform: uppercase; backdrop-filter: blur(10px); }
.case-outcomes { display: grid; grid-template-columns: repeat(4, 1fr); padding: 0 var(--page); background: var(--orange); color: #fff; }
.case-outcomes span { min-height: 118px; display: flex; flex-direction: column; justify-content: center; padding: 20px 26px; border-right: 1px solid rgba(255,255,255,0.25); font-size: 12px; }
.case-outcomes span:last-child { border-right: 0; }
.case-outcomes b { margin-bottom: 2px; font-size: 26px; font-weight: 600; line-height: 1.1; }
.case-detail-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(310px, 0.42fr); gap: 10%; align-items: start; padding: 120px var(--page); }
.case-detail-content article { max-width: 770px; }
.case-detail-content article .eyebrow { margin-top: 60px; }
.case-detail-content article .eyebrow:first-child { margin-top: 0; }
.case-detail-content article h2 { margin-bottom: 24px; font-size: clamp(34px, 3.2vw, 48px); line-height: 1.1; }
.case-detail-content article p:not(.eyebrow) { color: var(--muted); font-size: 17px; }
.case-result-list { display: grid; gap: 0; margin: 30px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.case-result-list li { position: relative; padding: 15px 0 15px 30px; border-bottom: 1px solid var(--line); }
.case-result-list li::before { content: "✓"; position: absolute; left: 0; color: var(--orange-dark); font-weight: 700; }
.case-download { position: sticky; top: 110px; padding: 22px; background: var(--paper); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
.case-download img { width: 100%; max-height: 370px; object-fit: cover; object-position: center top; border-radius: 5px; }
.case-download span { display: block; margin-top: 24px; color: var(--orange-dark); font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.case-download h2 { margin: 8px 0 12px; font-size: 29px; line-height: 1.08; }
.case-download p { color: var(--muted); font-size: 14px; }
.case-download .button { width: 100%; margin-top: 8px; }
.case-quote { padding: 105px var(--page); color: #fff; background: linear-gradient(120deg, #1b2a2c, #263a3d); text-align: center; }
.case-quote blockquote { max-width: 980px; margin: 0 auto 24px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 3.8vw, 54px); font-style: italic; line-height: 1.25; }
.case-quote p { margin: 0; color: #bdc9ca; font-size: 12px; font-weight: 700; text-transform: uppercase; }

/* About */
.about-intro { display: grid; grid-template-columns: 1fr 0.8fr; gap: 90px; align-items: end; padding: 130px var(--page); }
.about-intro h2 { max-width: 800px; font-size: clamp(42px, 4.7vw, 64px); line-height: 1.06; }
.about-intro > p { margin: 0; color: var(--muted); font-size: 20px; }
.values-line { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 var(--page) 130px; }
.values-line article { min-height: 310px; display: flex; flex-direction: column; padding: 30px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); }
.values-line article:first-child { border-left: 1px solid var(--line); }
.values-line span { color: var(--orange); font-size: 12px; font-weight: 700; }
.values-line h3 { margin: auto 0 12px; font-size: 31px; }.values-line p { margin: 0; color: var(--muted); }
.sponsor-feature { display: grid; grid-template-columns: 0.85fr 1.15fr; min-height: 620px; color: var(--white); background: var(--dark-panel); }
.sponsor-feature > div:first-child { display: flex; flex-direction: column; justify-content: center; padding: 70px var(--page); padding-right: 70px; }
.sponsor-feature .eyebrow { color: #ffd198; }
.sponsor-feature h2 { margin-bottom: 22px; font-size: clamp(40px, 4vw, 58px); line-height: 1.06; }
.sponsor-feature p:not(.eyebrow) { max-width: 590px; color: rgba(255,255,255,0.68); font-size: 18px; }
.sponsor-feature .button { align-self: flex-start; margin-top: 22px; }
.stadium-image { display: flex; flex-direction: column; justify-content: flex-end; padding: 46px; background: linear-gradient(0deg, rgba(16,26,33,0.82), rgba(16,26,33,0.02) 68%), url("peterborough-united-stadium.jpg") center 46% / cover; }
.stadium-image span { color: #ffd198; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }.stadium-image strong { margin-top: 10px; font-size: clamp(36px, 4vw, 58px); line-height: 1.02; }
.credential-line { display: grid; grid-template-columns: repeat(5, 1fr); background: var(--orange); color: var(--white); }
.credential-line span { min-height: 110px; display: grid; place-items: center; padding: 20px; border-right: 1px solid rgba(255,255,255,0.25); text-align: center; font-weight: 700; }

/* Resources */
.featured-resource { display: grid; grid-template-columns: 0.7fr 1.3fr; gap: 90px; align-items: center; padding: 120px var(--page); background: var(--mist); }
.resource-copy h2 { margin-bottom: 20px; font-size: clamp(40px, 4.2vw, 60px); line-height: 1.06; }.resource-copy > p:not(.eyebrow) { max-width: 560px; margin-bottom: 28px; color: var(--muted); font-size: 17px; }
.small-cover { min-height: 570px; }
.resource-index { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; padding: 120px var(--page); }
.resource-index a, .resource-index article { min-height: 390px; display: flex; flex-direction: column; padding: 34px; background: var(--paper); border: 1px solid var(--line); }
.resource-index span { color: var(--orange-dark); font-size: 11px; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; }
.resource-index strong { margin-top: auto; font-size: 32px; line-height: 1.05; }.resource-index p { color: var(--muted); }.resource-index i { color: var(--orange-dark); font-style: normal; font-weight: 700; }
.resource-upcoming article { background: var(--surface); }
.resource-document { position: relative; justify-self: center; width: min(100%, 530px); margin: 0; overflow: hidden; background: #e8e3da; border-radius: 8px; box-shadow: var(--shadow); }
.resource-document img { width: 100%; max-height: 680px; object-fit: cover; object-position: center top; }
.resource-document figcaption { position: absolute; right: 16px; bottom: 16px; padding: 8px 10px; color: #fff; background: rgba(19,30,37,0.82); border-radius: 5px; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.phoenix-resource { background: var(--surface); }
.resource-wide-image { width: 100%; min-height: 520px; height: 100%; object-fit: cover; border-radius: 8px; box-shadow: var(--shadow); }

/* Fire awareness training */
.training-hero { min-height: 850px; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, 0.72fr); align-items: center; gap: 8%; padding: 145px var(--page) 80px; background: linear-gradient(115deg, #f5f7f5, #fff9f2); }
.training-hero > div { max-width: 790px; }
.training-hero h1 { margin-bottom: 28px; font-size: clamp(56px, 6.2vw, 88px); line-height: 0.98; }
.training-hero > div > p:not(.eyebrow) { max-width: 650px; margin-bottom: 32px; color: var(--muted); font-size: 20px; }
.training-hero figure { position: relative; margin: 0; overflow: hidden; background: #e8e3da; border-radius: 8px; box-shadow: 0 30px 80px rgba(23,34,43,0.2); transform: rotate(1.5deg); }
.training-hero figure img { width: 100%; max-height: 680px; object-fit: cover; object-position: center top; }
.training-hero figcaption { position: absolute; right: 16px; bottom: 16px; padding: 8px 10px; color: #fff; background: rgba(19,30,37,0.82); border-radius: 5px; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.training-proof { display: grid; grid-template-columns: repeat(4, 1fr); padding: 0 var(--page); color: #fff; background: var(--ink); }
.training-proof span { min-height: 92px; display: grid; place-items: center; padding: 18px 24px; border-right: 1px solid rgba(255,255,255,0.16); text-align: center; font-size: 12px; font-weight: 700; }
.training-proof span:last-child { border-right: 0; }
.training-intro { display: grid; grid-template-columns: 1fr 0.82fr; gap: 10%; padding: 120px var(--page); }
.training-intro h2, .training-session-heading h2, .training-sectors h2, .training-download h2 { max-width: 760px; font-size: clamp(40px, 4.3vw, 62px); line-height: 1.07; }
.training-intro > div:last-child { align-self: end; color: var(--muted); font-size: 17px; }
.training-intro ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.training-intro li { padding: 14px 0; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 13px; font-weight: 700; }
.training-session { padding: 120px var(--page); background: var(--mist); }
.training-session-heading { display: grid; grid-template-columns: 0.35fr 1fr 0.8fr; gap: 44px; align-items: end; margin-bottom: 65px; }
.training-session-heading > p:last-child { margin: 0; color: var(--muted); font-size: 16px; }
.training-topic-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.training-topic-grid article { min-height: 290px; display: flex; flex-direction: column; padding: 32px; background: var(--surface); }
.training-topic-grid span { color: var(--orange-dark); font-size: 11px; font-weight: 700; }
.training-topic-grid h3 { margin: auto 0 12px; font-size: 28px; }
.training-topic-grid p { margin: 0; color: var(--muted); font-size: 14px; }
.training-sectors { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 10%; padding: 120px var(--page); background: var(--surface); }
.training-sector-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-self: end; border-top: 1px solid var(--line); }
.training-sector-list span { padding: 16px 12px 16px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 14px; font-weight: 600; }
.training-download { display: grid; grid-template-columns: minmax(260px, 0.62fr) 1fr; gap: 9%; align-items: center; padding: 100px var(--page); background: #ffe3bd; }
.training-download figure { max-width: 470px; margin: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 24px 60px rgba(70,46,25,0.2); }
.training-download figure img { width: 100%; max-height: 560px; object-fit: cover; object-position: center top; }
.training-download > div > p:not(.eyebrow) { max-width: 580px; margin: 22px 0 28px; color: #6a5a4c; font-size: 17px; }

/* Contact */
.contact-layout { min-height: 100vh; display: grid; grid-template-columns: 0.88fr 1.12fr; gap: 80px; align-items: center; padding: 150px var(--page) 90px; background: var(--paper); }
.contact-copy h1 { max-width: 690px; margin-bottom: 30px; font-size: clamp(48px, 5.2vw, 76px); line-height: 1; }.contact-copy > p:not(.eyebrow) { max-width: 620px; color: var(--muted); font-size: 18px; }
.contact-direct { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 570px; gap: 10px; margin-top: 30px; }
.contact-direct a { display: grid; gap: 3px; padding: 16px 18px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; transition: border-color 180ms ease, transform 180ms ease; }
.contact-direct a:hover { border-color: var(--orange); transform: translateY(-1px); }
.contact-direct span { color: var(--orange-dark); font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.contact-direct strong { font-size: 18px; font-weight: 600; }
.contact-notes { display: grid; gap: 14px; margin-top: 36px; }.contact-notes span { display: flex; align-items: center; gap: 17px; font-weight: 600; }.contact-notes b { display: grid; place-items: center; width: 38px; height: 38px; color: var(--orange); background: var(--surface); border: 1px solid var(--line); border-radius: 50%; font-size: 11px; }
.contact-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 21px; padding: 42px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
.form-intro { grid-column: 1 / 3; padding-bottom: 24px; border-bottom: 1px solid var(--line); }.form-intro span { display: block; color: var(--orange-dark); font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }.form-intro strong { display: block; margin-top: 8px; font-size: 31px; }
.contact-form label { display: grid; gap: 8px; color: var(--muted); font-size: 12px; font-weight: 700; }.contact-form .full { grid-column: 1 / 3; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; padding: 14px 15px; color: var(--ink); background: var(--mist); border: 1px solid transparent; border-radius: 6px; outline: 0; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--orange); background: var(--surface); }.contact-form textarea { resize: vertical; }.contact-form button { justify-self: start; }
.contact-form .consent { display: grid; grid-template-columns: 18px 1fr; align-items: start; gap: 11px; font-weight: 500; line-height: 1.45; }
.contact-form .consent input { width: 18px; height: 18px; margin: 1px 0 0; padding: 0; accent-color: var(--orange); }
.contact-form .consent a { color: var(--orange-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.form-status { grid-column: 1 / 3; min-height: 1.5em; margin: -3px 0 0; color: var(--muted); font-size: 12px; }
.whatsapp-button { position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); z-index: 70; display: grid; grid-template-columns: 38px auto; grid-template-rows: auto auto; column-gap: 10px; align-items: center; min-height: 58px; padding: 8px 17px 8px 10px; color: #fff; background: #16865f; border: 1px solid rgba(255,255,255,0.38); border-radius: 999px; box-shadow: 0 14px 34px rgba(18,98,72,0.28); text-decoration: none; transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease; }
.whatsapp-button::before { content: "W"; grid-column: 1; grid-row: 1 / 3; display: grid; place-items: center; width: 38px; height: 38px; color: #16865f; background: #fff; border-radius: 50%; font-size: 15px; font-weight: 800; }
.whatsapp-button span, .whatsapp-button strong { grid-column: 2; line-height: 1.05; letter-spacing: 0; }
.whatsapp-button span { align-self: end; font-size: 10px; font-weight: 600; opacity: 0.85; }
.whatsapp-button strong { align-self: start; font-size: 13px; font-weight: 700; }
.whatsapp-button:hover { color: #fff; background: #117451; box-shadow: 0 18px 40px rgba(18,98,72,0.36); transform: translateY(-2px); }
.whatsapp-button:focus-visible { outline: 3px solid rgba(22,134,95,0.3); outline-offset: 4px; }

/* Sector hub and detail pages */
.sector-hub-intro { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr); align-items: end; gap: 80px; padding: 185px var(--page) 80px; background: var(--paper); }
.sector-hub-intro h1 { max-width: 850px; font-size: clamp(42px, 4.2vw, 62px); line-height: 1.07; }
.sector-hub-intro > p { max-width: 490px; margin: 0 0 5px; color: var(--muted); font-size: 17px; }
.sector-hub-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 0 var(--page) 112px; background: var(--paper); }
.sector-hub-card { position: relative; min-height: 575px; overflow: hidden; color: #fff; background: #17222b; border-radius: 8px; }
.sector-hub-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 450ms ease; }
.sector-hub-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(12,20,26,0.94) 0%, rgba(12,20,26,0.65) 42%, rgba(12,20,26,0.03) 78%); }
.sector-hub-card > div { position: absolute; z-index: 1; inset: auto 27px 27px; }
.sector-hub-card span:first-child { color: #ffd198; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.sector-hub-card h2 { max-width: 490px; margin: 13px 0; font-size: clamp(25px, 2.15vw, 34px); line-height: 1.12; }
.sector-hub-card p { margin-bottom: 25px; color: rgba(255,255,255,0.74); font-size: 14px; }
.sector-hub-card strong { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.38); font-size: 13px; font-weight: 600; }
.sector-hub-card strong span { font-size: 20px; line-height: 1; }
.sector-hub-card:hover img { transform: scale(1.035); }
.sector-hub-foot { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr) auto; align-items: end; gap: 50px; padding: 100px var(--page); background: var(--mint); }
.sector-hub-foot h2 { max-width: 580px; font-size: clamp(32px, 3.3vw, 46px); line-height: 1.12; }
.sector-hub-foot > p { max-width: 500px; margin: 0; color: var(--muted); }
.sector-hub-foot .button { white-space: nowrap; }

.sector-detail-hero { display: grid; grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr); min-height: 690px; background: var(--paper); }
.sector-hero-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 150px 8% 80px var(--page); }
.sector-back { display: inline-block; margin-bottom: 60px; color: var(--muted); font-size: 13px; font-weight: 600; }
.sector-back:hover { color: var(--orange-dark); }
.sector-hero-copy h1 { max-width: 680px; font-size: clamp(44px, 4.4vw, 66px); line-height: 1.05; }
.sector-hero-copy > p:not(.eyebrow) { max-width: 570px; margin: 23px 0 30px; color: var(--muted); font-size: 17px; }
.sector-detail-hero figure { position: relative; min-width: 0; min-height: 690px; margin: 0; overflow: hidden; background: #dce3e2; }
.sector-detail-hero figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sector-detail-hero figcaption { position: absolute; right: 28px; bottom: 25px; padding: 9px 13px; color: #fff; background: rgba(15,25,32,0.8); border-radius: 5px; font-size: 11px; font-weight: 600; }
.sector-proof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0 var(--page); background: var(--surface); border-bottom: 1px solid var(--line); }
.sector-proof span { display: flex; align-items: center; min-height: 92px; padding: 18px 25px; border-right: 1px solid var(--line); color: var(--ink-2); font-size: 13px; font-weight: 600; }
.sector-proof span:first-child { padding-left: 0; }.sector-proof span:last-child { border-right: 0; }
.sector-proof span::before { content: ""; width: 7px; height: 7px; flex: 0 0 7px; margin-right: 12px; background: var(--orange); border-radius: 50%; }
.sector-focus { display: grid; grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr); gap: 10%; padding: 120px var(--page); }
.sector-section-heading h2, .sector-feature h2, .sector-case h2, .sector-process h2, .sector-next h2 { max-width: 700px; font-size: clamp(35px, 3.45vw, 50px); line-height: 1.12; }
.sector-section-heading > p:last-child { max-width: 520px; margin: 24px 0 0; color: var(--muted); font-size: 17px; }
.sector-issues { border-top: 1px solid var(--line); }
.sector-issues article { display: grid; grid-template-columns: 48px 1fr; column-gap: 20px; padding: 24px 0 26px; border-bottom: 1px solid var(--line); }
.sector-issues b { grid-row: 1 / 3; color: var(--orange-dark); font-size: 12px; }
.sector-issues h3 { font-size: 21px; line-height: 1.2; }
.sector-issues p { max-width: 510px; margin: 9px 0 0; color: var(--muted); font-size: 15px; }
.sector-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 680px; background: var(--mint); }
.sector-feature figure { position: relative; min-height: 680px; margin: 0; overflow: hidden; background: #243036; }
.sector-feature figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sector-feature figcaption { position: absolute; bottom: 25px; left: 28px; padding: 9px 13px; color: #fff; background: rgba(15,25,32,0.8); border-radius: 5px; font-size: 11px; font-weight: 600; }
.sector-feature > div { align-self: center; padding: 90px var(--page) 90px 9%; }
.sector-feature > div > p:not(.eyebrow) { max-width: 560px; margin: 20px 0 30px; color: var(--muted); }
.sector-feature ul { max-width: 660px; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.sector-feature li { border-bottom: 1px solid var(--line); }
.sector-feature li a { display: flex; justify-content: space-between; gap: 15px; padding: 16px 0; font-size: 14px; font-weight: 600; line-height: 1.35; }
.sector-feature li a:hover, .sector-next nav a:hover { color: var(--orange-dark); }
.sector-feature li a span { color: var(--orange-dark); font-size: 17px; }
.sector-case, .sector-process { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); align-items: center; gap: 10%; padding: 120px var(--page); }
.sector-case > div > p:not(.eyebrow), .sector-process > div > p:not(.eyebrow) { max-width: 660px; margin: 22px 0 30px; color: var(--muted); font-size: 16px; }
.sector-case aside { padding: 48px; background: #f7e7d5; border-left: 4px solid #e96333; border-radius: 4px; }
.sector-case aside span { display: block; margin-bottom: 24px; color: #b24218; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.sector-case aside strong { display: block; color: #17222b; font-size: clamp(27px, 2.7vw, 38px); font-weight: 600; line-height: 1.18; }
.sector-case aside p { margin: 24px 0 0; color: #5c5c58; font-size: 13px; }
.sector-process ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.sector-process li { display: grid; grid-template-columns: 150px 1fr; gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.sector-process li span { color: var(--orange-dark); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.sector-process li p { max-width: 400px; margin: 0; color: var(--muted); font-size: 15px; }
.sector-next { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 80px; align-items: end; padding: 100px var(--page); color: #fff; background: #17222b; }
.sector-next .eyebrow { color: #ffc08a; }
.sector-next h2 { max-width: 780px; margin-bottom: 30px; }
.sector-next nav { display: grid; gap: 12px; padding-bottom: 4px; }
.sector-next nav > span { margin-bottom: 6px; color: #b2c0c4; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.sector-next nav a { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.2); font-size: 15px; font-weight: 600; }

/* Dark theme */
html[data-theme="dark"] {
  --ink: #edf1ef;
  --ink-2: #cbd5d4;
  --muted: #a5b0b2;
  --orange: #ff7544;
  --orange-dark: #ff9871;
  --gold: #ffc56e;
  --mint: #1b2a2c;
  --mist: #162124;
  --paper: #10181a;
  --surface: #121d20;
  --dark-panel: #080f11;
  --line: rgba(235, 243, 240, 0.13);
  --shadow: 0 26px 76px rgba(0, 0, 0, 0.3);
  color-scheme: dark;
}
html[data-theme="dark"] body { background: #0d1517; }
body, .site-header, .theme-toggle, .theme-toggle::after { transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease; }
html[data-theme="dark"] .site-header { background: rgba(13, 21, 23, 0.91); border-color: rgba(235,243,240,0.13); box-shadow: 0 18px 54px rgba(0,0,0,0.28); }
html[data-theme="dark"] .site-header.scrolled { background: rgba(10, 17, 19, 0.97); box-shadow: 0 18px 54px rgba(0,0,0,0.36); }
html[data-theme="dark"] .main-nav a { color: #b4bec0; }
html[data-theme="dark"] .main-nav a:hover,
html[data-theme="dark"] .main-nav a[aria-current="page"] { color: #ffffff; }
html[data-theme="dark"] .main-nav .nav-emphasis { color: var(--orange-dark); }
html[data-theme="dark"] .menu-button span { background: #edf1ef; }
html[data-theme="dark"] .home-hero { background: #0b1315; }
html[data-theme="dark"] .hero-wash { background: linear-gradient(90deg, rgba(8,14,16,0.98) 0%, rgba(8,14,16,0.91) 36%, rgba(8,14,16,0.34) 68%, rgba(8,14,16,0.08) 100%); }
html[data-theme="dark"] .hero-copy { color: #c2cccd; }
html[data-theme="dark"] .hero-service-line { color: #e2e9e7; }
html[data-theme="dark"] .hero-origin { color: #aab5b6; }
html[data-theme="dark"] .hero-proof { background: rgba(14,23,25,0.9); border-color: var(--line); box-shadow: 0 20px 64px rgba(0,0,0,0.3); }
html[data-theme="dark"] .hero-proof span { color: #aeb9ba; }
html[data-theme="dark"] .opening-statement { background: linear-gradient(180deg, #0d1517, #111a1c); }
html[data-theme="dark"] .story-light::after { background: linear-gradient(0deg, rgba(27,42,44,1), rgba(27,42,44,0.08)); }
html[data-theme="dark"] .services-showcase { background: #0d1517; }
html[data-theme="dark"] .service-tile-editorial { color: #17222b; }
html[data-theme="dark"] .service-tile-editorial h3 { color: #17222b; }
html[data-theme="dark"] .phoenix-dashboard-shot figcaption { color: #17222b; }
html[data-theme="dark"] .field-note { color: #17222b; }
html[data-theme="dark"] .field-note strong { color: #17222b; }
html[data-theme="dark"] .software-shell { background: #101a1d; border-color: var(--line); }
html[data-theme="dark"] .software-content { background: #0f181b; }
html[data-theme="dark"] .software-body aside { background: #070d0f; }
html[data-theme="dark"] .chart-bars i { background: #284043; }
html[data-theme="dark"] .chart-bars i:nth-child(4) { background: #9b6730; }
html[data-theme="dark"] .chart-bars i:nth-child(6) { background: var(--orange); }
html[data-theme="dark"] .coverage-feature { background: #0d1517; }
html[data-theme="dark"] .uk-map-image { filter: sepia(1) saturate(2.6) hue-rotate(326deg) brightness(1.35); }
html[data-theme="dark"] .coverage-map,
html[data-theme="dark"] .google-profile-frame iframe { filter: invert(0.88) hue-rotate(160deg) saturate(0.68) brightness(0.82); }
html[data-theme="dark"] .pathways { background: #0f181a; }
html[data-theme="dark"] .site-footer { background: #0d1517; }
html[data-theme="dark"] .sector-detail-hero, html[data-theme="dark"] .sector-hub-intro, html[data-theme="dark"] .sector-hub-grid { background: #101a1c; }
html[data-theme="dark"] .sector-hub-foot, html[data-theme="dark"] .sector-feature { background: #182629; }
html[data-theme="dark"] .sector-next { background: #070e10; }
html[data-theme="dark"] .contact-form input:focus,
html[data-theme="dark"] .contact-form select:focus,
html[data-theme="dark"] .contact-form textarea:focus { background: #101a1d; }
html[data-theme="dark"] .button-light { color: #17222b; background: #ffffff; border-color: #ffffff; }
html[data-theme="dark"] .button-light:hover { color: #ffffff; background: transparent; }
html[data-theme="dark"] .button-ghost { color: #eef3f1; border-color: rgba(235,243,240,0.22); }
html[data-theme="dark"] .case-detail-hero { background: #0a1113; }
html[data-theme="dark"] .case-study-card figure,
html[data-theme="dark"] .case-detail-hero figure,
html[data-theme="dark"] .resource-document,
html[data-theme="dark"] .training-hero figure { background: #1b272a; }
html[data-theme="dark"] .training-hero { background: linear-gradient(115deg, #10191b, #151f21); }
html[data-theme="dark"] .training-download { background: #3b2d21; }
html[data-theme="dark"] .training-download > div > p:not(.eyebrow) { color: #cab9aa; }

@media (max-width: 1120px) {
  .sector-hub-intro { grid-template-columns: 1fr; gap: 25px; }
  .sector-hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.sector-hub-card:last-child { grid-column: 1 / -1; min-height: 440px; }
  .sector-hub-foot { grid-template-columns: 1fr 1fr; }.sector-hub-foot .button { justify-self: start; }
  .sector-detail-hero { grid-template-columns: 1fr 1fr; }.sector-hero-copy { padding-right: 6%; }.sector-hero-copy h1 { font-size: 48px; }
  .sector-focus { gap: 6%; }.sector-feature > div { padding-left: 7%; }
  .site-header { grid-template-columns: auto auto 1fr auto auto; }
  .main-nav { position: absolute; top: 76px; left: 0; right: 0; display: none; padding: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
  .nav-open .main-nav { display: grid; grid-template-columns: repeat(2, 1fr); }
  .main-nav a { padding: 12px; }.main-nav a::after { display: none; }
  .menu-button { display: block; grid-column: 2; }.theme-toggle { grid-column: 4; }.header-phones { grid-column: 5; justify-self: end; }
  .home-hero { min-height: 880px; }.hero-background { object-position: 74% center; }.hero-wash { background: linear-gradient(90deg, rgba(255,255,255,0.99) 0%, rgba(255,255,255,0.97) 48%, rgba(255,255,255,0.76) 59%, rgba(255,255,255,0.2) 74%, rgba(255,255,255,0) 100%); }
  .hero-proof { grid-template-columns: repeat(2, 1fr); }.hero-proof div:nth-child(2) { border-right: 0; }.hero-proof div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .opening-statement, .coverage-feature, .about-intro, .featured-resource, .google-reviews { grid-template-columns: 1fr; gap: 42px; }
  .opening-collage { grid-column: 1; }
  .service-story { grid-template-columns: 1fr; grid-template-rows: auto; }.story-panel.story-main { grid-row: auto; min-height: 560px; }.story-panel { min-height: 420px; }
  .phoenix-heading { grid-template-columns: 1fr 1fr; }.phoenix-heading h2 { grid-column: 1 / 3; }.phoenix-heading .button { grid-column: 2; }
  .phoenix-stage { padding-right: 80px; }.phone-video { width: 215px; }
  .real-phoenix-stage { min-height: 640px; padding: 0 90px 0 0; }.real-phoenix-stage .phoenix-workstation { width: 84%; }.real-phoenix-stage .phoenix-dashboard-shot { width: 65%; }.real-phoenix-stage .phone-video { width: 190px; }
  .services-showcase-heading { grid-template-columns: 1fr; gap: 24px; }.services-showcase-heading > p { max-width: 700px; }.service-tile-large { grid-column: span 12; grid-row: auto; min-height: 620px; }.service-tile { grid-column: span 6; }.service-tile-wide { grid-column: span 12; min-height: 500px; }
  .pathways { grid-template-columns: 1fr; }.pathways a { min-height: 430px; }.pathways a:first-child { min-height: 470px; }
  .service-intro { grid-template-columns: 1fr; }.service-intro h2 { grid-column: 1; }
  .service-index article { grid-template-columns: 62px 1fr; }.service-index article > img, .service-visual { grid-column: 2; }
  .phoenix-hero { grid-template-columns: 1fr; padding-top: 160px; }.phoenix-hero-scene { min-width: 0; }.hero-shell, .phoenix-real-dashboard { transform: none; }.platform-intro, .phoenix-showcase, .brochure-section { grid-template-columns: 1fr; }
  .brochure-section .brochure-copy { max-width: 700px; }
  .industry-statement { grid-template-columns: 1fr; align-items: start; }.industry-statement .button { justify-self: start; }
  .case-feature { grid-template-columns: 1fr; }.case-feature > img { min-height: 560px; }.case-list { grid-template-columns: 1fr; }
  .case-study-intro { grid-template-columns: 1fr 1fr; }.case-study-intro .eyebrow { grid-column: 1 / -1; }.case-study-grid { grid-template-columns: 1fr; }.case-study-card, .case-study-card-featured { grid-column: 1; grid-template-columns: minmax(280px, 0.72fr) 1fr; min-height: 590px; }
  .case-detail-hero { grid-template-columns: 1fr 0.8fr; }.case-outcomes { grid-template-columns: repeat(2, 1fr); }.case-outcomes span:nth-child(2) { border-right: 0; }.case-outcomes span:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,0.25); }.case-detail-content { gap: 6%; }
  .sponsor-feature { grid-template-columns: 1fr; }.stadium-image { min-height: 540px; }.values-line { grid-template-columns: 1fr; }.values-line article { border-left: 1px solid var(--line); min-height: 250px; }
  .resource-index { grid-template-columns: 1fr; }.resource-index a { min-height: 310px; }
  .training-hero { grid-template-columns: 1fr 0.7fr; gap: 5%; }.training-intro, .training-sectors { grid-template-columns: 1fr; gap: 44px; }.training-session-heading { grid-template-columns: 1fr 1fr; }.training-session-heading .eyebrow { grid-column: 1 / -1; }.training-topic-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-layout { grid-template-columns: 1fr; padding-top: 160px; }
}

@media (max-width: 760px) {
  .sector-hub-intro { padding: 132px var(--page) 55px; }.sector-hub-intro h1 { font-size: 39px; }.sector-hub-intro > p { font-size: 15px; }
  .sector-hub-grid { grid-template-columns: 1fr; gap: 12px; padding: 0 var(--page) 75px; }.sector-hub-card, .sector-hub-card:last-child { grid-column: 1; min-height: 470px; }.sector-hub-card h2 { font-size: 29px; }
  .sector-hub-foot { grid-template-columns: 1fr; gap: 24px; padding: 75px var(--page); }
  .sector-detail-hero { display: flex; flex-direction: column; }.sector-hero-copy { padding: 120px var(--page) 56px; }.sector-back { margin-bottom: 42px; }.sector-hero-copy h1 { font-size: clamp(38px, 10vw, 48px); }.sector-hero-copy > p:not(.eyebrow) { font-size: 15px; }.sector-detail-hero figure { min-height: 360px; height: 360px; }.sector-detail-hero figcaption { right: 15px; bottom: 15px; }
  .sector-proof { grid-template-columns: 1fr; }.sector-proof span { min-height: 60px; padding: 13px 0; border-right: 0; border-bottom: 1px solid var(--line); }.sector-proof span:last-child { border-bottom: 0; }
  .sector-focus { grid-template-columns: 1fr; gap: 42px; padding: 80px var(--page); }.sector-section-heading h2, .sector-feature h2, .sector-case h2, .sector-process h2, .sector-next h2 { font-size: 36px; }.sector-section-heading > p:last-child { font-size: 15px; }
  .sector-feature { grid-template-columns: 1fr; }.sector-feature figure { min-height: 350px; height: 350px; }.sector-feature > div { padding: 70px var(--page); }
  .sector-case, .sector-process { grid-template-columns: 1fr; gap: 30px; padding: 80px var(--page); }.sector-case aside { padding: 30px; }.sector-process li { grid-template-columns: 115px 1fr; }
  .sector-next { grid-template-columns: 1fr; gap: 50px; padding: 78px var(--page); }.sector-next nav { max-width: 340px; }
  :root { --page: 18px; }
  .site-header { top: 8px; left: 8px; right: 8px; min-height: 64px; gap: 8px; padding: 0 10px 0 13px; }
  .brand { min-width: 0; }.brand-logo { width: 136px; }.menu-button { width: 40px; height: 40px; }.theme-toggle { display: none; }
  .site-header { grid-template-columns: 1fr auto auto; }.menu-button { grid-column: 2; }.header-phones { grid-column: 3; }.header-phone-primary { width: 106px; min-height: 40px; justify-content: center; padding: 0; overflow: hidden; font-size: 0; }.header-phone-primary::before { content: "01733 698144"; font-size: 11px; font-weight: 700; }.header-phone-primary span, .header-phone-secondary { display: none; }.nav-open .main-nav { grid-template-columns: 1fr; top: 68px; }
  .mobile-nav-phones { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 4px; padding-top: 14px; border-top: 1px solid var(--line); }
  .main-nav .mobile-nav-phones a { display: grid; gap: 2px; padding: 12px 13px; color: #ffffff; background: var(--ink); border-radius: 6px; }
  .main-nav .mobile-nav-phones a:first-child { background: #e96333; }
  .mobile-nav-phones span { color: rgba(255,255,255,0.72); font-size: 9px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
  .mobile-nav-phones strong { font-size: 12px; font-weight: 700; }
  .home-hero { min-height: 960px; align-items: start; padding: 126px var(--page) 198px; }.hero-background { object-position: 72% center; }.hero-wash { background: linear-gradient(180deg, rgba(255,255,255,0.99) 0%, rgba(255,255,255,0.98) 58%, rgba(255,255,255,0.78) 72%, rgba(255,255,255,0.08) 88%, rgba(255,255,255,0) 100%); }
  .home-hero h1, .home-hero .service-led-headline, .home-hero .phoenix-led-headline { font-size: clamp(38px, 10.5vw, 49px); line-height: 1.04; }.hero-service-line { max-width: 96%; font-size: 15px; line-height: 1.46; }.hero-copy { max-width: 94%; font-size: 15px; line-height: 1.52; }.hero-inner .button-row { gap: 16px; }.hero-inner .button { min-height: 45px; }
  .hero-proof { grid-template-columns: repeat(2, 1fr); left: 10px; right: 10px; bottom: 10px; }.hero-proof div { min-height: 82px; grid-template-columns: 1fr; gap: 5px; padding: 13px; }.hero-proof strong { font-size: 24px; }.hero-proof span { font-size: 10px; }
  .opening-statement { padding: 82px var(--page); }.opening-statement h2, .service-intro h2, .platform-intro h2 { font-size: 37px; }.opening-body { font-size: 16px; }.opening-collage { min-height: 0; grid-template-columns: 1fr; grid-template-rows: 420px 220px auto; }.collage-main { grid-row: 1; }.collage-detail { min-height: 0; }.field-note { min-height: 230px; transform: none; }
  .service-story { padding: 0 var(--page) 42px; }.story-panel.story-main, .story-panel { min-height: 430px; }.story-panel > div:last-child { left: 24px; right: 24px; bottom: 24px; }.story-panel strong { font-size: 32px; }.story-panel p { font-size: 15px; }.asset-pulse { width: 130px; height: 130px; }.service-priority-strip { grid-template-columns: 1fr 1fr; padding: 0 var(--page) 82px; }.service-priority-strip a:nth-child(3) { border-left: 1px solid var(--line); }
  .phoenix-feature { padding: 82px var(--page) 56px; }.phoenix-heading { display: block; }.phoenix-heading h2 { margin-bottom: 24px; font-size: 48px; }.phoenix-heading > p:not(.eyebrow) { margin-bottom: 26px; }.phoenix-stage { min-height: 650px; padding: 0 0 170px; }.phoenix-stage .software-shell { width: 100%; min-height: 480px; transform: none; }.software-body { grid-template-columns: 46px 1fr; }.software-body aside { gap: 18px; }.software-body aside b { width: 15px; height: 15px; }.software-content { padding: 18px; }.software-title > span { display: none; }.metric-row { grid-template-columns: 1fr; }.metric-row article { min-height: 78px; }.metric-row strong { font-size: 25px; }.metric-row article:nth-child(n+3) { display: none; }.software-grid { grid-template-columns: 1fr; }.action-panel { display: none; }.phone-video { right: 12px; width: 155px; border-width: 6px; border-radius: 22px; }.video-prompt { bottom: 44px; padding: 10px; }.video-prompt strong { font-size: 12px; }.video-prompt button { padding-left: 29px; font-size: 10px; }.phoenix-capabilities { flex-wrap: wrap; justify-content: flex-start; }
  .real-phoenix-stage { min-height: 620px; padding: 0; }.real-phoenix-stage .phoenix-workstation { inset: 0 0 auto 0; width: 100%; height: 360px; }.real-phoenix-stage .phoenix-dashboard-shot { left: 0; bottom: 100px; width: 88%; padding: 5px; }.real-phoenix-stage .phone-video { right: 0; bottom: 0; width: 137px; }.phoenix-workstation figcaption { left: 14px; bottom: 14px; }.phoenix-dashboard-shot figcaption { display: none; }
  .services-showcase { padding: 82px var(--page); }.services-showcase-heading { margin-bottom: 38px; }.services-showcase-heading h2 { font-size: 40px; }.services-showcase-heading > p { font-size: 16px; }.service-mosaic { grid-template-columns: 1fr; grid-auto-rows: auto; }.service-tile, .service-tile-large, .service-tile-wide, .service-tile-editorial { grid-column: 1; min-height: 440px; }.service-tile-large { min-height: 530px; }.service-tile-editorial { min-height: 350px; }.service-tile > div, .service-tile-large > div { left: 24px; right: 24px; bottom: 24px; }.service-tile-editorial > div { padding: 24px; }.service-tile h3, .service-tile-large h3 { font-size: 28px; }.service-tile p { font-size: 14px; }
  .coverage-feature { padding: 82px var(--page); }.coverage-copy h2 { font-size: 37px; }.map-stage { min-height: 530px; }.regional-map-stage { padding-bottom: 86px; }.coverage-map { height: 472px; }.regional-map-stage > strong { left: 18px; bottom: 42px; font-size: 16px; }.regional-map-stage > small { right: auto; left: 18px; bottom: 18px; max-width: none; text-align: left; }.uk-map-image { width: 78%; }.google-reviews { padding: 82px var(--page); }.google-profile-frame, .google-profile-frame iframe { min-height: 420px; height: 420px; }
  .trust-marquee, .credential-line { grid-template-columns: repeat(2, 1fr); }.trust-marquee span, .credential-line span { min-height: 86px; font-size: 12px; }.trust-marquee span:last-child, .credential-line span:last-child { grid-column: 1 / -1; }.pathways { padding: 82px var(--page); }.final-callout { padding: 82px var(--page); }.final-callout h2 { font-size: 48px; }
  .page-hero { min-height: 640px; padding: 142px var(--page) 62px; }.page-hero h1 { font-size: 44px; }.page-hero-copy > p:last-child { font-size: 16px; }.hero-jump { display: none; }
  .site-footer { grid-template-columns: 1fr; gap: 22px; padding: 38px var(--page); }.site-footer nav { flex-wrap: wrap; }
  .whatsapp-button { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); grid-template-columns: 34px auto; min-height: 54px; padding: 7px 13px 7px 8px; }
  .whatsapp-button::before { width: 34px; height: 34px; font-size: 14px; }
  .page-callout { display: grid; align-items: start; padding: 76px var(--page); }.page-callout h2 { font-size: 38px; }.page-callout .button { justify-self: start; }
  .service-intro { padding: 82px var(--page); }.service-index { padding-bottom: 82px; }.service-index article { grid-template-columns: 1fr; gap: 22px; padding: 34px 0; }.service-no { grid-column: 1; }.service-index article > img, .service-visual { grid-column: 1; height: 270px; }.service-index h2 { font-size: 34px; }.service-band { grid-template-columns: 1fr; }.service-band > div { display: grid; }
  .phoenix-hero { min-height: 0; padding: 140px var(--page) 70px; }.phoenix-hero h1 { font-size: 44px; }.phoenix-hero-scene { padding: 0 0 120px; }.hero-shell { min-height: 480px; }.scan-card { left: 12px; bottom: 0; width: 150px; }.scan-card .qr-code { width: 56px; height: 56px; }.luminaire-card { left: 12px; bottom: 0; width: min(240px, 78%); padding: 19px; }.phoenix-real-dashboard figcaption { display: none; }.platform-intro { grid-template-columns: 1fr; padding: 82px var(--page); }.phoenix-showcase { grid-template-columns: 1fr; gap: 60px; padding: 0 var(--page) 82px; }.page-video { width: min(80%, 330px); }.feature-stack article { grid-template-columns: 46px 1fr; }.phoenix-flow { flex-wrap: wrap; gap: 12px; }.phoenix-flow i { width: 16px; }.brochure-section { padding: 82px var(--page); }.brochure-cover { grid-template-columns: 1fr; grid-template-rows: auto auto auto; min-height: 620px; padding: 25px; }.brochure-brand { grid-column: 1; display: grid; }.brochure-brand img { width: 175px; }.brochure-title strong { font-size: 40px; }.brochure-device { min-height: 165px; display: grid; grid-template-columns: 1fr auto; justify-items: start; column-gap: 16px; padding: 20px; }.brochure-device i { grid-row: 1 / 3; width: 110px; height: 95px; margin: 0; }.brochure-device b { font-size: 38px; }
  .sector-grid { grid-template-columns: 1fr; padding: 82px var(--page); }.sector-grid article, .sector-grid article.sector-wide { grid-column: 1; min-height: 430px; }.sector-grid h2 { font-size: 34px; }.industry-statement { padding: 76px var(--page); }.industry-statement h2 { font-size: 36px; }
  .case-feature > img { min-height: 360px; }.case-feature > div { padding: 54px var(--page); }.case-feature h2 { font-size: 36px; }.case-results { grid-template-columns: 1fr; }.case-list { padding: 82px var(--page); }.case-list article { min-height: 350px; padding: 28px; }
  .case-study-intro { grid-template-columns: 1fr; gap: 20px; padding: 80px var(--page) 45px; }.case-study-intro .eyebrow { grid-column: 1; }.case-study-intro h2 { font-size: 37px; }.case-study-grid { grid-template-columns: 1fr; gap: 14px; padding: 0 var(--page) 82px; }.case-study-card, .case-study-card-featured { grid-template-columns: 1fr; min-height: 0; }.case-study-card figure { min-height: 430px; max-height: 540px; }.case-study-card > div { padding: 30px 26px 34px; }.case-study-card h2 { font-size: 34px; }
  .case-detail-hero { display: flex; flex-direction: column; min-height: 0; }.case-detail-copy { padding: 130px var(--page) 60px; }.case-back { margin-bottom: 48px; }.case-detail-copy h1 { font-size: 47px; }.case-lead { font-size: 17px; }.case-detail-hero figure { min-height: 540px; height: 540px; }.case-outcomes { grid-template-columns: 1fr 1fr; padding: 0 var(--page); }.case-outcomes span { min-height: 100px; padding: 16px 14px; }.case-outcomes b { font-size: 20px; }.case-detail-content { grid-template-columns: 1fr; gap: 60px; padding: 82px var(--page); }.case-detail-content article h2 { font-size: 36px; }.case-download { position: static; }.case-quote { padding: 82px var(--page); }.case-quote blockquote { font-size: 31px; }
  .about-intro { padding: 82px var(--page); }.about-intro h2 { font-size: 40px; }.values-line { padding: 0 var(--page) 82px; }.sponsor-feature > div:first-child { padding: 70px var(--page); }.stadium-image { min-height: 420px; padding: 28px; }
  .featured-resource { padding: 82px var(--page); }.resource-index { padding: 82px var(--page); }.resource-index article { min-height: 310px; }.small-cover { min-height: 610px; }.resource-document { width: min(100%, 440px); }.resource-wide-image { min-height: 340px; }
  .training-hero { grid-template-columns: 1fr; gap: 55px; min-height: 0; padding: 130px var(--page) 80px; }.training-hero h1 { font-size: 48px; }.training-hero > div > p:not(.eyebrow) { font-size: 17px; }.training-hero figure { width: min(100%, 470px); justify-self: center; transform: none; }.training-proof { grid-template-columns: 1fr 1fr; padding: 0 var(--page); }.training-proof span { min-height: 78px; padding: 14px; }.training-proof span:nth-child(2) { border-right: 0; }.training-proof span:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,0.16); }.training-intro { grid-template-columns: 1fr; gap: 36px; padding: 82px var(--page); }.training-intro h2, .training-session-heading h2, .training-sectors h2, .training-download h2 { font-size: 38px; }.training-intro ul { grid-template-columns: 1fr; }.training-session { padding: 82px var(--page); }.training-session-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 40px; }.training-session-heading .eyebrow { grid-column: 1; }.training-topic-grid { grid-template-columns: 1fr; }.training-topic-grid article { min-height: 240px; }.training-sectors { grid-template-columns: 1fr; gap: 36px; padding: 82px var(--page); }.training-sector-list { grid-template-columns: 1fr; }.training-download { grid-template-columns: 1fr; gap: 45px; padding: 82px var(--page); }.training-download figure { width: min(100%, 420px); }
  .contact-layout { gap: 55px; padding: 130px var(--page) 70px; }.contact-copy h1 { font-size: 44px; }.contact-direct { grid-template-columns: 1fr; }.contact-form { grid-template-columns: 1fr; padding: 26px; }.form-intro, .contact-form .full, .form-status { grid-column: 1; }.contact-form button { width: 100%; }
}

@media (max-width: 360px) {
  .brand-logo { width: 128px; }
  .header-phone-primary { width: 56px; }
  .header-phone-primary::before { content: "Call"; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; }
}

/* Technical resource downloads */
.resource-index > a { text-decoration: none; color: var(--ink); transition: border-color 0.2s; }
.resource-index > a:hover { border-color: var(--orange-dark); }
.resource-index > a:focus-visible { outline: 3px solid var(--orange-dark); outline-offset: 4px; }
.resource-index > a > span { margin-bottom: 36px; line-height: 1.6; }
.resource-index > a > strong { margin-top: 0; }
.resource-index > a > i { margin-top: auto; padding-top: 20px; }
.resource-guidance-note { padding: 0 var(--page) 64px; color: var(--muted); }
.resource-guidance-note p { max-width: 960px; margin: 0; line-height: 1.6; }

.info-page { grid-column: 1 / -1; max-width: 780px; }
.info-page h2 { font-size: 1.6rem; margin-top: 1.5em; }
.contact-form button:disabled { opacity: 0.65; cursor: wait; }
