@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400..900&display=swap");

:root {
    --ink: #111111;
    --muted: #687078;
    --line: #e1e4e6;
    --paper: #f4f5f6;
    --panel: #ffffff;
    --keiser-red: #d10a2c;
    --keiser-red-dark: #a90722;
    --keiser-black: #111111;
    --keiser-charcoal: #24282c;
    --keiser-steel: #c9ced3;
    --keiser-steel-soft: #eef0f2;
    --keiser-red-soft: #fff1f3;
    --status-neutral-bg: var(--keiser-steel-soft);
    --status-neutral-fg: var(--keiser-black);
    --status-attention-bg: var(--keiser-red-soft);
    --status-attention-fg: var(--keiser-red-dark);
    --status-complete-bg: var(--keiser-black);
    --status-complete-fg: #fff;
    --cat-hue: 350;
    --preview-colour: var(--keiser-red);
    --item-colour: var(--keiser-black);
    --room-ratio: 1 / 1;
    --placed-label-font: 10px;
    --accent: #d10a2c;
    --accent-dark: #a90722;
    --danger: #d10a2c;
    --shadow: 0 18px 45px rgba(17, 17, 17, .09);
    --luxury: #111111;
    --luxury-soft: #24282c;
    --site-h1-size: clamp(24px, 3.5vw, 38px);
    --typeface-body: InterVariable, "Inter", BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    --font-size--default: 1.3125rem;
    --header-height: 56px;
    --palette-dark: #262626;
    --palette-mid: #4c4d4e;
    --palette-light: #fff;
    --palette-action: #d10a2c;
    --gradient: linear-gradient(98.89deg, #d10a2c 5.72%, #6b0517);
    --color-medium-grey: #a9a8a9;
    --max-width: 1200px;
    --page-padding: 16px;
    --border-radius: 5px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: var(--typeface-body);
    color: var(--ink);
    background:
        linear-gradient(180deg, rgba(255,255,255,.9), rgba(244,245,246,.96) 320px),
        var(--paper);
    line-height: 1.55;
}
body.frontend {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: var(--palette-dark);
    color: var(--palette-mid);
    font-family: var(--typeface-body);
    font-size: var(--font-size--default);
    font-weight: 400;
    padding-top: var(--header-height);
    position: relative;
}
a { color: inherit; }
img { max-width: 100%; display: block; }
main { min-height: calc(100vh - 150px); }
:focus-visible {
    outline: 3px solid rgba(242, 107, 58, .55);
    outline-offset: 3px;
}
.skip-link {
    position: fixed;
    left: 16px;
    top: -80px;
    z-index: 200;
    padding: 10px 14px;
    border-radius: 8px;
    background: var(--accent);
    color: #ffffff;
    font-weight: 800;
}
.skip-link:focus { top: 16px; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 10px clamp(18px, 4vw, 44px);
    background: rgba(255, 255, 255, .9);
    border-bottom: 1px solid rgba(29, 36, 34, .1);
    box-shadow: 0 8px 28px rgba(17, 24, 22, .05);
    backdrop-filter: blur(18px);
}
.brand {
    display: flex;
    gap: 10px;
    align-items: center;
    text-decoration: none;
    flex: 0 0 auto;
}
.brand-logo {
    width: 106px;
    height: auto;
    max-height: 34px;
    object-fit: contain;
}
.brand-line {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding-left: 10px;
    border-left: 1px solid var(--line);
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}
.brand-mark {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: var(--ink);
    color: #fff;
    font-weight: 800;
}
.brand small { display: block; color: var(--muted); font-size: 12px; }
.site-nav { display: flex; gap: 20px; align-items: center; }
.site-nav a { padding: 6px 9px; border-radius: 999px; color: var(--muted); text-decoration: none; font-weight: 700; font-size: 13px; }
.site-nav a:hover { color: var(--ink); }
.site-nav a.active {
    padding: 6px 11px;
    border-radius: 999px;
    background: var(--luxury);
    color: #fff;
}
.nav-item {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.nav-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 40;
    display: none;
    width: 280px;
    padding: 18px 10px 10px;
    border: 1px solid rgba(255,255,255,.12);
    border-top: 0;
    border-radius: 8px;
    background: #111;
    box-shadow: 0 22px 54px rgba(0,0,0,.22);
}
.nav-menu-wide {
    width: 320px;
}
.nav-item:hover .nav-menu,
.nav-item:focus-within .nav-menu {
    display: grid;
    gap: 2px;
}
.site-nav .nav-menu a {
    display: block;
    padding: 9px 10px;
    border-radius: 6px;
    color: rgba(255,255,255,.74);
    font-size: 12px;
    line-height: 1.2;
}
.site-nav .nav-menu a:hover {
    background: rgba(255,255,255,.08);
    color: #fff;
}
.nav-toggle { display: none; }

.hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: 34px;
    align-items: stretch;
    padding: clamp(36px, 7vw, 88px) clamp(18px, 4vw, 52px);
    background:
        linear-gradient(110deg, rgba(17,17,17,.94), rgba(17,17,17,.62)),
        url("../../bg.jpg") center/cover;
    color: #fff;
}
.home-hero {
    min-height: 620px;
    align-items: end;
}
.hero h1 { max-width: 820px; margin: 0 0 18px; font-size: var(--site-h1-size); line-height: 1.02; letter-spacing: 0; }
.hero p { max-width: 690px; color: rgba(255,255,255,.84); font-size: 18px; }
.hero-panel {
    display: grid;
    gap: 14px;
    align-content: end;
}
.metric {
    position: relative;
    overflow: hidden;
    padding: 20px;
    border: 1px solid rgba(255,255,255,.25);
    background: rgba(255,255,255,.12);
    border-radius: 8px;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.metric::before {
    content: "";
    position: absolute;
    inset: -70% auto -70% -55%;
    width: 42%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
    transform: skewX(-18deg);
    opacity: 0;
}
.metric:hover {
    border-color: rgba(242,220,169,.58);
    background: rgba(255,255,255,.16);
    box-shadow: 0 18px 42px rgba(0,0,0,.18);
    transform: translateY(-1px);
}
.metric:hover::before {
    animation: exportCardShine .72s ease-out;
}
.metric span { display: block; color: rgba(255,255,255,.72); }
.metric strong { font-size: 22px; }
.workflow-strip {
    width: min(1180px, calc(100% - 36px));
    margin: -26px auto 34px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    position: relative;
    z-index: 2;
}
.workflow-strip article {
    position: relative;
    overflow: hidden;
    min-height: 132px;
    padding: 16px;
    border: 1px solid rgba(209,10,44,.34);
    border-radius: 8px;
    background:
        linear-gradient(160deg, #ffffff, #f7f8f9);
    box-shadow: var(--shadow);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.workflow-strip article::before {
    content: "";
    position: absolute;
    inset: -70% auto -70% -55%;
    width: 42%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.65), transparent);
    transform: skewX(-18deg);
    opacity: 0;
}
.workflow-strip article:hover {
    border-color: rgba(209,10,44,.58);
    box-shadow: 0 18px 42px rgba(17,17,17,.12);
    transform: translateY(-1px);
}
.workflow-strip article:hover::before {
    animation: exportCardShine .72s ease-out;
}
.workflow-strip span {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    margin-bottom: 10px;
    border-radius: 50%;
    background: linear-gradient(135deg, #111111, #d10a2c);
    color: #fff;
    font-weight: 900;
}
.workflow-strip strong,
.workflow-strip small {
    display: block;
}
.workflow-strip strong {
    font-size: 18px;
}
.workflow-strip small {
    margin-top: 4px;
    color: var(--muted);
}
.eyebrow { margin: 0 0 8px; color: var(--accent); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }
.muted-copy { color: var(--muted); margin: 8px 0 0; max-width: 760px; }
.hero .eyebrow { color: #d10a2c; }
.hero-actions, .proposal-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid var(--ink);
    border-radius: 8px;
    background: var(--luxury);
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}
.button:hover { transform: translateY(-1px); }
.button.primary { background: var(--accent); border-color: var(--accent); color: #ffffff; }
.button.primary:hover { background: #c89b55; }
.button.ghost { background: transparent; color: var(--ink); }
.hero .button.ghost { color: #fff; border-color: rgba(255,255,255,.55); }
.button.small { min-height: 36px; padding: 0 12px; font-size: 14px; }
.button.danger { background: #fff1ef; border-color: #ffd0c7; color: var(--danger); }

.section, .page-title, .form-panel, .planner-shell, .proposal-header, .proposal-grid, .prompt-box, .content-grid, .instruction-hero, .dashboard-header, .dashboard-grid, .table-wrap, .empty-state, .login-panel, .filter-row, .product-grid, .video-frame {
    width: min(1180px, calc(100% - 36px));
    margin: 32px auto;
}
.page-title h1, .dashboard-header h1, .proposal-header h1 { margin: 0; font-size: var(--site-h1-size); line-height: 1.04; }
.section-heading h2 { margin: 0; font-size: clamp(26px, 4vw, 44px); line-height: 1.04; }
.section-heading { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 18px; }
.section-heading.compact-heading {
    align-items: center;
    margin-bottom: 12px;
}
.section-heading.compact-heading h2 {
    margin: 0;
}
.prompt-actions {
    margin-top: 0;
}
.prompt-helper-text {
    flex: 1 1 auto;
    min-width: 220px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
}
.planner-mode-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 14px;
}
.system-priorities {
    display: grid;
    grid-template-columns: minmax(280px, .86fr) minmax(0, 1.14fr);
    gap: 22px;
    align-items: start;
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(209,10,44,.28);
    border-radius: 8px;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(17,17,17,.96), rgba(17,17,17,.88)),
        var(--luxury);
    box-shadow: var(--shadow);
}
.system-priorities h2 {
    margin: 0;
    font-size: clamp(24px, 3.4vw, 38px);
    line-height: 1.04;
}
.system-priorities p:not(.eyebrow) {
    color: rgba(255,255,255,.74);
}
.priority-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.priority-grid article {
    position: relative;
    overflow: hidden;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    background: rgba(255,255,255,.07);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.priority-grid article::before {
    content: "";
    position: absolute;
    inset: -70% auto -70% -55%;
    width: 42%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent);
    transform: skewX(-18deg);
    opacity: 0;
}
.priority-grid article:hover {
    border-color: rgba(242,220,169,.48);
    box-shadow: 0 18px 38px rgba(0,0,0,.14);
    transform: translateY(-1px);
}
.priority-grid article:hover::before {
    animation: exportCardShine .72s ease-out;
}
.priority-grid strong,
.priority-grid span {
    display: block;
}
.priority-grid strong {
    color: #ffffff;
}
.priority-grid span {
    margin-top: 6px;
    color: rgba(255,255,255,.72);
}
.client-intake-hero {
    width: min(1180px, calc(100% - 36px));
    margin: 32px auto 18px;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    gap: 24px;
    align-items: stretch;
    min-height: 460px;
    padding: clamp(28px, 5vw, 56px);
    border-radius: 8px;
    color: #fff;
    background:
        linear-gradient(118deg, rgba(17,17,17,.97), rgba(17,17,17,.74)),
        linear-gradient(35deg, rgba(209,10,44,.32), transparent 54%),
        url("../../bg.jpg") center/cover;
    box-shadow: 0 30px 82px rgba(17,17,17,.18);
}
.client-intake-hero > div {
    display: grid;
    align-content: end;
}
.client-intake-hero h1 {
    max-width: 820px;
    margin: 0;
    font-size: var(--site-h1-size);
    line-height: 1.02;
}
.client-intake-hero p:not(.eyebrow) {
    max-width: 680px;
    color: rgba(255,255,255,.78);
    font-size: 18px;
}
.client-intake-hero .button.ghost {
    color: #fff;
    border-color: rgba(255,255,255,.55);
}
.client-hero-panel {
    display: grid;
    align-content: end;
    gap: 10px;
    padding: 22px;
    border: 1px solid rgba(209,10,44,.38);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.07)),
        rgba(17,17,17,.34);
    backdrop-filter: blur(10px);
}
.client-hero-panel span {
    color: #d10a2c;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}
.client-hero-panel strong {
    max-width: 360px;
    font-size: clamp(26px, 3vw, 40px);
    line-height: 1;
}
.client-hero-panel small {
    color: rgba(255,255,255,.72);
    font-size: 14px;
}
.client-intake-form {
    border-color: rgba(209,10,44,.24);
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,245,240,.82)),
        #fff;
    box-shadow: 0 24px 66px rgba(17,17,17,.12);
}
.client-intake-form .form-intro {
    display: grid;
    gap: 4px;
    padding: 18px;
    border: 1px solid rgba(209,10,44,.22);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(17,17,17,.96), rgba(17,17,17,.82)),
        var(--luxury);
}
.client-intake-form .form-intro h2 {
    color: #fff;
}
.client-intake-form .form-intro .muted-copy {
    color: rgba(255,255,255,.72);
}
.client-intake-form .pill {
    justify-self: start;
    background: rgba(209,10,44,.92);
    color: #ffffff;
}
.client-intake-form label {
    color: #687078;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}
.client-intake-form input,
.client-intake-form textarea {
    border-color: rgba(209,10,44,.22);
    background: rgba(255,255,255,.96);
}
.planner-home-hero {
    width: min(1180px, calc(100% - 36px));
    margin: 18px auto;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: end;
    padding: clamp(22px, 4vw, 38px);
    border-radius: 8px;
    color: #fff;
    background:
        linear-gradient(120deg, rgba(17,17,17,.97), rgba(17,17,17,.72)),
        linear-gradient(35deg, rgba(209,10,44,.25), transparent);
    box-shadow: var(--shadow);
}
.planner-home-hero h2 {
    max-width: 780px;
    margin: 0;
    font-size: clamp(32px, 5vw, 58px);
    line-height: 1;
}
.planner-home-hero p:not(.eyebrow) {
    max-width: 720px;
    color: rgba(255,255,255,.74);
}
.planner-home-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.intake-readiness {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 20px;
}
.intake-readiness article {
    padding: 14px;
    border: 1px solid rgba(209,10,44,.24);
    border-radius: 8px;
    background: #f7f8f9;
}
.intake-readiness strong,
.intake-readiness span {
    display: block;
}
.intake-readiness span {
    margin-top: 4px;
    color: var(--muted);
    font-size: 13px;
}
.guided-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.guided-field-grid textarea {
    min-height: 132px;
}
.photo-upload-callout {
    margin-top: 14px;
    padding: 16px;
    border: 1px dashed rgba(209,10,44,.7);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(209,10,44,.09), rgba(255,255,255,0)),
        #fff;
}
.photo-upload-callout span {
    display: block;
    margin-top: 8px;
    color: var(--muted);
    font-size: 13px;
}
.planner-home-metrics {
    width: min(1180px, calc(100% - 36px));
    margin: 18px auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.planner-home-metrics article {
    padding: 18px;
    border: 1px solid rgba(209,10,44,.2);
    border-radius: 8px;
    background: rgba(255,255,255,.97);
    box-shadow: var(--shadow);
}
.planner-home-metrics span {
    display: block;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}
.planner-home-metrics strong {
    display: block;
    margin-top: 8px;
    font-size: clamp(26px, 3vw, 42px);
    line-height: 1;
}
.planner-home-grid {
    width: min(1180px, calc(100% - 36px));
    margin: 24px auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 18px;
    align-items: start;
}
.planner-projects-panel,
.planner-workflow-panel {
    padding: 20px;
    border: 1px solid rgba(209,10,44,.18);
    border-radius: 8px;
    background: rgba(255,255,255,.97);
    box-shadow: var(--shadow);
}
.planner-project-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.planner-project-card {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid rgba(17,17,17,.09);
    border-radius: 8px;
    background: linear-gradient(180deg, #fff, #ffffff);
    text-decoration: none;
}
.planner-project-card:hover {
    border-color: rgba(209,10,44,.42);
    transform: translateY(-1px);
}
.planner-project-card::before,
.palette-item::before,
.concept-card::before,
.download-image-grid figure::before {
    content: "";
    position: absolute;
    inset: -70% auto -70% -55%;
    width: 42%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
    transform: skewX(-18deg);
    opacity: 0;
}
.planner-project-card:hover::before,
.planner-project-card:focus-visible::before,
.palette-item:hover::before,
.palette-item:focus-visible::before,
.concept-card:hover::before,
.download-image-grid figure:hover::before {
    animation: exportCardShine .72s ease-out;
}
.project-card-top {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}
.planner-project-card h3 {
    margin: 0;
    font-size: 22px;
}
.planner-project-card p {
    margin: 0;
    color: var(--muted);
}
.planner-project-card dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}
.planner-project-card dl div {
    padding-top: 8px;
    border-top: 1px solid rgba(17,17,17,.08);
}
.planner-project-card dt {
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.planner-project-card dd {
    margin: 2px 0 0;
    font-weight: 800;
}
.project-status {
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
}
.project-status.new {
    background: var(--status-neutral-bg);
    color: var(--status-neutral-fg);
}
.project-status.drafted {
    background: var(--status-attention-bg);
    color: var(--status-attention-fg);
}
.project-status.ready {
    background: var(--status-complete-bg);
    color: var(--status-complete-fg);
}
.empty-project-card {
    color: var(--muted);
}
.planner-workflow-panel {
    position: sticky;
    top: 78px;
}
.planner-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 18px 20px;
    border: 1px solid rgba(209,10,44,.24);
    border-radius: 8px;
    color: #fff;
    background:
        linear-gradient(122deg, rgba(17,17,17,.97), rgba(17,17,17,.78)),
        linear-gradient(35deg, rgba(209,10,44,.18), transparent);
    box-shadow: var(--shadow);
}
.planner-title h1 {
    font-size: var(--site-h1-size);
}
.planner-title .muted-copy,
.planner-title p:not(.eyebrow) {
    color: rgba(255,255,255,.72);
}
.planner-title .button.ghost {
    color: #fff;
    border-color: rgba(255,255,255,.42);
}
.planner-title .button.primary {
    border-color: var(--accent);
}
.project-planner-title {
    padding-top: 14px;
    padding-bottom: 14px;
}
.project-planner-title h1 {
    font-size: var(--site-h1-size);
}
.planner-title .planner-mode-actions {
    margin-top: 0;
    flex: 0 0 auto;
}
.feature-grid, .content-grid, .proposal-grid, .dashboard-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.sector-tile-grid,
.category-strip-grid,
.education-article-grid,
.difference-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.sector-tile,
.category-strip-grid article,
.equipment-category-card,
.education-article-grid article,
.difference-grid article,
.showcase-list article,
.proof-grid article {
    position: relative;
    overflow: hidden;
    min-height: 150px;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    color: var(--ink);
    text-decoration: none;
    box-shadow: var(--shadow);
}
.sector-tile:hover,
.category-strip-grid article:hover,
.education-article-grid article:hover,
.difference-grid article:hover {
    border-color: rgba(209,10,44,.38);
    transform: translateY(-1px);
}
.sector-tile h3,
.category-strip-grid h3,
.equipment-category-card h3,
.education-article-grid h3,
.difference-grid h3 {
    margin: 0;
    line-height: 1.12;
}
.sector-tile p,
.category-strip-grid p,
.equipment-category-card p,
.difference-grid p {
    color: var(--muted);
}
.equipment-category-card {
    display: block;
    position: relative;
    overflow: hidden;
    text-decoration: none;
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease, background .22s ease;
}

.equipment-category-card::before {
    content: "";
    position: absolute;
    inset: -80% auto -80% -62%;
    width: 46%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
    opacity: 0;
    transform: skewX(-18deg);
}

.equipment-category-card::after {
    content: "";
    position: absolute;
    left: 20px;
    right: 20px;
    top: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--accent), rgba(209,10,44,.2));
    opacity: 0;
    transform: scaleX(.35);
    transform-origin: left;
    transition: opacity .22s ease, transform .22s ease;
}

.equipment-category-card:hover,
.equipment-category-card:focus-visible {
    border-color: rgba(209,10,44,.48);
    background:
        linear-gradient(180deg, #fff, #f8f9fa);
    box-shadow: 0 28px 70px rgba(17,17,17,.14);
    transform: translateY(-4px);
}

.equipment-category-card:hover::before,
.equipment-category-card:focus-visible::before {
    opacity: 1;
    animation: exportCardShine .78s ease-out;
}

.equipment-category-card:hover::after,
.equipment-category-card:focus-visible::after {
    opacity: 1;
    transform: scaleX(1);
}

.equipment-category-card h3,
.equipment-category-card p {
    position: relative;
    z-index: 1;
}

.equipment-category-card:hover h3,
.equipment-category-card:focus-visible h3 {
    color: var(--accent);
}

.home-hero ~ .section .sector-tile,
.home-hero ~ .section .category-strip-grid article,
.home-hero ~ .section .education-article-grid article,
.home-hero ~ .section .showcase-list article,
.home-hero ~ .section .feature-grid article {
    position: relative;
    overflow: hidden;
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease, background .22s ease;
}

.home-hero ~ .section .sector-tile::before,
.home-hero ~ .section .category-strip-grid article::before,
.home-hero ~ .section .education-article-grid article::before,
.home-hero ~ .section .showcase-list article::before,
.home-hero ~ .section .feature-grid article::before {
    content: "";
    position: absolute;
    inset: -80% auto -80% -62%;
    width: 46%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
    opacity: 0;
    transform: skewX(-18deg);
}

.home-hero ~ .section .sector-tile::after,
.home-hero ~ .section .category-strip-grid article::after,
.home-hero ~ .section .education-article-grid article::after,
.home-hero ~ .section .showcase-list article::after,
.home-hero ~ .section .feature-grid article::after {
    content: "";
    position: absolute;
    left: 20px;
    right: 20px;
    top: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--accent), rgba(209,10,44,.2));
    opacity: 0;
    transform: scaleX(.35);
    transform-origin: left;
    transition: opacity .22s ease, transform .22s ease;
}

