* {
    box-sizing: border-box;
}

:root {
    --signal-orange: #ff6a00;
    --beacon-orange: #ff812d;
    --signal-orange-light: #ff9a3d;
    --focus-orange: #ff8a35;
    --carbon-black: #050505;
    --raised-black: #0b0b0b;
    --warm-panel: #191614;
    --clear-white: #ffffff;
    --body-grey: #cfcfcf;
    --muted-grey: #9a9a9a;
    --quiet-grey: #727272;
    --error-red: #ffaaaa;
}

html {
    scroll-behavior: smooth;
}

section[id] {
    scroll-margin-top: 112px;
}

body {
    margin: 0;
    background: var(--carbon-black);
    color: white;
    font-family: Arial, Helvetica, sans-serif;
    overflow-x: hidden;
}

/* BRANDED PAGE TRANSITION */

.site-transition {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-content: center;
    justify-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 45%, rgba(255, 106, 0, .13), transparent 28%),
        #030303;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .38s ease, visibility 0s linear .38s;
}

html.site-transition-lock {
    overflow: hidden;
}

.site-transition.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transition: opacity .16s ease, visibility 0s;
}

.site-transition.is-leaving {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .52s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .52s;
}

.site-transition-glow {
    position: absolute;
    width: min(760px, 110vw);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,106,0,.1), rgba(255,106,0,.025) 34%, transparent 68%);
    filter: blur(1px);
    animation: site-transition-orbit 1.6s ease-in-out infinite;
    pointer-events: none;
}

.site-transition-stars {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: .78;
    mix-blend-mode: screen;
    pointer-events: none;
}

.site-transition-logo {
    position: relative;
    width: min(330px, 78vw);
    height: min(170px, 40vw);
    overflow: hidden;
    border: 1px solid rgba(255, 106, 0, .16);
    border-radius: 24px;
    background: rgba(0, 0, 0, .72);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .5), 0 0 45px rgba(255, 106, 0, .12), inset 0 1px 0 rgba(255, 255, 255, .04);
    animation: site-transition-pulse 1.05s ease-in-out infinite alternate;
}

.site-transition-logo img {
    position: absolute;
    top: -30%;
    left: 0;
    width: 100%;
    height: auto;
    display: block;
    clip-path: inset(0 0 43% 0);
    mix-blend-mode: screen;
}

.site-transition-scan {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -55%;
    width: 38%;
    transform: skewX(-18deg);
    background: linear-gradient(90deg, transparent, rgba(255, 153, 76, .3), transparent);
    mix-blend-mode: screen;
    animation: site-transition-scan 1.15s ease-in-out infinite;
}

.site-transition > p {
    position: relative;
    z-index: 1;
    margin: 8px 0 18px;
    color: rgba(255, 255, 255, .56);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .34em;
    text-transform: uppercase;
}

.site-transition-progress {
    position: relative;
    width: min(230px, 58vw);
    height: 2px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, .09);
}

