:root {
    color-scheme: dark;
    --bg: #06100c;
    --bg-2: #0b1711;
    --panel: #101a15;
    --panel-2: #14221a;
    --line: #294333;
    --line-strong: #42654f;
    --text: #eef8f0;
    --muted: #9fb2a5;
    --soft: #cbd8ce;
    --green: #56e68b;
    --cyan: #73d9ff;
    --amber: #f7c65d;
    --red: #ff6d6d;
    --stone: #8c9a90;
    --shadow: 0 24px 80px rgba(0, 0, 0, 0.34);
}

* {
    box-sizing: border-box;
}

[hidden] {
    display: none !important;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-height: 100vh;
    background:
        linear-gradient(90deg, rgba(86, 230, 139, 0.035) 1px, transparent 1px),
        linear-gradient(0deg, rgba(115, 217, 255, 0.025) 1px, transparent 1px),
        var(--bg);
    background-size: 44px 44px, 44px 44px, auto;
    color: var(--text);
    font: 15px/1.55 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

.site-header {
    min-height: 88vh;
    overflow: hidden;
    position: relative;
    border-bottom: 1px solid var(--line);
    background:
        radial-gradient(circle at 82% 12%, rgba(247, 198, 93, 0.08), transparent 28%),
        linear-gradient(135deg, rgba(13, 28, 20, 0.96), rgba(6, 16, 12, 0.98));
}

.nav-wide,
.hero-wide,
.wide-section,
.site-footer,
.portal-topbar,
.portal-layout,
.wizard-layout {
    width: min(1500px, calc(100% - 48px));
    margin: 0 auto;
}

.nav-wide,
.portal-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 0;
}

.brand-mark {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 900;
    letter-spacing: 0;
    font-size: 21px;
}

.brand-mark::before {
    content: "";
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    display: inline-block;
    background: url("/assets/jyranex-logo-128.png") center / contain no-repeat;
    filter: drop-shadow(0 3px 0 rgba(33, 21, 15, .68));
}

.nav-links,
.portal-topbar nav,
.site-footer > div {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.nav-links a:not(.button),
.portal-topbar nav a:not(.button),
.site-footer a {
    color: var(--muted);
}

.hero-wide {
    min-height: calc(88vh - 82px);
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(420px, 0.98fr);
    align-items: center;
    gap: 58px;
    padding: 42px 0 74px;
}

.hero-copy {
    max-width: 780px;
}

.eyebrow {
    color: var(--green);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 12px;
    margin: 0 0 14px;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1 {
    font-size: clamp(44px, 6.4vw, 96px);
    line-height: 0.95;
    letter-spacing: 0;
    margin-bottom: 24px;
    max-width: 900px;
}

h2 {
    font-size: clamp(32px, 4.2vw, 64px);
    line-height: 1;
    letter-spacing: 0;
    margin-bottom: 18px;
}

h3 {
    font-size: 21px;
    margin-bottom: 10px;
}

p {
    color: var(--muted);
}

.hero-lead {
    color: var(--soft);
    font-size: 20px;
    max-width: 720px;
}

.legal-check {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 12px;
    align-items: start;
    color: var(--soft);
    font-size: 14px;
    line-height: 1.45;
}

.legal-check input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--green);
}