.home-hero ~ .section .sector-tile:hover,
.home-hero ~ .section .sector-tile:focus-visible,
.home-hero ~ .section .category-strip-grid article:hover,
.home-hero ~ .section .category-strip-grid article:focus-visible,
.home-hero ~ .section .education-article-grid article:hover,
.home-hero ~ .section .education-article-grid article:focus-visible,
.home-hero ~ .section .showcase-list article:hover,
.home-hero ~ .section .showcase-list article:focus-visible,
.home-hero ~ .section .feature-grid article:hover,
.home-hero ~ .section .feature-grid article:focus-visible {
    border-color: rgba(209,10,44,.48);
    background: linear-gradient(180deg, #fff, #f8f9fa);
    box-shadow: 0 28px 70px rgba(17,17,17,.14);
    transform: translateY(-4px);
}

.home-hero ~ .section .sector-tile:hover::before,
.home-hero ~ .section .sector-tile:focus-visible::before,
.home-hero ~ .section .category-strip-grid article:hover::before,
.home-hero ~ .section .category-strip-grid article:focus-visible::before,
.home-hero ~ .section .education-article-grid article:hover::before,
.home-hero ~ .section .education-article-grid article:focus-visible::before,
.home-hero ~ .section .showcase-list article:hover::before,
.home-hero ~ .section .showcase-list article:focus-visible::before,
.home-hero ~ .section .feature-grid article:hover::before,
.home-hero ~ .section .feature-grid article:focus-visible::before {
    opacity: 1;
    animation: exportCardShine .78s ease-out;
}

.home-hero ~ .section .sector-tile:hover::after,
.home-hero ~ .section .sector-tile:focus-visible::after,
.home-hero ~ .section .category-strip-grid article:hover::after,
.home-hero ~ .section .category-strip-grid article:focus-visible::after,
.home-hero ~ .section .education-article-grid article:hover::after,
.home-hero ~ .section .education-article-grid article:focus-visible::after,
.home-hero ~ .section .showcase-list article:hover::after,
.home-hero ~ .section .showcase-list article:focus-visible::after,
.home-hero ~ .section .feature-grid article:hover::after,
.home-hero ~ .section .feature-grid article:focus-visible::after {
    opacity: 1;
    transform: scaleX(1);
}

.home-hero ~ .section .sector-tile > *,
.home-hero ~ .section .category-strip-grid article > *,
.home-hero ~ .section .education-article-grid article > *,
.home-hero ~ .section .showcase-list article > *,
.home-hero ~ .section .feature-grid article > * {
    position: relative;
    z-index: 1;
}

.home-hero ~ .section .sector-tile:hover h3,
.home-hero ~ .section .sector-tile:focus-visible h3,
.home-hero ~ .section .category-strip-grid article:hover h3,
.home-hero ~ .section .category-strip-grid article:focus-visible h3,
.home-hero ~ .section .education-article-grid article:hover h3,
.home-hero ~ .section .education-article-grid article:focus-visible h3,
.home-hero ~ .section .feature-grid article:hover h3,
.home-hero ~ .section .feature-grid article:focus-visible h3 {
    color: var(--accent);
}
.category-strip-grid {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}
.project-showcase-preview,
.proof-band,
.final-cta {
    padding: clamp(22px, 4vw, 34px);
    border-radius: 8px;
}
.project-showcase-preview,
.final-cta {
    background: #fff;
    box-shadow: var(--shadow);
}
.showcase-list {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
}
.showcase-list article {
    min-height: 116px;
}
.showcase-list span,
.education-article-grid span {
    display: block;
    margin-bottom: 10px;
    color: var(--accent);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.showcase-list strong {
    display: block;
    line-height: 1.15;
}
.proof-band,
.final-cta {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
    gap: 22px;
    align-items: center;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(17,17,17,.96), rgba(17,17,17,.86)),
        var(--keiser-black);
}
.proof-band h2,
.proof-band .eyebrow,
.final-cta h2,
.final-cta .eyebrow {
    color: #fff;
}
.proof-band p,
.final-cta p {
    color: rgba(255,255,255,.74);
}
.proof-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.proof-grid article {
    min-height: 112px;
    border-color: rgba(255,255,255,.14);
    background: rgba(255,255,255,.08);
    color: #fff;
    box-shadow: none;
}
.proof-grid span {
    display: block;
    margin-top: 6px;
    color: rgba(255,255,255,.7);
}
.final-cta .hero-actions {
    justify-content: flex-end;
    margin-top: 0;
}

.section.final-cta {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: 1fr;
    place-items: center;
    width: 100%;
    min-height: clamp(420px, 52vw, 620px);
    margin: 0;
    padding: clamp(80px, 11vw, 140px) clamp(18px, 5vw, 70px);
    overflow: hidden;
    border-radius: 0;
    background:
        linear-gradient(180deg, rgba(0,0,0,.44), rgba(0,0,0,.48)),
        url("../../bgBottom.jpg") center/cover no-repeat;
    box-shadow: none;
    color: #fff;
    text-align: center;
}

.section.final-cta h2 {
    max-width: 980px;
    margin: 0 auto;
    color: #fff;
    font-size: clamp(42px, 8vw, 74px);
    font-weight: 900;
    line-height: .9;
    text-transform: uppercase;
}

.section.final-cta h2 span {
    color: var(--accent);
}

.section.final-cta p {
    max-width: 760px;
    margin: 22px auto 0;
    color: #fff;
    font-size: 18px;
    line-height: 1.35;
    white-space: nowrap;
}

.section.final-cta .hero-actions {
    justify-content: center;
    margin-top: 28px;
}

.section.final-cta .button.primary {
    min-height: 48px;
    padding: 0 22px;
    border-color: var(--accent);
    background: var(--accent);
    color: #fff;
    font-size: 18px;
    font-weight: 600;
}

.section.final-cta .button.primary:hover,
.section.final-cta .button.primary:focus-visible {
    border-color: var(--accent-dark);
    background: var(--accent-dark);
    color: #fff;
}

@media screen and (max-width: 760px) {
    .section.final-cta p {
        white-space: normal;
    }
}
.text-link {
    display: inline-flex;
    margin-top: 8px;
    color: var(--accent);
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.MediaCardPanel.Grid {
    width: 100%;
    margin: 0 auto;
    padding: clamp(42px, 6vw, 76px) clamp(18px, 4vw, 44px);
    background: #fff;
}

.MediaCardPanel__Header {
    max-width: 820px;
    margin: 0 auto;
    padding-bottom: clamp(34px, 5vw, 60px);
    text-align: center;
}

.MediaCardPanel__Eyebrow {
    display: block;
    color: var(--color-medium-grey);
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.MediaCardPanel__Title {
    margin: 18px 0 0;
    color: var(--ink);
    font-size: clamp(34px, 6vw, 70px);
    font-weight: 900;
    line-height: .98;
    text-transform: uppercase;
}

.MediaCardPanel__Title span {
    color: var(--accent);
}

.MediaCardPanel__Copy {
    max-width: 560px;
    margin: 28px auto 0;
}

.MediaCardPanel__Copy p {
    margin: 0;
    color: #4c4d4e;
    font-size: clamp(17px, 2vw, 21px);
    line-height: 1.35;
}

.MediaCardPanel__Cards {
    display: grid;
    grid-template-columns: 1fr;
    max-width: 1138px;
    gap: clamp(68px, 8vw, 100px) 50px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.MediaCardPanel__Card {
    flex: 1 1 100%;
    min-width: 0;
}

.MediaCardPanel .Card {
    display: block;
    color: var(--ink);
    text-align: center;
    text-decoration: none;
}

.MediaCardPanel .Card__Media {
    aspect-ratio: 310 / 240;
    margin-bottom: 12px;
    overflow: hidden;
    border-radius: var(--border-radius);
    background: #1a1a1a;
}

.MediaCardPanel .Media__Image,
.MediaCardPanel .Media__Video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .5s cubic-bezier(.2, 1, .3, 1);
}

.MediaCardPanel .Card__Header {
    margin-bottom: 10px;
}

.MediaCardPanel .Card__Title {
    margin: 0 0 8px;
    color: var(--ink);
    font-size: clamp(18px, 1.5vw, 22px);
    font-weight: 900;
    line-height: 1.08;
    text-transform: uppercase;
    transition: color .22s ease;
}

.MediaCardPanel .Card__Copy {
    margin: 0;
    color: var(--ink);
    font-size: clamp(16px, 1.4vw, 20px);
    font-weight: 400;
    line-height: 1.28;
}

.MediaCardPanel a.Card:hover,
.MediaCardPanel a.Card:focus-visible {
    color: var(--ink);
}

.MediaCardPanel a.Card:hover .Card__Title,
.MediaCardPanel a.Card:focus-visible .Card__Title {
    color: var(--accent);
}

.MediaCardPanel a.Card:hover .Media__Image,
.MediaCardPanel a.Card:focus-visible .Media__Image,
.MediaCardPanel a.Card:hover .Media__Video,
.MediaCardPanel a.Card:focus-visible .Media__Video {
    transform: scale(1.05);
}

@media screen and (min-width: 560px) {
    .MediaCardPanel__Cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (min-width: 960px) {
    .MediaCardPanel__Cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .MediaCardPanel__Cards--three .MediaCardPanel__Card {
        flex-basis: calc(25% - 18px);
    }

    .MediaCardPanel__Cards--four .MediaCardPanel__Card {
        flex-basis: calc(25% - 18px);
    }
}

.Promo--text-image {
    width: 100%;
    margin: 0;
    padding: clamp(54px, 8vw, 96px) clamp(18px, 4vw, 44px);
    overflow: hidden;
    background: var(--gradient);
    color: #fff;
}

.Promo__Container.Container {
    width: min(1200px, 100%);
    margin: 0 auto;
}

.Promo__Grid {
    display: grid;
    grid-template-columns: minmax(280px, .82fr) minmax(320px, 1.18fr);
    gap: clamp(28px, 6vw, 76px);
    align-items: center;
}

.Promo__Content {
    position: relative;
    z-index: 1;
}

.Promo__Eyebrow {
    display: block;
    margin-bottom: 20px;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.Promo__Title {
    max-width: 560px;
    margin: 0;
    color: var(--ink);
    font-size: clamp(52px, 7.4vw, 74px);
    font-weight: 900;
    line-height: .8;
    text-transform: uppercase;
}

.Promo__Title span {
    display: block;
    color: #fff;
}

.Promo__Copy {
    margin-top: 24px;
}

.Promo__Copy p {
    margin: 0;
    color: #fff;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.35;
    white-space: nowrap;
}

.Promo__Buttons {
    margin-top: 22px;
}

.Promo .Button--hollow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 15px;
    border: 1px solid #fff;
    border-radius: var(--border-radius);
    background: transparent;
    color: #fff;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    text-decoration: none;
}

.Promo .Button--hollow:hover,
.Promo .Button--hollow:focus-visible {
    background: #fff;
    color: var(--accent);
}

.Promo .Button--hollow svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

.Promo__Image {
    min-width: 0;
}

.Promo__Image .Media__Image {
    width: min(612px, 85%);
    margin-left: auto;
    object-fit: contain;
}

@media screen and (max-width: 860px) {
    .Promo__Grid {
        grid-template-columns: 1fr;
    }

    .Promo__Copy p {
        white-space: normal;
    }

    .Promo__Image .Media__Image {
        width: min(527px, 85%);
        margin: 0 auto;
    }
}

.ProductCategory {
    width: 100%;
    margin: 0;
    padding: clamp(58px, 8vw, 104px) clamp(18px, 4vw, 44px);
    background: #fff;
    color: var(--ink);
}

.ProductCategory__Container.Container {
    width: min(1200px, 100%);
    margin: 0 auto;
}

.ProductCategory__Intro {
    display: grid;
    grid-template-columns: minmax(320px, .95fr) minmax(420px, 1.05fr);
    gap: 18px clamp(34px, 5vw, 70px);
    align-items: start;
    max-width: 1200px;
    margin: 0 0 clamp(34px, 5vw, 62px);
    text-align: left;
}

.ProductCategory__Eyebrow {
    display: block;
    grid-column: 1 / -1;
    color: var(--color-medium-grey);
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.ProductCategory__Title {
    margin: 3px 0 0;
    color: var(--ink);
    font-size: clamp(38px, 6vw, 74px);
    font-weight: 900;
    line-height: .95;
    text-transform: uppercase;
}

.ProductCategory__Title span {
    color: var(--accent);
}

.ProductCategory__TitleLine {
    display: inline-block;
    color: var(--ink) !important;
    white-space: nowrap;
}

.ProductCategory__Copy {
    max-width: 580px;
    margin: 0;
}

.ProductCategory__Copy p {
    margin: 0;
    color: #3f4041;
    font-size: 20px;
    letter-spacing: -.01em;
    line-height: 1.42;
}

.ProductCategory__Copy p + p {
    margin-top: 16px;
}

.ProductCategory__Copy a {
    color: var(--accent);
    font-weight: 400;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ProductCategory__Copy a:hover {
    color: var(--accent);
}

.Product__List {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.Product {
    min-width: 0;
}

.Product__Link {
    display: grid;
    gap: 16px;
    height: 100%;
    color: var(--ink);
    text-align: center;
    text-decoration: none;
}

.Product__Thumbnail {
    display: grid;
    place-items: center;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: var(--border-radius);
    background: #fff;
}

.Product__Thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .5s cubic-bezier(.2, 1, .3, 1);
}

.Product__Title {
    margin: 0;
    color: var(--ink);
    font-size: clamp(19px, 1.8vw, 24px);
    font-weight: 900;
    line-height: 1.05;
    text-transform: uppercase;
    transition: color .22s ease;
}

.Product__Excerpt {
    margin: 7px auto 0;
    max-width: 210px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.25;
}

.Product__Link:hover .Product__Title,
.Product__Link:focus-visible .Product__Title {
    color: var(--accent);
}

.Product__Link:hover .Product__Thumbnail img,
.Product__Link:focus-visible .Product__Thumbnail img {
    transform: scale(1.05);
}

.ProductCategory__Trusted {
    max-width: 760px;
    margin-top: clamp(42px, 6vw, 72px);
}

.ProductCategory__Trusted span {
    display: block;
    color: var(--color-medium-grey);
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.ProductCategory__Trusted p {
    margin: 18px 0 0;
    color: var(--ink);
    font-size: clamp(20px, 2.8vw, 34px);
    font-weight: 800;
    line-height: 1.12;
}

@media screen and (max-width: 980px) {
    .ProductCategory__Intro {
        grid-template-columns: 1fr;
    }

    .ProductCategory__Copy {
        max-width: 100%;
        margin-top: 18px;
    }

    .ProductCategory__Copy p {
        font-size: 18px;
    }

    .Product__List {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media screen and (max-width: 640px) {
    .Product__List {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.feature-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.feature-grid article, .content-grid article, .proposal-grid article, .dashboard-grid a, .form-panel, .login-panel, .empty-state {
    position: relative;
    overflow: hidden;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 22px;
    box-shadow: var(--shadow);
}
.feature-grid article::before,
.content-grid article::before,
.proposal-grid article::before,
.dashboard-grid a::before,
.admin-metrics a::before,
.admin-panel::before,
.product-card::before,
.proposal-equipment-card::before,
.proposal-room-card::before,
.proposal-summary-card::before,
.response-panel::before,
.response-steps article::before,
.proposal-kpis div::before,
.proposal-signature-strip article::before,
.proposal-journey-grid article::before,
.response-concept-showcase figure::before,
.response-image-band figure::before,
.prompt-pack-main::before,
.prompt-pack-side figure::before {
    content: "";
    position: absolute;
    inset: -70% auto -70% -55%;
    width: 42%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
    transform: skewX(-18deg);
    opacity: 0;
}
.feature-grid article:hover::before,
.content-grid article:hover::before,
.proposal-grid article:hover::before,
.dashboard-grid a:hover::before,
.admin-metrics a:hover::before,
.admin-panel:hover::before,
.product-card:hover::before,
.proposal-equipment-card:hover::before,
.proposal-room-card:hover::before,
.proposal-summary-card:hover::before,
.response-panel:hover::before,
.response-steps article:hover::before,
.proposal-kpis div:hover::before,
.proposal-signature-strip article:hover::before,
.proposal-journey-grid article:hover::before,
.response-concept-showcase figure:hover::before,
.response-image-band figure:hover::before,
.prompt-pack-main:hover::before,
.prompt-pack-side figure:hover::before {
    animation: exportCardShine .72s ease-out;
}
.feature-grid article,
.content-grid article,
.proposal-grid article,
.dashboard-grid a,
.admin-metrics a,
.admin-panel,
.product-card,
.proposal-equipment-card,
.proposal-room-card,
.proposal-summary-card,
.response-panel,
.response-steps article,
.proposal-kpis div,
.proposal-signature-strip article,
.proposal-journey-grid article,
.response-concept-showcase figure,
.response-image-band figure,
.prompt-pack-main,
.prompt-pack-side figure {
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.feature-grid article:hover,
.content-grid article:hover,
.proposal-grid article:hover,
.dashboard-grid a:hover,
.admin-metrics a:hover,
.admin-panel:hover,
.product-card:hover,
.proposal-equipment-card:hover,
.proposal-room-card:hover,
.proposal-summary-card:hover,
.response-panel:hover,
.response-steps article:hover,
.proposal-kpis div:hover,
.proposal-signature-strip article:hover,
.proposal-journey-grid article:hover,
.response-concept-showcase figure:hover,
.response-image-band figure:hover,
.prompt-pack-main:hover,
.prompt-pack-side figure:hover {
    border-color: rgba(209,10,44,.42);
    box-shadow: 0 20px 48px rgba(17,17,17,.12);
    transform: translateY(-1px);
}
.feature-grid article {
    padding: 18px;
}
.feature-grid h3 {
    margin-top: 0;
    font-size: 18px;
}
.feature-grid p {
    margin-bottom: 0;
    font-size: 13px;
}
.dashboard-grid a { text-decoration: none; }
.dashboard-grid span { color: var(--muted); }
.dashboard-grid strong { display: block; font-size: 42px; }
.admin-hero {
    width: min(1180px, calc(100% - 36px));
    margin: 32px auto 18px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: end;
    min-height: 300px;
    padding: clamp(26px, 4vw, 46px);
    border-radius: 8px;
    color: #fff;
    background:
        linear-gradient(120deg, rgba(17,17,17,.98), rgba(17,17,17,.78)),
        linear-gradient(38deg, rgba(209,10,44,.3), transparent 55%),
        url("../../bg.jpg") center/cover;
    box-shadow: 0 30px 82px rgba(17,17,17,.2);
}
.admin-hero h1 {
    margin: 0;
    font-size: var(--site-h1-size);
    line-height: 1.02;
}
.admin-hero p:not(.eyebrow) {
    max-width: 720px;
    color: rgba(255,255,255,.74);
}
.admin-hero-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
    max-width: 440px;
    padding: 12px;
    border: 1px solid rgba(209,10,44,.24);
    border-radius: 8px;
    background: rgba(17,17,17,.28);
    backdrop-filter: blur(10px);
}
.admin-hero .button.ghost {
    color: #fff;
    border-color: rgba(255,255,255,.42);
}
.admin-metrics {
    width: min(1180px, calc(100% - 36px));
    margin: 18px auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 14px;
}
.admin-metrics a {
    position: relative;
    overflow: hidden;
    padding: 18px;
    min-height: 138px;
    border: 1px solid rgba(209,10,44,.22);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,245,240,.86)),
        #fff;
    box-shadow: var(--shadow);
    text-decoration: none;
}
.admin-metrics a:first-child {
    color: #fff;
    border-color: rgba(209,10,44,.34);
    background:
        linear-gradient(145deg, rgba(17,17,17,.97), rgba(17,17,17,.82)),
        var(--luxury);
}
.admin-metrics a:first-child span,
.admin-metrics a:first-child small {
    color: rgba(255,255,255,.72);
}
.admin-metrics a:first-child strong {
    color: #ffffff;
}
.admin-metrics span,
.admin-metrics small {
    color: var(--muted);
    font-weight: 800;
}
.admin-metrics span {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
}
.admin-metrics strong {
    display: block;
    margin: 8px 0 4px;
    font-size: clamp(26px, 3vw, 42px);
    line-height: 1;
}
.admin-command-grid {
    width: min(1180px, calc(100% - 36px));
    margin: 24px auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.admin-panel {
    position: relative;
    overflow: hidden;
    padding: 22px;
    border: 1px solid rgba(209,10,44,.24);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,245,240,.86)),
        #fff;
    box-shadow: var(--shadow);
}
.admin-wide-panel {
    width: min(1180px, calc(100% - 36px));
    margin: 24px auto;
}
.admin-wide-panel .pipeline-heading {
    align-items: center;
    padding: 18px;
    margin: -4px -4px 18px;
    border: 1px solid rgba(209,10,44,.22);
    border-radius: 8px;
    color: #fff;
    background:
        linear-gradient(128deg, rgba(17,17,17,.98), rgba(17,17,17,.84)),
        linear-gradient(38deg, rgba(209,10,44,.26), transparent 58%);
}
.admin-wide-panel .pipeline-heading .eyebrow {
    color: #d10a2c;
}
.admin-wide-panel .pipeline-heading h2 {
    font-size: clamp(28px, 4vw, 48px);
}
.admin-wide-panel .pipeline-heading .button {
    border-color: rgba(209,10,44,.44);
    background: rgba(255,255,255,.1);
    color: #fff;
}
.pipeline-project-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.pipeline-project-card {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 14px;
    align-content: start;
    min-height: 286px;
    padding: 16px;
    border: 1px solid rgba(209,10,44,.22);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,245,240,.88)),
        #fff;
    box-shadow: 0 14px 34px rgba(17,17,17,.08);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.pipeline-project-card::before {
    content: "";
    position: absolute;
    inset: -70% auto -70% -55%;
    width: 42%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent);
    transform: skewX(-18deg);
    opacity: 0;
}
.pipeline-project-card:hover {
    border-color: rgba(209,10,44,.5);
    box-shadow: 0 22px 46px rgba(17,17,17,.13);
    transform: translateY(-1px);
}
.pipeline-project-card:hover::before {
    animation: exportCardShine .72s ease-out;
}
.pipeline-card-top {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}
.pipeline-status {
    max-width: 150px;
    padding: 5px 9px;
    border-radius: 999px;
    background: #edf2f0;
    color: #3d4d47;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    text-align: right;
}
.pipeline-status.proposal-ready,
.pipeline-status.won,
.pipeline-status.approved,
.pipeline-status.deposit-received,
.pipeline-status.procurement,
.pipeline-status.install-scheduled,
.pipeline-status.installed {
    background: #fff1f3;
    color: #a90722;
}
.pipeline-status.proposal-drafted,
.pipeline-status.in-progress,
.pipeline-status.qualified,
.pipeline-status.layout-in-progress,
.pipeline-status.concept-rendering,
.pipeline-status.proposal-sent,
.pipeline-status.awaiting-client-decision {
    background: #fff1f3;
    color: #a90722;
}
.pipeline-status.contacted,
.pipeline-status.site-details-needed,
.pipeline-status.site-visit-booked {
    background: #eef0f2;
    color: #111111;
}
.pipeline-status.lost {
    background: #fff1ef;
    color: var(--danger);
}
.pipeline-status.on-hold {
    background: #ece7df;
    color: #5c5143;
}
.pipeline-card-main h3 {
    margin: 0;
    font-size: 22px;
    line-height: 1.08;
}
.pipeline-card-main p {
    margin: 6px 0 0;
    color: var(--muted);
    font-weight: 700;
}
.pipeline-card-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}
.pipeline-card-meta div {
    padding: 10px;
    border: 1px solid rgba(209,10,44,.16);
    border-radius: 8px;
    background: rgba(255,255,255,.72);
}
.pipeline-card-meta dt {
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}
.pipeline-card-meta dd {
    margin: 2px 0 0;
    font-weight: 900;
    line-height: 1.18;
}
.pipeline-progress {
    overflow: hidden;
    height: 7px;
    border-radius: 999px;
    background: rgba(17,17,17,.08);
}
.pipeline-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--ink), var(--accent));
}
.pipeline-status-form select {
    width: 100%;
}
.pipeline-actions {
    margin-top: auto;
}
.pipeline-actions .button {
    min-width: 70px;
}
.pipeline-empty {
    display: grid;
    gap: 4px;
    padding: 20px;
    border: 1px dashed rgba(209,10,44,.46);
    border-radius: 8px;
    background: #ffffff;
}
.pipeline-empty span {
    color: var(--muted);
}
.admin-list {
    display: grid;
    gap: 8px;
}
.admin-list a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-height: 58px;
    padding: 12px;
    border: 1px solid rgba(209,10,44,.16);
    border-radius: 8px;
    background: rgba(255,255,255,.78);
    text-decoration: none;
}
.admin-list a:hover {
    border-color: rgba(209,10,44,.42);
    background: #fff;
}
.admin-list strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.admin-list small {
    color: var(--muted);
}
.admin-list em {
    font-style: normal;
}

.form-panel label, .login-panel label, .search-box {
    display: grid;
    gap: 7px;
    margin-bottom: 14px;
    color: var(--muted);
    font-weight: 700;
    font-size: 14px;
}
.form-intro {
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--line);
}
.form-intro h2 {
    margin: 10px 0 0;
    font-size: 28px;
}
.form-submit-row {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    align-items: center;
}
input, select, textarea {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 10px 12px;
    color: var(--ink);
    background: #fff;
    font: inherit;
}
input:hover, select:hover, textarea:hover {
    border-color: #b8c7c3;
}
input:focus, select:focus, textarea:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(242, 107, 58, .15);
    outline: 0;
}
textarea { min-height: 112px; resize: vertical; }
.form-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.form-grid.one-col { grid-template-columns: 1fr; gap: 8px; }
.form-grid.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-login-shell {
    width: min(1040px, calc(100% - 36px));
    min-height: calc(100vh - 220px);
    margin: 36px auto;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
    align-items: stretch;
    border: 1px solid rgba(209,10,44,.26);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 28px 70px rgba(17,17,17,.16);
}
.admin-login-brand {
    display: grid;
    align-content: end;
    gap: 16px;
    min-height: 560px;
    padding: clamp(28px, 5vw, 52px);
    color: #fff;
    background:
        linear-gradient(180deg, rgba(17,17,17,.18), rgba(17,17,17,.94)),
        linear-gradient(125deg, rgba(17,17,17,.92), rgba(209,10,44,.26)),
        url("../../bg.jpg") center/cover;
}
.admin-login-brand h1 {
    max-width: 620px;
    margin: 0;
    font-size: var(--site-h1-size);
    line-height: 1.02;
}
.admin-login-brand p:not(.eyebrow) {
    max-width: 560px;
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: 17px;
}
.admin-login-signals {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}
.admin-login-signals span {
    padding: 7px 10px;
    border: 1px solid rgba(209,10,44,.42);
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}
.admin-login-card {
    display: grid;
    align-content: center;
    gap: 20px;
    padding: clamp(28px, 4vw, 48px);
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,245,240,.72)),
        #fff;
}
.admin-login-card h2 {
    margin: 0;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1;
}
.admin-login-card form {
    display: grid;
    gap: 14px;
}
.admin-login-card label {
    display: grid;
    gap: 7px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}