.site-transition-progress span {
    position: absolute;
    inset: 0 auto 0 0;
    width: 42%;
    border-radius: inherit;
    background: linear-gradient(90deg, transparent, var(--signal-orange), #ffad70);
    box-shadow: 0 0 18px rgba(255, 106, 0, .75);
    animation: site-transition-progress 1s cubic-bezier(.65, 0, .35, 1) infinite;
}

@keyframes site-transition-pulse {
    from { opacity: .78; }
    to { opacity: 1; }
}

@keyframes site-transition-orbit {
    0%, 100% { transform: scale(.94); opacity: .34; }
    50% { transform: scale(1.03); opacity: .78; }
}

@keyframes site-transition-scan {
    0% { left: -55%; opacity: 0; }
    22% { opacity: 1; }
    72% { opacity: .75; }
    100% { left: 118%; opacity: 0; }
}

@keyframes site-transition-progress {
    from { transform: translateX(-115%); }
    to { transform: translateX(340%); }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .site-transition,
    .site-transition * {
        animation: none !important;
        transition-duration: .12s !important;
    }

    .site-transition-stars {
        opacity: .58;
    }
}

.site {
    width: 100%;
    min-height: 100vh;
    background: radial-gradient(circle at 75% 15%, rgba(255,106,0,.18), transparent 35%), radial-gradient(circle at 20% 70%, rgba(255,106,0,.08), transparent 30%), var(--carbon-black);
}

/* NAV */

.brand.brand-image {
    position: relative;
    display: block;
    width: 180px;
    height: 40px;
    flex: 0 0 180px;
    overflow: hidden;
    border-radius: 3px;
}

/* Homepage navbar and hero refinement */
.home-nav {
    width: min(94%, 1500px);
    height: 76px;
    padding-inline: 26px 14px;
    border-color: rgba(255,255,255,.13);
    background: rgba(7,7,7,.92);
    box-shadow: 0 16px 48px rgba(0,0,0,.28);
}

.home-nav .brand.brand-image {
    width: 178px;
    height: 42px;
    flex-basis: 178px;
}

.home-nav .brand.brand-image img {
    width: 214px;
}

.home-nav .nav-links {
    align-items: center;
    gap: clamp(18px, 1.8vw, 32px);
}

.home-nav .nav-links > a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.home-nav .nav-links > .mobile-quote {
    display: none;
}

.home-nav .nav-links > a:not(.customer-login):not(.mobile-quote) {
    color: #c9c9c9;
    font-size: 14px;
    font-weight: 700;
}

.home-nav .customer-login {
    padding: 0 5px;
    border: 0;
    color: #9f9f9f;
    background: transparent;
    font-size: 13px;
    font-weight: 700;
}

.home-nav .customer-login svg {
    width: 17px;
    height: 17px;
    opacity: .75;
}

.home-nav .customer-login::after {
    display: none;
}

.home-nav .nav-links > a:not(.customer-login):not(.mobile-quote)::after {
    bottom: 3px;
}

.home-nav .nav-btn {
    min-height: 48px;
    padding: 0 21px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    white-space: nowrap;
    font-size: 14px;
}

.home-hero {
    min-height: min(860px, 100svh);
    padding: 132px max(5vw, calc((100vw - 1500px) / 2)) 66px;
    background:
        linear-gradient(90deg, #030303 0%, rgba(3,3,3,.98) 34%, rgba(3,3,3,.88) 53%, rgba(3,3,3,.55) 74%, rgba(3,3,3,.32) 100%),
        url('/images/hero-business.webp') 72% center / cover no-repeat;
}

.home-hero .hero-text {
    max-width: 660px;
}

.home-hero .tag {
    margin: 0 0 22px;
}

.home-hero h1 {
    max-width: 650px;
    margin: 0 0 26px;
    font-size: clamp(58px, 5.9vw, 92px);
    line-height: .95;
    letter-spacing: -.035em;
}

.home-hero .hero-p {
    max-width: 590px;
    margin: 0;
    color: #d3d3d3;
    font-size: clamp(17px, 1.25vw, 20px);
    line-height: 1.6;
}

.home-hero .hero-actions {
    margin-top: 32px;
    gap: 13px;
}

.home-hero .hero-actions .btn {
    min-height: 52px;
    padding: 0 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 10px;
    line-height: 1.2;
}

.home-hero .hero-actions .secondary {
    border-color: rgba(255,106,0,.75);
    background: rgba(3,3,3,.68);
    color: #e8e8e8;
}

.hero-trust {
    margin-top: 25px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px 22px;
    color: #aaa;
    font-size: 13px;
    font-weight: 700;
}

.hero-trust span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.hero-trust span + span::before {
    content: '';
    width: 1px;
    height: 15px;
    margin-right: 15px;
    background: rgba(255,255,255,.2);
}

.hero-trust svg {
    width: 16px;
    height: 16px;
    color: #ff7a1a;
    stroke-width: 2;
}

.home-nav :is(a,button):focus-visible,
.home-hero a:focus-visible {
    outline: 2px solid var(--focus-orange);
    outline-offset: 4px;
}

/* QUOTE FLOW REDESIGN */
.premium-quote-page.quote-page-redesign {
    min-height: 100svh;
    padding: 24px clamp(18px, 4vw, 64px) 72px;
    overflow: clip;
    color: var(--clear-white);
    background: #080808;
}

.quote-page-redesign .premium-quote-overlay {
    z-index: -1;
    background:
        radial-gradient(circle at 78% 6%, rgba(255,106,0,.14), transparent 28rem),
        radial-gradient(circle at 8% 86%, rgba(255,106,0,.06), transparent 26rem),
        linear-gradient(180deg, #0c0c0c 0%, #080808 62%, #050505 100%);
}

.quote-page-redesign .premium-quote-topbar {
    min-height: 62px;
    padding-bottom: 18px;
    border-bottom-color: rgba(255,255,255,.11);
}

.quote-page-redesign .premium-quote-brand > span {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: #090909;
    background: var(--signal-orange);
    font-size: 14px;
    letter-spacing: -.04em;
}

.quote-page-redesign .premium-quote-brand strong { font-size: 13px; }
.quote-page-redesign .premium-quote-brand small { color: #777; font-size: 10px; }

.quote-topbar-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #a7c9ad;
    font-size: 12px;
    font-weight: 700;
}

.quote-topbar-status > span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #55c777;
    box-shadow: 0 0 0 4px rgba(85,199,119,.1);
}

.quote-page-redesign .premium-quote-back {
    height: 38px;
    border-radius: 9px;
    border-color: rgba(255,255,255,.13);
    background: rgba(255,255,255,.03);
    font-size: 12px;
}

.quote-page-redesign .premium-quote-shell {
    max-width: 1240px;
    padding-top: 56px;
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
    gap: clamp(46px, 7vw, 108px);
}

.quote-page-redesign .premium-quote-intro {
    top: 28px;
    padding-top: 24px;
}

.quote-page-redesign .premium-quote-eyebrow { margin-bottom: 18px; font-size: 11px; }

.quote-page-redesign .premium-quote-intro h1 {
    max-width: 410px;
    font-size: clamp(48px, 5vw, 68px);
    line-height: .98;
    letter-spacing: -.055em;
}

.quote-page-redesign .premium-quote-lead {
    max-width: 420px;
    margin: 22px 0 25px;
    color: #a1a1a1;
    font-size: 16px;
    line-height: 1.65;
}

.quote-intro-promise {
    max-width: 420px;
    margin-bottom: 28px;
    padding: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 12px;
    background: rgba(255,255,255,.035);
}

.quote-intro-promise-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: var(--signal-orange);
    background: rgba(255,106,0,.1);
}

.quote-intro-promise-icon svg { width: 17px; height: 17px; }
.quote-intro-promise strong { display: block; color: #f2f2f2; font-size: 13px; }
.quote-intro-promise p { margin: 3px 0 0; color: #7e7e7e; font-size: 11px; line-height: 1.45; }

.quote-page-redesign .premium-quote-steps { max-width: 420px; }
.quote-page-redesign .premium-quote-steps > div { min-height: 68px; grid-template-columns: 34px 1fr; gap: 12px; }
.quote-page-redesign .premium-quote-steps > div:not(:last-child)::after { left: 14px; top: 30px; height: 35px; }
.quote-page-redesign .premium-quote-steps > div > span { width: 29px; height: 29px; border-radius: 50%; font-size: 9px; }
.quote-page-redesign .premium-quote-steps strong { font-size: 13px; }
.quote-page-redesign .premium-quote-steps small { font-size: 11px; }

.quote-intro-note {
    margin-top: 22px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #777;
    font-size: 11px;
}

.quote-intro-note svg { width: 14px; height: 14px; color: var(--signal-orange); }

.quote-page-redesign .premium-quote-panel {
    padding: clamp(25px, 3vw, 38px);
    border-radius: 20px;
    border-color: rgba(255,255,255,.12);
    background: #111;
    box-shadow: 0 30px 90px rgba(0,0,0,.35);
    backdrop-filter: none;
}

.quote-page-redesign .premium-quote-panel::before { width: 120px; right: 10%; opacity: .7; }
.quote-page-redesign .premium-quote-panel-head { margin-bottom: 25px; padding-bottom: 20px; }
.quote-page-redesign .premium-quote-panel-head p { margin-bottom: 6px; font-size: 10px; }
.quote-page-redesign .premium-quote-panel-head h2 { font-size: clamp(27px, 3vw, 36px); letter-spacing: -.045em; }
.quote-page-redesign .premium-quote-panel-head > span { font-size: 11px; }

.quote-page-redesign .premium-quote-form { gap: 26px; }
.quote-page-redesign .premium-form-section + .premium-form-section { padding-top: 25px; border-top: 1px solid rgba(255,255,255,.08); }
.quote-page-redesign .premium-form-section-title { margin-bottom: 14px; }
.quote-page-redesign .premium-form-section-title > span { width: 28px; height: 28px; border-radius: 50%; }
.quote-page-redesign .premium-form-section-title h3 { font-size: 17px; }
.quote-page-redesign .premium-form-section-title p { color: #797979; }
.quote-page-redesign .premium-input-wrap { height: 50px; border-radius: 9px; }
.quote-page-redesign .premium-input-wrap input { font-size: 14px; }

.quote-service-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.quote-service-option > span {
    min-height: 176px;
    padding: 18px;
    border-radius: 12px;
    background: #171717;
}

.quote-service-option:hover input + span { transform: translateY(-2px); }
.quote-service-option input:checked + span { background: linear-gradient(145deg, rgba(255,106,0,.15), rgba(255,106,0,.04)); }
.quote-service-option .premium-service-icon { margin-bottom: 15px; }
.quote-service-option strong { font-size: 15px; }
.quote-service-option small { color: #8b8b8b; font-size: 12px; }
.quote-service-option em { margin-top: auto; font-size: 9px; }

.optional-label {
    margin-left: 7px;
    color: #777;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.quote-upload-zone {
    min-height: 150px;
    padding: 20px;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 5px;
    border: 1px dashed rgba(255,255,255,.22);
    border-radius: 12px;
    color: #fff;
    background: rgba(255,255,255,.025);
    text-align: center;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.quote-upload-zone:hover,
.quote-upload-zone:focus-within {
    border-color: rgba(255,106,0,.7);
    background: rgba(255,106,0,.05);
}

.quote-upload-zone:focus-within { outline: 2px solid var(--signal-orange); outline-offset: 3px; }
.quote-upload-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.quote-upload-icon { width: 36px; height: 36px; margin-bottom: 4px; display: grid; place-items: center; border-radius: 10px; color: var(--signal-orange); background: rgba(255,106,0,.1); }
.quote-upload-icon svg { width: 18px; height: 18px; }
.quote-upload-zone strong { font-size: 14px; }
.quote-upload-zone small { color: #777; font-size: 11px; }
.quote-upload-button { margin-top: 7px; padding: 7px 10px; border: 1px solid rgba(255,106,0,.4); border-radius: 7px; color: #ff9a5a; font-size: 11px; font-weight: 800; }

.quote-upload-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.quote-upload-file { min-width: 0; max-width: 100%; padding: 7px 9px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(255,255,255,.1); border-radius: 7px; color: #cfcfcf; background: rgba(255,255,255,.04); font-size: 11px; }
.quote-upload-file svg { width: 14px; height: 14px; flex: 0 0 auto; color: var(--signal-orange); }
.quote-upload-file span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.quote-page-redesign .premium-message-field { border-radius: 10px; }
.quote-page-redesign .premium-quote-submit { height: 53px; border-radius: 9px; }
.quote-page-redesign .premium-quote-privacy { margin-top: -9px; }
.quote-page-redesign .quote-reveal.motion-pending { will-change: opacity, transform; }

@media (max-width: 1040px) {
    .quote-page-redesign .premium-quote-shell { max-width: 760px; grid-template-columns: 1fr; gap: 36px; }
    .quote-page-redesign .premium-quote-intro { position: static; padding-top: 0; }
    .quote-page-redesign .premium-quote-intro h1 { max-width: 620px; }
    .quote-page-redesign .premium-quote-lead { max-width: 620px; }
    .quote-intro-promise, .quote-page-redesign .premium-quote-steps { max-width: 620px; }
}

@media (max-width: 640px) {
    .premium-quote-page.quote-page-redesign { padding: 14px 15px 46px; }
    .quote-page-redesign .premium-quote-topbar { min-height: 56px; padding-bottom: 14px; }
    .quote-topbar-status { display: none; }
    .quote-page-redesign .premium-quote-brand > span { width: 34px; height: 34px; }
    .quote-page-redesign .premium-quote-brand strong { font-size: 12px; }
    .quote-page-redesign .premium-quote-brand small { font-size: 9px; }
    .quote-page-redesign .premium-quote-back { height: 34px; padding: 0 9px; font-size: 10px; }
    .quote-page-redesign .premium-quote-shell { padding-top: 34px; gap: 28px; }
    .quote-page-redesign .premium-quote-intro h1 { font-size: 48px; }
    .quote-page-redesign .premium-quote-lead { margin: 17px 0 21px; font-size: 15px; }
    .quote-page-redesign .premium-quote-panel { padding: 22px 16px; border-radius: 15px; }
    .quote-page-redesign .premium-quote-panel-head { align-items: flex-start; flex-direction: column; gap: 12px; }
    .quote-page-redesign .premium-field-grid { grid-template-columns: 1fr; gap: 13px; }
    .quote-service-options { grid-template-columns: 1fr; }
    .quote-service-option > span { min-height: 154px; }
    .quote-page-redesign .premium-quote-steps > div { min-height: 64px; }
}

/* Scroll-aware public navigation */
.nav.home-nav,
.premium-quote-topbar,
.portal-login-brand {
    transition: transform .56s cubic-bezier(.16, 1, .3, 1), opacity .36s ease-out;
    will-change: transform, opacity;
}

.premium-quote-topbar,
.portal-login-brand {
    position: sticky;
    top: 20px;
    z-index: 100;
}

.home-nav.nav-hidden {
    transform: translate(-50%, calc(-100% - 24px));
    opacity: 0;
    pointer-events: none;
}

.premium-quote-topbar.nav-hidden,
.portal-login-brand.nav-hidden {
    transform: translateY(calc(-100% - 24px));
    opacity: 0;
    pointer-events: none;
}

.nav.home-nav:has(:focus-visible) {
    transform: translate(-50%, 0);
    opacity: 1;
}

.premium-quote-topbar:has(:focus-visible),
.portal-login-brand:has(:focus-visible) {
    transform: translateY(0);
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .nav.home-nav,
    .premium-quote-topbar,
    .portal-login-brand {
        transition: none;
    }
}

@media (max-width: 1100px) {
    .home-nav { width: 96%; }
    .home-nav .nav-links { gap: 16px; }
    .home-nav .nav-links > a:not(.customer-login):not(.mobile-quote) { font-size: 13px; }
    .home-nav .brand.brand-image { width: 155px; flex-basis: 155px; }
    .home-nav .brand.brand-image img { width: 188px; }
}

@media (max-width: 900px) {
    .home-nav {
        top: 12px;
        width: 94%;
        height: 68px;
        padding: 0 12px 0 17px;
    }
    .home-nav .brand.brand-image { width: 160px; height: 38px; flex-basis: 160px; }
    .home-nav .brand.brand-image img { width: 194px; }
    .home-nav .nav-links {
        top: 88px;
        right: 3%;
        width: min(310px, 94vw);
        padding: 20px;
        gap: 4px;
        border-radius: 14px;
        background: var(--raised-black);
        box-shadow: 0 24px 60px rgba(0,0,0,.55);
    }
    .home-nav .nav-links > a:not(.customer-login) {
        width: 100%;
        min-height: 46px;
        padding: 0 12px;
        display: flex;
        align-items: center;
        border-radius: 8px;
        font-size: 15px;
    }
    .home-nav .nav-links > a::after { display: none; }
    .home-nav .customer-login {
        width: 100%;
        min-height: 46px;
        margin-top: 8px;
        padding: 0 12px;
        border-top: 1px solid rgba(255,255,255,.1);
        border-radius: 0;
    }
    .home-nav .mobile-quote {
        min-height: 48px !important;
        margin-top: 8px;
        justify-content: center;
        color: white !important;
        background: var(--signal-orange);
        font-weight: 900 !important;
    }
    .home-hero {
        min-height: min(740px, 100svh);
        padding: 112px 6% 52px;
        align-items: center;
        text-align: left;
        background:
            linear-gradient(90deg, rgba(3,3,3,.98) 0%, rgba(3,3,3,.94) 54%, rgba(3,3,3,.72) 100%),
            url('/images/hero-business.webp') 74% center / cover no-repeat;
    }
    .home-hero .hero-p { margin: 0; max-width: 570px; }
    .home-hero .hero-actions { justify-content: flex-start; flex-direction: row; width: auto; }
    .home-hero .hero-actions .btn { width: auto; }
}

@media (max-width: 600px) {
    .home-nav .brand.brand-image { width: 145px; flex-basis: 145px; }
    .home-nav .brand.brand-image img { width: 176px; }
    .home-hero {
        min-height: min(760px, 100svh);
        padding: 104px 6% 40px;
        align-items: flex-start;
        background:
            linear-gradient(180deg, rgba(3,3,3,.99) 0%, rgba(3,3,3,.96) 62%, rgba(3,3,3,.76) 100%),
            url('/images/hero-business.webp') 76% center / cover no-repeat;
    }
    .home-hero .tag { margin-bottom: 17px; font-size: 10px; letter-spacing: 1.8px; }
    .home-hero h1 {
        max-width: 100%;
        margin-bottom: 22px;
        font-size: clamp(43px, 13.5vw, 58px);
        line-height: .96;
        letter-spacing: -.035em;
    }
    .home-hero .hero-p { max-width: 34rem; font-size: 16px; line-height: 1.55; }
    .home-hero .hero-actions { margin-top: 27px; flex-direction: column; gap: 10px; width: 100%; }
    .home-hero .hero-actions .btn { width: 100%; min-height: 50px; }
    .hero-trust { margin-top: 21px; align-items: flex-start; flex-direction: column; gap: 9px; }
    .hero-trust span + span::before { display: none; }
}

.brand.brand-image img {
    position: absolute;
    width: 220px;
    max-width: none;
    height: auto;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.nav {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 88%;
    height: 72px;
    padding: 0 24px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 18px;
    background: rgba(10,10,10,.72);
    backdrop-filter: blur(18px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 100;
}

.brand {
    display: flex;
    align-items: center;
    gap: 10px;
    color: white;
    text-decoration: none;
    font-weight: 900;
    line-height: .95;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 1px;
}

    .brand span {
        color: var(--signal-orange);
        font-size: 36px;
    }

.nav nav a {
    position: relative;
    color: #d8d8d8;
    text-decoration: none;
    font-weight: 700;
    transition: color .3s ease;
}

    .nav nav a::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -8px;
        width: 100%;
        height: 2px;
        background: var(--signal-orange);
        transform: translateX(-50%) scaleX(0);
        transform-origin: center;
        transition: transform .3s ease;
    }

    .nav nav a:hover {
        color: white;
    }

        .nav nav a:hover::after {
            transform: translateX(-50%) scaleX(1);
        }

.nav nav {
    display: flex;
    gap: 34px;
}

    .nav nav a {
        color: #d8d8d8;
        text-decoration: none;
        font-weight: 700;
        font-size: 15px;
    }

        .nav nav a:hover {
            color: var(--signal-orange);
        }

.nav-btn {
    color: white;
    text-decoration: none;
    background: var(--signal-orange);
    padding: 13px 22px;
    border-radius: 10px;
    font-weight: 800;
}

/* HERO */

.site {
    min-height: 100vh;
    background: var(--carbon-black);
}

.hero {
    min-height: 100vh;
    padding: 130px 3.5% 70px;
    background: linear-gradient(90deg, rgba(0,0,0,.95) 0%, rgba(0,0,0,.78) 32%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.1) 100%), url('/images/hero-business.webp');
    background-size: cover;
    background-position: center right;
    display: flex;
    align-items: center;
}

.hero-text {
    max-width: 560px;
    position: relative;
    z-index: 2;
}

.hero-visual {
    display: none;
}

.hero h1 {
    font-size: clamp(54px, 6.3vw, 92px);
    line-height: .92;
    margin: 0 0 24px;
    letter-spacing: -3px;
}

    .hero h1 span {
        color: var(--signal-orange);
    }

.hero-p {
    max-width: 520px;
    font-size: 19px;
    line-height: 1.55;
    color: #e0e0e0;
}

.hero-actions {
    display: flex;
    gap: 18px;
    margin-top: 34px;
}

.btn {
    display: inline-block;
    padding: 16px 26px;
    border-radius: 9px;
    text-decoration: none;
    font-weight: 900;
}

.primary {
    background: var(--signal-orange);
    color: white;
}

.secondary {
    border: 1px solid var(--signal-orange);
    color: white;
    background: rgba(0,0,0,.25);
}

.btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 45px rgba(255,106,0,.2);
}

.hero-visual {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .hero-visual::before {
        content: "";
        position: absolute;
        width: 680px;
        height: 680px;
        background: radial-gradient(circle, rgba(255,106,0,.28), transparent 65%);
        filter: blur(25px);
    }

    .hero-visual img {
        position: relative;
        z-index: 2;
        width: 118%;
        max-width: none;
        filter: drop-shadow(0 45px 70px rgba(0,0,0,.75));
        animation: float 6s ease-in-out infinite;
    }

@keyframes float {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-14px);
    }
}

/* SECTIONS */

.section {
    padding: 100px 7%;
}

.center {
    text-align: center;
}

.section h2 {
    text-align: center;
    font-size: clamp(34px, 4vw, 58px);
    line-height: 1.05;
    margin: 0 auto 55px;
    max-width: 850px;
    letter-spacing: -2px;
}

/* SERVICES */

.section {
    position: relative;
    padding: 120px 7%;
    background: radial-gradient(circle at 50% 20%, rgba(255,106,0,.12), transparent 35%), var(--carbon-black);
}

.cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 34px;
    max-width: 1200px;
    margin: 0 auto;
}

.card {
    position: relative;
    overflow: hidden;
    padding: 48px;
    min-height: 470px;
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.12);
    transition: .3s ease;
}

    .card::before {
        content: "";
        position: absolute;
        inset: -2px;
        background: radial-gradient(circle at top right, rgba(255,106,0,.35), transparent 35%);
        opacity: 0;
        transition: .3s;
    }

    .card:hover {
        transform: translateY(-10px);
        border-color: rgba(255,106,0,.45);
        box-shadow: 0 30px 80px rgba(255,106,0,.12);
    }

        .card:hover::before {
            opacity: 1;
        }

    .card > * {
        position: relative;
        z-index: 2;
    }

.card-icon {
    width: 68px;
    height: 68px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--signal-orange), #ff9440);
    font-size: 28px;
    margin-bottom: 30px;
    box-shadow: 0 18px 40px rgba(255,106,0,.25);
}

.card h3 {
    font-size: 34px;
    margin: 0 0 18px;
}

.card p {
    color: var(--body-grey);
    line-height: 1.7;
    font-size: 17px;
    max-width: 520px;
}

.card ul {
    list-style: none;
    padding: 0;
    margin: 34px 0 0;
}

.card li {
    margin: 15px 0;
    color: #eeeeee;
    font-size: 16px;
}

    .card li::before {
        content: "✓";
        color: var(--signal-orange);
        font-weight: 900;
        margin-right: 12px;
    }

.card a {
    display: inline-block;
    margin-top: 30px;
    color: white;
    text-decoration: none;
    border: 1px solid var(--signal-orange);
    padding: 14px 22px;
    border-radius: 10px;
    font-weight: 800;
}

    .card a:hover {
        background: var(--signal-orange);
    }

.service-showcases {
    max-width: 1320px;
    margin: 72px auto 0;
    border-top: 1px solid rgba(255,255,255,.12);
}

.service-showcase {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(44px, 7vw, 104px);
    padding: clamp(72px, 8vw, 118px) 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.service-showcase-reverse .service-showcase-copy {
    order: 2;
}

.service-showcase-reverse .service-showcase-image {
    order: 1;
}

.service-kicker {
    margin: 0 0 18px;
    color: var(--signal-orange);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .16em;
}

.service-showcase-copy h3 {
    max-width: 620px;
    margin: 0 0 25px;
    font-size: clamp(38px, 4vw, 64px);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.service-showcase-copy > p:not(.service-kicker) {
    max-width: 610px;
    margin: 0;
    color: #bdbdbd;
    font-size: 17px;
    line-height: 1.75;
}

.service-showcase-copy ul {
    display: grid;
    gap: 13px;
    margin: 30px 0 36px;
    padding: 0;
    list-style: none;
}

.service-showcase-copy li {
    display: flex;
    align-items: center;
    gap: 11px;
    color: #f1f1f1;
    font-size: 16px;
}

.service-showcase-copy li svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    color: var(--signal-orange);
    stroke-width: 3;
}

.service-showcase-copy .btn {
    display: inline-flex;
    margin-top: 0;
}

.service-showcase-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 10px;
    background: var(--raised-black);
    box-shadow: 0 34px 90px rgba(0,0,0,.42);
}

.service-showcase-image::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(255,106,0,.08);
}

.service-showcase-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .7s cubic-bezier(.2,.75,.25,1);
}

.service-showcase:hover .service-showcase-image img {
    transform: scale(1.025);
}

@media (max-width: 900px) {
    .service-showcases {
        margin-top: 50px;
    }

    .service-showcase {
        grid-template-columns: 1fr;
        gap: 38px;
        padding: 68px 0;
    }

    .service-showcase-reverse .service-showcase-copy,
    .service-showcase-reverse .service-showcase-image {
        order: initial;
    }

    .service-showcase-image {
        aspect-ratio: 16 / 11;
    }
}

@media (max-width: 560px) {
    .service-showcase-copy h3 {
        font-size: 38px;
    }

    .service-showcase-copy > p:not(.service-kicker) {
        font-size: 16px;
    }

    .service-showcase-image {
        aspect-ratio: 4 / 3;
        border-radius: 8px;
    }
}

/* WHY */

.why {
    position: relative;
    padding: 120px 7%;
    background: radial-gradient(circle at 50% 35%, rgba(255,106,0,.10), transparent 35%), var(--carbon-black);
}

.why-grid {
    max-width: 1250px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 26px;
}

    .why-grid div {
        position: relative;
        overflow: hidden;
        min-height: 260px;
        padding: 42px 28px;
        text-align: center;
        border-radius: 26px;
        background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
        border: 1px solid rgba(255,255,255,.1);
        transition: .3s ease;
    }

        .why-grid div::before {
            content: "";
            position: absolute;
            inset: 0;
            background: radial-gradient(circle at top, rgba(255,106,0,.22), transparent 45%);
            opacity: 0;
            transition: .3s ease;
        }

        .why-grid div:hover {
            transform: translateY(-10px);
            border-color: rgba(255,106,0,.45);
            box-shadow: 0 30px 70px rgba(255,106,0,.12);
        }

            .why-grid div:hover::before {
                opacity: 1;
            }

    .why-grid span {
        position: relative;
        z-index: 2;
        width: 76px;
        height: 76px;
        margin: 0 auto 26px;
        border-radius: 22px;
        display: grid;
        place-items: center;
        background: linear-gradient(135deg, var(--signal-orange), var(--signal-orange-light));
        box-shadow: 0 20px 45px rgba(255,106,0,.25);
        font-size: 34px;
    }

    .why-grid h3,
    .why-grid p {
        position: relative;
        z-index: 2;
    }

    .why-grid h3 {
        font-size: 24px;
        margin: 0 0 14px;
    }

    .why-grid p {
        color: var(--body-grey);
        line-height: 1.6;
        margin: 0 auto;
        max-width: 220px;
    }
/*CONTACT*/

.contact {
    max-width: 1200px;
    margin: 40px auto 100px;
    padding: 60px 70px;
    border-radius: 30px;
    background: radial-gradient(circle at top right, rgba(255,106,0,.30), transparent 45%), linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
    border: 1px solid rgba(255,106,0,.35);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    box-shadow: 0 30px 90px rgba(255,106,0,.10);
}

    .contact h2 {
        font-size: 44px;
        margin: 0 0 14px;
        line-height: 1.1;
    }

    .contact p {
        color: var(--body-grey);
        font-size: 18px;
        margin: 0;
    }

    .contact .tag {
        color: var(--signal-orange);
        margin-bottom: 12px;
    }

/* FOOTER */

footer {
    padding: 35px 7%;
    color: #888;
    text-align: center;
    border-top: 1px solid rgba(255,255,255,.08);
}

/* Shared shell for public sub-pages */
.public-skip-link {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 16px;
    padding: 10px 14px;
    border-radius: 8px;
    background: var(--signal-orange);
    color: #fff;
    font-weight: 800;
    transform: translateY(-180%);
    transition: transform .2s ease;
}

.public-skip-link:focus {
    transform: translateY(0);
}

.public-page-footer nav {
    display: flex;
    align-items: center;
    gap: 18px;
}

.public-page-footer a {
    color: var(--body-grey);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.public-page-footer a:hover,
.public-page-footer a:focus-visible {
    color: var(--signal-orange);
}

.public-page-footer {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 30px 0 42px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    border-top: 1px solid rgba(255,255,255,.08);
}

.public-page-footer strong,
.public-page-footer span {
    display: block;
}

.public-page-footer strong {
    color: #fff;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.public-page-footer span {
    max-width: 340px;
    margin-top: 7px;
    color: var(--muted-grey);
    font-size: 12px;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .public-page-footer {
        width: calc(100% - 28px);
        flex-direction: column;
    }
}

.hero-text .current-offer-pill,
.service-hero .current-offer-pill,
.subscription-summary .current-offer-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin: 10px 0 18px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 106, 0, .34);
    border-radius: 999px;
    background: rgba(255, 106, 0, .09);
    color: #ff8a36;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.current-offer-pill svg {
    width: 15px;
    height: 15px;
}

.current-offer-terms,
.subscription-offer-note {
    color: rgba(255, 255, 255, .6);
    font-size: .82rem;
    line-height: 1.6;
}

.service-hero .current-offer-terms {
    margin: -6px 0 25px;
    max-width: none;
    color: rgba(255, 255, 255, .6);
    font-size: .82rem;
    line-height: 1.6;
}

.subscription-offer-note {
    margin: 0 0 15px;
    padding: 10px 12px;
    border-left: 2px solid var(--signal-orange);
    background: rgba(255, 106, 0, .055);
}

.footer-legal-identity,
.subscription-legal-identity,
.legal-business-identity {
    color: rgba(255, 255, 255, .42);
    font-size: .72rem;
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.55;
}

.footer-legal-identity {
    margin: 7px auto 0;
}

.subscription-legal-identity {
    margin: 10px 0 0;
    text-align: center;
}

.legal-business-identity {
    margin: -4px 0 24px;
}

.legal-business-identity a {
    color: rgba(255, 255, 255, .58);
}

/* RESPONSIVE */

@media (max-width: 1000px) {
    .nav nav {
        display: none;
    }

    .hero {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .hero-p {
        margin: 0 auto;
    }

    .hero-actions {
        justify-content: center;
    }

    .hero-visual img {
        width: 100%;
    }

    .cards,
    .why-grid {
        grid-template-columns: 1fr 1fr;
    }

    .contact {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 650px) {
    .nav {
        width: 92%;
    }

    .nav-btn {
        display: none;
    }

    .hero {
        padding: 130px 6% 60px;
    }

        .hero h1 {
            font-size: 48px;
        }

    .hero-actions {
        flex-direction: column;
    }

    .cards,
    .why-grid {
        grid-template-columns: 1fr;
    }

    .contact {
        margin: 60px 6%;
        padding: 36px;
    }
}


/* ------------------------------
   SMOOTH NAV ANIMATIONS
------------------------------ */

.nav {
    transition: background .35s ease, border-color .35s ease, box-shadow .35s ease;
}

    .nav:hover {
        background: rgba(18,18,18,.92);
        border-color: rgba(255,106,0,.22);
        box-shadow: 0 20px 60px rgba(0,0,0,.35);
    }

.brand {
    transition: transform .3s ease, opacity .3s ease;
}

    .brand:hover {
        transform: scale(1.04);
    }

.nav nav a {
    position: relative;
    transition: color .3s ease, transform .3s ease;
}

    .nav nav a::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -9px;
        width: 100%;
        height: 2px;
        border-radius: 999px;
        background: var(--signal-orange);
        transform: translateX(-50%) scaleX(0);
        transform-origin: center;
        transition: transform .3s ease;
    }

    .nav nav a:hover {
        color: var(--clear-white);
        transform: translateY(-2px);
    }

        .nav nav a:hover::after {
            transform: translateX(-50%) scaleX(1);
        }

.nav-btn {
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}

    .nav-btn:hover {
        transform: translateY(-3px);
        background: #ff7a1a;
        box-shadow: 0 14px 34px rgba(255,106,0,.35);
    }

/* Fade navbar items in smoothly on load */
.nav > * {
    opacity: 0;
    transform: translateY(-14px);
    animation: navFade .7s ease forwards;
}

    .nav > *:nth-child(1) {
        animation-delay: .05s;
    }

    .nav > *:nth-child(2) {
        animation-delay: .15s;
    }

    .nav > *:nth-child(3) {
        animation-delay: .25s;
    }

@keyframes navFade {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* QUOTE PAGE */

.quote-page {
    min-height: 100vh;
    padding: 40px 7%;
    background: linear-gradient(120deg, rgba(0,0,0,.92), rgba(0,0,0,.7)), url('/images/hero-business.webp');
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
}

.quote-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    color: white;
    text-decoration: none;
    font-weight: 900;
    line-height: .95;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 1px;
    width: fit-content;
}

    .quote-logo span {
        color: var(--signal-orange);
        font-size: 38px;
    }

.quote-card {
    width: 100%;
    max-width: 900px;
    margin: auto;
    padding: 55px;
    border-radius: 30px;
    background: rgba(10,10,10,.82);
    border: 1px solid rgba(255,255,255,.12);
    backdrop-filter: blur(20px);
    box-shadow: 0 40px 100px rgba(0,0,0,.6);
}

.quote-intro {
    text-align: center;
    margin-bottom: 35px;
}

    .quote-intro h1 {
        font-size: clamp(42px, 5vw, 68px);
        line-height: .95;
        margin: 0 0 18px;
    }

    .quote-intro p {
        color: var(--body-grey);
        font-size: 18px;
    }

.quote-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.quote-form input,
.quote-form select,
.quote-form textarea {
    width: 100%;
    padding: 18px;
    border-radius: 13px;
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(255,255,255,.06);
    color: white;
    font-size: 16px;
    outline: none;
}

    .quote-form input:focus,
    .quote-form select:focus,
    .quote-form textarea:focus {
        border-color: var(--signal-orange);
        box-shadow: 0 0 25px rgba(255,106,0,.15);
    }

.quote-form textarea {
    resize: none;
}

.quote-form button {
    border: none;
    cursor: pointer;
    margin-top: 8px;
}

@media (max-width: 700px) {
    .quote-card {
        padding: 35px 24px;
    }

    .form-row {
        grid-template-columns: 1fr;
    }
}

.service-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.service-option {
    cursor: pointer;
}

    .service-option input {
        display: none;
    }

    .service-option span {
        display: block;
        padding: 18px;
        border-radius: 15px;
        background: rgba(255,255,255,.06);
        border: 1px solid rgba(255,255,255,.1);
        transition: .25s ease;
    }

    .service-option strong {
        display: block;
        color: white;
        margin-bottom: 8px;
    }

    .service-option small {
        color: var(--body-grey);
        line-height: 1.4;
    }

    .service-option input:checked + span {
        border-color: var(--signal-orange);
        background: rgba(255,106,0,.16);
        box-shadow: 0 0 25px rgba(255,106,0,.18);
    }

    .service-option span:hover {
        border-color: rgba(255,106,0,.7);
        transform: translateY(-3px);
    }

@media (max-width: 700px) {
    .service-options {
        grid-template-columns: 1fr;
    }
}

.service-title {
    margin: 10px 0 20px;
}

    .service-title h3 {
        margin: 0;
        color: white;
        font-size: 22px;
        font-weight: 700;
    }

    .service-title p {
        margin: 6px 0 0;
        color: #9e9e9e;
        font-size: 15px;
    }

.service-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.service-option {
    display: flex;
}

    .service-option span {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        min-height: 110px;
        padding: 22px;
        border-radius: 15px;
        background: rgba(255,255,255,.06);
        border: 1px solid rgba(255,255,255,.1);
        transition: .25s ease;
    }

    .service-option strong {
        display: block;
        margin-bottom: 8px;
        font-size: 22px;
    }

    .service-option small {
        display: block;
        line-height: 1.5;
        color: #bdbdbd;
    }





/* MOBILE FIXES */

@media (max-width: 900px) {

    .nav {
        width: 94%;
        top: 12px;
        height: 68px;
        padding: 0 18px;
    }

        .nav nav {
            display: none;
        }

    .brand span {
        font-size: 32px;
    }

    .nav-btn {
        padding: 12px 16px;
        font-size: 14px;
    }

    .hero {
        min-height: 100vh;
        padding: 140px 6% 80px;
        background: linear-gradient( to bottom, rgba(0,0,0,.92) 0%, rgba(0,0,0,.82) 42%, rgba(0,0,0,.55) 100% ), url('/images/hero-business.webp');
        background-size: cover;
        background-position: center right;
        align-items: flex-start;
    }

    .hero-text {
        max-width: 100%;
    }

    .hero h1 {
        font-size: 52px;
        line-height: .95;
        letter-spacing: -2px;
    }

    .hero-p {
        font-size: 17px;
        max-width: 100%;
    }

    .hero-actions {
        flex-direction: column;
        width: 100%;
    }

        .hero-actions .btn {
            width: 100%;
            text-align: center;
        }

    .cards,
    .why-grid,
    .service-options,
    .form-row {
        grid-template-columns: 1fr;
    }

    .section {
        padding: 80px 6%;
    }

        .section h2 {
            font-size: 40px;
        }

    .card {
        padding: 34px 28px;
        min-height: auto;
    }

    .why {
        padding: 80px 6%;
    }

    .why-grid div {
        min-height: auto;
    }

    .contact {
        margin: 60px 6%;
        padding: 36px 28px;
        flex-direction: column;
        text-align: center;
    }

    .quote-page {
        padding: 25px 5%;
    }

    .quote-card {
        padding: 34px 24px;
        border-radius: 24px;
    }

    .quote-intro h1 {
        font-size: 44px;
    }

    .quote-intro p {
        font-size: 16px;
    }
}

@media (max-width: 480px) {

    .nav {
        height: 64px;
        border-radius: 14px;
    }

    .brand {
        font-size: 11px;
    }

        .brand span {
            font-size: 28px;
        }

    .nav-btn {
        font-size: 13px;
        padding: 11px 14px;
    }

    .hero {
        padding-top: 125px;
        background-position: 65% center;
    }

    .tag {
        font-size: 11px;
        letter-spacing: 2px;
    }

    .hero h1 {
        font-size: 44px;
    }

    .hero-p {
        font-size: 16px;
    }

    .btn {
        padding: 15px 20px;
    }

    .section h2 {
        font-size: 34px;
        letter-spacing: -1px;
    }

    .card h3 {
        font-size: 28px;
    }

    .contact h2 {
        font-size: 36px;
    }

    .quote-intro h1 {
        font-size: 38px;
    }
}



.menu-toggle {
    display: none;
    width: 46px;
    height: 46px;
    background: transparent;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    cursor: pointer;
    z-index: 1002;
}

    .menu-toggle span {
        display: block;
        width: 24px;
        height: 2px;
        margin: 6px auto;
        background: white;
        border-radius: 10px;
        transition: .3s ease;
    }

    /* Hamburger → X Animation */

    .menu-toggle.active span:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .menu-toggle.active span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }

.mobile-quote {
    display: none;
}

@media (max-width: 900px) {
    .menu-toggle {
        display: block;
    }

    .desktop-quote {
        display: none;
    }

    .mobile-quote {
        display: inline-block;
    }

    .nav-links {
        position: fixed;
        top: 92px;
        right: 3%;
        width: 240px;
        padding: 28px;
        border-radius: 18px;
        background: rgba(8,8,8,.96);
        border: 1px solid rgba(255,255,255,.12);
        backdrop-filter: blur(20px);
        flex-direction: column;
        gap: 22px;
        display: none !important;
    }

        .nav-links.active {
            display: flex !important;
        }
}

/* ADMIN DASHBOARD */

.admin-page {
    min-height: 100vh;
    padding: 60px 7%;
    background: radial-gradient(circle at top right, rgba(255,106,0,.18), transparent 35%), var(--carbon-black);
    color: white;
}

.admin-header {
    max-width: 1200px;
    margin: 0 auto 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

    .admin-header h1 {
        font-size: clamp(42px, 5vw, 72px);
        margin: 0 0 12px;
        line-height: .95;
    }

    .admin-header p {
        color: var(--body-grey);
    }

.admin-stats {
    max-width: 1200px;
    margin: 0 auto 30px;
}

    .admin-stats div {
        width: 260px;
        padding: 28px;
        border-radius: 22px;
        background: rgba(255,255,255,.05);
        border: 1px solid rgba(255,255,255,.1);
    }

    .admin-stats span {
        display: block;
        color: var(--body-grey);
        margin-bottom: 10px;
    }

    .admin-stats strong {
        font-size: 44px;
        color: var(--signal-orange);
    }

.enquiry-list {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    gap: 22px;
}

.enquiry-card {
    padding: 30px;
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.1);
}

.enquiry-top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

    .enquiry-top h2 {
        margin: 0 0 5px;
        font-size: 28px;
    }

    .enquiry-top p,
    .enquiry-top span {
        margin: 0;
        color: #aaa;
    }

.enquiry-service {
    display: inline-block;
    margin-bottom: 18px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255,106,0,.15);
    color: var(--signal-orange);
    font-weight: 800;
}