.legal-check a {
    color: var(--cyan);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.button {
    border: 1px solid var(--line-strong);
    border-radius: 7px;
    padding: 12px 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    color: var(--text);
    background: rgba(20, 34, 26, 0.74);
    cursor: pointer;
    transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.button:hover {
    transform: translateY(-1px);
    border-color: var(--green);
}

.button-primary {
    background: #2b7246;
    border-color: #67f29b;
    color: #f7fff9;
    box-shadow: 0 14px 42px rgba(86, 230, 139, 0.16);
}

.button-soft {
    background: #18382f;
    border-color: rgba(115, 217, 255, 0.46);
}

.button-line,
.button-ghost {
    background: transparent;
}

.button-danger {
    background: linear-gradient(135deg, #ff5c7a, #ff9852);
    border-color: rgba(255, 109, 109, .72);
    color: #fff7df;
}

.hero-visual {
    min-height: 560px;
    display: grid;
    place-items: center;
}

.matrix-stage {
    width: min(680px, 100%);
    aspect-ratio: 1 / 0.86;
    position: relative;
    border: 1px solid rgba(86, 230, 139, 0.32);
    background:
        linear-gradient(90deg, rgba(86, 230, 139, 0.08) 1px, transparent 1px),
        linear-gradient(0deg, rgba(115, 217, 255, 0.08) 1px, transparent 1px),
        rgba(9, 23, 16, 0.72);
    background-size: 34px 34px;
    box-shadow: var(--shadow), inset 0 0 80px rgba(86, 230, 139, 0.05);
    overflow: hidden;
}

.matrix-stage::before,
.matrix-stage::after {
    content: "";
    position: absolute;
    inset: 22px;
    border: 1px dashed rgba(140, 154, 144, 0.28);
}

.matrix-stage::after {
    inset: 62px;
    border-color: rgba(115, 217, 255, 0.22);
}

.tenant-node {
    position: relative;
    z-index: 2;
    border: 1px solid rgba(86, 230, 139, 0.42);
    background: rgba(13, 24, 18, 0.9);
    padding: 16px;
    min-width: 136px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

.tenant-node span {
    display: block;
    color: var(--cyan);
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
}

.tenant-node strong {
    display: block;
    margin-top: 4px;
    font-size: 20px;
}

.node-owner {
    position: absolute;
    left: 50px;
    top: 48px;
}

.tenant-rail {
    position: absolute;
    left: 176px;
    top: 130px;
    width: 58%;
    height: 2px;
    background: repeating-linear-gradient(90deg, var(--green) 0 18px, transparent 18px 28px);
    animation: railMove 1.8s linear infinite;
}

.tenant-grid {
    position: absolute;
    right: 44px;
    bottom: 44px;
    display: grid;
    grid-template-columns: repeat(2, minmax(136px, 1fr));
    gap: 18px;
}

.scan-line {
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    top: 0;
    background: rgba(115, 217, 255, 0.9);
    box-shadow: 0 0 24px rgba(115, 217, 255, 0.72);
    animation: scan 4s ease-in-out infinite;
}

@keyframes scan {
    0%, 100% { transform: translateY(20px); opacity: 0.28; }
    50% { transform: translateY(520px); opacity: 0.82; }
}

@keyframes railMove {
    from { background-position: 0 0; }
    to { background-position: 56px 0; }
}

.wide-section {
    padding: 88px 0;
}

.split-section {
    display: grid;
    grid-template-columns: minmax(280px, 0.55fr) minmax(0, 1fr);
    gap: 38px;
    align-items: start;
}

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

.package-card,
.flow-grid article,
.region-list article,
.order-panel,
.orders-panel,
.glass-form,
.wizard-panel,
.owner-row,
.owner-actions-row,
.order-card {
    border: 1px solid var(--line);
    background: rgba(16, 26, 21, 0.88);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
}

.package-card {
    padding: 22px;
    min-height: 430px;
    display: flex;
    flex-direction: column;
}

.package-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.package-top span,
.status-pill {
    border: 1px solid rgba(86, 230, 139, 0.38);
    color: var(--green);
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.package-card dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 18px 0;
}

.package-card dl div {
    border: 1px solid rgba(140, 154, 144, 0.18);
    padding: 10px;
}

dt {
    color: var(--muted);
    font-size: 12px;
}

dd {
    margin: 0;
    font-weight: 800;
}

.package-card ul {
    color: var(--soft);
    padding-left: 18px;
    margin: 0 0 22px;
}

.package-card .button {
    margin-top: auto;
}

.flow-band {
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: rgba(9, 19, 14, 0.64);
}

.flow-copy {
    max-width: 820px;
    margin-bottom: 32px;
}

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

.flow-grid article {
    padding: 22px;
    min-height: 238px;
}

.flow-grid span {
    color: var(--amber);
    font-weight: 900;
}

.region-section {
    display: grid;
    grid-template-columns: 0.42fr 1fr;
    gap: 42px;
}

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

.region-list article {
    padding: 18px;
    min-height: 150px;
}

.region-list strong,
.region-list span {
    display: block;
}

.region-list span {
    color: var(--muted);
    margin-top: 10px;
    font-size: 14px;
}

.site-footer {
    border-top: 1px solid var(--line);
    padding: 28px 0;
    color: var(--muted);
    display: flex;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.site-body {
    --ink: #15110d;
    --paper: #fff6df;
    --magma: #ff5a1f;
    --gold: #ffd166;
    --aqua: #30d5c8;
    --sky: #69b7ff;
    --violet: #9b5cff;
    --berry: #ff3f8f;
    --grass: #5ee45e;
    --deep: #180f2e;
    background:
        linear-gradient(120deg, rgba(255, 209, 102, .18), transparent 28%),
        linear-gradient(240deg, rgba(48, 213, 200, .18), transparent 34%),
        #101018;
    color: #fff9ec;
}

.site-body .site-header {
    min-height: 94vh;
    border-bottom: 0;
    background: #171421;
}

.site-body .art-hero {
    isolation: isolate;
}

.site-body .nav-wide {
    position: relative;
    z-index: 10;
    width: min(1560px, calc(100% - 48px));
}

.site-body .brand-mark {
    color: #fff8e7;
    text-shadow: 0 4px 0 rgba(0, 0, 0, .18);
}

.site-body .brand-mark::before {
    width: 34px;
    height: 34px;
    filter: drop-shadow(0 4px 0 #2b1b0e);
}

.site-body .nav-links a:not(.button) {
    color: rgba(255, 248, 231, .82);
    font-weight: 800;
}

.site-body .button {
    position: relative;
    border: 2px solid rgba(21, 17, 13, .88);
    border-radius: 0;
    min-height: 50px;
    padding: 13px 20px;
    color: #160f0b;
    background: var(--paper);
    box-shadow: 6px 6px 0 rgba(21, 17, 13, .92);
    font-weight: 900;
    overflow: hidden;
}

.site-body .button:hover {
    transform: translate(-2px, -2px);
    border-color: #160f0b;
    box-shadow: 10px 10px 0 rgba(21, 17, 13, .92);
}

.site-body .prism-button {
    background: linear-gradient(135deg, var(--gold), var(--magma) 38%, var(--berry) 70%, var(--violet));
    color: #fffaf0;
    animation: buttonPulse 3s ease-in-out infinite;
}

.site-body .candy-button,
.site-body .neon-button {
    background: linear-gradient(135deg, var(--aqua), var(--sky), var(--grass));
    color: #07110d;
}

.hero-world {
    position: relative;
    min-height: calc(94vh - 90px);
    display: grid;
    align-items: center;
    overflow: hidden;
    padding: 58px 0 110px;
}

.hero-world::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 34%;
    background:
        linear-gradient(90deg, #6b3f1d 0 9%, #7d4b20 9% 18%, #4e8d3f 18% 27%, #7c4f2a 27% 36%, #5fa941 36% 45%, #7a4b26 45% 54%, #3f7f36 54% 63%, #8a5a2b 63% 72%, #5eb14a 72% 81%, #6e401d 81% 90%, #5fa941 90%),
        linear-gradient(#5dcc63, #25753d);
    background-size: 120px 100%, auto;
    image-rendering: pixelated;
    box-shadow: inset 0 28px 0 rgba(255, 255, 255, .13);
}

.voxel-sky {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, #6fd7ff 0%, #d8f5ff 32%, #ffcf87 62%, #311c43 100%);
    overflow: hidden;
    transform: translateX(calc(var(--mx, 0) * -10px)) translateY(calc(var(--my, 0) * -6px));
    transition: transform 120ms linear;
}

.hero-copy-center {
    position: relative;
    z-index: 2;
    width: min(1260px, calc(100% - 48px));
    margin: 0 auto;
    max-width: 1080px;
    padding-top: 4vh;
}

.site-body .hero-copy h1 {
    max-width: 1120px;
    font-size: clamp(64px, 10vw, 156px);
    line-height: .82;
    color: #fff8df;
    text-shadow: 0 8px 0 #2b1b0e, 0 24px 70px rgba(47, 17, 12, .42);
}

.site-body .hero-lead {
    max-width: 760px;
    color: #241510;
    background: rgba(255, 246, 223, .78);
    border: 2px solid #241510;
    box-shadow: 8px 8px 0 rgba(36, 21, 16, .92);
    padding: 18px 20px;
    font-weight: 750;
}

.hero-responsible-note {
    width: fit-content;
    max-width: 760px;
    margin-top: 18px;
    padding: 10px 13px;
    border: 2px solid #241510;
    background: rgba(48, 213, 200, .86);
    color: #241510;
    box-shadow: 6px 6px 0 rgba(36, 21, 16, .82);
    font-size: 14px;
    font-weight: 900;
}

.rainbow-eyebrow {
    color: #241510;
    display: inline-flex;
    background: linear-gradient(90deg, var(--gold), var(--aqua), var(--grass), var(--berry));
    border: 2px solid #241510;
    box-shadow: 5px 5px 0 rgba(36, 21, 16, .86);
    padding: 8px 11px;
}

.hero-scoreboard {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

.hero-scoreboard span {
    background: #241510;
    color: #fff8df;
    border: 2px solid #fff0b8;
    padding: 10px 13px;
    box-shadow: 5px 5px 0 rgba(0, 0, 0, .28);
}

.hero-scoreboard strong {
    color: var(--gold);
    font-size: 26px;
    margin-right: 6px;
}

.sun-tile {
    position: absolute;
    width: 120px;
    height: 120px;
    right: 10%;
    top: 13%;
    background:
        linear-gradient(90deg, #fff0a3 50%, #ffd166 50%) 0 0 / 30px 30px,
        linear-gradient(90deg, #ffd166 50%, #ff9f1c 50%) 15px 15px / 30px 30px;
    border: 4px solid #2b1b0e;
    box-shadow: 12px 12px 0 rgba(43, 27, 14, .28);
    animation: sunStep 5s steps(4) infinite;
}

.cloud-strip {
    position: absolute;
    height: 54px;
    width: 260px;
    background:
        linear-gradient(90deg, transparent 0 12%, #fff9ec 12% 28%, transparent 28% 34%, #fff9ec 34% 70%, transparent 70%),
        linear-gradient(90deg, #fff9ec 0 42%, transparent 42% 50%, #fff9ec 50% 100%);
    image-rendering: pixelated;
    opacity: .92;
    animation: cloudSail 24s linear infinite;
}

.cloud-one {
    left: -260px;
    top: 18%;
}

.cloud-two {
    left: 40%;
    top: 28%;
    animation-duration: 32s;
    animation-delay: -15s;
}

.flying-cube {
    position: absolute;
    width: 72px;
    height: 72px;
    border: 4px solid #2b1b0e;
    box-shadow: 10px 10px 0 rgba(43, 27, 14, .3);
    transform: rotate(8deg);
    animation: cubeFloat 5.5s ease-in-out infinite;
}

.cube-a {
    left: 8%;
    top: 24%;
    background: linear-gradient(135deg, #8aff80 0 50%, #3fae4b 50%);
}

.cube-b {
    right: 24%;
    top: 42%;
    background: linear-gradient(135deg, #ff6a2a 0 50%, #b64a20 50%);
    animation-delay: -1.8s;
}

.cube-c {
    left: 68%;
    top: 18%;
    background: linear-gradient(135deg, #8a5cff 0 50%, #4d2fb5 50%);
    animation-delay: -3s;
}

.agent-avatar {
    position: absolute;
    left: 63%;
    bottom: 17%;
    width: 152px;
    height: 210px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    transform: translateX(calc(var(--mx, 0) * 18px));
    z-index: 1;
    animation: agentBob 2.4s steps(4) infinite;
}

.agent-avatar span {
    border: 4px solid #21150f;
    box-shadow: 6px 6px 0 rgba(33, 21, 15, .35);
}

.agent-avatar span:nth-child(1) {
    grid-column: 1 / -1;
    background: linear-gradient(90deg, #55ff75 0 22%, #1b1b24 22% 36%, #55ff75 36% 64%, #1b1b24 64% 78%, #55ff75 78%);
}

.agent-avatar span:nth-child(2) {
    background: #31d7ff;
}

.agent-avatar span:nth-child(3) {
    background: #ffdc5c;
}

.agent-avatar span:nth-child(4) {
    grid-column: 1 / -1;
    background: #ff4f8b;
}

.pixel-ground {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 23%;
    height: 70px;
    background:
        linear-gradient(90deg, #35b34a 0 10%, #2c913e 10% 20%, #7f4a25 20% 30%, #37c55a 30% 40%, #2f9641 40% 50%, #8d5429 50% 60%, #3acf5d 60% 70%, #2c913e 70% 80%, #7f4a25 80% 90%, #35b34a 90%);
    background-size: 140px 70px;
    border-top: 4px solid #241510;
    animation: groundShift 18s linear infinite;
}

.site-body main {
    background:
        linear-gradient(180deg, #fff2c4 0, #ffe0d6 24%, #d7f7ff 55%, #f5e2ff 100%);
    color: #21150f;
}

.site-body main p {
    color: rgba(33, 21, 15, .72);
}

.section-kicker {
    display: grid;
    gap: 14px;
    margin-bottom: 28px;
    max-width: 920px;
}

.demo-proof {
    padding-top: 120px;
}

.demo-grid {
    display: grid;
    grid-template-columns: minmax(360px, 1.05fr) minmax(280px, .72fr);
    gap: clamp(24px, 4vw, 58px);
    align-items: stretch;
}

.demo-video-slot {
    min-height: clamp(360px, 44vw, 620px);
    border: 4px solid #21150f;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .16) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, .16) 1px, transparent 1px),
        #101018;
    background-size: 28px 28px, 28px 28px, auto;
    box-shadow: 14px 14px 0 rgba(33, 21, 15, .86);
    overflow: hidden;
}

.demo-video-top {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 13px;
    background: linear-gradient(90deg, #ffd166, #30d5c8, #ff4f8b);
    color: #21150f;
    font-weight: 900;
}

.demo-video-top span {
    width: 14px;
    height: 14px;
    border: 2px solid #21150f;
    background: #fff8df;
}

.demo-video-screen {
    min-height: calc(100% - 50px);
    display: grid;
    place-items: center;
    align-content: center;
    gap: 18px;
    padding: clamp(28px, 5vw, 74px);
    color: #fff8df;
    text-align: center;
}

.demo-play-tile {
    display: grid;
    place-items: center;
    width: clamp(120px, 18vw, 220px);
    aspect-ratio: 1;
    border: 4px solid #fff8df;
    background: linear-gradient(145deg, #ff5a1f, #ffd166 48%, #30d5c8);
    color: #21150f;
    box-shadow: 10px 10px 0 rgba(255, 248, 223, .2);
    font-size: clamp(24px, 4vw, 54px);
    font-weight: 950;
}

.demo-video-screen p {
    max-width: 430px;
    color: rgba(255, 248, 223, .78);
    font-weight: 800;
}

.demo-hud {
    display: grid;
    gap: 16px;
}

.demo-hud div,
.audience-grid article {
    border: 3px solid #21150f;
    background: rgba(255, 248, 223, .86);
    box-shadow: 8px 8px 0 rgba(33, 21, 15, .82);
}

.demo-hud div {
    padding: clamp(18px, 2vw, 28px);
}

.demo-hud small {
    display: block;
    margin-bottom: 8px;
    color: rgba(33, 21, 15, .64);
    font-weight: 900;
    text-transform: uppercase;
}

.demo-hud strong {
    color: #21150f;
    font-size: clamp(24px, 3vw, 42px);
    line-height: 1;
}

.audience-section {
    padding-top: 64px;
}

.audience-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 28px);
}

.audience-grid article {
    min-height: 260px;
    padding: clamp(20px, 2vw, 30px);
    color: #21150f;
}

.audience-grid article:nth-child(5n+1) { background: #ffdf6e; }
.audience-grid article:nth-child(5n+2) { background: #66e6ff; }
.audience-grid article:nth-child(5n+3) { background: #ff91bd; }
.audience-grid article:nth-child(5n+4) { background: #a6ff77; }
.audience-grid article:nth-child(5n+5) { background: #c5a3ff; }

.audience-grid span {
    display: block;
    margin-bottom: 18px;
    color: rgba(33, 21, 15, .42);
    font-size: 42px;
    font-weight: 950;
}

.audience-grid h3 {
    font-size: clamp(24px, 2vw, 34px);
}

.audience-grid p {
    color: rgba(33, 21, 15, .72);
    font-weight: 720;
    line-height: 1.48;
}

.site-body .section-kicker h2,
.site-body .panel-copy h2,
.site-body .flow-copy h2,
.site-body .region-section h2,
.site-body .final-cta h2 {
    color: #21150f;
    text-shadow: 3px 3px 0 rgba(255, 255, 255, .55);
}

.package-showcase {
    padding-top: 120px;
}

.package-grid-art {
    align-items: stretch;
    gap: 24px;
}

.art-plan {
    position: relative;
    min-height: 520px;
    border: 3px solid #21150f;
    border-radius: 0;
    color: #21150f;
    overflow: hidden;
    box-shadow: 12px 12px 0 rgba(33, 21, 15, .88);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.art-plan:hover {
    transform: translate(-4px, -8px) rotate(-1deg);
    box-shadow: 18px 18px 0 rgba(33, 21, 15, .88);
}

.art-plan::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .22) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, .22) 1px, transparent 1px);
    background-size: 22px 22px;
    pointer-events: none;
    mix-blend-mode: overlay;
}

.plan-tone-1 {
    background: linear-gradient(145deg, #ffe16a, #ff7a2f 56%, #ff4f8b);
}

.plan-tone-2 {
    background: linear-gradient(145deg, #56f2d2, #5fb3ff 50%, #8c6bff);
}

.plan-tone-3 {
    background: linear-gradient(145deg, #9dff6a, #ffe66d 46%, #ff944d);
}

.plan-badge {
    align-self: flex-start;
    background: #21150f;
    color: #fff4cd;
    padding: 8px 11px;
    font-weight: 900;
    box-shadow: 5px 5px 0 rgba(255, 255, 255, .3);
}

.site-body .package-top span {
    display: grid;
    gap: 1px;
    border: 0;
    border-radius: 0;
    background: #fff8df;
    color: #21150f;
    font-size: 42px;
    box-shadow: 6px 6px 0 rgba(33, 21, 15, .82);
}

.site-body .package-top span small {
    font-size: 11px;
    text-transform: uppercase;
}

.site-body .package-card dl div,
.site-body .package-card li {
    border: 2px solid rgba(33, 21, 15, .25);
    background: rgba(255, 248, 223, .62);
}

.site-body .package-card ul {
    display: grid;
    gap: 8px;
    padding: 0;
    list-style: none;
}

.site-body .package-card li {
    padding: 8px 10px;
    color: #21150f;
    font-weight: 750;
}

.panel-theater {
    display: grid;
    grid-template-columns: minmax(280px, .72fr) minmax(420px, 1fr);
    gap: 42px;
    align-items: center;
}

.fake-console {
    border: 3px solid #21150f;
    background: #13131f;
    color: #f7fff2;
    box-shadow: 14px 14px 0 rgba(33, 21, 15, .86);
    transform: rotate(1deg);
    overflow: hidden;
}

.console-top {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 13px;
    background: linear-gradient(90deg, #ff5a1f, #ffd166, #30d5c8);
    color: #21150f;
    font-weight: 900;
}

.console-top span {
    width: 14px;
    height: 14px;
    border: 2px solid #21150f;
    background: #fff6df;
}

.console-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    padding: 18px;
}

.console-grid div,
.command-stream span {
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .07);
    padding: 13px;
}

.console-grid small {
    display: block;
    color: #93f5d8;
}

.command-stream {
    display: grid;
    gap: 10px;
    padding: 0 18px 18px;
}

.command-stream span {
    color: #ffd166;
    animation: commandBlink 3.8s steps(2) infinite;
}

.site-body .art-flow {
    border: 0;
    background:
        linear-gradient(135deg, rgba(255, 90, 31, .18), transparent 42%),
        linear-gradient(45deg, rgba(48, 213, 200, .24), transparent 55%),
        #21150f;
    color: #fff8df;
}

.site-body .art-flow p,
.site-body .art-flow h2 {
    color: #fff8df;
}

.site-body .flow-grid article {
    position: relative;
    border: 3px solid #fff8df;
    background: linear-gradient(145deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .05));
    box-shadow: 8px 8px 0 rgba(255, 209, 102, .28);
    overflow: hidden;
}

.site-body .flow-grid article::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 8px;
    background: linear-gradient(90deg, var(--magma), var(--gold), var(--aqua), var(--berry));
    animation: stripeRun 2.4s linear infinite;
    background-size: 180px 100%;
}

.site-body .flow-grid span {
    color: var(--gold);
    font-size: 38px;
    text-shadow: 3px 3px 0 rgba(0, 0, 0, .38);
}

.art-regions {
    align-items: stretch;
}

.site-body .region-list article {
    position: relative;
    min-height: 190px;
    border: 3px solid #21150f;
    background: #fff8df;
    color: #21150f;
    box-shadow: 8px 8px 0 rgba(33, 21, 15, .8);
    transition: transform 180ms ease;
}

.site-body .region-list article:hover {
    transform: translateY(-7px) rotate(1deg);
}

.site-body .region-list article:nth-child(5n+1) { background: #ffdf6e; }
.site-body .region-list article:nth-child(5n+2) { background: #66e6ff; }
.site-body .region-list article:nth-child(5n+3) { background: #ff91bd; }
.site-body .region-list article:nth-child(5n+4) { background: #a6ff77; }
.site-body .region-list article:nth-child(5n+5) { background: #c5a3ff; }

.site-body .region-list em {
    position: absolute;
    right: 12px;
    top: 10px;
    font-style: normal;
    color: rgba(33, 21, 15, .34);
    font-size: 46px;
    font-weight: 950;
}

.site-body .region-list strong {
    font-size: 19px;
    max-width: 72%;
}

.site-body .region-list span {
    color: rgba(33, 21, 15, .72);
    font-weight: 700;
}

.final-cta {
    position: relative;
    margin-bottom: 76px;
    border: 4px solid #21150f;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .18) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, .18) 1px, transparent 1px),
        linear-gradient(135deg, #ff5a1f, #ffd166 34%, #30d5c8 68%, #9b5cff);
    background-size: 30px 30px, 30px 30px, auto;
    box-shadow: 16px 16px 0 rgba(33, 21, 15, .88);
    color: #21150f;
}

.final-cta p {
    max-width: 700px;
    color: rgba(33, 21, 15, .72);
    font-weight: 760;
}

.site-body .site-footer {
    width: 100%;
    padding: 32px max(24px, calc((100vw - 1500px) / 2));
    border-top: 3px solid #21150f;
    background: #21150f;
    color: #fff8df;
}

.site-body .site-footer a,
.site-body .site-footer span {
    color: rgba(255, 248, 223, .72);
}

.reveal-section {
    animation: revealUp .8s ease both;
}

@supports (animation-timeline: view()) {
    .reveal-section {
        animation: revealUp linear both;
        animation-timeline: view();
        animation-range: entry 8% cover 30%;
    }
}

@keyframes buttonPulse {
    0%, 100% { filter: saturate(1); }
    50% { filter: saturate(1.35) brightness(1.06); }
}

@keyframes sunStep {
    50% { transform: translateY(10px) rotate(2deg); }
}

@keyframes cloudSail {
    from { transform: translateX(0); }
    to { transform: translateX(calc(100vw + 320px)); }
}

@keyframes cubeFloat {
    0%, 100% { transform: translateY(0) rotate(8deg); }
    50% { transform: translateY(-22px) rotate(-4deg); }
}

@keyframes agentBob {
    50% { transform: translateX(calc(var(--mx, 0) * 18px)) translateY(-10px); }
}

@keyframes groundShift {
    from { background-position: 0 0; }
    to { background-position: 280px 0; }
}

@keyframes commandBlink {
    50% { color: #30d5c8; }
}

@keyframes stripeRun {
    from { background-position: 0 0; }
    to { background-position: 180px 0; }
}

@keyframes revealUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.page-shell,
.portal-body {
    background:
        linear-gradient(90deg, rgba(86, 230, 139, 0.03) 1px, transparent 1px),
        linear-gradient(0deg, rgba(115, 217, 255, 0.022) 1px, transparent 1px),
        #07100c;
    background-size: 40px 40px;
}

.wizard-layout {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(280px, 0.5fr) minmax(0, 1fr);
    gap: 34px;
    align-items: center;
    padding: 44px 0;
}

.wizard-copy {
    max-width: 560px;
}

.wizard-copy h1,
.auth-copy h1,
.portal-heading h1 {
    font-size: clamp(38px, 5vw, 72px);
}

.wizard-steps {
    margin-top: 34px;
    display: grid;
    gap: 12px;
}

.wizard-steps span {
    border-left: 3px solid var(--green);
    background: rgba(20, 34, 26, 0.76);
    padding: 12px 14px;
    color: var(--soft);
}

.wizard-panel {
    padding: 24px;
}

.stack-form {
    display: grid;
    gap: 20px;
}

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

label {
    display: block;
    color: var(--muted);
    font-size: 13px;
    margin-bottom: 7px;
}

input,
select,
textarea {
    width: 100%;
    color: var(--text);
    background: #07110d;
    border: 1px solid var(--line);
    border-radius: 7px;
    padding: 12px 13px;
    outline: none;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--green);
}

textarea {
    resize: vertical;
    min-height: 180px;
}

.alert {
    border: 1px solid var(--line);
    background: rgba(16, 26, 21, 0.92);
    padding: 12px 14px;
    margin-bottom: 14px;
}

.alert-danger {
    border-color: rgba(255, 109, 109, 0.55);
    color: #ffd7d7;
}

.alert-success {
    border-color: rgba(86, 230, 139, 0.52);
    color: #dfffe8;
}

.portal-topbar {
    border-bottom: 1px solid var(--line);
}

.portal-layout {
    padding: 34px 0 70px;
}

.auth-layout {
    display: grid;
    grid-template-columns: minmax(320px, 0.8fr) minmax(0, 1fr);
    gap: 34px;
    align-items: start;
    padding-top: 48px;
}

.auth-copy {
    max-width: 720px;
}

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

.glass-form {
    padding: 22px;
    display: grid;
    gap: 11px;
}

.portal-heading {
    max-width: 980px;
    margin-bottom: 30px;
}

.portal-stat-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.portal-stat-row span {
    border: 1px solid rgba(86, 230, 139, 0.24);
    background: rgba(12, 28, 20, 0.74);
    color: var(--muted);
    padding: 10px 13px;
}

.portal-stat-row strong {
    color: var(--text);
    margin-right: 6px;
}

.customer-grid {
    display: grid;
    grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.order-panel,
.orders-panel {
    padding: 22px;
}

.order-panel {
    display: grid;
    gap: 12px;
}

.order-panel h2 {
    font-size: 30px;
}

.onboarding-list {
    display: grid;
    gap: 9px;
    margin-top: 6px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
}

.onboarding-list span {
    color: var(--soft);
    background: rgba(7, 17, 13, 0.58);
    border-left: 3px solid rgba(86, 230, 139, 0.76);
    padding: 9px 11px;
}

.orders-panel {
    display: grid;
    gap: 14px;
}

.panel-heading-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
}

.panel-heading-row h2 {
    margin-bottom: 0;
}

.panel-heading-row > span {
    color: var(--muted);
    border: 1px solid var(--line);
    padding: 8px 10px;
}

.order-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(150px, 0.42fr) auto;
    gap: 14px;
    align-items: center;
    padding: 16px;
}

.service-main strong {
    display: block;
    font-size: 19px;
}

.service-progress {
    grid-column: 1 / -1;
    height: 8px;
    background: rgba(7, 17, 13, 0.82);
    border: 1px solid rgba(86, 230, 139, 0.2);
    overflow: hidden;
}

.service-progress span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #2b7246, var(--green));
    transition: width 220ms ease;
}

.service-kpis {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 10px;
}

.service-kpis span {
    border: 1px solid rgba(140, 154, 144, 0.18);
    background: rgba(7, 17, 13, 0.5);
    padding: 10px;
}

.service-kpis strong {
    display: block;
    color: var(--text);
}

.order-actions,
.owner-actions-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}

.order-actions form,
.owner-actions-row form {
    margin: 0;
}

.service-details {
    grid-column: 1 / -1;
    border-top: 1px solid var(--line);
    padding-top: 12px;
}

.service-details summary {
    cursor: pointer;
    color: var(--soft);
    font-weight: 800;
}

.service-detail-grid {
    display: grid;
    grid-template-columns: minmax(220px, 0.8fr) minmax(220px, 0.8fr) minmax(260px, 1fr);
    gap: 18px;
    margin-top: 14px;
}

.service-detail-grid section {
    min-width: 0;
}

.service-timeline {
    display: grid;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.service-timeline li {
    position: relative;
    color: var(--muted);
    padding-left: 22px;
}

.service-timeline li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 9px;
    height: 9px;
    border: 1px solid var(--line-strong);
    background: #07110d;
}

.service-timeline li.is-done {
    color: var(--soft);
}

.service-timeline li.is-done::before {
    background: var(--green);
    border-color: var(--green);
    box-shadow: 0 0 14px rgba(86, 230, 139, 0.36);
}

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

.service-facts div {
    border: 1px solid rgba(140, 154, 144, 0.18);
    padding: 10px;
}

.service-facts dd {
    overflow-wrap: anywhere;
}

.support-form {
    display: grid;
    gap: 10px;
}

.support-form textarea {
    min-height: 96px;
}

.service-settings {
    grid-column: 1 / -1;
    border-top: 1px solid var(--line);
    padding-top: 14px;
}

.service-settings h3 {
    margin: 0 0 10px;
    font-size: 16px;
}

.service-settings p {
    margin: 0;
    color: var(--muted);
}

.order-card .order-card-message {
    grid-column: 1 / -1;
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid rgba(86, 230, 139, 0.34);
    background: rgba(16, 185, 129, 0.12);
    color: var(--soft);
}

.order-card .order-card-message.is-error {
    border-color: rgba(255, 109, 109, 0.44);
    background: rgba(127, 29, 29, 0.18);
    color: var(--red);
}

.service-update {
    grid-column: 1 / -1;
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border: 1px solid rgba(74, 222, 128, .28);
    background: rgba(15, 118, 110, .13);
}

.service-update strong {
    color: var(--text);
}

.service-update span {
    color: var(--muted);
}

.service-update-running {
    border-color: rgba(251, 191, 36, .32);
    background: rgba(146, 64, 14, .14);
}

.service-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}

.service-form label {
    margin: 0;
}

.order-card span,
.order-card small,
.owner-row span,
.owner-row small,
.owner-actions-row span {
    display: block;
    color: var(--muted);
}

.status-ready {
    color: var(--green);
}

.status-failed,
.status-cancelled {
    color: var(--red);
    border-color: rgba(255, 109, 109, 0.48);
}

.status-provisioning,
.status-paid,
.status-pending_payment {
    color: var(--amber);
    border-color: rgba(247, 198, 93, 0.52);
}

.owner-table {
    display: grid;
    gap: 12px;
}

.owner-row {
    display: grid;
    grid-template-columns: minmax(180px, 0.9fr) minmax(150px, 0.7fr) 160px minmax(130px, 0.7fr) minmax(220px, 1fr) minmax(150px, 0.8fr) auto;
    gap: 10px;
    align-items: center;
    padding: 14px;
}

.owner-actions-row {
    justify-content: flex-start;
    padding: 12px 14px;
    margin-top: -12px;
    margin-bottom: 4px;
}

.empty-state {
    border: 1px dashed var(--line-strong);
    color: var(--muted);
    padding: 22px;
}

.portal-body {
    --portal-ink: #21150f;
    --portal-paper: #fff7df;
    --portal-paper-2: #f6f0ff;
    --portal-mint: #9af5c8;
    --portal-aqua: #77e5ff;
    --portal-blue: #6d8cff;
    --portal-berry: #ff5c9a;
    --portal-gold: #ffd74f;
    --portal-orange: #ff9852;
    --portal-grass: #5ee270;
    --portal-line: rgba(33, 21, 15, .94);
    --portal-shadow: 10px 10px 0 rgba(33, 21, 15, .92);
    color: var(--portal-ink);
    background:
        linear-gradient(90deg, rgba(33, 21, 15, .06) 2px, transparent 2px),
        linear-gradient(0deg, rgba(33, 21, 15, .05) 2px, transparent 2px),
        linear-gradient(135deg, #f9ff78 0 13%, #8bf7d0 13% 27%, #77e5ff 27% 42%, #bfa7ff 42% 58%, #ff9fc8 58% 73%, #ffd986 73% 100%);
    background-size: 52px 52px, 52px 52px, auto;
    overflow-x: hidden;
}

.portal-body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(120deg, transparent 0 38%, rgba(255, 255, 255, .34) 38% 42%, transparent 42% 100%),
        linear-gradient(300deg, transparent 0 58%, rgba(255, 255, 255, .22) 58% 62%, transparent 62% 100%);
    mix-blend-mode: soft-light;
    opacity: .82;
    animation: portalSheen 12s linear infinite;
}

.portal-body::after {
    content: "";
    position: fixed;
    inset: auto 0 0;
    height: 38vh;
    pointer-events: none;
    background:
        linear-gradient(135deg, rgba(33, 21, 15, .12) 25%, transparent 25%) 0 0 / 34px 34px,
        linear-gradient(225deg, rgba(33, 21, 15, .10) 25%, transparent 25%) 0 0 / 34px 34px;
    opacity: .4;
}

.portal-body .portal-topbar,
.portal-body .portal-layout {
    position: relative;
    z-index: 1;
    width: min(1620px, calc(100% - 56px));
}

.portal-body .portal-topbar {
    margin-top: 18px;
    padding: 14px 16px;
    border: 3px solid var(--portal-line);
    border-radius: 0;
    background: rgba(255, 247, 223, .88);
    box-shadow: 7px 7px 0 rgba(33, 21, 15, .9);
    backdrop-filter: blur(12px);
}

.portal-body .brand-mark {
    color: var(--portal-ink);
    text-transform: uppercase;
    font-size: 19px;
}

.portal-body .brand-mark::before {
    width: 34px;
    height: 34px;
    filter: drop-shadow(0 4px 0 var(--portal-line));
}

.portal-body .portal-topbar nav a:not(.button) {
    color: var(--portal-ink);
    font-weight: 900;
    padding: 9px 12px;
    border: 2px solid transparent;
}

.portal-body .portal-topbar nav a:not(.button):hover {
    border-color: var(--portal-line);
    background: var(--portal-gold);
    transform: translate(-2px, -2px);
    box-shadow: 4px 4px 0 var(--portal-line);
}

.portal-body .portal-layout {
    padding: 44px 0 90px;
}

.portal-body .eyebrow {
    color: var(--portal-berry);
    font-weight: 1000;
    letter-spacing: .1em;
}

.portal-body .button {
    border: 3px solid var(--portal-line);
    border-radius: 0;
    color: var(--portal-ink);
    font-weight: 1000;
    box-shadow: 5px 5px 0 var(--portal-line);
    transform: translate(0, 0);
    transition: transform 140ms ease, box-shadow 140ms ease, filter 140ms ease;
}

.portal-body .button:hover:not(:disabled) {
    transform: translate(-3px, -3px);
    box-shadow: 8px 8px 0 var(--portal-line);
    filter: saturate(1.08);
}

.portal-body .button:disabled {
    opacity: .62;
    cursor: wait;
}

.portal-body .button-primary {
    background: linear-gradient(135deg, var(--portal-berry), var(--portal-orange));
    color: #fffaf0;
}

.portal-body .button-soft {
    background: linear-gradient(135deg, var(--portal-aqua), var(--portal-mint));
    color: var(--portal-ink);
}

.portal-body .button-line,
.portal-body .button-ghost {
    background: var(--portal-paper);
    color: var(--portal-ink);
}

.portal-body input,
.portal-body select,
.portal-body textarea {
    color: var(--portal-ink);
    background: rgba(255, 252, 239, .94);
    border: 3px solid var(--portal-line);
    border-radius: 0;
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .86);
}

.portal-body input:focus,
.portal-body select:focus,
.portal-body textarea:focus {
    border-color: var(--portal-blue);
    outline: 3px solid rgba(255, 215, 79, .7);
}

.portal-body label {
    color: var(--portal-ink);
    font-weight: 900;
}

.portal-body .alert {
    border: 3px solid var(--portal-line);
    background: var(--portal-gold);
    color: var(--portal-ink);
    box-shadow: 6px 6px 0 var(--portal-line);
}

.portal-body .alert-danger {
    background: #ff8cae;
    color: var(--portal-ink);
}

.portal-body .alert-success {
    background: #9af5c8;
    color: var(--portal-ink);
}

.portal-body .auth-layout {
    min-height: calc(100vh - 170px);
    grid-template-columns: minmax(360px, .86fr) minmax(0, 1.14fr);
    gap: 42px;
    align-items: center;
    padding: 42px 0 76px;
}

.portal-body .auth-copy {
    max-width: 840px;
    padding: 34px;
    border: 3px solid var(--portal-line);
    background: linear-gradient(135deg, rgba(255, 247, 223, .84), rgba(154, 245, 200, .78));
    box-shadow: var(--portal-shadow);
}

.portal-body .auth-copy h1 {
    margin: 8px 0 18px;
    font-size: clamp(54px, 7vw, 112px);
    line-height: .85;
    letter-spacing: 0;
}

.portal-body .auth-copy p:not(.eyebrow) {
    max-width: 620px;
    color: var(--portal-ink);
    font-size: 20px;
    font-weight: 760;
}

.portal-body .auth-panels {
    gap: 22px;
    align-items: stretch;
}

.portal-body .glass-form {
    position: relative;
    overflow: hidden;
    border: 3px solid var(--portal-line);
    border-radius: 0;
    background: var(--portal-paper);
    box-shadow: var(--portal-shadow);
    padding: 26px;
}

.portal-body .glass-form:nth-child(2) {
    margin-top: 44px;
    background: var(--portal-paper-2);
}

.portal-body .glass-form::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 13px;
    background: repeating-linear-gradient(90deg, var(--portal-berry) 0 28px, var(--portal-gold) 28px 56px, var(--portal-aqua) 56px 84px, var(--portal-grass) 84px 112px);
}

.portal-body .glass-form h2 {
    color: var(--portal-ink);
    font-size: 34px;
    margin-top: 12px;
}

.portal-body .topbar-form {
    margin: 0;
}

.portal-body .portal-heading {
    max-width: none;
    margin: 0 0 34px;
    padding: 34px;
    border: 3px solid var(--portal-line);
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .18) 0 50%, transparent 50% 100%) 0 0 / 38px 38px,
        linear-gradient(135deg, #fff5b8, #89efff 48%, #ffa3cc);
    box-shadow: var(--portal-shadow);
}

.portal-body .portal-heading h1 {
    margin: 4px 0 12px;
    color: var(--portal-ink);
    font-size: clamp(58px, 8vw, 124px);
    line-height: .82;
    letter-spacing: 0;
}

.portal-body .portal-heading p:not(.eyebrow) {
    max-width: 900px;
    color: var(--portal-ink);
    font-size: 19px;
    font-weight: 760;
}

.portal-body .portal-stat-row {
    margin-top: 26px;
    gap: 14px;
}

.portal-body .portal-stat-row span {
    border: 3px solid var(--portal-line);
    background: var(--portal-paper);
    color: var(--portal-ink);
    box-shadow: 5px 5px 0 rgba(33, 21, 15, .88);
    font-weight: 900;
}

.portal-body .portal-stat-row span:nth-child(2n) {
    background: #e7ddff;
}

.portal-body .portal-stat-row span:nth-child(3n) {
    background: #b6ffdf;
}

.portal-body .portal-stat-row strong {
    color: var(--portal-berry);
    font-size: 22px;
}

.portal-body .portal-tab-shell {
    display: grid;
    grid-template-columns: 292px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.portal-body .portal-sidebar {
    position: sticky;
    top: 24px;
    display: grid;
    gap: 14px;
    z-index: 5;
}

.portal-body .portal-sidebar-card,
.portal-body .portal-tab-nav {
    border: 3px solid var(--portal-line);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .82), rgba(216, 255, 218, .86)),
        var(--portal-paper);
    box-shadow: 7px 7px 0 rgba(33, 21, 15, .86);
}

.portal-body .portal-sidebar-card {
    padding: 18px;
}

.portal-body .portal-sidebar-card strong {
    display: block;
    color: var(--portal-ink);
    font-size: 24px;
    line-height: 1;
}

.portal-body .portal-sidebar-card span {
    display: block;
    color: rgba(33, 21, 15, .72);
    font-weight: 820;
    margin-top: 8px;
}

.portal-body .portal-tab-nav {
    display: grid;
    gap: 8px;
    padding: 12px;
}

.portal-body .portal-tab-nav a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 50px;
    padding: 12px 14px;
    border: 2px solid transparent;
    color: var(--portal-ink);
    font-weight: 950;
    background: rgba(255, 253, 242, .7);
    transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}

.portal-body .portal-tab-nav a::after {
    content: "";
    width: 10px;
    height: 10px;
    border: 2px solid var(--portal-line);
    background: transparent;
}

.portal-body .portal-tab-nav a:hover,
.portal-body .portal-tab-nav a.is-active {
    transform: translate(-2px, -2px);
    border-color: var(--portal-line);
    background: linear-gradient(135deg, #ffd74f, #ff9fc8);
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .84);
}

.portal-body .portal-tab-nav a.is-active::after {
    background: var(--portal-grass);
}

.portal-body .portal-tab-content {
    min-width: 0;
}

.portal-body .portal-tab-panel {
    animation: portalPanelIn 180ms ease-out both;
}

.portal-body .portal-tab-shell .portal-tab-panel:not(.is-active) {
    display: none !important;
}

.portal-body .portal-tab-panel + .portal-tab-panel {
    margin-top: 28px;
}

.portal-body .admin-jump-row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 18px;
}

.portal-body .customer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

.portal-body .new-service-drawer {
    display: block;
}

.portal-body .new-service-drawer > summary {
    width: fit-content;
    list-style: none;
}

.portal-body .new-service-drawer > summary::-webkit-details-marker {
    display: none;
}

.portal-body .new-service-drawer[open] > summary {
    margin-bottom: 14px;
}

.portal-body .order-panel,
.portal-body .orders-panel {
    border: 3px solid var(--portal-line);
    border-radius: 0;
    background: rgba(255, 247, 223, .92);
    box-shadow: var(--portal-shadow);
}

.portal-body .order-panel {
    padding: 26px;
    background:
        linear-gradient(135deg, rgba(255, 215, 79, .6), rgba(255, 247, 223, .96) 38%, rgba(154, 245, 200, .72)),
        var(--portal-paper);
}

.portal-body .order-panel h2,
.portal-body .orders-panel h2 {
    color: var(--portal-ink);
    letter-spacing: 0;
}

.portal-body .order-panel h2 {
    font-size: clamp(34px, 4vw, 54px);
    line-height: .95;
}

.portal-body .order-panel p:not(.eyebrow) {
    color: var(--portal-ink);
    font-weight: 720;
}

.portal-body .service-plan-preview-list {
    display: grid;
    gap: 14px;
    margin: 4px 0 10px;
}

.portal-body .service-plan-preview {
    display: none;
    gap: 14px;
    border: 3px solid var(--portal-line);
    background:
        linear-gradient(135deg, #ffdf6e, #c7f8ff 54%, #d8ffda);
    padding: clamp(16px, 2vw, 22px);
    box-shadow: 7px 7px 0 rgba(33, 21, 15, .82);
}

.portal-body .service-plan-preview.is-active {
    display: grid;
}

.portal-body .service-plan-preview-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 14px;
}

.portal-body .service-plan-preview-head span,
.portal-body .cart-plan-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 8px 10px;
    border: 3px solid var(--portal-line);
    background: #21150f;
    color: #fff8df;
    box-shadow: 4px 4px 0 rgba(255, 255, 255, .32);
    font-weight: 950;
}

.portal-body .billing-box .cart-plan-badge {
    color: #fff8df;
}

.portal-body .service-plan-preview-head strong {
    display: grid;
    gap: 2px;
    padding: 10px 12px;
    border: 3px solid var(--portal-line);
    background: #fff8df;
    box-shadow: 5px 5px 0 rgba(33, 21, 15, .82);
    color: var(--portal-ink);
    font-size: clamp(28px, 3vw, 42px);
    line-height: .9;
    text-align: center;
}

.portal-body .service-plan-preview-head small {
    font-size: 11px;
    text-transform: uppercase;
}

.portal-body .service-plan-preview h3 {
    margin: 0;
    color: var(--portal-ink);
    font-size: clamp(28px, 3vw, 44px);
    line-height: .96;
}

.portal-body .service-plan-preview p {
    margin: 0;
    max-width: 900px;
    color: rgba(33, 21, 15, .78);
    font-weight: 820;
    line-height: 1.35;
}

.portal-body .service-plan-preview dl,
.portal-body .cart-service-card dl {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.portal-body .service-plan-preview dl div,
.portal-body .cart-service-card dl div {
    padding: 10px;
    border: 2px solid rgba(33, 21, 15, .28);
    background: rgba(255, 253, 242, .7);
}

.portal-body .service-plan-preview dt,
.portal-body .cart-service-card dt {
    color: rgba(33, 21, 15, .52);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.portal-body .service-plan-preview dd,
.portal-body .cart-service-card dd {
    margin: 3px 0 0;
    color: var(--portal-ink);
    font-weight: 950;
}

.portal-body .service-plan-preview ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.portal-body .service-plan-preview li {
    padding: 9px 11px;
    border: 2px solid rgba(33, 21, 15, .26);
    background: rgba(255, 253, 242, .68);
    color: var(--portal-ink);
    font-weight: 850;
}

.portal-body .onboarding-list {
    border-top: 3px solid var(--portal-line);
    gap: 11px;
    padding-top: 18px;
}

.portal-body .onboarding-list span {
    position: relative;
    overflow: hidden;
    color: var(--portal-ink);
    background: #f6f0ff;
    border: 3px solid var(--portal-line);
    border-left-width: 12px;
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .86);
    font-weight: 900;
}

.portal-body .onboarding-list span:nth-child(2n) {
    background: #cffcff;
}

.portal-body .onboarding-list span:nth-child(3n) {
    background: #ffe1ad;
}

.portal-body .orders-panel {
    padding: 26px;
    background:
        linear-gradient(90deg, rgba(33, 21, 15, .045) 2px, transparent 2px) 0 0 / 32px 32px,
        #fff8e8;
}

.portal-body .panel-heading-row {
    align-items: center;
    padding-bottom: 18px;
    border-bottom: 3px solid var(--portal-line);
}

.portal-body .panel-heading-row > span {
    color: var(--portal-ink);
    background: var(--portal-gold);
    border: 3px solid var(--portal-line);
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .88);
    font-weight: 1000;
}

.portal-body .order-card {
    position: relative;
    overflow: hidden;
    grid-template-columns: minmax(260px, 1fr) auto minmax(190px, .42fr) auto;
    gap: 16px;
    padding: 22px;
    border: 3px solid var(--portal-line);
    border-radius: 0;
    background: #fffdf2;
    box-shadow: 8px 8px 0 rgba(33, 21, 15, .88);
}

.portal-body .order-card > .service-kpis,
.portal-body .order-card > .service-progress,
.portal-body .order-card > .order-card-message,
.portal-body .order-card > .service-update {
    grid-column: 1 / -1;
}

.portal-body .order-card:nth-of-type(3n + 1) {
    background: linear-gradient(135deg, #fffdf2, #d7fff0);
}

.portal-body .order-card:nth-of-type(3n + 2) {
    background: linear-gradient(135deg, #fffdf2, #ede4ff);
}

.portal-body .order-card:nth-of-type(3n + 3) {
    background: linear-gradient(135deg, #fffdf2, #ffe6b7);
}

.portal-body .order-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 11px;
    background: repeating-linear-gradient(90deg, var(--portal-blue) 0 34px, var(--portal-berry) 34px 68px, var(--portal-gold) 68px 102px, var(--portal-grass) 102px 136px);
}

.portal-body .service-main strong {
    color: var(--portal-ink);
    font-size: 25px;
    line-height: 1.02;
}

.portal-body .service-main span,
.portal-body .order-card small,
.portal-body .order-card span {
    color: rgba(33, 21, 15, .78);
    font-weight: 760;
}

.portal-body .status-pill {
    border: 3px solid var(--portal-line);
    border-radius: 999px;
    background: var(--portal-paper);
    color: var(--portal-ink);
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .88);
    font-weight: 1000;
    min-width: 136px;
    text-align: center;
}

.portal-body .status-ready {
    background: var(--portal-mint);
    color: var(--portal-ink);
    border-color: var(--portal-line);
}

.portal-body .status-failed,
.portal-body .status-cancelled {
    background: #ff8cae;
    color: var(--portal-ink);
    border-color: var(--portal-line);
}

.portal-body .status-provisioning,
.portal-body .status-paid,
.portal-body .status-pending_payment {
    background: var(--portal-gold);
    color: var(--portal-ink);
    border-color: var(--portal-line);
}

.portal-body .service-progress {
    height: 14px;
    background: rgba(33, 21, 15, .12);
    border: 3px solid var(--portal-line);
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .4);
}

.portal-body .service-progress span {
    background: repeating-linear-gradient(90deg, var(--portal-berry) 0 20px, var(--portal-orange) 20px 40px, var(--portal-gold) 40px 60px, var(--portal-mint) 60px 80px);
    animation: stripeRun 2.8s linear infinite;
}

.portal-body .service-kpis {
    gap: 12px;
}

.portal-body .service-kpis span {
    border: 3px solid var(--portal-line);
    background: rgba(255, 255, 255, .74);
    color: var(--portal-ink);
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .82);
}

.portal-body .service-kpis span:nth-child(1) {
    background: #c7f8ff;
}

.portal-body .service-kpis span:nth-child(2) {
    background: #ffe1ad;
}

.portal-body .service-kpis span:nth-child(3) {
    background: #d8ffda;
}

.portal-body .service-kpis span:nth-child(4) {
    background: #f0ddff;
}

.portal-body .service-kpis strong {
    color: var(--portal-ink);
    font-size: 20px;
}

.portal-body .order-actions {
    align-items: stretch;
}

.portal-body .order-actions .button {
    min-height: 52px;
}

.portal-body .service-workspace {
    grid-column: 1 / -1;
    border-top: 3px solid var(--portal-line);
    padding-top: 14px;
}

.portal-body .service-workspace > summary {
    width: fit-content;
    list-style: none;
    color: var(--portal-ink);
    border: 3px solid var(--portal-line);
    background: var(--portal-gold);
    padding: 10px 14px;
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .86);
    font-weight: 950;
    cursor: pointer;
}

.portal-body .service-workspace > summary::-webkit-details-marker {
    display: none;
}

.portal-body .service-workspace[open] > summary {
    background: linear-gradient(135deg, #ffd74f, #ff9fc8);
    margin-bottom: 14px;
}

.portal-body .service-workspace-body {
    display: grid;
    gap: 16px;
    border: 3px solid var(--portal-line);
    background:
        linear-gradient(90deg, rgba(33, 21, 15, .045) 2px, transparent 2px) 0 0 / 28px 28px,
        rgba(255, 253, 242, .76);
    padding: 16px;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .44);
}

.portal-body .portal-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    margin-top: 34px;
}

.portal-body .portal-feature-card {
    position: relative;
    overflow: hidden;
    border: 3px solid var(--portal-line);
    background: rgba(255, 247, 223, .92);
    box-shadow: var(--portal-shadow);
    padding: 28px;
}

.portal-body .portal-feature-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 11px;
    background: repeating-linear-gradient(90deg, var(--portal-berry) 0 30px, var(--portal-gold) 30px 60px, var(--portal-aqua) 60px 90px, var(--portal-grass) 90px 120px);
}

.portal-body .portal-feature-card h2 {
    color: var(--portal-ink);
    font-size: clamp(32px, 4vw, 56px);
    line-height: .95;
    margin: 8px 0 18px;
}

.portal-body .portal-feature-card h3 {
    color: var(--portal-ink);
    margin: 0 0 12px;
}

.portal-body .portal-wide-card,
.portal-body .portal-wide-span {
    grid-column: 1 / -1;
}

.portal-body .portal-section-title {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.portal-body .portal-section-title span {
    color: rgba(33, 21, 15, .76);
    font-weight: 800;
}

.portal-body .action-list,
.portal-body .notification-list,
.portal-body .timeline-list,
.portal-body .event-river,
.portal-body .usage-list,
.portal-body .service-tool-list {
    display: grid;
    gap: 12px;
}

.portal-body .action-item,
.portal-body .notification-row,
.portal-body .billing-box,
.portal-body .tool-box,
.portal-body .usage-row,
.portal-body .timeline-list > div,
.portal-body .admin-support-ticket,
.portal-body .event-river > div,
.portal-body .admin-row {
    border: 3px solid var(--portal-line);
    background: #fffdf2;
    box-shadow: 5px 5px 0 rgba(33, 21, 15, .82);
    padding: 14px;
}

.portal-body .action-item.priority-high {
    background: #ff9fc8;
}

.portal-body .action-item.priority-medium {
    background: #ffd74f;
}

.portal-body .action-item.priority-low {
    background: #c7f8ff;
}

.portal-body .action-item strong,
.portal-body .notification-row strong,
.portal-body .billing-box strong,
.portal-body .tool-box strong,
.portal-body .usage-row strong,
.portal-body .timeline-list strong,
.portal-body .admin-support-ticket strong,
.portal-body .event-river strong,
.portal-body .admin-row strong {
    display: block;
    color: var(--portal-ink);
    font-size: 18px;
}

.portal-body .action-item span,
.portal-body .notification-row span,
.portal-body .billing-box span,
.portal-body .billing-box small,
.portal-body .tool-box span,
.portal-body .tool-box small,
.portal-body .usage-row span,
.portal-body .timeline-list span,
.portal-body .timeline-list small,
.portal-body .admin-support-ticket span,
.portal-body .admin-support-ticket small,
.portal-body .event-river span,
.portal-body .event-river small,
.portal-body .admin-row span {
    display: block;
    color: rgba(33, 21, 15, .75);
    font-weight: 760;
}

.portal-body .notification-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin: 0;
}

.portal-body .notification-row.is-read {
    opacity: .74;
    background: #f6f0ff;
}

.portal-body .billing-grid {
    display: grid;
    grid-template-columns: minmax(240px, .9fr) minmax(240px, .9fr) minmax(320px, .85fr);
    gap: 18px;
    align-items: start;
}

.portal-body .checkout-list {
    display: grid;
    gap: 14px;
    margin: 0 0 18px;
}

.portal-body .checkout-box {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    background: #ffe179;
}

.portal-body .checkout-box h3 {
    margin: 0 0 6px;
}

.portal-body .cart-checkout-box {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(220px, .75fr);
    gap: 16px;
    margin: 0 0 18px;
}

.portal-body .cart-total-list {
    display: grid;
    gap: 8px;
    min-width: 220px;
}

.portal-body .cart-total-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 2px solid rgba(33, 21, 15, .24);
    padding-bottom: 7px;
}

.portal-body .cart-total-list strong {
    font-size: 18px;
    text-align: right;
    white-space: nowrap;
}

.portal-body .cart-total-list .cart-total-row {
    border-bottom: 0;
    padding-top: 4px;
}

.portal-body .cart-total-list .cart-total-row strong {
    font-size: 26px;
}

.portal-body .cart-coupon-form,
.portal-body .cart-checkout-box .inline-actions {
    grid-column: 1 / -1;
}

.portal-body .billing-column {
    display: grid;
    gap: 14px;
    align-content: start;
}

.portal-body #cart .portal-section-title,
.portal-body #billing .portal-section-title {
    align-items: start;
}

.portal-body #cart .portal-section-title h2,
.portal-body #billing .portal-section-title h2 {
    max-width: 720px;
}

.portal-body .billing-empty {
    min-height: 132px;
    display: grid;
    align-content: center;
    gap: 8px;
    border: 3px dashed var(--portal-line);
    background: rgba(255, 253, 242, .72);
    color: var(--portal-ink);
    box-shadow: 5px 5px 0 rgba(33, 21, 15, .72);
    padding: 18px;
}

.portal-body .billing-empty strong {
    font-size: 18px;
}

.portal-body .billing-empty span {
    color: rgba(33, 21, 15, .72);
    font-weight: 760;
}

.portal-body .billing-box {
    display: grid;
    gap: 10px;
}

.portal-body .billing-box:nth-child(2n) {
    background: #e7ddff;
}

.portal-body .billing-box.compact {
    background: #c7f8ff;
}

.portal-body .inline-form,
.portal-body .inline-actions,
.portal-body .admin-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.portal-body .inline-form {
    margin: 0;
}

.portal-body .checkout-form {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
}

.portal-body .checkout-form select {
    min-width: 170px;
}

.portal-body .inline-form input,
.portal-body .inline-form select {
    min-width: min(160px, 100%);
    max-width: 100%;
}

.portal-body .tax-form {
    border: 3px solid var(--portal-line);
    background: #d8ffda;
    padding: 16px;
    box-shadow: 5px 5px 0 rgba(33, 21, 15, .82);
}

.portal-body .admin-settings-card {
    background: linear-gradient(135deg, #fff7cd, #dffbff 48%, #ffe5f3);
}

.portal-body .admin-settings-form {
    display: grid;
    gap: 18px;
}

.portal-body .admin-settings-group {
    border: 3px solid var(--portal-line);
    background: rgba(255, 253, 242, .78);
    box-shadow: 6px 6px 0 rgba(33, 21, 15, .82);
}

.portal-body .admin-settings-group summary {
    display: grid;
    grid-template-columns: minmax(180px, .35fr) minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    min-height: 68px;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
    background:
        linear-gradient(135deg, rgba(199, 248, 255, .86), rgba(255, 224, 113, .72));
}

.portal-body .admin-settings-group summary::-webkit-details-marker {
    display: none;
}

.portal-body .admin-settings-group summary::after {
    content: "+";
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 3px solid var(--portal-line);
    background: #fffdf2;
    box-shadow: 3px 3px 0 rgba(33, 21, 15, .78);
    color: var(--portal-ink);
    font-size: 24px;
    line-height: 1;
}

.portal-body .admin-settings-group[open] summary::after {
    content: "-";
}

.portal-body .admin-settings-group summary span {
    color: var(--portal-ink);
    font-size: clamp(22px, 2vw, 32px);
    font-weight: 1000;
    line-height: 1;
}

.portal-body .admin-settings-group summary small {
    color: rgba(33, 21, 15, .72);
    font-weight: 850;
}

.portal-body .admin-settings-group-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    padding: 18px;
}

.portal-body .admin-settings-group-grid.plans-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.portal-body .admin-settings-band {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
    border: 3px solid var(--portal-line);
    padding: 16px;
    box-shadow: 6px 6px 0 rgba(33, 21, 15, .82);
}

.portal-body .admin-settings-band > div:first-child {
    grid-column: 1 / -1;
    align-self: center;
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(33, 21, 15, .18);
}

.portal-body .admin-settings-band strong {
    display: block;
    color: var(--portal-ink);
    font-size: 20px;
}

.portal-body .admin-settings-band span {
    color: rgba(33, 21, 15, .72);
    font-weight: 780;
}

.portal-body .admin-settings-band label {
    display: grid;
    gap: 6px;
    color: var(--portal-ink);
    font-weight: 900;
    min-width: 0;
}

.portal-body .admin-settings-band input,
.portal-body .admin-settings-band select,
.portal-body .admin-settings-band textarea,
.portal-body .admin-row input,
.portal-body .admin-row select,
.portal-body .admin-row textarea,
.portal-body .admin-support-ticket input,
.portal-body .admin-support-ticket select,
.portal-body .admin-support-ticket textarea {
    width: 100%;
    max-width: 100%;
}

.portal-body .admin-settings-band.band-site {
    background: #9cf0ff;
}

.portal-body .admin-settings-band.band-payment {
    background: #ffe071;
}

.portal-body .admin-settings-band.band-lemon {
    background: #e1d0ff;
}

.portal-body .admin-settings-band.band-iyzico {
    background: #b8ffd0;
}

.portal-body .admin-settings-band.band-mail {
    background: #ffc7dc;
}

.portal-body .admin-settings-band.band-package {
    background: #fff0a8;
}

.portal-body .admin-settings-band.band-region {
    background: #c9ecff;
}

.portal-body .admin-package-editor {
    grid-column: 1 / -1;
    display: grid;
    gap: 4px;
    margin-top: 8px;
    padding: 12px;
    border: 3px solid var(--portal-line);
    background: rgba(33, 21, 15, .9);
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .42);
}

.portal-body .admin-package-editor strong,
.portal-body .admin-package-editor span {
    color: #fff8df;
}

.portal-body .admin-package-editor span {
    font-size: 13px;
    font-weight: 850;
    opacity: .8;
}

.portal-body .admin-wide-field {
    grid-column: 1 / -1;
}

.portal-body .admin-settings-actions,
.portal-body .admin-settings-test {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    border: 3px solid var(--portal-line);
    background: #21150f;
    color: #fff8df;
    padding: 16px;
    box-shadow: 6px 6px 0 rgba(33, 21, 15, .82);
}

.portal-body .admin-settings-actions strong {
    display: block;
    color: #fff8df;
    font-size: 18px;
}

.portal-body .admin-settings-actions span,
.portal-body .admin-settings-test span {
    color: rgba(255, 248, 223, .72);
    font-weight: 850;
}

.portal-body .region-setting {
    border: 2px solid rgba(33, 21, 15, .24);
    background: rgba(255, 253, 242, .72);
    padding: 10px;
}

.portal-body .region-setting span {
    color: var(--portal-ink);
}

.portal-body .tool-box {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto minmax(240px, .8fr);
    gap: 12px;
    align-items: center;
    background: #ffe1ad;
}

.portal-body .backup-list {
    display: grid;
    gap: 4px;
}

.portal-body .check-line {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 8px 0;
    min-height: 48px;
    padding: 10px 12px;
    border: 3px solid var(--portal-line);
    background: rgba(255, 253, 242, .76);
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .72);
}

.portal-body .check-line input[type="checkbox"],
.portal-body .region-setting input[type="checkbox"] {
    appearance: none;
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    border: 3px solid var(--portal-line);
    background: #fffdf2;
    box-shadow: 3px 3px 0 rgba(33, 21, 15, .72);
    cursor: pointer;
}

.portal-body .check-line input[type="checkbox"]:checked,
.portal-body .region-setting input[type="checkbox"]:checked {
    background:
        linear-gradient(135deg, var(--portal-grass), var(--portal-mint));
    box-shadow: 3px 3px 0 rgba(33, 21, 15, .72), inset 0 0 0 4px #fffdf2;
}

.portal-body .tight-form {
    gap: 10px;
}

.portal-body .account-preferences-card,
.portal-body .security-settings-card,
.portal-body .referral-card {
    display: grid;
    align-content: start;
    gap: 18px;
}

.portal-body .portal-field {
    display: grid;
    gap: 8px;
    color: var(--portal-ink);
    font-weight: 950;
}

.portal-body .portal-field input,
.portal-body .security-password-form input {
    width: 100%;
}

.portal-body .preference-list {
    display: grid;
    gap: 10px;
    margin: 2px 0 4px;
}

.portal-body .account-preferences-card .check-line {
    justify-content: space-between;
    min-height: 54px;
    margin: 0;
    padding: 12px 14px;
    border: 3px solid var(--portal-line);
    background: rgba(255, 253, 242, .84);
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .78);
}

.portal-body .account-preferences-card .check-line span {
    color: var(--portal-ink);
    font-weight: 950;
}

.portal-body .account-preferences-card .check-line input {
    order: 2;
    appearance: none;
    width: 22px;
    height: 22px;
    border: 3px solid var(--portal-line);
    background: #fffdf2;
    box-shadow: 3px 3px 0 rgba(33, 21, 15, .72);
}

.portal-body .account-preferences-card .check-line input:checked {
    background:
        linear-gradient(135deg, var(--portal-grass), var(--portal-mint));
    box-shadow: 3px 3px 0 rgba(33, 21, 15, .72), inset 0 0 0 4px #fffdf2;
}

.portal-body .legal-check input {
    appearance: none;
    width: 22px;
    height: 22px;
    margin-top: 0;
    border: 3px solid var(--portal-line);
    background: #fffdf2;
    box-shadow: 3px 3px 0 rgba(33, 21, 15, .72);
}

.portal-body .legal-check input:checked {
    background:
        linear-gradient(135deg, var(--portal-grass), var(--portal-mint));
    box-shadow: 3px 3px 0 rgba(33, 21, 15, .72), inset 0 0 0 4px #fffdf2;
}

.portal-body .legal-check {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}

.portal-body .form-actions,
.portal-body .verification-form {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 4px;
}

.portal-body .security-password-form {
    display: grid;
    gap: 12px;
}

.portal-body .security-settings-card .timeline-list.compact {
    margin-top: 4px;
}

.portal-body .security-event-panel {
    display: grid;
    gap: 10px;
}

.portal-body .security-event-panel > strong {
    color: var(--portal-ink);
    font-size: 15px;
    font-weight: 950;
    text-transform: uppercase;
}

.portal-body .security-event-list {
    padding: 0;
}

.portal-body .security-event-list > div {
    padding: 11px 12px;
    box-shadow: 3px 3px 0 rgba(33, 21, 15, .72);
}

.portal-body .security-event-list strong {
    font-size: 15px;
}

.portal-body .security-event-list span {
    overflow-wrap: anywhere;
    font-size: 12px;
}

.portal-body .referral-card {
    padding-bottom: clamp(42px, 4vw, 64px);
}

.portal-body .referral-card p:not(.eyebrow) {
    max-width: 520px;
    margin: 0;
    color: rgba(33, 21, 15, .72);
    font-weight: 820;
}

.portal-body .referral-code {
    width: fit-content;
    padding: 14px 18px;
    border: 3px solid var(--portal-line);
    background: var(--portal-gold);
    box-shadow: 5px 5px 0 rgba(33, 21, 15, .86);
    font-size: 28px;
    font-weight: 1000;
    letter-spacing: .12em;
}

.portal-body .admin-table {
    display: grid;
    gap: 12px;
}

.portal-body .admin-row {
    justify-content: space-between;
    background: #fffdf2;
}

.portal-body .admin-support-ticket {
    display: grid;
    gap: 10px;
    margin: 0;
    background: #fffdf2;
}

.portal-body .admin-support-ticket textarea {
    min-height: 92px;
}

.portal-body .service-update {
    border: 3px solid var(--portal-line);
    background: #d8ffda;
    color: var(--portal-ink);
    box-shadow: 5px 5px 0 rgba(33, 21, 15, .82);
}

.portal-body .service-update strong,
.portal-body .service-update span {
    color: var(--portal-ink);
}

.portal-body .service-update-available {
    background: linear-gradient(135deg, #ffd74f, #ff9fc8);
}

.portal-body .service-update-running {
    background: linear-gradient(135deg, #c7f8ff, #e7ddff);
}

.portal-body .order-card .order-card-message {
    border: 3px solid var(--portal-line);
    background: #b6ffdf;
    color: var(--portal-ink);
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .82);
    font-weight: 900;
}

.portal-body .order-card .order-card-message.is-error {
    background: #ff9fc8;
    color: var(--portal-ink);
    border-color: var(--portal-line);
}

.portal-body .service-details {
    border-top: 3px solid var(--portal-line);
    padding-top: 16px;
}

.portal-body .service-detail-title {
    width: fit-content;
    color: var(--portal-ink);
    border: 3px solid var(--portal-line);
    background: var(--portal-gold);
    padding: 9px 13px;
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .86);
    font-weight: 950;
    margin-bottom: 14px;
}

.portal-body .service-detail-grid {
    gap: 16px;
}

.portal-body .service-detail-grid section,
.portal-body .service-settings {
    border: 3px solid var(--portal-line);
    background: rgba(255, 255, 255, .72);
    padding: 16px;
    box-shadow: 5px 5px 0 rgba(33, 21, 15, .82);
}

.portal-body .service-detail-grid section:nth-child(1) {
    background: #e7ddff;
}

.portal-body .service-detail-grid section:nth-child(2) {
    background: #c7f8ff;
}

.portal-body .service-detail-grid section:nth-child(3) {
    background: #ffe1ad;
}

.portal-body .service-detail-grid h3,
.portal-body .service-settings h3 {
    color: var(--portal-ink);
    margin-top: 0;
    font-size: 21px;
}

.portal-body .service-timeline {
    gap: 11px;
}

.portal-body .service-timeline li {
    color: rgba(33, 21, 15, .76);
    padding-left: 33px;
    font-weight: 840;
}

.portal-body .service-timeline li::before {
    top: 4px;
    width: 18px;
    height: 18px;
    border: 3px solid var(--portal-line);
    background: var(--portal-paper);
    box-shadow: 3px 3px 0 rgba(33, 21, 15, .82);
}

.portal-body .service-timeline li.is-done {
    color: var(--portal-ink);
}

.portal-body .service-timeline li.is-done::before {
    background: var(--portal-grass);
    border-color: var(--portal-line);
    box-shadow: 3px 3px 0 rgba(33, 21, 15, .82);
}

.portal-body .service-facts div {
    border: 3px solid var(--portal-line);
    background: rgba(255, 247, 223, .74);
    box-shadow: 3px 3px 0 rgba(33, 21, 15, .78);
}

.portal-body .service-facts dt {
    color: rgba(33, 21, 15, .62);
    font-weight: 900;
}

.portal-body .service-facts dd {
    color: var(--portal-ink);
    font-weight: 1000;
    margin-left: 0;
}

.portal-body .support-form textarea {
    background: #fffdf2;
}

.portal-body .service-settings {
    border-top: 3px solid var(--portal-line);
    background: linear-gradient(135deg, #d8ffda, #fff7df);
}

.portal-body .service-settings p {
    color: var(--portal-ink);
    font-weight: 780;
}

.portal-body .service-form {
    gap: 14px;
}

.portal-body .empty-state {
    border: 3px dashed var(--portal-line);
    background: rgba(255, 247, 223, .8);
    color: var(--portal-ink);
    box-shadow: 5px 5px 0 rgba(33, 21, 15, .82);
    font-weight: 900;
}

.portal-body .owner-table {
    gap: 16px;
}

.portal-body .owner-row,
.portal-body .owner-actions-row {
    border: 3px solid var(--portal-line);
    background: rgba(255, 247, 223, .92);
    box-shadow: 7px 7px 0 rgba(33, 21, 15, .86);
}

.portal-body .owner-row {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    padding: 16px;
}

.portal-body .owner-row > *,
.portal-body .owner-actions-row > * {
    min-width: 0;
}

.portal-body .owner-row input,
.portal-body .owner-row select,
.portal-body .owner-row button,
.portal-body .owner-actions-row select,
.portal-body .owner-actions-row button {
    width: 100%;
}

.portal-body .owner-row:nth-of-type(4n + 1) {
    background: #fff7df;
}

.portal-body .owner-row:nth-of-type(4n + 3) {
    background: #e7ddff;
}

.portal-body .owner-actions-row {
    margin-top: -16px;
    margin-bottom: 10px;
    background: #c7f8ff;
    padding: 14px 16px;
    overflow-wrap: anywhere;
}

.portal-body .owner-row strong,
.portal-body .owner-row span,
.portal-body .owner-row small,
.portal-body .owner-actions-row span,
.portal-body .owner-actions-row small {
    color: var(--portal-ink);
}

.portal-body .owner-row strong {
    font-size: 18px;
}

.portal-body .owner-actions-row form {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex: 0 1 230px;
    max-width: 100%;
}

@keyframes portalSheen {
    from {
        transform: translateX(-8%);
    }
    to {
        transform: translateX(8%);
    }
}

@keyframes portalPanelIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1180px) {
    .portal-body .auth-layout,
    .portal-body .customer-grid,
    .portal-body .portal-feature-grid,
    .portal-body .billing-grid {
        grid-template-columns: 1fr;
    }

    .portal-body .portal-tab-shell {
        grid-template-columns: 1fr;
    }

    .portal-body .portal-sidebar {
        position: static;
    }

    .portal-body .portal-tab-nav {
        display: flex;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .portal-body .portal-tab-nav a {
        min-width: 142px;
        flex: 0 0 auto;
    }

    .portal-body .order-panel {
        position: static;
    }

    .portal-body .order-card,
    .portal-body .owner-row,
    .portal-body .checkout-box,
    .portal-body .cart-checkout-box,
    .portal-body .tool-box {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .portal-body .portal-topbar,
    .portal-body .portal-layout {
        width: min(100% - 28px, 1620px);
    }

    .portal-body .portal-topbar {
        align-items: flex-start;
    }

    .portal-body .portal-topbar nav {
        justify-content: flex-start;
    }

    .portal-body .portal-heading,
    .portal-body .auth-copy,
    .portal-body .glass-form,
    .portal-body .order-panel,
    .portal-body .orders-panel,
    .portal-body .order-card {
        box-shadow: 6px 6px 0 rgba(33, 21, 15, .9);
    }

    .portal-body .portal-heading h1,
    .portal-body .auth-copy h1 {
        font-size: 52px;
    }

    .portal-body .auth-panels,
    .portal-body .order-card,
    .portal-body .owner-row,
    .portal-body .owner-actions-row,
    .portal-body .service-form,
    .portal-body .service-kpis,
    .portal-body .service-detail-grid,
    .portal-body .service-facts,
    .portal-body .billing-grid,
    .portal-body .checkout-box,
    .portal-body .cart-checkout-box,
    .portal-body .tool-box,
    .portal-body .notification-row {
        grid-template-columns: 1fr;
    }

    .portal-body .glass-form:nth-child(2) {
        margin-top: 0;
    }

    .portal-body .order-actions,
    .portal-body .owner-actions-row {
        justify-content: flex-start;
    }
}

@media (max-width: 1180px) {
    .hero-wide,
    .split-section,
    .region-section,
    .demo-grid,
    .auth-layout,
    .wizard-layout,
    .customer-grid {
        grid-template-columns: 1fr;
    }

    .hero-visual {
        min-height: 430px;
    }

    .flow-grid,
    .region-list,
    .audience-grid,
    .service-kpis,
    .service-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .owner-row {
        grid-template-columns: 1fr 1fr;
    }

    .site-body .panel-theater,
    .site-body .hero-world {
        grid-template-columns: 1fr;
    }

    .site-body .agent-avatar {
        left: auto;
        right: 10%;
        opacity: .78;
    }

    .site-body .console-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .portal-body .admin-settings-band {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .portal-body .admin-settings-group-grid,
    .portal-body .admin-settings-group-grid.plans-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .nav-wide,
    .hero-wide,
    .wide-section,
    .site-footer,
    .portal-topbar,
    .portal-layout,
    .wizard-layout {
        width: min(100% - 28px, 1500px);
    }

    .site-header {
        min-height: auto;
    }

    .nav-links {
        gap: 10px;
    }

    h1 {
        font-size: 42px;
    }

    h2 {
        font-size: 32px;
    }

    .hero-wide {
        padding-top: 18px;
    }

    .hero-visual {
        min-height: 360px;
    }

    .matrix-stage {
        aspect-ratio: 1 / 1.04;
    }

    .node-owner {
        left: 22px;
        top: 24px;
    }

    .tenant-rail {
        display: none;
    }

    .tenant-grid {
        left: 22px;
        right: 22px;
        bottom: 22px;
        grid-template-columns: 1fr 1fr;
    }

    .package-grid,
    .flow-grid,
    .region-list,
    .audience-grid,
    .auth-panels,
    .form-grid {
        grid-template-columns: 1fr;
    }

    .order-card,
    .owner-row,
    .owner-actions-row,
    .service-form,
    .service-kpis,
    .service-detail-grid,
    .service-facts {
        grid-template-columns: 1fr;
    }

    .order-actions {
        justify-content: flex-start;
    }

    .portal-body .admin-settings-band {
        grid-template-columns: 1fr;
    }

    .portal-body .admin-settings-group summary {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .portal-body .admin-settings-group summary small {
        grid-column: 1 / -1;
    }

    .site-body .hero-copy h1 {
        font-size: 54px;
        line-height: .9;
    }

    .site-body .hero-lead {
        font-size: 16px;
        box-shadow: 5px 5px 0 rgba(36, 21, 16, .92);
    }

    .hero-world {
        padding-bottom: 88px;
    }

    .sun-tile {
        width: 74px;
        height: 74px;
        background-size: 18px 18px, 18px 18px;
    }

    .flying-cube {
        width: 48px;
        height: 48px;
    }

    .agent-avatar {
        width: 96px;
        height: 132px;
        bottom: 19%;
    }

    .site-body .package-top {
        display: grid;
    }

    .site-body .package-top span {
        justify-self: start;
    }

    .site-body .console-grid,
    .site-body .region-list {
        grid-template-columns: 1fr;
    }

    .fake-console,
    .art-plan,
    .final-cta {
        box-shadow: 8px 8px 0 rgba(33, 21, 15, .86);
    }
}

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

.compliance-strip {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: 28px;
    align-items: end;
    border: 2px solid rgba(36, 21, 16, .95);
    background:
        linear-gradient(135deg, rgba(197, 247, 255, .86), rgba(255, 235, 162, .9)),
        #f8ffd6;
    color: #251510;
    box-shadow: 12px 12px 0 rgba(36, 21, 16, .88);
    margin-top: 48px;
}

.compliance-strip p,
.compliance-strip .eyebrow {
    color: #251510;
}

.compliance-points {
    display: grid;
    gap: 12px;
}

.compliance-points span {
    display: block;
    padding: 14px 16px;
    border: 2px solid rgba(36, 21, 16, .92);
    background: rgba(255, 255, 255, .56);
    font-weight: 900;
    box-shadow: 5px 5px 0 rgba(36, 21, 16, .86);
}

.legal-layout {
    display: grid;
    grid-template-columns: minmax(280px, 350px) minmax(0, 1fr);
    gap: 36px;
    align-items: start;
    padding-top: 26px;
    padding-bottom: 86px;
}

body.legal-body,
body.portal-body.legal-body {
    --legal-ink: var(--portal-ink);
    --legal-paper: var(--portal-paper);
    --legal-line: var(--portal-line);
    --legal-shadow: var(--portal-shadow);
}

body.legal-body .portal-topbar,
body.portal-body.legal-body .portal-topbar {
    border: 3px solid var(--legal-line);
    background: rgba(255, 247, 223, .9);
    box-shadow: 7px 7px 0 rgba(33, 21, 15, .9);
    color: var(--legal-ink);
    backdrop-filter: blur(12px);
}

body.legal-body .portal-topbar nav a:not(.button),
body.portal-body.legal-body .portal-topbar nav a:not(.button) {
    color: var(--legal-ink);
    font-weight: 900;
}

body.legal-body .brand-mark,
body.portal-body.legal-body .brand-mark {
    color: var(--legal-ink);
    text-transform: uppercase;
    text-shadow: none;
}

.legal-sidebar,
.legal-document {
    position: relative;
    overflow: hidden;
    border: 3px solid var(--legal-line);
    box-shadow: var(--legal-shadow);
    color: var(--legal-ink);
}

.legal-sidebar {
    position: sticky;
    top: 18px;
    display: grid;
    gap: 10px;
    padding: 34px 22px 22px;
    background: linear-gradient(135deg, rgba(255, 247, 223, .92), rgba(154, 245, 200, .72));
}

.legal-sidebar::before,
.legal-document::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 13px;
    background: repeating-linear-gradient(90deg, var(--portal-berry) 0 28px, var(--portal-gold) 28px 56px, var(--portal-aqua) 56px 84px, var(--portal-grass) 84px 112px);
}

.legal-sidebar strong {
    font-size: 24px;
    line-height: 1;
}

.legal-sidebar span {
    color: rgba(33, 21, 15, .68);
    font-size: 13px;
    margin-bottom: 8px;
}

.legal-sidebar a {
    color: var(--legal-ink);
    padding: 14px 16px;
    border: 3px solid transparent;
    font-weight: 1000;
}

.legal-sidebar a[aria-current="page"],
.portal-topbar a[aria-current="page"] {
    color: var(--legal-ink);
    border-color: var(--legal-line);
    background: #8bf7d0;
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .88);
}

.legal-document {
    padding: clamp(34px, 5vw, 72px);
    background: linear-gradient(135deg, rgba(255, 247, 223, .95), rgba(255, 247, 223, .86) 48%, rgba(246, 240, 255, .9));
}

.legal-document h1 {
    font-size: clamp(54px, 7vw, 112px);
    line-height: .9;
    color: var(--legal-ink);
    max-width: 980px;
    margin-top: 12px;
}

.legal-summary {
    color: rgba(33, 21, 15, .78);
    max-width: 880px;
    font-size: 19px;
    font-weight: 800;
}

.legal-meta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 24px 0 36px;
}

.legal-meta span {
    border: 3px solid rgba(33, 21, 15, .88);
    color: var(--legal-ink);
    padding: 12px 16px;
    background: rgba(255, 255, 255, .56);
    font-weight: 1000;
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .82);
}

.legal-section {
    border: 3px solid rgba(33, 21, 15, .9);
    padding: 22px;
    margin-top: 22px;
    background: rgba(255, 255, 255, .56);
    box-shadow: 6px 6px 0 rgba(33, 21, 15, .86);
}

.legal-section:nth-of-type(3n + 1) {
    background: rgba(154, 245, 200, .58);
}

.legal-section:nth-of-type(3n + 2) {
    background: rgba(246, 240, 255, .86);
}

.legal-section:nth-of-type(3n + 3) {
    background: rgba(255, 215, 79, .44);
}

.legal-section h2 {
    font-size: clamp(24px, 2.6vw, 38px);
    color: var(--legal-ink);
}

.legal-section p {
    max-width: 940px;
    color: rgba(33, 21, 15, .84);
    font-weight: 760;
}

.legal-note {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 34px;
    padding: 16px;
    border: 3px solid var(--legal-line);
    background: #cfffff;
    color: var(--legal-ink);
    box-shadow: 6px 6px 0 rgba(33, 21, 15, .88);
}

.admin-wide-field {
    grid-column: 1 / -1;
}

.admin-wide-field textarea {
    width: 100%;
    resize: vertical;
}

.cookie-notice {
    position: fixed;
    left: 50%;
    right: auto;
    bottom: max(18px, env(safe-area-inset-bottom));
    z-index: 10000;
    width: min(1500px, calc(100% - 48px));
    margin: 0;
    transform: translateX(-50%);
    border: 3px solid rgba(33, 21, 15, .94);
    background: rgba(255, 247, 223, .96);
    box-shadow: 8px 8px 0 rgba(33, 21, 15, .9);
    color: #21150f;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px;
}

.cookie-notice div {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.cookie-notice strong {
    color: #21150f;
}

.cookie-notice span {
    color: rgba(33, 21, 15, .76);
}

.cookie-notice a {
    color: #005a8a;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cookie-notice button {
    border: 3px solid rgba(33, 21, 15, .94);
    background: linear-gradient(135deg, #ff5c9a, #ff9852);
    color: #fff7df;
    padding: 10px 14px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .92);
}

.portal-body .brand-mark {
    white-space: nowrap;
}

.portal-legal-footer {
    width: min(1500px, calc(100% - 48px));
    margin: 18px auto 36px;
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    color: var(--muted);
    font-size: 14px;
}

.portal-legal-footer a {
    border-bottom: 1px solid rgba(115, 217, 255, .35);
}

.portal-body .portal-legal-footer {
    position: relative;
    z-index: 2;
    align-items: center;
    margin: 32px auto 42px;
    padding: 14px 18px;
    border: 3px solid var(--portal-line);
    background: rgba(255, 247, 223, .94);
    box-shadow: 7px 7px 0 rgba(33, 21, 15, .86);
    color: var(--portal-ink);
    font-weight: 900;
}

.portal-body .portal-legal-footer a {
    color: var(--portal-ink);
    border: 2px solid transparent;
    padding: 5px 7px;
    text-decoration: none;
}

.portal-body .portal-legal-footer a:hover {
    border-color: var(--portal-line);
    background: #c7f8ff;
}

@media (max-width: 900px) {
    .compliance-strip,
    .legal-layout {
        grid-template-columns: 1fr;
    }

    .legal-sidebar {
        position: static;
    }

    .cookie-notice {
        display: grid;
        width: calc(100% - 24px);
        bottom: max(12px, env(safe-area-inset-bottom));
        gap: 12px;
    }
}

/* Production layout guardrails */
.site-body *,
.portal-body * {
    min-width: 0;
}

.site-body h1,
.site-body h2,
.site-body h3,
.site-body p,
.site-body a,
.site-body span,
.portal-body h1,
.portal-body h2,
.portal-body h3,
.portal-body p,
.portal-body a,
.portal-body span,
.portal-body strong,
.portal-body small {
    overflow-wrap: anywhere;
}

.site-body .wide-section {
    width: min(1500px, calc(100% - 64px));
    padding: clamp(56px, 7vw, 104px) clamp(24px, 3vw, 44px);
    overflow: visible;
}

.site-body .flow-grid,
.site-body .demo-grid,
.site-body .audience-grid,
.site-body .region-list,
.site-body .package-grid-art,
.site-body .compliance-points {
    gap: clamp(18px, 2vw, 32px);
}

.site-body .flow-grid article,
.site-body .audience-grid article,
.site-body .region-list article,
.site-body .art-plan,
.site-body .console-cell {
    padding: clamp(20px, 2vw, 34px);
}

.site-body .flow-grid article {
    min-height: 260px;
}

.site-body .art-flow {
    padding-bottom: clamp(72px, 7vw, 116px);
}

.site-body .panel-theater,
.site-body .compliance-strip,
.site-body .final-cta {
    overflow: hidden;
    padding: clamp(34px, 4vw, 58px);
}

.site-body .compliance-strip {
    align-items: center;
}

.site-body .compliance-points span {
    padding: 18px;
    line-height: 1.35;
}

.site-body .final-cta h2,
.site-body .compliance-strip h2 {
    max-width: 980px;
    font-size: clamp(42px, 5vw, 78px);
    line-height: 1;
}

.site-body .final-cta p,
.site-body .compliance-strip p,
.site-body .flow-copy p {
    line-height: 1.55;
}

.portal-body .portal-topbar,
.portal-body .portal-layout,
.portal-body .portal-legal-footer {
    width: min(1620px, calc(100% - 64px));
}

.portal-body .portal-tab-shell,
.portal-body .portal-feature-grid {
    gap: clamp(28px, 2.5vw, 44px);
}

.portal-body .portal-main {
    min-width: 0;
}

.portal-body .portal-feature-card {
    overflow: clip;
    padding: clamp(30px, 3vw, 48px);
}

.portal-body .portal-feature-card h2 {
    font-size: clamp(34px, 3.2vw, 58px);
    line-height: 1;
}

.portal-body .portal-feature-card p,
.portal-body .portal-feature-card span,
.portal-body .portal-feature-card small {
    line-height: 1.45;
}

.portal-body .action-item,
.portal-body .notification-row,
.portal-body .billing-box,
.portal-body .tool-box,
.portal-body .usage-row,
.portal-body .timeline-list > div,
.portal-body .admin-support-ticket,
.portal-body .event-river > div,
.portal-body .admin-row,
.portal-body .service-workspace-body,
.portal-body .service-panel {
    padding: clamp(16px, 1.6vw, 24px);
}

.portal-body .billing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(20px, 2vw, 32px);
}

.portal-body .billing-grid .tax-form {
    grid-column: 1 / -1;
}

.portal-body .checkout-box,
.portal-body .cart-checkout-box {
    grid-template-columns: minmax(0, 1fr);
}

.portal-body .cart-total-list {
    min-width: 0;
}

.portal-body .cart-total-list strong {
    white-space: normal;
}

.site-footer,
.portal-body .portal-legal-footer.portal-footer-stacked {
    display: grid;
    grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr);
    gap: clamp(22px, 3vw, 42px);
    align-items: start;
}

.site-footer > div {
    display: block;
}

.site-footer .footer-brand,
.portal-footer-stacked .footer-brand {
    display: grid;
    gap: 10px;
    align-content: start;
}

.site-footer .footer-columns,
.portal-footer-stacked .footer-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: clamp(16px, 2vw, 28px);
}

.site-footer .footer-columns nav,
.portal-footer-stacked .footer-columns nav {
    display: grid;
    gap: 8px;
    align-content: start;
}

.site-footer .footer-columns strong,
.portal-footer-stacked .footer-columns strong {
    color: inherit;
    margin-bottom: 4px;
}

.site-footer .footer-bottom,
.portal-footer-stacked .footer-bottom {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    border-top: 2px solid rgba(33, 21, 15, .18);
    padding-top: 16px;
}

.site-body .site-footer {
    padding: clamp(24px, 3vw, 36px);
}

.portal-body .portal-footer-stacked {
    padding: clamp(22px, 3vw, 34px);
    border: 0;
    border-top: 3px solid #21150f;
    background: #21150f;
    color: #fff8df;
    box-shadow: none;
}

.portal-body .portal-footer-stacked a,
.portal-body .portal-footer-stacked span,
.site-footer a,
.site-footer span {
    line-height: 1.45;
}

.portal-body .portal-footer-stacked a,
.portal-body .portal-footer-stacked span {
    color: rgba(255, 248, 223, .72);
}

.portal-body .portal-footer-stacked a {
    display: inline;
    width: fit-content;
    padding: 0;
    border: 0;
    background: transparent;
}

.portal-body .portal-footer-stacked a:hover {
    color: #fff8df;
    border: 0;
    background: transparent;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

.portal-body .portal-footer-stacked strong {
    color: #fff8df;
}

.portal-body .portal-footer-stacked .footer-bottom {
    border-top-color: rgba(255, 248, 223, .18);
}

.portal-body .cart-checkout-box.cart-has-item {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    background:
        linear-gradient(135deg, #ffe072, #fff2b3 54%, #cdfcff);
}

.portal-body .cart-service-card,
.portal-body .cart-summary-card {
    border: 3px solid var(--portal-line);
    background: rgba(255, 253, 242, .78);
    box-shadow: 5px 5px 0 rgba(33, 21, 15, .78);
    padding: clamp(16px, 1.7vw, 24px);
}

.portal-body .cart-service-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
    gap: 14px;
    order: 1;
}

.portal-body .cart-service-list > .eyebrow,
.portal-body .cart-service-list-head {
    grid-column: 1 / -1;
}

.portal-body .cart-service-list-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    padding: 0 0 4px;
}

.portal-body .cart-service-list-head h3 {
    margin: 0;
    color: var(--portal-ink);
    font-size: clamp(26px, 2.8vw, 44px);
    line-height: .96;
}

.portal-body .cart-service-list-head span {
    width: fit-content;
    padding: 8px 10px;
    border: 3px solid var(--portal-line);
    background: #c7f8ff;
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .78);
    color: var(--portal-ink);
    font-weight: 950;
    line-height: 1.15;
    text-align: center;
}

.portal-body .cart-service-card {
    display: grid;
    gap: 14px;
    background:
        linear-gradient(135deg, rgba(255, 247, 223, .9), rgba(199, 248, 255, .78));
    align-content: start;
}

.portal-body .cart-service-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
}

.portal-body .cart-service-heading h3 {
    margin: 0;
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: 1.05;
}

.portal-body .cart-service-heading strong {
    padding: 8px 10px;
    border: 3px solid var(--portal-line);
    background: #fff8df;
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .78);
    font-size: 18px;
    white-space: nowrap;
}

