:root {
    --de-ink: #102a2b;
    --de-muted: #526768;
    --de-teal: #087f83;
    --de-teal-dark: #063f42;
    --de-navy: #072f38;
    --de-yellow: #ffc20a;
    --de-blue: #38b8d3;
    --de-surface: #f3f7f7;
    --de-line: #d6e1e1;
    --de-white: #ffffff;
    --de-danger: #a32d2d;
    --de-radius: 18px;
    --de-shadow: 0 22px 60px rgba(7, 47, 56, .12);
    --de-container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--de-ink);
    background: var(--de-white);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 1rem;
    line-height: 1.65;
    text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--de-ink); line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(2.65rem, 6vw, 5.75rem); }
h2 { font-size: clamp(2rem, 3.6vw, 3.45rem); }
h3 { font-size: 1.28rem; }
p { color: var(--de-muted); }
.de-container { width: min(calc(100% - 40px), var(--de-container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 1000; padding: 12px 18px; background: var(--de-yellow); color: var(--de-ink); font-weight: 800; text-decoration: none; }
.skip-link:focus { top: 16px; }
:focus-visible { outline: 3px solid var(--de-blue); outline-offset: 3px; }

.launch-strip { background: var(--de-navy); color: #d7f4f5; font-size: .82rem; }
.launch-strip__inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.launch-strip__inner span:first-child { color: var(--de-yellow); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(16,42,43,.09); backdrop-filter: blur(14px); }
.site-header__inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; text-decoration: none; }
.brand img { width: 206px; height: auto; }
.primary-nav { display: flex; align-items: center; gap: 28px; font-size: .94rem; font-weight: 700; }
.primary-nav > a:not(.button) { position: relative; padding-block: 10px; text-decoration: none; }
.primary-nav > a:not(.button)::after { position: absolute; left: 0; right: 100%; bottom: 4px; height: 2px; content: ""; background: var(--de-teal); transition: right .2s ease; }
.primary-nav > a:not(.button):hover::after, .primary-nav > a.is-active::after { right: 0; }
.menu-toggle { display: none; width: 46px; height: 46px; padding: 12px; border: 1px solid var(--de-line); border-radius: 12px; background: white; }
.menu-toggle span:not(.sr-only) { display: block; height: 2px; margin: 4px 0; background: var(--de-ink); }

.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 8px; padding: 12px 22px; border: 2px solid var(--de-yellow); border-radius: 999px; color: var(--de-ink); background: var(--de-yellow); font-weight: 800; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(255,194,10,.24); }
.button--small { min-height: 42px; padding: 9px 17px; }
.button--ghost { border-color: rgba(255,255,255,.65); color: white; background: rgba(0,0,0,.18); }
.button--ghost-dark { border-color: rgba(255,255,255,.35); color: white; background: transparent; }
.button--outline { border-color: var(--de-line); background: white; }
.button--submit { width: 100%; border: 0; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--de-teal-dark); font-weight: 800; text-decoration: none; }
.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform: translateX(4px); }
.eyebrow { margin-bottom: 16px; color: var(--de-teal); font-size: .78rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }

.hero { position: relative; min-height: 700px; display: flex; align-items: center; overflow: hidden; background: var(--de-navy); }
.hero__image, .hero__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__image { object-fit: cover; object-position: center; }
.hero__overlay { background: linear-gradient(90deg, rgba(3,24,29,.98) 0%, rgba(3,24,29,.86) 38%, rgba(3,24,29,.18) 72%, rgba(3,24,29,.2) 100%); }
.hero__content { position: relative; z-index: 1; padding-block: 96px; }
.hero__content > * { max-width: 690px; }
.hero .eyebrow { color: var(--de-yellow); }
.hero h1 { margin-bottom: 26px; color: white; font-size: clamp(3rem, 6.5vw, 6rem); }
.hero__lead { max-width: 660px; margin-bottom: 30px; color: #d7e7e8; font-size: 1.15rem; line-height: 1.7; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 34px; }
.hero__assurance { display: flex; flex-wrap: wrap; gap: 10px 26px; padding: 0; margin: 0; color: #cde0e1; list-style: none; font-size: .88rem; }
.hero__assurance li { position: relative; padding-left: 17px; }
.hero__assurance li::before { position: absolute; left: 0; top: .65em; width: 7px; height: 7px; border-radius: 50%; content: ""; background: var(--de-yellow); }

.need-panel, .content-section { padding-block: 110px; }
.section-heading { max-width: 720px; margin-bottom: 44px; }
.section-heading h2 { margin-bottom: 20px; }
.section-heading--row { max-width: none; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .65fr); align-items: end; gap: 70px; }
.section-heading--row p:last-child { margin-bottom: 12px; font-size: 1.05rem; }
.service-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.service-card { min-height: 310px; display: flex; flex-direction: column; padding: 26px 23px; border: 1px solid var(--de-line); border-radius: var(--de-radius); background: white; text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.service-card:hover { transform: translateY(-6px); border-color: var(--de-teal); box-shadow: var(--de-shadow); }
.service-card__mark { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 28px; border-radius: 15px; color: white; background: var(--de-teal-dark); font-size: .82rem; font-weight: 900; letter-spacing: .08em; }
.service-card__state { margin-bottom: 12px; color: var(--de-teal); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.service-card h3 { margin-bottom: 12px; }
.service-card p { margin-bottom: 24px; font-size: .91rem; line-height: 1.6; }
.service-card .text-link { margin-top: auto; font-size: .88rem; }

.process-section { padding-block: 110px; background: var(--de-surface); }
.process-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 110px; align-items: start; }
.process-list { display: grid; gap: 1px; padding: 0; margin: 0; background: var(--de-line); list-style: none; }
.process-list li { display: grid; grid-template-columns: 62px 1fr; gap: 24px; padding: 30px 0; background: var(--de-surface); }
.process-list li > span { color: var(--de-teal); font-size: .8rem; font-weight: 900; letter-spacing: .1em; }
.process-list h3 { margin-bottom: 8px; }
.process-list p { margin-bottom: 0; }

.business-band { background: var(--de-teal-dark); }
.business-band__inner { min-height: 440px; display: grid; grid-template-columns: 1.15fr .55fr; align-items: center; gap: 100px; padding-block: 80px; }
.business-band .eyebrow { color: var(--de-yellow); }
.business-band h2 { color: white; }
.business-band p { max-width: 680px; color: #cce4e5; }
.business-band__actions { display: grid; gap: 14px; }
.trust-section { padding-block: 90px; }
.trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 60px; }
.trust-grid article { border-top: 2px solid var(--de-ink); padding-top: 24px; }
.trust-grid .metric { color: var(--de-teal); font-weight: 900; letter-spacing: .1em; }

.page-hero { padding-block: 100px 90px; background: var(--de-surface); }
.page-hero--business { background: var(--de-navy); }
.page-hero__grid { display: grid; grid-template-columns: 1.18fr .72fr; gap: 100px; align-items: end; }
.page-hero h1 { max-width: 800px; margin-bottom: 0; font-size: clamp(2.8rem, 5.2vw, 5.2rem); }
.page-hero__grid > p, .page-hero__grid > div:last-child > p { margin-bottom: 24px; font-size: 1.1rem; }
.page-hero--business h1 { color: white; }
.page-hero--business .eyebrow { color: var(--de-yellow); }
.page-hero--business p { color: #cfe1e2; }

.service-detail-list { display: grid; gap: 0; }
.service-detail { display: grid; grid-template-columns: 100px 1fr; gap: 45px; padding-block: 48px; border-top: 1px solid var(--de-line); }
.service-detail:last-child { border-bottom: 1px solid var(--de-line); }
.service-detail__number { color: var(--de-teal); font-size: .85rem; font-weight: 900; letter-spacing: .12em; }
.service-detail__heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.service-detail h2 { margin-bottom: 14px; font-size: clamp(1.8rem, 3vw, 2.8rem); }
.service-detail p { max-width: 850px; }
.small-copy { font-size: .95rem; }
.availability-pill { flex: none; padding: 7px 12px; border: 1px solid #afd0d1; border-radius: 999px; color: var(--de-teal-dark); background: #edf8f8; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.note-band { padding-block: 46px; background: var(--de-yellow); }
.note-band__inner { display: grid; grid-template-columns: 240px 1fr; gap: 50px; align-items: start; }
.note-band strong { font-size: 1.15rem; }
.note-band p { margin: 0; color: #3a3a2d; }

.feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.feature-grid article { min-height: 280px; padding: 36px; border: 1px solid var(--de-line); border-radius: var(--de-radius); }
.feature-kicker { display: block; margin-bottom: 48px; color: var(--de-teal); font-size: .78rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.feature-grid h2 { margin-bottom: 14px; font-size: 2rem; }
.split-section { padding-block: 110px; background: var(--de-surface); }
.split-section__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; }
.plain-steps { padding: 0; margin: 0; list-style: none; }
.plain-steps li { display: grid; grid-template-columns: 48px 1fr; gap: 22px; padding: 24px 0; border-top: 1px solid var(--de-line); }
.plain-steps li > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--de-teal); font-weight: 900; }
.plain-steps strong { font-size: 1.1rem; }
.plain-steps p { margin: 4px 0 0; }

.standards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.standards-grid article { min-height: 290px; padding: 32px; border: 1px solid var(--de-line); border-radius: var(--de-radius); }
.standards-grid span { display: block; margin-bottom: 52px; color: var(--de-teal); font-weight: 900; letter-spacing: .12em; }
.standards-grid h2 { font-size: 1.55rem; }
.emergency-note { padding-block: 80px; color: white; background: #6e2828; }
.emergency-note__inner { display: grid; grid-template-columns: .72fr 1.28fr; gap: 90px; }
.emergency-note .eyebrow { color: #ffd46c; }
.emergency-note h2 { color: white; }
.emergency-note p { color: #f5dddd; }

.legal-page { padding-block: 100px; }
.legal-page__grid { display: grid; grid-template-columns: 300px minmax(0, 760px); justify-content: space-between; gap: 90px; }
.legal-page aside { position: sticky; top: 130px; align-self: start; }
.legal-page h1 { font-size: clamp(2.8rem, 5vw, 4.6rem); }
.legal-copy h2 { margin: 44px 0 12px; font-size: 1.5rem; }
.legal-copy h2:first-child { margin-top: 0; }
.legal-copy p { font-size: 1.04rem; }
.account-title { margin-bottom: 0; font-size: clamp(2.7rem, 5vw, 4.8rem); }
.request-list { display: grid; gap: 14px; }
.request-list__item { display: grid; grid-template-columns: 1fr .8fr; gap: 48px; align-items: center; padding: 28px; border: 1px solid var(--de-line); border-radius: 16px; }
.request-list__item h2 { margin: 8px 0; font-size: 1.5rem; }
.request-list__item p { margin: 6px 0 0; }
.request-list__reference { color: var(--de-teal); font-size: .78rem; font-weight: 900; letter-spacing: .09em; }
.empty-state { padding: 60px 30px; border: 1px dashed var(--de-line); border-radius: 18px; text-align: center; }
.empty-state .button { margin-top: 10px; }
.pagination-wrap { margin-top: 28px; }

.request-page { padding-block: 86px 120px; background: var(--de-surface); }
.request-page__grid { display: grid; grid-template-columns: .68fr 1.32fr; gap: 70px; align-items: start; }
.request-intro { position: sticky; top: 140px; }
.request-intro h1 { margin-bottom: 26px; font-size: clamp(2.65rem, 4.4vw, 4.5rem); }
.request-promise { margin-top: 36px; padding: 25px; border: 1px solid var(--de-line); border-radius: 16px; background: white; }
.request-promise strong { display: block; margin-bottom: 12px; }
.request-promise ol { padding-left: 20px; margin: 0; color: var(--de-muted); }
.form-card, .track-card { padding: 38px; border: 1px solid var(--de-line); border-radius: 22px; background: white; box-shadow: var(--de-shadow); }
.form-card fieldset { padding: 0; margin: 0 0 44px; border: 0; }
.form-card legend { width: 100%; display: flex; align-items: center; gap: 12px; padding-bottom: 16px; margin-bottom: 24px; border-bottom: 1px solid var(--de-line); color: var(--de-ink); font-size: 1.25rem; font-weight: 850; }
.form-card legend span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--de-teal); font-size: .9rem; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.field { display: grid; gap: 7px; color: var(--de-ink); font-weight: 750; }
.field > span:first-child { font-size: .9rem; }
.field--wide { grid-column: 1 / -1; }
.field input, .field select, .field textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #bacaca; border-radius: 10px; color: var(--de-ink); background: white; font-weight: 500; }
.field textarea { resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--de-teal); outline: 3px solid rgba(56,184,211,.25); }
.compound-field { display: grid; grid-template-columns: 1fr 120px; gap: 8px; }
.field-error { color: var(--de-danger); font-weight: 700; }
.form-consents { display: grid; gap: 15px; margin-bottom: 26px; }
.form-consents label { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; color: var(--de-muted); font-size: .9rem; }
.form-consents input { width: 19px; height: 19px; margin-top: 3px; accent-color: var(--de-teal); }
.form-consents a { color: var(--de-teal-dark); font-weight: 800; }
.form-footnote { margin: 12px 0 0; text-align: center; font-size: .86rem; }
.honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.alert { margin-bottom: 28px; padding: 16px 18px; border-radius: 12px; }
.alert--error { border: 1px solid #e1a2a2; color: #742121; background: #fff1f1; }
.alert ul { margin: 8px 0 0; padding-left: 20px; }

.result-page { min-height: 660px; padding-block: 90px; display: grid; place-items: center; background: var(--de-surface); }
.result-card { max-width: 820px; padding: 54px; border: 1px solid var(--de-line); border-radius: 24px; background: white; box-shadow: var(--de-shadow); text-align: center; }
.result-card__icon { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto 22px; border-radius: 50%; color: white; background: var(--de-teal); font-size: 1.8rem; font-weight: 900; }
.result-card h1 { max-width: 680px; margin-inline: auto; font-size: clamp(2.2rem, 4vw, 3.6rem); }
.reference-code { display: inline-block; padding: 12px 20px; border: 1px dashed var(--de-teal); border-radius: 10px; color: var(--de-teal-dark); background: #eef8f8; font-size: 1.45rem; font-weight: 900; letter-spacing: .08em; }
.copy-button { display: block; margin: 10px auto 30px; border: 0; color: var(--de-teal); background: transparent; font-weight: 800; cursor: pointer; }
.result-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 30px 0; background: var(--de-line); }
.result-summary div { padding: 20px; background: white; }
.result-summary span { display: block; color: var(--de-muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.result-summary strong { display: block; margin-top: 4px; }
.result-note { max-width: 640px; margin: 0 auto 28px; }
.result-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }

.track-page { padding-block: 90px 120px; background: var(--de-surface); }
.track-page__grid { display: grid; grid-template-columns: 1fr .9fr; gap: 90px; align-items: center; }
.track-intro h1 { font-size: clamp(2.7rem, 5vw, 4.8rem); }
.track-card form { display: grid; gap: 18px; }
.status-panel { margin-top: 70px; padding: 42px; border: 1px solid var(--de-line); border-radius: 22px; background: white; }
.status-panel__heading { display: flex; justify-content: space-between; gap: 24px; align-items: start; padding-bottom: 28px; border-bottom: 1px solid var(--de-line); }
.status-panel__heading h2 { margin: 0; font-size: 2.2rem; }
.status-badge { display: inline-flex; padding: 8px 14px; border-radius: 999px; color: var(--de-teal-dark); background: #e5f4f4; font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.status-badge--cancelled, .status-badge--unavailable { color: #7d2525; background: #fff0f0; }
.status-badge--completed { color: #245f35; background: #e9f7ed; }
.status-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding-block: 28px; margin: 0; }
.status-facts dt { color: var(--de-muted); font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.status-facts dd { margin: 5px 0 0; font-weight: 800; }
.status-note { padding: 20px; border-left: 4px solid var(--de-yellow); background: #fff9e3; }
.status-note p { margin: 5px 0 0; }
.timeline { padding: 28px 0 0; margin: 0; list-style: none; }
.timeline li { display: grid; grid-template-columns: 16px 1fr; gap: 18px; padding-bottom: 24px; }
.timeline li > span { width: 12px; height: 12px; margin-top: 7px; border: 3px solid white; border-radius: 50%; background: var(--de-teal); box-shadow: 0 0 0 1px var(--de-teal); }
.timeline time { color: var(--de-muted); font-size: .78rem; font-weight: 800; }
.timeline p { margin: 3px 0 0; }
.status-disclaimer { margin: 0; padding-top: 20px; border-top: 1px solid var(--de-line); font-size: .88rem; }

.site-footer { padding-top: 78px; color: #d5e6e7; background: #061f25; }
.site-footer__grid { display: grid; grid-template-columns: 1.35fr repeat(3, .7fr); gap: 55px; padding-bottom: 62px; }
.brand--footer { margin-bottom: 18px; padding: 8px 12px; border-radius: 9px; background: white; }
.brand--footer img { width: 190px; }
.site-footer p { max-width: 340px; color: #a9c0c1; }
.site-footer h2 { margin-bottom: 18px; color: white; font-size: .92rem; letter-spacing: .07em; text-transform: uppercase; }
.site-footer__grid > div > a:not(.brand):not(.text-link) { display: block; margin: 9px 0; color: #cce0e1; text-decoration: none; }
.site-footer .text-link { color: var(--de-yellow); }
.site-footer__bottom { min-height: 76px; display: flex; justify-content: space-between; align-items: center; gap: 24px; border-top: 1px solid rgba(255,255,255,.12); color: #91a9aa; font-size: .78rem; }

.operations-body { background: var(--de-surface); }
.operations-header { background: white; border-bottom: 1px solid var(--de-line); }
.operations-header__inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.operations-header__inner > div { display: flex; align-items: center; gap: 24px; }
.operations-header__inner > div a { color: var(--de-teal); font-weight: 800; text-decoration: none; }
.operations-main { padding-block: 58px 100px; }
.operations-title { display: grid; grid-template-columns: 1fr .7fr; gap: 60px; align-items: end; margin-bottom: 34px; }
.operations-title h1 { margin: 0; font-size: clamp(2.5rem, 5vw, 4.4rem); }
.operations-title > p { margin: 0; }
.operations-summary { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-bottom: 22px; }
.operations-summary a { display: grid; gap: 5px; padding: 17px; border: 1px solid var(--de-line); border-radius: 12px; background: white; text-decoration: none; }
.operations-summary span { color: var(--de-muted); font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.operations-summary strong { font-size: 1.7rem; }
.operations-filter { display: grid; grid-template-columns: 1.4fr .7fr .9fr auto; gap: 14px; align-items: end; padding: 20px; margin-bottom: 22px; border: 1px solid var(--de-line); border-radius: 14px; background: white; }
.operations-table-wrap { overflow-x: auto; border: 1px solid var(--de-line); border-radius: 14px; background: white; }
.operations-table { width: 100%; border-collapse: collapse; }
.operations-table th, .operations-table td { padding: 17px 16px; border-bottom: 1px solid var(--de-line); vertical-align: top; text-align: left; }
.operations-table th { color: var(--de-muted); background: #e9f0f0; font-size: .76rem; letter-spacing: .05em; text-transform: uppercase; }
.operations-table td { font-size: .9rem; }
.operations-table td small { display: block; margin-top: 3px; color: var(--de-muted); }
.operations-empty { padding: 50px !important; color: var(--de-muted); text-align: center !important; }
.back-link { display: inline-block; margin-bottom: 22px; color: var(--de-teal-dark); font-weight: 800; text-decoration: none; }
.alert--success { border: 1px solid #9bcaaa; color: #1f5930; background: #ecf8ef; }
.account-shell { max-width: 760px; padding-bottom: 96px; }
.account-form { display: grid; gap: 18px; }
.account-form form { display: grid; gap: 16px; }
.account-form .field { display: grid; gap: 8px; }
.account-form .field span { font-weight: 800; }
.account-form .field small, .form-footnote { color: var(--de-muted); font-size: .88rem; }
.checkbox-line { display: flex; gap: 9px; align-items: center; font-size: .92rem; }
.nav-account-form { margin: 0; }
.nav-account-form button { padding: 0; border: 0; background: transparent; color: var(--de-teal-dark); font: inherit; font-weight: 750; cursor: pointer; }
.operations-detail-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 22px; align-items: start; }
.operations-card { padding: 30px; margin-bottom: 22px; border: 1px solid var(--de-line); border-radius: 16px; background: white; }
.operations-card__heading { display: flex; justify-content: space-between; align-items: start; gap: 30px; padding-bottom: 25px; margin-bottom: 24px; border-bottom: 1px solid var(--de-line); }
.operations-card__heading h1 { margin: 0; font-size: 2.35rem; }
.operations-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin: 0; }
.operations-facts dt { color: var(--de-muted); font-size: .76rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.operations-facts dd { margin: 5px 0 0; font-weight: 800; }
.operations-facts small { display: block; margin-top: 4px; color: var(--de-muted); font-weight: 500; }
.operations-note, .operations-warning { padding: 18px; margin-top: 24px; border-left: 4px solid var(--de-yellow); background: #fff9e1; }
.operations-note p, .operations-warning p { margin: 5px 0 0; }
.operations-card > h2, .operations-update h2 { font-size: 1.6rem; }
.operations-timeline article { padding-block: 18px; border-top: 1px solid var(--de-line); }
.operations-timeline article > div { display: flex; justify-content: space-between; gap: 20px; }
.operations-timeline time, .operations-timeline small { color: var(--de-muted); font-size: .78rem; }
.operations-timeline p { margin: 8px 0 0; font-size: .9rem; }
.operations-update { position: sticky; top: 22px; }
.operations-update form { display: grid; gap: 16px; }
.operations-warning { border-left-color: var(--de-danger); background: #fff1f1; }

/* Doorstep Energy workspace system */
.workspace-body { overflow-x: hidden; background: #f4f8f8; font-size: .94rem; }
.workspace-body h1 { font-size: clamp(2rem, 3vw, 3.15rem); }
.workspace-body h2 { font-size: clamp(1.25rem, 1.8vw, 1.65rem); letter-spacing: -.025em; }
.workspace-body p { line-height: 1.55; }
.workspace-topline { width: 100%; min-height: 30px; display: flex; justify-content: space-between; align-items: center; padding-inline: 28px; font-size: .68rem; }
.workspace-topline span:first-child { color: var(--de-yellow); font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.workspace-shell { min-height: calc(100vh - 30px); display: grid; grid-template-columns: 244px minmax(0, 1fr); }
.workspace-sidebar { position: sticky; top: 0; height: calc(100vh - 30px); display: flex; flex-direction: column; gap: 20px; padding: 26px 18px 20px; color: #d5e8e8; background: #073f43; overflow-y: auto; }
.workspace-brand { min-height: 52px; margin: -8px -3px 4px; padding: 8px 12px; border-radius: 12px; background: white; }
.workspace-brand img { width: 166px; }
.workspace-profile { display: grid; grid-template-columns: 42px 1fr; gap: 11px; align-items: center; padding: 8px 4px 19px; border-bottom: 1px solid rgba(255,255,255,.13); }
.avatar { width: 42px; height: 42px; display: grid; place-items: center; flex: none; border: 2px solid #70c6c7; border-radius: 50%; color: white; background: #11666a; font-weight: 850; }
.avatar--large { width: 54px; height: 54px; color: white; }
.workspace-profile div { min-width: 0; display: grid; line-height: 1.35; }
.workspace-profile small { color: #b6d0d1; font-size: .66rem; }
.workspace-profile strong { overflow: hidden; color: white; text-overflow: ellipsis; white-space: nowrap; }
.workspace-profile span { color: #79d8ad; font-size: .63rem; font-weight: 750; }
.workspace-nav { display: grid; gap: 4px; }
.workspace-nav a { display: grid; grid-template-columns: 25px 1fr; align-items: center; min-height: 42px; padding: 8px 10px; border-radius: 9px; color: #d8eaea; font-weight: 700; text-decoration: none; transition: .18s ease; }
.workspace-nav a > span { color: #9dd1d2; font-size: 1.05rem; text-align: center; }
.workspace-nav a:hover, .workspace-nav a.is-active { color: white; background: rgba(255,255,255,.13); }
.workspace-nav a.is-active > span { color: var(--de-yellow); }
.workspace-sidebar-cta { margin-top: auto; padding: 16px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: rgba(0,0,0,.12); }
.workspace-sidebar-cta small, .workspace-sidebar-cta strong { display: block; }
.workspace-sidebar-cta small { color: #a9c8c9; font-size: .66rem; }
.workspace-sidebar-cta strong { margin: 4px 0 6px; color: white; }
.workspace-sidebar-cta p { margin: 4px 0 0; color: #a9c8c9; font-size: .72rem; }
.workspace-sidebar-cta a { color: var(--de-yellow); font-size: .74rem; font-weight: 850; text-decoration: none; }
.workspace-signout { width: 100%; padding: 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; color: #d8eaea; background: transparent; font-weight: 750; cursor: pointer; }
.workspace-main { min-width: 0; }
.workspace-header { min-height: 70px; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 12px 32px; border-bottom: 1px solid #dbe5e5; background: rgba(255,255,255,.96); }
.workspace-header nav, .workspace-header > div { display: flex; align-items: center; gap: 24px; }
.workspace-header a:not(.button) { color: #405c5d; font-size: .82rem; font-weight: 750; text-decoration: none; }
.workspace-content { width: min(100%, 1520px); padding: 34px 36px 70px; margin-inline: auto; }
.workspace-mobile-header { display: none; }
.workspace-title-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; margin-bottom: 26px; }
.workspace-title-row .eyebrow { margin-bottom: 7px; }
.workspace-title-row h1 { margin-bottom: 7px; }
.workspace-title-row p { max-width: 720px; margin: 0; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.metric-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.metric-card { position: relative; min-height: 146px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto 1fr; column-gap: 12px; padding: 20px; border: 1px solid var(--de-line); border-radius: 13px; background: white; text-decoration: none; box-shadow: 0 8px 24px rgba(7,47,56,.035); }
.metric-card small { color: var(--de-muted); font-size: .75rem; font-weight: 750; }
.metric-card strong { align-self: center; font-size: 2rem; line-height: 1; }
.metric-card > span:last-child { align-self: end; color: var(--de-teal); font-size: .72rem; font-weight: 750; }
.metric-icon { grid-row: 1 / 3; grid-column: 2; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; font-weight: 900; }
.metric-icon--teal { color: #057176; background: #dff4f3; }.metric-icon--green { color: #238255; background: #e1f5e8; }.metric-icon--blue { color: #176da0; background: #e5f3fa; }.metric-icon--gold { color: #9c6a00; background: #fff3c6; }
.workspace-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, .7fr); gap: 18px; }
.workspace-grid--request { grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); }
.workspace-panel { padding: 22px; border: 1px solid var(--de-line); border-radius: 14px; background: white; box-shadow: 0 8px 26px rgba(7,47,56,.035); }
.workspace-panel--full { grid-column: 1 / -1; }
.panel-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 18px; }
.panel-heading .eyebrow { margin-bottom: 4px; }.panel-heading h2 { margin: 0; }.panel-heading a { color: var(--de-teal); font-size: .75rem; font-weight: 800; text-decoration: none; }
.service-action-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.service-action-grid a { min-height: 158px; display: flex; flex-direction: column; padding: 15px; border: 1px solid var(--de-line); border-radius: 12px; text-decoration: none; }
.service-action-grid a:hover { border-color: var(--de-teal); box-shadow: 0 10px 24px rgba(7,127,131,.1); }
.service-action-icon { width: 34px; height: 34px; display: grid; place-items: center; margin-bottom: 20px; border-radius: 9px; color: var(--de-teal-dark); background: #e4f3f3; font-size: 1.15rem; font-weight: 900; }
.service-action-grid strong { font-size: .88rem; }.service-action-grid small { margin-top: 5px; color: var(--de-muted); font-size: .68rem; line-height: 1.4; }
.account-summary-card { display: flex; align-items: center; gap: 14px; padding: 16px; border-radius: 12px; background: #eef6f6; }
.account-summary-card > div { min-width: 0; display: grid; }.account-summary-card strong { overflow: hidden; text-overflow: ellipsis; }.account-summary-card span:not(.avatar) { color: var(--de-muted); font-size: .72rem; }
.trust-note, .billing-notice { display: flex; gap: 12px; padding: 14px; margin-top: 15px; border: 1px solid #d9e8df; border-radius: 11px; background: #f1faf4; }
.trust-note > span, .billing-notice > span { width: 25px; height: 25px; display: grid; place-items: center; flex: none; border-radius: 50%; color: white; background: #329167; font-weight: 900; }
.trust-note strong { font-size: .78rem; }.trust-note p, .billing-notice p { margin: 2px 0 0; font-size: .7rem; }
.request-cards { display: grid; }.request-card { display: grid; grid-template-columns: 38px minmax(160px, 1fr) auto 18px; gap: 12px; align-items: center; padding: 13px 5px; border-bottom: 1px solid #e4ebeb; text-decoration: none; }.request-card:last-child { border-bottom: 0; }
.request-card__icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; color: var(--de-teal); background: #e4f3f3; font-weight: 900; }.request-card div { min-width: 0; display: grid; }.request-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .83rem; }.request-card small { color: var(--de-muted); font-size: .7rem; }
.empty-state--compact { padding: 30px 20px; }.empty-state--compact h3 { margin-bottom: 5px; }.empty-state--compact p { font-size: .82rem; }
.request-list--workspace .request-list__item { grid-template-columns: minmax(230px, 1fr) minmax(180px, .7fr) 18px; gap: 22px; padding: 18px; color: inherit; text-decoration: none; }.request-list--workspace .request-list__main { display: flex; gap: 13px; align-items: center; }.request-list--workspace h2 { margin: 4px 0; font-size: 1rem; }.request-list--workspace p { font-size: .76rem; }.request-list--workspace > a > div:nth-child(2) { display: grid; justify-items: end; gap: 6px; text-align: right; }
.progress-timeline { padding: 0; margin: 0; list-style: none; }.progress-timeline li { position: relative; display: grid; grid-template-columns: 34px 1fr; gap: 13px; min-height: 68px; }.progress-timeline li::after { position: absolute; left: 16px; top: 34px; bottom: 0; width: 2px; content: ''; background: #dce7e7; }.progress-timeline li:last-child::after { display: none; }.progress-timeline li > span { width: 34px; height: 34px; display: grid; place-items: center; z-index: 1; border: 2px solid #d3e0e0; border-radius: 50%; color: #7a8d8e; background: white; font-size: .75rem; font-weight: 900; }.progress-timeline li.is-done > span { border-color: var(--de-teal); color: white; background: var(--de-teal); }.progress-timeline li.is-done::after { background: var(--de-teal); }.progress-timeline li strong { font-size: .86rem; }.progress-timeline li p { margin: 4px 0 0; font-size: .76rem; }
.detail-list { margin: 18px 0; }.detail-list div { padding: 11px 0; border-bottom: 1px solid #e4ebeb; }.detail-list dt { color: var(--de-muted); font-size: .68rem; font-weight: 850; text-transform: uppercase; }.detail-list dd { margin: 3px 0 0; font-size: .82rem; font-weight: 750; }.quote-total { display: grid; gap: 4px; padding: 16px; margin: 18px 0; border-radius: 12px; background: #f0f7f7; }.quote-total span, .quote-total small { color: var(--de-muted); font-size: .7rem; }.quote-total strong { font-size: 1.6rem; }.button--full { width: 100%; }.button--quiet { margin-top: 9px; border-color: #cddada; background: white; box-shadow: none; }.activity-list > div { display: grid; grid-template-columns: 10px 1fr; gap: 14px; padding: 13px 0; border-bottom: 1px solid #e4ebeb; }.activity-list > div > span { width: 9px; height: 9px; margin-top: 7px; border-radius: 50%; background: var(--de-teal); }.activity-list p { margin: 3px 0; font-size: .78rem; }.activity-list small { color: var(--de-muted); font-size: .68rem; }
.asset-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }.asset-card { min-height: 235px; display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--de-line); border-radius: 14px; color: inherit; background: white; text-align: left; }.asset-card__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 26px; }.asset-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 13px; color: var(--de-teal); background: #e8f5f5; font-size: 1.35rem; }.asset-card h2 { margin-bottom: 7px; }.asset-card p, .asset-card small { margin: 0; color: var(--de-muted); font-size: .76rem; }.asset-card > strong { margin: 10px 0 2px; }.asset-card__actions { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-top: 16px; margin-top: auto; border-top: 1px solid #e5ecec; }.asset-card__actions a, .asset-card__actions button { border: 0; color: var(--de-teal); background: transparent; font-size: .72rem; font-weight: 800; text-decoration: none; cursor: pointer; }.asset-card--empty { align-items: center; justify-content: center; border-style: dashed; text-align: center; cursor: pointer; }.asset-card--empty > span { margin-bottom: 14px; font-size: 2rem; }.asset-card--empty small { max-width: 210px; margin-top: 6px; }
.de-dialog { width: min(640px, calc(100% - 30px)); padding: 0; border: 0; border-radius: 18px; box-shadow: 0 30px 90px rgba(5,40,45,.3); }.de-dialog::backdrop { background: rgba(3,31,35,.68); }.de-dialog form { padding: 28px; }.dialog-heading { display: flex; justify-content: space-between; align-items: start; margin-bottom: 22px; }.dialog-heading .eyebrow { margin-bottom: 4px; }.dialog-heading h2 { margin: 0; }.dialog-heading button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: #edf3f3; font-size: 1.4rem; cursor: pointer; }.check-row { display: flex; gap: 9px; margin: 18px 0; }
.form-panel { max-width: 820px; }.billing-notice { margin: 0 0 20px; }
.account-auth-page { padding: 70px 22px 100px; background: linear-gradient(135deg, #edf5f5, #f9fbfb 60%, #fff8dc); }.account-auth-shell { width: min(1040px, 100%); display: grid; grid-template-columns: 1fr .88fr; margin-inline: auto; border: 1px solid var(--de-line); border-radius: 22px; background: white; box-shadow: var(--de-shadow); overflow: hidden; }.account-auth-shell--register { width: min(1160px, 100%); grid-template-columns: .82fr 1.18fr; }.account-auth-copy { padding: 58px; color: white; background: #073f43; }.account-auth-copy .eyebrow { color: var(--de-yellow); }.account-auth-copy h1 { max-width: 560px; color: white; font-size: clamp(2.6rem, 4.6vw, 4.4rem); }.account-auth-copy > p:not(.eyebrow) { color: #c5dcdc; }.auth-benefits { display: grid; gap: 18px; margin-top: 46px; }.auth-benefits > div { display: grid; grid-template-columns: 34px 1fr; column-gap: 12px; }.auth-benefits span { grid-row: 1 / 3; color: var(--de-yellow); font-size: .68rem; font-weight: 900; }.auth-benefits strong { color: white; font-size: .84rem; }.auth-benefits small { color: #b7d0d1; font-size: .7rem; }.account-auth-shell > .form-card { display: flex; flex-direction: column; justify-content: center; padding: 50px; border: 0; border-radius: 0; box-shadow: none; }.account-auth-shell > .form-card h2 { margin-bottom: 24px; }.auth-divider { position: relative; margin: 22px 0; border-top: 1px solid var(--de-line); text-align: center; }.auth-divider span { position: relative; top: -12px; padding: 0 10px; color: var(--de-muted); background: white; font-size: .72rem; }

/* Guided request */
.request-workspace { width: min(calc(100% - 44px), 1280px); padding: 30px 0 80px; margin-inline: auto; }.workspace-content .request-workspace { width: 100%; padding: 0; }.request-workspace__heading { display: flex; justify-content: space-between; margin-bottom: 22px; }.request-workspace__heading h1 { max-width: 760px; margin-bottom: 8px; font-size: clamp(2rem, 3.7vw, 3.6rem); }.request-workspace__heading p { max-width: 760px; margin-bottom: 0; }.wizard-progress { display: grid; grid-template-columns: repeat(4, 1fr); padding: 0; margin: 0 0 22px; border: 1px solid var(--de-line); border-radius: 13px; background: white; list-style: none; overflow: hidden; }.wizard-progress li { position: relative; display: grid; grid-template-columns: 30px 1fr; gap: 9px; align-items: center; padding: 13px 17px; }.wizard-progress li:not(:last-child)::after { position: absolute; right: -8px; width: 16px; height: 16px; z-index: 1; border-top: 1px solid var(--de-line); border-right: 1px solid var(--de-line); content: ''; background: white; transform: rotate(45deg); }.wizard-progress li > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #708585; background: #eaf0f0; font-size: .7rem; font-weight: 900; }.wizard-progress div { display: grid; line-height: 1.3; }.wizard-progress strong { font-size: .76rem; }.wizard-progress small { color: var(--de-muted); font-size: .63rem; }.wizard-progress li.is-current > span, .wizard-progress li.is-done > span { color: white; background: var(--de-teal); }.request-workspace__grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: start; }.wizard-card { min-height: 540px; padding: 28px; border: 1px solid var(--de-line); border-radius: 15px; background: white; }.wizard-step__title { display: grid; grid-template-columns: 42px 1fr; gap: 14px; align-items: start; padding-bottom: 20px; margin-bottom: 22px; border-bottom: 1px solid #e3ebeb; }.wizard-step__title > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; color: white; background: var(--de-teal); font-size: .72rem; font-weight: 900; }.wizard-step__title h2 { margin: 0 0 4px; }.wizard-step__title p { margin: 0; font-size: .8rem; }.service-choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }.service-choice { cursor: pointer; }.service-choice input { position: absolute; opacity: 0; pointer-events: none; }.service-choice > span { min-height: 178px; display: flex; flex-direction: column; padding: 16px; border: 1px solid var(--de-line); border-radius: 12px; transition: .18s ease; }.service-choice b { width: 36px; height: 36px; display: grid; place-items: center; margin-bottom: 22px; border-radius: 10px; color: var(--de-teal); background: #e8f5f5; font-size: 1.15rem; }.service-choice strong { font-size: .85rem; }.service-choice small { margin-top: 5px; color: var(--de-muted); font-size: .67rem; line-height: 1.4; }.service-choice input:checked + span { border-color: var(--de-teal); background: #f0fafa; box-shadow: 0 0 0 2px rgba(8,127,131,.12); }.wizard-actions { display: flex; justify-content: space-between; gap: 12px; padding-top: 26px; margin-top: 24px; border-top: 1px solid #e3ebeb; }.request-summary-card { position: sticky; top: 20px; padding: 23px; border: 1px solid var(--de-line); border-radius: 15px; background: white; }.request-summary-card .eyebrow { margin-bottom: 7px; }.request-summary-card h2 { margin-bottom: 18px; }.request-summary-card dl { margin: 0; }.request-summary-card dl div { padding: 12px 0; border-bottom: 1px solid #e3ebeb; }.request-summary-card dt { color: var(--de-muted); font-size: .66rem; font-weight: 850; text-transform: uppercase; }.request-summary-card dd { margin: 3px 0 0; font-size: .78rem; font-weight: 750; }.request-summary-note { display: flex; gap: 9px; padding: 13px; margin-top: 17px; border-radius: 10px; background: #eef8f2; }.request-summary-note > span { color: #27835c; font-weight: 900; }.request-summary-note p { margin: 0; font-size: .68rem; }.request-safeguards { display: flex; flex-wrap: wrap; gap: 8px 13px; padding-top: 16px; color: var(--de-muted); font-size: .61rem; font-weight: 700; }.review-summary { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-bottom: 24px; border: 1px solid #e1e9e9; border-radius: 12px; background: #e1e9e9; overflow: hidden; }.review-summary div { padding: 17px; background: white; }.review-summary span { display: block; color: var(--de-muted); font-size: .67rem; text-transform: uppercase; }.review-summary strong { display: block; margin-top: 5px; font-size: .82rem; }

/* Team, control, supply and driver */
.live-indicator { color: #269560; font-size: .7rem; font-weight: 800; }.team-login-page { padding: 72px 22px 100px; background: #edf4f4; }.team-login-card { width: min(920px, 100%); display: grid; grid-template-columns: 1fr .9fr; margin-inline: auto; border-radius: 20px; background: white; box-shadow: var(--de-shadow); overflow: hidden; }.team-login-copy { padding: 55px; color: white; background: #073f43; }.team-login-copy .eyebrow { color: var(--de-yellow); }.team-login-copy h1 { color: white; font-size: 3rem; }.team-login-copy p { color: #c9dddd; }.team-login-copy ul { padding-left: 20px; color: #d6e7e7; }.team-login-mark { width: 50px; height: 50px; display: grid; place-items: center; margin-bottom: 45px; border-radius: 50%; color: var(--de-navy); background: var(--de-yellow); font-weight: 900; }.team-login-card .form-card { display: flex; flex-direction: column; justify-content: center; border: 0; border-radius: 0; box-shadow: none; }.team-login-card .form-card h2 { margin-bottom: 20px; }.service-mix { display: grid; gap: 17px; }.service-mix div { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 6px; padding-bottom: 9px; }.service-mix span, .service-mix strong { font-size: .74rem; }.service-mix i { position: absolute; left: 0; bottom: 0; width: var(--value); height: 4px; border-radius: 10px; background: var(--de-teal); }.fulfilment-list article { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px; padding: 18px 4px; border-bottom: 1px solid #e2eaea; }.fulfilment-list h3 { margin: 3px 0; }.fulfilment-list p { margin: 0; font-size: .76rem; }.fulfilment-list article > div:last-child { display: flex; align-items: center; gap: 12px; }.driver-workspace { max-width: 820px; margin-inline: auto; }.driver-job-list { display: grid; gap: 16px; }.driver-job { padding: 24px; border: 1px solid var(--de-line); border-radius: 16px; background: white; }.driver-job__status { display: flex; justify-content: space-between; align-items: center; margin-bottom: 13px; }.driver-job h2 { margin-bottom: 5px; }.driver-job > p { margin-bottom: 18px; }.driver-job dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid #e1e8e8; border-radius: 10px; background: #e1e8e8; overflow: hidden; }.driver-job dl div { padding: 13px; background: white; }.driver-job dt { color: var(--de-muted); font-size: .65rem; font-weight: 850; text-transform: uppercase; }.driver-job dd { margin: 3px 0 0; font-size: .78rem; font-weight: 750; }.driver-note { padding: 14px; margin: 14px 0; border-left: 3px solid var(--de-yellow); background: #fff9e6; }.driver-note p { margin: 3px 0 0; font-size: .76rem; }.driver-actions { padding-top: 15px; margin-top: 15px; border-top: 1px solid #e2eaea; }

@media (max-width: 1080px) {
    .service-grid { grid-template-columns: repeat(3, 1fr); }
    .process-grid, .request-page__grid { gap: 60px; }
    .standards-grid { grid-template-columns: repeat(2, 1fr); }
    .site-footer__grid { grid-template-columns: 1.25fr repeat(2, .7fr); }
    .site-footer__grid > div:last-child { grid-column: 2 / -1; }
    .service-action-grid { grid-template-columns: repeat(3, 1fr); }
    .metric-grid { grid-template-columns: repeat(2, 1fr); }
    .asset-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
    .launch-strip__inner span:last-child { display: none; }
    .launch-strip__inner { justify-content: center; }
    .site-header__inner { min-height: 72px; }
    .brand img { width: 170px; }
    .menu-toggle { display: block; }
    .primary-nav { position: absolute; left: 0; right: 0; top: 100%; display: none; align-items: stretch; gap: 4px; padding: 18px 20px 24px; border-bottom: 1px solid var(--de-line); background: white; box-shadow: 0 20px 40px rgba(7,47,56,.12); }
    .primary-nav.is-open { display: grid; }
    .primary-nav > a:not(.button) { padding: 12px 4px; }
    .primary-nav > a:not(.button)::after { display: none; }
    .hero { min-height: 720px; align-items: end; }
    .hero__image { object-position: 64% center; }
    .hero__overlay { background: linear-gradient(0deg, rgba(3,24,29,.98) 8%, rgba(3,24,29,.78) 62%, rgba(3,24,29,.24) 100%); }
    .hero__content { padding-block: 170px 58px; }
    .hero__assurance { display: grid; }
    .section-heading--row, .process-grid, .business-band__inner, .page-hero__grid, .split-section__grid, .emergency-note__inner, .legal-page__grid, .request-page__grid, .track-page__grid { grid-template-columns: 1fr; gap: 40px; }
    .service-grid { grid-template-columns: repeat(2, 1fr); }
    .business-band__inner { min-height: auto; }
    .business-band__actions { grid-template-columns: repeat(2, 1fr); }
    .trust-grid { grid-template-columns: 1fr; gap: 30px; }
    .page-hero { padding-block: 70px; }
    .legal-page aside, .request-intro { position: static; }
    .status-facts { grid-template-columns: repeat(2, 1fr); }
    .request-list__item { grid-template-columns: 1fr; gap: 16px; }
    .site-footer__grid { grid-template-columns: repeat(2, 1fr); }
    .site-footer__grid > div:last-child { grid-column: auto; }
    .operations-summary { grid-template-columns: repeat(3, 1fr); }
    .operations-filter, .operations-detail-grid { grid-template-columns: 1fr; }
    .operations-update { position: static; }
    .workspace-shell { display: block; }
    .workspace-mobile-header { position: sticky; top: 0; z-index: 60; min-height: 64px; display: flex; justify-content: space-between; align-items: center; padding: 9px 18px; border-bottom: 1px solid var(--de-line); background: white; }
    .workspace-mobile-header .brand img { width: 150px; }
    .workspace-menu-button { padding: 8px 13px; border: 1px solid var(--de-line); border-radius: 8px; color: var(--de-ink); background: white; font-weight: 750; }
    .workspace-sidebar { position: fixed; inset: 94px auto 0 0; z-index: 70; width: min(310px, 88vw); height: calc(100vh - 94px); transform: translateX(-105%); transition: transform .2s ease; box-shadow: 25px 0 55px rgba(5,35,39,.25); }
    .workspace-sidebar.is-open { transform: translateX(0); }
    .workspace-header { display: none; }
    .workspace-content { padding: 25px 20px 60px; }
    .workspace-grid, .workspace-grid--request { grid-template-columns: 1fr; }
    .workspace-panel--full { grid-column: auto; }
    .request-workspace__grid { grid-template-columns: 1fr; }
    .request-summary-card { position: static; }
    .wizard-progress li { grid-template-columns: 27px 1fr; padding: 11px; }
    .wizard-progress small { display: none; }
    .service-choice-grid { grid-template-columns: repeat(2, 1fr); }
    .team-login-card { grid-template-columns: 1fr; }
    .account-auth-shell, .account-auth-shell--register { grid-template-columns: 1fr; }
    .account-auth-copy { padding: 38px; }
    .team-login-copy { padding: 35px; }
    .team-login-mark { margin-bottom: 24px; }
}

@media (max-width: 560px) {
    .de-container { width: min(calc(100% - 28px), var(--de-container)); }
    .button { width: 100%; }
    .hero { min-height: 740px; }
    .hero h1 { font-size: 3rem; }
    .hero__actions { display: grid; }
    .need-panel, .content-section, .process-section, .trust-section, .split-section { padding-block: 72px; }
    .service-grid, .feature-grid, .standards-grid, .field-grid, .business-band__actions, .result-summary { grid-template-columns: 1fr; }
    .service-card { min-height: 270px; }
    .service-detail { grid-template-columns: 1fr; gap: 12px; padding-block: 38px; }
    .service-detail__heading { align-items: start; flex-direction: column; gap: 0; }
    .note-band__inner { grid-template-columns: 1fr; gap: 8px; }
    .standards-grid article { min-height: auto; }
    .standards-grid span { margin-bottom: 30px; }
    .form-card, .track-card, .status-panel, .result-card { padding: 26px 20px; border-radius: 16px; }
    .field--wide { grid-column: auto; }
    .compound-field { grid-template-columns: 1fr 105px; }
    .status-panel__heading { flex-direction: column; }
    .status-facts { grid-template-columns: 1fr; }
    .site-footer__grid { grid-template-columns: 1fr; gap: 30px; }
    .site-footer__bottom { align-items: start; flex-direction: column; padding-block: 22px; }
    .operations-header__inner > div strong { display: none; }
    .operations-title, .operations-facts { grid-template-columns: 1fr; }
    .operations-summary { grid-template-columns: repeat(2, 1fr); }
    .operations-filter .button { width: 100%; }
    .operations-table thead { display: none; }
    .operations-table, .operations-table tbody, .operations-table tr, .operations-table td { display: block; width: 100%; }
    .operations-table tr { padding: 14px; border-bottom: 1px solid var(--de-line); }
    .operations-table td { display: grid; grid-template-columns: 110px 1fr; gap: 14px; padding: 8px; border: 0; }
    .operations-table td::before { content: attr(data-label); color: var(--de-muted); font-size: .7rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
    .operations-card__heading { flex-direction: column; }
    .workspace-topline { justify-content: center; }
    .workspace-topline span:last-child { display: none; }
    .workspace-content { padding-inline: 14px; }
    .workspace-title-row { align-items: stretch; flex-direction: column; }
    .workspace-title-row .button { width: 100%; }
    .metric-grid, .metric-grid--three, .asset-grid, .service-action-grid, .service-choice-grid { grid-template-columns: 1fr; }
    .metric-card { min-height: 132px; }
    .request-card { grid-template-columns: 38px minmax(0, 1fr) 18px; }
    .request-card .status-badge { grid-column: 2; justify-self: start; }
    .request-list--workspace .request-list__item { grid-template-columns: 1fr 18px; }
    .request-list--workspace .request-list__item > div:nth-child(2) { grid-column: 1; justify-items: start; text-align: left; }
    .wizard-progress { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .wizard-progress li { display: flex; justify-content: center; padding: 10px 5px; }
    .wizard-progress li div { display: none; }
    .wizard-card { min-height: 0; padding: 20px 16px; }
    .request-workspace { width: min(calc(100% - 28px), 1280px); }
    .review-summary, .driver-job dl { grid-template-columns: 1fr; }
    .wizard-actions { flex-direction: column-reverse; }
    .wizard-actions .button { width: 100%; }
    .fulfilment-list article { grid-template-columns: 1fr; }
    .fulfilment-list article > div:last-child { align-items: stretch; flex-direction: column; }
    .team-login-copy { display: none; }
    .account-auth-copy { display: none; }
    .account-auth-shell > .form-card { padding: 30px 20px; }
    .account-auth-page { padding: 30px 14px 60px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Doorstep Energy 1.4 — premium brand and adaptive ordering */
.de-wordmark {
    width: auto;
    max-width: 100%;
    gap: 10px;
    padding: 0;
    background: transparent;
}
.de-wordmark__mark {
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px;
    object-fit: contain;
    display: block;
    overflow: hidden;
    border-radius: 50%;
}
.de-wordmark__mark img { width: auto !important; max-width: none; height: 100% !important; }
.de-wordmark__type {
    display: grid;
    color: var(--de-ink);
    line-height: .93;
}
.de-wordmark__type strong {
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: -.055em;
}
.de-wordmark__type small {
    margin-top: 6px;
    color: var(--de-teal);
    font-size: .56rem;
    font-weight: 950;
    letter-spacing: .31em;
}
.workspace-brand {
    width: fit-content;
    min-height: 0;
    margin: -3px 0 3px;
    padding: 8px 11px;
    background: #fff;
}
.workspace-brand .de-wordmark__mark { width: 43px !important; height: 43px !important; flex-basis: 43px; }
.workspace-brand .de-wordmark__type strong { font-size: 1.18rem; }
.workspace-brand .de-wordmark__type small { font-size: .5rem; }
.brand--footer { padding: 9px 12px; }
.brand--footer .de-wordmark__mark { width: 42px !important; height: 42px !important; flex-basis: 42px; }
.brand--footer .de-wordmark__type strong { font-size: 1.2rem; }
.brand--footer .de-wordmark__type small { font-size: .5rem; }

.request-workspace--premium { width: min(calc(100% - 44px), 1440px); }
.request-workspace--premium .request-workspace__grid { grid-template-columns: minmax(0, 1fr) 350px; gap: 20px; }
.request-workspace__heading { align-items: center; gap: 30px; }
.secure-pill {
    display: inline-flex;
    flex: none;
    align-items: center;
    gap: 8px;
    padding: 8px 13px;
    border: 1px solid #cde3d5;
    border-radius: 999px;
    color: #28724f;
    background: #f0faf4;
    font-size: .72rem;
    font-weight: 850;
}
.service-choice-grid--compact { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.service-choice-grid--compact .service-choice > span { position: relative; min-height: 128px; padding: 14px; }
.service-choice-grid--compact .service-choice b { margin-bottom: 13px; }
.service-choice-grid--compact .service-choice i {
    position: absolute;
    right: 10px;
    top: 10px;
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    border: 1px solid #cbdada;
    border-radius: 50%;
    color: transparent;
    background: white;
    font-size: .65rem;
    font-style: normal;
}
.service-choice-grid--compact .service-choice input:checked + span i { border-color: var(--de-teal); color: white; background: var(--de-teal); }
.product-configurator { margin-top: 22px; }
.product-panel {
    padding: 22px;
    border: 1px solid #d9e6e6;
    border-radius: 14px;
    background: linear-gradient(145deg, #fbfdfd, #f3f8f8);
}
.product-panel[hidden] { display: none !important; }
.config-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.config-heading small { color: var(--de-teal); font-size: .65rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.config-heading h3 { margin: 4px 0 0; font-size: 1.2rem; }
.live-chip {
    display: inline-flex;
    flex: none;
    padding: 7px 10px;
    border-radius: 999px;
    color: #186b4c;
    background: #e5f7ec;
    font-size: .62rem;
    font-weight: 850;
}
.live-chip--lpg { color: #805d00; background: #fff4c7; }
.live-chip--ev { color: #176899; background: #e2f4fb; }
.live-chip--shop { color: #7b442b; background: #fff0e6; }
.product-choice-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.product-choice { cursor: pointer; }
.product-choice input { position: absolute; opacity: 0; pointer-events: none; }
.product-choice > span {
    min-height: 118px;
    display: flex;
    flex-direction: column;
    padding: 14px;
    border: 1px solid #cfdddd;
    border-radius: 12px;
    background: white;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.product-choice:hover > span { transform: translateY(-2px); border-color: #82b8b9; }
.product-choice b { width: 34px; height: 34px; display: grid; place-items: center; margin-bottom: 13px; border-radius: 10px; color: var(--de-teal); background: #e8f5f5; font-size: .8rem; }
.product-choice strong { font-size: .78rem; }
.product-choice small { margin-top: 3px; color: var(--de-muted); font-size: .63rem; line-height: 1.35; }
.product-choice input:checked + span { border-color: var(--de-teal); background: #effafa; box-shadow: 0 0 0 2px rgba(8,127,131,.12); }
.product-choice--single { max-width: 250px; display: block; margin-bottom: 18px; }
.quantity-builder { display: grid; grid-template-columns: minmax(210px, .8fr) 1.2fr; gap: 18px; align-items: end; margin-top: 18px; }
.quantity-control { display: grid; grid-template-columns: 42px minmax(72px, 1fr) auto 42px; align-items: center; overflow: hidden; border: 1px solid #bacaca; border-radius: 10px; background: white; }
.quantity-control input { min-width: 0; border: 0; border-radius: 0; text-align: center; }
.quantity-control button { align-self: stretch; border: 0; color: var(--de-teal-dark); background: #edf6f6; font-size: 1.25rem; font-weight: 900; cursor: pointer; }
.quantity-control em, .compound-field em { padding-inline: 10px; color: var(--de-muted); font-size: .72rem; font-style: normal; font-weight: 750; white-space: nowrap; }
.quantity-presets { display: flex; flex-wrap: wrap; gap: 7px; padding-bottom: 2px; }
.quantity-presets button { min-height: 37px; padding: 7px 12px; border: 1px solid #cbdada; border-radius: 999px; color: var(--de-teal-dark); background: white; font-size: .68rem; font-weight: 850; cursor: pointer; }
.quantity-presets button:hover { border-color: var(--de-teal); background: #edf8f8; }
.field-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.compound-field { align-items: center; overflow: hidden; border: 1px solid #bacaca; border-radius: 10px; background: white; }
.compound-field input { border: 0; }
.location-card, .quote-message {
    display: flex;
    gap: 12px;
    padding: 14px;
    margin-bottom: 20px;
    border: 1px solid #d9e6df;
    border-radius: 11px;
    background: #f2faf5;
}
.location-card > span, .quote-message > span { color: #21815a; font-size: 1.15rem; font-weight: 900; }
.location-card p, .quote-message p { margin: 2px 0 0; font-size: .7rem; }
.trust-ribbon { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 22px; overflow: hidden; border: 1px solid #dce7e7; border-radius: 11px; background: #dce7e7; }
.trust-ribbon > span { display: grid; grid-template-columns: 24px 1fr; column-gap: 8px; padding: 13px; color: var(--de-teal); background: #f8fbfb; font-weight: 900; }
.trust-ribbon b, .trust-ribbon small { grid-column: 2; }
.trust-ribbon b { color: var(--de-ink); font-size: .7rem; }
.trust-ribbon small { color: var(--de-muted); font-size: .61rem; font-weight: 600; }
.wizard-helper { align-self: center; color: var(--de-muted); font-size: .7rem; }

.request-summary-card--live { overflow: hidden; border-top: 4px solid var(--de-yellow); box-shadow: 0 18px 45px rgba(7,47,56,.09); }
.summary-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.summary-heading h2 { font-size: 1.25rem; }
.quote-state { flex: none; padding: 6px 9px; border-radius: 999px; color: #5d7071; background: #edf2f2; font-size: .56rem; font-weight: 850; text-transform: uppercase; }
.quote-state.is-live { color: #176949; background: #e5f7eb; }
.quote-state.is-error { color: #883333; background: #fff0f0; }
.quote-state--ready { color: #176949; background: #e5f7eb; }
.quote-state--estimate { color: #805d00; background: #fff4c7; }
.quote-breakdown { margin-top: 13px; padding-top: 8px; border-top: 1px solid #e1eaea; }
.quote-breakdown > div { display: flex; justify-content: space-between; gap: 15px; padding: 7px 0; color: var(--de-muted); font-size: .72rem; }
.quote-breakdown strong { color: var(--de-ink); }
.quote-breakdown__total { align-items: end; padding-top: 14px !important; margin-top: 7px; border-top: 1px solid #cbdada; }
.quote-breakdown__total span { color: var(--de-ink); font-weight: 850; }
.quote-breakdown__total strong { color: var(--de-teal-dark); font-size: 1.48rem; }
.quote-loading { display: flex; gap: 10px; align-items: center; padding: 14px 0; }
.quote-loading > span { width: 18px; height: 18px; flex: none; border: 2px solid #d0e5e5; border-top-color: var(--de-teal); border-radius: 50%; animation: de-spin .7s linear infinite; }
.quote-loading p { margin: 0; font-size: .7rem; }
.quote-provenance { display: grid; gap: 2px; padding: 12px; margin-top: 10px; border: 1px solid #e7dfbb; border-radius: 10px; background: #fffae8; }
.quote-provenance strong { font-size: .67rem; }
.quote-provenance small { color: #71684c; font-size: .61rem; }
@keyframes de-spin { to { transform: rotate(360deg); } }

.price-watch { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--de-line); border-radius: 12px; background: var(--de-line); }
.price-watch__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; padding: 13px 15px; background: white; }
.price-watch__row > div { display: grid; }
.price-watch__row strong { font-size: .78rem; }
.price-watch__row small { color: var(--de-muted); font-size: .62rem; }
.price-watch__row > span { align-self: center; color: var(--de-teal-dark); font-size: .95rem; font-weight: 900; }
.source-note { margin: 12px 0 0; color: var(--de-muted); font-size: .65rem; }
.price-admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.price-admin-card { padding: 20px; border: 1px solid var(--de-line); border-radius: 13px; background: #fbfdfd; }
.price-admin-card.is-current { border-top: 3px solid #2e9a68; }
.price-admin-card.is-expired { border-top: 3px solid #b56643; background: #fffafa; }
.price-admin-card__heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.price-admin-card__heading small { color: var(--de-teal); font-size: .62rem; font-weight: 850; text-transform: uppercase; }
.price-admin-card__heading h3 { margin: 4px 0 0; }
.price-admin-card__amount { display: block; margin: 16px 0 8px; color: var(--de-teal-dark); font-size: 1.8rem; }
.price-admin-card__amount small { color: var(--de-muted); font-size: .75rem; }
.price-admin-card > p { min-height: 48px; font-size: .7rem; }
.price-admin-card form { padding-top: 17px; border-top: 1px solid var(--de-line); }
.driver-safety { display: grid; gap: 5px; padding: 13px; border: 1px solid #d9e8df; border-radius: 10px; background: #f2faf5; }
.driver-safety strong { color: var(--de-ink); font-size: .74rem; }
.driver-safety span { color: #347155; font-size: .66rem; }
.proof-form { display: grid; gap: 13px; }
.proof-form .check-row { margin: 0; color: var(--de-muted); font-size: .7rem; }
.proof-complete { display: grid; gap: 4px; padding: 14px; border-radius: 10px; color: #226c4b; background: #e8f7ed; }
.proof-complete span { font-size: .72rem; }
.account-quote-breakdown { display: grid; gap: 5px; padding: 10px 0; margin: 8px 0; border-top: 1px solid #d7e5e5; border-bottom: 1px solid #d7e5e5; }
.account-quote-breakdown span { display: flex; justify-content: space-between; gap: 12px; color: var(--de-muted); font-size: .68rem; }
.account-quote-breakdown b { color: var(--de-ink); }
.price-health { display: grid; grid-template-columns: 34px 1fr; gap: 10px; padding: 14px; margin-top: 20px; border: 1px solid #e6dcae; border-radius: 11px; background: #fff9e4; }
.price-health > span { width: 32px; height: 32px; display: grid; place-items: center; grid-row: 1 / 3; border-radius: 9px; color: #715600; background: var(--de-yellow); font-weight: 900; }
.price-health div { display: grid; }
.price-health strong { font-size: .75rem; }
.price-health small { color: var(--de-muted); font-size: .62rem; }
.price-health a { grid-column: 2; color: var(--de-teal); font-size: .68rem; font-weight: 850; text-decoration: none; }

@media (max-width: 1180px) {
    .service-choice-grid--compact { grid-template-columns: repeat(3, 1fr); }
    .product-choice-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 820px) {
    .request-workspace--premium .request-workspace__grid { grid-template-columns: 1fr; }
    .request-summary-card--live { grid-row: 1; position: static; }
    .request-workspace__heading { align-items: start; }
    .quantity-builder { grid-template-columns: 1fr; }
    .field-grid--three { grid-template-columns: 1fr; }
    .price-admin-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .de-wordmark__mark { width: 42px !important; height: 42px !important; flex-basis: 42px; }
    .de-wordmark__type strong { font-size: 1.15rem; }
    .secure-pill { display: none; }
    .service-choice-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .service-choice-grid--compact .service-choice > span { min-height: 122px; }
    .product-panel { padding: 16px 12px; }
    .product-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .product-choice > span { min-height: 112px; padding: 11px; }
    .config-heading { display: grid; }
    .live-chip { justify-self: start; }
    .trust-ribbon { grid-template-columns: 1fr; }
    .request-workspace--premium { width: min(calc(100% - 24px), 1440px); }
}