.enquiry-details {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

    .enquiry-details p {
        margin: 0;
        color: #ddd;
    }

.enquiry-message {
    margin-top: 20px;
    padding: 20px;
    border-radius: 16px;
    background: rgba(0,0,0,.35);
    color: #e5e5e5;
    line-height: 1.6;
}

.empty-state {
    padding: 60px;
    text-align: center;
    border-radius: 24px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
}

.empty-state h3 {
    margin: 0 0 10px;
    color: var(--clear-white);
    font-size: clamp(24px, 3vw, 34px);
}

@media (max-width: 700px) {
    .admin-header,
    .enquiry-top {
        flex-direction: column;
        align-items: flex-start;
    }

    .enquiry-details {
        grid-template-columns: 1fr;
    }

    .admin-stats div {
        width: 100%;
    }
}


.login-page {
    min-height: 100vh;
    padding: 40px 7%;
    background: linear-gradient(120deg, rgba(0,0,0,.92), rgba(0,0,0,.72)), url('/images/hero-business.webp');
    background-size: cover;
    background-position: center;
    display: grid;
    place-items: center;
}

.login-card {
    width: 100%;
    max-width: 480px;
    padding: 45px;
    border-radius: 28px;
    background: rgba(10,10,10,.86);
    border: 1px solid rgba(255,255,255,.12);
    backdrop-filter: blur(20px);
    box-shadow: 0 40px 100px rgba(0,0,0,.6);
}

    .login-card h1 {
        font-size: 54px;
        margin: 0 0 15px;
    }

    .login-card p {
        color: var(--body-grey);
        line-height: 1.6;
    }

    .login-card input {
        width: 100%;
        padding: 18px;
        margin: 25px 0 18px;
        border-radius: 13px;
        border: 1px solid rgba(255,255,255,.1);
        background: rgba(255,255,255,.06);
        color: white;
        font-size: 16px;
        outline: none;
    }

.login-error {
    margin-top: 20px;
    padding: 14px;
    border-radius: 12px;
    background: rgba(255,0,0,.12);
    border: 1px solid rgba(255,0,0,.35);
    color: #ffb3b3;
}

.admin-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.admin-stats {
    max-width: 1200px;
    margin: 0 auto 30px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

    .admin-stats div {
        width: auto;
    }

.admin-search {
    max-width: 1200px;
    margin: 0 auto 35px;
    display: flex;
    gap: 14px;
}

    .admin-search input {
        flex: 1;
        padding: 17px;
        border-radius: 12px;
        border: 1px solid rgba(255,255,255,.1);
        background: rgba(255,255,255,.06);
        color: white;
        font-size: 16px;
        outline: none;
    }

    .admin-search button,
    .admin-search a,
    .mini-btn {
        border: 1px solid rgba(255,106,0,.45);
        background: rgba(255,106,0,.12);
        color: white;
        padding: 13px 18px;
        border-radius: 10px;
        text-decoration: none;
        font-weight: 800;
        cursor: pointer;
    }

        .admin-search button:hover,
        .admin-search a:hover,
        .mini-btn:hover {
            background: var(--signal-orange);
        }

.enquiry-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.status-badge {
    padding: 8px 13px;
    border-radius: 999px;
    font-weight: 900;
    font-size: 13px;
}

    .status-badge.new {
        background: rgba(255,106,0,.18);
        color: var(--signal-orange);
    }

    .status-badge.contacted {
        background: rgba(0,140,255,.18);
        color: #4da6ff;
    }

    .status-badge.completed {
        background: rgba(47,191,91,.18);
        color: #2fbf5b;
    }

.enquiry-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

    .enquiry-buttons form {
        margin: 0;
    }

.mini-btn {
    font-size: 14px;
}

    .mini-btn.danger {
        border-color: rgba(255,68,68,.45);
        background: rgba(255,68,68,.12);
    }

        .mini-btn.danger:hover {
            background: #ff4444;
        }

@media (max-width: 800px) {
    .admin-stats {
        grid-template-columns: 1fr 1fr;
    }

    .admin-search {
        flex-direction: column;
    }

    .enquiry-meta {
        align-items: flex-start;
    }
}

@media (max-width: 500px) {
    .admin-stats {
        grid-template-columns: 1fr;
    }

    .enquiry-buttons {
        flex-direction: column;
    }

    .mini-btn {
        width: 100%;
        text-align: center;
    }
}

.portfolio-section {
    background: radial-gradient(circle at 50% 20%, rgba(255,106,0,.10), transparent 35%), var(--carbon-black);
}

.portfolio-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    gap: 34px;
}

.portfolio-card {
    overflow: hidden;
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.12);
    display: grid;
    grid-template-columns: 1.2fr .8fr;
}

.portfolio-image {
    background: var(--carbon-black);
    display: flex;
    align-items: center;
    justify-content: center;
}

    .portfolio-image img {
        width: 100%;
        aspect-ratio: 16 / 9;
        height: auto;
        max-height: 420px;
        object-fit: cover;
        display: block;
    }

.portfolio-content {
    padding: 45px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

    .portfolio-content span {
        color: var(--signal-orange);
        font-weight: 900;
        letter-spacing: 2px;
        font-size: 13px;
    }

    .portfolio-content h3 {
        font-size: 38px;
        margin: 14px 0;
    }

    .portfolio-content p {
        color: var(--body-grey);
        line-height: 1.7;
    }

    .portfolio-content a {
        margin-top: 25px;
        color: white;
        text-decoration: none;
        border: 1px solid var(--signal-orange);
        padding: 14px 22px;
        border-radius: 10px;
        width: fit-content;
        font-weight: 800;
    }

        .portfolio-content a:hover {
            background: var(--signal-orange);
        }

@media (max-width: 800px) {
    .portfolio-card {
        grid-template-columns: 1fr;
    }
}

/* PORTFOLIO ADMIN */

.portfolio-admin-form {
    max-width: 1200px;
    margin: 0 auto 45px;
    padding: 40px;
    border-radius: 26px;
    background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.1);
}

    .portfolio-admin-form h2 {
        margin-top: 0;
        font-size: 34px;
    }

    .portfolio-admin-form input,
    .portfolio-admin-form textarea {
        width: 100%;
        padding: 18px;
        border-radius: 13px;
        border: 1px solid rgba(255,255,255,.1);
        background: rgba(255,255,255,.06);
        color: white;
        font-size: 16px;
        outline: none;
        margin-bottom: 18px;
    }

        .portfolio-admin-form input:focus,
        .portfolio-admin-form textarea:focus {
            border-color: var(--signal-orange);
            box-shadow: 0 0 25px rgba(255,106,0,.15);
        }

.featured-check {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 24px;
    color: var(--body-grey);
}

    .featured-check input {
        width: auto;
        margin: 0;
    }

.portfolio-admin-list {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    gap: 22px;
}

.portfolio-admin-card {
    overflow: hidden;
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 30px;
    padding: 28px;
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.1);
}

    .portfolio-admin-card img {
        width: 100%;
        height: 220px;
        object-fit: cover;
        border-radius: 18px;
    }

    .portfolio-admin-card span {
        color: var(--signal-orange);
        font-weight: 900;
        letter-spacing: 2px;
        font-size: 13px;
    }

    .portfolio-admin-card h2 {
        font-size: 32px;
        margin: 10px 0;
    }

    .portfolio-admin-card p {
        color: var(--body-grey);
        line-height: 1.7;
    }

    .portfolio-admin-card a {
        color: white;
        text-decoration: none;
        font-weight: 800;
        display: inline-block;
        margin: 10px 0 20px;
    }

@media (max-width: 800px) {
    .portfolio-admin-card {
        grid-template-columns: 1fr;
    }
}

.portfolio-edit-form {
    width: 100%;
}

    .portfolio-edit-form input,
    .portfolio-edit-form textarea {
        width: 100%;
        padding: 15px;
        border-radius: 12px;
        border: 1px solid rgba(255,255,255,.1);
        background: rgba(255,255,255,.06);
        color: white;
        font-size: 15px;
        outline: none;
        margin-bottom: 14px;
    }

.portfolio-admin-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.portfolio-admin-card {
    align-items: start;
}

.portfolio-admin-content {
    width: 100%;
}

    .portfolio-admin-content > form:last-child {
        margin-top: 12px;
    }

.success-popup {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.75);
    backdrop-filter: blur(8px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 20px;
}

    .success-popup.show {
        display: flex;
    }

.success-box {
    width: 100%;
    max-width: 480px;
    padding: 45px;
    border-radius: 28px;
    background: radial-gradient(circle at top, rgba(255,106,0,.25), transparent 45%), #101010;
    border: 1px solid rgba(255,106,0,.35);
    text-align: center;
    box-shadow: 0 40px 100px rgba(0,0,0,.7);
    animation: popupIn .35s ease forwards;
}

.success-icon {
    width: 78px;
    height: 78px;
    margin: 0 auto 22px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--signal-orange);
    color: white;
    font-size: 42px;
    font-weight: 900;
}

.success-box h2 {
    font-size: 38px;
    margin: 0 0 12px;
}

.success-box p {
    color: var(--body-grey);
    line-height: 1.6;
    margin-bottom: 28px;
}

@keyframes popupIn {
    from {
        opacity: 0;
        transform: translateY(20px) scale(.95);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.testimonial-admin-list {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    gap: 22px;
}

.testimonial-admin-card {
    padding: 32px;
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.1);
}

.stars {
    color: var(--signal-orange);
    font-size: 24px;
    margin-bottom: 14px;
}

.testimonial-admin-card p {
    color: #e5e5e5;
    line-height: 1.7;
    font-size: 18px;
}

.testimonial-admin-card h3 {
    margin: 18px 0 4px;
    font-size: 24px;
}

.testimonial-admin-card small {
    color: #aaa;
    display: block;
    margin-bottom: 20px;
}

.portfolio-admin-form select {
    width: 100%;
    padding: 18px;
    border-radius: 13px;
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(255,255,255,.06);
    color: white;
    font-size: 16px;
    outline: none;
    margin-bottom: 18px;
}

.portfolio-admin-form option {
    background: #111;
    color: white;
}

.testimonials-section {
    background: radial-gradient(circle at 50% 20%, rgba(255,106,0,.10), transparent 35%), var(--carbon-black);
}

.testimonial-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}

.testimonial-card {
    padding: 36px;
    border-radius: 26px;
    background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.1);
}

    .testimonial-card p {
        color: #e5e5e5;
        line-height: 1.7;
        font-size: 17px;
    }

.testimonial-person {
    margin-top: 24px;
}

    .testimonial-person strong {
        display: block;
        color: white;
        font-size: 18px;
    }

    .testimonial-person span {
        color: #aaa;
    }

@media (max-width: 900px) {
    .testimonial-grid {
        grid-template-columns: 1fr;
    }
}

.dashboard-grid {
    max-width: 1200px;
    margin: 40px auto;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
    gap: 24px;
}

.dashboard-card {
    display: block;
    padding: 38px;
    border-radius: 24px;
    text-decoration: none;
    color: white;
    background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.1);
    transition: .3s ease;
}

    .dashboard-card:hover {
        transform: translateY(-8px);
        border-color: rgba(255,106,0,.5);
        box-shadow: 0 25px 60px rgba(255,106,0,.15);
    }

.dashboard-icon {
    font-size: 48px;
    margin-bottom: 22px;
}

.dashboard-card h2 {
    margin: 0 0 10px;
    font-size: 30px;
}

.dashboard-card p {
    color: var(--body-grey);
    line-height: 1.6;
}

.dashboard-card.logout {
    border-color: rgba(255,80,80,.3);
}

    .dashboard-card.logout:hover {
        border-color: rgba(255,80,80,.6);
        box-shadow: 0 25px 60px rgba(255,80,80,.15);
    }

/* WEBSITE DESIGN PAGE - PREMIUM */

.service-page {
    min-height: 100vh;
    padding: 38px 7% 90px;
    background: radial-gradient(circle at 85% 5%, rgba(255,106,0,.22), transparent 34%), radial-gradient(circle at 15% 45%, rgba(255,106,0,.08), transparent 30%), var(--carbon-black);
    color: white;
}

.service-hero {
    max-width: 1120px;
    margin: 95px auto 100px;
    text-align: center;
}

    .service-hero h1 {
        font-size: clamp(52px, 7vw, 96px);
        line-height: .92;
        letter-spacing: -4px;
        margin: 0 0 30px;
    }

    .service-hero p {
        max-width: 830px;
        margin: 0 auto 36px;
        color: #d6d6d6;
        font-size: 20px;
        line-height: 1.75;
    }

.service-feature-grid {
    max-width: 1200px;
    margin: 0 auto 110px;
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 24px;
}

.service-feature-card {
    position: relative;
    overflow: hidden;
    min-height: 310px;
    padding: 38px;
    border-radius: 30px;
    background: linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.11);
}

    .service-feature-card:first-child {
        grid-row: span 2;
        min-height: 645px;
        background: radial-gradient(circle at top right, rgba(255,106,0,.32), transparent 45%), linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.025));
    }

    .service-feature-card::after {
        content: "";
        position: absolute;
        inset: auto -40px -80px auto;
        width: 180px;
        height: 180px;
        background: rgba(255,106,0,.14);
        filter: blur(35px);
    }

    .service-feature-card span {
        width: 66px;
        height: 66px;
        border-radius: 20px;
        display: grid;
        place-items: center;
        background: linear-gradient(135deg, var(--signal-orange), var(--signal-orange-light));
        font-size: 30px;
        margin-bottom: 26px;
        box-shadow: 0 18px 45px rgba(255,106,0,.25);
    }

    .service-feature-card h2 {
        font-size: 30px;
        margin: 0 0 16px;
    }

    .service-feature-card:first-child h2 {
        font-size: 44px;
    }

.customer-chart-fallback {
    display: grid;
    min-height: 315px;
    place-items: center;
    margin: 0;
    padding: 24px;
    color: var(--body-grey);
    text-align: center;
}

    .service-feature-card p {
        color: var(--body-grey);
        line-height: 1.75;
        font-size: 17px;
    }

.ownership-section,
.care-section {
    max-width: 1200px;
    margin: 0 auto 110px;
    padding: 70px;
    border-radius: 34px;
    background: radial-gradient(circle at top right, rgba(255,106,0,.26), transparent 42%), linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.025));
    border: 1px solid rgba(255,106,0,.22);
    text-align: left;
}

    .ownership-section h2,
    .care-section h2,
    .process-section h2,
    .optional-section h2,
    .service-cta h2 {
        font-size: clamp(38px, 5vw, 68px);
        line-height: .98;
        letter-spacing: -2px;
        margin: 0 0 26px;
    }

    .ownership-section > p,
    .care-section > p {
        max-width: 850px;
        color: #d5d5d5;
        font-size: 18px;
        line-height: 1.8;
    }

.ownership-points {
    margin-top: 42px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

    .ownership-points div {
        padding: 18px 20px;
        border-radius: 18px;
        background: rgba(0,0,0,.28);
        border: 1px solid rgba(255,255,255,.1);
        font-weight: 800;
    }

.process-section {
    max-width: 1200px;
    margin: 0 auto 110px;
    text-align: center;
}

.process-grid {
    margin-top: 50px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}



    .process-grid div {
        position: relative;
        padding: 34px 22px 0;
    }

    .process-grid span {
        position: relative;
        z-index: 2;
        width: 68px;
        height: 68px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 25px;
        border-radius: 50%;
        background: linear-gradient(135deg,var(--signal-orange),#ff8f2f);
        box-shadow: 0 0 0 8px var(--carbon-black), 0 20px 40px rgba(255,106,0,.35);
    }

    .process-grid h3 {
        font-size: 24px;
        margin: 0 0 12px;
    }

    .process-grid p {
        color: var(--body-grey);
        line-height: 1.65;
        margin: 0;
    }

.optional-section {
    max-width: 1200px;
    margin: 0 auto 110px;
    text-align: center;
}

    .optional-section > p,
    .service-cta > p {
        max-width: 760px;
        margin: 0 auto 34px;
        color: var(--body-grey);
        line-height: 1.75;
        font-size: 18px;
    }

.optional-grid {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
}

    .optional-grid span {
        padding: 14px 20px;
        border-radius: 999px;
        background: rgba(255,255,255,.065);
        border: 1px solid rgba(255,255,255,.11);
        color: #f1f1f1;
        font-weight: 800;
    }

        .optional-grid span:hover {
            border-color: rgba(255,106,0,.55);
            background: rgba(255,106,0,.12);
        }

.service-cta {
    max-width: 1200px;
    margin: 0 auto;
    padding: 70px 40px;
    text-align: center;
    border-radius: 34px;
    background: radial-gradient(circle at top, rgba(255,106,0,.35), transparent 44%), linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.025));
    border: 1px solid rgba(255,106,0,.32);
}

@media (max-width: 950px) {
    .service-feature-grid {
        grid-template-columns: 1fr;
    }

    .service-feature-card:first-child {
        grid-row: auto;
        min-height: auto;
    }

    .ownership-section,
    .care-section {
        padding: 42px 26px;
        text-align: center;
    }

    .ownership-points {
        grid-template-columns: 1fr;
    }

    .process-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

        .process-grid::before {
            display: none;
        }
}

.process-grid div:hover span {
    transform: scale(1.1);
    transition: .3s;
}

.process-grid div:hover h3 {
    color: var(--signal-orange);
}

.process-grid div:hover::after {
    width: 100%;
}


/* TERMS & CONDITIONS */

.legal-page {
    min-height: 100vh;
    padding: 150px 7% 80px;
    background: radial-gradient(circle at top right, rgba(255,106,0,.15), transparent 35%), var(--carbon-black);
    color: white;
}

.legal-container {
    max-width: 900px;
    margin: auto;
}

.legal-page {
    padding-top: 64px;
}

.legal-container h2 {
    scroll-margin-top: 110px;
}

.legal-toc {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px 16px;
    margin: 24px 0 36px;
    padding: 16px 18px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
    background: rgba(255,255,255,.035);
}

.legal-toc strong {
    width: 100%;
    color: #fff;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.legal-toc a {
    color: var(--body-grey);
    font-size: 13px;
    text-decoration: none;
}

.legal-toc a:hover,
.legal-toc a:focus-visible {
    color: var(--signal-orange);
}

    .legal-container h1 {
        font-size: clamp(48px, 6vw, 80px);
        margin-bottom: 35px;
        letter-spacing: -2px;
    }

    .legal-container h2 {
        margin-top: 40px;
        margin-bottom: 12px;
        color: var(--signal-orange);
        font-size: 28px;
    }

    .legal-container p {
        color: #d6d6d6;
        line-height: 1.8;
        font-size: 18px;
    }

@media (max-width:768px) {

    .legal-page {
        padding: 44px 6% 60px;
    }

    .legal-container h1 {
        font-size: 42px;
    }

    .legal-container h2 {
        font-size: 24px;
    }

    .legal-container p {
        font-size: 16px;
    }
}

/* Footer Links */

.footer-links {
    margin-top: 12px;
    display: flex;
    justify-content: center;
    gap: 18px;
}

    .footer-links a {
        color: #9e9e9e;
        text-decoration: none;
        transition: color .25s ease;
    }

        .footer-links a:hover {
            color: var(--signal-orange);
        }

        .footer-links a::after {
            content: "";
            display: block;
            width: 100%;
            height: 2px;
            background: var(--signal-orange);
            transform: scaleX(0);
            transform-origin: left center;
            transition: transform .25s ease;
            margin-top: 4px;
        }

        .footer-links a:hover::after {
            transform: scaleX(1);
        }

/* NFC ADMIN STATS */

.nfc-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin: 24px 0;
}

.nfc-stat {
    padding: 18px;
    border-radius: 18px;
    background: rgba(255, 106, 0, 0.08);
    border: 1px solid rgba(255, 106, 0, 0.25);
}

    .nfc-stat span {
        display: block;
        color: #aaa;
        font-size: 13px;
        margin-bottom: 8px;
    }

    .nfc-stat strong {
        display: block;
        color: var(--clear-white);
        font-size: 24px;
    }

@media (max-width: 900px) {
    .nfc-stats-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.nfc-admin-card {
    padding: 34px;
    border-radius: 26px;
    background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.1);
    margin-bottom: 28px;
}

.customer-password-status {
    max-width: 1200px;
    margin: 0 auto 28px;
    padding: 18px 22px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    border: 1px solid rgba(57, 211, 83, .35);
    border-radius: 16px;
    background: rgba(57, 211, 83, .1);
    color: #bfffc9;
}

.customer-password-status span {
    color: #d5d5d5;
}

.customer-password-panel {
    margin-top: 16px;
    border: 1px solid rgba(255, 106, 0, .28);
    border-radius: 14px;
    background: rgba(255, 106, 0, .06);
}

.customer-password-panel summary {
    padding: 14px 16px;
    color: var(--clear-white);
    font-weight: 800;
    cursor: pointer;
}

.customer-password-panel form {
    padding: 2px 16px 16px;
}

.customer-password-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.customer-password-fields label span {
    display: block;
    margin-bottom: 7px;
    color: #c8c8c8;
    font-size: 13px;
    font-weight: 700;
}

.customer-password-fields input {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 10px;
    outline: none;
    background: rgba(255, 255, 255, .06);
    color: var(--clear-white);
}

.customer-password-fields input:focus {
    border-color: var(--signal-orange);
    box-shadow: 0 0 0 3px rgba(255, 106, 0, .12);
}

.customer-password-help {
    margin: 10px 0 14px;
    color: #999;
    font-size: 13px;
    line-height: 1.45;
}

.customer-password-error {
    margin: 0 0 14px;
    padding: 11px 13px;
    border: 1px solid rgba(255, 68, 68, .35);
    border-radius: 10px;
    background: rgba(255, 68, 68, .1);
    color: #ffb3b3;
}

@media (max-width: 650px) {
    .customer-password-fields {
        grid-template-columns: 1fr;
    }
}

.nfc-card-top h2 {
    font-size: 30px;
    margin-bottom: 24px;
}

.nfc-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.nfc-card-heading h2 {
    margin: 0 0 6px;
}

.nfc-card-heading p {
    margin: 0;
    color: #aaa;
}

.nfc-state-badge {
    flex: 0 0 auto;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
}

.nfc-state-badge.active {
    border: 1px solid rgba(57, 211, 83, .35);
    background: rgba(57, 211, 83, .12);
    color: #83f295;
}

.nfc-state-badge.disabled {
    border: 1px solid rgba(255, 68, 68, .35);
    background: rgba(255, 68, 68, .12);
    color: #ff9f9f;
}

.nfc-edit-panel {
    margin-top: 22px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 14px;
    background: rgba(255, 255, 255, .025);
}

.nfc-edit-panel summary {
    padding: 14px 16px;
    cursor: pointer;
    color: var(--clear-white);
    font-weight: 800;
}

.nfc-edit-panel form {
    padding: 2px 16px 16px;
}

.nfc-edit-panel label {
    display: block;
    margin-bottom: 13px;
}

.nfc-edit-panel label span {
    display: block;
    margin-bottom: 7px;
    color: #c8c8c8;
    font-size: 13px;
    font-weight: 700;
}

.nfc-edit-panel input {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 10px;
    outline: none;
    background: rgba(255, 255, 255, .06);
    color: var(--clear-white);
}

.nfc-edit-panel input:focus {
    border-color: var(--signal-orange);
    box-shadow: 0 0 0 3px rgba(255, 106, 0, .12);
}

.business-edit-panel {
    margin-bottom: 16px;
}