.portal-body .cart-service-card p {
    margin: 0;
    color: rgba(33, 21, 15, .78);
    font-weight: 820;
    line-height: 1.35;
}

.portal-body .cart-meta-list {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.portal-body .cart-meta-list span {
    display: inline-flex;
    width: fit-content;
    padding: 8px 10px;
    border: 2px solid rgba(33, 21, 15, .78);
    background: rgba(255, 255, 255, .58);
    color: rgba(33, 21, 15, .78);
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
}

.portal-body .cart-feature-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.portal-body .cart-feature-list li {
    padding: 8px 10px;
    border: 2px solid rgba(33, 21, 15, .22);
    background: rgba(255, 253, 242, .68);
    color: var(--portal-ink);
    font-weight: 850;
}

.portal-body .cart-item-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
}

.portal-body .cart-item-actions form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
    margin: 0;
}

.portal-body .cart-summary-card small {
    display: block;
    margin-top: 8px;
    color: rgba(33, 21, 15, .7);
    font-weight: 850;
    line-height: 1.35;
}

.portal-body .cart-checkout-box .cart-coupon-form {
    display: grid;
    grid-template-columns: minmax(160px, 320px) auto;
    gap: 10px;
    align-items: stretch;
    justify-content: start;
    order: 2;
}

.portal-body .cart-checkout-box .cart-coupon-form input {
    min-width: 0;
    width: 100%;
}