.admin-login-card input {
    min-height: 50px;
    border-color: rgba(209,10,44,.28);
    background: rgba(255,255,255,.92);
}
.admin-login-card .button {
    width: 100%;
    min-height: 50px;
    margin-top: 4px;
}
.admin-equipment-switchboard, .admin-section-title {
    width: min(1380px, calc(100% - 36px));
    margin: 24px auto;
}
.admin-equipment-switchboard {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.admin-equipment-switchboard a {
    display: grid;
    gap: 5px;
    padding: 18px;
    border: 1px solid rgba(209,10,44,.26);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,245,240,.92));
    box-shadow: var(--shadow);
    text-decoration: none;
}
.admin-equipment-switchboard span {
    color: var(--accent-dark);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}
.admin-equipment-switchboard strong {
    font-size: 24px;
}
.admin-equipment-switchboard small {
    color: var(--muted);
}
.admin-section-title {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: end;
    padding-top: 12px;
    border-top: 1px solid rgba(17,17,17,.1);
}
.admin-section-title h2 {
    margin: 0;
    font-size: clamp(24px, 3vw, 38px);
}
.admin-equipment-layout {
    width: min(1380px, calc(100% - 36px));
    margin: 16px auto 38px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 18px;
    align-items: start;
}
.admin-equipment-table {
    margin-top: 16px;
}
.equipment-list-header {
    padding: 22px;
    border: 1px solid rgba(209,10,44,.24);
    border-radius: 8px;
    color: #fff;
    background:
        linear-gradient(122deg, rgba(17,17,17,.97), rgba(17,17,17,.76)),
        linear-gradient(36deg, rgba(209,10,44,.2), transparent);
    box-shadow: var(--shadow);
}
.equipment-list-header .muted-copy {
    color: rgba(255,255,255,.72);
}
.equipment-list-header .button.ghost {
    color: #fff;
    border-color: rgba(255,255,255,.42);
}
.equipment-edit-header .button:not(.ghost):not(.primary) {
    color: #fff;
    border-color: rgba(255,255,255,.42);
    background: rgba(255,255,255,.1);
}
.equipment-list-toolbar {
    width: min(1220px, calc(100% - 36px));
    margin: 24px auto 18px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: end;
}
.equipment-list-filters {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(190px, 260px) auto auto;
    gap: 12px;
    align-items: end;
    padding: 20px;
    border: 1px solid rgba(209,10,44,.24);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,245,240,.9)),
        #fff;
    box-shadow: 0 20px 50px rgba(17,17,17,.09);
}
.equipment-list-filters label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}
.equipment-list-summary {
    min-width: 138px;
    min-height: 100%;
    padding: 18px 20px;
    border-radius: 8px;
    background:
        linear-gradient(145deg, var(--luxury), var(--luxury-soft));
    color: rgba(255,255,255,.72);
    text-align: center;
    box-shadow: var(--shadow);
    align-self: stretch;
    display: grid;
    align-content: center;
}
.equipment-list-summary strong {
    display: block;
    color: #fff;
    font-size: 30px;
    line-height: 1;
}
.equipment-list-summary span {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}
.professional-table table {
    min-width: 1040px;
}
.equipment-list-shell {
    width: min(1220px, calc(100% - 36px));
    margin: 0 auto;
}
.equipment-list-shell .table-wrap {
    width: 100%;
    margin-inline: 0;
    overflow: hidden;
    border-color: rgba(209,10,44,.24);
    background:
        linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,245,240,.86)),
        #fff;
    box-shadow: 0 24px 64px rgba(17,17,17,.12);
}
.professional-table th a {
    color: inherit;
    text-decoration: none;
}
.professional-table tbody tr {
    background: rgba(255,255,255,.92);
}
.professional-table th {
    background: #111111;
    color: #ffffff;
    border-bottom-color: rgba(209,10,44,.18);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.professional-table td {
    border-bottom-color: rgba(209,10,44,.14);
    padding: 16px 14px;
}
.sku-pill {
    display: inline-flex;
    max-width: 92px;
    justify-content: center;
    padding: 4px 7px;
    border-radius: 999px;
    background: #f7f8f9;
    color: var(--accent-dark);
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.category-pill {
    display: inline-flex;
    align-items: center;
    max-width: 170px;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    background: hsl(var(--cat-hue), 46%, 92%);
    color: hsl(var(--cat-hue), 38%, 26%);
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}
.fit-line {
    display: block;
    margin-top: 5px;
    color: var(--muted);
    font-size: 11px;
    white-space: normal;
    line-height: 1.35;
}
.stock-control {
    display: grid;
    gap: 6px;
    align-items: center;
    min-width: 118px;
}
.stock-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    width: max-content;
}
.stock-pill.in-stock {
    background: #fff1f3;
    color: #a90722;
}
.stock-pill.low-stock {
    background: #fff1f3;
    color: #a90722;
}
.stock-pill.out-of-stock {
    background: #ffe8e4;
    color: #a12b1f;
}
.stock-pill.made-to-order {
    background: #eef0f2;
    color: #111111;
}
.stock-form {
    display: grid;
    grid-template-columns: 78px;
    gap: 5px;
    align-items: center;
    margin: 0;
}
.stock-form.is-saving input {
    border-color: rgba(209,10,44,.5);
    background: #fff8f9;
}
.stock-form select,
.stock-form input {
    min-height: 32px;
    padding: 5px 7px;
    border-radius: 8px;
    font-size: 12px;
}
.stock-form button {
    min-height: 32px;
    padding: 0 9px;
    border: 1px solid rgba(209,10,44,.26);
    border-radius: 999px;
    background: linear-gradient(180deg, #fff, #f8f6f0);
    color: var(--ink);
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}
.stock-form button:hover {
    border-color: var(--accent);
    color: var(--accent-dark);
}
.action-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(58px, 1fr));
    gap: 8px;
    align-items: center;
    min-width: 138px;
}
.action-buttons form {
    grid-column: 1 / -1;
    margin: 0;
}
.icon-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    width: 100%;
    padding: 0 10px;
    border: 1px solid rgba(209,10,44,.22);
    border-radius: 999px;
    background: linear-gradient(180deg, #fff, #f8f6f0);
    color: var(--ink);
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}
.icon-action:hover {
    border-color: rgba(209,10,44,.52);
    transform: translateY(-1px);
}
.primary-action {
    background: linear-gradient(145deg, var(--luxury), var(--luxury-soft));
    border-color: var(--luxury);
    color: #fff;
}
.danger-action {
    background: #fff5f3;
    border-color: #ffd2c9;
    color: var(--danger);
}
.action-buttons .danger-action {
    min-height: 30px;
}
.qr-label-toolbar {
    width: min(900px, calc(100% - 36px));
    margin: 28px auto 12px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}
.qr-print-sheet {
    width: min(900px, calc(100% - 36px));
    margin: 12px auto 44px;
    padding: clamp(18px, 4vw, 36px);
    border-radius: 8px;
    background: #e8e2d6;
}
.qr-wall-label {
    padding: clamp(24px, 5vw, 48px);
    border: 1px solid rgba(209,10,44,.34);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(209,10,44,.10), transparent 34%),
        #fff;
    box-shadow: 0 26px 70px rgba(17,17,17,.16);
}
.qr-label-topline,
.qr-label-footer {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}
.qr-label-topline span {
    color: var(--ink);
    letter-spacing: .08em;
}
.qr-label-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: 34px;
    align-items: center;
    margin: 32px 0;
}
.qr-label-main h1 {
    max-width: 520px;
    margin: 0 0 12px;
    font-size: var(--site-h1-size);
    line-height: 1.02;
}
.qr-label-main p:not(.eyebrow) {
    max-width: 560px;
    color: var(--muted);
    font-size: 17px;
}
.qr-code-frame {
    padding: 18px;
    border: 1px solid rgba(209,10,44,.32);
    border-radius: 8px;
    background: #fff;
    box-shadow: inset 0 0 0 8px #f7f8f9;
}
.qr-code-frame img {
    width: 100%;
    aspect-ratio: 1;
}
.qr-label-specs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 28px;
}
.qr-label-specs div {
    padding: 12px;
    border-radius: 8px;
    background: #f7f8f9;
}
.qr-label-specs dt {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}
.qr-label-specs dd {
    margin: 4px 0 0;
    color: var(--ink);
    font-weight: 800;
}
.pagination {
    width: min(1180px, calc(100% - 36px));
    margin: 24px auto 42px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    align-items: center;
}
.pagination a,
.pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid rgba(209,10,44,.24);
    border-radius: 8px;
    background: rgba(255,255,255,.96);
    color: var(--ink);
    font-weight: 900;
    text-decoration: none;
}
.pagination a:hover {
    border-color: rgba(209,10,44,.52);
    transform: translateY(-1px);
}
.pagination a:not(.disabled) {
    color: var(--ink);
}
.pagination a.active,
.pagination span.active {
    border-color: var(--luxury);
    background: linear-gradient(135deg, var(--luxury), var(--ink));
    color: #ffffff;
}
.pagination .disabled {
    opacity: .45;
    pointer-events: none;
}
.equipment-editor {
    display: grid;
    gap: 18px;
}
.editor-bar {
    position: sticky;
    top: 78px;
    z-index: 10;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 18px;
    border: 1px solid rgba(209,10,44,.28);
    border-radius: 8px;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(17,17,17,.98), rgba(17,17,17,.86)),
        var(--luxury);
    box-shadow: 0 22px 58px rgba(17,17,17,.18);
    backdrop-filter: blur(12px);
}
.editor-bar .tag {
    color: #ffffff;
}
.editor-bar .button.ghost {
    color: #fff;
    border-color: rgba(255,255,255,.42);
}
.editor-bar h2 { margin: 6px 0 0; font-size: 24px; }
.editor-section, .expert-card {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,245,240,.9)),
        #fff;
    border: 1px solid rgba(209,10,44,.22);
    border-radius: 8px;
    padding: 20px;
    box-shadow: var(--shadow);
}
.editor-section::before,
.expert-card::before {
    content: "";
    position: absolute;
    inset: -70% auto -70% -55%;
    width: 42%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent);
    transform: skewX(-18deg);
    opacity: 0;
}
.editor-section:hover::before,
.expert-card:hover::before {
    animation: exportCardShine .72s ease-out;
}
.editor-section {
    display: grid;
    gap: 14px;
}
.editor-section-title {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: start;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(209,10,44,.18);
}
.editor-section-title h3, .expert-card h3 { margin: 0; font-size: 20px; }
.ai-section {
    border-color: rgba(209,10,44,.34);
    background:
        linear-gradient(180deg, #ffffff, #fff),
        #fff;
}
.equipment-expert-panel {
    position: sticky;
    top: 96px;
    display: grid;
    gap: 14px;
}
.expert-card p { color: var(--muted); }
.equipment-expert-panel .expert-card:first-child {
    color: #fff;
    border-color: rgba(209,10,44,.34);
    background:
        linear-gradient(145deg, rgba(17,17,17,.98), rgba(17,17,17,.82)),
        var(--luxury);
}
.equipment-expert-panel .expert-card:first-child p,
.equipment-expert-panel .expert-card:first-child .eyebrow {
    color: rgba(255,255,255,.72);
}
.colour-card span {
    display: block;
    width: 100%;
    height: 84px;
    border-radius: 8px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--preview-colour) 70%, white), var(--preview-colour)),
        var(--preview-colour);
    border: 1px solid rgba(0,0,0,.08);
    margin: 12px 0;
}
.check-list {
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}
.check-list li {
    padding-left: 24px;
    position: relative;
    color: var(--muted);
}
.check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--ink);
    font-weight: 800;
}
.compact textarea { min-height: 82px; }
.admin-details {
    margin: 16px 0;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f7f8f9;
}
.admin-details summary {
    cursor: pointer;
    font-weight: 800;
    margin-bottom: 12px;
}
.code-field, .code-block {
    font-family: Consolas, Monaco, monospace;
    font-size: 13px;
}
.tall-code { min-height: 340px; }
.code-block {
    overflow: auto;
    white-space: pre-wrap;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f7f8f9;
}
.alert { width: min(1180px, calc(100% - 36px)); margin: 18px auto; border-radius: 8px; padding: 14px 16px; font-weight: 700; }
.alert.error { color: var(--danger); background: #fff1ef; border: 1px solid #ffd0c7; }
.alert.success {
    color: var(--keiser-black);
    background: var(--keiser-steel-soft);
    border: 1px solid var(--keiser-steel);
}

.equipment-platform-title {
    padding: 20px;
    border: 1px solid rgba(209,10,44,.24);
    border-radius: 8px;
    color: #fff;
    background:
        linear-gradient(122deg, rgba(17,17,17,.97), rgba(17,17,17,.76)),
        linear-gradient(36deg, rgba(209,10,44,.2), transparent);
    box-shadow: var(--shadow);
}
.equipment-platform-title .muted-copy {
    color: rgba(255,255,255,.72);
}
.equipment-platform-title .button.ghost {
    color: #fff;
    border-color: rgba(255,255,255,.42);
}
.filter-row { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-row a {
    padding: 8px 12px;
    border: 1px solid rgba(209,10,44,.24);
    border-radius: 999px;
    background: rgba(255,255,255,.94);
    color: var(--muted);
    text-decoration: none;
    font-weight: 800;
}
.filter-row a:hover {
    border-color: rgba(209,10,44,.5);
    color: var(--ink);
}
.filter-row a.active {
    border-color: var(--luxury);
    background: linear-gradient(135deg, var(--luxury), var(--ink));
    color: #ffffff;
}
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.product-card {
    position: relative;
    display: grid;
    grid-template-rows: auto 1fr;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(247,245,240,.9) 100%),
        #fff;
    border: 1px solid rgba(209, 10, 44, .28);
    border-radius: 8px;
    box-shadow: 0 20px 46px rgba(18, 32, 30, .11);
    cursor: pointer;
}
.product-card::after {
    content: "";
    position: absolute;
    inset: auto 18px 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, rgba(209, 10, 44, .72), transparent);
    opacity: .72;
    pointer-events: none;
}
.product-image-wrap {
    position: relative;
    padding: 12px 12px 0;
    background:
        linear-gradient(135deg, rgba(17,17,17,.13), rgba(209,10,44,.16)),
        #f7f8f5;
}
.product-image-wrap img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    padding: 12px;
    background:
        radial-gradient(circle at 50% 42%, rgba(255,255,255,.98), rgba(238, 240, 235, .9) 62%, rgba(224, 228, 220, .85)),
        #eef1ec;
    border: 1px solid rgba(18, 32, 30, .09);
    border-radius: 8px;
}
.product-card-category {
    position: absolute;
    left: 24px;
    top: 24px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border: 1px solid rgba(218, 185, 115, .34);
    border-radius: 999px;
    background: rgba(18, 32, 30, .9);
    color: #f8edd2;
    box-shadow: 0 10px 24px rgba(18, 32, 30, .18);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.product-card > div:not(.product-image-wrap) {
    display: flex;
    flex-direction: column;
    padding: 18px;
}
.product-card > div:not(.product-image-wrap) > .tag { display: none; }
.product-card h2 { margin: 0 0 8px; font-size: 21px; line-height: 1.14; }
.product-card p {
    margin: 0;
    color: #53615d;
    line-height: 1.55;
}
.tag { color: var(--ink); font-weight: 800; font-size: 12px; }
.pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}
.product-card .pill {
    border-color: rgba(209, 10, 44, .22);
    background: rgba(255, 255, 255, .76);
    color: #475551;
}
.product-meta {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin: auto 0 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(18, 32, 30, .08);
    color: var(--muted);
}
.product-meta strong {
    color: var(--luxury);
    font-size: 18px;
    letter-spacing: .01em;
}
.product-meta span {
    max-width: 46%;
    text-align: right;
    font-size: 12px;
    font-weight: 800;
}
.product-specs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 14px 0 18px;
}
.product-card .row-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 0;
}
.product-card .row-actions .button {
    justify-content: center;
}
.product-card {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.product-card:hover {
    border-color: rgba(209, 10, 44, .42);
    transform: translateY(-4px);
    box-shadow: 0 28px 70px rgba(19, 42, 40, .17);
}
.planner-shell {
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}
.planner-sidebar, .planner-main, .equipment-panel {
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,245,240,.86)),
        #fff;
    border: 1px solid rgba(209,10,44,.22);
    border-radius: 8px;
    padding: 18px;
    box-shadow: var(--shadow);
}
.planner-sidebar {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(300px, .9fr) minmax(260px, .7fr) minmax(440px, 1.35fr);
    gap: 12px;
    align-items: stretch;
    background:
        linear-gradient(135deg, rgba(17,17,17,.97), rgba(17,17,17,.82)),
        var(--luxury);
    color: #fff;
}
.planner-sidebar label,
.planner-sidebar .planner-brief label,
.planner-sidebar .planner-controls label,
.planner-sidebar .planner-stats span,
.planner-sidebar .planner-sidebar-head p,
.planner-sidebar .quick-room-upload,
.planner-sidebar .quick-room-upload span,
.planner-sidebar .planner-brief.is-compact p {
    color: rgba(255,255,255,.7);
}
.planner-sidebar input,
.planner-sidebar textarea {
    border-color: rgba(209,10,44,.28);
    background: rgba(255,255,255,.94);
}
.planner-sidebar .planner-stats div {
    border-color: rgba(209,10,44,.26);
    background: rgba(255,255,255,.1);
}
.planner-sidebar .planner-stats strong {
    color: #ffffff;
}
.planner-sidebar .quick-room-upload {
    border-color: rgba(209,10,44,.5);
    background: rgba(255,255,255,.08);
}
.planner-shell[data-quick-mode="1"] .planner-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto minmax(80px, 1fr) auto;
}
.planner-shell[data-quick-mode="1"] .planner-controls {
    grid-column: 1;
    grid-row: 1;
}
.planner-shell[data-quick-mode="1"] .quick-room-upload {
    grid-column: 1;
    grid-row: 2 / 4;
    align-self: stretch;
}
.planner-shell[data-quick-mode="1"] .planner-brief {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: stretch;
    grid-template-rows: minmax(0, 1fr);
}
.planner-shell[data-quick-mode="1"] .planner-stats {
    grid-column: 2;
    grid-row: 3;
    align-self: end;
}
.planner-shell[data-quick-mode="1"] .planner-brief label {
    grid-template-rows: auto minmax(0, 1fr);
}
.planner-shell[data-quick-mode="1"] .planner-brief textarea {
    min-height: 74px;
    height: 100%;
    padding: 6px 8px;
    resize: vertical;
}
.planner-sidebar-head:not(.is-quick) {
    grid-column: 1 / -1;
}
.planner-sidebar.is-project-sidebar {
    position: relative;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(209, 10, 44, .28);
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,245,240,.86)),
        #fff;
    color: var(--ink);
}
.planner-sidebar.is-project-sidebar::before { display: none; }
.planner-sidebar.is-project-sidebar .planner-sidebar-head {
    grid-column: 1;
    grid-row: 1 / 3;
    display: grid;
    align-content: start;
    min-height: 0;
    padding: 14px;
    border-radius: 8px;
    background: linear-gradient(135deg, #111111, #24282c);
    color: #fff;
}
.project-sidebar-status {
    display: inline-flex;
    width: max-content;
    margin-bottom: 8px;
    padding: 4px 8px;
    border: 1px solid rgba(209,10,44,.42);
    border-radius: 999px;
    color: #d10a2c;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.planner-sidebar.is-project-sidebar .planner-sidebar-head h2 {
    font-size: 22px;
    line-height: 1.06;
}
.planner-sidebar.is-project-sidebar .planner-sidebar-head p {
    max-width: 420px;
    margin-top: 6px;
    color: rgba(255,255,255,.78);
    font-size: 12px;
}
.project-sidebar-contact {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 10px;
}
.project-sidebar-contact span {
    padding: 4px 7px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.82);
    font-size: 11px;
    font-weight: 800;
}
.planner-sidebar.is-project-sidebar .planner-controls {
    align-self: start;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding: 0;
    grid-column: 2;
    grid-row: 1;
}
.planner-sidebar.is-project-sidebar .planner-controls label,
.planner-sidebar.is-project-sidebar .planner-stats div,
.planner-sidebar.is-project-sidebar .planner-brief.is-compact {
    min-height: 68px;
    padding: 10px;
    border: 1px solid rgba(17,17,17,.08);
    border-radius: 8px;
    background: rgba(255,255,255,.94);
    box-shadow: none;
}
.planner-sidebar.is-project-sidebar .planner-controls label,
.planner-sidebar.is-project-sidebar .planner-stats div {
    display: grid;
    grid-template-rows: auto 1fr;
    align-items: center;
}
.planner-sidebar.is-project-sidebar .planner-controls label,
.planner-sidebar.is-project-sidebar .planner-stats span,
.planner-sidebar.is-project-sidebar .planner-brief.is-compact strong {
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.planner-sidebar.is-project-sidebar .planner-controls input {
    min-height: 28px;
    padding: 2px 0 0;
    border: 0;
    border-bottom: 1px solid rgba(209,10,44,.35);
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    font-size: 17px;
    font-weight: 900;
}
.planner-sidebar.is-project-sidebar .planner-stats {
    align-self: start;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 0;
    grid-column: 2;
    grid-row: 2;
}
.planner-sidebar.is-project-sidebar .planner-stats div {
    border-color: rgba(209,10,44,.22);
    background: linear-gradient(180deg, #fff, #ffffff);
}
.planner-sidebar.is-project-sidebar .planner-stats strong {
    color: var(--ink);
    font-size: 17px;
    line-height: 1.1;
}
.planner-sidebar.is-project-sidebar .planner-brief.is-compact {
    grid-column: 1 / -1;
    grid-row: 3;
    margin: 0;
    min-height: 68px;
}
.planner-sidebar.is-project-sidebar .planner-brief.is-compact p {
    max-height: 48px;
    font-size: 12px;
    line-height: 1.4;
}
.equipment-panel {
    position: sticky;
    top: 70px;
    border-color: rgba(209,10,44,.28);
    background:
        linear-gradient(180deg, #fff, #ffffff);
}
.planner-sidebar-head h2 {
    margin: 0;
}
.planner-sidebar-head.is-quick {
    display: none;
}
.planner-sidebar-head p {
    margin: 4px 0 0;
    color: var(--muted);
}
.planner-controls {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin: 0;
}
.planner-controls label {
    display: grid;
    gap: 5px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}
.planner-controls input {
    min-height: 34px;
    padding: 6px 8px;
}
.planner-controls input[readonly] {
    background: rgba(248,250,249,.92);
}
.planner-brief {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.planner-brief label {
    display: grid;
    gap: 5px;
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}
.planner-brief textarea {
    min-height: 74px;
    line-height: 1.45;
}
.quick-room-upload {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 10px;
    border: 1px dashed rgba(209, 10, 44, .5);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,246,240,.94));
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}
.quick-room-upload input {
    width: 100%;
}
.quick-room-upload span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}
.quick-room-upload img {
    width: 100%;
    max-height: 150px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--line);
}
.planner-brief.is-compact p {
    max-height: 96px;
    margin: 0;
    overflow: auto;
    color: var(--muted);
    font-size: 13px;
}
.planner-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 16px 0; }
.planner-sidebar .planner-stats { margin: 0; }
.planner-stats div { padding: 7px 8px; border-radius: 8px; background: #f7f8f9; border: 1px solid rgba(209,10,44,.18); }
.planner-stats div {
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.planner-stats div:hover {
    border-color: rgba(209,10,44,.42);
    box-shadow: 0 10px 24px rgba(17,17,17,.08);
    transform: translateY(-1px);
}
.planner-stats span { display: block; color: var(--muted); font-size: 12px; }
.planner-stats strong { font-size: 15px; }
.equipment-palette { display: grid; gap: 8px; max-height: 540px; overflow: auto; padding-right: 4px; }
.palette-item {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(209,10,44,.2);
    border-radius: 8px;
    padding: 8px;
    background: linear-gradient(180deg, #fff, #ffffff);
    cursor: grab;
    box-shadow: 0 8px 18px rgba(29, 36, 34, .05);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.palette-item:hover,
.palette-item:focus-visible {
    border-color: rgba(209,10,44,.5);
    box-shadow: 0 16px 34px rgba(17,17,17,.12);
    transform: translateY(-1px);
}
.palette-item:active { cursor: grabbing; }
.palette-item strong { display: block; }
.palette-item span { color: var(--muted); font-size: 12px; }
.visual-equipment-card {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    text-align: left;
    width: 100%;
}
.palette-thumb-wrap {
    position: relative;
    overflow: hidden;
    width: 92px;
    aspect-ratio: 4 / 3;
    border-radius: 8px;
    border: 1px solid rgba(29, 36, 34, .12);
    background: #eef0f2;
}
.palette-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: zoom-in;
}
.palette-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.palette-copy strong,
.palette-copy small,
.palette-price,
.palette-copy em {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.palette-price {
    color: var(--luxury);
    font-size: 13px;
    font-weight: 900;
}
.palette-copy em {
    color: var(--muted);
    font-size: 11px;
    font-style: normal;
}
.palette-actions {
    display: grid;
    gap: 8px;
    justify-items: center;
}
.colour-chip {
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background: var(--item-colour, var(--ink));
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px var(--line);
}
.mini-button {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--accent);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
}
.palette-item .mini-button { color: #ffffff; }
.mini-copy {
    font-size: 12px;
    margin-bottom: 10px;
}
.planner-toolbar { display: flex; gap: 8px; justify-content: flex-end; align-items: center; flex-wrap: nowrap; margin-bottom: 14px; }
.planner-main .planner-toolbar {
    padding: 10px;
    border: 1px solid rgba(209,10,44,.18);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(17,17,17,.96), rgba(17,17,17,.78)),
        var(--luxury);
}
.planner-toolbar .button {
    flex: 0 0 auto;
    white-space: nowrap;
}
.planner-main .planner-toolbar .button.ghost {
    color: #fff;
    border-color: rgba(255,255,255,.42);
}
.planner-help {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 14px;
    padding: 12px;
    border-radius: 8px;
    background: #ffffff;
    border: 1px solid rgba(209,10,44,.2);
}
.planner-help p { margin: 0; color: var(--muted); }
.room-wrap {
    overflow: auto;
    padding: 16px;
    background:
        linear-gradient(180deg, rgba(17,17,17,.08), rgba(209,10,44,.08)),
        #edf1f0;
    border-radius: 8px;
    border: 1px solid rgba(209,10,44,.24);
}
.room-canvas {
    position: relative;
    width: min(100%, 850px);
    aspect-ratio: var(--room-ratio, 1 / 1);
    min-height: 360px;
    margin: auto;
    background-size: 40px 40px;
    background-image: linear-gradient(to right, rgba(24,48,47,.08) 1px, transparent 1px), linear-gradient(to bottom, rgba(24,48,47,.08) 1px, transparent 1px);
    background-color: #fff;
    border: 3px solid var(--luxury);
    border-radius: 8px;
    touch-action: none;
    box-shadow: 0 18px 42px rgba(17,17,17,.12);
}
.room-canvas::after {
    content: "Scaled room plan";
    position: absolute;
    left: 10px;
    bottom: 8px;
    color: rgba(24,48,47,.35);
    font-size: 12px;
    font-weight: 800;
    pointer-events: none;
}
.floor-shape-help {
    justify-content: flex-start;
    margin-top: -2px;
}
.floor-boundary-editor {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: visible;
    pointer-events: none;
}
.floor-boundary-editor:not(.is-editable) .floor-boundary-polygon {
    stroke: rgba(24, 48, 47, .36);
}
.floor-boundary-editor:not(.is-editable) .floor-boundary-excluded {
    opacity: .32;
}
.floor-boundary-polygon {
    fill: rgba(31, 122, 91, .07);
    stroke: rgba(24, 48, 47, .9);
    stroke-width: 3;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}
.floor-boundary-excluded {
    opacity: .62;
}
.floor-boundary-hatch-line {
    stroke: rgba(179, 38, 30, .58);
    stroke-width: 3;
}
.floor-boundary-handle {
    pointer-events: auto;
    cursor: grab;
    fill: #f2b84b;
    stroke: #111111;
    stroke-width: 3.5;
    filter: drop-shadow(0 3px 5px rgba(24,48,47,.22));
    touch-action: none;
    vector-effect: non-scaling-stroke;
}
.floor-boundary-handle:hover,
.floor-boundary-handle:focus {
    fill: #fff;
    outline: none;
    stroke: #d10a2c;
}
.floor-boundary-handle:active {
    cursor: grabbing;
}
.placed-item {
    position: absolute;
    display: grid;
    place-items: center;
    min-width: 34px;
    min-height: 34px;
    padding: 0;
    border: 2px solid var(--ink);
    border-radius: 6px;
    background: #eef0f2;
    color: var(--ink);
    font-size: 11px;
    font-weight: 800;
    text-align: center;
    cursor: move;
    user-select: none;
    z-index: 2;
    overflow: visible;
    box-shadow: 0 5px 14px rgba(17, 24, 22, .13);
}
.placed-item.active { border-color: var(--accent); }
.placed-item.invalid { border-color: var(--danger); }
.placed-item.invalid .placed-item-name { background: rgba(179, 38, 30, .88); }
.placed-item-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 4px;
    opacity: .5;
    pointer-events: none;
    transform-origin: center;
}
.placed-item::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 4px;
    background: linear-gradient(180deg, rgba(17, 24, 22, .02), rgba(17, 24, 22, .05) 48%, rgba(17, 24, 22, .4));
    pointer-events: none;
}
.placed-item-name {
    position: absolute;
    left: 3px;
    right: 3px;
    bottom: 3px;
    z-index: 1;
    display: block;
    box-sizing: border-box;
    max-width: calc(100% - 6px);
    max-height: calc(100% - 6px);
    padding: 3px 5px;
    overflow: hidden;
    border-radius: 5px;
    background: rgba(17, 24, 22, .76);
    color: #fff;
    font-size: var(--placed-label-font, 10px);
    line-height: 1.15;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
    white-space: normal;
    overflow-wrap: anywhere;
}
.placed-item.is-small .placed-item-name {
    left: 2px;
    right: 2px;
    bottom: 2px;
    max-width: calc(100% - 4px);
    max-height: calc(100% - 4px);
    padding: 2px 3px;
}
.placed-item.is-label-compact .placed-item-name {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow-wrap: normal;
}
.placed-item.is-tiny .placed-item-name {
    display: none;
}
.placed-item button {
    position: absolute;
    top: -12px;
    right: -12px;
    z-index: 3;
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: 999px;
    background: var(--ink);
    color: #fff;
    cursor: pointer;
}
.placed-item .rotate-btn {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    background: var(--accent);
    color: #ffffff;
    cursor: pointer;
}
.warnings { display: grid; gap: 8px; margin-top: 12px; }
.warnings p { margin: 0; padding: 10px 12px; border-radius: 8px; background: #fff5e8; border: 1px solid #ffd89b; }
.prompt-box textarea { min-height: 220px; font-family: Consolas, Monaco, monospace; font-size: 13px; }
.planner-prompt {
    margin-top: 14px;
}
.planner-prompt summary {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-weight: 800;
}
.prompt-summary-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
}
.prompt-summary-actions .button {
    flex: 0 0 auto;
    min-height: 32px;
    white-space: nowrap;
}
.concept-upload-panel {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(209,10,44,.09), rgba(255,255,255,0) 44%),
        #fff;
    box-shadow: var(--shadow);
}
.concept-upload-panel form {
    display: grid;
    gap: 12px;
    margin-top: 12px;
}
.reference-panel, .final-proposal-action {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}
.image-reference-panel {
    background:
        linear-gradient(135deg, rgba(17,17,17,.04), rgba(209,10,44,.07)),
        #fff;
}
.image-reference-panel .section-heading {
    align-items: start;
}
.image-reference-panel .muted-copy {
    max-width: 780px;
    margin: 6px 0 0;
}
.inline-upload-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 14px;
}
.download-image-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.download-image-grid figure {
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f7f8f9;
    box-shadow: 0 10px 28px rgba(17,17,17,.06);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.download-image-grid figure:hover {
    border-color: rgba(209,10,44,.42);
    box-shadow: 0 16px 34px rgba(17,17,17,.1);
    transform: translateY(-1px);
}
.download-image-grid img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
    cursor: grab;
}
.download-image-grid figcaption {
    min-height: 42px;
    margin: 8px 0;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}