.business-edit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.business-edit-panel .business-active-toggle {
    margin: 4px 0 16px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 12px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: rgba(255, 255, 255, .035);
    cursor: pointer;
}

.business-edit-panel .business-active-toggle input {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin: 2px 0 0;
    padding: 0;
    accent-color: var(--signal-orange);
}

.business-active-toggle span,
.business-active-toggle strong,
.business-active-toggle small {
    display: block;
}

.business-active-toggle strong {
    margin-bottom: 4px;
    color: var(--clear-white);
}

.business-active-toggle small {
    color: #999;
    line-height: 1.4;
}

.portal-active {
    margin: 14px 0;
    padding: 12px 14px;
    border: 1px solid rgba(57, 211, 83, .28);
    border-radius: 12px;
    background: rgba(57, 211, 83, .08);
    color: #8cf29c;
    font-weight: 800;
}

.portal-active.disabled {
    border-color: rgba(255, 184, 0, .3);
    background: rgba(255, 184, 0, .08);
    color: #ffc85c;
}

@media (max-width: 650px) {
    .business-edit-grid {
        grid-template-columns: 1fr;
    }
}

.nfc-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.nfc-card-actions form {
    margin: 0;
}

.mini-btn.warning {
    border-color: rgba(255, 184, 0, .42);
    background: rgba(255, 184, 0, .1);
}

.mini-btn.warning:hover {
    background: #b97700;
}

.mini-btn.success {
    border-color: rgba(57, 211, 83, .42);
    background: rgba(57, 211, 83, .1);
}

.mini-btn.success:hover {
    background: #207c30;
}

.nfc-label {
    color: var(--signal-orange);
    font-weight: 800;
    margin: 18px 0 6px;
}

.nfc-link {
    color: #dcdcdc;
    word-break: break-all;
}

.dashboard {
    padding: 60px;
}

.dashboard-header {
    margin-bottom: 40px;
}

.stats {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 25px;
}

.stat-card {
    background: #171717;
    border-radius: 22px;
    padding: 35px;
    border: 1px solid rgba(255,255,255,.08);
    transition: .3s;
}

    .stat-card:hover {
        transform: translateY(-5px);
        border-color: var(--signal-orange);
    }

    .stat-card span {
        color: #888;
        font-size: 15px;
    }

    .stat-card h2 {
        font-size: 52px;
        color: white;
        margin-top: 15px;
    }

/* DS REVIEW HUB LAYOUT */

.review-hub-layout {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 280px 1fr;
    background: var(--carbon-black);
    color: white;
}

.review-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    padding: 30px 24px;
    box-sizing: border-box;
    overflow-y: auto;
    background: var(--raised-black);
    border-right: 1px solid rgba(255,255,255,.08);
    display: flex;
    flex-direction: column;
}

.review-logo {
    display: flex;
    align-items: center;
    gap: 14px;
    color: white;
    text-decoration: none;
    margin-bottom: 40px;
}

    .review-logo span {
        width: 48px;
        height: 48px;
        border-radius: 14px;
        background: linear-gradient(135deg, var(--signal-orange), #ff9440);
        display: grid;
        place-items: center;
        font-weight: 900;
    }

    .review-logo div {
        font-weight: 900;
        line-height: 1.05;
    }

.review-nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

    .review-nav a,
    .review-sidebar-bottom a {
        color: #bdbdbd;
        text-decoration: none;
        padding: 14px 16px;
        border-radius: 14px;
        transition: .25s ease;
        font-weight: 700;
    }

        .review-nav a:hover,
        .review-sidebar-bottom a:hover {
            background: rgba(255,106,0,.12);
            color: var(--signal-orange);
        }

.review-sidebar-bottom {
    margin-top: auto;
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

    .review-sidebar-bottom a {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

.review-main {
    padding: 34px;
}

.review-topbar {
    margin-bottom: 30px;
    padding: 24px 28px;
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
    border: 1px solid rgba(255,255,255,.08);
}

    .review-topbar p {
        margin: 0 0 6px;
        color: var(--signal-orange);
        font-weight: 800;
        letter-spacing: 1px;
        text-transform: uppercase;
        font-size: 13px;
    }

    .review-topbar h2 {
        margin: 0;
        font-size: 34px;
    }

@media (max-width: 900px) {
    .review-hub-layout {
        grid-template-columns: 1fr;
    }

    .review-sidebar {
        position: relative;
        height: auto;
    }

    .review-main {
        padding: 20px;
    }
}

.customer-login {
    color: #d6d6d6 !important;
    background: transparent;
    padding: 0;
    border-radius: 0;
}

    .customer-login:hover {
        color: var(--signal-orange) !important;
    }

/* CUSTOMER PORTAL PREMIUM DASHBOARD */

.portal-dashboard {
    min-height: 100vh;
    padding: 60px 7%;
    background: radial-gradient(circle at top right, rgba(255,106,0,.22), transparent 35%), var(--carbon-black);
    color: white;
}

.portal-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
    margin-bottom: 34px;
}

.portal-eyebrow {
    color: var(--signal-orange);
    font-weight: 900;
    letter-spacing: 1.5px;
    font-size: 13px;
    margin-bottom: 8px;
}

.portal-hero h1 {
    font-size: clamp(44px, 7vw, 82px);
    margin: 0;
    line-height: .95;
}

.portal-business {
    font-size: 20px;
    color: #e8e8e8;
    margin: 18px 0 8px;
}

.portal-summary {
    color: #bdbdbd;
    font-size: 18px;
}

    .portal-summary strong {
        color: var(--signal-orange);
    }

.portal-logout {
    color: white;
    text-decoration: none;
    border: 1px solid rgba(255,106,0,.75);
    padding: 16px 28px;
    border-radius: 14px;
    font-weight: 800;
}

.portal-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 28px;
}

.portal-stat,
.portal-card {
    background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(0,0,0,.35);
}

.portal-stat {
    padding: 24px;
}

    .portal-stat span {
        color: #bdbdbd;
        display: block;
        margin-bottom: 14px;
    }

    .portal-stat strong {
        font-size: 38px;
    }

.portal-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 24px;
}

.portal-card {
    padding: 30px;
}

    .portal-card h2 {
        margin: 0 0 22px;
        font-size: 30px;
    }

.review-card-row {
    display: grid;
    grid-template-columns: 1.5fr .7fr .9fr;
    gap: 20px;
    align-items: center;
    padding: 22px;
    border-radius: 18px;
    background: rgba(255,106,0,.075);
    border: 1px solid rgba(255,106,0,.22);
    margin-bottom: 14px;
}

    .review-card-row h3 {
        margin: 0 0 8px;
    }

    .review-card-row p,
    .review-card-row span,
    .activity-item p,
    .muted {
        color: #bdbdbd;
        margin: 0;
    }

    .review-card-row strong {
        display: block;
        font-size: 22px;
        margin-top: 6px;
    }

.activity-item {
    display: flex;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.activity-dot {
    width: 12px;
    height: 12px;
    background: var(--signal-orange);
    border-radius: 50%;
    margin-top: 6px;
    box-shadow: 0 0 20px rgba(255,106,0,.8);
}

@media (max-width: 1000px) {
    .portal-stats,
    .portal-grid,
    .review-card-row {
        grid-template-columns: 1fr;
    }

    .portal-hero {
        flex-direction: column;
    }
}

.chart-wrap {
    position: relative;
    height: 320px;
    width: 100%;
}

    .chart-wrap canvas {
        max-height: 320px;
    }

.portal-stats {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.portal-grid {
    grid-template-columns: minmax(0, 2fr) minmax(280px, 0.8fr);
    align-items: stretch;
}

.portal-card,
.portal-stat {
    min-width: 0;
}

@media (max-width: 1200px) {
    .portal-grid {
        grid-template-columns: 1fr;
    }
}

.chart-wrap {
    position: relative;
    height: 300px;
    width: 100%;
}

.card-status {
    color: #bdbdbd;
    margin-top: 6px;
}

.portal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.portal-action-btn {
    border: 1px solid rgba(255,106,0,.45);
    background: rgba(255,106,0,.1);
    color: white;
    padding: 10px 14px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 800;
    cursor: pointer;
}

    .portal-action-btn:hover {
        border-color: var(--signal-orange);
        background: rgba(255,106,0,.2);
    }

.portal-stat {
    transition: .3s ease;
}

    .portal-stat:hover {
        transform: translateY(-6px);
        border-color: rgba(255,106,0,.45);
        box-shadow: 0 15px 40px rgba(255,106,0,.18);
    }

.portal-card {
    transition: .3s ease;
}

    .portal-card:hover {
        transform: translateY(-5px);
    }

.toast {
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #141414;
    color: white;
    padding: 14px 22px;
    border-radius: 12px;
    border: 1px solid var(--signal-orange);
    box-shadow: 0 20px 40px rgba(0,0,0,.4);
    z-index: 9999;
    animation: fadeUp .35s;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.portal-stat span,
.portal-action-btn,
.portal-logout,
.review-card-row h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--signal-orange);
    font-weight: 500;
}

    .portal-stat svg,
    .portal-action-btn svg,
    .portal-logout svg,
    .review-card-row h3 svg {
        display: flex;
        align-items: center;
        gap: 10px;
        color: var(--signal-orange);
        font-weight: 500;
    }

.portal-stat svg {
    flex-shrink: 0;
}

.portal-logout {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .portal-logout svg {
        width: 18px;
        height: 18px;
        color: var(--signal-orange);
    }

.card-icon svg,
.why-grid span svg {
    color: var(--clear-white);
    stroke-width: 2.3;
}

.why-grid span {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 18px;
}

    .why-grid span svg {
        width: 36px;
        height: 36px;
        color: var(--clear-white); /* White icon */
        stroke-width: 2.3;
    }

.customer-login {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .customer-login svg {
        width: 18px;
        height: 18px;
    }

.stat-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.stat-icon {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    background: linear-gradient(180deg, #ff8b2b, var(--signal-orange));
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 14px 35px rgba(255,106,0,.35);
}

    .stat-icon svg {
        width: 25px;
        height: 25px;
        color: var(--clear-white);
        stroke-width: 2.4;
    }

.portal-stat span {
    color: #f2f2f2;
    font-weight: 700;
}

.portal-stat small {
    display: block;
    margin-top: 8px;
    color: #a9a9a9;
    font-size: 14px;
}

.portal-stat strong {
    font-size: 42px;
    line-height: 1.1;
}

/* =========================
   DS REVIEW HUB PAGE
========================= */

.reviewhub-page {
    background: var(--carbon-black);
    color: white;
    padding: 120px 6% 80px;
}


/* HERO */

.reviewhub-hero {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.reviewhub-hero-visual {
    width: min(560px, 100%);
    margin: 38px auto 0;
    overflow: hidden;
    border: 1px solid rgba(255,106,0,.28);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(0,0,0,.4), 0 0 50px rgba(255,106,0,.08);
}

.reviewhub-hero-visual img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

    .reviewhub-hero h1 {
        font-size: clamp(42px, 6vw, 72px);
        line-height: 1.05;
        margin: 20px 0;
        font-weight: 900;
    }

        .reviewhub-hero h1 span {
            color: var(--signal-orange);
        }

    .reviewhub-hero p:not(.tag) {
        color: #c7c7c7;
        font-size: 20px;
        max-width: 700px;
        margin: 25px auto 35px;
        line-height: 1.6;
    }


/* SECTIONS */

.reviewhub-section {
    margin-top: 120px;
    text-align: center;
}

    .reviewhub-section h2 {
        font-size: 42px;
        margin-bottom: 50px;
    }


/* GRID */

.reviewhub-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}


/* CARDS */

.reviewhub-card {
    background: linear-gradient( 145deg, rgba(255,106,0,0.12), rgba(255,255,255,0.02) );
    border: 1px solid rgba(255,106,0,0.35);
    border-radius: 25px;
    padding: 40px 30px;
    text-align: left;
    transition: 0.3s ease;
    backdrop-filter: blur(10px);
}


    .reviewhub-card:hover {
        transform: translateY(-8px);
        border-color: var(--signal-orange);
        box-shadow: 0 20px 50px rgba(255,106,0,0.15);
    }


    .reviewhub-card h3 {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .reviewhub-card h3 svg {
        width: 20px;
        height: 20px;
        margin-right: 7px;
        vertical-align: -3px;
        color: var(--signal-orange);
    }


    .reviewhub-card p {
        color: #bdbdbd;
        line-height: 1.6;
    }


    .reviewhub-card ul {
        padding-left: 20px;
        margin-top: 20px;
    }


    .reviewhub-card li {
        margin-bottom: 12px;
        color: #e5e5e5;
    }


        .reviewhub-card li::marker {
            color: var(--signal-orange);
        }


/* ICON */

.feature-icon {
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    background: var(--signal-orange);
    color: white;
    font-size: 32px;
    margin-bottom: 25px;
    box-shadow: 0 10px 30px rgba(255,106,0,0.35);
}


/* FUTURE SECTION */

.future {
    padding-bottom: 40px;
}


.future-text {
    max-width: 750px;
    margin: -20px auto 50px;
    color: #bdbdbd;
    font-size: 18px;
    line-height: 1.6;
}


/* MOBILE */

@media(max-width:900px) {

    .reviewhub-page {
        padding: 90px 5% 60px;
    }


    .reviewhub-grid {
        grid-template-columns: 1fr;
    }


    .reviewhub-section h2 {
        font-size: 32px;
    }


    .reviewhub-card {
        padding: 30px 25px;
    }
}

/* CUSTOMER PORTAL LOGIN */
.portal-login-page {
    --portal-orange: var(--signal-orange);
    min-height: 100svh;
    padding: 32px clamp(22px, 4vw, 70px);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    color: var(--clear-white);
    background:
        radial-gradient(circle at 74% 35%, rgba(255,106,0,.1), transparent 31%),
        linear-gradient(135deg, var(--carbon-black) 0%, #0d0a08 50%, var(--carbon-black) 100%);
}

.portal-login-grid {
    position: absolute;
    inset: 0;
    z-index: -3;
    opacity: .22;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: linear-gradient(to bottom, #000, transparent 85%);
}

.portal-login-glow {
    width: 480px;
    height: 480px;
    border-radius: 50%;
    position: absolute;
    z-index: -2;
    filter: blur(120px);
    pointer-events: none;
}

.portal-login-glow-one {
    top: -250px;
    right: 7%;
    background: rgba(255,106,0,.18);
}

.portal-login-glow-two {
    bottom: -330px;
    left: 18%;
    background: rgba(255,106,0,.1);
}

.portal-login-brand {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--clear-white);
    text-decoration: none;
}

.portal-login-brand-mark {
    width: 43px;
    height: 43px;
    border: 1px solid rgba(255,106,0,.6);
    border-radius: 13px;
    display: grid;
    place-items: center;
    color: var(--clear-white);
    background: linear-gradient(145deg, #ff7a1a, #d94d00);
    box-shadow: 0 10px 30px rgba(255,106,0,.22);
    font-size: 14px;
    font-weight: 950;
    letter-spacing: -.5px;
}

.portal-login-brand > span:last-child {
    display: flex;
    flex-direction: column;
}

.portal-login-brand strong {
    font-size: 15px;
    line-height: 1.25;
}

.portal-login-brand small {
    color: #777;
    font-size: 10px;
    letter-spacing: .5px;
}

.portal-login-shell {
    width: min(1320px, 100%);
    margin: auto;
    padding: 45px 0 25px;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(410px, .72fr);
    align-items: center;
    gap: clamp(55px, 8vw, 130px);
}

.portal-login-showcase {
    min-width: 0;
}

.portal-login-eyebrow {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #ff9348;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.8px;
}

.portal-login-eyebrow span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--portal-orange);
    box-shadow: 0 0 0 6px rgba(255,106,0,.12), 0 0 25px rgba(255,106,0,.55);
}

.portal-login-showcase h1 {
    max-width: 730px;
    margin: 0;
    font-size: clamp(48px, 5.2vw, 78px);
    line-height: .98;
    letter-spacing: -4px;
}

.portal-login-showcase h1 span {
    color: var(--portal-orange);
}

.portal-login-lead {
    max-width: 650px;
    margin: 25px 0 32px;
    color: #aaa;
    font-size: clamp(15px, 1.4vw, 18px);
    line-height: 1.7;
}

.portal-login-preview {
    max-width: 630px;
    padding: 22px 24px 0;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 24px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.018));
    box-shadow: 0 25px 80px rgba(0,0,0,.4);
    backdrop-filter: blur(18px);
}

.portal-login-preview::before {
    content: "";
    width: 150px;
    height: 150px;
    position: absolute;
    top: -80px;
    right: -45px;
    border-radius: 50%;
    background: rgba(255,106,0,.12);
    filter: blur(30px);
}

.portal-preview-head,
.portal-preview-stats {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.portal-preview-head > span {
    font-size: 13px;
    font-weight: 850;
}

.portal-preview-head small {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #6ee7a2;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .8px;
}

.portal-preview-head small i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #54ec95;
    box-shadow: 0 0 0 4px rgba(84,236,149,.1);
}

.portal-preview-stats {
    margin-top: 22px;
    justify-content: flex-start;
    gap: clamp(50px, 8vw, 105px);
}

.portal-preview-stats > div {
    display: grid;
    grid-template-columns: auto auto;
    align-items: baseline;
    gap: 2px 12px;
}

.portal-preview-stats span {
    grid-column: 1 / -1;
    color: #777;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .7px;
}

.portal-preview-stats strong {
    margin-top: 3px;
    font-size: 30px;
}

.portal-preview-stats small {
    color: #52dc8e;
    font-size: 10px;
    font-weight: 800;
}

.portal-preview-chart {
    height: 120px;
    margin: 8px -24px 0;
}

.portal-preview-chart svg {
    width: 100%;
    height: 100%;
    overflow: visible;
}

.portal-chart-area {
    fill: url(#portalChartFill);
}

.portal-chart-line {
    fill: none;
    stroke: var(--portal-orange);
    stroke-width: 3;
    vector-effect: non-scaling-stroke;
    filter: drop-shadow(0 0 7px rgba(255,106,0,.4));
}

.portal-login-benefits {
    margin-top: 25px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 25px;
}

.portal-login-benefits span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #858585;
    font-size: 11px;
    font-weight: 700;
}

.portal-login-benefits svg {
    width: 15px;
    height: 15px;
    color: var(--portal-orange);
}

.portal-login-panel {
    width: 100%;
}

.portal-login-card {
    width: 100%;
    padding: clamp(31px, 4vw, 48px);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 30px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(25,22,20,.96), rgba(10,10,10,.96));
    box-shadow: 0 35px 100px rgba(0,0,0,.55), inset 0 1px rgba(255,255,255,.04);
}

.portal-login-card::before {
    content: "";
    width: 160px;
    height: 1px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, var(--portal-orange), transparent);
    box-shadow: 0 0 22px rgba(255,106,0,.65);
}

.portal-login-card-icon {
    width: 50px;
    height: 50px;
    margin-bottom: 27px;
    border: 1px solid rgba(255,106,0,.35);
    border-radius: 15px;
    display: grid;
    place-items: center;
    color: var(--portal-orange);
    background: rgba(255,106,0,.1);
    box-shadow: inset 0 0 22px rgba(255,106,0,.05);
}

.portal-login-card-icon svg {
    width: 23px;
    height: 23px;
}

.portal-login-heading p {
    margin: 0 0 8px;
    color: var(--portal-orange);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: 1.8px;
}

.portal-login-heading h2 {
    margin: 0 0 8px;
    font-size: clamp(34px, 3.5vw, 43px);
    line-height: 1;
    letter-spacing: -1.8px;
}

.portal-login-heading > span {
    color: #8b8b8b;
    font-size: 13px;
}

.portal-login-form {
    margin-top: 32px;
    display: grid;
    gap: 19px;
}

.portal-login-form > label > span {
    margin: 0 0 8px 2px;
    display: block;
    color: #d4d4d4;
    font-size: 11px;
    font-weight: 800;
}

.portal-login-field {
    min-width: 0;
    height: 57px;
    padding: 0 16px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255,255,255,.045);
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.portal-login-field:focus-within {
    border-color: rgba(255,106,0,.72);
    background: rgba(255,106,0,.035);
    box-shadow: 0 0 0 4px rgba(255,106,0,.08);
}

.portal-login-field > svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    color: #666;
    transition: color .2s ease;
}

.portal-login-field:focus-within > svg {
    color: var(--portal-orange);
}

.portal-login-field input {
    width: 100%;
    min-width: 0;
    height: 100%;
    padding: 0;
    border: 0;
    outline: 0;
    color: var(--clear-white);
    background: transparent;
    font: inherit;
    font-size: 14px;
}

.portal-login-field input::placeholder {
    color: #5f5f5f;
}

.portal-password-toggle {
    width: 35px;
    height: 35px;
    margin-right: -6px;
    padding: 0;
    border: 0;
    border-radius: 9px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    color: #777;
    cursor: pointer;
    background: transparent;
    transition: color .2s ease, background .2s ease;
}

.portal-password-toggle:hover {
    color: var(--clear-white);
    background: rgba(255,255,255,.06);
}

.portal-password-toggle svg {
    width: 17px;
    height: 17px;
}

.portal-login-error {
    padding: 12px 14px;
    border: 1px solid rgba(255,78,78,.28);
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #ffb0b0;
    background: rgba(255,61,61,.08);
    font-size: 12px;
    line-height: 1.4;
}

.portal-login-error svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    color: #ff6464;
}

.portal-login-submit {
    height: 57px;
    margin-top: 2px;
    padding: 0 20px;
    border: 0;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--clear-white);
    cursor: pointer;
    background: linear-gradient(135deg, #ff7a18, #eb5700);
    box-shadow: 0 14px 38px rgba(255,106,0,.25), inset 0 1px rgba(255,255,255,.23);
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    transition: transform .2s ease, box-shadow .2s ease;
}

.portal-login-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 45px rgba(255,106,0,.34), inset 0 1px rgba(255,255,255,.23);
}

.portal-login-submit svg {
    width: 17px;
    height: 17px;
    transition: transform .2s ease;
}

.portal-login-submit:hover svg {
    transform: translateX(3px);
}

.portal-login-support {
    margin-top: 25px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.075);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px;
    color: #777;
    font-size: 11px;
}

.portal-login-support svg {
    width: 15px;
    height: 15px;
    color: #8b8b8b;
}

.portal-login-support a {
    color: #e7e7e7;
    font-weight: 800;
    text-decoration: none;
}

.portal-login-support a:hover {
    color: var(--portal-orange);
}

.portal-login-security {
    margin: 16px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #505050;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.portal-login-help {
    margin: 18px 0 0;
    color: var(--muted-grey);
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
}