.portal-body .cart-checkout-box .cart-coupon-form .button,
.portal-body .cart-checkout-box .inline-actions .button {
    min-height: 48px;
    padding: 12px 18px;
    font-size: 15px;
}

.portal-body .cart-checkout-box .inline-actions {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: flex-start;
    order: 3;
}

.portal-body .cart-checkout-box .checkout-form {
    gap: 12px;
}

.portal-body .cart-checkout-box .checkout-form .button-primary {
    min-width: min(100%, 280px);
}

.portal-body .cart-summary-card {
    align-content: start;
    order: -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.portal-body .cart-summary-card > div {
    display: grid;
    gap: 6px;
    align-content: center;
    min-height: 88px;
    padding: 12px 14px;
    border: 2px solid rgba(33, 21, 15, .28);
    background: rgba(255, 253, 242, .72);
}

.portal-body .cart-summary-card > div span {
    color: rgba(33, 21, 15, .62);
    font-size: 13px;
    font-weight: 950;
    text-transform: uppercase;
}

.portal-body .cart-summary-card > div strong {
    color: var(--portal-ink);
    font-size: 22px;
    line-height: 1;
    text-align: left;
}

.portal-body .cart-summary-card .cart-total-row {
    border: 3px solid var(--portal-line);
    background: #ffdf6e;
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .78);
}