.render-room-choice {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 10px;
    color: var(--ink);
    font-size: 12px;
    font-weight: 800;
}
.render-room-choice input {
    margin: 0;
    width: 13px;
    height: 13px;
    min-height: 0;
    flex: 0 0 13px;
}
.concept-manage-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}
.concept-card {
    position: relative;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(17,17,17,.08);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.concept-card:hover {
    border-color: rgba(209,10,44,.42);
    box-shadow: 0 18px 42px rgba(17,17,17,.12);
    transform: translateY(-1px);
}
.concept-card img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}
.concept-card figcaption {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}
.concept-card form {
    display: block;
    margin: 0;
}
.final-proposal-action {
    background:
        linear-gradient(135deg, rgba(17,17,17,.94), rgba(17,17,17,.9)),
        var(--ink);
    border-color: rgba(209,10,44,.42);
    color: #fff;
}
.final-proposal-action .muted-copy {
    color: rgba(255,255,255,.72);
}
.proposal-export-panel {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
    gap: 18px;
    align-items: center;
}
.proposal-export-panel h2 {
    margin: 0 0 8px;
    font-size: clamp(22px, 2.8vw, 34px);
    line-height: 1.05;
}
.proposal-export-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.proposal-export-card {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 8px;
    min-height: 132px;
    padding: 18px;
    border: 1px solid rgba(209,10,44,.36);
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
    background: linear-gradient(135deg, rgba(17,17,17,.94), rgba(17,17,17,.88));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 18px 38px rgba(17,17,17,.18);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.proposal-export-card.primary {
    border-color: rgba(209,10,44,.36);
    background: linear-gradient(135deg, rgba(17,17,17,.94), rgba(17,17,17,.88));
}
.proposal-export-card::before {
    content: "";
    position: absolute;
    inset: -70% auto -70% -55%;
    width: 42%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);
    transform: skewX(-18deg);
    opacity: 0;
}
.proposal-export-card:hover,
.proposal-export-card:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(242,220,169,.8);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 24px 54px rgba(17,17,17,.26);
}
.proposal-export-card:hover::before,
.proposal-export-card:focus-visible::before,
.proposal-export-card:active::before {
    animation: exportCardShine .72s ease-out;
}
.proposal-export-card:active {
    transform: translateY(0);
}
.proposal-export-card span {
    font-size: 18px;
    font-weight: 900;
}
.proposal-export-card small {
    color: rgba(255,255,255,.72);
    line-height: 1.45;
}
@keyframes exportCardShine {
    0% { left: -55%; opacity: 0; }
    20% { opacity: .8; }
    100% { left: 120%; opacity: 0; }
}

.instruction-hero { display: grid; grid-template-columns: 420px minmax(0, 1fr); gap: 26px; align-items: center; }
.instruction-hero img, .proposal-photo { border-radius: 8px; border: 1px solid var(--line); background: #fff; }
.equipment-detail-hero {
    position: relative;
    overflow: hidden;
    grid-template-columns: minmax(340px, .95fr) minmax(0, 1.05fr);
    gap: clamp(22px, 4vw, 42px);
    align-items: stretch;
    padding: clamp(22px, 4vw, 38px);
    border: 1px solid rgba(209,10,44,.24);
    border-radius: 8px;
    color: #fff;
    background:
        linear-gradient(124deg, rgba(17,17,17,.97), rgba(17,17,17,.78)),
        linear-gradient(35deg, rgba(209,10,44,.22), transparent);
    box-shadow: 0 30px 78px rgba(17,17,17,.2);
}
.equipment-detail-hero::before {
    content: "";
    position: absolute;
    inset: -70% auto -70% -55%;
    width: 38%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
    transform: skewX(-18deg);
    opacity: 0;
}
.equipment-detail-hero:hover::before {
    animation: exportCardShine .72s ease-out;
}
.equipment-detail-hero > div:last-child {
    display: grid;
    align-content: center;
    gap: 16px;
    min-width: 0;
}
.equipment-detail-hero h1 {
    max-width: 760px;
    margin: 0;
}
.equipment-detail-hero .eyebrow {
    color: #d10a2c;
}
.equipment-detail-hero > div:last-child p:not(.eyebrow) {
    max-width: 680px;
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: 17px;
}
.equipment-detail-hero .button.ghost {
    color: #fff;
    border-color: rgba(255,255,255,.42);
}
.equipment-detail-hero .equipment-gallery {
    align-self: stretch;
    padding: 12px;
    border: 1px solid rgba(209,10,44,.24);
    border-radius: 8px;
    background: rgba(255,255,255,.08);
}
.equipment-detail-hero .main-equipment-image,
.equipment-detail-hero .thumb-strip img {
    border-color: rgba(209,10,44,.32);
    background: #ffffff;
}
.equipment-detail-hero .main-equipment-image {
    height: 100%;
    min-height: 390px;
    object-fit: contain;
}
.equipment-detail-hero .thumb-strip {
    justify-content: center;
}
.equipment-detail-hero .thumb-strip img {
    opacity: .86;
    transition: opacity .18s ease, transform .18s ease, border-color .18s ease;
}
.equipment-detail-hero .thumb-strip img:hover {
    opacity: 1;
    transform: translateY(-1px);
    border-color: rgba(209,10,44,.75);
}
.spec-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 4px; }
.spec-strip span {
    display: grid;
    gap: 4px;
    min-height: 72px;
    padding: 11px 12px;
    border: 1px solid rgba(209,10,44,.32);
    border-radius: 8px;
    background: rgba(255,255,255,.1);
    color: #ffffff;
    font-weight: 800;
}
.spec-strip small {
    color: rgba(255,255,255,.62);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.spec-strip strong {
    overflow-wrap: anywhere;
    color: #fff;
    font-size: 15px;
    line-height: 1.1;
}
.equipment-price-panel {
    display: grid;
    gap: 4px;
    max-width: 520px;
    padding: 16px;
    border: 1px solid rgba(209,10,44,.34);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.06)),
        rgba(17,17,17,.24);
}
.equipment-price-panel span {
    color: rgba(255,255,255,.62);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.equipment-price-panel strong {
    color: #ffffff;
    font-size: 30px;
    line-height: 1;
}
.equipment-price-panel small {
    color: rgba(255,255,255,.7);
    font-weight: 800;
}
.equipment-detail-actions {
    gap: 12px;
    margin-top: 2px;
}
.equipment-detail-actions .button {
    min-height: 44px;
    padding-inline: 18px;
}
.equipment-detail-grid {
    align-items: stretch;
}
.equipment-detail-grid article {
    display: grid;
    align-content: start;
    gap: 8px;
    border-color: rgba(209,10,44,.24);
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,245,240,.88)),
        #fff;
}
.equipment-detail-grid article span {
    width: max-content;
    padding: 5px 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--luxury), var(--ink));
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
}
.equipment-detail-grid article h2 {
    margin: 0;
    font-size: 22px;
}
.equipment-detail-grid article p {
    margin: 0;
    color: var(--muted);
}
.equipment-video-frame {
    padding: 12px;
    border: 1px solid rgba(209,10,44,.22);
    border-radius: 8px;
    background: #111111;
    box-shadow: var(--shadow);
}
.video-frame iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 8px; }

.table-wrap { overflow-x: auto; background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
table { width: 100%; border-collapse: collapse; min-width: 720px; }
th, td { padding: 13px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { color: var(--muted); font-size: 13px; }
tbody tr:hover { background: #f7f8f9; }
.updated-equipment-row {
    animation: updatedEquipmentPulse 2.6s ease-out 1;
    background: #fff1f3;
    outline: 3px solid rgba(209, 10, 44, .48);
    outline-offset: -3px;
}
.stock-updated-row {
    animation: updatedEquipmentPulse 1.3s ease-out 1;
}
.stock-pill.is-saved {
    box-shadow: 0 0 0 3px rgba(209,10,44,.16);
}
.updated-equipment-row:focus {
    outline: 4px solid rgba(31, 122, 91, .55);
    outline-offset: -4px;
}
@keyframes updatedEquipmentPulse {
    0% {
        background: #fff0bd;
        box-shadow: inset 0 0 0 999px rgba(242, 184, 75, .22);
    }
    100% {
        background: #fff1f3;
        box-shadow: inset 0 0 0 999px rgba(242, 184, 75, 0);
    }
}
.equipment-name-cell {
    display: flex;
    gap: 12px;
    align-items: center;
    min-width: 260px;
}
.professional-table .equipment-name-cell {
    min-width: 300px;
    max-width: 420px;
}
.professional-table .equipment-name-cell small {
    display: -webkit-box;
    overflow: hidden;
    color: var(--muted);
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.equipment-colour-dot {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: var(--item-colour, var(--ink));
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px var(--line);
}
.row-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}
.admin-wide-panel table td,
.workflow-table td {
    vertical-align: middle;
}
.admin-wide-panel .table-wrap {
    border-color: rgba(209,10,44,.22);
}
.admin-wide-panel th {
    background: #ffffff;
    color: var(--accent-dark);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.admin-wide-panel tbody tr:hover {
    background: #ffffff;
}
.admin-wide-panel .inline-status-form,
.workflow-table .inline-status-form {
    margin: 0;
}
.admin-wide-panel .row-actions,
.workflow-table .row-actions {
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
}
.admin-wide-panel .row-actions .button,
.admin-wide-panel .row-actions button,
.workflow-table .row-actions .button,
.workflow-table .row-actions button {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
}
.qr-thumb { width: 72px; height: 72px; margin-bottom: 8px; border: 1px solid var(--line); border-radius: 6px; }
.equipment-thumb {
    width: 74px;
    height: 58px;
    object-fit: cover;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #eef0f2;
    cursor: zoom-in;
}
.thumb-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}
.compact-thumbs {
    max-width: 170px;
    gap: 6px;
}
.compact-thumbs img,
.compact-thumbs .equipment-thumb {
    width: 48px;
    height: 42px;
}
.thumb-strip img {
    width: 86px;
    height: 64px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--line);
    background: #eef0f2;
    cursor: zoom-in;
}
.editable-thumbs {
    align-items: stretch;
}
.editable-thumb {
    display: grid;
    gap: 8px;
    width: 126px;
    margin: 0;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f7f8f9;
}
.editable-thumb img {
    width: 100%;
    height: 82px;
}
.editable-thumb span {
    display: flex;
    gap: 7px;
    align-items: center;
    color: var(--danger);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
}
.editable-thumb input {
    width: auto;
    flex: 0 0 auto;
}
.equipment-gallery {
    display: grid;
    gap: 10px;
}
.main-equipment-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid rgba(209,10,44,.24);
    background: #eef0f2;
    box-shadow: 0 18px 42px rgba(17,17,17,.14);
}
.image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: none;
    grid-template-rows: 1fr auto;
    gap: 14px;
    padding: 28px;
    background: rgba(9, 20, 19, .88);
}
.image-lightbox.open { display: grid; }
.image-lightbox img {
    max-width: min(1100px, 100%);
    max-height: calc(100vh - 170px);
    margin: auto;
    object-fit: contain;
    border-radius: 8px;
    background: #fff;
}
.image-lightbox figure {
    display: grid;
    gap: 12px;
    place-items: center;
    margin: 0;
}
.image-lightbox figcaption {
    display: grid;
    gap: 3px;
    max-width: 760px;
    color: #fff;
    text-align: center;
}
.image-lightbox figcaption span,
.image-lightbox figcaption small {
    color: rgba(255,255,255,.78);
}
.image-lightbox button {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: var(--ink);
    font-weight: 800;
    cursor: pointer;
}
.lightbox-strip {
    display: flex;
    gap: 10px;
    justify-content: center;
    overflow-x: auto;
}
.lightbox-strip img {
    width: 82px;
    height: 62px;
    object-fit: cover;
    margin: 0;
    cursor: pointer;
    opacity: .72;
}
.lightbox-strip img.active { opacity: 1; outline: 3px solid var(--accent); }
.inline-form { display: inline; }
.inline-form button { border: 0; background: transparent; color: var(--danger); font: inherit; text-decoration: underline; cursor: pointer; padding: 0; }
.inline-status-form {
    margin: 6px 0 0;
}
.inline-status-form select {
    width: min(190px, 100%);
    min-height: 32px;
    padding: 5px 8px;
    font-size: 12px;
}
.row-actions form {
    margin: 0;
}
.admin-project-form {
    display: grid;
    gap: 14px;
}
.admin-user-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 12px;
    align-items: end;
}
.admin-user-form label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}
.admin-user-list {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 14px;
}
.admin-user-list span {
    display: inline-grid;
    gap: 2px;
    padding: 8px 10px;
    border: 1px solid rgba(209,10,44,.22);
    border-radius: 8px;
    background: #ffffff;
    font-weight: 800;
}
.admin-user-list small {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}
.users-hero {
    width: min(1180px, calc(100% - 36px));
    margin: 32px auto 18px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: end;
    min-height: 300px;
    padding: clamp(26px, 5vw, 48px);
    border-radius: 8px;
    color: #fff;
    background:
        linear-gradient(122deg, rgba(17,17,17,.97), rgba(17,17,17,.76)),
        linear-gradient(32deg, rgba(209,10,44,.28), transparent);
    box-shadow: 0 26px 70px rgba(17,17,17,.16);
}
.users-hero h1 {
    margin: 0;
    font-size: var(--site-h1-size);
    line-height: 1.02;
}
.users-hero p:not(.eyebrow) {
    max-width: 680px;
    color: rgba(255,255,255,.76);
}
.users-hero-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.users-hero .button.ghost {
    color: #fff;
    border-color: rgba(255,255,255,.5);
}
.users-admin-grid {
    width: min(1180px, calc(100% - 36px));
    margin: 24px auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}
.users-lux-panel {
    position: relative;
    overflow: hidden;
    padding: 22px;
    border: 1px solid rgba(209,10,44,.24);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,245,240,.82)),
        #fff;
    box-shadow: var(--shadow);
}
.users-lux-panel::before {
    content: "";
    position: absolute;
    inset: -70% auto -70% -55%;
    width: 42%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.65), transparent);
    transform: skewX(-18deg);
    opacity: 0;
}
.users-lux-panel:hover::before {
    animation: exportCardShine .72s ease-out;
}
.current-account-panel {
    border-color: rgba(209,10,44,.36);
    background:
        linear-gradient(145deg, rgba(17,17,17,.96), rgba(17,17,17,.82)),
        var(--luxury);
    color: #fff;
}
.current-account-panel .muted-copy,
.current-account-panel label,
.current-account-panel .password-divider span {
    color: rgba(255,255,255,.68);
}
.current-account-panel input {
    border-color: rgba(209,10,44,.32);
    background: rgba(255,255,255,.92);
}
.lux-user-form {
    display: grid;
    gap: 13px;
}
.lux-user-form label {
    display: grid;
    gap: 7px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}
.lux-user-form input[readonly] {
    color: var(--muted);
    background: #f4f2eb;
}
.lux-user-form .button {
    justify-self: start;
    min-width: 160px;
}
.password-divider {
    display: grid;
    gap: 3px;
    margin: 4px 0;
    padding-top: 14px;
    border-top: 1px solid rgba(209,10,44,.24);
}
.password-divider strong {
    font-size: 15px;
}
.password-divider span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}
.session-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(209,10,44,.16);
    color: var(--accent-dark);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.current-account-panel .session-pill,
.session-pill.current {
    background: rgba(209,10,44,.92);
    color: #ffffff;
}
.users-list-panel {
    width: min(1180px, calc(100% - 36px));
    margin: 24px auto 42px;
}
.users-card-list {
    display: grid;
    gap: 12px;
}
.admin-user-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(17,17,17,.08);
    border-radius: 8px;
    background: #fff;
}
.admin-user-card.is-current {
    border-color: rgba(209,10,44,.4);
    background: linear-gradient(180deg, #ffffff, #fff);
}
.admin-user-avatar {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--luxury), var(--ink));
    color: #ffffff;
    font-size: 22px;
    font-weight: 900;
}
.admin-user-card strong,
.admin-user-card span,
.admin-user-card small {
    display: block;
}
.admin-user-card strong {
    font-size: 18px;
}
.admin-user-card span {
    color: var(--muted);
    font-weight: 800;
}
.admin-user-card small {
    margin-top: 2px;
    color: var(--muted);
    font-size: 12px;
}
.admin-user-card form {
    margin: 0;
}
.project-list { display: grid; gap: 8px; margin-top: 20px; }
.project-list a { display: flex; justify-content: space-between; padding: 12px; border: 1px solid var(--line); border-radius: 8px; text-decoration: none; }
.proposal-header, .dashboard-header { display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.proposal-cover {
    width: min(1180px, calc(100% - 36px));
    margin: 32px auto 18px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: end;
    min-height: 360px;
    padding: clamp(30px, 5vw, 58px);
    border-radius: 8px;
    color: #fff;
    background:
        linear-gradient(112deg, rgba(17,17,17,.98), rgba(17,17,17,.84) 46%, rgba(209,10,44,.62)),
        linear-gradient(22deg, rgba(255,255,255,.12), transparent 34%),
        url("https://images.unsplash.com/photo-1571902943202-507ec2618e8f?auto=format&fit=crop&w=1600&q=80") center/cover;
    box-shadow: 0 30px 80px rgba(17,17,17,.22);
}
.proposal-cover h1 {
    margin: 0;
    max-width: 780px;
    font-size: var(--site-h1-size);
    line-height: 1.02;
}
.proposal-cover p:not(.eyebrow) {
    max-width: 760px;
    color: rgba(255,255,255,.82);
    font-size: 18px;
}
.proposal-cover-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
}
.proposal-cover-meta span {
    padding: 8px 11px;
    border: 1px solid rgba(209,10,44,.34);
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    color: rgba(255,255,255,.86);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}
.proposal-kpis {
    width: min(1180px, calc(100% - 36px));
    margin: -34px auto 32px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}