.portal-login-help a {
    color: var(--signal-orange-bright, #ff812d);
    font-weight: 800;
}

.portal-login-security svg {
    width: 11px;
    height: 11px;
}

@media (max-width: 980px) {
    .portal-login-page {
        padding: 25px clamp(18px, 5vw, 45px) 45px;
    }

    .portal-login-shell {
        max-width: 560px;
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .portal-login-showcase {
        text-align: center;
    }

    .portal-login-eyebrow,
    .portal-login-benefits {
        justify-content: center;
    }

    .portal-login-showcase h1 {
        max-width: 570px;
        font-size: clamp(43px, 8vw, 64px);
        letter-spacing: -3px;
    }

    .portal-login-lead {
        margin-right: auto;
        margin-left: auto;
    }

    .portal-login-preview,
    .portal-login-benefits {
        display: none;
    }
}

@media (max-width: 540px) {
    .portal-login-page {
        min-height: 100svh;
        padding: 20px 14px 30px;
        overflow-y: auto;
    }

    .portal-login-brand-mark {
        width: 39px;
        height: 39px;
        border-radius: 12px;
    }

    .portal-login-shell {
        padding-top: 45px;
        gap: 24px;
    }

    .portal-login-showcase h1 {
        font-size: 42px;
        letter-spacing: -2.6px;
    }

    .portal-login-lead {
        margin: 18px 4px 0;
        font-size: 14px;
        line-height: 1.55;
    }

    .portal-login-card {
        padding: 29px 21px 25px;
        border-radius: 24px;
    }

    .portal-login-card-icon {
        width: 45px;
        height: 45px;
        margin-bottom: 22px;
    }

    .portal-login-heading h2 {
        font-size: 34px;
    }

    .portal-login-form {
        margin-top: 27px;
    }
}

@media (max-height: 790px) and (min-width: 981px) {
    .portal-login-page {
        padding-top: 22px;
        padding-bottom: 22px;
    }

    .portal-login-shell {
        padding-top: 25px;
    }

    .portal-login-showcase h1 {
        font-size: clamp(48px, 4.7vw, 68px);
    }

    .portal-login-lead {
        margin-top: 18px;
        margin-bottom: 23px;
    }

    .portal-login-preview {
        transform: scale(.93);
        transform-origin: left center;
    }

    .portal-login-card {
        padding-top: 34px;
        padding-bottom: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .portal-login-submit,
    .portal-login-submit svg,
    .portal-login-field,
    .portal-password-toggle {
        transition: none;
    }
}

/* MAIN ADMIN COMMAND CENTRE */
.command-dashboard {
    min-height: 100svh;
    padding: 25px clamp(20px, 4vw, 65px) 55px;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: var(--clear-white);
    background:
        radial-gradient(circle at 88% 10%, rgba(255,106,0,.14), transparent 29%),
        linear-gradient(135deg, var(--carbon-black), #090807 62%, var(--carbon-black));
}

.command-dashboard-grid {
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .18;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(to bottom, #000, transparent 75%);
}

.command-topbar,
.command-shell {
    width: min(1320px, 100%);
    margin-right: auto;
    margin-left: auto;
}

.command-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.command-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: var(--clear-white);
    text-decoration: none;
}

.command-brand > span {
    width: 41px;
    height: 41px;
    border: 1px solid rgba(255,106,0,.55);
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #ff7a19, #dd5000);
    box-shadow: 0 10px 28px rgba(255,106,0,.2);
    font-size: 13px;
    font-weight: 950;
}

.command-brand div {
    display: flex;
    flex-direction: column;
}

.command-brand strong {
    font-size: 13px;
    line-height: 1.3;
}

.command-brand small {
    color: #6e6e6e;
    font-size: 9px;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.command-topbar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.command-system-status,
.command-signout {
    height: 37px;
    padding: 0 12px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #797979;
    background: rgba(255,255,255,.03);
    font-size: 9px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .7px;
}

.command-system-status i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #54e796;
    box-shadow: 0 0 0 4px rgba(84,231,150,.1);
}

.command-signout {
    color: #aaa;
    text-decoration: none;
    transition: color .2s ease, border-color .2s ease, background .2s ease;
}

.command-signout:hover {
    border-color: rgba(255,106,0,.25);
    color: var(--clear-white);
    background: rgba(255,106,0,.06);
}

.command-signout svg {
    width: 14px;
    height: 14px;
}

.command-shell {
    padding-top: 60px;
}

.command-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 35px;
}

.command-eyebrow,
.command-section-heading p,
.command-review-label {
    margin: 0 0 9px;
    color: #ff7620;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: 1.7px;
}

.command-hero h1 {
    margin: 0;
    font-size: clamp(47px, 5vw, 70px);
    line-height: .98;
    letter-spacing: -3.6px;
}

.command-hero h1 span {
    color: var(--signal-orange);
}

.command-hero > div:first-child > p:last-child {
    margin: 14px 0 0;
    color: #858585;
    font-size: 14px;
}

.command-date {
    padding: 14px 17px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255,255,255,.03);
}

.command-date > svg {
    width: 21px;
    height: 21px;
    color: var(--signal-orange);
}

.command-date span {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.command-date small {
    color: #666;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 1px;
}

.command-date strong {
    font-size: 11px;
}

.command-stat-strip {
    margin: 36px 0 26px;
    padding: 8px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 19px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.016));
    box-shadow: 0 18px 55px rgba(0,0,0,.2);
}

.command-stat-strip > div {
    min-width: 0;
    padding: 15px 18px;
    border-right: 1px solid rgba(255,255,255,.065);
    display: flex;
    align-items: center;
    gap: 13px;
}

.command-stat-strip > div:last-child {
    border-right: 0;
}

.command-stat-icon {
    width: 39px;
    height: 39px;
    border-radius: 11px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
}

.command-stat-icon svg {
    width: 18px;
    height: 18px;
}

.command-stat-icon.amber {
    color: #ff8b3d;
    background: rgba(255,106,0,.1);
}

.command-stat-icon.blue {
    color: #64a4ff;
    background: rgba(56,132,255,.1);
}

.command-stat-icon.violet {
    color: #b184ff;
    background: rgba(139,92,246,.1);
}

.command-stat-icon.green {
    color: #58dc91;
    background: rgba(52,211,153,.1);
}

.command-stat-strip p {
    min-width: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.command-stat-strip small {
    overflow: hidden;
    color: #686868;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .8px;
}

.command-stat-strip strong {
    font-size: 22px;
    line-height: 1;
}

.command-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.48fr) minmax(365px, .72fr);
    gap: 25px;
}

.command-tools,
.command-review-hub {
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 25px;
    background: linear-gradient(145deg, rgba(255,255,255,.043), rgba(255,255,255,.014));
}

.command-tools {
    padding: 25px;
}

.command-section-heading {
    margin-bottom: 20px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.command-section-heading h2 {
    margin: 0;
    font-size: 25px;
    letter-spacing: -.8px;
}

.command-section-heading > span {
    padding: 7px 9px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 8px;
    color: #696969;
    background: rgba(0,0,0,.17);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .7px;
}

.command-tool-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.command-tool-card {
    min-width: 0;
    min-height: 255px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 17px;
    position: relative;
    display: flex;
    flex-direction: column;
    color: var(--clear-white);
    text-decoration: none;
    background: rgba(8,8,8,.58);
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.command-tool-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255,106,0,.32);
    box-shadow: 0 18px 42px rgba(0,0,0,.3);
}

.command-tool-icon {
    width: 43px;
    height: 43px;
    border-radius: 12px;
    display: grid;
    place-items: center;
}

.command-tool-icon svg {
    width: 20px;
    height: 20px;
}

.command-tool-card.enquiries .command-tool-icon {
    color: #ff8c43;
    background: rgba(255,106,0,.1);
}

.command-tool-card.portfolio .command-tool-icon {
    color: #6eaaff;
    background: rgba(56,132,255,.1);
}

.command-tool-card.testimonials .command-tool-icon {
    color: #bd91ff;
    background: rgba(139,92,246,.1);
}

.command-card-badge {
    max-width: 95px;
    padding: 5px 7px;
    position: absolute;
    top: 18px;
    right: 18px;
    overflow: hidden;
    border-radius: 7px;
    color: #818181;
    background: rgba(255,255,255,.045);
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 8px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.command-tool-card > div {
    margin-top: auto;
}

.command-tool-card h3 {
    margin: 25px 0 8px;
    font-size: 19px;
}

.command-tool-card p {
    margin: 0;
    color: #747474;
    font-size: 11px;
    line-height: 1.55;
}

.command-card-link {
    margin-top: 20px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.065);
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #b9b9b9;
    font-size: 9px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .65px;
}

.command-card-link svg {
    width: 14px;
    height: 14px;
    color: var(--signal-orange);
}

.command-review-hub {
    padding: 28px;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background:
        radial-gradient(circle at 100% 0, rgba(255,106,0,.2), transparent 40%),
        linear-gradient(145deg, rgba(34,24,18,.92), rgba(10,10,10,.96));
}

.command-review-orb {
    width: 180px;
    height: 180px;
    position: absolute;
    top: -110px;
    right: -70px;
    z-index: -1;
    border-radius: 50%;
    background: rgba(255,106,0,.17);
    filter: blur(35px);
}

.command-review-top {
    margin-bottom: 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.command-review-icon {
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255,106,0,.28);
    border-radius: 14px;
    display: grid;
    place-items: center;
    color: #ff7b20;
    background: rgba(255,106,0,.1);
}

.command-review-icon svg {
    width: 22px;
    height: 22px;
}

.command-live-pill {
    padding: 6px 8px;
    border: 1px solid rgba(73,223,139,.15);
    border-radius: 7px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #60de96;
    background: rgba(73,223,139,.06);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .8px;
}

.command-live-pill i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #58df94;
    box-shadow: 0 0 0 3px rgba(88,223,148,.1);
}

.command-review-hub h2 {
    margin: 0;
    font-size: clamp(27px, 2.7vw, 37px);
    line-height: 1.05;
    letter-spacing: -1.7px;
}

.command-review-hub h2 span {
    color: var(--signal-orange);
}

.command-review-copy {
    margin: 15px 0 22px;
    color: #777;
    font-size: 11px;
    line-height: 1.6;
}

.command-review-stats {
    padding: 14px 0;
    border-top: 1px solid rgba(255,255,255,.07);
    border-bottom: 1px solid rgba(255,255,255,.07);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.command-review-stats > div {
    padding: 0 10px;
    border-right: 1px solid rgba(255,255,255,.065);
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.command-review-stats > div:first-child {
    padding-left: 0;
}

.command-review-stats > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.command-review-stats strong {
    font-size: 19px;
}

.command-review-stats span {
    color: #666;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.command-review-cta {
    height: 48px;
    margin-top: auto;
    padding: 0 17px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--clear-white);
    text-decoration: none;
    background: linear-gradient(135deg, #ff7715, #e65300);
    box-shadow: 0 12px 30px rgba(255,106,0,.2);
    font-size: 11px;
    font-weight: 900;
    transition: transform .2s ease, box-shadow .2s ease;
}

.command-review-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 38px rgba(255,106,0,.3);
}

.command-review-cta svg {
    width: 16px;
    height: 16px;
}

.command-footer-actions {
    margin-top: 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.command-footer-actions > a {
    min-width: 0;
    padding: 13px 15px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px;
    color: var(--clear-white);
    text-decoration: none;
    background: rgba(255,255,255,.025);
    transition: border-color .2s ease, background .2s ease;
}

.command-footer-actions > a:hover {
    border-color: rgba(255,106,0,.24);
    background: rgba(255,106,0,.04);
}

.command-footer-actions > a.danger:hover {
    border-color: rgba(255,75,75,.25);
    background: rgba(255,75,75,.035);
}

.command-footer-actions > a > span {
    width: 35px;
    height: 35px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: #ff7920;
    background: rgba(255,106,0,.08);
}

.command-footer-actions > a.danger > span {
    color: #ff6d6d;
    background: rgba(255,75,75,.07);
}

.command-footer-actions svg {
    width: 16px;
    height: 16px;
}

.command-footer-actions > a > svg {
    color: #545454;
}

.command-footer-actions p {
    min-width: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.command-footer-actions strong {
    font-size: 10px;
}

.command-footer-actions small {
    overflow: hidden;
    color: #626262;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 9px;
}

@media (max-width: 1040px) {
    .command-content-grid {
        grid-template-columns: 1fr;
    }

    .command-review-hub {
        min-height: 390px;
    }

    .command-review-cta {
        margin-top: 25px;
    }
}

@media (max-width: 760px) {
    .command-dashboard {
        padding: 20px 15px 38px;
    }

    .command-brand div,
    .command-system-status {
        display: none;
    }

    .command-shell {
        padding-top: 48px;
    }

    .command-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .command-hero h1 {
        font-size: clamp(43px, 12vw, 60px);
        letter-spacing: -2.7px;
    }

    .command-date {
        width: 100%;
    }

    .command-stat-strip {
        grid-template-columns: 1fr 1fr;
    }

    .command-stat-strip > div:nth-child(2) {
        border-right: 0;
    }

    .command-stat-strip > div:nth-child(-n+2) {
        border-bottom: 1px solid rgba(255,255,255,.065);
    }

    .command-tool-grid {
        grid-template-columns: 1fr;
    }

    .command-tool-card {
        min-height: 220px;
    }

    .command-footer-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 430px) {
    .command-signout {
        width: 38px;
        padding: 0;
        justify-content: center;
        font-size: 0;
    }

    .command-tools,
    .command-review-hub {
        padding: 20px;
        border-radius: 21px;
    }

    .command-stat-strip > div {
        padding: 13px 11px;
        gap: 9px;
    }

    .command-stat-icon {
        width: 35px;
        height: 35px;
    }

    .command-stat-strip strong {
        font-size: 19px;
    }

    .command-review-stats span {
        font-size: 7px;
    }
}

/* PREMIUM PROJECT ENQUIRY */
.premium-quote-page {
    min-height: 100svh;
    padding: 27px clamp(20px, 4vw, 66px) 55px;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: var(--clear-white);
    background: var(--carbon-black) url('/images/hero-business.webp') center / cover fixed;
}

.premium-quote-overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(circle at 82% 28%, rgba(255,106,0,.17), transparent 32%),
        linear-gradient(105deg, rgba(3,3,3,.98) 0%, rgba(3,3,3,.94) 42%, rgba(5,2,0,.79) 100%);
}

.premium-quote-topbar,
.premium-quote-shell {
    width: min(1320px, 100%);
    margin-right: auto;
    margin-left: auto;
}

.premium-quote-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.premium-quote-brand,
.premium-quote-back {
    color: var(--clear-white);
    text-decoration: none;
}

.premium-quote-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
}

.premium-quote-brand > span {
    color: var(--signal-orange);
    font-size: 34px;
    font-weight: 950;
    letter-spacing: -2px;
}

.premium-quote-brand div {
    display: flex;
    flex-direction: column;
}

.premium-quote-brand strong {
    font-size: 12px;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.premium-quote-brand small {
    margin-top: 2px;
    color: #656565;
    font-size: 8px;
    letter-spacing: .45px;
}

.premium-quote-back {
    height: 38px;
    padding: 0 13px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--muted-grey);
    background: rgba(255,255,255,.03);
    font-size: 10px;
    font-weight: 800;
    transition: color .2s ease, border-color .2s ease, background .2s ease;
}

.premium-quote-back:hover {
    border-color: rgba(255,106,0,.25);
    color: var(--clear-white);
    background: rgba(255,106,0,.05);
}

.premium-quote-back svg {
    width: 14px;
    height: 14px;
}

.premium-quote-shell {
    padding-top: 58px;
    display: grid;
    grid-template-columns: minmax(330px, .72fr) minmax(610px, 1.28fr);
    align-items: start;
    gap: clamp(55px, 8vw, 120px);
}

.premium-quote-intro {
    padding-top: 42px;
    position: sticky;
    top: 25px;
}

.premium-quote-eyebrow {
    margin: 0 0 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #ff8d42;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 1.7px;
}

.premium-quote-eyebrow span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--signal-orange);
    box-shadow: 0 0 0 5px rgba(255,106,0,.11), 0 0 18px rgba(255,106,0,.45);
}

.premium-quote-intro h1 {
    max-width: 540px;
    margin: 0;
    font-size: clamp(48px, 5vw, 71px);
    line-height: .98;
    letter-spacing: -3.8px;
}

.premium-quote-intro h1 span {
    color: var(--signal-orange);
}

.premium-quote-lead {
    max-width: 510px;
    margin: 23px 0 31px;
    color: #969696;
    font-size: 17px;
    line-height: 1.72;
}

.premium-quote-steps {
    max-width: 470px;
    display: grid;
    gap: 0;
}

.premium-quote-steps > div {
    min-height: 74px;
    position: relative;
    display: grid;
    grid-template-columns: 37px 1fr;
    gap: 14px;
}

.premium-quote-steps > div:not(:last-child)::after {
    content: "";
    width: 1px;
    height: 37px;
    position: absolute;
    top: 32px;
    left: 15px;
    background: linear-gradient(var(--signal-orange), rgba(255,255,255,.1));
}

.premium-quote-steps > div > span {
    width: 31px;
    height: 31px;
    border: 1px solid rgba(255,106,0,.28);
    border-radius: 9px;
    display: grid;
    place-items: center;
    color: var(--beacon-orange);
    background: rgba(255,106,0,.075);
    font-size: 8px;
    font-weight: 950;
}