.portal-body .cart-summary-card .cart-total-row strong {
    font-size: clamp(28px, 3vw, 42px);
}

.portal-body .cart-summary-card small {
    grid-column: 1 / -1;
    margin: 0;
    padding-top: 2px;
}

.portal-body.status-body .status-layout {
    display: grid;
    gap: clamp(34px, 4vw, 58px);
}

.portal-body.status-body .status-hero {
    padding: clamp(42px, 5vw, 72px);
    overflow: visible;
}

.portal-body.status-body .status-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .42fr);
    gap: clamp(24px, 3vw, 48px);
    align-items: end;
}

.portal-body.status-body .status-hero h1 {
    font-size: clamp(54px, 7vw, 112px);
    line-height: .9;
    margin-bottom: 16px;
}

.portal-body.status-body .status-hero p {
    max-width: 760px;
    color: rgba(33, 21, 15, .82);
    font-size: clamp(19px, 1.4vw, 25px);
    font-weight: 850;
    line-height: 1.35;
}

.portal-body.status-body .status-overview-card {
    display: grid;
    gap: 8px;
    min-height: 176px;
    padding: 22px;
    border: 3px solid var(--portal-line);
    background:
        linear-gradient(135deg, #c7f8ff, #b8ffd0);
    box-shadow: 7px 7px 0 rgba(33, 21, 15, .82);
}

.portal-body.status-body .status-overview-card.needs-attention {
    background: linear-gradient(135deg, #ffe071, #ff9fc8);
}

.portal-body.status-body .status-overview-card span,
.portal-body.status-body .status-overview-card small {
    color: rgba(33, 21, 15, .72);
    font-weight: 900;
}

.portal-body.status-body .status-overview-card strong {
    color: var(--portal-ink);
    font-size: clamp(25px, 2.5vw, 36px);
    line-height: 1;
}

.portal-body.status-body .status-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(30px, 3vw, 52px);
    align-items: stretch;
}

.portal-body.status-body .status-service-card {
    display: grid;
    gap: 18px;
    min-height: 310px;
    padding: clamp(28px, 2.6vw, 42px);
    overflow: visible;
    background:
        linear-gradient(135deg, rgba(255, 253, 242, .96), rgba(213, 255, 239, .9));
}

.portal-body.status-body .status-service-card.needs-attention {
    background:
        linear-gradient(135deg, rgba(255, 247, 223, .96), rgba(255, 199, 220, .82));
}

.portal-body.status-body .status-card-head,
.portal-body.status-body .status-card-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.portal-body.status-body .status-card-head span:last-child,
.portal-body.status-body .status-card-foot small {
    color: rgba(33, 21, 15, .66);
    font-size: 13px;
    font-weight: 950;
    text-transform: uppercase;
}

.portal-body.status-body .status-dot {
    width: 18px;
    height: 18px;
    border: 3px solid var(--portal-line);
    background: var(--portal-grass);
    box-shadow: 3px 3px 0 rgba(33, 21, 15, .8);
}

.portal-body.status-body .needs-attention .status-dot {
    background: var(--portal-gold);
}

.portal-body.status-body .status-service-card h2 {
    margin: 0;
    font-size: clamp(34px, 3.4vw, 58px);
    line-height: .95;
}

.portal-body.status-body .status-service-card p {
    margin: 0;
    color: rgba(33, 21, 15, .75);
    font-weight: 800;
}

.portal-body.status-body .status-meter {
    height: 20px;
    padding: 3px;
    border: 3px solid var(--portal-line);
    background: rgba(33, 21, 15, .08);
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .45);
    inline-size: 100%;
}