.proposal-kpis div {
    position: relative;
    overflow: hidden;
    padding: 18px;
    border: 1px solid rgba(209,10,44,.2);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(17,17,17,.11);
}
.proposal-kpis span {
    display: block;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}
.proposal-kpis strong {
    display: block;
    margin-top: 5px;
    font-size: 22px;
}
.proposal-transformation {
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid rgba(209,10,44,.22);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,245,240,.86)),
        #fff;
    box-shadow: var(--shadow);
}
.proposal-transformation .section-heading {
    margin-bottom: 14px;
}
.proposal-transformation h2 {
    max-width: 780px;
    font-size: clamp(42px, 6vw, 78px);
    line-height: .96;
}
.proposal-showcase {
    width: min(1180px, calc(100% - 36px));
    margin: 32px auto;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 20px;
}
.proposal-executive {
    grid-template-columns: 1.25fr .75fr;
    margin-top: 18px;
}
.proposal-room-card, .proposal-summary-card {
    position: relative;
    overflow: hidden;
    padding: 24px;
    border: 1px solid rgba(209,10,44,.18);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(17,17,17,.09);
}
.proposal-room-card h2,
.proposal-summary-card h2,
.response-panel h2 {
    margin-top: 0;
    line-height: 1.08;
}
.luxury-summary-card {
    color: #fff;
    background:
        linear-gradient(150deg, rgba(17,17,17,.96), rgba(17,17,17,.92)),
        var(--ink);
    border-color: rgba(209,10,44,.38);
}
.luxury-summary-card .eyebrow,
.luxury-summary-card small,
.luxury-summary-card p {
    color: rgba(255,255,255,.76);
}
.luxury-summary-card .proposal-total {
    color: #ffffff;
}
.proposal-grid { grid-template-columns: 1fr 1.2fr; }
.proposal-total { font-size: 40px; font-weight: 800; margin: 0 0 12px; color: var(--ink); }
.proposal-summary-card .proposal-total {
    margin: 18px 0;
    font-size: clamp(38px, 5vw, 64px);
}
.brief-list {
    display: grid;
    gap: 10px;
    margin: 0 0 18px;
}
.brief-list div {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
}
.brief-list dt {
    color: var(--muted);
    font-weight: 800;
}
.brief-list dd {
    margin: 0;
    font-weight: 700;
}
.proposal-photo {
    width: 100%;
    max-height: 560px;
    object-fit: cover;
    cursor: grab;
}
.proposal-photo:active { cursor: grabbing; }
.empty-photo {
    display: grid;
    place-items: center;
    min-height: 300px;
    color: var(--muted);
    background: #eef0f2;
}
.proposal-equipment-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.proposal-equipment-card {
    overflow: hidden;
    border: 1px solid rgba(209,10,44,.18);
    border-radius: 8px;
    background: linear-gradient(180deg, #fff, #ffffff);
    box-shadow: 0 16px 32px rgba(17,17,17,.075);
}
.proposal-equipment-card img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    padding: 10px;
    background: #f7f8f9;
}
.proposal-equipment-card > div { padding: 14px; }
.proposal-equipment-card h3 {
    margin: 8px 0;
    font-size: 17px;
    line-height: 1.12;
}
.proposal-equipment-card p {
    display: -webkit-box;
    min-height: 42px;
    overflow: hidden;
    color: var(--muted);
    font-size: 13px;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.proposal-card-meta {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
}
.proposal-equipment-card dl {
    display: grid;
    gap: 6px;
    margin: 12px 0 0;
}
.proposal-equipment-card dl div {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding-top: 7px;
    border-top: 1px solid var(--line);
    font-size: 12px;
}
.proposal-equipment-card dt { color: var(--muted); font-weight: 800; }
.proposal-equipment-card dd { margin: 0; text-align: right; }
.before-after-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.before-after-grid article {
    position: relative;
    overflow: hidden;
    padding: 16px;
    border: 1px solid rgba(209,10,44,.2);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}
.transformation-grid article {
    min-height: 430px;
    padding: 12px;
    background: #111111;
}
.transformation-grid article p {
    margin: 10px 4px 2px;
    color: rgba(255,255,255,.74);
    font-size: 13px;
    font-weight: 700;
}
.transformation-grid .before-card {
    background: linear-gradient(180deg, #24282c, #111111);
}
.transformation-grid .after-card {
    border-color: rgba(209,10,44,.5);
    background:
        linear-gradient(145deg, rgba(17,17,17,.96), rgba(17,17,17,.84)),
        var(--luxury);
    box-shadow: 0 24px 58px rgba(17,17,17,.18);
}
.image-stage-label {
    position: absolute;
    top: 22px;
    left: 22px;
    z-index: 2;
    border-color: rgba(255,255,255,.22);
    background: rgba(17,17,17,.82);
    color: #ffffff;
}
.before-after-grid img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
    margin-top: 0;
}
.before-reference-stack,
.after-reference-stack {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}
.before-reference-stack figure,
.after-reference-stack figure {
    position: relative;
    margin: 0;
}
.before-reference-stack figcaption,
.after-reference-stack figcaption {
    margin-top: 6px;
    color: rgba(255,255,255,.68);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}
.transformation-grid img,
.transformation-grid .empty-photo {
    min-height: 340px;
    border: 1px solid rgba(255,255,255,.12);
}
.before-reference-stack img,
.after-reference-stack img {
    min-height: 340px;
}
.proposal-concepts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 22px;
}
.proposal-concepts figure {
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}
.proposal-concepts img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: contain;
    background: #f7f8f9;
}
.proposal-concepts figcaption {
    padding: 9px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}
.proposal-signature-strip {
    width: min(1180px, calc(100% - 36px));
    margin: 24px auto 32px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.proposal-signature-strip article {
    position: relative;
    overflow: hidden;
    padding: 14px 16px;
    border: 1px solid rgba(209,10,44,.2);
    border-radius: 8px;
    background: linear-gradient(180deg, #fff, #ffffff);
}
.proposal-signature-strip span {
    display: block;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.proposal-signature-strip strong {
    display: block;
    margin-top: 4px;
    font-size: 18px;
}
.proposal-journey {
    width: min(1180px, calc(100% - 36px));
    margin: 32px auto;
    padding: 24px;
    border: 1px solid rgba(209,10,44,.22);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}
.proposal-journey-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.proposal-journey-grid article {
    position: relative;
    overflow: hidden;
    padding: 16px;
    border-radius: 8px;
    background: #ffffff;
    border: 1px solid rgba(209,10,44,.18);
}
.proposal-journey-grid span {
    color: var(--accent);
    font-weight: 900;
}
.proposal-journey-grid strong {
    display: block;
    margin: 8px 0;
    font-size: 18px;
}
.proposal-journey-grid p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
}
.prompt-pack-cover {
    background:
        linear-gradient(110deg, rgba(17,17,17,.96), rgba(209,10,44,.62)),
        url("https://images.unsplash.com/photo-1517838277536-f5f99be501cd?auto=format&fit=crop&w=1600&q=80") center/cover;
}
.response-cover {
    background:
        linear-gradient(110deg, rgba(17,17,17,.96), rgba(209,10,44,.62)),
        url("https://images.unsplash.com/photo-1540497077202-7c8a3999166f?auto=format&fit=crop&w=1600&q=80") center/cover;
}
.response-steps, .response-grid {
    width: min(1180px, calc(100% - 36px));
    margin: 24px auto;
    display: grid;
    gap: 16px;
}
.response-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.response-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.response-overview-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.response-steps article, .response-panel {
    position: relative;
    overflow: hidden;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}
.response-letter {
    border: 1px solid var(--line);
    background: #fff;
}
.client-note-label {
    display: inline-flex;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--luxury);
    color: #d10a2c;
}
.client-note-box {
    display: grid;
    gap: 10px;
    margin-top: 14px;
    padding: 0;
    border-left: 0;
    border-radius: 8px;
    background: transparent;
}
.client-note-box p {
    margin: 0;
    color: var(--ink);
}
.response-steps strong, .response-steps small {
    display: block;
}
.response-steps strong {
    margin-top: 10px;
    font-size: 22px;
}
.response-steps small {
    color: var(--muted);
}
.workflow-list {
    display: grid;
    gap: 10px;
    margin: 14px 0 0;
    padding-left: 20px;
}
.workflow-list li {
    padding-left: 4px;
}
.response-image-band {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.response-image-band figure {
    position: relative;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}
.response-image-band img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.response-image-band figcaption {
    padding: 10px;
    color: var(--muted);
    font-weight: 800;
}
.response-concept-showcase {
    display: grid;
    gap: 18px;
    margin-bottom: 18px;
}
.response-concept-showcase figure {
    position: relative;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}
.response-concept-showcase img {
    width: 100%;
    max-height: 720px;
    object-fit: contain;
    background: #f7f8f9;
}
.response-concept-showcase figcaption {
    padding: 12px 14px;
    color: var(--muted);
    font-weight: 900;
}
.response-equipment-band {
    grid-template-columns: repeat(4, minmax(0, 23%));
    align-items: start;
    justify-content: center;
    gap: 18px;
}
.response-equipment-band figure {
    padding: 8px;
    border-color: rgba(209,10,44,.2);
    background: linear-gradient(180deg, #fff, #ffffff);
    box-shadow: 0 12px 26px rgba(17,17,17,.07);
}
.response-equipment-band img {
    width: 100px;
    height: 100px;
    aspect-ratio: auto;
    margin: 0 auto;
    border-radius: 8px;
    border: 1px solid rgba(17,17,17,.08);
}
.response-equipment-band figcaption {
    padding: 8px 0 2px;
    font-size: 11px;
    line-height: 1.2;
    text-align: center;
}
.response-room-band {
    grid-template-columns: repeat(2, minmax(0, 50%));
    justify-content: center;
    gap: 0;
    margin-bottom: 16px;
}
.response-room-band figure {
    padding: 10px;
    border-color: rgba(209,10,44,.22);
    background: linear-gradient(180deg, #fff, #ffffff);
}
.response-room-band img {
    border-radius: 8px;
}
.response-room-band figcaption {
    text-align: center;
}
.mini-section-heading {
    margin: 16px 0 10px;
}
.mini-section-heading h3 {
    margin: 0;
    font-size: 18px;
}
.concept-reference-steps {
    margin-top: 18px;
}
.workflow-table table {
    min-width: 920px;
}
.project-metrics {
    margin-top: 18px;
}
.staff-handout h3 {
    margin-bottom: 0;
}
.response-prompt {
    display: block;
}
.response-prompt textarea {
    width: 100%;
}
.prompt-pack-grid {
    width: min(1180px, calc(100% - 36px));
    margin: 32px auto;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) 360px;
    gap: 18px;
    align-items: start;
}
.prompt-pack-main, .prompt-pack-side {
    position: relative;
    overflow: hidden;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}
.prompt-pack-main textarea {
    min-height: 640px;
    font-family: Consolas, Monaco, monospace;
}
.prompt-pack-inline-actions {
    margin-top: 12px;
}
.prompt-pack-upload {
    display: grid;
    gap: 14px;
    margin-top: 18px;
    padding: 16px;
    border: 1px solid rgba(209,10,44,.22);
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff, #fff);
}
.prompt-pack-upload h2 {
    margin: 0;
    font-size: 22px;
}
.prompt-pack-upload form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
}
.prompt-pack-upload label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}
.prompt-pack-side {
    display: grid;
    gap: 14px;
}
.prompt-pack-side figure {
    position: relative;
    margin: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
    background: #f7f8f9;
}
.prompt-pack-side img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    cursor: grab;
}
.prompt-pack-side figcaption {
    padding: 10px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}
.gallery-hero {
    width: min(1180px, calc(100% - 36px));
    margin: 28px auto 22px;
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr);
    gap: clamp(18px, 3vw, 34px);
    align-items: stretch;
    min-height: 560px;
    padding: clamp(22px, 4vw, 42px);
    border-radius: 8px;
    color: #fff;
    background:
        linear-gradient(132deg, rgba(17,17,17,.98), rgba(17,17,17,.8)),
        linear-gradient(28deg, rgba(209,10,44,.24), transparent 58%);
    box-shadow: var(--shadow);
}
.gallery-hero-copy {
    display: grid;
    align-content: end;
}
.gallery-hero h1 {
    margin: 0;
    max-width: 720px;
    font-size: var(--site-h1-size);
    line-height: 1.02;
}
.gallery-hero p:not(.eyebrow) {
    max-width: 620px;
    color: rgba(255,255,255,.75);
    font-size: 17px;
}
.gallery-hero-image {
    position: relative;
    overflow: hidden;
    margin: 0;
    min-height: 420px;
    border: 1px solid rgba(209,10,44,.34);
    border-radius: 8px;
    background: #0f1513;
    cursor: zoom-in;
}
.gallery-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: zoom-in;
}
.gallery-hero-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 48%, rgba(0,0,0,.72));
}
.gallery-hero-image figcaption {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: end;
    color: #fff;
}
.gallery-hero-image strong,
.gallery-hero-image span {
    display: block;
}
.gallery-hero-image strong {
    font-size: 22px;
}
.gallery-hero-image span {
    color: #d10a2c;
    font-weight: 800;
}
.gallery-intro {
    width: min(1180px, calc(100% - 36px));
    margin: 32px auto 14px;
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: end;
}
.gallery-intro h2 {
    margin: 0;
    font-size: clamp(28px, 4vw, 48px);
    line-height: 1;
}
.gallery-intro p:not(.eyebrow) {
    max-width: 520px;
    margin: 0;
    color: var(--muted);
}
.completed-gallery-grid {
    width: min(1180px, calc(100% - 36px));
    margin: 18px auto 46px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-flow: dense;
    gap: 14px;
}
.completed-gallery-card {
    position: relative;
    overflow: hidden;
    min-height: 360px;
    border: 1px solid rgba(209,10,44,.26);
    border-radius: 8px;
    background: #111111;
    box-shadow: var(--shadow);
    cursor: zoom-in;
}
.completed-gallery-card.is-large {
    grid-column: span 2;
    grid-row: span 2;
    min-height: 640px;
}
.completed-gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: zoom-in;
    transition: transform .45s ease, filter .45s ease;
}
.completed-gallery-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.02) 34%, rgba(0,0,0,.78));
}
.completed-gallery-card:hover img {
    filter: saturate(1.04) contrast(1.04);
    transform: scale(1.025);
}
.completed-gallery-card div {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 16px;
    z-index: 1;
    color: #fff;
}
.completed-gallery-card h2 {
    margin: 8px 0 4px;
    font-size: clamp(22px, 2.5vw, 36px);
    line-height: 1;
}
.completed-gallery-card p {
    max-width: 620px;
    margin: 6px 0 0;
    color: rgba(255,255,255,.76);
}
.completed-gallery-card .gallery-location {
    color: #d10a2c;
    font-weight: 900;
}
.gallery-badge {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(209,10,44,.92);
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.gallery-empty {
    text-align: center;
}
.gallery-admin-layout {
    width: min(1180px, calc(100% - 36px));
    margin: 24px auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 18px;
    align-items: start;
}
.gallery-upload-form {
    width: 100%;
    margin: 0;
    border-color: rgba(209,10,44,.24);
    background:
        linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,245,240,.88)),
        #fff;
    box-shadow: 0 22px 58px rgba(17,17,17,.11);
}
.gallery-upload-form .section-heading {
    padding: 16px;
    border: 1px solid rgba(209,10,44,.2);
    border-radius: 8px;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(17,17,17,.98), rgba(17,17,17,.84)),
        var(--luxury);
}
.gallery-upload-form .section-heading .eyebrow {
    color: #d10a2c;
}
.gallery-upload-form > label {
    display: grid;
    gap: 6px;
    margin-top: 14px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}
.checkbox-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin: 14px 0;
}
.checkbox-row label {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: var(--ink);
    font-size: 13px;
    font-weight: 800;
}
.checkbox-row input {
    width: auto;
    min-height: 0;
}
.gallery-admin-note {
    position: sticky;
    top: 82px;
    padding: 20px;
    border: 1px solid rgba(209,10,44,.28);
    border-radius: 8px;
    color: #fff;
    background:
        linear-gradient(145deg, rgba(17,17,17,.98), rgba(17,17,17,.82)),
        var(--luxury);
    box-shadow: 0 22px 58px rgba(17,17,17,.16);
}
.gallery-admin-note h2 {
    margin: 0;
    font-size: 28px;
    line-height: 1;
}
.gallery-admin-note p:not(.eyebrow) {
    color: rgba(255,255,255,.72);
}
.gallery-admin-grid {
    width: min(1180px, calc(100% - 36px));
    margin: 16px auto 42px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.gallery-admin-section-title {
    width: min(1180px, calc(100% - 36px));
}
.gallery-admin-card {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(209,10,44,.24);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,245,240,.88)),
        #fff;
    box-shadow: var(--shadow);
}
.gallery-admin-card::before {
    content: "";
    position: absolute;
    inset: -70% auto -70% -55%;
    width: 42%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent);
    transform: skewX(-18deg);
    opacity: 0;
}
.gallery-admin-card:hover::before {
    animation: exportCardShine .72s ease-out;
}
.gallery-admin-card img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
    background: #f7f8f9;
    border: 1px solid rgba(209,10,44,.18);
}
.gallery-admin-card form {
    display: grid;
    gap: 10px;
}
.gallery-admin-card label {
    display: grid;
    gap: 5px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}
.gallery-admin-card textarea {
    min-height: 84px;
}
.gallery-admin-card .button {
    justify-self: start;
    min-width: 96px;
}
.gallery-admin-card > form:last-child {
    margin-top: -4px;
}
.compact-checkboxes {
    margin: 0;
}
.site-footer {
    margin-top: 44px;
    padding: 24px clamp(18px, 4vw, 52px);
    color: rgba(255,255,255,.68);
    border-top: 1px solid rgba(209,10,44,.22);
    background:
        linear-gradient(135deg, rgba(209,10,44,.10), transparent 42%),
        var(--luxury);
}
.footer-inner {
    width: min(1180px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(220px, .95fr) minmax(260px, 1fr) minmax(360px, .9fr);
    gap: 18px;
    align-items: center;
}
.footer-inner nav {
    display: grid;
    grid-template-columns: repeat(4, max-content);
    justify-content: end;
    gap: 8px 14px;
}
.footer-inner a {
    color: rgba(255,255,255,.84);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.1;
    text-decoration: none;
    white-space: nowrap;
}
.footer-inner a:hover {
    color: #d10a2c;
}
.footer-brand {
    display: grid;
    gap: 6px;
}
.footer-brand img {
    width: 104px;
    max-height: 32px;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: .9;
}
.footer-brand span {
    color: rgba(255,255,255,.58);
    font-size: 12px;
}
.footer-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    align-items: center;
    color: rgba(255,255,255,.62);
    font-size: 12px;
}
.footer-contact span {
    color: rgba(255,255,255,.52);
}
.footer-fineprint {
    grid-column: 1 / -1;
    margin: 0;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.46);
    font-size: 11px;
}

