@import url("styles_v1.css");

:root { --ea-brand: #82e9e4; --ea-ink: #ecf7f8; --ea-action: #22b9bc; --ea-insight: #74e9e4; --ea-paper: #102b3a; --ea-line: rgb(151 212 217 / .24); --ea-glow: #163f4d; --ea-surface: #071d29; --ea-muted: #aac4cb; --pointer-x: 50vw; --pointer-y: 50vh; }
:root[data-theme="light"] { --ea-brand: #063853; --ea-ink: #063853; --ea-action: #0a6270; --ea-insight: #007c85; --ea-paper: #b8d2d8; --ea-line: #8baeb7; --ea-glow: #c6edf0; --ea-surface: #b4cfd5; --ea-muted: #294d5b; }
html { background: var(--ea-surface); }
body { background: radial-gradient(circle at 88% 4%, rgb(0 179 184 / 0.17), transparent 28rem), radial-gradient(circle at 8% 34%, rgb(37 99 235 / 0.12), transparent 34rem), var(--ea-surface); color: var(--ea-ink); line-height: 1.5; transition: background-color .32s ease, color .32s ease; }
.skip-link { background: var(--ea-ink); color: #fff; left: 1rem; padding: 0.75rem 1rem; position: fixed; top: -4rem; z-index: 10; }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 3px solid var(--ea-insight); outline-offset: 3px; }
.shell { max-width: 80rem; padding-left: clamp(1rem, 3vw, 2rem); padding-right: clamp(1rem, 3vw, 2rem); }
.site-header { align-items: center; gap: clamp(0.8rem, 2vw, 1.5rem); padding: 1.1rem 0; }
.brand--mark { display: block; height: 3.4rem; overflow: hidden; width: 4rem; }
.brand--lockup { display: block; flex: 0 0 auto; width: clamp(4.2rem, 7.8vw, 6rem); }
.brand__mark-frame { display: block; height: 100%; overflow: hidden; position: relative; width: 100%; }
.brand__locked-logo { display: block; height: auto; width: 100%; }
.nav { gap: 1.2rem; margin-left: auto; }
.nav a[aria-current="page"] { color: var(--ea-action); }
.nav__cta, .button { align-items: center; border: 1px solid var(--ea-action); display: inline-flex; font-size: 1rem; font-weight: 800; justify-content: center; min-height: 2.75rem; padding: 0.82rem 1rem; }
.nav__cta, .button--primary { background: var(--ea-action); color: #031d28; }
.button--secondary { color: var(--ea-action); }
.nav__cta:hover, .button:hover { transform: translateY(-1px); }
.hero-v3 { background: linear-gradient(125deg, #071d29 0%, #0b2b3a 54%, #104251 100%); overflow: hidden; padding: clamp(4rem, 9vw, 8rem) 0 clamp(3.5rem, 7vw, 5rem); position: relative; }
.hero-v3::after { background: linear-gradient(115deg, transparent 0 35%, rgb(116 233 228 / .13) 35.2% 35.6%, transparent 35.8% 100%), radial-gradient(circle at 82% 42%, rgb(34 185 188 / .28), transparent 18rem); content: ""; inset: 0; opacity: .95; pointer-events: none; position: absolute; transform: translate(calc((var(--pointer-x) - 50vw) * .012), calc((var(--pointer-y) - 50vh) * .012)); transition: transform .22s ease-out; }
.hero-v3__grid { position: relative; z-index: 1; }
.hero-v3 h1 { color: #f0fbfb; }
.hero-v3__grid { align-items: end; display: grid; gap: 3rem; grid-template-columns: minmax(0, 1.1fr) minmax(16rem, 0.7fr); }
.hero-v3 h1 { font-size: clamp(2.65rem, 7vw, 7.1rem); margin-bottom: 1.4rem; max-width: 47rem; text-wrap: balance; }
.lede { font-size: 1.14rem; max-width: 40rem; }
.hero-card { background: rgb(5 29 41 / .82); border: 1px solid rgb(116 233 228 / .24); color: #fff; padding: 1.65rem; position: relative; }
.hero-card::before { background: var(--ea-insight); content: ""; height: 100%; left: 0; position: absolute; top: 0; width: 0.35rem; }
.hero-card p { color: #d5dfec; line-height: 1.6; margin-bottom: 1.3rem; }
.hero-card strong { display: block; font-size: 2.2rem; letter-spacing: -0.05em; margin-bottom: 0.25rem; }
.hero-card small { color: #b8c8dd; display: block; }
.eyebrow { font-size: 0.875rem; margin-bottom: 0.9rem; }
.section { padding: clamp(4rem, 8vw, 7rem) 0; }
.section-heading { display: grid; gap: 2rem; grid-template-columns: 0.85fr 1.15fr; margin-bottom: 3.2rem; }
.section-heading p { color: var(--ea-muted); font-size: 1.08rem; line-height: 1.7; max-width: 42rem; }
.problem-grid, .proof-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); }
.problem-card { border-top: 3px solid var(--ea-action); padding: 1.25rem 0 0; }
.problem-card:nth-child(2) { border-color: var(--ea-insight); }.problem-card:nth-child(3) { border-color: var(--ea-ink); }
.problem-card p, .detail-copy { color: var(--ea-muted); line-height: 1.65; }
.rescue-band { background: linear-gradient(120deg, #0b1220 0%, #102a3d 52%, #133d4c 100%); color: #fff; padding: clamp(4rem, 8vw, 7rem) 0; }
.rescue-band__grid { display: grid; gap: 3rem; grid-template-columns: 0.95fr 1.05fr; }
.rescue-band p { color: #c3d0e0; font-size: 1.08rem; line-height: 1.7; max-width: 39rem; }
.price-card { background: linear-gradient(145deg, rgb(247 252 253 / 0.97), rgb(222 242 244 / 0.94)); color: var(--ea-ink); padding: clamp(1.4rem, 4vw, 2rem); }
.price-card__label { color: var(--ea-action); font-size: 0.875rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.price-card__price { font-size: clamp(3rem, 6vw, 4.8rem); font-weight: 850; letter-spacing: -0.08em; line-height: 1; margin: 1.5rem 0 0.55rem; }
.price-card p { color: var(--ea-muted); font-size: 1rem; margin-bottom: 1.6rem; }
.offer-steps { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); }
.offer-step { background: linear-gradient(145deg, rgb(247 252 253 / 0.65), rgb(230 242 247 / 0.56)); border: 1px solid var(--ea-line); min-height: 13rem; padding: clamp(1.2rem, 3vw, 1.65rem); }
.offer-step__number { color: var(--ea-action); font-size: 0.875rem; font-weight: 850; letter-spacing: 0.08em; }
.offer-step p { color: var(--ea-muted); line-height: 1.55; }
.page-hero { background: linear-gradient(115deg, #08202e, #123b48); padding: clamp(3.5rem, 7vw, 5rem) 0 clamp(3rem, 6vw, 4rem); }
.page-hero h1 { color: #f0fbfb; }
:root[data-theme="light"] .hero-v3 { background: linear-gradient(125deg, #b8d4d9 0%, #a3c4cb 54%, #88b2bc 100%); }
:root[data-theme="light"] .hero-v3 h1, :root[data-theme="light"] .page-hero h1 { color: #063853; }
:root[data-theme="light"] .page-hero { background: linear-gradient(115deg, #b9d5da, #a1c3ca); }
:root[data-theme="light"] .offer-step, :root[data-theme="light"] .about-principle { background: linear-gradient(145deg, rgb(207 228 232 / .84), rgb(166 201 209 / .72)); }
.page-hero__grid { display: grid; gap: 2rem; grid-template-columns: 1fr 0.8fr; }
.page-hero h1 { font-size: clamp(2.5rem, 5.5vw, 5.5rem); text-wrap: balance; }
.page-hero__aside { align-self: end; border-left: 3px solid var(--ea-insight); color: var(--ea-muted); font-size: 1.07rem; line-height: 1.65; padding-left: 1.2rem; }
.detail-grid { display: grid; gap: 2.5rem; grid-template-columns: 0.33fr 0.67fr; padding: 3.5rem 0; border-top: 1px solid var(--ea-line); }
.detail-grid__label { color: var(--ea-action); font-size: 0.875rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.detail-grid ul { color: var(--ea-muted); line-height: 1.75; margin: 1.1rem 0 0; padding-left: 1.2rem; }
.journey { counter-reset: journey; }
.journey-step { border-top: 1px solid rgb(255 255 255 / 0.28); display: grid; gap: 2rem; grid-template-columns: 0.18fr 0.32fr 0.5fr; padding: 2rem 0; }
.journey-step__number { color: var(--ea-insight); font-weight: 850; }
.journey-step p { color: #c7d3e1; line-height: 1.65; margin-bottom: 0; }
.journey-step h3 { margin-bottom: 0; }
.about-principles { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); }
.about-principle { background: linear-gradient(145deg, rgb(247 252 253 / 0.68), rgb(227 240 245 / 0.56)); padding: clamp(1.3rem, 3vw, 1.7rem); }.about-principle p { color: var(--ea-muted); line-height: 1.65; margin-bottom: 0; }
.contact-panel { background: var(--ea-ink); color: #fff; display: grid; gap: 2.5rem; grid-template-columns: 1fr 1fr; padding: clamp(2rem, 6vw, 5rem); }
.contact-panel p { color: #c7d3e1; font-size: 1.07rem; line-height: 1.7; }
.contact-list { display: grid; gap: 1rem; align-content: start; }.contact-list a { border-bottom: 1px solid rgb(255 255 255 / 0.25); color: #fff; font-weight: 750; padding-bottom: 0.9rem; }
.contact-list small { color: #b8c8dd; display: block; margin-top: 0.25rem; }
.site-footer { border-top: 1px solid var(--ea-line); display: flex; gap: 2rem; justify-content: space-between; padding: 1.8rem 0; }.site-footer div { display: grid; gap: 0.35rem; }.site-footer span, .site-footer a { color: var(--ea-muted); font-size: 0.9rem; }
.offer-step, .about-principle { background: linear-gradient(145deg, rgb(25 65 78 / .82), rgb(10 38 52 / .66)); }
.theme-toggle { background: transparent; border: 1px solid var(--ea-line); color: var(--ea-ink); cursor: pointer; font: inherit; font-size: .85rem; min-height: 2.75rem; padding: .55rem .8rem; }
.theme-toggle { align-items: center; border-radius: 999px; display: inline-flex; height: 2.75rem; justify-content: center; min-width: 2.75rem; padding: 0; }
.theme-toggle__glyph { align-items: center; display: inline-flex; height: 1.1rem; justify-content: center; width: 1.1rem; }
.theme-toggle__glyph svg { display: block; fill: none; height: 100%; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75; width: 100%; }
.sr-only { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
:root:not([data-theme="light"]) .price-card { background: linear-gradient(145deg, #143f50, #0c2d3d); border: 1px solid rgb(116 233 228 / .24); color: #edfafa; }
:root:not([data-theme="light"]) .price-card p { color: #c5dde0; }
:root:not([data-theme="light"]) .price-card__label { color: #7ee7e2; }
:root:not([data-theme="light"]) .price-card .button--primary { background: #73e1de; color: #062330; }
:root[data-theme="light"] .price-card { background: linear-gradient(145deg, #d7e9ec, #b5d4da); border: 1px solid #8baeb7; color: #063853; }
:root[data-theme="light"] .price-card p { color: #294d5b; }
.pointer-glow { background: radial-gradient(circle, rgb(116 233 228 / .14), transparent 64%); height: 20rem; left: var(--pointer-x); pointer-events: none; position: fixed; top: var(--pointer-y); transform: translate(-50%, -50%); transition: opacity .3s ease; width: 20rem; z-index: 0; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } .pointer-glow { display: none; } }
@media (max-width: 58rem) { .site-header { align-items: center; flex-wrap: wrap; justify-content: space-between; }.nav { display: grid; flex-basis: 100%; gap: 0.45rem 0.75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-left: 0; order: 3; }.nav a { font-size: 0.875rem; line-height: 1.25; text-align: center; }.hero-v3__grid, .section-heading, .rescue-band__grid, .page-hero__grid, .contact-panel { grid-template-columns: 1fr; }.problem-grid, .proof-grid, .offer-steps, .about-principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }.detail-grid, .journey-step { grid-template-columns: 1fr; gap: 1rem; } }
@media (max-width: 36rem) { .shell { padding-left: 1rem; padding-right: 1rem; }.brand--mark { height: 3rem; transform: scale(0.9); transform-origin: left center; width: 3.6rem; }.hero-v3 { padding-top: 3.5rem; }.problem-grid, .proof-grid, .offer-steps, .about-principles { grid-template-columns: 1fr; }.site-footer { flex-direction: column; } }

/* Brand Master Lock v3: 40% header display with the approved 2px equal inter-bar gap. */
.brand--lockup { width: calc(3.84rem + 6px); }
.brand__gap-mark { align-items: flex-end; display: flex; height: 3.315rem; }
.brand__slice { display: block; height: 3.315rem; overflow: hidden; position: relative; }
.brand__slice + .brand__slice { margin-left: 2px; }
.brand__slice img { display: block; height: auto; max-width: none; position: absolute; top: 0; width: 3.84rem; }
.brand__slice--1 { width: .882rem; }.brand__slice--1 img { left: 0; }
.brand__slice--2 { width: .998rem; }.brand__slice--2 img { left: -.882rem; }
.brand__slice--3 { width: 1.008rem; }.brand__slice--3 img { left: -1.878rem; }
.brand__slice--4 { width: .951rem; }.brand__slice--4 img { left: -2.886rem; }
@media (max-width: 36rem) { .brand--lockup { width: calc(3.84rem + 6px); } }

/* Ledger Glyphs theme control: prominent custom icon, independent of body-text colour. */
.theme-toggle { background: rgb(115 225 222 / .10); border-color: rgb(115 225 222 / .55); color: var(--ea-action); box-shadow: inset 0 0 0 1px rgb(115 225 222 / .10); height: 3rem; min-width: 3rem; width: 3rem; }
.theme-toggle:hover { background: rgb(115 225 222 / .20); transform: translateY(-1px); }
.theme-toggle__glyph { height: 1.35rem; width: 1.35rem; }
:root[data-theme="light"] .theme-toggle { background: rgb(8 120 134 / .08); border-color: rgb(8 120 134 / .50); color: #087886; }

/* Colour System Lock v1: Deep Sea Coral. */
:root { --ea-brand: #ff9578; --ea-ink: #f0fbfa; --ea-action: #ff9578; --ea-insight: #ffb39f; --ea-paper: #123c46; --ea-line: rgb(255 149 120 / .25); --ea-glow: #164650; --ea-surface: #092832; --ea-muted: #b9d5d3; }
:root[data-theme="light"] { --ea-brand: #183f49; --ea-ink: #183f49; --ea-action: #c7593e; --ea-insight: #a4422d; --ea-paper: #eaded5; --ea-line: #cfae9f; --ea-glow: #f2dcd1; --ea-surface: #f7f3ef; --ea-muted: #5f7477; }
body { background: radial-gradient(circle at 88% 4%, rgb(255 149 120 / .15), transparent 28rem), radial-gradient(circle at 8% 34%, rgb(47 128 136 / .11), transparent 34rem), var(--ea-surface); }
.hero-v3 { background: linear-gradient(125deg, #092832 0%, #103943 54%, #174852 100%); }
.hero-v3::after { background: linear-gradient(115deg, transparent 0 35%, rgb(255 149 120 / .20) 35.2% 35.6%, transparent 35.8% 100%), radial-gradient(circle at 82% 42%, rgb(255 149 120 / .18), transparent 18rem); }
:root[data-theme="light"] .price-card { background: linear-gradient(145deg, #f4e7df, #ead8cf); border-color: #d5ad9e; color: #183f49; }
:root[data-theme="light"] .price-card__label { color: #a4422d; }
:root[data-theme="light"] .price-card .button--primary { background: #c7593e; color: #fff; }
:root:not([data-theme="light"]) .price-card { background: linear-gradient(145deg, #164650, #103640); border-color: rgb(255 149 120 / .32); }
:root:not([data-theme="light"]) .price-card__label { color: #ffb39f; }
:root:not([data-theme="light"]) .price-card .button--primary { background: #ff9578; color: #3a1d19; }
:root[data-theme="light"] .theme-toggle { background: rgb(199 89 62 / .09); border-color: rgb(199 89 62 / .52); color: #c7593e; }
:root:not([data-theme="light"]) .theme-toggle { background: rgb(255 149 120 / .10); border-color: rgb(255 149 120 / .58); color: #ff9578; }

/* A two-state Ledger Glyph control makes the selected icon system explicit. */
.theme-toggle { border-radius: .4rem; gap: .18rem; padding: .22rem; width: 4.9rem; }
.theme-toggle__glyph { align-items: center; display: grid; gap: .12rem; grid-template-columns: repeat(2, 1fr); height: 100%; width: 100%; }
.theme-toggle__glyph svg { height: 1.2rem; padding: .12rem; width: 1.2rem; }
.theme-toggle__sun, .theme-toggle__moon { border-radius: .22rem; }
:root:not([data-theme="light"]) .theme-toggle__sun { background: rgb(255 149 120 / .22); }
:root[data-theme="light"] .theme-toggle__moon { background: rgb(199 89 62 / .18); }

/* Simplified control: one unambiguous Ledger Glyph at a time. */
.theme-toggle { border-radius: 999px; height: 3rem; min-width: 3rem; padding: 0; width: 3rem; }
.theme-toggle__glyph { align-items: center; display: inline-flex; height: 1.35rem; justify-content: center; width: 1.35rem; }
.theme-toggle__glyph svg { height: 1.35rem; padding: 0; width: 1.35rem; }
.theme-toggle__icon { display: block; height: 1.35rem; width: 1.35rem; }

/* Equal-footprint commercial comparison. */
.route-comparison { border-top: 1px solid var(--ea-line); margin-top: 3.5rem; padding-top: 3.5rem; }
.route-shared-price { align-items: baseline; border: 1px solid rgb(255 149 120 / .38); display: flex; flex-wrap: wrap; gap: .45rem 1rem; margin: 2rem 0 1.25rem; padding: 1rem 1.2rem; }
.route-shared-price span { color: #ffb39f; font-size: .8rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.route-shared-price strong { color: #f0fbfa; font-size: 1.7rem; letter-spacing: -.04em; }
.route-shared-price small { color: #b9d5d3; }
.route-comparison__grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 2rem; }
.route-card { background: linear-gradient(145deg, rgb(16 54 64 / .90), rgb(9 40 50 / .92)); border: 1px solid rgb(255 149 120 / .32); display: flex; flex-direction: column; min-height: 36rem; padding: clamp(1.5rem, 3.5vw, 2.25rem); }
.route-card--care { border-color: rgb(255 149 120 / .7); box-shadow: inset 0 0 0 1px rgb(255 149 120 / .12); }
.route-card__eyebrow { color: #ffb39f; font-size: .78rem; font-weight: 850; letter-spacing: .1em; margin: 0 0 .7rem; text-transform: uppercase; }
.route-card h3 { font-size: clamp(1.55rem, 2.4vw, 2rem); margin: 0; }
.route-card__price { color: #f0fbfa; font-size: clamp(1.9rem, 4vw, 2.7rem); font-weight: 850; letter-spacing: -.04em; margin: 1.2rem 0 .5rem; }
.route-card__price small { color: #b9d5d3; font-size: .88rem; font-weight: 700; letter-spacing: 0; white-space: nowrap; }
.route-card__intro { color: #b9d5d3; line-height: 1.6; margin: 0; min-height: 3.2em; }
.route-checklist { display: grid; gap: .68rem; list-style: none; margin: 1.6rem 0 2rem; padding: 0; }
.route-checklist li { align-items: center; color: #f0fbfa; display: flex; gap: .6rem; line-height: 1.35; }
.route-checklist span { align-items: center; background: rgb(255 149 120 / .16); border-radius: 50%; color: #ffb39f; display: inline-flex; flex: 0 0 1.25rem; height: 1.25rem; justify-content: center; width: 1.25rem; }
.route-checklist__excluded { color: #91aead !important; }
.route-checklist__excluded span { background: rgb(185 213 211 / .1); color: #91aead; }
.route-card .button { margin-top: auto; text-align: center; }
:root[data-theme="light"] .route-card { background: linear-gradient(145deg, #f4e7df, #eaded5); border-color: #cfae9f; }
:root[data-theme="light"] .route-card--care { border-color: #c7593e; }
:root[data-theme="light"] .route-card__eyebrow { color: #a4422d; }
:root[data-theme="light"] .route-card__price, :root[data-theme="light"] .route-checklist li { color: #183f49; }
:root[data-theme="light"] .route-shared-price { border-color: #cfae9f; }
:root[data-theme="light"] .route-shared-price span { color: #a4422d; }
:root[data-theme="light"] .route-shared-price strong { color: #183f49; }
:root[data-theme="light"] .route-shared-price small { color: #5f7477; }
:root[data-theme="light"] .route-card__price small, :root[data-theme="light"] .route-card__intro { color: #5f7477; }
:root[data-theme="light"] .route-checklist span { background: rgb(199 89 62 / .12); color: #a4422d; }
:root[data-theme="light"] .route-checklist__excluded { color: #788b8b !important; }
@media (max-width: 46rem) { .route-comparison__grid { grid-template-columns: 1fr; }.route-card { min-height: auto; } }

/* Offer architecture: three equal routes at desktop size, one focused route on small screens. */
.route-comparison__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.route-card { min-height: 37rem; }
.route-card--transformation { border-color: rgb(255 179 159 / .68); }
@media (max-width: 62rem) { .route-comparison__grid { grid-template-columns: 1fr; }.route-card { min-height: auto; } }

/* Services comparison: equal card dimensions; hierarchy comes only from increasingly deep surfaces. */
.route-card { background: linear-gradient(145deg, #1b4f5a, #15434e); border-color: rgb(255 179 159 / .42); min-height: 38rem; }
.route-card--care { background: linear-gradient(145deg, #143f4a, #103842); border-color: rgb(255 179 159 / .54); box-shadow: none; }
.route-card--transformation { background: linear-gradient(145deg, #0e333d, #092a33); border-color: rgb(255 179 159 / .68); }
.route-card .button--primary, .route-card .button--secondary { background: #ff9578; border-color: #ff9578; color: #3a1d19; }
.route-card .button--primary:hover, .route-card .button--secondary:hover { background: #ffb39f; border-color: #ffb39f; }
:root[data-theme="light"] .route-card { background: linear-gradient(145deg, #f7eee9, #f2e4dc); border-color: #d9b7aa; }
:root[data-theme="light"] .route-card--care { background: linear-gradient(145deg, #efdfd7, #e7d1c6); border-color: #cfae9f; }
:root[data-theme="light"] .route-card--transformation { background: linear-gradient(145deg, #e6d1c6, #d9bfb2); border-color: #bd927f; }
:root[data-theme="light"] .route-card .button--primary, :root[data-theme="light"] .route-card .button--secondary { background: #c7593e; border-color: #c7593e; color: #fff; }
:root[data-theme="light"] .route-card .button--primary:hover, :root[data-theme="light"] .route-card .button--secondary:hover { background: #a4422d; border-color: #a4422d; }

/* Persistent site banner. */
.site-header { backdrop-filter: blur(14px); background: rgb(9 40 50 / .94); border-bottom: 1px solid rgb(255 149 120 / .22); left: 0; max-width: none; padding-left: max(1.25rem, calc((100vw - 76rem) / 2)); padding-right: max(1.25rem, calc((100vw - 76rem) / 2)); position: sticky; right: 0; top: 0; z-index: 20; }
:root[data-theme="light"] .site-header { background: rgb(247 243 239 / .94); border-bottom-color: rgb(199 89 62 / .28); }

/* Theme control: the glyph is the visual element; its hit area stays accessible without a surrounding circle. */
.theme-toggle { background: transparent !important; border-color: transparent !important; box-shadow: none !important; }
.theme-toggle:hover { background: transparent !important; transform: none; }
.theme-toggle:focus-visible { outline: 2px solid var(--ea-action); outline-offset: 3px; }

/* Theme-safe contact treatment: never inherit a light ink colour as a dark panel surface. */
.contact-panel { background: #103640; color: #f0fbfa; }
.contact-panel p { color: #b9d5d3; }
.contact-list a { border-bottom-color: rgb(255 149 120 / .32); color: #f0fbfa; }
.contact-list small { color: #b9d5d3; }
:root[data-theme="light"] .contact-panel { background: #eaded5; color: #183f49; }
:root[data-theme="light"] .contact-panel p { color: #5f7477; }
:root[data-theme="light"] .contact-list a { border-bottom-color: #cfae9f; color: #183f49; }
:root[data-theme="light"] .contact-list small { color: #5f7477; }

/* Services alignment: the service name, delivery title, price, description, and action share fixed grid rows. */
.route-card { display: grid; grid-template-rows: 1.9rem 5rem 4.3rem 4.5rem 1fr auto; }
.route-card__eyebrow { align-items: center; display: flex; gap: .5rem; }
.route-card h3, .route-card__price, .route-card__intro { margin-top: 0; }
.route-card__price { align-self: start; }
.route-card__intro { align-self: start; min-height: 0; }
.route-checklist { margin-top: .6rem; }
.route-card__addon { border: 1px solid currentColor; border-radius: 999px; font-size: .62rem; letter-spacing: .08em; line-height: 1; padding: .3rem .42rem; text-transform: uppercase; }
@media (max-width: 62rem) { .route-card { display: flex; }.route-card__addon { align-self: center; }.route-card__intro { min-height: 3.2em; }.route-checklist { margin-top: 1.6rem; } }

/* Fix → Build → Transformation rises through progressively deeper surfaces. */
.route-card--build { background: linear-gradient(145deg, #143f4a, #103842); border-color: rgb(255 179 159 / .54); }
:root[data-theme="light"] .route-card--build { background: linear-gradient(145deg, #efdfd7, #e7d1c6); border-color: #cfae9f; }

/* Ongoing Support is a shared add-on rather than another delivery tier. */
.support-bolt-on { align-items: center; background: linear-gradient(135deg, rgb(255 149 120 / .13), rgb(47 128 136 / .16)); border: 1px solid rgb(255 179 159 / .48); display: grid; gap: 2rem; grid-template-columns: 1fr auto; margin-top: 1.25rem; padding: clamp(1.5rem, 3vw, 2.25rem); }
.support-bolt-on h3 { font-size: clamp(1.35rem, 2.2vw, 1.85rem); margin: 0; }
.support-bolt-on p:not(.route-card__eyebrow) { color: #b9d5d3; line-height: 1.6; margin: .6rem 0 0; max-width: 45rem; }
.support-bolt-on__price { display: grid; gap: .12rem; min-width: 12rem; text-align: right; }
.support-bolt-on__price strong { color: #f0fbfa; font-size: clamp(2rem, 4vw, 3.1rem); letter-spacing: -.05em; line-height: 1; }
.support-bolt-on__price span { color: #ffb39f; font-weight: 800; }
.support-bolt-on__price small { color: #b9d5d3; margin-top: .45rem; }
:root[data-theme="light"] .support-bolt-on { background: linear-gradient(135deg, #f3e4dc, #e9d6cc); border-color: #cfae9f; }
:root[data-theme="light"] .support-bolt-on p:not(.route-card__eyebrow), :root[data-theme="light"] .support-bolt-on__price small { color: #5f7477; }
:root[data-theme="light"] .support-bolt-on__price strong { color: #183f49; }
:root[data-theme="light"] .support-bolt-on__price span { color: #a4422d; }
@media (max-width: 62rem) { .support-bolt-on { grid-template-columns: 1fr; }.support-bolt-on__price { text-align: left; } }

/* Service names are primary navigation cues, never smaller than the card actions. */
.route-card { grid-template-rows: 2.25rem 5rem 4.3rem 4.5rem 1fr auto; }
.route-card__eyebrow { font-size: 1.05rem; font-weight: 900; letter-spacing: .06em; }

/* Responsive navigation: the desktop links become an explicit, keyboard-safe menu.
   The locked EA mark is intentionally untouched. */
.nav-toggle { display: none; }
.mobile-consultation-bar { display: none; }

@media (max-width: 52rem) {
  .site-header { align-items: center; flex-wrap: nowrap; min-height: 5.55rem; }
  .nav--primary {
    background: var(--ea-surface);
    border-bottom: 1px solid var(--ea-line);
    display: grid;
    gap: 0;
    grid-template-columns: 1fr !important;
    left: 0;
    margin: 0;
    max-height: 0;
    opacity: 0;
    order: initial;
    overflow: hidden;
    padding: 0 max(1.25rem, calc((100vw - 76rem) / 2));
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 100%;
    transform: translateY(-.4rem);
    transition: max-height .24s ease, opacity .18s ease, transform .24s ease;
  }
  .nav--primary.is-open { max-height: 25rem; opacity: 1; padding-bottom: 1rem; padding-top: .4rem; pointer-events: auto; transform: translateY(0); }
  .nav--primary a, .nav--primary a:not(.nav__contact) { border-bottom: 1px solid var(--ea-line); color: var(--ea-ink); display: block; font-size: 1rem; padding: .92rem 0; text-align: left; }
  .nav-toggle { align-items: center; background: transparent; border: 0; color: var(--ea-ink); cursor: pointer; display: inline-flex; height: 3rem; justify-content: center; margin-left: auto; padding: .5rem; width: 3rem; }
  .nav-toggle__bars { display: grid; gap: .3rem; width: 1.45rem; }
  .nav-toggle__bars span { background: currentColor; display: block; height: 2px; transition: transform .2s ease, opacity .2s ease; width: 100%; }
  .nav-toggle[aria-expanded="true"] .nav-toggle__bars span:first-child { transform: translateY(.38rem) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] .nav-toggle__bars span:last-child { transform: translateY(-.38rem) rotate(-45deg); }
  .site-header > .nav__cta { display: none; }
  .site-header .theme-toggle { flex: 0 0 auto; height: 3rem; margin-left: .15rem; min-width: 3rem; }
  body { padding-bottom: 5.6rem; }
  .mobile-consultation-bar { align-items: center; background: rgb(9 40 50 / .96); border-top: 1px solid var(--ea-line); bottom: 0; color: var(--ea-action); display: flex; font-size: 1rem; font-weight: 800; justify-content: center; left: 0; min-height: 4.8rem; padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom)); position: fixed; right: 0; text-align: center; z-index: 30; }
  :root[data-theme="light"] .mobile-consultation-bar { background: rgb(247 243 239 / .96); }
}

@media (min-width: 52.0625rem) { .nav--primary { display: flex !important; } }
.route-card__addon { font-size: .62rem; }

/* Consultation form: visual layer only; secure delivery is handled by the Worker. */
.consultation-dialog { background: transparent; border: 0; max-height: 100dvh; max-width: min(38rem, calc(100vw - 2rem)); padding: 1rem; width: 100%; }
.consultation-dialog::backdrop { background: rgb(3 16 24 / .72); backdrop-filter: blur(5px); }
.consultation-dialog__panel { background: var(--ea-surface); border: 1px solid var(--ea-line); box-shadow: 0 1.4rem 4rem rgb(0 0 0 / .28); color: var(--ea-ink); margin: auto; padding: clamp(1.25rem, 4vw, 2rem); }
.consultation-dialog__heading { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }
.consultation-dialog__heading h2 { font-size: clamp(1.65rem, 4vw, 2.2rem); margin-bottom: .35rem; }
.consultation-dialog__intro, .consultation-form__privacy { color: var(--ea-muted); }
.consultation-dialog__close { appearance: none; background: transparent; border: 0; color: var(--ea-ink); cursor: pointer; font-size: 2rem; line-height: 1; padding: .2rem .45rem; }
.consultation-form { display: grid; gap: .6rem; margin-top: 1.5rem; }
.consultation-form label { color: var(--ea-ink); font-size: .92rem; font-weight: 800; }
.consultation-form input, .consultation-form select, .consultation-form textarea { background: transparent; border: 1px solid var(--ea-line); border-radius: 0; color: var(--ea-ink); font: inherit; padding: .78rem .85rem; width: 100%; }
.consultation-form textarea { resize: vertical; }
.consultation-form input:focus, .consultation-form select:focus, .consultation-form textarea:focus { border-color: var(--ea-action); outline: 2px solid rgb(255 149 120 / .25); outline-offset: 1px; }
.consultation-form__privacy { font-size: .82rem; line-height: 1.55; margin: .35rem 0; }
.consultation-form__status { font-weight: 700; margin: 0; min-height: 1.5em; }