.portal-body.status-body .status-meter span {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
        var(--portal-mint) 0 12.5%,
        var(--portal-grass) 12.5% 25%,
        var(--portal-mint) 25% 37.5%,
        var(--portal-grass) 37.5% 50%,
        var(--portal-mint) 50% 62.5%,
        var(--portal-grass) 62.5% 75%,
        var(--portal-mint) 75% 87.5%,
        var(--portal-grass) 87.5% 100%);
}

.portal-body.status-body .needs-attention .status-meter span {
    background: linear-gradient(90deg,
        var(--portal-gold) 0 12.5%,
        var(--portal-berry) 12.5% 25%,
        var(--portal-gold) 25% 37.5%,
        var(--portal-berry) 37.5% 50%,
        var(--portal-gold) 50% 62.5%,
        var(--portal-berry) 62.5% 75%,
        var(--portal-gold) 75% 87.5%,
        var(--portal-berry) 87.5% 100%);
}

.portal-body.status-body .status-card-foot {
    display: grid;
    gap: 6px;
    align-self: end;
    align-items: start;
    justify-content: start;
    padding-top: 4px;
    border-top: 2px solid rgba(33, 21, 15, .18);
}

.portal-body.status-body .status-card-foot strong {
    color: var(--portal-ink);
    font-size: 18px;
    overflow-wrap: normal;
    white-space: nowrap;
    word-break: keep-all;
}