@media (max-width: 1180px) {
    .site-header {
        gap: 16px;
        padding: 9px 24px;
    }
    .brand-logo {
        width: 100px;
    }
    .brand-line {
        display: none;
    }
    .site-nav {
        gap: 12px;
    }
    .site-nav a {
        font-size: 13px;
    }
    .section, .page-title, .form-panel, .planner-shell, .proposal-header, .proposal-grid, .prompt-box, .content-grid, .instruction-hero, .dashboard-header, .dashboard-grid, .table-wrap, .empty-state, .login-panel, .filter-row, .product-grid, .video-frame,
    .proposal-cover, .proposal-kpis, .proposal-showcase, .response-steps, .response-grid, .prompt-pack-grid, .gallery-hero, .gallery-intro, .completed-gallery-grid, .gallery-admin-layout, .gallery-admin-grid {
        width: min(1000px, calc(100% - 32px));
    }
    .hero {
        grid-template-columns: minmax(0, 1fr);
        padding: 56px 32px;
    }
    .hero-panel {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-content: stretch;
    }
    .feature-grid, .content-grid, .dashboard-grid, .form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .workflow-strip {
        grid-template-columns: repeat(5, minmax(150px, 1fr));
        overflow-x: auto;
        padding-bottom: 4px;
    }
    .system-priorities {
        grid-template-columns: 1fr;
    }
    .client-intake-hero {
        grid-template-columns: 1fr;
        min-height: 0;
    }
    .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .proposal-equipment-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .palette-copy em {
        display: none;
    }
    .proposal-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .proposal-signature-strip,
    .proposal-journey-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .download-image-grid, .concept-manage-grid, .proposal-concepts, .response-image-band {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .admin-equipment-layout {
        grid-template-columns: 1fr;
        width: min(1000px, calc(100% - 32px));
    }
    .equipment-expert-panel {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1050px) {
    .planner-shell, .prompt-pack-grid, .gallery-hero, .gallery-admin-layout, .admin-login-shell {
        grid-template-columns: 1fr;
    }
    .planner-sidebar { order: 0; }
    .equipment-palette {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-height: none;
    }
    .planner-sidebar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .planner-sidebar.is-project-sidebar {
        grid-template-columns: 1fr 1fr;
        background: linear-gradient(180deg, #fff, #ffffff);
    }
    .planner-sidebar.is-project-sidebar .planner-sidebar-head {
        grid-column: 1;
        grid-row: 1 / 3;
    }
    .planner-sidebar.is-project-sidebar .planner-controls,
    .planner-sidebar.is-project-sidebar .planner-stats {
        padding: 0;
    }
    .planner-sidebar.is-project-sidebar .planner-controls {
        grid-column: 2;
        grid-row: 1;
    }
    .planner-sidebar.is-project-sidebar .planner-stats {
        grid-column: 2;
        grid-row: 2;
    }
    .planner-sidebar.is-project-sidebar .planner-brief.is-compact {
        grid-column: 1 / -1;
        grid-row: 3;
        margin: 0;
    }
    .planner-sidebar-head, .planner-brief { grid-column: 1 / -1; }
    .planner-shell[data-quick-mode="1"] .planner-brief {
        grid-column: 2;
        grid-row: 1 / 3;
    }
    .equipment-panel {
        position: static;
    }
    .planner-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .room-canvas {
        width: min(100%, 760px);
        min-height: 420px;
    }
    .proposal-cover, .proposal-showcase, .instruction-hero {
        flex-direction: column;
        align-items: stretch;
        grid-template-columns: 1fr;
    }
    .equipment-detail-hero {
        grid-template-columns: 1fr;
    }
    .equipment-detail-hero .main-equipment-image {
        min-height: 320px;
    }
    .spec-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .admin-hero {
        align-items: stretch;
        flex-direction: column;
    }
    .users-hero {
        align-items: stretch;
        flex-direction: column;
    }
    .admin-hero-actions {
        justify-content: flex-start;
    }
    .users-hero-actions {
        justify-content: flex-start;
    }
    .admin-metrics,
    .admin-command-grid,
    .pipeline-project-grid,
    .planner-home-metrics,
    .planner-project-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .planner-home-hero,
    .planner-home-grid {
        grid-template-columns: 1fr;
    }
    .intake-readiness,
    .guided-field-grid {
        grid-template-columns: 1fr;
    }
    .planner-home-hero {
        align-items: stretch;
        flex-direction: column;
    }
    .planner-home-actions {
        justify-content: flex-start;
    }
    .planner-workflow-panel {
        position: static;
    }
    .response-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .response-overview-grid {
        grid-template-columns: 1fr;
    }
    .proposal-export-panel {
        grid-template-columns: 1fr;
    }
    .client-hero-panel {
        min-height: 220px;
    }
    .users-admin-grid {
        grid-template-columns: 1fr;
    }
    .gallery-hero {
        min-height: 0;
    }
    .gallery-hero-image {
        min-height: 360px;
    }
    .completed-gallery-grid,
    .gallery-admin-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .gallery-admin-note {
        position: static;
    }
    .admin-login-brand {
        min-height: 360px;
    }
}

@media (max-width: 900px) {
    .nav-toggle { display: inline-flex; min-height: 34px; border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 0 11px; align-items: center; }
    .site-nav { display: none; position: absolute; top: 56px; left: 18px; right: 18px; padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
    .site-nav.open { display: grid; }
    .hero, .planner-shell, .instruction-hero, .proposal-grid, .gallery-hero, .gallery-admin-layout, .admin-login-shell { grid-template-columns: 1fr; }
    .feature-grid, .content-grid, .dashboard-grid, .product-grid, .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .priority-grid {
        grid-template-columns: 1fr;
    }
    .planner-sidebar { order: 0; }
    .admin-equipment-layout {
        grid-template-columns: 1fr;
    }
    .admin-user-form {
        grid-template-columns: 1fr;
    }
    .admin-equipment-switchboard {
        grid-template-columns: 1fr;
    }
    .equipment-list-toolbar,
    .equipment-list-filters {
        grid-template-columns: 1fr;
    }
    .equipment-list-summary {
        text-align: left;
    }
    .admin-section-title {
        align-items: stretch;
        flex-direction: column;
    }
    .proposal-cover, .proposal-showcase {
        flex-direction: column;
        align-items: stretch;
        grid-template-columns: 1fr;
    }
    .proposal-kpis, .proposal-equipment-grid, .proposal-signature-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .equipment-detail-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .equipment-detail-actions .button {
        width: 100%;
    }
    .response-steps, .response-grid, .response-image-band {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .before-after-grid, .proposal-concepts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .prompt-pack-grid {
        grid-template-columns: 1fr;
    }
    .gallery-intro {
        align-items: flex-start;
        flex-direction: column;
    }
    .completed-gallery-card.is-large {
        grid-column: span 1;
        grid-row: span 1;
        min-height: 420px;
    }
    .download-image-grid, .concept-manage-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .qr-label-main,
    .qr-label-specs {
        grid-template-columns: 1fr;
    }
    .qr-code-frame {
        width: min(260px, 100%);
    }
    .footer-inner {
        grid-template-columns: 1fr;
        justify-items: start;
    }
    .footer-inner nav {
        justify-content: flex-start;
    }
    .equipment-palette {
        grid-template-columns: 1fr;
    }
    .planner-sidebar { display: grid; grid-template-columns: 1fr; }
    .planner-sidebar.is-project-sidebar {
        grid-template-columns: 1fr;
        background: #fff;
    }
    .planner-sidebar.is-project-sidebar .planner-sidebar-head {
        grid-column: 1;
        grid-row: auto;
        min-height: 0;
        padding: 14px;
        background: linear-gradient(135deg, #111111, #24282c);
    }
    .planner-sidebar.is-project-sidebar .planner-controls,
    .planner-sidebar.is-project-sidebar .planner-stats {
        grid-column: 1;
        grid-row: auto;
        grid-template-columns: 1fr;
        padding: 0;
    }
    .planner-sidebar.is-project-sidebar .planner-brief.is-compact {
        grid-column: 1;
        grid-row: auto;
    }
    .planner-shell[data-quick-mode="1"] .planner-controls,
    .planner-shell[data-quick-mode="1"] .quick-room-upload,
    .planner-shell[data-quick-mode="1"] .planner-stats,
    .planner-shell[data-quick-mode="1"] .planner-brief {
        grid-column: 1;
        grid-row: auto;
    }
    .planner-brief, .planner-controls {
        grid-template-columns: 1fr;
    }
    .planner-title { align-items: flex-start; flex-direction: column; }
    .planner-prompt summary,
    .prompt-summary-actions {
        align-items: flex-start;
        flex-direction: column;
    }
    .prompt-helper-text {
        min-width: 0;
    }
    .inline-upload-form {
        grid-template-columns: 1fr;
    }
    .equipment-expert-panel, .editor-bar {
        position: static;
    }
    .editor-bar {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 600px) {
    .site-header { padding: 8px 14px; }
    .brand { gap: 9px; }
    .brand-logo { width: 94px; max-height: 32px; }
    .brand small { display: none; }
    .feature-grid, .content-grid, .dashboard-grid, .product-grid, .form-grid { grid-template-columns: 1fr; }
    .workflow-strip {
        margin-top: 18px;
        grid-template-columns: 1fr;
        overflow: visible;
    }
    .form-grid.two-col { grid-template-columns: 1fr; }
    .hero { padding: 42px 18px; }
    .hero h1 { font-size: var(--site-h1-size); }
    .client-intake-hero {
        width: min(100%, calc(100% - 24px));
        padding: 24px;
    }
    .hero-panel {
        grid-template-columns: 1fr;
    }
    .section-heading, .proposal-header, .dashboard-header, .planner-toolbar { align-items: stretch; flex-direction: column; }
    .planner-help, .form-submit-row {
        align-items: stretch;
        flex-direction: column;
    }
    .visual-equipment-card {
        grid-template-columns: 78px minmax(0, 1fr);
    }
    .palette-thumb-wrap {
        width: 78px;
    }
    .palette-actions {
        grid-column: 1 / -1;
        grid-template-columns: auto auto;
        justify-content: start;
    }
    .planner-stats { grid-template-columns: 1fr; }
    .room-canvas { min-height: 280px; }
    .proposal-kpis, .proposal-equipment-grid {
        grid-template-columns: 1fr;
    }
    .spec-strip {
        grid-template-columns: 1fr;
    }
    .equipment-detail-hero {
        padding: 18px;
    }
    .equipment-detail-hero .main-equipment-image {
        min-height: 240px;
    }
    .equipment-price-panel strong {
        font-size: 24px;
    }
    .response-steps, .response-grid, .response-image-band {
        grid-template-columns: 1fr;
    }
    .before-after-grid, .proposal-concepts {
        grid-template-columns: 1fr;
    }
    .download-image-grid, .concept-manage-grid, .proposal-export-actions {
        grid-template-columns: 1fr;
    }
    .completed-gallery-grid,
    .gallery-admin-grid {
        grid-template-columns: 1fr;
    }
    .gallery-hero-image {
        min-height: 300px;
    }
    .admin-login-shell {
        width: min(100%, calc(100% - 24px));
        margin: 18px auto;
    }
    .admin-login-brand {
        min-height: 300px;
        padding: 24px;
    }
    .admin-login-card {
        padding: 24px;
    }
    .proposal-signature-strip,
    .proposal-journey-grid {
        grid-template-columns: 1fr;
    }
    .admin-metrics,
    .admin-command-grid,
    .pipeline-project-grid,
    .planner-home-metrics,
    .planner-project-grid {
        grid-template-columns: 1fr;
    }
    .admin-wide-panel .pipeline-heading {
        align-items: stretch;
        flex-direction: column;
    }
    .pipeline-project-card {
        min-height: 0;
    }
    .admin-list a {
        grid-template-columns: 1fr;
    }
    .admin-user-card {
        grid-template-columns: 44px minmax(0, 1fr);
    }
    .admin-user-card form,
    .admin-user-card .session-pill {
        grid-column: 1 / -1;
        justify-self: start;
    }
    .admin-user-avatar {
        width: 44px;
        height: 44px;
        font-size: 18px;
    }
    .users-hero {
        min-height: 0;
        padding: 24px;
    }
    .site-footer {
        padding: 22px 18px;
    }
    .footer-contact {
        display: grid;
        gap: 5px;
    }
    .qr-label-topline,
    .qr-label-footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media print {
    @page {
        size: A4;
        margin: 8mm;
    }
    .site-header, .site-footer, .skip-link, .proposal-actions, .button, .qr-label-toolbar, .prompt-pack-upload { display: none !important; }
    body {
        background: #fff;
        color: #111111;
        font-size: 10pt;
        line-height: 1.32;
    }
    main { min-height: 0; }
    .proposal-cover,
    .proposal-kpis,
    .proposal-showcase,
    .proposal-signature-strip,
    .proposal-journey,
    .section,
    .response-steps,
    .response-grid,
    .response-prompt {
        width: 100%;
        margin: 0 0 4mm;
    }
    .prompt-pack-cover,
    .prompt-pack-grid,
    .concept-reference-steps {
        width: 100%;
        margin: 0 0 8mm;
    }
    .prompt-pack-grid {
        grid-template-columns: 1fr;
        gap: 7mm;
    }
    .prompt-pack-main,
    .prompt-pack-side,
    .prompt-pack-side figure {
        box-shadow: none;
        break-inside: avoid;
    }
    .prompt-pack-main textarea {
        min-height: 140mm;
        font-size: 9pt;
    }
    .prompt-pack-side {
        grid-template-columns: repeat(2, 1fr);
    }
    .prompt-pack-side h2 {
        grid-column: 1 / -1;
    }
    .proposal-cover {
        min-height: 32mm;
        padding: 6mm 7mm;
        break-after: avoid;
        align-items: flex-end;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .proposal-cover h1 {
        max-width: 170mm;
        font-size: 19pt;
        line-height: 1;
    }
    .proposal-cover p:not(.eyebrow) {
        max-width: 168mm;
        margin: 2mm 0 0;
        font-size: 8.5pt;
        line-height: 1.25;
    }
    .proposal-cover .eyebrow {
        margin-bottom: 2mm;
        font-size: 7pt;
    }
    .proposal-cover-meta {
        gap: 1.5mm;
        margin-top: 3mm;
    }
    .proposal-cover-meta span {
        padding: 1.3mm 2.2mm;
        font-size: 6.5pt;
    }
    .proposal-kpis {
        grid-template-columns: repeat(5, 1fr);
        gap: 1.5mm;
        margin-bottom: 4mm;
    }
    .proposal-kpis div {
        padding: 2mm;
        box-shadow: none;
    }
    .proposal-kpis span {
        font-size: 6.3pt;
    }
    .proposal-kpis strong {
        margin-top: 1mm;
        font-size: 9pt;
    }
    .proposal-transformation {
        padding: 3.5mm;
        margin-bottom: 4mm;
        box-shadow: none;
        break-inside: avoid;
    }
    .proposal-transformation .section-heading {
        margin-bottom: 2.5mm;
    }
    .proposal-transformation .eyebrow {
        margin-bottom: 1mm;
        font-size: 6.5pt;
    }
    .proposal-transformation h2 {
        max-width: 178mm;
        font-size: 24pt;
        line-height: 1.05;
    }
    .transformation-grid {
        gap: 3mm;
    }
    .transformation-grid article {
        min-height: 0;
        padding: 2mm;
        box-shadow: none;
    }
    .transformation-grid article p {
        margin: 1mm 0 0;
        font-size: 6.8pt;
        line-height: 1.2;
    }
    .image-stage-label {
        top: 3.5mm;
        left: 3.5mm;
        font-size: 6.5pt;
        padding: 1mm 2mm;
    }
    .transformation-grid img,
    .transformation-grid .empty-photo {
        min-height: 0;
        max-height: 82mm;
    }
    .before-reference-stack,
    .after-reference-stack {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5mm;
    }
    .before-reference-stack figcaption,
    .after-reference-stack figcaption {
        margin-top: .7mm;
        font-size: 5.8pt;
    }
    .before-reference-stack img,
    .after-reference-stack img {
        min-height: 0;
        max-height: 78mm;
    }
    .before-after-grid img {
        aspect-ratio: 4 / 3;
    }
    .proposal-signature-strip {
        grid-template-columns: repeat(3, 1fr);
        gap: 5mm;
    }
    .proposal-journey-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 5mm;
    }
    .proposal-kpis div,
    .proposal-room-card,
    .proposal-summary-card,
    .proposal-equipment-card,
    .before-after-grid article {
        box-shadow: none;
        break-inside: avoid;
    }
    .proposal-showcase,
    .before-after-grid {
        grid-template-columns: 1fr 1fr;
        gap: 5mm;
    }
    .proposal-equipment-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 4mm;
    }
    .proposal-equipment-card img,
    .before-after-grid img,
    .proposal-photo {
        max-height: 78mm;
        object-fit: cover;
    }
    .proposal-concepts {
        grid-template-columns: repeat(2, 1fr);
    }
    .response-steps,
    .response-grid,
    .response-image-band {
        grid-template-columns: repeat(2, 1fr);
        gap: 6mm;
    }
    .response-concept-showcase {
        display: block;
    }
    .response-concept-showcase figure {
        margin-bottom: 8mm;
        box-shadow: none;
        break-inside: avoid;
    }
    .response-concept-showcase img {
        width: 100%;
        max-height: 170mm;
    }
    .response-equipment-band {
        grid-template-columns: repeat(4, 23%);
    }
    .response-equipment-band img {
        width: 24mm;
        height: 24mm;
    }
    .response-panel,
    .response-steps article,
    .response-image-band figure {
        box-shadow: none;
        break-inside: avoid;
    }
    .prompt-box { display: none; }
    .response-prompt { display: none; }
    .qr-print-sheet {
        width: 100%;
        margin: 0;
        padding: 0;
        background: #fff;
    }
    .qr-wall-label {
        min-height: 250mm;
        padding: 16mm;
        box-shadow: none;
        break-inside: avoid;
    }
    .qr-label-main {
        grid-template-columns: 1fr 62mm;
    }
}

/* Keiser NZ visual refresh */
:root {
    --ink: #111111;
    --muted: #687078;
    --line: #e1e4e6;
    --paper: #f4f5f6;
    --panel: #ffffff;
    --keiser-red: #d10a2c;
    --keiser-red-dark: #a90722;
    --keiser-black: #111111;
    --keiser-charcoal: #24282c;
    --keiser-steel: #c9ced3;
    --keiser-steel-soft: #eef0f2;
    --keiser-red-soft: #fff1f3;
    --status-neutral-bg: var(--keiser-steel-soft);
    --status-neutral-fg: var(--keiser-black);
    --status-attention-bg: var(--keiser-red-soft);
    --status-attention-fg: var(--keiser-red-dark);
    --status-complete-bg: var(--keiser-black);
    --status-complete-fg: #fff;
    --cat-hue: 350;
    --preview-colour: var(--keiser-red);
    --item-colour: var(--keiser-black);
    --room-ratio: 1 / 1;
    --placed-label-font: 10px;
    --accent: #d10a2c;
    --accent-dark: #a90722;
    --danger: #d10a2c;
    --shadow: 0 22px 58px rgba(17, 17, 17, .1);
    --luxury: #111111;
    --luxury-soft: #24282c;
    --keiser-steel: #c9ced3;
    --site-h1-size: clamp(34px, 5vw, 62px);
}

body {
    font-family: Arial, Helvetica, sans-serif;
    color: var(--ink);
    background:
        linear-gradient(180deg, #ffffff 0, #f4f5f6 520px),
        var(--paper);
}

main {
    background:
        linear-gradient(180deg, rgba(255,255,255,.8), rgba(244,245,246,.96) 360px),
        var(--paper);
}

.site-header {
    min-height: 72px;
    padding: 14px clamp(18px, 4vw, 52px);
    background: rgba(17, 17, 17, .96);
    border-bottom: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 16px 44px rgba(0,0,0,.2);
    backdrop-filter: blur(18px);
}

.brand-logo {
    width: clamp(132px, 15vw, 200px);
    max-height: 34px;
    filter: brightness(0) invert(1);
}

.brand-line {
    border-left-color: rgba(255,255,255,.18);
    color: rgba(255,255,255,.62);
    letter-spacing: .08em;
}

.site-nav {
    gap: 8px;
}

.site-nav a {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    padding: 0 13px;
    border-radius: 4px;
    color: rgba(255,255,255,.7);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.site-nav a:hover {
    color: #fff;
    background: rgba(255,255,255,.08);
}

.site-nav a.active {
    background: var(--accent);
    color: #fff;
}

.nav-toggle {
    color: #fff;
}

.hero {
    min-height: min(760px, calc(100vh - 72px));
    grid-template-columns: minmax(0, 1fr) minmax(270px, 390px);
    align-items: end;
    padding: clamp(78px, 10vw, 132px) clamp(18px, 5vw, 70px) clamp(44px, 7vw, 82px);
    background:
        linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.58) 46%, rgba(0,0,0,.18) 100%),
        url("../images/keiser-hero-performance.jpg") center/cover;
    color: #fff;
}

.hero h1 {
    max-width: 820px;
    margin-bottom: 18px;
    font-weight: 900;
    line-height: 1;
    text-transform: none;
}

.hero h1 span,
.section-heading h2 span,
.system-priorities h2 span,
.proposal-cover h1 span,
.Cta__Title span {
    color: var(--accent);
}

.hero p {
    max-width: 720px;
    color: rgba(255,255,255,.82);
    font-size: clamp(17px, 2vw, 22px);
}

.eyebrow,
.SmallCaps,
.product-status,
.project-status {
    color: var(--accent);
    letter-spacing: .1em;
}

.hero .eyebrow {
    color: #fff;
}

.button,
button,
input[type="submit"] {
    border-radius: 4px;
    transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.button,
.button.primary,
input[type="submit"] {
    border-color: var(--accent);
    background: var(--accent);
    color: #fff;
}

.button:hover,
input[type="submit"]:hover {
    background: var(--accent-dark);
    border-color: var(--accent-dark);
    box-shadow: 0 14px 30px rgba(209,10,44,.22);
}

.button.ghost,
.button.hollow,
.hero .button.ghost {
    border-color: rgba(255,255,255,.62);
    background: transparent;
    color: #fff;
}

.section .button.ghost,
.form-panel .button.ghost,
.table-wrap .button.ghost,
.planner-shell .button.ghost,
.admin-panel .button.ghost {
    border-color: #c9ced3;
    color: var(--ink);
}

.metric {
    border-radius: 4px;
    border-color: rgba(255,255,255,.2);
    background: rgba(17,17,17,.72);
    backdrop-filter: blur(12px);
}

.metric span {
    color: var(--keiser-steel);
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.metric strong {
    color: #fff;
}

.workflow-strip article,
.feature-grid article,
.content-grid article,
.proposal-grid article,
.dashboard-grid a,
.form-panel,
.login-panel,
.empty-state,
.product-card,
.proposal-equipment-card,
.proposal-room-card,
.proposal-summary-card,
.planner-project-card,
.admin-panel,
.table-wrap,
.filter-row {
    border-radius: 4px;
    border-color: var(--line);
    background: #fff;
    box-shadow: 0 18px 46px rgba(17,17,17,.08);
}

.workflow-strip article:hover,
.feature-grid article:hover,
.content-grid article:hover,
.proposal-grid article:hover,
.dashboard-grid a:hover,
.product-card:hover,
.planner-project-card:hover,
.admin-panel:hover {
    border-color: rgba(209,10,44,.35);
    box-shadow: 0 24px 62px rgba(17,17,17,.12);
}

.workflow-strip span {
    border-radius: 4px;
    background: var(--accent);
}

.section-heading h2,
.page-title h1,
.dashboard-header h1,
.proposal-header h1,
.planner-home-hero h2,
.client-intake-hero h1 {
    font-weight: 900;
    line-height: .98;
}

.system-priorities,
.client-intake-hero,
.planner-home-hero,
.planner-title,
.proposal-cover,
.instruction-hero,
.gallery-hero,
.admin-hero,
.users-hero,
.admin-login-brand {
    border-radius: 4px;
    background:
        linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.62)),
        url("../images/keiser-a400-deadlift.png") center/cover;
    color: #fff;
    box-shadow: 0 30px 82px rgba(17,17,17,.18);
}

.planner-home-hero,
.planner-title {
    background:
        linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.58)),
        url("../images/keiser-cycling-studio.jpg") center/cover;
}

.gallery-hero,
.proposal-cover {
    background:
        linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.52)),
        url("../images/keiser-health-club.jpg") center/cover;
}

.system-priorities p:not(.eyebrow),
.client-intake-hero p:not(.eyebrow),
.planner-home-hero p:not(.eyebrow),
.planner-title .muted-copy,
.planner-title p:not(.eyebrow),
.proposal-cover p:not(.eyebrow),
.instruction-hero p,
.gallery-hero p,
.admin-hero p,
.users-hero p {
    color: rgba(255,255,255,.76);
}

.priority-grid article,
.client-hero-panel {
    border-radius: 4px;
    border-color: rgba(255,255,255,.14);
    background: rgba(255,255,255,.08);
}

.priority-grid strong,
.client-hero-panel span {
    color: #fff;
}

.product-card img,
.equipment-thumb img,
.main-equipment-image img,
.completed-gallery-card img,
.proposal-photo,
.response-image-band img,
.gallery-hero-image img {
    border-radius: 4px;
}

.product-card,
.equipment-detail-hero,
.proposal-equipment-card {
    overflow: hidden;
}

.product-card::after,
.proposal-equipment-card::after,
.planner-project-card::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: var(--accent);
    opacity: .85;
}

input,
select,
textarea {
    border-radius: 4px;
    border-color: #cfd4d8;
    background: #fff;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(209,10,44,.12);
}

.site-footer {
    background:
        linear-gradient(180deg, #151515, #050505);
    border-top: 4px solid var(--accent);
}

.footer-brand img {
    width: 150px;
    filter: brightness(0) invert(1);
}

.footer-inner nav a:hover,
.footer-contact a:hover {
    color: #fff;
}

/* Final contrast guard: white panels must use dark readable text */
.planner-sidebar,
.planner-main,
.equipment-panel,
.prompt-box,
.planner-help,
.warnings,
.form-panel,
.login-panel,
.table-wrap,
.filter-row,
.admin-panel,
.product-card,
.proposal-grid article,
.proposal-equipment-card,
.proposal-room-card,
.proposal-summary-card,
.response-panel,
.gallery-admin-card,
.completed-gallery-card {
    color: var(--ink);
}

.planner-sidebar label,
.planner-sidebar p,
.planner-sidebar span,
.planner-sidebar .planner-brief label,
.planner-sidebar .planner-controls label,
.planner-sidebar .planner-stats span,
.planner-sidebar .quick-room-upload,
.planner-sidebar .quick-room-upload span,
.planner-main p,
.planner-main span,
.equipment-panel label,
.equipment-panel span,
.prompt-box summary,
.prompt-box span,
.prompt-box p,
.form-panel label,
.form-panel p,
.admin-panel p,
.admin-panel span,
.product-card p,
.product-card span {
    color: var(--muted);
}

.planner-sidebar h1,
.planner-sidebar h2,
.planner-sidebar h3,
.planner-sidebar strong,
.planner-sidebar .planner-stats strong,
.planner-main h1,
.planner-main h2,
.planner-main h3,
.planner-main strong,
.equipment-panel h1,
.equipment-panel h2,
.equipment-panel h3,
.equipment-panel strong,
.prompt-box h1,
.prompt-box h2,
.prompt-box h3,
.prompt-box strong,
.form-panel h1,
.form-panel h2,
.form-panel h3,
.form-panel strong,
.admin-panel h1,
.admin-panel h2,
.admin-panel h3,
.admin-panel strong,
.product-card h1,
.product-card h2,
.product-card h3,
.product-card strong {
    color: var(--ink);
}

.planner-sidebar input,
.planner-sidebar textarea,
.planner-sidebar select,
.planner-main input,
.planner-main textarea,
.planner-main select,
.equipment-panel input,
.equipment-panel textarea,
.equipment-panel select,
.prompt-box textarea {
    color: var(--ink);
    background: #fff;
}

.planner-main .planner-toolbar {
    background:
        linear-gradient(135deg, rgba(17,17,17,.96), rgba(17,17,17,.82)),
        var(--luxury);
    color: #fff;
}

.planner-main .planner-toolbar .button,
.planner-main .planner-toolbar .button.ghost,
.planner-main .planner-toolbar a,
.planner-main .planner-toolbar button {
    color: #fff;
}

.planner-main .planner-toolbar span,
.planner-main .planner-toolbar p,
.planner-main .planner-toolbar strong {
    color: rgba(255,255,255,.78);
}

.planner-title,
.planner-title p,
.planner-title span,
.planner-title h1,
.planner-title .eyebrow {
    color: #fff;
}

/* Keiser AU-inspired public chrome */
:root {
    --site-h1-size: clamp(42px, 7vw, 104px);
    --keiser-header-height: var(--header-height);
}

body {
    background: #fff;
}

main {
    min-height: calc(100vh - var(--keiser-header-height));
}

.site-header {
    position: fixed;
    left: 0;
    right: 0;
    min-height: var(--keiser-header-height);
    padding: 0 clamp(18px, 4vw, 58px);
    background: #111;
    border-bottom: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 14px 34px rgba(0,0,0,.18);
    backdrop-filter: none;
}

.brand {
    gap: 0;
    color: var(--keiser-red);
}

.brand-lockup {
    display: grid;
    gap: 2px;
    align-items: start;
}

.brand-logo {
    width: 150px;
    max-height: 28px;
    filter: invert(13%) sepia(94%) saturate(4308%) hue-rotate(339deg) brightness(89%) contrast(98%);
}

.brand-country {
    color: #8a8a8d;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .24em;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.site-nav {
    gap: clamp(18px, 2.4vw, 34px);
    margin-left: auto;
}

.site-nav a,
.site-nav .nav-top {
    min-height: var(--keiser-header-height);
    display: inline-flex;
    align-items: center;
    padding: 0;
    border-radius: 0;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: none;
}

.nav-menu,
.nav-menu a,
.nav-menu strong,
.nav-menu small {
    font-family: var(--typeface-body);
}

.site-nav a:hover,
.site-nav .nav-top:hover,
.site-nav a.active,
.site-nav .nav-top.active {
    background: transparent;
    color: var(--keiser-red);
}

.has-dropdown > .nav-top::after {
    content: "";
    width: 7px;
    height: 7px;
    margin-left: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
}

.nav-menu {
    top: calc(100% - 1px);
    left: 50%;
    width: min(780px, calc(100vw - 36px));
    padding: 22px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 0 0 6px 6px;
    background: #111;
    box-shadow: 0 26px 80px rgba(0,0,0,.36);
    transform: translateX(-50%);
}

.nav-menu-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
}

.nav-menu-compact {
    width: 360px;
    grid-template-columns: 1fr;
}

.site-nav .nav-menu a {
    min-height: auto;
    display: grid;
    gap: 5px;
    padding: 14px;
    border-radius: 5px;
    color: #fff;
    line-height: 1.25;
}

.site-nav .nav-menu a:hover {
    background: rgba(255,255,255,.08);
    color: #fff;
}

.site-nav .nav-menu strong {
    color: #fff;
    font-size: 14px;
}

.site-nav .nav-menu small {
    color: rgba(255,255,255,.62);
    font-size: 12px;
    font-weight: 700;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: clamp(14px, 2vw, 30px);
}

.header-actions a {
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.header-sales {
    color: var(--keiser-red) !important;
}

.header-icon {
    width: 34px;
    height: 34px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;
    color: transparent !important;
    position: relative;
}

.header-icon::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 9px;
    width: 10px;
    height: 10px;
    border: 2px solid #fff;
    border-radius: 50%;
}

.header-icon::after {
    content: "";
    position: absolute;
    left: 21px;
    top: 21px;
    width: 8px;
    height: 2px;
    background: #fff;
    transform: rotate(45deg);
    transform-origin: left center;
}

.header-quote {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    padding: 0 15px;
    border: 1px solid var(--keiser-red);
    background: var(--keiser-red);
}

.video-hero {
    position: relative;
    min-height: calc(100vh - var(--keiser-header-height));
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: end;
    padding: clamp(110px, 17vh, 190px) clamp(18px, 5vw, 76px) clamp(58px, 9vh, 110px);
    background: #111;
    isolation: isolate;
}

.hero-video,
.hero-video-overlay {
    position: absolute;
    inset: 0;
}

.hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
}

.hero-video-overlay {
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.46) 45%, rgba(0,0,0,.28) 100%),
        linear-gradient(0deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,0) 42%);
}