.premium-quote-steps p {
    margin: 2px 0 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.premium-quote-steps strong {
    font-size: 14px;
}

.premium-quote-steps small {
    color: #6d6d6d;
    font-size: 12px;
    line-height: 1.5;
}

.premium-quote-response {
    max-width: 470px;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(100deg, rgba(255,255,255,.045), rgba(255,255,255,.015));
}

.premium-quote-response > span {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    color: #ff7c24;
    background: rgba(255,106,0,.09);
}

.premium-quote-response svg {
    width: 18px;
    height: 18px;
}

.premium-quote-response p {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.premium-quote-response strong {
    font-size: 13px;
}

.premium-quote-response small {
    color: #6f6f6f;
    font-size: 11px;
}

.premium-quote-panel {
    min-width: 0;
    padding: clamp(27px, 3.5vw, 43px);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 28px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(24,22,20,.98), rgba(9,9,9,.98));
    box-shadow: 0 35px 100px rgba(0,0,0,.55), inset 0 1px rgba(255,255,255,.04);
    backdrop-filter: blur(20px);
}

.premium-quote-panel::before {
    content: "";
    width: 170px;
    height: 1px;
    position: absolute;
    top: 0;
    right: 12%;
    background: linear-gradient(90deg, transparent, var(--signal-orange), transparent);
    box-shadow: 0 0 22px rgba(255,106,0,.55);
}

.premium-quote-panel-head {
    margin-bottom: 30px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255,255,255,.075);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.premium-quote-panel-head p {
    margin: 0 0 7px;
    color: #ff7920;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 1.5px;
}

.premium-quote-panel-head h2 {
    margin: 0;
    font-size: clamp(28px, 3vw, 38px);
    letter-spacing: -1.5px;
}

.premium-quote-panel-head > span {
    padding: 7px 9px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #696969;
    background: rgba(255,255,255,.025);
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.premium-quote-panel-head > span svg {
    width: 12px;
    height: 12px;
}

.premium-quote-form {
    display: grid;
    gap: 30px;
}

.premium-validation-summary:empty,
.premium-field-error:empty {
    display: none;
}

.premium-validation-summary {
    padding: 12px 14px;
    border: 1px solid rgba(255,80,80,.28);
    border-radius: 11px;
    color: #ffb0b0;
    background: rgba(255,70,70,.07);
    font-size: 11px;
}

.premium-validation-summary ul {
    margin: 0;
    padding-left: 18px;
}

.premium-form-section {
    min-width: 0;
}

.premium-form-section-title {
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 11px;
}

.premium-form-section-title > span {
    width: 27px;
    height: 27px;
    border: 1px solid rgba(255,106,0,.27);
    border-radius: 8px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    color: #ff812e;
    background: rgba(255,106,0,.07);
    font-size: 9px;
    font-weight: 950;
}

.premium-form-section-title h3,
.premium-form-section-title p {
    margin: 0;
}

.premium-form-section-title h3 {
    font-size: 16px;
}

.required-label {
    margin-left: 7px;
    color: #777;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.premium-form-section-title p {
    margin-top: 2px;
    color: #666;
    font-size: 12px;
}

.premium-field-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.premium-field-grid > label > span:first-child {
    margin: 0 0 7px 2px;
    display: flex;
    justify-content: space-between;
    color: #bcbcbc;
    font-size: 12px;
    font-weight: 800;
}

.premium-field-grid > label > span b {
    color: #5d5d5d;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.premium-input-wrap {
    height: 52px;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,.035);
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.premium-input-wrap:focus-within {
    border-color: rgba(255,106,0,.65);
    background: rgba(255,106,0,.025);
    box-shadow: 0 0 0 4px rgba(255,106,0,.07);
}

.premium-input-wrap > svg {
    width: 15px;
    height: 15px;
    flex: 0 0 auto;
    color: #5d5d5d;
}

.premium-input-wrap:focus-within > svg {
    color: #ff7620;
}

.premium-input-wrap input {
    width: 100%;
    min-width: 0;
    height: 100%;
    padding: 0;
    border: 0;
    outline: 0;
    color: var(--clear-white);
    background: transparent;
    font: inherit;
    font-size: 15px;
}

.premium-input-wrap input::placeholder,
.premium-message-field textarea::placeholder {
    color: #555;
}

.premium-field-error {
    margin: 5px 0 0 2px;
    display: block;
    color: #ff7474;
    font-size: 11px;
}

.premium-service-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.premium-service-options > label {
    min-width: 0;
    cursor: pointer;
}

.premium-service-options input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.premium-service-options input + span {
    min-height: 175px;
    padding: 17px;
    border: 1px solid rgba(255,255,255,.085);
    border-radius: 14px;
    position: relative;
    display: flex;
    flex-direction: column;
    background: rgba(255,255,255,.03);
    transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.premium-service-options label:hover input + span {
    transform: translateY(-3px);
    border-color: rgba(255,106,0,.32);
}

.premium-service-options input:focus-visible + span {
    outline: 2px solid var(--signal-orange);
    outline-offset: 3px;
}

.premium-service-options input:checked + span {
    border-color: rgba(255,106,0,.68);
    background: linear-gradient(145deg, rgba(255,106,0,.13), rgba(255,106,0,.045));
    box-shadow: 0 12px 28px rgba(255,106,0,.09), inset 0 1px rgba(255,255,255,.04);
}

.premium-service-check {
    width: 18px;
    height: 18px;
    padding: 4px;
    position: absolute;
    top: 12px;
    right: 12px;
    border-radius: 50%;
    color: var(--clear-white);
    opacity: 0;
    background: var(--signal-orange);
    transform: scale(.7);
    transition: opacity .2s ease, transform .2s ease;
}

.premium-service-options input:checked + span .premium-service-check {
    opacity: 1;
    transform: scale(1);
}

.premium-service-icon {
    width: 35px;
    height: 35px;
    margin-bottom: 17px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: var(--beacon-orange);
    background: rgba(255,106,0,.08);
}

.premium-service-icon svg {
    width: 17px;
    height: 17px;
}

.premium-service-options strong {
    font-size: 14px;
}

.premium-service-options small {
    margin-top: 6px;
    color: #6e6e6e;
    font-size: 12px;
    line-height: 1.5;
}

.premium-service-options em {
    width: fit-content;
    margin-top: 9px;
    padding: 4px 6px;
    border-radius: 5px;
    color: #ff8c3d;
    background: rgba(255,106,0,.08);
    font-size: 9px;
    font-style: normal;
    font-weight: 950;
    letter-spacing: .7px;
}

.premium-message-field {
    min-height: 130px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 13px;
    position: relative;
    display: block;
    background: rgba(255,255,255,.032);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.premium-message-field > span:first-child {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
    color: #bcbcbc;
    font-size: 12px;
    font-weight: 800;
}

.premium-message-field > span b {
    color: #5d5d5d;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.premium-message-field:focus-within {
    border-color: rgba(255,106,0,.65);
    box-shadow: 0 0 0 4px rgba(255,106,0,.07);
}

.premium-message-field textarea {
    width: 100%;
    min-height: 100px;
    padding: 0 0 23px;
    border: 0;
    outline: 0;
    resize: vertical;
    color: var(--clear-white);
    background: transparent;
    font: inherit;
    font-size: 14px;
    line-height: 1.6;
}

.premium-message-field > small {
    position: absolute;
    right: 13px;
    bottom: 10px;
    color: #535353;
    font-size: 10px;
}

.premium-quote-submit {
    height: 56px;
    padding: 0 20px;
    border: 0;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--clear-white);
    cursor: pointer;
    background: linear-gradient(135deg, #ff7817, #e95400);
    box-shadow: 0 14px 36px rgba(255,106,0,.24), inset 0 1px rgba(255,255,255,.2);
    font: inherit;
    font-size: 14px;
    font-weight: 900;
    transition: transform .2s ease, box-shadow .2s ease;
}

.premium-quote-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 44px rgba(255,106,0,.34), inset 0 1px rgba(255,255,255,.2);
}

.premium-quote-submit svg {
    width: 16px;
    height: 16px;
}

.premium-quote-privacy {
    margin: -16px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #555;
    font-size: 10px;
}

.premium-quote-privacy svg {
    width: 11px;
    height: 11px;
}

.premium-quote-success {
    min-height: clamp(350px, 44vh, 450px);
    max-width: 680px;
    margin: 0 auto;
    padding: clamp(34px, 5vw, 54px) clamp(10px, 3vw, 34px);
    display: grid;
    grid-template-columns: 78px minmax(0, 540px);
    grid-template-rows: auto auto auto auto;
    align-content: center;
    justify-content: center;
    column-gap: 24px;
    text-align: left;
}

.premium-quote-success::before {
    display: none;
}

.premium-quote-success::after {
    display: none;
}

.premium-success-icon {
    width: 72px;
    height: 72px;
    margin: 2px 0 0;
    border: 1px solid rgba(82,224,145,.48);
    border-radius: 18px;
    display: grid;
    place-items: center;
    color: #5be198;
    background: rgba(72,211,135,.08);
    box-shadow: 0 12px 28px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.08);
    grid-column: 1;
    grid-row: 1 / span 4;
    animation: quote-success-arrive .55s ease-out both;
}

.premium-success-icon svg {
    width: 30px;
    height: 30px;
    stroke-width: 2.4;
}

.premium-quote-success > p {
    margin: 0 0 11px;
    padding: 0;
    color: var(--beacon-orange);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: 1.7px;
    grid-column: 2;
    grid-row: 1;
}

.premium-quote-success h2 {
    max-width: 540px;
    margin: 0;
    font-size: clamp(30px, 3.7vw, 45px);
    line-height: 1.06;
    letter-spacing: -1.5px;
    grid-column: 2;
    grid-row: 2;
}

.premium-quote-success > span {
    max-width: 48ch;
    margin: 16px 0 24px;
    color: #a6a6a6;
    font-size: 14px;
    line-height: 1.65;
    grid-column: 2;
    grid-row: 3;
}

.premium-quote-success > a {
    min-height: 48px;
    width: fit-content;
    padding: 0 18px;
    border: 1px solid rgba(255,160,92,.3);
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--clear-white);
    text-decoration: none;
    background: var(--signal-orange);
    box-shadow: 0 10px 24px rgba(255,106,0,.16), inset 0 1px rgba(255,255,255,.2);
    font-size: 12px;
    font-weight: 900;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
    grid-column: 2;
    grid-row: 4;
}

.premium-quote-success > a:hover {
    transform: translateY(-2px);
    filter: brightness(1.04);
    box-shadow: 0 18px 40px rgba(255,106,0,.28), inset 0 1px rgba(255,255,255,.2);
}

.premium-quote-success > a:focus-visible {
    outline: 2px solid var(--focus-orange);
    outline-offset: 4px;
}

.premium-quote-success > a svg {
    width: 15px;
    height: 15px;
    color: var(--clear-white);
}

@keyframes quote-success-arrive {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1040px) {
    .premium-quote-page {
        overflow-y: auto;
        background-attachment: scroll;
    }

    .premium-quote-shell {
        max-width: 760px;
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .premium-quote-intro {
        padding-top: 0;
        position: static;
        text-align: center;
    }

    .premium-quote-eyebrow {
        justify-content: center;
    }

    .premium-quote-intro h1,
    .premium-quote-lead {
        margin-right: auto;
        margin-left: auto;
    }

    .premium-quote-steps,
    .premium-quote-response {
        display: none;
    }
}

@media (max-width: 690px) {
    .premium-quote-page {
        padding: 20px 14px 35px;
    }

    .premium-quote-brand div {
        display: none;
    }

    .premium-quote-back {
        width: 38px;
        padding: 0;
        justify-content: center;
        font-size: 0;
    }

    .premium-quote-shell {
        padding-top: 43px;
    }

    .premium-quote-intro h1 {
        font-size: clamp(42px, 12.5vw, 58px);
        letter-spacing: -2.8px;
    }

    .premium-quote-lead {
        margin-top: 18px;
        font-size: 13px;
    }

    .premium-quote-panel {
        padding: 25px 19px;
        border-radius: 23px;
    }

    .premium-quote-panel-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .premium-field-grid,
    .premium-service-options {
        grid-template-columns: 1fr;
    }

    .premium-service-options input + span {
        min-height: 145px;
    }

    .premium-quote-success {
        min-height: 400px;
        padding: 35px 12px 40px;
        display: flex;
        align-items: center;
        flex-direction: column;
        text-align: center;
    }

    .premium-success-icon {
        width: 64px;
        height: 64px;
        margin: 0 0 20px;
    }

    .premium-quote-success > p,
    .premium-quote-success h2,
    .premium-quote-success > span,
    .premium-quote-success > a {
        grid-column: auto;
        grid-row: auto;
    }

    .premium-quote-success > p { margin-bottom: 10px; }

    .premium-quote-success > span {
        font-size: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .premium-quote-back,
    .premium-input-wrap,
    .premium-service-options input + span,
    .premium-service-check,
    .premium-message-field,
    .premium-quote-submit,
    .premium-quote-success > a,
    .premium-success-icon {
        transition: none;
        animation: none;
    }
}
/* ==================================================
   CUSTOMER DASHBOARD V2
   Safe UI-only upgrade for Pages/Portal/Dashboard.cshtml
================================================== */

.customer-dashboard-v2 {
    min-height: 100vh;
    padding: 42px 5% 80px;
    color: var(--clear-white);
    background: radial-gradient(circle at 88% 3%, rgba(255,106,0,.18), transparent 28%), radial-gradient(circle at 5% 48%, rgba(255,106,0,.07), transparent 25%), var(--carbon-black);
}

.customer-dashboard-header {
    max-width: 1450px;
    margin: 0 auto 30px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 28px;
}

.customer-dashboard-label,
.customer-section-label {
    margin: 0 0 8px;
    color: var(--signal-orange);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.7px;
}

.customer-dashboard-header h1 {
    margin: 0 0 10px;
    font-size: clamp(34px, 4.2vw, 58px);
    line-height: 1.05;
    letter-spacing: -2px;
}

    .customer-dashboard-header h1 span {
        color: var(--signal-orange);
    }

.customer-dashboard-header > div > p:last-child {
    margin: 0;
    color: #aaa;
    font-size: 17px;
}

.customer-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.customer-live-pill,
.customer-logout-btn {
    min-height: 44px;
    padding: 0 16px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-weight: 800;
    text-decoration: none;
}

.customer-live-pill {
    color: #d8d8d8;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.09);
}

    .customer-live-pill > span {
        width: 9px;
        height: 9px;
        border-radius: 50%;
        background: #31d776;
        box-shadow: 0 0 0 5px rgba(49,215,118,.12);
    }

.customer-logout-btn {
    color: var(--clear-white);
    background: rgba(255,106,0,.1);
    border: 1px solid rgba(255,106,0,.35);
    transition: .25s ease;
}

    .customer-logout-btn:hover {
        color: var(--clear-white);
        background: rgba(255,106,0,.2);
        border-color: var(--signal-orange);
    }

.customer-highlight {
    max-width: 1450px;
    margin: 0 auto 22px;
    min-height: 170px;
    padding: 30px 34px;
    border-radius: 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 35px;
    overflow: hidden;
    position: relative;
    background: radial-gradient(circle at 87% 10%, rgba(255,165,76,.32), transparent 35%), linear-gradient(135deg, var(--signal-orange), #d84f00);
    box-shadow: 0 24px 70px rgba(255,106,0,.22);
}

    .customer-highlight::after {
        content: "";
        position: absolute;
        width: 240px;
        height: 240px;
        right: -85px;
        bottom: -140px;
        border-radius: 50%;
        border: 35px solid rgba(255,255,255,.09);
    }

    .customer-highlight > div:first-child {
        position: relative;
        z-index: 1;
    }

        .customer-highlight > div:first-child p {
            margin: 0 0 6px;
            color: rgba(255,255,255,.82);
            font-weight: 800;
        }

        .customer-highlight > div:first-child strong {
            display: block;
            margin-bottom: 4px;
            font-size: 58px;
            line-height: 1;
        }

        .customer-highlight > div:first-child span {
            color: rgba(255,255,255,.88);
        }

.customer-highlight-message {
    max-width: 460px;
    position: relative;
    z-index: 1;
    padding: 18px 20px;
    border-radius: 17px;
    display: flex;
    align-items: center;
    gap: 13px;
    background: rgba(0,0,0,.18);
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(10px);
}

    .customer-highlight-message p {
        margin: 0;
        font-weight: 700;
        line-height: 1.45;
    }

.customer-highlight-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    flex-shrink: 0;
    background: #54ec95;
    box-shadow: 0 0 0 6px rgba(84,236,149,.17);
}

    .customer-highlight-dot.muted {
        background: var(--clear-white);
        box-shadow: 0 0 0 6px rgba(255,255,255,.16);
    }

.analytics-range-bar {
    max-width: 1450px;
    margin: 0 auto 22px;
    padding: 18px 20px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 20px;
    display: grid;
    grid-template-columns: minmax(190px, auto) minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    position: relative;
    z-index: 3;
    background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
    box-shadow: 0 18px 55px rgba(0,0,0,.2);
}

.analytics-range-copy strong,
.analytics-range-copy span {
    display: block;
}

.analytics-range-copy strong {
    margin-bottom: 4px;
    font-size: 18px;
}

.analytics-range-copy span {
    color: #858585;
    font-size: 12px;
}

.analytics-range-presets {
    justify-self: center;
    padding: 5px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    display: flex;
    gap: 4px;
    background: rgba(0,0,0,.22);
}

.analytics-range-presets a {
    min-width: 72px;
    padding: 10px 13px;
    border-radius: 10px;
    color: #999;
    text-align: center;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    transition: .22s ease;
}

.analytics-range-presets a:hover {
    color: var(--clear-white);
    background: rgba(255,255,255,.06);
}

.analytics-range-presets a.active {
    color: var(--clear-white);
    background: linear-gradient(135deg, var(--signal-orange), #e65300);
    box-shadow: 0 8px 24px rgba(255,106,0,.25);
}

.analytics-custom-range {
    position: relative;
}

.analytics-custom-range summary {
    padding: 11px 14px;
    border: 1px solid rgba(255,106,0,.28);
    border-radius: 11px;
    color: #ff9a54;
    cursor: pointer;
    list-style: none;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.analytics-custom-range summary::-webkit-details-marker {
    display: none;
}

.analytics-custom-range summary::after {
    content: " +";
}

.analytics-custom-range[open] summary::after {
    content: " –";
}

.analytics-custom-range form {
    min-width: 340px;
    padding: 15px;
    border: 1px solid rgba(255,106,0,.25);
    border-radius: 16px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 11px;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    background: #15110f;
    box-shadow: 0 22px 60px rgba(0,0,0,.5);
}

.analytics-custom-range label span {
    display: block;
    margin-bottom: 6px;
    color: #aaa;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.analytics-custom-range input {
    width: 100%;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 9px;
    color: var(--clear-white);
    color-scheme: dark;
    background: rgba(255,255,255,.06);
}

.analytics-custom-range button {
    grid-column: 1 / -1;
    padding: 11px 14px;
    border: 0;
    border-radius: 10px;
    color: var(--clear-white);
    background: var(--signal-orange);
    cursor: pointer;
    font-weight: 900;
}

.customer-stat-grid {
    max-width: 1450px;
    margin: 0 auto 22px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.customer-stat-card,
.customer-panel {
    border: 1px solid rgba(255,255,255,.085);
    background: linear-gradient(145deg, rgba(255,255,255,.072), rgba(255,255,255,.025));
    box-shadow: 0 20px 60px rgba(0,0,0,.18);
}

.customer-stat-card {
    min-height: 176px;
    padding: 22px;
    border-radius: 22px;
    transition: .25s ease;
}

    .customer-stat-card:hover {
        transform: translateY(-4px);
        border-color: rgba(255,106,0,.42);
    }

.customer-stat-top {
    margin-bottom: 19px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #c7c7c7;
    font-weight: 800;
}

.customer-stat-icon {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    color: var(--clear-white);
    background: rgba(255,106,0,.14);
    border: 1px solid rgba(255,106,0,.3);
}

    .customer-stat-icon svg {
        width: 21px;
        height: 21px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.9;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

.customer-stat-card > strong {
    display: block;
    margin-bottom: 6px;
    font-size: 40px;
    line-height: 1;
}

.customer-stat-card small {
    color: #858585;
    font-size: 13px;
}

.customer-dashboard-main-grid,
.customer-dashboard-lower-grid {
    max-width: 1450px;
    margin: 0 auto 22px;
    display: grid;
    gap: 22px;
}

.customer-dashboard-main-grid > *,
.customer-dashboard-lower-grid > *,
.dashboard-summary > *,
.customer-insight-item > div,
.smart-recommendation-content {
    min-width: 0;
}

.customer-dashboard-main-grid {
    grid-template-columns: minmax(0, 1.65fr) minmax(320px, .8fr);
}

.customer-dashboard-lower-grid {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
}

.customer-panel {
    padding: 27px;
    border-radius: 25px;
}

.customer-panel-heading {
    margin-bottom: 22px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}

    .customer-panel-heading h2 {
        margin: 0;
        font-size: 25px;
    }

.customer-average {
    text-align: right;
}

    .customer-average span {
        display: block;
        margin-bottom: 4px;
        color: #8f8f8f;
        font-size: 12px;
        font-weight: 700;
    }

    .customer-average strong {
        font-size: 25px;
        color: var(--signal-orange);
    }

.customer-chart-wrap {
    width: 100%;
    min-width: 0;
    height: 315px;
    overflow: hidden;
}

.customer-chart-wrap canvas {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
}

.customer-insight-list {
    display: grid;
    gap: 3px;
}

.customer-insight-item {
    padding: 17px 0;
    display: flex;
    gap: 14px;
    border-bottom: 1px solid rgba(255,255,255,.07);
}

    .customer-insight-item:last-child {
        border-bottom: 0;
    }

.customer-insight-icon {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    color: var(--signal-orange);
    background: rgba(255,106,0,.11);
    border: 1px solid rgba(255,106,0,.22);
    font-weight: 900;
}

.customer-insight-item strong {
    display: block;
    margin-bottom: 5px;
}

.customer-insight-item p {
    margin: 0;
    color: #8e8e8e;
    font-size: 14px;
    line-height: 1.45;
}

.customer-activity-list,
.customer-card-list {
    display: grid;
}

.customer-activity-row {
    padding: 16px 0;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 13px;
    border-bottom: 1px solid rgba(255,255,255,.07);
}

    .customer-activity-row:last-child {
        border-bottom: 0;
    }

.customer-activity-marker {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--signal-orange);
    box-shadow: 0 0 0 6px rgba(255,106,0,.12);
}

.customer-activity-row strong,
.customer-activity-row p {
    display: block;
}

.customer-activity-row p {
    margin: 4px 0 0;
    color: #888;
    font-size: 13px;
}

.customer-activity-status {
    color: #31d776;
    font-size: 12px;
    font-weight: 800;
}

.customer-review-card {
    padding: 17px 0;
    display: grid;
    grid-template-columns: auto minmax(180px, 1fr) minmax(100px, auto) minmax(150px, auto);
    align-items: center;
    gap: 17px;
    border-bottom: 1px solid rgba(255,255,255,.07);
}

    .customer-review-card:last-child {
        border-bottom: 0;
    }

.customer-review-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    color: var(--clear-white);
    background: linear-gradient(135deg, var(--signal-orange), #ff8b2b);
    box-shadow: 0 12px 30px rgba(255,106,0,.2);
    font-size: 11px;
    font-weight: 900;
}

.customer-review-card-info > strong {
    display: block;
    margin-bottom: 6px;
}

.customer-review-card-info > span {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #31d776;
    font-size: 12px;
    font-weight: 800;
}

.customer-review-card-info i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

.customer-review-card-stat {
    text-align: right;
}

    .customer-review-card-stat span {
        display: block;
        margin-bottom: 5px;
        color: #7f7f7f;
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .7px;
    }

    .customer-review-card-stat strong {
        font-size: 15px;
    }

.customer-no-activity,
.customer-empty-state {
    text-align: center;
}

.customer-no-activity {
    padding: 35px 10px 20px;
}

    .customer-no-activity > span,
    .customer-empty-icon {
        margin: 0 auto 15px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        color: var(--signal-orange);
        background: rgba(255,106,0,.1);
        border: 1px solid rgba(255,106,0,.25);
        font-weight: 900;
    }

    .customer-no-activity > span {
        width: 48px;
        height: 48px;
    }

    .customer-no-activity h3 {
        margin: 0 0 7px;
    }

    .customer-no-activity p {
        margin: 0;
        color: #888;
    }

.customer-empty-state {
    max-width: 620px;
    margin: 100px auto;
    padding: 50px;
    border-radius: 27px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.09);
}

.customer-empty-icon {
    width: 62px;
    height: 62px;
    font-size: 28px;
}

.customer-empty-state p {
    color: #999;
    line-height: 1.6;
}

.customer-empty-state a {
    margin-top: 15px;
    padding: 13px 19px;
    border-radius: 12px;
    display: inline-block;
    color: var(--clear-white);
    text-decoration: none;
    background: var(--signal-orange);
    font-weight: 800;
}

@media (max-width: 1100px) {
    .analytics-range-bar {
        grid-template-columns: 1fr;
    }

    .analytics-range-presets {
        justify-self: stretch;
        justify-content: center;
    }

    .analytics-custom-range {
        justify-self: start;
    }

    .customer-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .customer-dashboard-main-grid,
    .customer-dashboard-lower-grid {
        width: 100%;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 720px) {
    .customer-dashboard-v2 {
        padding: 28px 16px 55px;
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .analytics-range-bar {
        padding: 16px;
        gap: 14px;
    }

    .analytics-range-presets {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .analytics-range-presets a {
        min-width: 0;
        padding: 10px 6px;
    }

    .analytics-custom-range {
        width: 100%;
    }

    .analytics-custom-range summary {
        text-align: center;
    }

    .analytics-custom-range form {
        min-width: 0;
        margin-top: 10px;
        position: static;
    }

    .customer-dashboard-header,
    .customer-highlight {
        flex-direction: column;
    }

    .customer-header-actions {
        width: 100%;
        justify-content: space-between;
    }

    .customer-live-pill {
        font-size: 12px;
    }

    .customer-highlight {
        align-items: stretch;
        padding: 25px;
    }

    .customer-highlight-message {
        max-width: none;
    }

    .customer-stat-grid {
        grid-template-columns: 1fr 1fr;
        gap: 11px;
    }

    .customer-stat-card {
        min-height: 160px;
        padding: 18px;
    }

        .customer-stat-card > strong {
            font-size: 34px;
        }

    .customer-panel {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding: 21px;
    }

    .customer-panel-heading {
        flex-direction: column;
    }

    .customer-average {
        text-align: left;
    }

    .customer-chart-wrap {
        height: 235px;
    }

    .customer-insight-item > div,
    .smart-recommendation-content {
        overflow-wrap: anywhere;
    }

    .customer-insights-panel .stat-card {
        width: 100%;
        min-width: 0;
        padding: 18px 0;
        border-width: 0 0 1px;
        border-radius: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 6px 16px;
        background: transparent;
    }

    .customer-insights-panel .stat-card:hover {
        transform: none;
        border-color: rgba(255,255,255,.08);
    }

    .customer-insights-panel .stat-card h3 {
        margin: 0;
        font-size: 16px;
    }

    .customer-insights-panel .stat-card h2 {
        grid-column: 2;
        grid-row: 1 / span 2;
        margin: 0;
        font-size: 38px;
        line-height: 1;
    }

    .customer-insights-panel .week-change {
        grid-column: 1;
        margin: 0;
    }

    .customer-review-card {
        grid-template-columns: auto 1fr;
    }

    .customer-review-card-stat {
        padding-left: 65px;
        text-align: left;
    }
}

@media (max-width: 430px) {
    .customer-dashboard-v2 {
        padding: 22px 12px 45px;
    }

    .customer-stat-grid {
        grid-template-columns: 1fr;
    }

    .analytics-custom-range form {
        grid-template-columns: 1fr;
    }

    .analytics-custom-range button {
        grid-column: 1;
    }

    .customer-header-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .customer-live-pill,
    .customer-logout-btn {
        justify-content: center;
    }

    .customer-dashboard-header h1 {
        letter-spacing: -1px;
    }

    .customer-panel,
    .customer-dashboard-v2 .card-performance {
        padding: 18px;
        border-radius: 20px;
    }

    .customer-insight-item {
        gap: 11px;
    }

    .customer-insight-icon {
        width: 38px;
        height: 38px;
    }
}

.week-change {
    margin-top: 8px;
    font-size: .9rem;
    font-weight: 600;
}

    .week-change.positive {
        color: #22c55e;
    }

    .week-change.negative {
        color: #ef4444;
    }
.dashboard-summary {
    max-width: 1450px;
    margin: 0 auto 22px;
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 18px;
}

.goal-card,
.performance-card {
    background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 24px;
    padding: 28px;
}

.goal-circle {
    width: 130px;
    height: 130px;
    margin: 25px auto;
    border-radius: 50%;
    border: 8px solid rgba(255,106,0,.25);
    display: flex;
    align-items: center;
    justify-content: center;
}

    .goal-circle span {
        font-size: 36px;
        font-weight: 800;
        color: var(--signal-orange);
    }

.goal-bar {
    height: 18px;
    background: #2b2b2b;
    border-radius: 999px;
    overflow: hidden;
    margin: 25px 0;
}

.goal-fill {
    height: 100%;
    background: linear-gradient(90deg,var(--signal-orange),#ff9d32);
    transition: .8s;
}

.performance-row {
    display: flex;
    justify-content: space-between;
    padding: 18px 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

    .performance-row:last-child {
        border: none;
    }

    .performance-row span {
        color: #9c9c9c;
    }

    .performance-row strong {
        color: white;
    }

.positive {
    color: #22c55e !important;
}

.negative {
    color: #ef4444 !important;
}

@media(max-width:900px) {

    .dashboard-summary {
        width: 100%;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr);
    }
}

.smart-recommendation {
    max-width: 1450px;
    margin: 0 auto 22px;
    padding: 24px 28px;
    border-radius: 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    background: linear-gradient( 145deg, rgba(255,255,255,.07), rgba(255,255,255,.025) );
    border: 1px solid rgba(255,255,255,.09);
    box-shadow: 0 20px 60px rgba(0,0,0,.18);
}

.smart-recommendation-icon {
    width: 58px;
    height: 58px;
    flex-shrink: 0;
    border-radius: 17px;
    display: grid;
    place-items: center;
    font-size: 25px;
    font-weight: 900;
    color: var(--signal-orange);
    background: rgba(255,106,0,.12);
    border: 1px solid rgba(255,106,0,.28);
}

.smart-recommendation-content p {
    margin: 0 0 6px;
    color: var(--signal-orange);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.5px;
}

.smart-recommendation-content h2 {
    margin: 0 0 7px;
    font-size: 22px;
}

.smart-recommendation-content > span {
    color: #a8a8a8;
    line-height: 1.5;
}

.smart-recommendation.success {
    border-color: rgba(34,197,94,.25);
}

    .smart-recommendation.success .smart-recommendation-icon {
        color: #22c55e;
        background: rgba(34,197,94,.1);
        border-color: rgba(34,197,94,.25);
    }

.smart-recommendation.warning {
    border-color: rgba(255,166,0,.28);
}

    .smart-recommendation.warning .smart-recommendation-icon {
        color: #ffae35;
        background: rgba(255,166,0,.1);
        border-color: rgba(255,166,0,.28);
    }

@media (max-width: 650px) {
    .smart-recommendation {
        align-items: flex-start;
        padding: 22px;
    }

    .smart-recommendation-icon {
        width: 48px;
        height: 48px;
    }

    .smart-recommendation-content h2 {
        font-size: 19px;
    }
}

.card-performance {
    max-width: 1450px;
    margin: 0 auto 22px;
    padding: 25px 27px;
    border: 1px solid rgba(255,255,255,.085);
    border-radius: 25px;
    background: linear-gradient(145deg, rgba(255,255,255,.072), rgba(255,255,255,.025));
    box-shadow: 0 20px 60px rgba(0,0,0,.18);
}

.card-performance-heading {
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
}

    .card-performance-heading h2 {
        margin: 0 0 6px;
        font-size: 25px;
    }

    .card-performance-heading > div > p:last-child {
        margin: 0;
        color: #8f8f8f;
        font-size: 14px;
    }

.card-performance-count {
    flex: 0 0 auto;
    padding: 8px 12px;
    border: 1px solid rgba(255,106,0,.3);
    border-radius: 999px;
    color: #ff8a3d;
    background: rgba(255,106,0,.08);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.card-performance-empty {
    min-height: 92px;
    padding: 18px 20px;
    border: 1px dashed rgba(255,255,255,.12);
    border-radius: 18px;
    display: flex;
    align-items: center;
    gap: 16px;
    background: rgba(0,0,0,.16);
}

.card-performance-empty-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border: 1px solid rgba(255,106,0,.38);
    border-radius: 14px;
    display: grid;
    place-items: center;
    color: var(--signal-orange);
    background: rgba(255,106,0,.1);
    font-weight: 900;
}

.card-performance-empty strong {
    display: block;
    margin-bottom: 4px;
    font-size: 16px;
}

.card-performance-empty p {
    margin: 0;
    color: #858585;
    font-size: 14px;
}

.card-performance-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.card-performance-item {
    min-width: 0;
    padding: 17px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    background: rgba(0,0,0,.18);
}

.card-performance-top {
    margin-bottom: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
}

.card-performance-name {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 11px;
}

.card-performance-rank {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    color: #ff7b22;
    background: rgba(255,106,0,.1);
    font-size: 11px;
    font-weight: 900;
}

.card-performance-name small,
.card-performance-total span {
    display: block;
    color: #777;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.card-performance-name strong {
    display: block;
    max-width: 210px;
    overflow: hidden;
    color: var(--clear-white);
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.card-performance-total {
    flex: 0 0 auto;
    text-align: right;
}

    .card-performance-total strong {
        display: block;
        color: var(--clear-white);
        font-size: 20px;
        line-height: 1;
    }

.card-progress {
    height: 6px;
    background: #2d2d2d;
    border-radius: 100px;
    overflow: hidden;
}

.card-progress-fill {
    height: 100%;
    border-radius: 100px;
    background: linear-gradient(90deg,var(--signal-orange),#ff9b52);
}

@media (max-width: 1100px) {
    .card-performance-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .card-performance {
        padding: 21px;
    }

    .card-performance-heading {
        flex-direction: column;
        gap: 14px;
    }

    .card-performance-grid {
        grid-template-columns: 1fr;
    }

    .card-performance-empty {
        align-items: flex-start;
    }
}

.card-name-input {
    width: 100%;
    background: transparent;
    border: none;
    outline: none;
    color: var(--clear-white);
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 6px;
}

    .card-name-input:focus {
        color: var(--signal-orange);
    }

.rename-card-btn {
    margin-top: 10px;
    background: var(--signal-orange);
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    transition: .25s;
}

    .rename-card-btn:hover {
        background: #ff7d1a;
    }

/* PREMIUM ADMIN LOGIN */
.admin-login-page {
    --admin-accent: var(--signal-orange);
    min-height: 100svh;
    padding: 30px clamp(22px, 5vw, 78px);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    color: var(--clear-white);
    background:
        radial-gradient(circle at 73% 45%, rgba(255,106,0,.1), transparent 30%),
        linear-gradient(130deg, var(--carbon-black), #0d0b09 55%, var(--carbon-black));
}

.admin-login-grid {
    position: absolute;
    inset: 0;
    z-index: -3;
    opacity: .23;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 62px 62px;
    mask-image: linear-gradient(90deg, #000, transparent 84%);
}

.admin-login-orb {
    position: absolute;
    z-index: -2;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(100px);
}

.admin-login-orb-one {
    width: 430px;
    height: 430px;
    top: -280px;
    right: 8%;
    background: rgba(255,106,0,.17);
}

.admin-login-orb-two {
    width: 360px;
    height: 360px;
    bottom: -280px;
    left: 5%;
    background: rgba(255,106,0,.1);
}

.admin-login-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.admin-login-brand,
.admin-login-back {
    color: var(--clear-white);
    text-decoration: none;
}

.admin-login-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.admin-login-brand > span {
    width: 43px;
    height: 43px;
    border: 1px solid rgba(255,106,0,.55);
    border-radius: 13px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #ff7a19, #dc5000);
    box-shadow: 0 12px 30px rgba(255,106,0,.22);
    font-size: 14px;
    font-weight: 950;
}

.admin-login-brand div {
    display: flex;
    flex-direction: column;
}

.admin-login-brand strong {
    font-size: 14px;
    line-height: 1.3;
}

.admin-login-brand small {
    color: #777;
    font-size: 10px;
    letter-spacing: .45px;
}

.admin-login-back {
    padding: 10px 13px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #8b8b8b;
    font-size: 11px;
    font-weight: 800;
    transition: color .2s ease, background .2s ease;
}

.admin-login-back:hover {
    color: var(--clear-white);
    background: rgba(255,255,255,.05);
}

.admin-login-back svg {
    width: 15px;
    height: 15px;
}

.admin-login-shell {
    width: min(1110px, 100%);
    margin: auto;
    padding: 35px 0 25px;
    display: grid;
    grid-template-columns: minmax(400px, .84fr) minmax(0, 1.16fr);
    align-items: center;
    gap: clamp(65px, 9vw, 125px);
}

.admin-login-panel {
    min-width: 0;
}

.admin-login-card {
    width: 100%;
    padding: clamp(32px, 4vw, 47px);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 29px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(26,23,21,.97), rgba(10,10,10,.97));
    box-shadow: 0 35px 100px rgba(0,0,0,.55), inset 0 1px rgba(255,255,255,.045);
}

.admin-login-card::before {
    content: "";
    width: 145px;
    height: 1px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, var(--admin-accent), transparent);
    box-shadow: 0 0 22px rgba(255,106,0,.6);
}

.admin-login-icon {
    width: 52px;
    height: 52px;
    margin-bottom: 25px;
    border: 1px solid rgba(255,106,0,.34);
    border-radius: 16px;
    display: grid;
    place-items: center;
    color: var(--admin-accent);
    background: rgba(255,106,0,.095);
}

.admin-login-icon svg {
    width: 24px;
    height: 24px;
}

.admin-login-heading p,
.admin-login-kicker {
    margin: 0 0 9px;
    color: var(--admin-accent);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: 1.8px;
}

.admin-login-heading h1 {
    margin: 0 0 9px;
    font-size: clamp(36px, 3.5vw, 45px);
    line-height: 1;
    letter-spacing: -2px;
}

.admin-login-heading > span {
    color: #858585;
    font-size: 12px;
}

.admin-login-fields {
    margin-top: 30px;
    display: grid;
    gap: 18px;
}

.admin-login-fields > label > span {
    margin: 0 0 8px 2px;
    display: block;
    color: #d2d2d2;
    font-size: 11px;
    font-weight: 800;
}

.admin-login-field {
    height: 56px;
    padding: 0 15px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
    display: flex;
    align-items: center;
    gap: 11px;
    background: rgba(255,255,255,.043);
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.admin-login-field:focus-within {
    border-color: rgba(255,106,0,.72);
    background: rgba(255,106,0,.035);
    box-shadow: 0 0 0 4px rgba(255,106,0,.08);
}

.admin-login-field > svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    color: #656565;
}

.admin-login-field:focus-within > svg {
    color: var(--admin-accent);
}

.admin-login-field input {
    width: 100%;
    min-width: 0;
    height: 100%;
    padding: 0;
    border: 0;
    outline: 0;
    color: var(--clear-white);
    background: transparent;
    font: inherit;
    font-size: 14px;
}

.admin-login-field input::placeholder {
    color: #5d5d5d;
}

.admin-password-toggle {
    width: 34px;
    height: 34px;
    margin-right: -6px;
    padding: 0;
    border: 0;
    border-radius: 9px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    color: #777;
    cursor: pointer;
    background: transparent;
    transition: color .2s ease, background .2s ease;
}

.admin-password-toggle:hover {
    color: var(--clear-white);
    background: rgba(255,255,255,.06);
}

.admin-password-toggle svg {
    width: 17px;
    height: 17px;
}

.admin-login-error {
    padding: 12px 14px;
    border: 1px solid rgba(255,78,78,.28);
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #ffb0b0;
    background: rgba(255,61,61,.08);
    font-size: 12px;
}

.admin-login-error svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    color: #ff6464;
}

.admin-login-submit {
    height: 56px;
    padding: 0 20px;
    border: 0;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--clear-white);
    cursor: pointer;
    background: linear-gradient(135deg, #ff7a18, #e95400);
    box-shadow: 0 14px 38px rgba(255,106,0,.24), inset 0 1px rgba(255,255,255,.22);
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    transition: transform .2s ease, box-shadow .2s ease;
}

.admin-login-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 45px rgba(255,106,0,.34), inset 0 1px rgba(255,255,255,.22);
}

.admin-login-submit svg {
    width: 17px;
    height: 17px;
    transition: transform .2s ease;
}

.admin-login-submit:hover svg {
    transform: translateX(3px);
}

.admin-login-protection {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.07);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 11px 19px;
}

.admin-login-protection span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #595959;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .7px;
}

.admin-login-protection svg {
    width: 12px;
    height: 12px;
}

.admin-login-overview {
    min-width: 0;
}

.admin-login-status {
    width: fit-content;
    margin-bottom: 27px;
    padding: 8px 10px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 9px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #7b7b7b;
    background: rgba(255,255,255,.035);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1px;
}

.admin-login-status i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #55e996;
    box-shadow: 0 0 0 4px rgba(85,233,150,.1), 0 0 13px rgba(85,233,150,.3);
}

.admin-login-status span {
    padding-left: 8px;
    border-left: 1px solid rgba(255,255,255,.09);
    color: #65dc98;
}

.admin-login-overview h2 {
    max-width: 590px;
    margin: 0;
    font-size: clamp(47px, 5vw, 72px);
    line-height: .99;
    letter-spacing: -3.8px;
}

.admin-login-overview h2 span {
    color: var(--admin-accent);
}

.admin-login-copy {
    max-width: 560px;
    margin: 22px 0 27px;
    color: #929292;
    font-size: 15px;
    line-height: 1.7;
}

.admin-login-modules {
    max-width: 555px;
    display: grid;
    gap: 9px;
}

.admin-login-modules > div {
    padding: 12px 14px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 14px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 13px;
    background: linear-gradient(100deg, rgba(255,255,255,.048), rgba(255,255,255,.015));
}

.admin-login-modules > div > span {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255,106,0,.2);
    border-radius: 11px;
    display: grid;
    place-items: center;
    color: var(--admin-accent);
    background: rgba(255,106,0,.07);
}

.admin-login-modules > div > span svg {
    width: 18px;
    height: 18px;
}

.admin-login-modules p {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.admin-login-modules strong {
    font-size: 12px;
}

.admin-login-modules small {
    color: #707070;
    font-size: 10px;
}

.admin-login-modules > div > svg {
    width: 15px;
    height: 15px;
    color: #505050;
}

.admin-login-notice {
    max-width: 555px;
    margin-top: 20px;
    padding: 13px 15px;
    border-left: 2px solid rgba(255,106,0,.65);
    display: flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(90deg, rgba(255,106,0,.07), transparent);
}

.admin-login-notice > svg {
    width: 23px;
    height: 23px;
    flex: 0 0 auto;
    color: var(--admin-accent);
}

.admin-login-notice span {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.admin-login-notice strong {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .7px;
}

.admin-login-notice small {
    color: #6f6f6f;
    font-size: 9px;
}

@media (max-width: 940px) {
    .admin-login-page {
        padding: 24px clamp(18px, 5vw, 45px) 45px;
        overflow-y: auto;
    }

    .admin-login-shell {
        max-width: 530px;
        padding-top: 65px;
        grid-template-columns: 1fr;
    }

    .admin-login-overview {
        display: none;
    }
}

@media (max-width: 520px) {
    .admin-login-page {
        padding: 19px 14px 30px;
    }

    .admin-login-brand > span {
        width: 39px;
        height: 39px;
        border-radius: 12px;
    }

    .admin-login-brand div {
        display: none;
    }

    .admin-login-shell {
        padding-top: 58px;
    }

    .admin-login-card {
        padding: 30px 21px 25px;
        border-radius: 24px;
    }

    .admin-login-heading h1 {
        font-size: 36px;
    }

    .admin-login-protection {
        gap: 9px 13px;
    }
}

@media (max-height: 760px) and (min-width: 941px) {
    .admin-login-page {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .admin-login-shell {
        padding-top: 22px;
    }

    .admin-login-card {
        padding-top: 32px;
        padding-bottom: 28px;
    }

    .admin-login-overview h2 {
        font-size: clamp(44px, 4.5vw, 62px);
    }

    .admin-login-copy {
        margin-top: 15px;
        margin-bottom: 18px;
    }

    .admin-login-modules {
        gap: 7px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .admin-login-back,
    .admin-login-field,
    .admin-password-toggle,
    .admin-login-submit,
    .admin-login-submit svg {
        transition: none;
    }
}

/* MANAGED WEBSITE SUBSCRIPTION */
.subscription-page {
    min-height: 100svh;
    padding: 28px clamp(20px, 5vw, 78px) 55px;
    color: var(--clear-white);
    background:
        radial-gradient(circle at 78% 25%, rgba(255,106,0,.16), transparent 32%),
        linear-gradient(135deg, var(--carbon-black), #0c0907 58%, var(--carbon-black));
}

.subscription-topbar,
.subscription-shell {
    width: min(1220px, 100%);
    margin-right: auto;
    margin-left: auto;
}

.subscription-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.subscription-brand,
.subscription-back {
    color: var(--clear-white);
    text-decoration: none;
}

.subscription-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
}

.subscription-brand > span {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #ff7b1b, #da4e00);
    box-shadow: 0 12px 30px rgba(255,106,0,.22);
    font-size: 13px;
    font-weight: 950;
}

.subscription-brand div {
    display: flex;
    flex-direction: column;
}

.subscription-brand strong {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .7px;
}

.subscription-brand small {
    color: #6b6b6b;
    font-size: 9px;
}

.subscription-back {
    height: 38px;
    padding: 0 13px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #949494;
    background: rgba(255,255,255,.03);
    font-size: 10px;
    font-weight: 800;
}

.subscription-back svg {
    width: 14px;
    height: 14px;
}

.subscription-shell {
    padding-top: 75px;
    display: grid;
    grid-template-columns: minmax(330px, .8fr) minmax(520px, 1.2fr);
    align-items: center;
    gap: clamp(60px, 9vw, 125px);
}

.subscription-eyebrow {
    margin: 0 0 18px;
    color: var(--beacon-orange);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 1.6px;
}

.subscription-summary h1 {
    margin: 0;
    font-size: clamp(54px, 6vw, 78px);
    line-height: .96;
    letter-spacing: -4px;
}

.subscription-summary h1 span {
    color: var(--signal-orange);
}

.subscription-summary > p:not(.subscription-eyebrow):not(.current-offer-pill) {
    max-width: 520px;
    margin: 23px 0 28px;
    color: var(--muted-grey);
    font-size: 16px;
    line-height: 1.7;
}

.subscription-included {
    display: grid;
    gap: 12px;
}

.subscription-included span {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #c6c6c6;
    font-size: 13px;
}

.subscription-included svg {
    width: 18px;
    height: 18px;
    padding: 4px;
    border-radius: 50%;
    color: #ff8a39;
    background: rgba(255,106,0,.1);
}

.subscription-checkout-card {
    padding: clamp(28px, 4vw, 45px);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 29px;
    background: linear-gradient(145deg, rgba(25,22,20,.98), rgba(9,9,9,.98));
    box-shadow: 0 35px 100px rgba(0,0,0,.55), inset 0 1px rgba(255,255,255,.04);
}

.subscription-card-head {
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 13px;
}

.subscription-card-head > span {
    width: 44px;
    height: 44px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    color: #ff7d27;
    background: rgba(255,106,0,.09);
}

.subscription-card-head svg {
    width: 21px;
    height: 21px;
}

.subscription-card-head p,
.subscription-card-head h2 {
    margin: 0;
}

.subscription-card-head p {
    margin-bottom: 3px;
    color: #ff812e;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: 1.3px;
}

.subscription-card-head h2 {
    font-size: 22px;
}

.subscription-price {
    padding: 19px;
    border: 1px solid rgba(255,106,0,.2);
    border-radius: 17px;
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: 20px;
    background: linear-gradient(135deg, rgba(255,106,0,.1), rgba(255,106,0,.025));
}

.subscription-price > div:only-child {
    grid-column: 1 / -1;
}

.subscription-extra-work a,
.care-section a {
    color: #ff8a2b;
    text-underline-offset: .2em;
}

.quoted-website-hero h1 {
    font-size: clamp(40px, 4.4vw, 64px);
    line-height: 1.03;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.subscription-price > div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.subscription-price small {
    color: #8a6a54;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .7px;
}

.subscription-price strong {
    font-size: 34px;
    line-height: 1;
}

.subscription-price strong span {
    margin-left: 4px;
    color: #8a8a8a;
    font-size: 11px;
}

.subscription-key-terms {
    margin: 22px 0;
    display: grid;
    gap: 0;
}

.subscription-key-terms > div {
    padding: 11px 0;
    border-bottom: 1px solid rgba(255,255,255,.065);
    display: flex;
    justify-content: space-between;
    gap: 20px;
    font-size: 11px;
}

.subscription-key-terms span {
    color: var(--quiet-grey);
}

.subscription-key-terms strong {
    text-align: right;
}

.subscription-extra-work {
    margin: 0 0 20px;
    padding: 12px 13px;
    border-left: 2px solid var(--signal-orange);
    color: #8c8c8c;
    background: rgba(255,106,0,.045);
    font-size: 10px;
    line-height: 1.55;
}

.subscription-error {
    margin-bottom: 15px;
    padding: 12px;
    border: 1px solid rgba(255,75,75,.25);
    border-radius: 11px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--error-red);
    background: rgba(255,75,75,.06);
    font-size: 11px;
}

.subscription-error svg {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
}

.subscription-confirm-form {
    display: grid;
    gap: 12px;
}

.subscription-confirm-form label {
    padding: 12px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 11px;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 10px;
    cursor: pointer;
    background: rgba(255,255,255,.025);
}

.subscription-confirm-form input {
    margin-top: 2px;
    accent-color: var(--signal-orange);
}

.subscription-confirm-form label span {
    color: #adadad;
    font-size: 10px;
    line-height: 1.55;
}

.subscription-confirm-form label a,
.subscription-config-note a {
    color: #ff8c3d;
}

.subscription-cta {
    height: 54px;
    margin-top: 5px;
    padding: 0 18px;
    border: 0;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: var(--clear-white);
    cursor: pointer;
    background: linear-gradient(135deg, #ff7817, #e95300);
    box-shadow: 0 14px 36px rgba(255,106,0,.24);
    font: inherit;
    font-size: 12px;
    font-weight: 900;
}

.subscription-cta svg {
    width: 16px;
    height: 16px;
}

.subscription-cta.not-configured {
    box-shadow: none;
}

.subscription-config-note,
.subscription-card-security {
    text-align: center;
    color: #686868;
    font-size: 9px;
    line-height: 1.5;
}

.subscription-config-note {
    margin: 12px 0 0;
}

.subscription-card-security {
    margin: 16px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.subscription-card-security svg {
    width: 12px;
    height: 12px;
}

.managed-price-lockup {
    margin: 28px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.managed-price-lockup span {
    padding: 11px 13px;
    border: 1px solid rgba(255,106,0,.22);
    border-radius: 11px;
    color: #bcbcbc;
    background: rgba(255,106,0,.065);
    font-size: 12px;
}

.managed-price-lockup strong {
    color: #ff7620;
}

.service-hero-actions,
.contact-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.legal-container-wide {
    max-width: 980px;
}

.legal-kicker {
    margin-bottom: 12px !important;
    color: var(--signal-orange) !important;
    font-size: 11px !important;
    font-weight: 900;
    letter-spacing: 1.5px;
}

.legal-lead,
.legal-updated {
    font-size: 20px !important;
}

.legal-callout {
    margin: 30px 0;
    padding: 20px;
    border: 1px solid rgba(255,106,0,.24);
    border-left: 3px solid var(--signal-orange);
    border-radius: 13px;
    color: #d8d8d8;
    background: rgba(255,106,0,.06);
    font-size: 17px;
    line-height: 1.65;
}

.legal-container ul {
    padding-left: 24px;
    color: #d0d0d0;
    font-size: 17px;
    line-height: 1.75;
}

.legal-container li + li {
    margin-top: 7px;
}

.legal-container a {
    color: #ff8737;
}

.legal-summary-grid {
    margin: 30px 0 40px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.legal-summary-grid > div {
    padding: 20px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    background: rgba(255,255,255,.035);
}

.legal-summary-grid span {
    color: #ff7620;
    font-size: 25px;
    font-weight: 900;
}

.legal-summary-grid strong {
    color: #999;
    font-size: 11px;
}

@media (max-width: 900px) {
    .subscription-page {
        overflow-y: auto;
    }

    .subscription-shell {
        max-width: 650px;
        padding-top: 55px;
        grid-template-columns: 1fr;
    }

    .subscription-summary {
        text-align: center;
    }

    .subscription-summary > p:not(.subscription-eyebrow):not(.current-offer-pill) {
        margin-right: auto;
        margin-left: auto;
    }

    .subscription-included {
        width: fit-content;
        margin: auto;
        text-align: left;
    }
}

@media (max-width: 600px) {
    .subscription-page {
        padding: 20px 14px 35px;
    }

    .subscription-brand div {
        display: none;
    }

    .subscription-back {
        width: 38px;
        padding: 0;
        justify-content: center;
        font-size: 0;
    }

    .subscription-summary h1 {
        font-size: 50px;
        letter-spacing: -3px;
    }

    .subscription-checkout-card {
        padding: 25px 19px;
        border-radius: 23px;
    }

    .subscription-price {
        grid-template-columns: 1fr;
    }

    .subscription-key-terms > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .subscription-key-terms strong {
        text-align: left;
    }

    .legal-summary-grid {
        grid-template-columns: 1fr;
    }

    .managed-price-lockup,
    .service-hero-actions,
    .contact-actions {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Consistent premium button motion */
:is(button, .btn, .nav-btn, .customer-login, input[type="submit"], input[type="button"]) {
    transform: translateY(0) scale(1);
    transform-origin: center;
    transition:
        transform .24s cubic-bezier(.2,.75,.25,1),
        box-shadow .24s ease,
        filter .24s ease,
        border-color .24s ease,
        background-color .24s ease;
}

@media (hover: hover) and (pointer: fine) {
    :is(button, .btn, .nav-btn, .customer-login, input[type="submit"], input[type="button"]):not(:disabled):hover {
        transform: translateY(-3px) scale(1.015);
        filter: brightness(1.08);
    }

    :is(.btn.primary, .nav-btn, button[type="submit"], input[type="submit"]):not(:disabled):hover {
        box-shadow: 0 14px 34px rgba(255,106,0,.27);
    }
}

:is(button, .btn, .nav-btn, .customer-login, input[type="submit"], input[type="button"]):not(:disabled):active {
    transform: translateY(0) scale(.975);
    transition-duration: .1s;
}

:is(button, .btn, .nav-btn, .customer-login, input[type="submit"], input[type="button"]):focus-visible {
    outline: 2px solid var(--focus-orange);
    outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
    :is(button, .btn, .nav-btn, .customer-login, input[type="submit"], input[type="button"]) {
        transition: none;
    }

    :is(button, .btn, .nav-btn, .customer-login, input[type="submit"], input[type="button"]):not(:disabled):hover,
    :is(button, .btn, .nav-btn, .customer-login, input[type="submit"], input[type="button"]):not(:disabled):active {
        transform: none;
    }
}

@media (max-width: 1240px) {
    body.menu-open {
        overflow: hidden;
    }

    .home-nav {
        padding-right: 12px;
    }

    .home-nav .menu-toggle {
        display: block;
        flex: 0 0 46px;
    }

    .home-nav .desktop-quote {
        display: none;
    }

    .home-nav .nav-links {
        position: absolute;
        top: calc(100% + 12px);
        right: 0;
        width: min(310px, 94vw);
        padding: 16px;
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 14px;
        display: none !important;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        background: var(--raised-black);
        box-shadow: 0 24px 60px rgba(0,0,0,.55);
        opacity: 1;
        transform: none;
        animation: none;
    }

    .home-nav .nav-links.active {
        display: flex !important;
        z-index: 1100;
        max-height: calc(100svh - 112px);
        overflow-y: auto;
    }

    .home-nav .nav-links > a:not(.customer-login) {
        width: 100%;
        min-height: 46px;
        padding: 0 12px;
        display: flex;
        align-items: center;
        border-radius: 8px;
        font-size: 15px;
    }

    .home-nav .nav-links > a::after {
        display: none;
    }

    .home-nav .customer-login {
        width: 100%;
        min-height: 46px;
        margin-top: 8px;
        padding: 0 12px;
        border-top: 1px solid rgba(255,255,255,.1);
        border-radius: 0;
    }

    .home-nav .mobile-quote {
        display: flex;
        min-height: 48px;
        margin-top: 8px;
        justify-content: center;
        color: white;
        background: var(--signal-orange);
        font-weight: 900;
    }
}

@media (max-width: 600px) {
    .home-hero {
        background-position: 86% center;
    }
}

/* Homepage-specific hero treatment comes after the shared hero defaults so
   the live heading remains legible over the decorative artwork. */
.home-hero {
    background:
        linear-gradient(90deg, #030303 0%, #030303 42%, rgba(3,3,3,.98) 57%, rgba(3,3,3,.72) 78%, rgba(3,3,3,.3) 100%),
        url('/images/hero-business.webp') 72% center / cover no-repeat;
}

@media (max-width: 900px) {
    .home-hero {
        min-height: min(740px, 100svh);
        padding: 112px 6% 52px;
        background:
            linear-gradient(90deg, rgba(3,3,3,.98) 0%, rgba(3,3,3,.94) 54%, rgba(3,3,3,.72) 100%),
            url('/images/hero-business.webp') 74% center / cover no-repeat;
    }
}

@media (max-width: 600px) {
    .home-hero {
        min-height: min(760px, 100svh);
        padding: 104px 6% 40px;
        align-items: flex-start;
        background:
            linear-gradient(180deg, rgba(3,3,3,.99) 0%, rgba(3,3,3,.96) 62%, rgba(3,3,3,.76) 100%),
            url('/images/hero-business.webp') 76% center / cover no-repeat;
    }
}

/* Legal policy tables and persistent cookie controls. */
.footer-cookie-settings {
    margin: 0;
    padding: 0;
    border: 0;
    color: #9e9e9e;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.public-page-footer .footer-cookie-settings {
    color: var(--body-grey);
    font-size: 12px;
    font-weight: 700;
}

.public-page-footer nav {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.footer-links .footer-cookie-settings {
    transition: color .25s ease;
}

.footer-cookie-settings:hover,
.footer-cookie-settings:focus-visible {
    color: var(--signal-orange);
}

.legal-cookie-settings {
    min-height: 44px;
    padding: 11px 18px;
    border: 1px solid var(--signal-orange);
    border-radius: 10px;
    color: #fff;
    background: transparent;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.legal-cookie-settings:hover,
.legal-cookie-settings:focus-visible {
    background: var(--signal-orange);
}

.legal-table-wrap {
    overflow-x: auto;
    margin: 20px 0 30px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
}

.legal-table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
    color: #d6d6d6;
    font-size: 14px;
    line-height: 1.55;
}

.legal-table th,
.legal-table td {
    padding: 15px 17px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    text-align: left;
    vertical-align: top;
}

.legal-table th {
    color: #fff;
    background: rgba(255,106,0,.08);
}

.legal-table tbody tr:last-child td {
    border-bottom: 0;
}

.legal-table code {
    color: #ffad75;
}

/* ENQUIRIES WORKSPACE */
.enquiries-page {
    min-height: 100vh;
    color: #f5f5f5;
    background:
        radial-gradient(circle at 88% 0%, rgba(255,106,0,.13), transparent 28rem),
        #080808;
}

.enquiries-grid {
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: .34;
    background-image: linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(to bottom, #000, transparent 72%);
}

.enquiries-topbar,
.enquiries-shell {
    position: relative;
    z-index: 1;
    width: min(1400px, calc(100% - 64px));
    margin: 0 auto;
}

.enquiries-topbar {
    min-height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.enquiries-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    text-decoration: none;
}

.enquiries-brand > span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #080808;
    background: var(--signal-orange);
    font-size: 14px;
    font-weight: 950;
    letter-spacing: -.04em;
}

.enquiries-brand strong,
.enquiries-brand small {
    display: block;
}

.enquiries-brand strong {
    font-size: 13px;
    letter-spacing: .02em;
}

.enquiries-brand small {
    margin-top: 4px;
    color: var(--muted-grey);
    font-size: 11px;
}

.enquiries-topbar-actions,
.enquiries-heading-actions,
.enquiries-search-row,
.enquiries-status-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.enquiries-system-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #a9cdb1;
    font-size: 12px;
    font-weight: 700;
}

.enquiries-system-status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #53c878;
    box-shadow: 0 0 0 4px rgba(83,200,120,.1);
}

.enquiries-signout {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 13px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 9px;
    color: var(--body-grey);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.enquiries-signout svg { width: 15px; height: 15px; }

.enquiries-signout:hover,
.enquiries-signout:focus-visible {
    border-color: rgba(255,106,0,.55);
    color: #fff;
}

.enquiries-shell {
    padding: 28px 0 72px;
}

.enquiries-breadcrumb {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--quiet-grey);
    font-size: 12px;
}

.enquiries-breadcrumb a {
    color: var(--body-grey);
    text-decoration: none;
}

.enquiries-breadcrumb a:hover,
.enquiries-breadcrumb a:focus-visible { color: var(--signal-orange); }

.enquiries-heading {
    margin: 42px 0 36px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
}

.enquiries-eyebrow {
    margin: 0 0 10px;
    color: var(--signal-orange);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .18em;
}

.enquiries-heading h1 {
    margin: 0;
    color: #fff;
    font-size: 56px;
    line-height: 1;
    letter-spacing: -.045em;
}

.enquiries-heading > div:first-child > p:last-child {
    margin: 14px 0 0;
    color: var(--body-grey);
    font-size: 16px;
}

.enquiries-button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 15px;
    border: 1px solid transparent;
    border-radius: 9px;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}

.enquiries-button svg { width: 15px; height: 15px; }

.enquiries-button-primary {
    border-color: var(--signal-orange);
    background: var(--signal-orange);
    color: #080808;
}

.enquiries-button-primary:hover,
.enquiries-button-primary:focus-visible { background: #ff8737; }

.enquiries-button-secondary {
    border-color: rgba(255,106,0,.6);
    background: rgba(255,106,0,.06);
}

.enquiries-button-secondary:hover,
.enquiries-button-secondary:focus-visible { background: rgba(255,106,0,.16); }

.enquiries-button-quiet {
    border-color: rgba(255,255,255,.12);
    color: var(--body-grey);
}

.enquiries-button-quiet:hover,
.enquiries-button-quiet:focus-visible { border-color: rgba(255,255,255,.3); color: #fff; }

.enquiries-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 16px;
    background: rgba(18,18,18,.9);
}

.enquiries-stat {
    min-height: 108px;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.enquiries-stat + .enquiries-stat { border-left: 1px solid rgba(255,255,255,.09); }

.enquiries-stat-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--signal-orange);
    background: rgba(255,106,0,.1);
}

.enquiries-stat-icon svg { width: 18px; height: 18px; }

.enquiries-stat small,
.enquiries-stat strong { display: block; }

.enquiries-stat small {
    color: var(--muted-grey);
    font-size: 12px;
}

.enquiries-stat strong {
    margin-top: 4px;
    color: #fff;
    font-size: 28px;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.enquiries-stat-new .enquiries-stat-icon { color: #ffb15f; background: rgba(255,177,95,.11); }
.enquiries-stat-contacted .enquiries-stat-icon { color: #73b8ff; background: rgba(115,184,255,.11); }
.enquiries-stat-completed .enquiries-stat-icon { color: #67d18b; background: rgba(103,209,139,.11); }

.enquiries-inbox {
    margin-top: 26px;
    padding: 30px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 16px;
    background: rgba(15,15,15,.82);
}

.enquiries-inbox-heading {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
}

.enquiries-inbox-heading .enquiries-eyebrow { margin-bottom: 8px; }

.enquiries-inbox-heading h2 {
    margin: 0;
    color: #fff;
    font-size: 24px;
    letter-spacing: -.025em;
}

.enquiries-result-count {
    color: var(--muted-grey);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.enquiries-search {
    padding-bottom: 25px;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.enquiries-search > label {
    display: block;
    margin-bottom: 9px;
    color: var(--body-grey);
    font-size: 12px;
    font-weight: 800;
}

.enquiries-search-row { align-items: stretch; }

.enquiries-search-input {
    min-height: 44px;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 9px;
    background: #0b0b0b;
}

.enquiries-search-input:focus-within { border-color: rgba(255,106,0,.72); box-shadow: 0 0 0 3px rgba(255,106,0,.1); }
.enquiries-search-input svg { width: 16px; height: 16px; color: var(--muted-grey); }

.enquiries-search-input input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    color: #fff;
    background: transparent;
    font: inherit;
    font-size: 14px;
}

.enquiries-search-input input::placeholder { color: var(--quiet-grey); }

.enquiries-list {
    margin-top: 24px;
    display: grid;
    gap: 16px;
}

.enquiry-card {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 13px;
    background: #111;
}

.enquiry-card-new { border-top-color: rgba(255,177,95,.62); }
.enquiry-card-contacted { border-top-color: rgba(115,184,255,.62); }
.enquiry-card-completed { border-top-color: rgba(103,209,139,.62); }

.enquiry-card-main { padding: 24px 26px 22px; }

.enquiry-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.enquiry-person { display: flex; align-items: center; gap: 13px; }

.enquiry-avatar {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,106,0,.35);
    border-radius: 50%;
    color: #ffc096;
    background: rgba(255,106,0,.11);
    font-size: 16px;
    font-weight: 900;
    text-transform: uppercase;
}

.enquiry-person h3 { margin: 0; color: #fff; font-size: 20px; letter-spacing: -.02em; }
.enquiry-person p { margin: 4px 0 0; color: var(--muted-grey); font-size: 13px; }

.enquiry-card-meta { display: flex; align-items: flex-end; flex-direction: column; gap: 8px; }
.enquiry-card-meta time { color: var(--quiet-grey); font-size: 12px; }

.enquiry-status {
    padding: 5px 9px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.enquiry-status.new { color: #ffc078; background: rgba(255,177,95,.12); }
.enquiry-status.contacted { color: #91c6ff; background: rgba(115,184,255,.12); }
.enquiry-status.completed { color: #8be5a7; background: rgba(103,209,139,.12); }

.enquiry-request {
    width: fit-content;
    margin: 22px 0 18px;
    padding: 9px 12px;
    border: 1px solid rgba(255,106,0,.2);
    border-radius: 8px;
    background: rgba(255,106,0,.055);
}

.enquiry-request-label { margin-right: 9px; color: var(--muted-grey); font-size: 11px; }
.enquiry-request strong { color: #ffab71; font-size: 12px; }

.enquiry-contact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.enquiry-contact-item {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
    background: rgba(255,255,255,.025);
}

.enquiry-contact-item:hover,
.enquiry-contact-item:focus-visible { border-color: rgba(255,106,0,.45); background: rgba(255,106,0,.05); }
.enquiry-contact-item svg { width: 16px; height: 16px; flex: 0 0 16px; color: var(--signal-orange); }
.enquiry-contact-item small,
.enquiry-contact-item strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.enquiry-contact-item small { margin-bottom: 3px; color: var(--quiet-grey); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.enquiry-contact-item strong { color: var(--body-grey); font-size: 13px; font-weight: 700; }

.enquiry-message {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.08);
}

.enquiry-message > span,
.enquiry-action-label { color: var(--quiet-grey); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.enquiry-message p { max-width: 85ch; margin: 8px 0 0; color: #dedede; font-size: 14px; line-height: 1.65; white-space: pre-line; }

.enquiry-reference-images { margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.08); }
.enquiry-reference-images > span { color: var(--quiet-grey); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.enquiry-reference-images > div { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 9px; }
.enquiry-reference-images a { width: 82px; height: 62px; overflow: hidden; display: block; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; background: #080808; }
.enquiry-reference-images img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .25s ease; }
.enquiry-reference-images a:hover img { transform: scale(1.05); }

.enquiry-card-actions {
    min-height: 66px;
    padding: 14px 26px;
    display: flex;
    align-items: center;
    gap: 14px;
    border-top: 1px solid rgba(255,255,255,.08);
    background: rgba(0,0,0,.18);
}

.enquiry-status-actions { flex-wrap: wrap; }
.enquiry-status-actions form,
.enquiry-card-actions > form { margin: 0; }

.enquiries-action-button,
.enquiries-delete-button {
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 7px;
    color: var(--body-grey);
    background: transparent;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.enquiries-action-button:hover,
.enquiries-action-button:focus-visible,
.enquiries-action-button.is-current { border-color: rgba(255,106,0,.6); color: #fff; background: rgba(255,106,0,.14); }
.enquiries-delete-button { margin-left: auto; display: inline-flex; align-items: center; gap: 7px; color: #ff9d9d; border-color: rgba(255,100,100,.22); }
.enquiries-delete-button svg { width: 14px; height: 14px; }
.enquiries-delete-button:hover,
.enquiries-delete-button:focus-visible { color: #fff; border-color: rgba(255,100,100,.7); background: rgba(255,68,68,.18); }

.enquiries-empty {
    padding: 76px 24px;
    display: grid;
    justify-items: center;
    text-align: center;
}

.enquiries-empty-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,106,0,.35);
    border-radius: 14px;
    color: var(--signal-orange);
    background: rgba(255,106,0,.08);
}

.enquiries-empty-icon svg { width: 24px; height: 24px; }
.enquiries-empty h2 { margin: 20px 0 8px; color: #fff; font-size: 24px; letter-spacing: -.02em; }
.enquiries-empty p { max-width: 42ch; margin: 0 0 22px; color: var(--muted-grey); font-size: 14px; line-height: 1.6; }

@media (max-width: 900px) {
    .enquiries-topbar,
    .enquiries-shell { width: min(100% - 36px, 720px); }
    .enquiries-heading { align-items: flex-start; flex-direction: column; }
    .enquiries-heading-actions { width: 100%; }
    .enquiries-heading-actions .enquiries-button { flex: 1; }
    .enquiries-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .enquiries-stat:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255,255,255,.09); }
    .enquiries-stat:nth-child(4) { border-top: 1px solid rgba(255,255,255,.09); }
}

@media (max-width: 620px) {
    .enquiries-topbar { min-height: 70px; }
    .enquiries-system-status { display: none; }
    .enquiries-shell { padding-top: 22px; }
    .enquiries-heading { margin: 32px 0 28px; }
    .enquiries-heading h1 { font-size: 42px; }
    .enquiries-heading > div:first-child > p:last-child { font-size: 14px; line-height: 1.5; }
    .enquiries-inbox { padding: 20px 16px; }
    .enquiries-inbox-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
    .enquiries-search-row { align-items: stretch; flex-wrap: wrap; }
    .enquiries-search-input { flex-basis: 100%; }
    .enquiries-search-row .enquiries-button { flex: 1; }
    .enquiry-card-main { padding: 20px 18px; }
    .enquiry-card-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
    .enquiry-card-meta { align-items: flex-start; }
    .enquiry-contact-grid { grid-template-columns: 1fr; }
    .enquiry-card-actions { align-items: flex-start; flex-direction: column; padding: 15px 18px; }
.enquiries-delete-button { margin-left: 0; }
}

/* Keep the redesigned service cards ahead of the legacy quote-card defaults. */
.premium-quote-page.quote-page-redesign .quote-service-option > span {
    min-height: 176px;
    padding: 18px;
    border-radius: 12px;
    background: #171717;
}

.premium-quote-page.quote-page-redesign .quote-service-option input:checked + span {
    background: linear-gradient(145deg, rgba(255,106,0,.15), rgba(255,106,0,.04));
}

.premium-quote-page.quote-page-redesign .quote-service-option small { color: #8b8b8b; font-size: 12px; }
.premium-quote-page.quote-page-redesign .quote-service-option em { margin-top: auto; font-size: 9px; }

@media (max-width: 640px) {
    .premium-quote-page.quote-page-redesign .quote-service-option > span { min-height: 154px; }
}

/* Premium button system: quiet surfaces, a directional sweep and no glow. */
:is(a.btn, button.btn, a.nav-btn, a.mobile-quote, button.subscription-cta) {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    box-shadow: none;
    filter: none;
    transform: translateY(0);
    transition:
        transform .24s cubic-bezier(.2, .75, .25, 1),
        background-color .28s ease,
        border-color .28s ease,
        color .2s ease;
}

:is(a.btn, button.btn, a.nav-btn, a.mobile-quote, button.subscription-cta)::before {
    content: "";
    position: absolute;
    top: -20%;
    left: -120%;
    width: 76%;
    height: 140%;
    border-radius: inherit;
    background: rgba(255, 255, 255, .14);
    transform: skewX(-18deg);
    transition: transform .52s cubic-bezier(.65, 0, .076, 1);
    pointer-events: none;
    z-index: -1;
}

:is(a.btn, button.btn, a.nav-btn, a.mobile-quote, button.subscription-cta):is(:hover, :focus-visible, :active) {
    transform: translateY(-2px);
    box-shadow: none;
    filter: none;
}

:is(a.btn, button.btn, a.nav-btn, a.mobile-quote, button.subscription-cta):is(:hover, :focus-visible, :active)::before {
    transform: translateX(285%) skewX(-18deg);
}

/* Secondary actions use the same sweep as a solid orange fill. */
:is(a.btn.secondary, button.btn.secondary)::before {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: var(--signal-orange);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .4s cubic-bezier(.65, 0, .076, 1);
}

:is(a.btn.secondary, button.btn.secondary):is(:hover, :focus-visible, :active) {
    background: var(--signal-orange);
    border-color: var(--signal-orange);
    color: var(--raised-black);
}

:is(a.btn.secondary, button.btn.secondary):is(:hover, :focus-visible, :active)::before {
    transform: scaleX(1);
}

:is(a.btn, button.btn, a.nav-btn, a.mobile-quote, button.subscription-cta) svg {
    transition: transform .24s cubic-bezier(.2, .75, .25, 1);
}

:is(a.btn, button.btn, a.nav-btn, a.mobile-quote, button.subscription-cta):is(:hover, :focus-visible) svg {
    transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
    :is(a.btn, button.btn, a.nav-btn, a.mobile-quote, button.subscription-cta),
    :is(a.btn, button.btn, a.nav-btn, a.mobile-quote, button.subscription-cta)::before,
    :is(a.btn, button.btn, a.nav-btn, a.mobile-quote, button.subscription-cta) svg {
        transition: none;
    }
}