.portal-body.status-body .status-region-card {
    display: grid;
    gap: clamp(22px, 2.5vw, 34px);
    padding: clamp(32px, 4vw, 56px);
    background:
        linear-gradient(135deg, rgba(255, 253, 242, .96), rgba(199, 248, 255, .88));
    overflow: visible;
}

.portal-body.status-body .status-region-card.needs-attention {
    background:
        linear-gradient(135deg, rgba(255, 247, 223, .96), rgba(255, 199, 220, .84));
}

.portal-body.status-body .status-region-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 260px);
    gap: clamp(22px, 3vw, 44px);
    align-items: end;
}

.portal-body.status-body .status-region-summary .status-card-head {
    justify-content: start;
    width: fit-content;
    gap: 12px;
}

.portal-body.status-body .status-region-summary h2 {
    margin: 18px 0 14px;
    font-size: clamp(42px, 5vw, 82px);
    line-height: .92;
}

.portal-body.status-body .status-region-summary p {
    max-width: 820px;
    margin: 0;
    color: rgba(33, 21, 15, .75);
    font-size: clamp(18px, 1.2vw, 22px);
    font-weight: 850;
    line-height: 1.35;
}

.portal-body.status-body .status-region-count {
    display: grid;
    gap: 4px;
    padding: 18px;
    border: 3px solid var(--portal-line);
    background: #ffdf6e;
    box-shadow: 6px 6px 0 rgba(33, 21, 15, .82);
    text-align: center;
}