.video-hero .hero-copy {
    max-width: 980px;
    width: min(1340px, calc(100% - 32px));
    margin-left: auto;
    margin-right: auto;
    transform: translateX(-100px);
}

.video-hero .eyebrow {
    color: #fff;
    font-size: 13px;
    letter-spacing: .18em;
}

.video-hero h1 {
    max-width: 980px;
    margin-bottom: 22px;
    color: #fff;
    font-size: clamp(40px, 6vw, 76px);
    font-weight: 900;
    line-height: .94;
    text-transform: uppercase;
}

.video-hero p:not(.eyebrow) {
    max-width: 760px;
    color: rgba(255,255,255,.86);
    font-size: clamp(18px, 2vw, 26px);
    line-height: 1.35;
}

.video-hero .hero-panel {
    width: min(var(--max-width), calc(100% - 32px));
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 36px auto 0;
}

.video-hero .metric {
    border-radius: 5px;
    background: rgba(17,17,17,.62);
    backdrop-filter: blur(10px);
}

.button {
    border-radius: 5px;
    text-transform: none;
}

.button.primary {
    background: var(--keiser-red);
    border-color: var(--keiser-red);
}

.button.primary:hover {
    background: var(--keiser-red-dark);
    border-color: var(--keiser-red-dark);
}

.section,
.page-title,
.form-panel,
.planner-shell,
.proposal-header,
.proposal-grid,
.prompt-box,
.content-grid,
.instruction-hero,
.dashboard-header,
.dashboard-grid,
.table-wrap,
.empty-state,
.login-panel,
.filter-row,
.product-grid,
.video-frame {
    width: min(1280px, calc(100% - 40px));
}

@media (max-width: 1180px) {
    .site-header {
        gap: 14px;
    }

    .site-nav {
        gap: 16px;
    }

    .header-sales {
        display: none;
    }
}

@media (max-width: 980px) {
    :root {
        --keiser-header-height: 64px;
    }

    .site-header {
        min-height: var(--keiser-header-height);
    }

    .brand-logo {
        width: 132px;
    }

    .nav-toggle {
        min-height: 38px;
        display: inline-flex;
        align-items: center;
        margin-left: auto;
        padding: 0 13px;
        border: 1px solid rgba(255,255,255,.2);
        border-radius: 5px;
        background: transparent;
        color: #fff;
        font-weight: 900;
    }

    .site-nav {
        position: fixed;
        left: 0;
        right: 0;
        top: var(--keiser-header-height);
        display: none;
        max-height: calc(100vh - var(--keiser-header-height));
        overflow: auto;
        padding: 10px 18px 22px;
        border-top: 1px solid rgba(255,255,255,.12);
        background: #111;
    }

    .site-nav.open {
        display: grid;
        gap: 0;
    }

    .site-nav a,
    .site-nav .nav-top {
        min-height: 48px;
        width: 100%;
    }

    .nav-item {
        display: grid;
        width: 100%;
    }

    .nav-menu {
        position: static;
        display: grid;
        width: 100%;
        padding: 0 0 12px 12px;
        border: 0;
        border-left: 1px solid rgba(255,255,255,.16);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        transform: none;
    }

    .nav-menu-panel {
        grid-template-columns: 1fr;
    }

    .header-actions {
        display: none;
    }

    .video-hero {
        min-height: calc(100vh - var(--keiser-header-height));
        padding-top: 96px;
    }

    .video-hero .hero-panel {
        grid-template-columns: 1fr;
        width: 100%;
    }
}

@media (max-width: 620px) {
    :root {
        --site-h1-size: clamp(38px, 14vw, 62px);
    }

    .site-header {
        padding: 0 14px;
    }

    .brand-logo {
        width: 118px;
    }

    .brand-country {
        font-size: 8px;
    }

    .video-hero {
        padding: 82px 18px 34px;
    }
}

/* Keiser NZ platform additions */
.platform-hero {
    min-height: 540px;
    align-items: end;
}

.solutions-hero {
    background:
        linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.54)),
        linear-gradient(135deg, rgba(209,10,44,.34), transparent 58%),
        url("../images/keiser-a400-deadlift.png") center/cover;
}

.education-hero {
    background:
        linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.52)),
        linear-gradient(135deg, rgba(209,10,44,.32), transparent 58%),
        url("../images/keiser-cycling-studio.jpg") center/cover;
}

.difference-hero,
.about-hero,
.sector-detail-hero {
    background:
        linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.52)),
        linear-gradient(135deg, rgba(209,10,44,.32), transparent 58%),
        url("../images/keiser-health-club.jpg") center/cover;
}

.equipment-category-hero {
    background:
        linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.52)),
        linear-gradient(135deg, rgba(209,10,44,.32), transparent 58%),
        url("../images/keiser-a400-deadlift.png") center/cover;
}

.sector-detail-intro {
    display: grid;
    grid-template-columns: minmax(280px, .95fr) minmax(280px, .65fr);
    gap: 22px;
    align-items: start;
}

.sector-detail-card {
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}

.sector-detail-card ul {
    margin-bottom: 0;
}

.section-action {
    flex: 0 0 auto;
}

.section-action-group {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.platform-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.platform-grid article,
.solution-grid article,
.consult-steps article,
.education-stack article {
    position: relative;
    overflow: hidden;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}

.platform-grid h2,
.solution-grid h3,
.education-panel h2,
.demo-cta h2 {
    margin: 0;
    line-height: 1.08;
}

.platform-grid p,
.solution-grid p,
.consult-steps span,
.education-stack span,
.education-panel p,
.demo-cta p {
    color: var(--muted);
}

.platform-grid .button {
    justify-self: start;
    margin-top: 8px;
}

.solution-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.solution-grid article span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: var(--keiser-red);
    color: #fff;
    font-weight: 900;
}

.consult-band,
.education-panel,
.demo-cta {
    display: grid;
    grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr);
    gap: 24px;
    align-items: start;
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(17,17,17,.12);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}

.consult-band {
    color: #fff;
    background:
        linear-gradient(135deg, rgba(17,17,17,.96), rgba(17,17,17,.86)),
        var(--keiser-black);
}

.consult-band .eyebrow,
.consult-band h2 {
    color: #fff;
}

.consult-steps,
.education-stack {
    display: grid;
    gap: 12px;
}

.consult-steps article {
    border-color: rgba(255,255,255,.16);
    background: rgba(255,255,255,.08);
    color: #fff;
    box-shadow: none;
}

.consult-steps span {
    display: block;
    margin-top: 6px;
    color: rgba(255,255,255,.72);
}

.education-focus-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.demo-cta {
    align-items: center;
}

.demo-cta .hero-actions {
    justify-content: flex-end;
    margin-top: 0;
}

@media (max-width: 1000px) {
    .platform-grid,
    .solution-grid,
    .education-focus-grid,
    .sector-tile-grid,
    .difference-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .category-strip-grid,
    .showcase-list,
    .education-article-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .platform-grid,
    .solution-grid,
    .education-focus-grid,
    .sector-tile-grid,
    .category-strip-grid,
    .showcase-list,
    .education-article-grid,
    .difference-grid,
    .consult-band,
    .education-panel,
    .demo-cta,
    .proof-band,
    .proof-grid,
    .final-cta,
    .sector-detail-intro {
        grid-template-columns: 1fr;
    }

    .demo-cta .hero-actions,
    .final-cta .hero-actions {
        justify-content: flex-start;
    }
}

/* Keiser themed room planner canvas */
.room-wrap {
    position: relative;
    overflow: auto;
    padding: clamp(14px, 2vw, 22px);
    border: 1px solid rgba(209,10,44,.34);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(17,17,17,.96), rgba(36,40,44,.92)),
        radial-gradient(circle at top right, rgba(209,10,44,.28), transparent 34%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 42px rgba(17,17,17,.12);
}

.room-canvas {
    background-color: #ffffff;
    background-size: 40px 40px;
    background-image:
        linear-gradient(to right, rgba(17,17,17,.08) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(17,17,17,.08) 1px, transparent 1px),
        linear-gradient(to right, rgba(209,10,44,.09) 2px, transparent 2px),
        linear-gradient(to bottom, rgba(209,10,44,.09) 2px, transparent 2px);
    border: 4px solid #111;
    border-radius: 8px;
    box-shadow:
        0 0 0 1px rgba(255,255,255,.18),
        0 24px 56px rgba(0,0,0,.26);
}

.room-canvas::after {
    color: rgba(17,17,17,.46);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.floor-boundary-editor:not(.is-editable) .floor-boundary-polygon {
    stroke: rgba(17,17,17,.48);
}

.floor-boundary-polygon {
    fill: rgba(209,10,44,.055);
    stroke: rgba(17,17,17,.94);
}

.floor-boundary-hatch-line {
    stroke: rgba(209,10,44,.62);
}

.floor-boundary-handle {
    fill: var(--keiser-red);
    stroke: #fff;
    filter: drop-shadow(0 3px 8px rgba(17,17,17,.34));
}

.floor-boundary-handle:hover,
.floor-boundary-handle:focus {
    fill: #fff;
    stroke: var(--keiser-red);
}

.placed-item {
    border-color: #111;
    background: #eef0f2;
    color: #111;
    box-shadow: 0 8px 18px rgba(17,17,17,.16);
}

.placed-item.active,
.placed-item.selected {
    border-color: var(--keiser-red);
    box-shadow: 0 0 0 3px rgba(209,10,44,.18), 0 10px 22px rgba(17,17,17,.18);
}

.placed-item.invalid {
    border-color: var(--keiser-red);
    background: var(--keiser-red-soft);
}

.placed-item.invalid .placed-item-name {
    background: rgba(209,10,44,.92);
}

.placed-item::after {
    background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(17,17,17,.04) 46%, rgba(17,17,17,.38));
}

.placed-item-name {
    background: rgba(17,17,17,.82);
    color: #fff;
}

.placed-item button {
    background: #111;
    color: #fff;
}

.placed-item .rotate-btn {
    background: var(--keiser-red);
    color: #fff;
}

.warnings p {
    border-color: rgba(209,10,44,.24);
    background: var(--keiser-red-soft);
    color: var(--keiser-red-dark);
}

.room-dimension-labels {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 4;
}

.room-dimension-label {
    position: absolute;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 8px;
    border: 1px solid rgba(209,10,44,.45);
    border-radius: 4px;
    background: rgba(17,17,17,.86);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .05em;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(0,0,0,.22);
}

.room-dimension-label--width {
    left: 50%;
    top: 8px;
    transform: translateX(-50%);
}

.room-dimension-label--length {
    top: 50%;
    right: 0;
    transform: translate(38%, -50%) rotate(90deg);
    transform-origin: center center;
}

.room-dimension-label--height {
    left: 50%;
    bottom: 8px;
    transform: translateX(-50%);
    border-color: rgba(255,255,255,.22);
    background: var(--keiser-red);
}

/* Final contrast guard: white panels must use dark readable text */
.planner-sidebar,
.planner-main,
.equipment-panel,
.prompt-box,
.planner-help,
.warnings,
.form-panel,
.login-panel,
.table-wrap,
.filter-row,
.admin-panel,
.product-card,
.proposal-grid article,
.proposal-equipment-card,
.proposal-room-card,
.proposal-summary-card,
.response-panel,
.gallery-admin-card,
.completed-gallery-card {
    color: var(--ink);
}

.planner-sidebar label,
.planner-sidebar p,
.planner-sidebar span,
.planner-sidebar .planner-brief label,
.planner-sidebar .planner-controls label,
.planner-sidebar .planner-stats span,
.planner-sidebar .quick-room-upload,
.planner-sidebar .quick-room-upload span,
.planner-main p,
.planner-main span,
.equipment-panel label,
.equipment-panel span,
.prompt-box summary,
.prompt-box span,
.prompt-box p,
.form-panel label,
.form-panel p,
.admin-panel p,
.admin-panel span,
.product-card p,
.product-card span {
    color: var(--muted);
}

.planner-sidebar h1,
.planner-sidebar h2,
.planner-sidebar h3,
.planner-sidebar strong,
.planner-sidebar .planner-stats strong,
.planner-main h1,
.planner-main h2,
.planner-main h3,
.planner-main strong,
.equipment-panel h1,
.equipment-panel h2,
.equipment-panel h3,
.equipment-panel strong,
.prompt-box h1,
.prompt-box h2,
.prompt-box h3,
.prompt-box strong,
.form-panel h1,
.form-panel h2,
.form-panel h3,
.form-panel strong,
.admin-panel h1,
.admin-panel h2,
.admin-panel h3,
.admin-panel strong,
.product-card h1,
.product-card h2,
.product-card h3,
.product-card strong {
    color: var(--ink);
}

.planner-sidebar input,
.planner-sidebar textarea,
.planner-sidebar select,
.planner-main input,
.planner-main textarea,
.planner-main select,
.equipment-panel input,
.equipment-panel textarea,
.equipment-panel select,
.prompt-box textarea {
    color: var(--ink);
    background: #fff;
}

.planner-main .planner-toolbar {
    background:
        linear-gradient(135deg, rgba(17,17,17,.96), rgba(17,17,17,.82)),
        var(--luxury);
    color: #fff;
}

.planner-main .planner-toolbar .button,
.planner-main .planner-toolbar .button.ghost,
.planner-main .planner-toolbar a,
.planner-main .planner-toolbar button {
    color: #fff;
}

.planner-main .planner-toolbar span,
.planner-main .planner-toolbar p,
.planner-main .planner-toolbar strong {
    color: rgba(255,255,255,.78);
}

.planner-title,
.planner-title p,
.planner-title span,
.planner-title h1,
.planner-title .eyebrow {
    color: #fff;
}

img:not([src]),
img[src=""],
img.is-missing-image {
    display: none !important;
}

/* Contrast pass for white work surfaces */
.form-panel,
.login-panel,
.empty-state,
.planner-sidebar,
.planner-main,
.equipment-panel,
.prompt-box,
.table-wrap,
.filter-row,
.planner-projects-panel,
.planner-workflow-panel,
.planner-brief,
.planner-controls,
.planner-stats,
.quick-room-upload,
.equipment-palette,
.palette-item,
.room-canvas,
.warnings,
.planner-help,
.product-card,
.equipment-detail-hero,
.proposal-grid article,
.proposal-equipment-card,
.proposal-room-card,
.proposal-summary-card,
.response-panel,
.admin-panel,
.gallery-admin-card,
.completed-gallery-card {
    color: var(--ink);
}

.form-panel label,
.form-panel p,
.login-panel label,
.login-panel p,
.planner-sidebar label,
.planner-sidebar p,
.planner-sidebar span,
.planner-sidebar .planner-brief label,
.planner-sidebar .planner-controls label,
.planner-sidebar .planner-stats span,
.planner-sidebar .quick-room-upload,
.planner-sidebar .quick-room-upload span,
.planner-main p,
.planner-main span,
.equipment-panel label,
.equipment-panel span,
.prompt-box summary,
.prompt-box span,
.prompt-box p,
.product-card p,
.product-card span,
.admin-panel p,
.admin-panel span,
.table-wrap p,
.table-wrap span {
    color: var(--muted);
}

.form-panel h1,
.form-panel h2,
.form-panel h3,
.planner-sidebar h1,
.planner-sidebar h2,
.planner-sidebar h3,
.planner-sidebar strong,
.planner-sidebar .planner-stats strong,
.planner-main h1,
.planner-main h2,
.planner-main h3,
.equipment-panel h1,
.equipment-panel h2,
.equipment-panel h3,
.equipment-panel strong,
.prompt-box h1,
.prompt-box h2,
.prompt-box h3,
.prompt-box strong,
.product-card h1,
.product-card h2,
.product-card h3,
.product-card strong,
.admin-panel h1,
.admin-panel h2,
.admin-panel h3,
.admin-panel strong {
    color: var(--ink);
}

.planner-sidebar input,
.planner-sidebar textarea,
.planner-sidebar select,
.planner-main input,
.planner-main textarea,
.planner-main select,
.equipment-panel input,
.equipment-panel textarea,
.equipment-panel select,
.prompt-box textarea {
    color: var(--ink);
    background: #fff;
}

.planner-main .planner-toolbar {
    background:
        linear-gradient(135deg, rgba(17,17,17,.96), rgba(17,17,17,.82)),
        var(--luxury);
    color: #fff;
}

.planner-main .planner-toolbar .button,
.planner-main .planner-toolbar .button.ghost {
    color: #fff;
}

.planner-main .planner-toolbar span,
.planner-main .planner-toolbar p,
.planner-main .planner-toolbar strong {
    color: rgba(255,255,255,.78);
}

.planner-title,
.planner-title p,
.planner-title span,
.planner-title h1,
.planner-title .eyebrow {
    color: #fff;
}

@media (max-width: 900px) {
    .nav-toggle {
        display: inline-flex;
        align-items: center;
        min-height: 38px;
        border-color: rgba(255,255,255,.18);
        background: rgba(255,255,255,.08);
        color: #fff;
    }

    .site-nav {
        top: 64px;
        background: #111;
        border-color: rgba(255,255,255,.12);
    }

    .nav-item {
        display: grid;
        width: 100%;
    }

    .nav-menu {
        position: static;
        display: grid;
        width: 100%;
        margin: 0 0 8px;
        padding: 6px 0 6px 12px;
        border: 0;
        border-left: 1px solid rgba(255,255,255,.16);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .hero {
        min-height: 660px;
        grid-template-columns: 1fr;
        background-position: 62% center;
    }
}

@media (max-width: 600px) {
    :root {
        --site-h1-size: clamp(30px, 8vw, 44px);
    }

    .site-header {
        min-height: 62px;
    }

    .brand-logo {
        width: 126px;
    }

    .hero {
        min-height: 600px;
        padding: 64px 18px 34px;
    }
}

/* Keiser palette enforcement: red, white, black, and neutral steel */
:root {
    --ink: #111111;
    --muted: #687078;
    --line: #e1e4e6;
    --paper: #f4f5f6;
    --panel: #ffffff;
    --keiser-red: #d10a2c;
    --keiser-red-dark: #a90722;
    --keiser-black: #111111;
    --keiser-charcoal: #24282c;
    --keiser-steel: #c9ced3;
    --keiser-steel-soft: #eef0f2;
    --keiser-red-soft: #fff1f3;
    --status-neutral-bg: var(--keiser-steel-soft);
    --status-neutral-fg: var(--keiser-black);
    --status-attention-bg: var(--keiser-red-soft);
    --status-attention-fg: var(--keiser-red-dark);
    --status-complete-bg: var(--keiser-black);
    --status-complete-fg: #fff;
    --cat-hue: 350;
    --preview-colour: var(--keiser-red);
    --item-colour: var(--keiser-black);
    --room-ratio: 1 / 1;
    --placed-label-font: 10px;
    --accent: #d10a2c;
    --accent-dark: #a90722;
    --danger: #d10a2c;
    --shadow: 0 18px 45px rgba(17, 17, 17, .09);
    --luxury: #111111;
    --luxury-soft: #24282c;
    --keiser-steel: #c9ced3;
}

body,
main {
    color: var(--ink);
    background:
        linear-gradient(180deg, #fff 0, #f4f5f6 520px),
        var(--paper);
}

.eyebrow,
.SmallCaps,
.tag,
.proposal-total,
.product-status,
.project-status,
.client-hero-panel span,
.priority-grid strong,
.admin-login-brand .eyebrow,
.gallery-hero .eyebrow,
.proposal-cover .eyebrow,
.planner-title .eyebrow,
.client-intake-hero .eyebrow,
.admin-hero .eyebrow,
.users-hero .eyebrow {
    color: var(--accent);
}

.Promo .Promo__Eyebrow.SmallCaps {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .01em;
    opacity: 1;
    visibility: visible;
}

.ProductCategory .ProductCategory__Eyebrow.SmallCaps {
    color: var(--color-medium-grey);
    letter-spacing: .04em;
    opacity: 1;
    visibility: visible;
}

.MediaCardPanel__Eyebrow,
.ProductCategory .ProductCategory__Eyebrow.SmallCaps,
.ProductCategory__Trusted span {
    color: var(--color-medium-grey);
    font-size: 14px;
    font-weight: 600;
}

.hero .eyebrow,
.system-priorities .eyebrow,
.planner-home-hero .eyebrow,
.planner-title .eyebrow,
.proposal-cover .eyebrow,
.instruction-hero .eyebrow,
.gallery-hero .eyebrow,
.admin-hero .eyebrow,
.users-hero .eyebrow,
.client-intake-hero .eyebrow,
.admin-login-brand .eyebrow {
    color: #fff;
}

.site-header,
.site-footer,
.admin-login-brand,
.planner-sidebar.is-project-sidebar .planner-sidebar-head,
.qr-label-toolbar,
.response-equipment-band,
.DownloadPack__Header {
    background: #111;
    color: #fff;
}

.hero,
.system-priorities,
.client-intake-hero,
.planner-home-hero,
.planner-title,
.proposal-cover,
.instruction-hero,
.gallery-hero,
.admin-hero,
.users-hero,
.admin-login-brand,
.proposal-transformation,
.response-kit-cover,
.prompt-pack-cover,
.equipment-detail-hero {
    background-color: #111;
    color: #fff;
}

.hero,
.system-priorities,
.client-intake-hero,
.admin-login-brand,
.equipment-detail-hero {
    background:
        linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.58)),
        linear-gradient(135deg, rgba(209,10,44,.38), transparent 58%),
        url("../images/keiser-a400-deadlift.png") center/cover;
}

.hero {
    background:
        linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.54)),
        linear-gradient(135deg, rgba(209,10,44,.32), transparent 58%),
        url("../images/keiser-hero-performance.jpg") center/cover;
}

.planner-home-hero,
.planner-title {
    background:
        linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.55)),
        linear-gradient(135deg, rgba(209,10,44,.3), transparent 58%),
        url("../images/keiser-cycling-studio.jpg") center/cover;
}

.proposal-cover,
.gallery-hero,
.instruction-hero,
.admin-hero,
.users-hero,
.proposal-transformation,
.response-kit-cover,
.prompt-pack-cover {
    background:
        linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.54)),
        linear-gradient(135deg, rgba(209,10,44,.34), transparent 58%),
        url("../images/keiser-health-club.jpg") center/cover;
}