.portal-body.status-body .status-region-count strong {
    font-size: clamp(44px, 5vw, 78px);
    line-height: .86;
}

.portal-body.status-body .status-region-count span {
    color: rgba(33, 21, 15, .72);
    font-size: 13px;
    font-weight: 950;
    text-transform: uppercase;
}

.portal-body.status-body .status-region-list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.portal-body.status-body .status-region-list article {
    display: grid;
    gap: 10px;
    min-height: 150px;
    padding: 18px;
    border: 3px solid var(--portal-line);
    background: rgba(255, 247, 223, .88);
    box-shadow: 5px 5px 0 rgba(33, 21, 15, .78);
}

.portal-body.status-body .status-region-list article.is-planned {
    background: rgba(235, 224, 255, .82);
}

.portal-body.status-body .status-region-list strong {
    color: var(--portal-ink);
    font-size: 19px;
    line-height: 1.08;
}

.portal-body.status-body .status-region-list span {
    color: rgba(33, 21, 15, .68);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
}

.portal-body.status-body .status-region-list small {
    align-self: end;
    color: #236a3d;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.portal-body.status-body .status-region-list article.is-planned small {
    color: rgba(33, 21, 15, .62);
}

.portal-body.status-body .status-maintenance-card {
    display: grid;
    gap: 18px;
    padding: clamp(34px, 4vw, 56px);
}

.portal-body.status-body .status-section-title {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: end;
}

.portal-body.status-body .status-section-title h2 {
    margin: 0;
}

.portal-body.status-body .status-section-title span {
    width: fit-content;
    padding: 10px 12px;
    border: 3px solid var(--portal-line);
    background: #c7f8ff;
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .78);
    color: var(--portal-ink);
    font-weight: 950;
}

@media (max-width: 1180px) {
    .site-body .demo-grid,
    .site-body .flow-grid,
    .site-body .audience-grid,
    .site-body .region-list,
    .site-body .compliance-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .portal-body .billing-grid {
        grid-template-columns: 1fr;
    }

    .portal-body.status-body .status-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .portal-body.status-body .status-region-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .site-footer,
    .portal-body .portal-legal-footer.portal-footer-stacked {
        grid-template-columns: 1fr;
    }

    .site-footer .footer-columns,
    .portal-footer-stacked .footer-columns {
        grid-template-columns: repeat(2, minmax(150px, 1fr));
    }

    .portal-body .cart-checkout-box.cart-has-item,
    .portal-body .cart-service-heading,
    .portal-body .cart-checkout-box .cart-coupon-form {
        grid-template-columns: 1fr;
    }

    .portal-body .service-plan-preview dl,
    .portal-body .service-plan-preview ul,
    .portal-body .cart-feature-list,
    .portal-body .cart-summary-card {
        grid-template-columns: 1fr;
    }

    .portal-body .cart-service-list-head,
    .portal-body .service-plan-preview-head {
        display: grid;
    }

    .portal-body .cart-service-heading strong {
        width: fit-content;
    }

    .portal-body.status-body .status-hero-grid {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .portal-body.status-body .status-region-summary {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .portal-body.status-body .status-region-count {
        width: min(260px, 100%);
    }

    .portal-body.status-body .status-region-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .site-body .wide-section,
    .portal-body .portal-topbar,
    .portal-body .portal-layout,
    .portal-body .portal-legal-footer {
        width: min(100% - 28px, 1620px);
    }

    .portal-body .portal-topbar {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .portal-body .portal-topbar nav {
        justify-content: flex-start;
    }

    .site-body .demo-grid,
    .site-body .flow-grid,
    .site-body .audience-grid,
    .site-body .region-list,
    .site-body .compliance-strip {
        grid-template-columns: 1fr;
    }

    .portal-body.status-body .status-service-grid {
        grid-template-columns: 1fr;
    }

    .portal-body.status-body .status-hero,
    .portal-body.status-body .status-service-card,
    .portal-body.status-body .status-region-card {
        padding: clamp(28px, 8vw, 38px);
    }

    .portal-body.status-body .status-hero h1 {
        font-size: clamp(40px, 11vw, 52px);
        line-height: .96;
    }

    .portal-body.status-body .status-service-card h2,
    .portal-body.status-body .status-region-summary h2 {
        font-size: clamp(34px, 10vw, 46px);
        line-height: .98;
    }

    .portal-body.status-body .status-region-list {
        grid-template-columns: 1fr;
    }

    .portal-body.status-body .status-section-title {
        display: grid;
        align-items: start;
    }

    .site-footer .footer-columns,
    .portal-footer-stacked .footer-columns {
        grid-template-columns: 1fr;
    }
}

.portal-body .maintenance-mode-card {
    display: grid;
    gap: 22px;
}

.portal-body .maintenance-mode-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 18px;
}

.portal-body .maintenance-mode-head h2 {
    margin-bottom: 8px;
}

.portal-body .maintenance-mode-head span,
.portal-body .maintenance-mode-note span,
.portal-body .compact-actions span {
    color: rgba(33, 21, 15, .7);
    font-weight: 850;
    line-height: 1.35;
}

.portal-body .maintenance-toggle {
    width: fit-content;
    padding: 14px 16px;
    border: 3px solid var(--portal-line);
    background: #c8f7ff;
    box-shadow: 5px 5px 0 rgba(33, 21, 15, .82);
}

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

.portal-body .maintenance-mode-grid label {
    display: grid;
    gap: 8px;
    min-width: 0;
    color: rgba(33, 21, 15, .72);
    font-size: 13px;
    font-weight: 950;
    text-transform: uppercase;
}

.portal-body .maintenance-mode-grid input,
.portal-body .maintenance-mode-grid textarea {
    width: 100%;
    min-width: 0;
}

.portal-body .maintenance-mode-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border: 3px dashed rgba(33, 21, 15, .75);
    background: rgba(255, 247, 223, .76);
}

.portal-body .maintenance-mode-note a {
    color: var(--portal-ink);
    font-weight: 950;
    white-space: nowrap;
}

.portal-body .compact-actions {
    margin-top: 0;
}

.maintenance-body {
    min-height: 100vh;
}

.maintenance-body .maintenance-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr);
    gap: clamp(22px, 3vw, 38px);
    width: min(100% - 64px, 1240px);
    margin: 0 auto;
    padding: clamp(36px, 7vw, 96px) 0;
    align-items: start;
}

.maintenance-body .maintenance-card,
.maintenance-body .maintenance-login-card {
    border: 4px solid var(--portal-line);
    background:
        linear-gradient(135deg, rgba(247, 255, 229, .96), rgba(255, 241, 224, .92)),
        var(--portal-paper);
    box-shadow: 12px 12px 0 rgba(33, 21, 15, .9);
}

.maintenance-body .maintenance-card {
    display: grid;
    gap: 22px;
    padding: clamp(30px, 5vw, 64px);
}

.maintenance-body .maintenance-login-card {
    display: grid;
    gap: 18px;
    padding: clamp(24px, 3vw, 34px);
}

.maintenance-body .brand-mark {
    width: fit-content;
}

.maintenance-body .maintenance-card h1 {
    max-width: 780px;
    margin: 0;
    color: var(--portal-ink);
    font-size: clamp(48px, 7vw, 96px);
    line-height: .9;
    letter-spacing: 0;
}

.maintenance-body .maintenance-card p {
    max-width: 780px;
    margin: 0;
    color: rgba(33, 21, 15, .78);
    font-size: clamp(18px, 2vw, 25px);
    font-weight: 850;
    line-height: 1.32;
}

.maintenance-body .maintenance-countdown {
    display: grid;
    gap: 8px;
    width: fit-content;
    min-width: min(100%, 390px);
    padding: 20px 24px;
    border: 4px solid var(--portal-line);
    background: #ffdf6e;
    box-shadow: 7px 7px 0 rgba(33, 21, 15, .85);
}

.maintenance-body .maintenance-countdown span {
    color: rgba(33, 21, 15, .72);
    font-size: 13px;
    font-weight: 950;
    text-transform: uppercase;
}

.maintenance-body .maintenance-countdown strong {
    color: var(--portal-ink);
    font-family: inherit;
    font-size: clamp(34px, 5vw, 68px);
    line-height: .9;
}

.maintenance-body .maintenance-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.maintenance-body .maintenance-meta span {
    padding: 10px 12px;
    border: 3px solid var(--portal-line);
    background: #c8f7ff;
    box-shadow: 4px 4px 0 rgba(33, 21, 15, .72);
    color: var(--portal-ink);
    font-size: 13px;
    font-weight: 950;
}

.maintenance-body .maintenance-login-card h2 {
    margin: 0;
    color: var(--portal-ink);
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1;
}

.maintenance-body .maintenance-login-form {
    box-shadow: none;
    border-width: 3px;
}

@media (max-width: 900px) {
    .portal-body .maintenance-mode-head,
    .portal-body .maintenance-mode-note {
        display: grid;
    }

    .portal-body .maintenance-mode-grid {
        grid-template-columns: 1fr;
    }

    .maintenance-body .maintenance-shell {
        grid-template-columns: 1fr;
        width: min(100% - 28px, 1240px);
        padding-block: 28px;
    }
}