.hero p,
.system-priorities p:not(.eyebrow),
.client-intake-hero p:not(.eyebrow),
.planner-home-hero p:not(.eyebrow),
.planner-title .muted-copy,
.planner-title p:not(.eyebrow),
.proposal-cover p:not(.eyebrow),
.instruction-hero p,
.gallery-hero p,
.admin-hero p,
.users-hero p,
.admin-login-brand p,
.response-kit-cover p,
.prompt-pack-cover p {
    color: rgba(255,255,255,.78);
}

.button,
.button.primary,
input[type="submit"],
.gform_button,
.SearchFrom__Button,
.BackButton,
.SubToggle,
.MenuToggle {
    border-color: var(--accent);
    background: var(--accent);
    color: #fff;
}

.button:hover,
.button.primary:hover,
input[type="submit"]:hover,
.gform_button:hover {
    border-color: var(--accent-dark);
    background: var(--accent-dark);
    color: #fff;
}

.button.ghost,
.button.hollow,
.Button--hollow,
.hero .button.ghost,
.planner-title .button.ghost,
.client-intake-hero .button.ghost,
.proposal-cover .button.ghost,
.gallery-hero .button.ghost,
.admin-hero .button.ghost {
    border-color: rgba(255,255,255,.56);
    background: transparent;
    color: #fff;
}

.section .button.ghost,
.form-panel .button.ghost,
.table-wrap .button.ghost,
.planner-shell .button.ghost,
.admin-panel .button.ghost,
.filter-row .button.ghost,
.product-card .button.ghost {
    border-color: #c9ced3;
    background: transparent;
    color: var(--ink);
}

.final-cta .button.ghost,
.proof-band .button.ghost,
.consult-band .button.ghost {
    border-color: rgba(255,255,255,.56);
    background: transparent;
    color: #fff;
}

.final-cta .button.ghost:hover,
.proof-band .button.ghost:hover,
.consult-band .button.ghost:hover {
    border-color: #fff;
    background: rgba(255,255,255,.1);
    color: #fff;
}

.workflow-strip article,
.feature-grid article,
.content-grid article,
.proposal-grid article,
.dashboard-grid a,
.form-panel,
.login-panel,
.empty-state,
.product-card,
.proposal-equipment-card,
.proposal-room-card,
.proposal-summary-card,
.planner-project-card,
.admin-panel,
.table-wrap,
.filter-row,
.planner-projects-panel,
.planner-workflow-panel,
.planner-sidebar,
.equipment-panel,
.prompt-box,
.response-panel,
.response-steps article,
.response-image-band figure,
.prompt-pack-main,
.prompt-pack-side,
.concept-card,
.palette-item,
.download-image-grid figure,
.completed-gallery-card,
.gallery-admin-note,
.gallery-admin-card,
.admin-user-card,
.pipeline-project-card,
.qr-wall-label {
    border-color: var(--line);
    background: #fff;
    color: var(--ink);
    box-shadow: 0 18px 46px rgba(17,17,17,.08);
}

.workflow-strip article:hover,
.feature-grid article:hover,
.content-grid article:hover,
.proposal-grid article:hover,
.dashboard-grid a:hover,
.product-card:hover,
.planner-project-card:hover,
.admin-panel:hover,
.palette-item:hover,
.concept-card:hover,
.completed-gallery-card:hover {
    border-color: rgba(209,10,44,.38);
    box-shadow: 0 24px 62px rgba(17,17,17,.12);
}

.workflow-strip span,
.product-card::after,
.proposal-equipment-card::after,
.planner-project-card::after,
.pill,
.Badge,
.badge,
.status-pill,
.session-pill {
    background: var(--keiser-red);
    color: #fff;
}

.project-status {
    border: 1px solid transparent;
    background: var(--status-neutral-bg);
    color: var(--status-neutral-fg);
}

.project-status.new {
    border-color: var(--keiser-steel);
    background: var(--status-neutral-bg);
    color: var(--status-neutral-fg);
}

.project-status.drafted {
    border-color: rgba(209,10,44,.24);
    background: var(--status-attention-bg);
    color: var(--status-attention-fg);
}

.project-status.ready {
    border-color: var(--keiser-black);
    background: var(--status-complete-bg);
    color: var(--status-complete-fg);
}

.alert.success,
.notice,
.admin-notice {
    border-color: var(--keiser-steel);
    background: var(--keiser-steel-soft);
    color: var(--keiser-black);
}

.alert.error {
    border-color: rgba(209,10,44,.28);
    background: var(--keiser-red-soft);
    color: var(--keiser-red-dark);
}

.metric,
.priority-grid article,
.client-hero-panel,
.proposal-kpis div,
.proposal-signature-strip article,
.proposal-journey-grid article,
.response-equipment-band article {
    border-color: rgba(255,255,255,.16);
    background: rgba(255,255,255,.08);
    color: #fff;
}

.proposal-kpis div,
.proposal-signature-strip article,
.proposal-journey-grid article {
    border-color: var(--line);
    background: #fff;
    color: var(--ink);
}

.metric span,
.priority-grid span,
.client-hero-panel small,
.proposal-kpis span,
.proposal-signature-strip span,
.proposal-journey-grid span {
    color: var(--muted);
}

.metric span,
.priority-grid article span,
.client-hero-panel small {
    color: rgba(255,255,255,.72);
}

.metric strong,
.client-hero-panel strong {
    color: #fff;
}

.planner-stats div,
.intake-readiness article,
.photo-upload-callout,
.empty-photo,
.placeholder-card,
.quick-room-upload,
.room-canvas,
.canvas-stage,
.floor-editor,
.equipment-palette,
.thumb-strip,
.spec-strip div,
.equipment-price-panel,
.qr-code-frame {
    border-color: var(--line);
    background: #f7f8f9;
    color: var(--ink);
}

.equipment-price-panel span,
.equipment-price-panel small {
    color: var(--muted);
}

.equipment-price-panel strong {
    color: var(--ink);
}

table th,
.admin-table th,
.table-wrap th {
    background: #111;
    color: #fff;
    border-bottom-color: rgba(209,10,44,.45);
}

table td,
.admin-table td,
.table-wrap td {
    border-bottom-color: var(--line);
}

input,
select,
textarea {
    border-color: #cfd4d8;
    background: #fff;
    color: var(--ink);
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(209,10,44,.12);
}

.room-canvas svg path,
.floor-shape path {
    stroke: #111;
}

.floor-handle,
.rotation-handle,
.placed-item.active,
.placed-item.selected {
    border-color: var(--accent);
}

.placed-item.invalid,
.warning,
.danger,
.button.danger {
    border-color: var(--accent);
    background: #fff1f3;
    color: var(--accent-dark);
}

.footer-brand img,
.brand-logo {
    filter: brightness(0) invert(1);
}

.footer-inner nav a,
.footer-contact,
.footer-contact span,
.footer-fineprint {
    color: rgba(255,255,255,.62);
}

.footer-inner nav a:hover,
.footer-contact a:hover {
    color: #fff;
}

/* Final contrast guard: white panels must use dark readable text */
.planner-sidebar,
.planner-main,
.equipment-panel,
.prompt-box,
.planner-help,
.warnings,
.form-panel,
.login-panel,
.table-wrap,
.filter-row,
.admin-panel,
.product-card,
.proposal-grid article,
.proposal-equipment-card,
.proposal-room-card,
.proposal-summary-card,
.response-panel,
.gallery-admin-card,
.completed-gallery-card {
    color: var(--ink);
}

.planner-sidebar label,
.planner-sidebar p,
.planner-sidebar span,
.planner-sidebar .planner-brief label,
.planner-sidebar .planner-controls label,
.planner-sidebar .planner-stats span,
.planner-sidebar .quick-room-upload,
.planner-sidebar .quick-room-upload span,
.planner-main p,
.planner-main span,
.equipment-panel label,
.equipment-panel span,
.prompt-box summary,
.prompt-box span,
.prompt-box p,
.form-panel label,
.form-panel p,
.admin-panel p,
.admin-panel span,
.product-card p,
.product-card span {
    color: var(--muted);
}

.planner-sidebar h1,
.planner-sidebar h2,
.planner-sidebar h3,
.planner-sidebar strong,
.planner-sidebar .planner-stats strong,
.planner-main h1,
.planner-main h2,
.planner-main h3,
.planner-main strong,
.equipment-panel h1,
.equipment-panel h2,
.equipment-panel h3,
.equipment-panel strong,
.prompt-box h1,
.prompt-box h2,
.prompt-box h3,
.prompt-box strong,
.form-panel h1,
.form-panel h2,
.form-panel h3,
.form-panel strong,
.admin-panel h1,
.admin-panel h2,
.admin-panel h3,
.admin-panel strong,
.product-card h1,
.product-card h2,
.product-card h3,
.product-card strong {
    color: var(--ink);
}

.planner-sidebar input,
.planner-sidebar textarea,
.planner-sidebar select,
.planner-main input,
.planner-main textarea,
.planner-main select,
.equipment-panel input,
.equipment-panel textarea,
.equipment-panel select,
.prompt-box textarea {
    color: var(--ink);
    background: #fff;
}

.planner-main .planner-toolbar {
    background:
        linear-gradient(135deg, rgba(17,17,17,.96), rgba(17,17,17,.82)),
        var(--luxury);
    color: #fff;
}

.planner-main .planner-toolbar .button,
.planner-main .planner-toolbar .button.ghost,
.planner-main .planner-toolbar a,
.planner-main .planner-toolbar button {
    color: #fff;
}

.planner-main .planner-toolbar span,
.planner-main .planner-toolbar p,
.planner-main .planner-toolbar strong {
    color: rgba(255,255,255,.78);
}

.planner-title,
.planner-title p,
.planner-title span,
.planner-title h1,
.planner-title .eyebrow {
    color: #fff;
}
/* Final Keiser AU chrome guard */
body,
button,
input,
select,
textarea {
    font-family: var(--typeface-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.site-nav a,
.button,
.eyebrow,
.metric strong,
.metric span {
    font-family: var(--typeface-body);
}

.site-header {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    min-height: var(--keiser-header-height);
    padding: 0 clamp(18px, 4vw, 58px);
    background: #111;
    border-bottom: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 14px 34px rgba(0,0,0,.18);
}

.brand-logo {
    width: 150px;
    max-height: 28px;
    filter: invert(13%) sepia(94%) saturate(4308%) hue-rotate(339deg) brightness(89%) contrast(98%);
}

.site-nav a,
.site-nav .nav-top {
    min-height: var(--keiser-header-height);
    display: inline-flex;
    align-items: center;
    padding: 0;
    border-radius: 0;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.nav-menu,
.nav-menu a,
.nav-menu strong,
.nav-menu small {
    font-family: var(--typeface-body);
}

.site-nav a:hover,
.site-nav .nav-top:hover,
.site-nav a.active,
.site-nav .nav-top.active {
    background: transparent;
    color: var(--keiser-red);
}

.video-hero,
.hero.video-hero,
.home-hero.video-hero {
    position: relative;
    min-height: calc(100vh - var(--keiser-header-height));
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: end;
    padding: clamp(110px, 17vh, 190px) clamp(18px, 5vw, 76px) clamp(58px, 9vh, 110px);
    background: #111;
    isolation: isolate;
}

.home-hero.video-hero {
    max-height: 700px;
    min-height: min(700px, calc(100vh - var(--keiser-header-height)));
    padding-left: clamp(16px, 3.5vw, 52px);
    padding-right: clamp(16px, 3.5vw, 52px);
}

.hero-video,
.hero-video-overlay {
    position: absolute;
    inset: 0;
}

.hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
}

.hero-video-overlay {
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.46) 45%, rgba(0,0,0,.28) 100%),
        linear-gradient(0deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,0) 42%);
}

.video-hero h1 {
    color: #fff;
    font-size: clamp(40px, 6vw, 76px);
    font-weight: 900;
    line-height: .94;
    text-transform: uppercase;
}

.video-hero p:not(.eyebrow) {
    color: rgba(255,255,255,.86);
}

@media (max-width: 980px) {
    .site-nav {
        position: fixed;
        left: 0;
        right: 0;
        top: var(--keiser-header-height);
        display: none;
        max-height: calc(100vh - var(--keiser-header-height));
        overflow: auto;
        padding: 10px 18px 22px;
        background: #111;
    }

    .site-nav.open {
        display: grid;
    }
}

/* Header structure copied toward Keiser AU */
@media screen and (min-width: 960px) {
    :root {
        --header-height: 78px;
        --keiser-header-height: 78px;
    }
}

.Container {
    container-type: inline-size;
    margin-left: var(--page-padding);
    margin-right: var(--page-padding);
}

@media screen and (min-width: 1240px) {
    .Container {
        margin-left: auto;
        margin-right: auto;
        max-width: var(--max-width);
    }
}

.Header.site-header {
    display: block;
    width: 100%;
    height: var(--header-height);
    min-height: var(--header-height);
    padding: 0;
    background-color: var(--palette-dark);
    color: var(--palette-light);
    font-family: var(--typeface-body);
    z-index: 1000;
}

.Header__Container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    height: var(--header-height);
}

.Header__Container.Container {
    width: calc(100% - var(--page-padding) - var(--page-padding));
    max-width: min(1340px, calc(100% - var(--page-padding) - var(--page-padding)));
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

.Header__Title {
    display: block;
    width: 150px;
    color: var(--palette-action);
    text-decoration: none;
    flex: 0 0 auto;
}

.Header__Title .brand-lockup {
    width: 100%;
}

.Header__Title .brand-logo {
    width: 100%;
    max-height: none;
    filter: invert(13%) sepia(94%) saturate(4308%) hue-rotate(339deg) brightness(89%) contrast(98%);
}

.Header__Title .brand-country {
    margin-top: 3px;
    color: #8a8a8d;
    font-size: 12px;
    letter-spacing: .22em;
    text-align: center;
}

@media screen and (min-width: 960px) {
    .Header__Title {
        width: 190px;
    }
}

.DesktopNav {
    list-style: none;
    margin: 0;
    padding: 0;
}

.DesktopNav,
.Header__Ctas {
    display: none;
}

@media screen and (min-width: 960px) {
    .DesktopNav,
    .Header__Ctas {
        display: flex;
    }

    .MenuToggle {
        display: none;
    }
}

.DesktopNav {
    align-items: center;
    justify-content: center;
    gap: clamp(14px, 1.2vw, 22px);
    flex: 1 1 auto;
}

.DesktopNav__Item {
    display: flex;
    align-items: center;
    min-height: var(--header-height);
}

.DesktopNav__Item > a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: var(--header-height);
    padding: 0;
    color: var(--palette-light);
    font-family: var(--typeface-body);
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.DesktopNav__Item > a svg {
    width: 14px;
    height: auto;
    transition: transform .22s ease, color .22s ease;
}

.DesktopNav__Item:hover > a,
.DesktopNav__Item > a.active,
.DesktopNav__Item > a.current-menu-item {
    color: var(--palette-action);
}

.DesktopNav__Item:hover > a svg {
    transform: rotate(180deg);
}

.DesktopNav__Item--shop > a svg {
    width: 18px;
}

.DesktopNav__Item--shop:hover > a svg {
    transform: none;
}

.DesktopSubNav {
    position: fixed;
    display: block;
    left: 0;
    right: 0;
    top: var(--header-height);
    width: 100%;
    padding: 14px var(--page-padding) 16px;
    border: 0;
    border-top: 1px solid rgba(255,255,255,.08);
    border-radius: 0;
    background-color: var(--palette-dark);
    box-shadow: 0 24px 48px rgba(0,0,0,.28);
    opacity: 0;
    pointer-events: none;
    transform: none;
    visibility: hidden;
    transition: opacity .22s ease, visibility .22s ease;
}

.DesktopNav__Item:hover .DesktopSubNav,
.DesktopNav__Item:focus-within .DesktopSubNav {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.DesktopSubNav__List {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(34px, 4vw, 70px);
    width: calc(100% - var(--page-padding) - var(--page-padding));
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.DesktopSubNav__List--compact {
    justify-content: flex-start;
}

.DesktopSubNav__Item {
    flex: 1 1 0;
    min-width: 0;
}

.DesktopSubNav__List--compact .DesktopSubNav__Item {
    flex: 0 1 220px;
}

.Header .DesktopSubNav__Item a {
    display: block;
    min-height: auto;
    padding: 0 !important;
    border-radius: 0;
    background: transparent;
    color: var(--palette-light);
    font-family: var(--typeface-body);
    font-weight: 400;
    line-height: 1.15;
    text-decoration: none;
}

.Header .DesktopSubNav__Item a:hover {
    background: transparent;
    color: var(--palette-action);
}

.DesktopSubNav__Item__Title {
    display: block;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.08;
    white-space: nowrap;
}

.DesktopSubNav__Item__Desc {
    display: block;
    margin-top: 7px;
    color: var(--color-medium-grey);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.08;
}

.Header__Ctas {
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 0 0 auto;
}

.Header__Sales {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 50px;
    height: 50px;
    min-width: 158px;
    padding: 0 18px;
    border: 1px solid var(--palette-action);
    border-radius: var(--border-radius);
    background: var(--palette-action);
    color: var(--palette-light);
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.Header .Header__Sales,
.Header .Header__Sales:visited,
.Header .Header__Sales:hover {
    color: var(--palette-light) !important;
}

.Header .Header__Sales:hover {
    border-color: var(--palette-dark);
    background: var(--palette-dark);
}


.Header__Sales svg {
    width: 18px;
    height: 18px;
}

.Header .SearchFrom {
    position: relative;
    display: flex;
    align-items: center;
    width: auto;
    min-width: 50px;
    margin: 0;
    padding: 0;
}

.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;
}

.Header input.SearchFrom__Input[type=search] {
    position: absolute;
    right: 50px;
    width: 250px;
    height: 50px;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    border: 0;
    border-radius: var(--border-radius) 0 0 var(--border-radius);
    background: var(--palette-light);
    color: var(--palette-dark);
    transition: opacity .18s ease, visibility .18s ease;
}

.Header .SearchFrom:hover input.SearchFrom__Input[type=search],
.Header .SearchFrom:focus-within input.SearchFrom__Input[type=search] {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.Header .SearchFrom__Button {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    padding: 0;
    border: 1px solid var(--palette-action);
    border-radius: var(--border-radius);
    background: transparent;
    color: var(--palette-light);
}

.Header .SearchFrom:hover .SearchFrom__Button,
.Header .SearchFrom:focus-within .SearchFrom__Button {
    border-radius: 0 var(--border-radius) var(--border-radius) 0;
    background: var(--palette-action);
}

.Header__Quote {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 70px;
    height: var(--header-height);
    background: transparent;
    border: 0;
    color: var(--palette-light);
    font-size: var(--font-size--tiny);
    font-weight: 900;
    text-decoration: none;
}

.Header__Quote:hover {
    background: transparent;
    color: var(--palette-light);
}


.Header__Sales:hover,
.Header__Quote:hover {
    color: var(--palette-light);
}


.Header__Quote svg {
    width: 25px;
    height: 25px;
}

.Header__Quote span {
    position: absolute;
    top: 18px;
    right: 12px;
    display: grid;
    place-items: center;
    min-width: 16px;
    min-height: 16px;
    border-radius: 999px;
    background: var(--palette-action);
    color: var(--palette-light);
    font-size: 10px;
    line-height: 1;
}

.MenuToggle {
    position: relative;
    display: block;
    width: 30px;
    height: 22px;
    padding: 0;
    border: 0;
    background: transparent;
}

.MenuToggle b {
    position: absolute;
    left: 0;
    display: block;
    width: 30px;
    height: 2px;
    border-radius: 999px;
    background: var(--palette-action);
    transition: transform .2s ease, opacity .2s ease;
}

.MenuToggle b:first-child {
    top: 0;
}

.MenuToggle b:nth-child(2),
.MenuToggle b:nth-child(3) {
    top: 7px;
}

.MenuToggle b:nth-child(4) {
    top: 14px;
}

@media screen and (max-width: 959px) {
    .Header__Container {
        gap: 16px;
    }

    .DesktopNav {
        position: fixed;
        left: 0;
        right: 0;
        top: var(--header-height);
        display: none;
        max-height: calc(100vh - var(--header-height));
        overflow: auto;
        padding: 10px 18px 22px;
        background: var(--palette-dark);
    }

    .DesktopNav.open {
        display: grid;
        gap: 0;
    }

    .DesktopNav__Item {
        display: grid;
        width: 100%;
        min-height: auto;
    }

    .DesktopNav__Item > a {
        justify-content: flex-start;
        min-height: 48px;
        width: 100%;
    }

    .DesktopSubNav {
        position: static;
        display: grid;
        width: 100%;
        padding: 0 0 14px 12px;
        border-left: 1px solid rgba(255,255,255,.16);
        box-shadow: none;
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
    }

    .DesktopSubNav__List {
        display: grid;
        gap: 10px;
    }

    .DesktopSubNav__Item__Desc {
        display: none;
    }
}

.Header .has-dropdown > .nav-top::after {
    content: none;
}

@media screen and (min-width: 960px) {
    .Header .MenuToggle {
        display: none;
    }
}

/* Public inner-page tidy pass */
body.frontend .platform-hero:not(.video-hero) {
    width: min(1180px, calc(100% - 36px));
    min-height: auto;
    margin: 28px auto 34px;
    padding: clamp(42px, 6vw, 72px);
    grid-template-columns: minmax(0, 720px) minmax(240px, 320px);
    justify-content: center;
    align-items: center;
    gap: clamp(22px, 4vw, 42px);
    border-radius: var(--border-radius);
    box-shadow: 0 24px 62px rgba(17,17,17,.16);
}

body.frontend .platform-hero:not(.video-hero) .hero-copy {
    display: grid;
    justify-items: start;
    align-content: center;
}

body.frontend .platform-hero:not(.video-hero) h1,
body.frontend .gallery-hero h1,
body.frontend .page-title h1 {
    max-width: 780px;
    font-size: clamp(32px, 4.2vw, 56px);
    line-height: .98;
    letter-spacing: 0;
}

body.frontend .platform-hero:not(.video-hero) p:not(.eyebrow),
body.frontend .gallery-hero p:not(.eyebrow),
body.frontend .page-title .muted-copy {
    max-width: 680px;
    font-size: clamp(16px, 1.7vw, 19px);
    line-height: 1.45;
}

body.frontend .platform-hero:not(.video-hero) .hero-actions,
body.frontend .page-title .hero-actions {
    margin-top: 22px;
}

body.frontend .platform-hero:not(.video-hero) .hero-panel {
    align-content: center;
}

body.frontend .platform-hero:not(.video-hero) .metric {
    padding: 16px;
}

body.frontend .platform-hero:not(.video-hero) .metric strong {
    font-size: clamp(17px, 1.6vw, 21px);
    line-height: 1.15;
}

body.frontend .page-title.equipment-platform-title {
    width: min(1000px, calc(100% - 36px));
    margin: 28px auto 24px;
    padding: clamp(32px, 5vw, 54px);
    text-align: center;
}

body.frontend .page-title.equipment-platform-title .muted-copy {
    margin-left: auto;
    margin-right: auto;
}

body.frontend .page-title.equipment-platform-title .hero-actions {
    justify-content: center;
}

body.frontend .gallery-hero {
    min-height: auto;
    margin: 28px auto 34px;
    grid-template-columns: minmax(0, 620px) minmax(320px, 520px);
    justify-content: center;
    align-items: center;
    padding: clamp(32px, 5vw, 58px);
}

body.frontend .gallery-hero-copy {
    align-content: center;
}

body.frontend .gallery-hero-image {
    min-height: clamp(300px, 34vw, 430px);
}

body.frontend .section-heading {
    margin-bottom: 20px;
}

body.frontend .section-heading h2 {
    max-width: 760px;
    font-size: clamp(25px, 3.2vw, 38px);
    line-height: 1.05;
}

body.frontend .sector-detail-intro,
body.frontend .education-panel,
body.frontend .consult-band {
    align-items: center;
}

body.frontend .difference-grid article,
body.frontend .equipment-category-card,
body.frontend .solution-grid article,
body.frontend .platform-grid article,
body.frontend .education-article-grid article,
body.frontend .feature-grid article {
    border-radius: var(--border-radius);
    box-shadow: 0 14px 38px rgba(17,17,17,.07);
}

@media screen and (max-width: 900px) {
    body.frontend .platform-hero:not(.video-hero),
    body.frontend .gallery-hero {
        grid-template-columns: 1fr;
        text-align: left;
    }

    body.frontend .platform-hero:not(.video-hero) {
        padding: 34px 22px;
    }
}
