:root {
    --navy-950: #071a2a;
    --navy-900: #0b253b;
    --navy-800: #11344f;
    --blue-700: #1769aa;
    --blue-600: #2380c5;
    --cyan-500: #26b7c8;
    --cyan-100: #daf5f7;
    --ink: #172a3d;
    --muted: #637487;
    --line: #d5e1ea;
    --soft: #f1f6f9;
    --paper: #ffffff;
    --success: #1d8a61;
    --warning: #e58a00;
    --danger: #cf3d46;
    --shadow-lg: 0 28px 80px rgba(8, 34, 55, .14);
    --shadow-md: 0 16px 42px rgba(8, 34, 55, .09);
    --radius-lg: 22px;
    --radius-md: 14px;
}

* {
    box-sizing: border-box;
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

html {
    scroll-behavior: smooth;
}

body.public-body {
    margin: 0;
    background: #f8fbfc;
    color: var(--ink);
    font-family: Aptos, "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

button,
input,
select {
    font: inherit;
}

a {
    color: inherit;
}

.public-container {
    width: min(1160px, calc(100% - 40px));
    margin: 0 auto;
}

.public-header {
    position: sticky;
    z-index: 50;
    top: 0;
    border-bottom: 1px solid rgba(213, 225, 234, .85);
    background: rgba(255, 255, 255, .92);
    backdrop-filter: blur(18px);
}

.public-nav {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.public-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--navy-900);
    text-decoration: none;
}

.public-brand img {
    display: block;
    width: auto;
    max-width: 180px;
    height: 40px;
    object-fit: contain;
    object-position: left center;
}

.public-brand-mark {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: var(--navy-900);
    color: #fff;
    font-size: 22px;
    font-weight: 800;
}

.public-brand > span:last-child {
    display: grid;
    line-height: 1;
}

.public-brand strong {
    font-size: 18px;
    letter-spacing: .03em;
}

.public-brand small {
    margin-top: 5px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .17em;
}

.public-nav-actions,
.hero-actions,
.assessment-actions,
.result-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.language-switcher {
    display: flex;
    gap: 3px;
    padding: 4px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--soft);
}

.language-switcher a {
    min-width: 34px;
    padding: 6px 7px;
    border-radius: 7px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
}

.language-switcher a.active {
    background: #fff;
    color: var(--navy-900);
    box-shadow: 0 2px 7px rgba(8, 34, 55, .09);
}

.button {
    min-height: 46px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid transparent;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 750;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.button:hover {
    transform: translateY(-1px);
}

.button:focus-visible,
.field input:focus-visible,
.field select:focus-visible,
.answer-options input:focus-visible + span,
.binary-question input:focus-visible + span,
.consent-row input:focus-visible + span {
    outline: 3px solid rgba(38, 183, 200, .28);
    outline-offset: 2px;
}

.button-primary {
    background: var(--blue-700);
    color: #fff;
    box-shadow: 0 10px 25px rgba(23, 105, 170, .22);
}

.button-primary:hover {
    background: #125b94;
    box-shadow: 0 13px 30px rgba(23, 105, 170, .3);
}

.button-dark {
    background: var(--navy-900);
    color: #fff;
}

.button-ghost {
    border-color: var(--line);
    background: #fff;
    color: var(--navy-900);
}

.button-small {
    min-height: 40px;
    padding: 0 16px;
    font-size: 14px;
}

.button-large {
    min-height: 54px;
    padding: 0 24px;
}

.public-kicker {
    margin: 0 0 12px;
    color: var(--cyan-500);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .15em;
}

.hero {
    position: relative;
    overflow: hidden;
    padding: 92px 0 86px;
    background:
        radial-gradient(circle at 86% 7%, rgba(38, 183, 200, .16), transparent 28%),
        linear-gradient(180deg, #fff 0%, #f5fafc 100%);
}

.hero::after {
    position: absolute;
    right: -180px;
    bottom: -240px;
    width: 620px;
    height: 620px;
    border: 1px solid rgba(38, 183, 200, .16);
    border-radius: 50%;
    box-shadow: 0 0 0 64px rgba(38, 183, 200, .035), 0 0 0 130px rgba(38, 183, 200, .025);
    content: "";
    pointer-events: none;
}

.hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
    align-items: center;
    gap: 80px;
}

.hero h1 {
    max-width: 760px;
    margin: 0;
    color: var(--navy-950);
    font-size: clamp(44px, 5vw, 68px);
    line-height: 1.03;
    letter-spacing: -.042em;
}

.hero-lead {
    max-width: 680px;
    margin: 26px 0 30px;
    color: #435b70;
    font-size: 20px;
    line-height: 1.5;
}

.hero-note {
    color: var(--muted);
    font-size: 13px;
    font-weight: 650;
}

.trust-list {
    margin: 34px 0 0;
    padding: 25px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 18px 24px;
    border-top: 1px solid var(--line);
    list-style: none;
}

.trust-list li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #3d5265;
    font-size: 13px;
    font-weight: 700;
}

.trust-list i {
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #e0f5ed;
    color: var(--success);
    font-size: 11px;
    font-style: normal;
}

.result-preview {
    position: relative;
    padding: 28px;
    border: 1px solid rgba(213, 225, 234, .85);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, .94);
    box-shadow: var(--shadow-lg);
}

.result-preview::before {
    position: absolute;
    inset: 12px -12px -12px 12px;
    z-index: -1;
    border-radius: var(--radius-lg);
    background: var(--navy-900);
    content: "";
}

.preview-topline {
    padding-bottom: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line);
    color: var(--muted);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .12em;
}

.preview-topline i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--cyan-500);
    box-shadow: 0 0 0 5px var(--cyan-100);
}

.preview-score-row {
    padding: 26px 0;
    display: flex;
    align-items: center;
    gap: 22px;
}

.preview-score {
    width: 112px;
    height: 112px;
    display: grid;
    place-content: center;
    position: relative;
    border-radius: 50%;
    background: conic-gradient(var(--blue-700) 0 68%, #e7eef3 68%);
    color: var(--navy-900);
    text-align: center;
}

.preview-score::before {
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 50%;
    background: #fff;
}

.preview-score span,
.preview-score small {
    position: relative;
    z-index: 1;
}

.preview-score span {
    font-size: 33px;
    font-weight: 850;
    line-height: 1;
}

.preview-score small {
    font-size: 12px;
}

.preview-score {
    box-shadow: inset 0 0 0 12px transparent;
}

.preview-score-row > div:last-child strong {
    color: var(--navy-900);
    font-size: 16px;
}

.preview-score-row p {
    margin: 4px 0 0;
    color: var(--blue-700);
    font-weight: 750;
}

.preview-bars {
    display: grid;
    gap: 15px;
}

.preview-bars > div {
    display: grid;
    grid-template-columns: 78px 1fr 38px;
    align-items: center;
    gap: 10px;
}

.preview-bars span,
.preview-bars b {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.preview-bars b {
    color: var(--navy-900);
    text-align: right;
}

.preview-bars i {
    position: relative;
    height: 6px;
    overflow: hidden;
    border-radius: 20px;
    background: #e6eef3;
}

.preview-bars i::after {
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--value);
    border-radius: inherit;
    background: linear-gradient(90deg, var(--blue-700), var(--cyan-500));
    content: "";
}

.preview-priority {
    margin-top: 25px;
    padding-top: 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    border-top: 1px solid var(--line);
}

.preview-priority > span {
    width: 41px;
    height: 41px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: var(--navy-900);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.preview-priority strong {
    color: var(--navy-900);
}

.preview-priority p {
    margin: 2px 0 0;
    color: var(--muted);
    font-size: 12px;
}

.proof-strip {
    background: var(--navy-900);
    color: #fff;
}

.proof-grid {
    min-height: 112px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.proof-grid > div {
    padding: 24px 38px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid rgba(255, 255, 255, .12);
}

.proof-grid > div:first-child {
    border-left: 1px solid rgba(255, 255, 255, .12);
}

.proof-grid strong {
    font-size: 18px;
    letter-spacing: .04em;
}

.proof-grid span {
    margin-top: 4px;
    color: #a9becd;
    font-size: 12px;
}

.public-section {
    padding: 92px 0;
}

.section-heading {
    max-width: 720px;
    margin: 0 auto 44px;
    text-align: center;
}

.section-heading.left {
    margin: 0 0 28px;
    text-align: left;
}

.section-heading h2 {
    margin: 0;
    color: var(--navy-950);
    font-size: clamp(32px, 4vw, 46px);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.section-heading p:last-child {
    margin: 17px auto 0;
    color: var(--muted);
    font-size: 17px;
}

.benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.benefit-grid article {
    padding: 34px 38px;
    border-right: 1px solid var(--line);
}

.benefit-grid article:first-child {
    border-left: 1px solid var(--line);
}

.benefit-grid article > span {
    color: var(--cyan-500);
    font-size: 12px;
    font-weight: 850;
}

.benefit-grid h3 {
    margin: 22px 0 10px;
    color: var(--navy-900);
    font-size: 23px;
}

.benefit-grid p {
    margin: 0;
    color: var(--muted);
}

.assessment-section {
    padding: 96px 0;
    background:
        linear-gradient(135deg, rgba(7, 26, 42, .98), rgba(11, 37, 59, .95)),
        var(--navy-900);
}

.assessment-shell {
    overflow: hidden;
    display: grid;
    grid-template-columns: 350px minmax(0, 1fr);
    scroll-margin-top: 96px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: 0 36px 90px rgba(0, 0, 0, .24);
}

.assessment-sidebar {
    padding: 40px 32px;
    display: flex;
    flex-direction: column;
    background:
        radial-gradient(circle at 20% 0, rgba(38, 183, 200, .14), transparent 30%),
        var(--navy-900);
    color: #fff;
}

.assessment-sidebar h2 {
    margin: 0;
    font-size: 29px;
    line-height: 1.12;
    letter-spacing: -.025em;
}

.assessment-sidebar > div:first-child > p:last-child {
    color: #a9becd;
    font-size: 14px;
}

.assessment-steps {
    margin: 38px 0;
    padding: 0;
    display: grid;
    gap: 3px;
    list-style: none;
}

.assessment-steps li {
    position: relative;
    padding: 11px 12px;
    display: flex;
    align-items: center;
    gap: 13px;
    border-radius: 10px;
    color: #7890a2;
}

.assessment-steps li::after {
    position: absolute;
    right: 12px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    content: "";
}

.assessment-steps li.active {
    background: rgba(255, 255, 255, .085);
    color: #fff;
}

.assessment-steps li.done {
    color: var(--cyan-500);
}

.assessment-steps li > span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 850;
}

.assessment-steps li > div {
    display: grid;
}

.assessment-steps strong {
    font-size: 13px;
}

.assessment-steps small {
    color: #7890a2;
    font-size: 10px;
}

.privacy-note {
    margin-top: auto;
    padding-top: 24px;
    display: flex;
    gap: 12px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    color: #8ea4b4;
    font-size: 11px;
}

.privacy-note i {
    color: var(--cyan-500);
    font-style: normal;
    font-size: 18px;
}

.privacy-note p {
    margin: 0;
}

.assessment-form {
    position: relative;
    min-height: 730px;
    padding: 42px 48px 34px;
    display: flex;
    flex-direction: column;
}

.public-wizard-step {
    animation: publicStepIn .22s ease;
}

@keyframes publicStepIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
}

.form-step-heading {
    margin-bottom: 28px;
    padding-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    border-bottom: 1px solid var(--line);
}

.form-step-heading > span {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: var(--navy-900);
    color: #fff;
    font-size: 13px;
    font-weight: 850;
}

.form-step-heading p {
    margin: 0 0 3px;
    color: var(--cyan-500);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.form-step-heading h3 {
    margin: 0;
    color: var(--navy-900);
    font-size: 26px;
}

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

.field {
    display: grid;
    gap: 8px;
}

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

.field > span,
.binary-question-title {
    color: var(--navy-900);
    font-size: 13px;
    font-weight: 750;
}

.field > span small {
    color: var(--muted);
    font-weight: 500;
}

.field input,
.field select {
    width: 100%;
    min-height: 51px;
    padding: 0 14px;
    border: 1px solid #c7d6e0;
    border-radius: 9px;
    background: #fff;
    color: var(--ink);
}

.field input:focus,
.field select:focus {
    border-color: var(--cyan-500);
    outline: none;
    box-shadow: 0 0 0 3px rgba(38, 183, 200, .12);
}

.binary-question {
    margin: 26px 0 0;
    padding: 18px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    border: 1px solid #dbe6ed;
    border-radius: 13px;
    background: #f7fafc;
}

.binary-question-title {
    width: 100%;
    margin: 0 0 2px;
    line-height: 1.45;
}

.binary-question > p {
    width: 100%;
    margin: 0 0 8px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.55;
}

.binary-question label {
    cursor: pointer;
}

.binary-question input,
.answer-options input,
.consent-row input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.binary-question label > span {
    min-width: 104px;
    min-height: 42px;
    padding: 0 16px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
}

.binary-question input:checked + span {
    border-color: var(--blue-700);
    background: var(--blue-700);
    color: #fff;
}

.question-instruction {
    margin: -8px 0 20px;
    padding: 13px 15px;
    color: #38576c;
    background: #ecf7f9;
    border-left: 4px solid var(--cyan-500);
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.55;
}

.public-question-list {
    display: grid;
    gap: 15px;
}

.public-question {
    margin: 0;
    padding: 24px 23px 22px;
    border: 1px solid #d8e3ea;
    border-left: 4px solid #a8cbd8;
    border-radius: 13px;
    background: linear-gradient(135deg, #fff 0, #fbfdfe 100%);
    box-shadow: 0 7px 20px rgba(10, 39, 61, .045);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.public-question:hover {
    border-color: #b4ccd8;
    border-left-color: var(--cyan-500);
    box-shadow: 0 10px 26px rgba(10, 39, 61, .075);
}

.public-question.answered {
    border-left-color: var(--success);
}

.public-question-title {
    width: 100%;
    color: var(--navy-900);
    line-height: 1.38;
}

.public-question-title small {
    display: block;
    margin-bottom: 5px;
    color: var(--cyan-500);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .1em;
}

.public-question-title strong {
    display: block;
    color: var(--navy-900);
    font-size: 16px;
    font-weight: 780;
    line-height: 1.38;
}

.question-help {
    margin: 13px 0 17px;
    padding: 12px 13px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
    border: 1px solid #d7e8ef;
    border-radius: 10px;
    background: #f0f7fa;
}

.question-help > span {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--blue-700);
    border-radius: 50%;
    font-size: 12px;
    font-weight: 850;
}

.question-help p {
    margin: 0;
    color: #526b7b;
    font-size: 12px;
    line-height: 1.58;
}

.question-help strong {
    display: block;
    margin-bottom: 2px;
    color: var(--navy-900);
    font-size: 9px;
    letter-spacing: .09em;
    text-transform: uppercase;
}

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

.answer-options label {
    cursor: pointer;
}

.answer-options .answer-na {
    display: none;
}

.answer-options span {
    min-height: 44px;
    padding: 8px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 9px;
    color: #526779;
    font-size: 11.5px;
    font-weight: 750;
    text-align: center;
}

.answer-options label:hover span,
.binary-question label:hover > span {
    border-color: #91b7c9;
    background: #f4f9fc;
    color: var(--navy-800);
}

.answer-options input:checked + span {
    border-color: var(--blue-700);
    background: #eaf4fb;
    color: var(--blue-700);
    box-shadow: inset 0 -2px 0 var(--blue-700);
}

.consent-list {
    margin-top: 28px;
    display: grid;
    gap: 14px;
}

.consent-row {
    display: grid;
    grid-template-columns: 24px 1fr;
    align-items: start;
    gap: 12px;
    cursor: pointer;
}

.consent-row > span {
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border: 1px solid #b9cad5;
    border-radius: 6px;
    background: #fff;
    color: transparent;
}

.consent-row input:checked + span {
    border-color: var(--blue-700);
    background: var(--blue-700);
    color: #fff;
}

.consent-row i {
    font-size: 11px;
    font-style: normal;
}

.consent-row p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
}

.consent-row a {
    color: var(--blue-700);
    font-weight: 700;
}

.assessment-actions {
    margin-top: auto;
    padding-top: 30px;
    border-top: 1px solid var(--line);
}

.action-spacer {
    flex: 1;
}

.form-submitting {
    position: absolute;
    inset: 0;
    z-index: 4;
    place-items: center;
    background: rgba(255, 255, 255, .92);
    color: var(--navy-900);
    font-size: 17px;
    font-weight: 800;
}

.form-submitting:not([hidden]) {
    display: grid;
}

.draft-status {
    min-height: 22px;
    margin-top: 18px;
    color: var(--success);
    font-size: 12px;
    font-weight: 700;
}

.public-alert {
    margin-bottom: 24px;
    padding: 14px 16px;
    border: 1px solid #f0bdc1;
    border-radius: 9px;
    background: #fff3f4;
    color: #a42b34;
    font-size: 13px;
    font-weight: 700;
}

.public-alert p {
    margin: 0;
}

.honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.public-footer {
    position: relative;
    overflow: hidden;
    padding: 72px 0 26px;
    background: var(--navy-950);
    color: #fff;
}

.footer-glow {
    position: absolute;
    top: -240px;
    right: -180px;
    width: 620px;
    height: 620px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(38, 183, 200, .17), transparent 68%);
    pointer-events: none;
}

.footer-cta {
    position: relative;
    padding: 34px 38px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 42px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 22px;
    background:
        linear-gradient(120deg, rgba(35, 128, 197, .18), rgba(38, 183, 200, .08)),
        rgba(255, 255, 255, .045);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .18);
}

.footer-cta .public-kicker {
    margin-bottom: 8px;
}

.footer-cta h2 {
    margin: 0;
    font-size: clamp(27px, 3.2vw, 39px);
    line-height: 1.1;
    letter-spacing: -.025em;
}

.footer-cta > div:first-child > p:last-child {
    max-width: 650px;
    margin: 10px 0 0;
    color: #b4c8d6;
    font-size: 14px;
}

.footer-cta-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-button-primary {
    border-color: #fff;
    background: #fff;
    color: var(--navy-950);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
}

.footer-button-primary:hover {
    background: #eaf7fa;
}

.footer-button-secondary {
    border-color: rgba(255, 255, 255, .22);
    background: rgba(255, 255, 255, .04);
    color: #fff;
}

.footer-main {
    position: relative;
    padding: 58px 2px 48px;
    display: grid;
    grid-template-columns: minmax(280px, 1.15fr) minmax(480px, 1.6fr);
    gap: clamp(60px, 9vw, 125px);
}

.footer-brand-column {
    max-width: 430px;
}

.footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.footer-logo-surface {
    width: 176px;
    height: 56px;
    padding: 8px 13px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 13px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .16);
}

.footer-logo-surface img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

.footer-brand-column h3 {
    max-width: 410px;
    margin: 24px 0 10px;
    font-size: 23px;
    line-height: 1.25;
    letter-spacing: -.015em;
}

.footer-brand-column > p {
    margin: 0;
    color: #91a9b9;
    font-size: 13px;
}

.footer-location {
    margin-top: 19px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #c4d5df;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.footer-location::before {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--cyan-500);
    box-shadow: 0 0 0 5px rgba(38, 183, 200, .11);
    content: "";
}

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

.footer-link-group {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 11px;
}

.footer-link-group strong {
    margin-bottom: 5px;
    color: #fff;
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.footer-link-group a {
    position: relative;
    color: #96adbc;
    font-size: 12px;
    text-decoration: none;
    transition: color .18s ease, transform .18s ease;
}

.footer-link-group a:hover {
    color: #fff;
    transform: translateX(2px);
}

.footer-bottom {
    padding-top: 22px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
    border-top: 1px solid rgba(255, 255, 255, .1);
    color: #6f8798;
    font-size: 11px;
}

.footer-bottom span {
    flex: 0 0 auto;
}

.footer-bottom p {
    max-width: 720px;
    margin: 0;
    text-align: right;
}

/* Results */
.result-page {
    background: #f6fafc;
}

.result-hero {
    padding: 72px 0 64px;
    background:
        radial-gradient(circle at 85% 10%, rgba(38, 183, 200, .13), transparent 30%),
        #fff;
}

.result-heading {
    margin-bottom: 36px;
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 24px;
}

.result-heading h1 {
    margin: 0;
    color: var(--navy-950);
    font-size: clamp(40px, 5vw, 60px);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.result-heading > div > p:last-child {
    margin: 10px 0 0;
    color: var(--muted);
    font-size: 18px;
}

.result-confidential {
    padding: 8px 12px;
    border: 1px solid #efc0c4;
    border-radius: 7px;
    background: #fff5f5;
    color: var(--danger);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .1em;
}

.result-summary {
    position: relative;
    overflow: hidden;
    padding: 26px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    border: 1px solid #d9e5eb;
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: var(--shadow-md);
}

.result-summary::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 7px;
    background: var(--blue-700);
    content: "";
}

.result-summary.risk-priority {
    border-color: #efb9bd;
    background: linear-gradient(120deg, #fff4f4, #fff 58%);
}

.result-summary.risk-priority::before {
    background: var(--danger);
}

.result-summary.risk-intermediate {
    border-color: #f0ce96;
    background: linear-gradient(120deg, #fff8ec, #fff 58%);
}

.result-summary.risk-intermediate::before {
    background: var(--warning);
}

.result-summary.risk-managed {
    border-color: #aed9c8;
    background: linear-gradient(120deg, #effaf5, #fff 58%);
}

.result-summary.risk-managed::before {
    background: var(--success);
}

.score-panel {
    display: flex;
    align-items: center;
    gap: 26px;
}

.score-ring {
    --ring-color: var(--blue-700);
    position: relative;
    width: 132px;
    height: 132px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(var(--ring-color) calc(var(--score) * 1%), #e7eef3 0);
}

.score-ring::after {
    position: absolute;
    inset: 12px;
    border-radius: 50%;
    background: #fff;
    content: "";
}

.score-ring span {
    position: relative;
    z-index: 1;
    color: var(--navy-900);
    display: flex;
    align-items: baseline;
    font-weight: 850;
}

.score-ring b {
    font-size: 39px;
    line-height: 1;
}

.score-ring small {
    font-size: 17px;
}

.risk-priority .score-ring {
    --ring-color: var(--danger);
}

.risk-intermediate .score-ring {
    --ring-color: var(--warning);
}

.risk-managed .score-ring {
    --ring-color: var(--success);
}

.score-panel p {
    margin: 0 0 5px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
    text-transform: uppercase;
}

.score-panel h2 {
    margin: 0;
    color: var(--navy-900);
    font-size: 27px;
    line-height: 1.2;
}

.result-summary.risk-priority .score-panel h2 {
    color: #ad2731;
}

.result-summary.risk-intermediate .score-panel h2 {
    color: #a66100;
}

.result-summary.risk-managed .score-panel h2 {
    color: #16714f;
}

.score-panel > div:last-child > span {
    max-width: 600px;
    margin-top: 7px;
    display: block;
    color: var(--muted);
    font-size: 14px;
}

.result-actions {
    flex-direction: column;
    align-items: stretch;
}

.result-content {
    background: #f6fafc;
}

.result-situation-section {
    padding-bottom: 38px;
    background: #f6fafc;
}

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

.web-situation-card {
    position: relative;
    overflow: hidden;
    min-height: 188px;
    padding: 21px;
    border: 1px solid #d9e5eb;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(8, 34, 55, .055);
}

.web-situation-card::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: var(--blue-700);
    content: "";
}

.web-situation-card.status-good {
    border-color: #b8ddce;
    background: linear-gradient(145deg, #f0faf6, #fff);
}

.web-situation-card.status-good::before {
    background: var(--success);
}

.web-situation-card.status-warning {
    border-color: #efd2a0;
    background: linear-gradient(145deg, #fff8ec, #fff);
}

.web-situation-card.status-warning::before {
    background: var(--warning);
}

.web-situation-card.status-danger {
    border-color: #efbdc1;
    background: linear-gradient(145deg, #fff3f4, #fff);
}

.web-situation-card.status-danger::before {
    background: var(--danger);
}

.situation-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.situation-card-top span {
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(23, 105, 170, .09);
    color: var(--blue-700);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.status-good .situation-card-top span {
    background: rgba(29, 138, 97, .1);
    color: var(--success);
}

.status-warning .situation-card-top span {
    background: rgba(229, 138, 0, .11);
    color: #a66100;
}

.status-danger .situation-card-top span {
    background: rgba(207, 61, 70, .1);
    color: var(--danger);
}

.situation-card-top strong {
    color: var(--navy-900);
    font-size: 23px;
}

.web-situation-card h3 {
    margin: 20px 0 7px;
    color: var(--navy-900);
    font-size: 17px;
}

.web-situation-card p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
}

.result-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 70px;
}

.domain-result-list {
    display: grid;
    gap: 9px;
}

.domain-result-list > div {
    min-height: 68px;
    padding: 11px 14px;
    display: grid;
    grid-template-columns: minmax(145px, 1fr) minmax(100px, 1fr) 45px;
    align-items: center;
    gap: 14px;
    border: 1px solid #d9e5eb;
    border-radius: 12px;
    background: #fff;
}

.domain-result-list > .status-good {
    border-color: #c5e2d7;
    background: #f2faf7;
}

.domain-result-list > .status-warning {
    border-color: #efd8af;
    background: #fff9ef;
}

.domain-result-list > .status-danger {
    border-color: #efc7ca;
    background: #fff5f5;
}

.domain-label {
    display: grid;
    gap: 2px;
}

.domain-result-list span {
    color: var(--navy-900);
    font-size: 13px;
    font-weight: 700;
}

.domain-result-list small {
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.domain-result-list .status-good small,
.domain-result-list .status-good > strong {
    color: var(--success);
}

.domain-result-list .status-warning small,
.domain-result-list .status-warning > strong {
    color: #a66100;
}

.domain-result-list .status-danger small,
.domain-result-list .status-danger > strong {
    color: var(--danger);
}

.domain-result-list i {
    height: 7px;
    overflow: hidden;
    border-radius: 20px;
    background: #e1eaf0;
}

.domain-result-list i b {
    width: var(--target);
    height: 100%;
    display: block;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--blue-700), var(--cyan-500));
}

.domain-result-list .status-good i b {
    background: var(--success);
}

.domain-result-list .status-warning i b {
    background: var(--warning);
}

.domain-result-list .status-danger i b {
    background: var(--danger);
}

.domain-result-list strong {
    text-align: right;
    font-size: 13px;
}

.priority-list {
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
    list-style: none;
}

.priority-list li {
    padding: 18px;
    display: grid;
    grid-template-columns: 46px 1fr;
    align-items: start;
    gap: 16px;
    border: 1px solid #e2e8ed;
    border-radius: 14px;
    background: #fff;
}

.priority-list li.severity-critical,
.priority-list li.severity-high {
    border-color: #edc2c5;
    background: linear-gradient(120deg, #fff4f4, #fff);
}

.priority-list li.severity-medium {
    border-color: #efd5a8;
    background: linear-gradient(120deg, #fff9ef, #fff);
}

.priority-list li > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: var(--navy-900);
    color: #fff;
    font-size: 12px;
    font-weight: 850;
}

.priority-list li.severity-critical > span,
.priority-list li.severity-high > span {
    background: var(--danger);
}

.priority-list li.severity-medium > span {
    background: var(--warning);
}

.priority-list strong {
    color: var(--navy-900);
    line-height: 1.35;
}

.priority-list p {
    margin: 7px 0 0;
    color: var(--muted);
    font-size: 13px;
}

.has-js [data-reveal] {
    opacity: 0;
    transform: translateY(18px);
    transition:
        opacity .55s ease var(--reveal-delay, 0ms),
        transform .55s cubic-bezier(.2, .75, .25, 1) var(--reveal-delay, 0ms);
}

.has-js [data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

.has-js .domain-result-list i b {
    width: 0;
    transition: width .9s cubic-bezier(.2, .75, .25, 1) calc(var(--reveal-delay, 0ms) + 120ms);
}

.has-js .domain-result-list [data-reveal].is-visible i b {
    width: var(--target);
}

.gvision-plan-section {
    background: #fff;
}

.gvision-plan-list {
    margin: 34px auto 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    max-width: 980px;
    list-style: none;
}

.gvision-plan-list li {
    padding: 21px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 15px;
    border: 1px solid #d9e5eb;
    border-radius: 15px;
    background: linear-gradient(145deg, #fff, #f7fafc);
}

.gvision-plan-list li > span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-700), var(--cyan-500));
    border-radius: 50%;
    font-size: 11px;
    font-weight: 850;
}

.gvision-plan-list strong {
    display: inline;
    color: var(--navy-900);
    font-size: 15px;
}

.gvision-plan-list small {
    margin-left: 8px;
    padding: 3px 7px;
    color: var(--blue-700);
    background: #e8f3fa;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
}

.gvision-plan-list p {
    margin: 7px 0 0;
    color: var(--muted);
    font-size: 12px;
}

.gvision-plan-links {
    margin-top: 24px;
    display: flex;
    justify-content: center;
    gap: 24px;
}

.gvision-plan-links a {
    color: var(--blue-700);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.booking-calendar-section {
    padding: 76px 0 70px;
    scroll-margin-top: 90px;
    background:
        radial-gradient(circle at 86% 8%, rgba(38, 183, 200, .13), transparent 28%),
        var(--navy-900);
}

.booking-calendar-heading {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    color: #fff;
}

.booking-calendar-heading h2 {
    margin: 0;
    max-width: 720px;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.12;
    letter-spacing: -.025em;
}

.booking-calendar-heading > div > p:last-child {
    max-width: 760px;
    margin: 11px 0 0;
    color: #b7cad7;
    font-size: 14px;
}

.booking-secure-note {
    flex: 0 0 auto;
    padding: 7px 11px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    color: #c7d8e3;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.booking-calendar-shell {
    overflow: hidden;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 26px 65px rgba(0, 0, 0, .25);
}

.booking-calendar-shell iframe {
    width: 100%;
    min-height: 720px;
    display: block;
    border: 0;
    border-radius: 13px;
    background: #fff;
}

.zoho-bookings-inline {
    position: relative;
    min-height: 720px;
    border-radius: 13px;
    background: #fff;
}

.zoho-bookings-inline:not(.is-loaded)::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 34px;
    height: 34px;
    border: 3px solid #d8e6ef;
    border-top-color: var(--blue-600);
    border-radius: 50%;
    content: "";
    animation: booking-spin .8s linear infinite;
    transform: translate(-50%, -50%);
}

.zoho-bookings-inline.has-error::before {
    display: none;
}

@keyframes booking-spin {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

.booking-external-card {
    padding: 34px;
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) auto;
    align-items: center;
    gap: 27px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 20px;
    background:
        linear-gradient(130deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .045)),
        #12334d;
    box-shadow: 0 24px 56px rgba(0, 0, 0, .2);
    color: #fff;
}

.booking-calendar-icon {
    position: relative;
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--blue-600), var(--cyan-500));
    box-shadow: 0 14px 28px rgba(0, 0, 0, .18);
}

.booking-calendar-icon::before {
    width: 34px;
    height: 31px;
    border: 3px solid #fff;
    border-radius: 5px;
    background:
        linear-gradient(#fff, #fff) 6px 11px / 5px 5px no-repeat,
        linear-gradient(#fff, #fff) 16px 11px / 5px 5px no-repeat,
        linear-gradient(#fff, #fff) 6px 21px / 5px 5px no-repeat,
        linear-gradient(#fff, #fff) 16px 21px / 5px 5px no-repeat;
    content: "";
}

.booking-calendar-icon::after {
    position: absolute;
    top: 25px;
    width: 34px;
    height: 3px;
    background: #fff;
    content: "";
}

.booking-calendar-icon span::before,
.booking-calendar-icon span::after {
    position: absolute;
    top: 16px;
    width: 3px;
    height: 10px;
    border-radius: 4px;
    background: #fff;
    content: "";
}

.booking-calendar-icon span::before {
    left: 27px;
}

.booking-calendar-icon span::after {
    right: 27px;
}

.booking-external-card h3 {
    margin: 0;
    font-size: 23px;
    line-height: 1.25;
}

.booking-external-card > div:nth-child(2) > p {
    max-width: 680px;
    margin: 8px 0 20px;
    color: #b9ccd8;
    font-size: 13px;
}

.booking-trust-list {
    margin: 0;
    padding: 0;
    display: grid;
    gap: 9px;
    list-style: none;
}

.booking-trust-list li {
    position: relative;
    padding-left: 18px;
    color: #c7d8e3;
    font-size: 11px;
    font-weight: 750;
    white-space: nowrap;
}

.booking-trust-list li::before {
    position: absolute;
    top: .48em;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--cyan-500);
    content: "";
}

.booking-calendar-fallback {
    margin: 16px 4px 0;
    text-align: right;
}

.booking-calendar-fallback a {
    color: #b9dbe8;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.booking-calendar-fallback a:hover {
    color: #fff;
}

.booking-band {
    padding: 66px 0;
    background:
        radial-gradient(circle at 80% 50%, rgba(38, 183, 200, .17), transparent 24%),
        var(--navy-900);
    color: #fff;
}

.booking-band-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 40px;
}

.booking-band h2 {
    margin: 0;
    font-size: 35px;
}

.booking-band p:last-child {
    max-width: 700px;
    margin: 10px 0 0;
    color: #a9becd;
}

.result-disclaimer {
    padding: 30px 0;
    background: #fff;
}

.result-disclaimer .public-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.result-disclaimer p {
    max-width: 850px;
    margin: 0;
    color: var(--muted);
    font-size: 11px;
}

.result-disclaimer a {
    color: var(--blue-700);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

[hidden] {
    display: none !important;
}

@media (max-width: 1040px) {
    .hero-grid {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .result-preview {
        max-width: 600px;
    }

    .assessment-shell {
        grid-template-columns: 300px minmax(0, 1fr);
    }

    .assessment-form {
        padding: 36px 32px 30px;
    }

    .result-summary {
        grid-template-columns: 1fr;
    }

    .result-actions {
        flex-direction: row;
    }

    .result-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 780px) {
    .public-container {
        width: min(100% - 28px, 680px);
    }

    .public-nav {
        min-height: 66px;
    }

    .public-nav .button {
        display: none;
    }

    .public-brand img {
        max-width: 145px;
        height: 34px;
    }

    .hero {
        padding: 64px 0 58px;
    }

    .hero h1 {
        font-size: clamp(39px, 11vw, 53px);
    }

    .hero-lead {
        font-size: 17px;
    }

    .hero-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .trust-list {
        display: grid;
    }

    .result-preview {
        padding: 22px;
    }

    .result-preview::before {
        display: none;
    }

    .proof-grid,
    .benefit-grid {
        grid-template-columns: 1fr;
    }

    .proof-grid > div,
    .proof-grid > div:first-child,
    .benefit-grid article,
    .benefit-grid article:first-child {
        border-right: 0;
        border-left: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .12);
    }

    .benefit-grid article {
        border-bottom-color: var(--line);
    }

    .public-section,
    .assessment-section {
        padding: 66px 0;
    }

    .assessment-shell {
        grid-template-columns: 1fr;
    }

    .assessment-sidebar {
        padding: 28px 22px 18px;
    }

    .assessment-sidebar > div:first-child > p:last-child,
    .privacy-note {
        display: none;
    }

    .assessment-sidebar h2 {
        font-size: 25px;
    }

    .assessment-steps {
        margin: 22px 0 0;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 5px;
    }

    .assessment-steps li {
        padding: 7px 2px;
        justify-content: center;
    }

    .assessment-steps li > div,
    .assessment-steps li::after {
        display: none;
    }

    .assessment-form {
        min-height: 680px;
        padding: 28px 20px 22px;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .answer-options {
        grid-template-columns: repeat(2, 1fr);
    }

    .public-question {
        padding: 20px 16px 18px;
    }

    .situation-card-grid {
        grid-template-columns: 1fr;
    }

    .domain-result-list > div {
        grid-template-columns: minmax(0, 1fr) 44px;
        gap: 8px 12px;
    }

    .domain-label {
        grid-column: 1 / -1;
    }

    .gvision-plan-list {
        grid-template-columns: 1fr;
    }

    .gvision-plan-links {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .booking-calendar-section {
        padding: 58px 0 52px;
    }

    .booking-calendar-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }

    .booking-calendar-shell {
        margin-inline: -5px;
        padding: 4px;
        border-radius: 14px;
    }

    .booking-calendar-shell iframe {
        min-height: 680px;
        height: 680px;
        border-radius: 10px;
    }

    .zoho-bookings-inline {
        min-height: 680px;
    }

    .booking-external-card {
        padding: 24px 20px;
        grid-template-columns: 58px minmax(0, 1fr);
        align-items: start;
        gap: 18px;
    }

    .booking-calendar-icon {
        width: 56px;
        height: 56px;
        border-radius: 15px;
        transform: scale(.82);
        transform-origin: top left;
    }

    .booking-external-card h3 {
        font-size: 19px;
    }

    .booking-external-card .button {
        width: 100%;
        min-height: 54px;
        padding-inline: 15px;
        text-align: center;
    }

    .booking-trust-list {
        grid-column: 1 / -1;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .booking-trust-list li {
        padding: 7px 8px 7px 20px;
        border: 1px solid rgba(255, 255, 255, .12);
        border-radius: 8px;
        white-space: normal;
    }

    .booking-trust-list li::before {
        left: 8px;
    }

    .booking-calendar-fallback {
        text-align: left;
    }

    .assessment-actions {
        gap: 8px;
    }

    .assessment-actions .button {
        padding: 0 14px;
        font-size: 13px;
    }

    .result-heading,
    .result-disclaimer .public-container {
        align-items: flex-start;
        flex-direction: column;
    }

    .score-panel {
        align-items: flex-start;
        flex-direction: column;
    }

    .result-actions {
        width: 100%;
        flex-direction: column;
    }

    .booking-band-inner {
        grid-template-columns: 1fr;
    }

    .public-footer {
        padding-top: 52px;
    }

    .footer-cta {
        padding: 28px 24px;
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .footer-cta-actions {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .footer-main {
        padding: 46px 2px 40px;
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .footer-brand-column {
        max-width: 560px;
    }

    .footer-nav {
        gap: 24px;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 12px;
    }

    .footer-bottom p {
        max-width: 620px;
        text-align: left;
    }
}

@media (max-width: 580px) {
    .offer-detail-page .public-nav-link,
    .audit-request-page .public-nav-link {
        display: none;
    }

    .footer-cta-actions {
        flex-direction: column;
    }

    .footer-cta-actions .button {
        width: 100%;
    }

    .footer-nav {
        grid-template-columns: 1fr 1fr;
        row-gap: 38px;
    }

    .footer-link-group:last-child {
        grid-column: 1 / -1;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Public product homepage */
.public-nav-link {
    color: var(--navy-800);
    font-size: 14px;
    font-weight: 750;
    text-decoration: none;
}

.public-nav-link:hover {
    color: var(--blue-700);
}

.home-page main {
    overflow: hidden;
}

.home-hero {
    position: relative;
    padding: 88px 0 96px;
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 22%, rgba(38, 183, 200, .2), transparent 27%),
        radial-gradient(circle at 15% 95%, rgba(35, 128, 197, .18), transparent 30%),
        linear-gradient(135deg, #071a2a 0%, #0b2a43 54%, #0b253b 100%);
    color: #fff;
}

.home-hero::before {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
    background-size: 58px 58px;
    content: "";
    mask-image: linear-gradient(90deg, #000, transparent 78%);
    pointer-events: none;
}

.home-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
    align-items: center;
    gap: clamp(54px, 8vw, 104px);
}

.home-hero-copy h1 {
    max-width: 720px;
    margin: 0;
    font-size: clamp(46px, 5.25vw, 72px);
    line-height: 1.01;
    letter-spacing: -.048em;
}

.home-hero-lead {
    max-width: 700px;
    margin: 28px 0 30px;
    color: #c5d6e3;
    font-size: 19px;
    line-height: 1.65;
}

.home-hero .button-ghost {
    border-color: rgba(255, 255, 255, .23);
    background: rgba(255, 255, 255, .06);
    color: #fff;
}

.home-hero .button-ghost:hover {
    background: rgba(255, 255, 255, .12);
}

.home-hero-note {
    margin: 22px 0 0;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #aac0d0;
    font-size: 13px;
    font-weight: 650;
}

.home-hero-note span {
    width: 21px;
    height: 21px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(38, 183, 200, .16);
    color: #72d9e4;
    font-size: 11px;
}

.home-hero-market {
    width: fit-content;
    margin: 13px 0 0;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #d9e7ef;
    font-size: 12px;
    font-weight: 750;
}

.home-hero-market span {
    padding: 5px 7px;
    border: 1px solid rgba(114, 217, 228, .35);
    border-radius: 7px;
    background: rgba(38, 183, 200, .1);
    color: #72d9e4;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
}

.home-preview {
    position: relative;
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 24px;
    background: rgba(255, 255, 255, .96);
    color: var(--ink);
    box-shadow: 0 35px 90px rgba(0, 0, 0, .28);
}

.home-preview::before,
.home-preview::after {
    position: absolute;
    z-index: -1;
    content: "";
}

.home-preview::before {
    inset: 22px -20px -22px 26px;
    border: 1px solid rgba(103, 214, 226, .24);
    border-radius: 24px;
    background: rgba(255, 255, 255, .055);
}

.home-preview::after {
    top: -18px;
    right: 32px;
    width: 92px;
    height: 5px;
    border-radius: 99px;
    background: var(--cyan-500);
}

.home-preview-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.home-preview-head span,
.home-score-row span,
.home-priority-card small {
    color: #71869a;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .11em;
}

.home-preview-head h2 {
    margin: 5px 0 0;
    color: var(--navy-900);
    font-size: 23px;
    line-height: 1.2;
}

.preview-live-dot {
    position: relative;
    width: 11px;
    height: 11px;
    margin: 7px;
    border-radius: 50%;
    background: var(--success);
    box-shadow: 0 0 0 7px rgba(29, 138, 97, .11);
}

.home-score-row {
    margin: 28px 0 24px;
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    align-items: center;
    gap: 26px;
}

.home-score-ring {
    width: 116px;
    height: 116px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    padding-top: 37px;
    border-radius: 50%;
    background: conic-gradient(var(--warning) 0 68%, #e8eef2 68% 100%);
    box-shadow: inset 0 0 0 10px #fff;
}

.home-score-ring::before {
    position: absolute;
}

.home-score-ring strong {
    font-size: 32px;
    line-height: 1;
}

.home-score-ring small {
    color: var(--muted);
    font-size: 12px;
}

.home-score-row > div:last-child {
    display: grid;
    gap: 6px;
}

.home-score-row > div:last-child > strong {
    color: #b06c00;
    font-size: 18px;
}

.home-meter {
    height: 7px;
    margin-top: 10px;
    overflow: hidden;
    border-radius: 99px;
    background: #e8eef2;
}

.home-meter i {
    width: 68%;
    height: 100%;
    display: block;
    border-radius: inherit;
    background: linear-gradient(90deg, #f0b23d, var(--warning));
}

.home-priority-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 15px;
    border: 1px solid #f2d5b0;
    border-radius: 14px;
    background: #fff8ed;
}

.home-priority-card > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #ffead0;
    color: #a76000;
    font-size: 13px;
    font-weight: 900;
}

.home-priority-card > div {
    display: grid;
    gap: 2px;
}

.home-priority-card strong {
    color: var(--navy-900);
    font-size: 14px;
}

.home-priority-card > i {
    color: #a76000;
    font-style: normal;
}

.home-preview-detail {
    margin: 17px 2px 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.55;
}

.home-proof {
    border-bottom: 1px solid var(--line);
    background: #fff;
}

.home-proof-grid {
    min-height: 78px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
}

.home-proof-grid > div {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border-right: 1px solid var(--line);
    color: #53697c;
    font-size: 13px;
    font-weight: 700;
}

.home-proof-grid > div:last-child {
    border-right: 0;
}

.home-proof-grid span {
    color: var(--blue-700);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .05em;
}

.home-free-section {
    padding: 92px 0 86px;
    background: #f7fafc;
}

.home-free-card {
    position: relative;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    align-items: center;
    gap: clamp(45px, 8vw, 110px);
    padding: clamp(38px, 6vw, 70px);
    overflow: hidden;
    border: 1px solid #cfe0ea;
    border-radius: 26px;
    background:
        radial-gradient(circle at 95% 0, rgba(38, 183, 200, .14), transparent 30%),
        #fff;
    box-shadow: var(--shadow-md);
}

.home-free-card::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 5px;
    background: linear-gradient(var(--cyan-500), var(--blue-600));
    content: "";
}

.home-free-copy h2,
.home-section-heading h2,
.home-final-card h2 {
    margin: 0;
    color: var(--navy-900);
    font-size: clamp(34px, 4.1vw, 53px);
    line-height: 1.08;
    letter-spacing: -.036em;
}

.home-free-copy > p:not(.public-kicker) {
    max-width: 650px;
    margin: 22px 0 28px;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.7;
}

.home-free-features {
    display: grid;
    gap: 10px;
}

.home-free-features > div {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    padding: 13px 15px;
    border: 1px solid #dae6ed;
    border-radius: 12px;
    background: rgba(247, 251, 252, .86);
    color: var(--navy-800);
    font-size: 14px;
    font-weight: 700;
}

.home-free-features i {
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: var(--cyan-100);
    color: #128290;
    font-size: 12px;
    font-style: normal;
}

.home-offers-section {
    padding: 100px 0 92px;
    background: #fff;
    scroll-margin-top: 78px;
}

.home-section-heading {
    max-width: 770px;
    margin: 0 auto 50px;
    text-align: center;
}

.home-section-heading > p:last-child {
    margin: 20px auto 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.7;
}

.home-section-heading.compact {
    max-width: 670px;
    margin-bottom: 44px;
}

.home-offer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 18px;
}

.home-offer-card {
    position: relative;
    min-height: 508px;
    display: flex;
    flex-direction: column;
    padding: 34px 30px 28px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 19px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(8, 34, 55, .055);
}

.home-offer-card.professional {
    z-index: 2;
    border-color: rgba(23, 105, 170, .45);
    box-shadow: 0 20px 55px rgba(23, 105, 170, .15);
    transform: translateY(-12px);
}

.offer-topline {
    position: absolute;
    inset: 0 0 auto;
    height: 5px;
    background: var(--cyan-500);
}

.home-offer-card.professional .offer-topline {
    background: var(--blue-700);
}

.home-offer-card.extensive .offer-topline {
    background: var(--warning);
}

.offer-badge {
    position: absolute;
    top: 18px;
    right: 18px;
    padding: 5px 8px;
    border-radius: 99px;
    background: #e7f1fa;
    color: var(--blue-700);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
}

.offer-tag {
    margin: 6px 0 8px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-offer-card h3 {
    margin: 0;
    color: var(--navy-900);
    font-size: 28px;
    letter-spacing: -.025em;
}

.offer-count {
    margin-top: 13px;
    color: var(--blue-700);
    font-size: 14px;
}

.home-offer-card.extensive .offer-count {
    color: #a86500;
}

.offer-description {
    min-height: 78px;
    margin: 19px 0 20px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.65;
}

.home-offer-card ul {
    margin: 0 0 28px;
    padding: 20px 0 0;
    display: grid;
    gap: 14px;
    border-top: 1px solid #e5edf2;
    list-style: none;
}

.home-offer-card li {
    position: relative;
    padding-left: 25px;
    color: #344c60;
    font-size: 13px;
    line-height: 1.5;
}

.home-offer-card li::before {
    position: absolute;
    top: 1px;
    left: 0;
    width: 17px;
    height: 17px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #e7f7f8;
    color: #168897;
    content: "✓";
    font-size: 9px;
    font-weight: 900;
}

.home-offer-card .button,
.offer-link {
    width: 100%;
    margin-top: auto;
}

.offer-link {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 5px;
    border-top: 1px solid var(--line);
    color: var(--blue-700);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.offer-link:hover span {
    transform: translateX(3px);
}

.offer-link span {
    transition: transform .18s ease;
}

.home-controls-note {
    max-width: 900px;
    margin: 28px auto 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 10px;
    color: var(--muted);
    font-size: 12px;
    text-align: center;
}

.home-controls-note span {
    flex: 0 0 auto;
    width: 19px;
    height: 19px;
    display: grid;
    place-items: center;
    border: 1px solid #bfd0dc;
    border-radius: 50%;
    color: var(--blue-700);
    font-size: 11px;
    font-weight: 850;
}

.home-process-section {
    padding: 92px 0 98px;
    background: #f3f7fa;
}

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

.home-process-grid::before {
    position: absolute;
    top: 31px;
    right: 17%;
    left: 17%;
    height: 1px;
    background: #bdd0dc;
    content: "";
}

.home-process-grid article {
    position: relative;
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    align-items: start;
    gap: 18px;
    padding: 26px;
    border: 1px solid var(--line);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 9px 25px rgba(8, 34, 55, .045);
}

.home-process-grid article > span {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border: 1px solid #b9d2e3;
    border-radius: 15px;
    background: #edf6fb;
    color: var(--blue-700);
    font-size: 13px;
    font-weight: 900;
}

.home-process-grid h3 {
    margin: 3px 0 8px;
    color: var(--navy-900);
    font-size: 18px;
}

.home-process-grid p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
}

.home-final-section {
    padding: 86px 0;
    background: #fff;
}

.home-final-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 55px;
    padding: 52px 58px;
    border-radius: 24px;
    background:
        radial-gradient(circle at 90% 0, rgba(38, 183, 200, .16), transparent 28%),
        var(--navy-900);
    color: #fff;
    box-shadow: 0 25px 65px rgba(8, 34, 55, .18);
}

.home-final-card h2 {
    max-width: 690px;
    color: #fff;
    font-size: clamp(31px, 3.6vw, 46px);
}

.home-final-card > div:first-child > p:last-child {
    max-width: 690px;
    margin: 18px 0 0;
    color: #bfd0dc;
}

.home-final-actions {
    display: grid;
    gap: 11px;
}

.home-final-card .button-ghost {
    border-color: rgba(255, 255, 255, .22);
    background: rgba(255, 255, 255, .07);
    color: #fff;
}

@media (max-width: 1040px) {
    .home-hero-grid {
        grid-template-columns: 1fr;
    }

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

    .home-preview {
        max-width: 620px;
    }

    .home-free-card {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .home-offer-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .home-offer-card,
    .home-offer-card.professional {
        min-height: 0;
        transform: none;
    }

    .offer-description {
        min-height: 0;
    }

    .home-process-grid {
        grid-template-columns: 1fr;
    }

    .home-process-grid::before {
        display: none;
    }

    .home-final-card {
        grid-template-columns: 1fr;
    }

    .home-final-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .home-page .public-nav-link,
    .home-page .nav-audit-button {
        display: none;
    }

    .home-page .public-nav .login-button {
        min-height: 38px;
        padding: 0 13px;
        display: inline-flex;
        font-size: 12px;
    }

    .home-hero {
        padding: 64px 0 70px;
    }

    .home-hero-grid {
        gap: 54px;
    }

    .home-hero-copy h1 {
        font-size: clamp(40px, 12vw, 55px);
    }

    .home-hero-lead {
        margin-top: 23px;
        font-size: 17px;
    }

    .home-hero .hero-actions {
        width: 100%;
    }

    .home-hero .hero-actions .button {
        width: 100%;
    }

    .home-preview {
        padding: 22px;
    }

    .home-score-row {
        grid-template-columns: 94px minmax(0, 1fr);
        gap: 18px;
    }

    .home-score-ring {
        width: 94px;
        height: 94px;
        padding-top: 29px;
    }

    .home-score-ring strong {
        font-size: 27px;
    }

    .home-preview::before {
        display: none;
    }

    .home-proof-grid {
        padding: 17px 0;
        grid-template-columns: 1fr;
    }

    .home-proof-grid > div {
        min-height: 42px;
        justify-content: flex-start;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .home-proof-grid > div:last-child {
        border-bottom: 0;
    }

    .home-free-section,
    .home-offers-section,
    .home-process-section,
    .home-final-section {
        padding: 68px 0;
    }

    .home-free-card {
        padding: 34px 23px;
        border-radius: 19px;
    }

    .home-free-copy h2,
    .home-section-heading h2 {
        font-size: 34px;
    }

    .home-section-heading {
        margin-bottom: 34px;
        text-align: left;
    }

    .home-offer-card {
        padding: 31px 23px 24px;
    }

    .home-controls-note {
        justify-content: flex-start;
        text-align: left;
    }

    .home-process-grid article {
        grid-template-columns: 50px minmax(0, 1fr);
        padding: 21px;
    }

    .home-process-grid article > span {
        width: 50px;
        height: 50px;
        border-radius: 12px;
    }

    .home-final-card {
        gap: 34px;
        padding: 38px 25px;
        border-radius: 20px;
    }

    .home-final-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 580px) {
    .home-page .language-switcher {
        display: none;
    }

    .home-priority-card {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .home-priority-card > i {
        display: none;
    }
}

/* Commercial audit pages and guided request */
.offer-card-actions {
    display: grid;
    gap: 10px;
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}

.offer-card-actions .button,
.offer-card-actions .offer-link {
    width: 100%;
    margin: 0;
    padding: 0;
    border-top: 0;
    justify-content: center;
    gap: 8px;
}

.offer-details-link {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 18px;
    border: 1px solid #b7d2e5;
    border-radius: 11px;
    background: #f7fbfe;
    color: var(--blue-700);
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.offer-details-link:hover {
    border-color: #1c79bc;
    background: #eef7fc;
    box-shadow: 0 8px 20px rgba(23, 105, 170, .11);
}

.offer-details-link span,
.offer-link span {
    transition: transform .2s ease;
}

.offer-details-link:hover span,
.offer-link:hover span {
    transform: translateX(4px);
}

.offer-detail-page,
.audit-request-page,
.audit-request-confirmation-page {
    background: #f5f9fc;
}

.offer-detail-hero {
    position: relative;
    overflow: hidden;
    padding: 88px 0 96px;
    background:
        radial-gradient(circle at 87% 12%, rgba(39, 187, 202, .18), transparent 27%),
        linear-gradient(140deg, #071f34 0%, #0b314d 70%, #0a4058 100%);
    color: #fff;
}

.offer-detail-hero::after {
    position: absolute;
    width: 440px;
    height: 440px;
    right: -210px;
    bottom: -290px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
    content: "";
}

.offer-detail-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(350px, .65fr);
    align-items: center;
    gap: 72px;
}

.offer-back-link {
    display: inline-flex;
    margin-bottom: 30px;
    color: inherit;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    opacity: .76;
}

.offer-detail-copy .public-kicker {
    color: #42d1df;
}

.offer-detail-tag {
    display: inline-flex;
    margin: 14px 0 17px;
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 999px;
    color: #d8e9f3;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.offer-detail-tag.plan-professional {
    border-color: rgba(73, 177, 255, .5);
    background: rgba(22, 117, 185, .2);
}

.offer-detail-copy h1 {
    max-width: 800px;
    margin: 0;
    color: #fff;
    font-size: clamp(42px, 5.1vw, 67px);
    line-height: 1.03;
    letter-spacing: -.045em;
}

.offer-detail-lead {
    max-width: 730px;
    margin: 25px 0 0;
    color: #c6dae7;
    font-size: 18px;
    line-height: 1.7;
}

.offer-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.offer-detail-hero .button-ghost {
    border-color: rgba(255,255,255,.25);
    background: rgba(255,255,255,.06);
    color: #fff;
}

.offer-selection-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 28px;
    background: rgba(255,255,255,.98);
    color: var(--ink);
    box-shadow: 0 35px 85px rgba(0, 13, 26, .32);
}

.offer-selection-card::before,
.request-selection-summary::before {
    position: absolute;
    inset: 0 0 auto;
    height: 5px;
    background: #2bb8c9;
    content: "";
}

.offer-selection-card.plan-professional::before,
.request-selection-summary.plan-professional::before { background: #1c79bc; }
.offer-selection-card.plan-extensive::before,
.request-selection-summary.plan-extensive::before { background: #ee9200; }

.offer-selection-top {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 2px 14px;
    padding: 28px 30px 22px;
    border-bottom: 1px solid var(--line);
    background: #f7fbfd;
}

.offer-selection-top > span {
    align-self: center;
    color: var(--blue-700);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.offer-selection-top strong {
    grid-row: span 2;
    font-size: 58px;
    line-height: .9;
    letter-spacing: -.05em;
}

.offer-selection-top small {
    color: var(--muted);
    font-weight: 700;
}

.offer-selection-body {
    padding: 27px 30px;
}

.offer-selection-body > p {
    margin: 0 0 22px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
}

.offer-selection-body > p span {
    display: block;
    margin-bottom: 4px;
    color: var(--blue-700);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.offer-selection-body > p strong {
    display: block;
    color: var(--navy-900);
    font-size: 16px;
}

.offer-selection-body ul,
.request-selection-summary ul,
.offer-deliverable-panel ul {
    display: grid;
    gap: 13px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.offer-selection-body li,
.request-selection-summary li,
.offer-deliverable-panel li {
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: 9px;
    color: #28455c;
    font-size: 13px;
    line-height: 1.5;
}

.offer-selection-body li i,
.request-selection-summary li i,
.offer-deliverable-panel li i {
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #e4f7f7;
    color: #138898;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
}

.offer-quote-note {
    margin: 0;
    padding: 17px 30px 21px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: 11px;
    line-height: 1.5;
}

.offer-matters-section,
.offer-method-section,
.offer-compare-section,
.offer-faq-section {
    padding: 92px 0;
}

.offer-matters-section,
.offer-compare-section {
    background: #fff;
}

.offer-domain-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 40px;
}

.offer-domain-grid article {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 17px;
    padding: 22px;
    border: 1px solid #d6e4ee;
    border-radius: 18px;
    background: #fbfdfe;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.offer-domain-grid article:hover {
    transform: translateY(-3px);
    border-color: #86c6df;
    box-shadow: 0 15px 35px rgba(12, 55, 82, .09);
}

.domain-sequence {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #e7f5f8;
    color: var(--blue-700);
    font-size: 12px;
    font-weight: 900;
}

.offer-domain-grid h3 {
    margin: 0 0 5px;
    color: var(--navy-900);
    font-size: 16px;
}

.offer-domain-grid p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
}

.offer-domain-grid small {
    padding: 7px 9px;
    border-radius: 999px;
    background: #edf3f7;
    color: #426078;
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
}

.offer-value-section {
    padding: 95px 0;
    background: var(--navy-900);
}

.offer-value-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .75fr);
    align-items: center;
    gap: 80px;
}

.offer-value-copy .public-kicker { color: #37c7d7; }
.offer-value-copy h2 {
    max-width: 630px;
    margin: 12px 0 34px;
    color: #fff;
    font-size: clamp(35px, 4vw, 52px);
    line-height: 1.08;
}

.offer-benefit-list {
    display: grid;
    gap: 12px;
}

.offer-benefit-list > div {
    display: grid;
    grid-template-columns: 42px 1fr;
    align-items: center;
    gap: 15px;
    padding: 13px 0;
    border-top: 1px solid rgba(255,255,255,.12);
}

.offer-benefit-list span {
    color: #42d1df;
    font-size: 12px;
    font-weight: 900;
}

.offer-benefit-list p {
    margin: 0;
    color: #d8e5ee;
    font-size: 16px;
    font-weight: 800;
}

.offer-deliverable-panel {
    padding: 34px;
    border-radius: 25px;
    background: #fff;
    box-shadow: 0 30px 70px rgba(0,0,0,.22);
}

.offer-deliverable-panel ul { margin: 24px 0 30px; }
.offer-deliverable-panel li { font-size: 14px; }
.offer-deliverable-panel .button { width: 100%; }

.offer-method-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 36px;
}

.offer-method-grid article {
    padding: 28px 23px;
    border: 1px solid #d4e3ed;
    border-radius: 20px;
    background: #fff;
}

.offer-method-grid article > span {
    color: #20a8b9;
    font-size: 12px;
    font-weight: 900;
}

.offer-method-grid h3 { margin: 25px 0 9px; color: var(--navy-900); font-size: 18px; }
.offer-method-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }

.offer-compare-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    margin-top: 37px;
}

.offer-compare-grid article {
    position: relative;
    padding: 29px;
    border: 1px solid #d5e4ee;
    border-radius: 21px;
    background: #fbfdfe;
}

.offer-compare-grid article.active {
    border-color: #2987c7;
    background: #f1f9ff;
    box-shadow: 0 18px 42px rgba(26, 101, 151, .12);
}

.current-plan-badge {
    position: absolute;
    top: 18px;
    right: 18px;
    padding: 6px 8px;
    border-radius: 999px;
    background: #dceffc;
    color: #146da9;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.offer-compare-grid article > p:first-of-type {
    margin: 0 0 8px;
    color: var(--blue-700);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.offer-compare-grid h3 { margin: 0 0 14px; font-size: 24px; }
.offer-compare-grid strong { display: block; color: var(--navy-900); font-size: 27px; }
.offer-compare-grid strong small { color: var(--muted); font-size: 11px; }
.offer-compare-grid article > p:last-of-type { min-height: 66px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.offer-compare-grid a { color: var(--blue-700); font-size: 13px; font-weight: 900; text-decoration: none; }

.offer-faq-section { background: #f4f8fb; }
.offer-faq-grid { display: grid; grid-template-columns: minmax(250px, .55fr) minmax(0, 1fr); gap: 75px; }
.offer-faq-grid h2 { margin: 10px 0 0; color: var(--navy-900); font-size: clamp(34px, 4vw, 50px); }
.offer-faq-list { display: grid; gap: 10px; }
.offer-faq-list details { border: 1px solid #d4e2ec; border-radius: 16px; background: #fff; }
.offer-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 21px 22px; color: var(--navy-900); font-weight: 850; cursor: pointer; list-style: none; }
.offer-faq-list summary::-webkit-details-marker { display: none; }
.offer-faq-list summary span { color: var(--blue-700); font-size: 23px; transition: transform .2s ease; }
.offer-faq-list details[open] summary span { transform: rotate(45deg); }
.offer-faq-list details p { margin: 0; padding: 0 22px 22px; color: var(--muted); font-size: 13px; line-height: 1.7; }

.audit-request-hero {
    padding: 62px 0 110px;
    background: linear-gradient(140deg, #08243a, #0b3a55);
    color: #fff;
}

.audit-request-hero .offer-back-link { margin-bottom: 21px; }
.audit-request-hero .public-kicker { color: #3cc7d6; }
.audit-request-hero h1 { max-width: 900px; margin: 10px 0 18px; color: #fff; font-size: clamp(38px, 4.7vw, 60px); line-height: 1.05; }
.audit-request-hero > div > p:last-child { max-width: 760px; margin: 0; color: #c4d8e5; font-size: 16px; line-height: 1.7; }

.audit-request-section { padding: 0 0 96px; }
.audit-request-layout { display: grid; grid-template-columns: 360px minmax(0, 1fr); align-items: start; gap: 25px; margin-top: -61px; }

.request-selection-summary {
    position: sticky;
    top: 96px;
    overflow: hidden;
    padding: 31px;
    border: 1px solid #d5e3ec;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 22px 55px rgba(8, 39, 61, .12);
}

.request-selection-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.request-selection-heading > span,
.request-selection-summary > span { color: var(--blue-700); font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.request-selection-heading small { padding: 6px 8px; border-radius: 999px; background: #edf4f8; color: #50697b; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.request-selection-summary h2 { margin: 18px 0 10px; color: var(--navy-900); font-size: 28px; }
.request-selection-summary > p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.request-control-count { display: flex; align-items: end; gap: 9px; margin: 26px 0; padding: 18px 0; border-block: 1px solid var(--line); }
.request-control-count strong { color: var(--navy-900); font-size: 40px; line-height: .9; }
.request-control-count span { color: var(--muted); font-size: 11px; font-weight: 800; }
.request-selection-summary h3 { margin: 0 0 15px; color: var(--navy-900); font-size: 13px; }
.request-selection-summary ul { gap: 11px; }
.request-selection-summary > a { display: inline-flex; justify-content: space-between; width: 100%; margin-top: 27px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--blue-700); font-size: 12px; font-weight: 900; text-decoration: none; }

.request-form-card {
    padding: 39px;
    border: 1px solid #d7e4ec;
    border-radius: 25px;
    background: #fff;
    box-shadow: 0 25px 65px rgba(8, 39, 61, .1);
}

.request-form-heading { margin-bottom: 28px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.request-form-heading h2 { margin: 0 0 6px; color: var(--navy-900); font-size: 28px; }
.request-form-heading p { margin: 0; color: var(--muted); font-size: 12px; }
.zoho-audit-form-shell {
    overflow: hidden;
    min-height: 1640px;
    border: 1px solid #d7e4ec;
    border-radius: 18px;
    background: #f8fbfd;
}
.zoho-audit-form-frame {
    width: 100%;
    min-height: 1640px;
    display: block;
    border: 0;
    background: #fff;
}
.request-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 19px; }
.request-form .field { margin: 0; }
.request-form .field > span { display: block; margin-bottom: 8px; color: var(--navy-900); font-size: 12px; font-weight: 850; }
.request-form input,
.request-form select,
.request-form textarea { width: 100%; border: 1px solid #cddce7; border-radius: 12px; background: #fff; color: var(--ink); font: inherit; transition: border-color .2s ease, box-shadow .2s ease; }
.request-form input,
.request-form select { height: 52px; padding: 0 14px; }
.request-form textarea { padding: 14px; resize: vertical; }
.request-form input:focus,
.request-form select:focus,
.request-form textarea:focus { outline: 0; border-color: #2a8bc7; box-shadow: 0 0 0 4px rgba(42, 139, 199, .12); }
.request-form .field-wide { grid-column: 1 / -1; }

.request-concerns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 28px 0 21px;
    padding: 0;
    border: 0;
}

.request-concerns legend { grid-column: 1 / -1; width: 100%; margin-bottom: 3px; color: var(--navy-900); font-size: 12px; font-weight: 850; }
.request-concerns label { position: relative; display: block; cursor: pointer; }
.request-concerns input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.request-concerns span { min-height: 47px; display: flex; align-items: center; padding: 10px 14px 10px 42px; border: 1px solid #d2e0e9; border-radius: 12px; color: #36536a; font-size: 12px; font-weight: 750; }
.request-concerns span::before { position: absolute; left: 14px; width: 18px; height: 18px; display: grid; place-items: center; border: 1px solid #aec3d2; border-radius: 5px; content: ""; }
.request-concerns input:checked + span { border-color: #2c91c8; background: #eef8fd; color: #0d6297; }
.request-concerns input:checked + span::before { border-color: #1b82bd; background: #1b82bd; color: #fff; content: "✓"; font-size: 11px; }

.request-consents { display: grid; gap: 11px; margin: 24px 0; }
.request-consents label { display: grid; grid-template-columns: 18px 1fr; align-items: start; gap: 10px; color: #486176; font-size: 11px; line-height: 1.5; }
.request-consents input { width: 17px; height: 17px; margin-top: 1px; }
.request-consents a { color: var(--blue-700); }
.request-submit { width: 100%; }
.request-secure-note { display: flex; align-items: flex-start; gap: 8px; margin: 13px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.request-secure-note i { color: #1694a5; font-style: normal; font-weight: 900; }

.request-confirmation-hero { padding: 85px 0 92px; background: linear-gradient(140deg, #edf9f8, #f6fbfd); }
.request-confirmation-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: center; gap: 75px; }
.confirmation-check { width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 22px; border-radius: 18px; background: #1b9b86; color: #fff; font-size: 27px; font-weight: 900; box-shadow: 0 15px 32px rgba(27,155,134,.24); }
.request-confirmation-hero h1 { max-width: 760px; margin: 10px 0 18px; color: var(--navy-900); font-size: clamp(39px, 4.6vw, 60px); line-height: 1.05; }
.request-confirmation-hero > div > div > p:not(.public-kicker) { max-width: 690px; color: var(--muted); font-size: 16px; line-height: 1.7; }
.confirmation-reference { display: inline-flex; align-items: center; gap: 10px; margin-top: 17px; padding: 11px 14px; border: 1px solid #cbdfe5; border-radius: 11px; background: rgba(255,255,255,.7); }
.confirmation-reference span { color: var(--muted); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.confirmation-reference strong { color: var(--navy-900); font-size: 13px; }
.request-selection-summary.compact { position: relative; top: auto; }
.request-selection-summary.compact h2 { font-size: 25px; }
.request-booking-section { padding: 84px 0 96px; background: var(--navy-900); color: #fff; }
.request-booking-section .booking-calendar-heading h2 { color: #fff; }
.request-booking-section .booking-calendar-heading p { color: #c6d9e5; }
.request-booking-section .booking-calendar-heading .public-kicker { color: #3cc7d6; }
.confirmation-home-link { display: inline-flex; margin-top: 31px; color: #d5e6f0; font-size: 12px; font-weight: 850; text-decoration: none; }

@media (max-width: 1040px) {
    .offer-detail-hero-grid,
    .offer-value-grid { grid-template-columns: 1fr; }
    .offer-selection-card { max-width: 640px; }
    .offer-domain-grid { grid-template-columns: 1fr; }
    .offer-method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .audit-request-layout { grid-template-columns: 310px minmax(0,1fr); }
}

@media (max-width: 800px) {
    .offer-detail-hero { padding: 62px 0 72px; }
    .offer-detail-hero-grid { gap: 44px; }
    .offer-detail-copy h1 { font-size: 43px; }
    .offer-matters-section,
    .offer-method-section,
    .offer-compare-section,
    .offer-faq-section,
    .offer-value-section { padding: 70px 0; }
    .offer-compare-grid { grid-template-columns: 1fr; }
    .offer-compare-grid article > p:last-of-type { min-height: 0; }
    .offer-faq-grid { grid-template-columns: 1fr; gap: 35px; }
    .audit-request-layout { grid-template-columns: 1fr; margin-top: -50px; }
    .request-selection-summary { position: relative; top: auto; }
    .request-confirmation-grid { grid-template-columns: 1fr; gap: 35px; }
    .request-selection-summary.compact { max-width: 480px; }
}

@media (max-width: 580px) {
    .offer-detail-hero { padding-top: 44px; }
    .offer-detail-copy h1 { font-size: 37px; }
    .offer-detail-actions { display: grid; }
    .offer-detail-actions .button { width: 100%; }
    .offer-selection-top,
    .offer-selection-body,
    .offer-quote-note { padding-inline: 22px; }
    .offer-domain-grid article { grid-template-columns: 42px 1fr; padding: 17px; }
    .offer-domain-grid article small { grid-column: 2; justify-self: start; }
    .offer-method-grid { grid-template-columns: 1fr; }
    .offer-value-grid { gap: 42px; }
    .offer-deliverable-panel { padding: 25px; }
    .audit-request-hero { padding: 42px 0 94px; }
    .audit-request-hero h1 { font-size: 36px; }
    .request-selection-summary,
    .request-form-card { padding: 25px 20px; border-radius: 19px; }
    .request-form-grid,
    .request-concerns { grid-template-columns: 1fr; }
    .zoho-audit-form-shell,
    .zoho-audit-form-frame { min-height: 2250px; }
    .request-form .field-wide,
    .request-concerns legend { grid-column: auto; }
    .request-confirmation-hero { padding: 60px 0; }
    .request-confirmation-hero h1 { font-size: 37px; }
}

/* Result scenarios carousel */
.home-result-carousel {
    position: relative;
    min-width: 0;
}

.result-carousel-stage {
    position: relative;
    min-height: 515px;
}

.result-slide {
    --result-accent: var(--warning);
    --result-soft: #fff6e7;
    --result-border: #f0cc94;
    position: absolute;
    inset: 0;
    padding: 27px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 25px;
    background: rgba(255, 255, 255, .98);
    color: var(--ink);
    box-shadow: 0 35px 90px rgba(0, 0, 0, .3);
    opacity: 0;
    transform: translateX(38px) scale(.97);
    visibility: hidden;
    transition: opacity .55s ease, transform .55s cubic-bezier(.2, .8, .2, 1), visibility .55s;
}

.result-slide::before {
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: var(--result-accent);
    content: "";
}

.result-slide.active {
    z-index: 2;
    opacity: 1;
    transform: translateX(0) scale(1);
    visibility: visible;
}

.result-slide-danger {
    --result-accent: #d9404b;
    --result-soft: #fff0f1;
    --result-border: #f1b6bb;
}

.result-slide-warning {
    --result-accent: #e88a00;
    --result-soft: #fff6e7;
    --result-border: #f0cc94;
}

.result-slide-safe {
    --result-accent: #168a61;
    --result-soft: #eaf8f2;
    --result-border: #acdcca;
}

.result-slide-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.result-slide-head > div {
    display: grid;
    gap: 5px;
}

.result-slide-head > div > span,
.result-slide-summary small,
.result-action-list small {
    color: #71869a;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.result-slide-head > div > strong {
    color: var(--result-accent);
    font-size: 13px;
    letter-spacing: .045em;
}

.result-severity-mark {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid var(--result-border);
    border-radius: 50%;
    background: var(--result-soft);
    color: var(--result-accent);
    font-size: 20px;
    font-weight: 950;
}

.result-slide-summary {
    margin: 23px 0 22px;
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    align-items: center;
    gap: 22px;
}

.result-slide-score {
    width: 108px;
    height: 108px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    padding-top: 34px;
    border-radius: 50%;
    background: conic-gradient(var(--result-accent) calc(var(--result-score) * 1%), #e8eef2 0);
    box-shadow: inset 0 0 0 10px #fff;
}

.result-slide-score strong {
    color: var(--navy-900);
    font-size: 31px;
    line-height: 1;
}

.result-slide-score > small {
    color: var(--navy-800);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0;
    opacity: .82;
    text-transform: none;
}

.result-slide-summary h2 {
    margin: 6px 0 7px;
    color: var(--navy-900);
    font-size: 22px;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.result-slide-summary p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.55;
}

.result-action-list {
    margin: 0;
    padding: 0;
    display: grid;
    gap: 9px;
    list-style: none;
}

.result-action-list li {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 11px 13px;
    border: 1px solid var(--result-border);
    border-radius: 12px;
    background: var(--result-soft);
}

.result-action-list li > span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #fff;
    color: var(--result-accent);
    font-size: 11px;
    font-weight: 900;
}

.result-action-list li > div {
    display: grid;
    gap: 1px;
}

.result-action-list strong {
    color: var(--navy-900);
    font-size: 12px;
    line-height: 1.4;
}

.result-carousel-controls {
    position: relative;
    z-index: 4;
    margin-top: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

.result-carousel-controls > button {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

.result-carousel-controls > button:hover {
    background: rgba(255, 255, 255, .17);
    transform: translateY(-2px);
}

.result-carousel-dots {
    display: flex;
    gap: 7px;
}

.result-carousel-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 99px;
    background: rgba(255, 255, 255, .35);
    cursor: pointer;
    transition: width .25s ease, background .25s ease;
}

.result-carousel-dots button.active {
    width: 27px;
    background: var(--cyan-500);
}

/* Replaces the former generic proof strip */
.home-approach-section {
    padding: 92px 0;
    border-bottom: 1px solid var(--line);
    background: #fff;
}

.home-approach-heading {
    margin-bottom: 43px;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: end;
    gap: clamp(40px, 8vw, 100px);
}

.home-approach-heading h2 {
    margin: 0;
    color: var(--navy-900);
    font-size: clamp(34px, 4.4vw, 54px);
    line-height: 1.06;
    letter-spacing: -.04em;
}

.home-approach-intro > p {
    margin: 0 0 4px;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.7;
}

.home-approach-intro {
    display: grid;
    gap: 23px;
}

.cyfun-trust {
    display: grid;
    grid-template-columns: 142px minmax(0, 1fr);
    align-items: center;
    gap: 20px;
    padding: 15px 18px;
    border: 1px solid #dce6ed;
    border-radius: 14px;
    background: #f8fbfc;
}

.cyfun-trust img {
    width: 142px;
    height: 62px;
    display: block;
    object-fit: contain;
    object-position: left center;
}

.cyfun-trust > div {
    display: grid;
    gap: 4px;
}

.cyfun-trust strong {
    color: var(--navy-900);
    font-size: 13px;
}

.cyfun-trust span {
    color: var(--muted);
    font-size: 10px;
    line-height: 1.45;
}

/* Configurable client-logo marquee */
.client-trust-section {
    padding: 45px 0 49px;
    overflow: hidden;
    border-bottom: 1px solid var(--line);
    background: #f7fafc;
}

.client-trust-section .public-container > p {
    margin: 0 0 26px;
    color: #64798c;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
    text-align: center;
    text-transform: uppercase;
}

.client-logo-marquee {
    position: relative;
    display: flex;
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
}

.client-logo-track {
    width: max-content;
    display: flex;
    align-items: center;
    animation: client-logo-scroll 30s linear infinite;
}

.client-logo-marquee:hover .client-logo-track {
    animation-play-state: paused;
}

.client-logo-item {
    width: 210px;
    height: 72px;
    margin: 0 10px;
    padding: 13px 25px;
    display: grid;
    place-items: center;
    border: 1px solid #dbe5eb;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 6px 19px rgba(8, 34, 55, .035);
}

.client-logo-item img {
    width: 100%;
    height: 44px;
    display: block;
    filter: grayscale(1);
    object-fit: contain;
    opacity: .68;
    transition: filter .25s ease, opacity .25s ease, transform .25s ease;
}

.client-logo-item:hover img {
    filter: grayscale(0);
    opacity: 1;
    transform: scale(1.04);
}

.client-logo-placeholder {
    grid-template-columns: auto auto;
    justify-content: center;
    gap: 8px;
    border-style: dashed;
    color: #a3b1bc;
}

.client-logo-placeholder span {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.client-logo-placeholder b {
    font-size: 11px;
}

@keyframes client-logo-scroll {
    to { transform: translateX(-50%); }
}

.home-approach-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 14px 42px rgba(8, 34, 55, .055);
}

.home-approach-grid article {
    min-height: 245px;
    padding: 27px 25px;
    border-right: 1px solid var(--line);
    background: #fff;
    transition: background .25s ease, transform .25s ease;
}

.home-approach-grid article:last-child {
    border-right: 0;
}

.home-approach-grid article:hover {
    background: #f4fafc;
}

.home-approach-grid article > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #e4f5f7;
    color: #168796;
    font-size: 11px;
    font-weight: 900;
}

.home-approach-grid h3 {
    margin: 42px 0 10px;
    color: var(--navy-900);
    font-size: 19px;
}

.home-approach-grid p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.65;
}

/* Richer audit cards and pointer interaction */
.home-offer-card {
    min-height: 680px;
    transition: transform .28s cubic-bezier(.2, .8, .2, 1), box-shadow .28s ease, border-color .28s ease;
}

.home-offer-card:hover {
    z-index: 4;
    border-color: rgba(23, 105, 170, .42);
    box-shadow: 0 28px 70px rgba(8, 34, 55, .15);
    transform: translateY(-12px);
}

.home-offer-card.professional:hover {
    transform: translateY(-20px);
}

.home-offer-card:hover .offer-topline {
    height: 9px;
}

.offer-topline {
    transition: height .25s ease;
}

.offer-ideal {
    min-height: 80px;
    margin: 0 0 19px;
    padding: 13px 14px;
    border-radius: 11px;
    background: #f2f7fa;
    color: #445b6d;
    font-size: 12px;
    line-height: 1.55;
}

.offer-ideal span,
.offer-deliverable span {
    display: block;
    margin-bottom: 4px;
    color: #71869a;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .11em;
}

.offer-deliverable {
    margin: auto 0 18px;
    padding-top: 17px;
    border-top: 1px solid var(--line);
}

.offer-deliverable strong {
    color: var(--navy-800);
    font-size: 12px;
    line-height: 1.45;
}

.home-offer-card ul {
    margin-bottom: 20px;
}

.home-offer-card .offer-link {
    margin-top: 0;
}

/* Standalone assessment route */
.diagnostic-page .assessment-section {
    padding: 54px 0 96px;
    background:
        radial-gradient(circle at 85% 0, rgba(38, 183, 200, .15), transparent 23%),
        linear-gradient(135deg, rgba(7, 26, 42, .99), rgba(11, 37, 59, .97));
}

.diagnostic-intro {
    max-width: 820px;
    margin: 0 auto 38px;
    color: #fff;
    text-align: center;
}

.diagnostic-intro > a {
    display: inline-block;
    margin-bottom: 24px;
    color: #9bb2c3;
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
}

.diagnostic-intro h1 {
    margin: 0;
    font-size: clamp(36px, 5vw, 58px);
    line-height: 1.06;
    letter-spacing: -.04em;
}

.diagnostic-intro > p:not(.public-kicker) {
    max-width: 720px;
    margin: 18px auto 22px;
    color: #b9cbd7;
    font-size: 17px;
}

.diagnostic-intro ul {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 22px;
    color: #d4e1e9;
    font-size: 12px;
    font-weight: 700;
    list-style: none;
}

.diagnostic-intro li {
    display: flex;
    align-items: center;
    gap: 7px;
}

.diagnostic-intro li i {
    color: #5bd0dc;
    font-style: normal;
}

@media (max-width: 1040px) {
    .home-hero-grid {
        grid-template-columns: 1fr;
    }

    .home-result-carousel {
        width: min(100%, 620px);
    }

    .home-approach-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-approach-grid article:nth-child(2) {
        border-right: 0;
    }

    .home-approach-grid article:nth-child(-n+2) {
        border-bottom: 1px solid var(--line);
    }

    .home-offer-card,
    .home-offer-card.professional {
        min-height: 0;
    }

    .home-offer-card.professional:hover {
        transform: translateY(-12px);
    }
}

@media (max-width: 780px) {
    .result-carousel-stage {
        min-height: 580px;
    }

    .result-slide {
        padding: 22px 18px;
    }

    .result-slide-summary {
        grid-template-columns: 86px minmax(0, 1fr);
        gap: 15px;
    }

    .result-slide-score {
        width: 86px;
        height: 86px;
        padding-top: 26px;
        box-shadow: inset 0 0 0 8px #fff;
    }

    .result-slide-score strong {
        font-size: 26px;
    }

    .result-slide-summary h2 {
        font-size: 19px;
    }

    .home-approach-section {
        padding: 68px 0;
    }

    .home-approach-heading {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .cyfun-trust {
        grid-template-columns: 115px minmax(0, 1fr);
        padding: 13px;
    }

    .cyfun-trust img {
        width: 115px;
        height: 52px;
    }

    .client-logo-item {
        width: 175px;
        height: 64px;
        margin-inline: 7px;
    }

    .home-approach-grid {
        grid-template-columns: 1fr;
    }

    .home-approach-grid article,
    .home-approach-grid article:nth-child(2) {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .home-approach-grid article:last-child {
        border-bottom: 0;
    }

    .home-approach-grid h3 {
        margin-top: 25px;
    }

    .home-offer-card:hover,
    .home-offer-card.professional:hover {
        transform: none;
    }

    .diagnostic-page .assessment-section {
        padding-top: 40px;
    }

    .diagnostic-intro {
        margin-bottom: 30px;
        text-align: left;
    }

    .diagnostic-intro > p:not(.public-kicker) {
        margin-left: 0;
    }

    .diagnostic-intro ul {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }
}

@media (max-width: 480px) {
    .result-carousel-stage {
        min-height: 620px;
    }

    .result-slide-head > div > strong {
        font-size: 11px;
    }

    .result-action-list li {
        padding: 9px 10px;
    }

    .cyfun-trust {
        grid-template-columns: 1fr;
    }

    .cyfun-trust img {
        width: 135px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .client-logo-track {
        animation: none;
    }
}

/* Contact and about page */
.contact-page { background: #f5f9fc; }

.contact-hero {
    position: relative;
    overflow: hidden;
    padding: 82px 0 120px;
    background:
        radial-gradient(circle at 88% 12%, rgba(52, 194, 208, .19), transparent 27%),
        linear-gradient(138deg, #071f34, #0b3853);
    color: #fff;
}

.contact-hero::after {
    position: absolute;
    right: -140px;
    bottom: -270px;
    width: 480px;
    height: 480px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;
    content: "";
}

.contact-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(310px, .75fr);
    align-items: end;
    gap: 80px;
}

.contact-hero .public-kicker { color: #49cbd8; }
.contact-hero h1 { max-width: 820px; margin: 12px 0 20px; color: #fff; font-size: clamp(45px, 5.6vw, 72px); line-height: 1.03; letter-spacing: -.045em; }
.contact-hero-grid > div:first-child > p:last-child { max-width: 760px; margin: 0; color: #c5d8e4; font-size: 17px; line-height: 1.72; }

.contact-hero-proof { display: grid; gap: 11px; padding: 23px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(255,255,255,.06); backdrop-filter: blur(10px); }
.contact-hero-proof span { display: flex; align-items: center; gap: 11px; color: #e8f1f6; font-size: 12px; font-weight: 750; }
.contact-hero-proof i { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; background: rgba(66,202,214,.16); color: #62d6df; font-size: 10px; font-style: normal; }

.contact-form-section { position: relative; z-index: 2; padding: 0 0 100px; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr); align-items: start; gap: 28px; margin-top: -62px; }
.contact-form-card,
.contact-details { border: 1px solid #d6e3ec; border-radius: 25px; background: #fff; box-shadow: 0 25px 65px rgba(8,39,61,.11); }
.contact-form-card { padding: 42px; }
.contact-form-card h2,
.contact-details h2,
.about-story-copy h2 { margin: 10px 0 13px; color: var(--navy-900); font-size: clamp(30px, 3vw, 43px); line-height: 1.13; letter-spacing: -.035em; }
.contact-form-intro { max-width: 700px; margin: 0; color: var(--muted); line-height: 1.7; }
.contact-required-note { margin: 17px 0 27px; padding-bottom: 20px; border-bottom: 1px solid var(--line); color: #6b8090; font-size: 11px; }

.contact-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.contact-form .field { margin: 0; }
.contact-form .field-wide { grid-column: 1 / -1; }
.contact-form .field > span { display: block; margin-bottom: 8px; color: var(--navy-900); font-size: 12px; font-weight: 850; }
.contact-form input,
.contact-form select,
.contact-form textarea { width: 100%; border: 1px solid #cbdbe6; border-radius: 12px; background: #fff; color: var(--ink); font: inherit; transition: border-color .2s ease, box-shadow .2s ease; }
.contact-form input,
.contact-form select { height: 52px; padding: 0 14px; }
.contact-form textarea { min-height: 145px; padding: 14px; resize: vertical; }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { outline: 0; border-color: #2588c3; box-shadow: 0 0 0 4px rgba(37,136,195,.12); }
.contact-submit { width: 100%; }
.contact-submitting { margin: 12px 0 0; color: var(--muted); font-size: 11px; text-align: center; }

.contact-success { margin: 0 0 24px; padding: 17px; display: grid; grid-template-columns: 38px 1fr; gap: 13px; border: 1px solid #b8dfd2; border-radius: 14px; background: #effaf6; }
.contact-success > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: #188d71; color: #fff; font-weight: 900; }
.contact-success strong { color: #0d5f4d; }
.contact-success p { margin: 5px 0 0; color: #3b7064; font-size: 12px; line-height: 1.55; }

.contact-details { position: sticky; top: 94px; padding: 32px; }
.contact-details > p:not(.public-kicker) { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.contact-coordinate-list { margin: 25px 0; display: grid; gap: 0; }
.contact-coordinate-list > div { padding: 14px 0; display: grid; grid-template-columns: 86px 1fr; gap: 13px; border-top: 1px solid var(--line); }
.contact-coordinate-list > div:last-child { border-bottom: 1px solid var(--line); }
.contact-coordinate-list dt { color: #718696; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.contact-coordinate-list dd { margin: 0; color: var(--navy-900); font-size: 13px; font-weight: 750; }
.contact-coordinate-list a { color: var(--blue-700); text-decoration: none; }
.contact-map-card { overflow: hidden; border: 1px solid #cfdee8; border-radius: 16px; background: #f0f5f8; }
.contact-map-card iframe { width: 100%; height: 250px; display: block; border: 0; }
.contact-map-card > a { min-height: 49px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; background: #fff; color: var(--blue-700); font-size: 12px; font-weight: 850; text-decoration: none; }
.contact-urgent-note { margin-top: 18px; padding: 15px; display: grid; grid-template-columns: 34px 1fr; gap: 12px; border-radius: 13px; background: #fff7e9; }
.contact-urgent-note > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #e48a00; color: #fff; font-weight: 900; }
.contact-urgent-note strong { color: #7e4d00; font-size: 12px; }
.contact-urgent-note p { margin: 4px 0 0; color: #865f24; font-size: 11px; line-height: 1.5; }

.contact-about-section { padding: 105px 0; background: #fff; }
.about-story-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(410px, .95fr); align-items: center; gap: clamp(55px, 7vw, 100px); }
.about-photo-mosaic { position: relative; min-height: 600px; }
.about-photo-mosaic figure { position: absolute; overflow: hidden; margin: 0; border-radius: 25px; background: #dbe7ee; box-shadow: 0 25px 60px rgba(8,39,61,.16); }
.about-photo-mosaic img { width: 100%; height: 100%; display: block; object-fit: cover; }
.about-photo-primary { inset: 0 70px 90px 0; }
.about-photo-secondary { right: 0; bottom: 0; width: 56%; height: 45%; border: 8px solid #fff; }
.about-story-copy > p:not(.public-kicker) { color: var(--muted); font-size: 15px; line-height: 1.78; }
.about-story-copy ul { margin: 27px 0 0; padding: 0; display: grid; gap: 12px; list-style: none; }
.about-story-copy li { display: flex; align-items: center; gap: 12px; color: #2f4b61; font-size: 13px; font-weight: 800; }
.about-story-copy li span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 9px; background: #e7f7f8; color: #118694; font-size: 10px; }

.contact-services-section { padding: 98px 0 105px; background: #eff5f8; }
.contact-services-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.contact-services-grid article { padding: 26px 24px; border: 1px solid #d4e1e9; border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(8,39,61,.055); transition: transform .2s ease, box-shadow .2s ease; }
.contact-services-grid article:hover { transform: translateY(-4px); box-shadow: 0 20px 42px rgba(8,39,61,.1); }
.contact-services-grid article > .service-icon { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 18px; background: linear-gradient(135deg,#e3f4f8,#eaf1fa); color: var(--blue-700); }
.contact-services-grid .service-icon img { width: 46px; height: 46px; display: block; object-fit: contain; }
.contact-services-grid .service-card-audit .service-icon { background: #e0f6f7; color: #087d8d; }
.contact-services-grid .service-card-support .service-icon { background: #e7f0fb; color: #1461a4; }
.contact-services-grid .service-card-microsoft .service-icon { background: #eeeafa; color: #6250a5; }
.contact-services-grid .service-card-infrastructure .service-icon { background: #fff1d9; color: #ad6600; }
.contact-services-grid h3 { margin: 20px 0 9px; color: var(--navy-900); font-size: 17px; }
.contact-services-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }

@media (max-width: 980px) {
    .contact-hero-grid,
    .contact-layout,
    .about-story-grid { grid-template-columns: 1fr; }
    .contact-hero-proof { max-width: 560px; }
    .contact-details { position: relative; top: auto; }
    .about-photo-mosaic { min-height: 620px; }
    .contact-services-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 700px) {
    .contact-page .public-nav-link,
    .contact-page .nav-audit-button { display: none; }
    .contact-hero { padding: 56px 0 99px; }
    .contact-hero-grid { gap: 38px; }
    .contact-hero h1 { font-size: 42px; }
    .contact-layout { margin-top: -50px; }
    .contact-form-card,
    .contact-details { padding: 25px 20px; border-radius: 19px; }
    .contact-form-grid { grid-template-columns: 1fr; }
    .contact-form .field-wide { grid-column: auto; }
    .contact-about-section,
    .contact-services-section { padding: 72px 0; }
    .about-photo-mosaic { min-height: 470px; }
    .about-photo-primary { inset: 0 35px 70px 0; }
    .about-photo-secondary { width: 63%; height: 42%; }
    .contact-services-grid { grid-template-columns: 1fr; }
}

/* 2026 editorial refresh: navigation, photography and blog filtering */
.public-header-utility { display: none; }
.public-header-main .public-nav { min-height: 82px; }
.site-navigation { gap: clamp(10px, 1.15vw, 19px); }
.site-nav-link { min-height: 82px; }
.site-nav-actions { display: flex; align-items: center; gap: 8px; margin-left: 4px; }
.nav-auditor-login {
    min-height: 42px;
    padding: 0 15px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #173c57;
    border-radius: 10px;
    background: var(--navy-900);
    color: #fff;
    box-shadow: 0 9px 22px rgba(7,31,49,.18);
    font-size: 11px;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.nav-auditor-login span { color: #65d8e1; }
.nav-auditor-login:hover { background: #123b58; box-shadow: 0 13px 28px rgba(7,31,49,.25); transform: translateY(-1px); }
.site-nav-actions .nav-free-audit { margin-left: 0; white-space: nowrap; }
.site-nav-actions .language-switcher { margin-left: 2px; padding: 3px; border-radius: 9px; }
.site-nav-actions .language-switcher a { min-width: 28px; padding: 5px 4px; font-size: 9px; }

.blog-featured-visual { display: block; padding: 0; color: #fff; text-decoration: none; }
.blog-featured-visual img { width: 100%; height: 100%; position: absolute; inset: 0; display: block; object-fit: cover; transition: transform .6s ease; }
.blog-featured-visual::after { position: absolute; inset: 0; border-radius: 0; background: linear-gradient(180deg,rgba(7,31,49,.05),rgba(7,31,49,.62)); content: ""; }
.blog-featured-card:hover .blog-featured-visual img { transform: scale(1.035); }
.blog-featured-visual > span { position: absolute; z-index: 2; top: 30px; left: 30px; }

.blog-section-top { align-items: start; }
.blog-section-top > div { min-width: 0; }
.blog-section-top > span { padding-top: 4px; }
.blog-filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.blog-filter-button,
.blog-year-filter select { min-height: 40px; padding: 0 14px; border: 1px solid #c9dbe6; border-radius: 999px; background: #fff; color: #456074; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease; }
.blog-filter-button:hover { border-color: #7ebdca; color: var(--navy-900); transform: translateY(-1px); }
.blog-filter-button.active { border-color: var(--navy-900); background: var(--navy-900); color: #fff; box-shadow: 0 8px 18px rgba(7,31,49,.15); }
.blog-year-filter { position: relative; }
.blog-year-filter select { min-width: 145px; padding-right: 32px; border-radius: 11px; appearance: auto; }
.blog-filter-status { margin: 0 0 20px; color: #748a9a; font-size: 11px; }
.blog-filter-status strong { color: var(--navy-900); font-size: 13px; }
.blog-filter-empty { margin: 30px 0 0; padding: 28px; border: 1px dashed #bfd2de; border-radius: 16px; color: #61788a; text-align: center; }
.blog-card[hidden],
.blog-featured-section[hidden] { display: none; }
.blog-card { min-height: 510px; padding: 0; overflow: hidden; }
.blog-card-image { height: 190px; display: block; overflow: hidden; background: #dce8ee; }
.blog-card-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .5s ease; }
.blog-card:hover .blog-card-image img { transform: scale(1.045); }
.blog-card-body { min-height: 320px; padding: 23px 24px 22px; display: flex; flex: 1; flex-direction: column; }
.blog-card-body > p { margin: 0 0 20px; color: var(--muted); font-size: 12px; line-height: 1.68; }
.blog-card-body .blog-card-meta { margin-top: auto; padding-top: 18px; border-top: 1px solid #e3ebf0; }
.blog-card-body .blog-card-link { margin-top: 17px; }
.blog-card h2 { margin-top: 24px; }

.blog-article-hero { padding: 64px 0 70px; }
.blog-article-hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(380px,.95fr); align-items: center; gap: clamp(45px,6vw,78px); }
.blog-article-hero-copy { min-width: 0; }
.blog-article-hero h1 { font-size: clamp(38px,4.1vw,59px); text-wrap: balance; }
.blog-article-lead { font-size: 16px; }
.blog-article-hero-media { aspect-ratio: 16/10; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 26px 26px 8px 26px; background: #173c57; box-shadow: 0 30px 70px rgba(0,0,0,.28); }
.blog-article-hero-media img { width: 100%; height: 100%; display: block; object-fit: cover; }
.blog-article-content section { scroll-margin-top: 112px; }
.blog-article-content h2 { text-wrap: balance; }

.contact-hero-media { position: relative; }
.contact-hero-media figure { height: 360px; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 24px 24px 7px 24px; background: #173c57; box-shadow: 0 26px 65px rgba(0,0,0,.27); }
.contact-hero-media figure img { width: 100%; height: 100%; display: block; object-fit: cover; }
.contact-hero-media .contact-hero-proof { width: min(340px,calc(100% - 32px)); position: absolute; right: 16px; bottom: -28px; padding: 17px; background: rgba(7,31,49,.92); box-shadow: 0 18px 38px rgba(0,0,0,.2); }
.zoho-contact-form-shell { min-height: 1650px; overflow: hidden; border: 1px solid #d9e5ec; border-radius: 18px; background: #f8fafb; }
.zoho-contact-form-frame { width: 100%; height: 1650px; display: block; border: 0; background: #fff; }

@media (max-width: 1180px) {
    .site-navigation { gap: 9px; }
    .site-nav-link { font-size: 11px; }
    .nav-auditor-login { padding-inline: 11px; }
    .site-nav-actions .nav-free-audit { padding-inline: 13px; }
}

@media (max-width: 980px) {
    .public-header-main .public-nav { min-height: 68px; }
    .site-navigation { top: 68px; }
    .site-nav-actions { margin: 13px 0 8px; padding-top: 13px; display: grid; grid-template-columns: 1fr 1fr auto; border-top: 1px solid #e3ebf0; }
    .site-nav-actions .nav-free-audit { margin: 0; }
    .nav-auditor-login,
    .site-nav-actions .nav-free-audit { min-height: 46px; }
    .blog-article-hero-grid { grid-template-columns: 1fr; }
    .blog-article-hero-copy { max-width: 780px; }
    .blog-article-hero-media { max-width: 760px; }
}

@media (max-width: 700px) {
    .site-nav-actions { grid-template-columns: 1fr; }
    .site-nav-actions .language-switcher { width: max-content; margin: 4px 0 0 auto; }
    .blog-filter-bar { flex-wrap: nowrap; margin-right: -20px; padding: 2px 20px 10px 0; overflow-x: auto; scrollbar-width: thin; }
    .blog-filter-button { flex: 0 0 auto; }
    .blog-year-filter { flex: 0 0 auto; }
    .blog-card-image { height: 205px; }
    .blog-card-body { min-height: 0; }
    .blog-article-hero { padding: 45px 0 55px; }
    .blog-article-hero h1 { font-size: clamp(34px,10vw,44px); overflow-wrap: anywhere; }
    .blog-article-hero-media { border-radius: 20px 20px 6px 20px; }
    .contact-hero-media figure { height: 300px; }
    .contact-hero-media .contact-hero-proof { position: relative; right: auto; bottom: auto; width: 100%; margin-top: -24px; }
    .zoho-contact-form-shell { min-height: 2100px; margin-inline: -8px; }
    .zoho-contact-form-frame { height: 2100px; }
}

@media (max-width: 460px) {
    .contact-hero h1 { font-size: 37px; }
    .about-photo-mosaic { min-height: 400px; }
    .about-photo-primary { inset: 0 18px 70px 0; }
    .about-photo-secondary { width: 72%; height: 39%; border-width: 5px; }
}

/* Global editorial navigation */
.public-header {
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 0;
    background: rgba(255,255,255,.96);
    box-shadow: 0 8px 28px rgba(7,26,42,.07);
}

.public-header-utility {
    min-height: 32px;
    border-bottom: 1px solid #e2ebf1;
    background: #f4f8fa;
}

.utility-inner {
    min-height: 32px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.auditor-login-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #4d6578;
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
    transition: color .2s ease;
}

.auditor-login-link:hover { color: var(--blue-700); }
.auditor-login-link span { color: var(--cyan-500); }

.public-header-utility .language-switcher {
    padding: 0;
    gap: 1px;
    border: 0;
    border-left: 1px solid #d8e4eb;
    border-radius: 0;
    background: transparent;
}

.public-header-utility .language-switcher a {
    min-width: 29px;
    padding: 3px 6px;
    border-radius: 5px;
    font-size: 9px;
}

.public-header-utility .language-switcher a.active {
    color: var(--blue-700);
    box-shadow: none;
}

.public-header-main { background: rgba(255,255,255,.96); backdrop-filter: blur(18px); }

.public-header-main .public-nav {
    min-height: 76px;
    position: relative;
    justify-content: center;
}

.public-header-main .public-brand {
    position: absolute;
    left: 0;
    z-index: 2;
}

.site-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(12px, 1.5vw, 24px);
}

.site-nav-link {
    min-height: 76px;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 0;
    background: transparent;
    color: #314b60;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

.site-nav-link::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    border-radius: 3px 3px 0 0;
    background: var(--cyan-500);
    content: "";
    opacity: 0;
    transform: scaleX(.4);
    transition: opacity .2s ease, transform .2s ease;
}

.site-nav-link:hover,
.site-nav-link.active,
.site-nav-item.active > .site-nav-link { color: var(--navy-900); }
.site-nav-link:hover::after,
.site-nav-link.active::after,
.site-nav-item.active > .site-nav-link::after { opacity: 1; transform: scaleX(1); }
.site-nav-dropdown-trigger > span { color: #7990a2; font-size: 12px; transition: transform .2s ease; }
.site-nav-dropdown-trigger:focus { outline: 0; }
.site-nav-dropdown-trigger:focus-visible { outline: 3px solid rgba(38,183,200,.25); outline-offset: -4px; border-radius: 8px; }
.site-nav-item.is-open .site-nav-dropdown-trigger > span { transform: rotate(180deg); }

.site-nav-item { position: relative; }

.site-nav-dropdown {
    width: 390px;
    position: absolute;
    top: calc(100% - 8px);
    left: 50%;
    padding: 17px;
    border: 1px solid #d7e4ec;
    border-radius: 17px;
    background: rgba(255,255,255,.99);
    box-shadow: 0 25px 65px rgba(7,31,49,.18);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 9px);
    transition: opacity .2s ease, transform .2s ease;
}

.site-nav-item:hover .site-nav-dropdown,
.site-nav-item:focus-within .site-nav-dropdown,
.site-nav-item.is-open .site-nav-dropdown { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.site-nav-dropdown > p { margin: 0 0 10px; color: #7a8f9e; font-size: 9px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }

.nav-audit-option {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr);
    align-items: center;
    gap: 12px;
    padding: 11px;
    border-radius: 11px;
    color: var(--navy-900);
    text-decoration: none;
    transition: background .18s ease, transform .18s ease;
}

.nav-audit-option:hover { background: #f3f8fa; transform: translateX(3px); }
.nav-audit-option > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #ddf5f7; color: #0d8997; font-size: 10px; font-weight: 900; }
.nav-audit-option.professional > span { background: #e3eff9; color: #1769aa; }
.nav-audit-option.extensive > span { background: #fff0d8; color: #ad6600; }
.nav-audit-option div { display: grid; gap: 2px; }
.nav-audit-option strong { font-size: 12px; }
.nav-audit-option small { color: #6c8191; font-size: 10px; line-height: 1.35; }
.nav-audit-compare { margin-top: 8px; padding: 12px 10px 2px; display: flex; justify-content: space-between; border-top: 1px solid #e3ebf0; color: var(--blue-700); font-size: 11px; font-weight: 850; text-decoration: none; }

.nav-free-audit { min-height: 42px; margin-left: 5px; padding-inline: 17px; border-radius: 10px; font-size: 12px; }
.site-menu-toggle { display: none; }

/* Distinct commercial plans */
.home-offer-card { --plan-color: #16a6b7; --plan-dark: #087d8b; --plan-soft: #e6f8f9; --plan-shadow: rgba(22,166,183,.18); border-color: #a9dfe4; background: linear-gradient(180deg,#f2fcfc 0,#fff 30%); }
.home-offer-card.professional { --plan-color: #1769aa; --plan-dark: #0e568f; --plan-soft: #e8f2fb; --plan-shadow: rgba(23,105,170,.22); border-color: #9cc5e2; background: linear-gradient(180deg,#edf6fc 0,#fff 30%); }
.home-offer-card.extensive { --plan-color: #e58a00; --plan-dark: #a85f00; --plan-soft: #fff3df; --plan-shadow: rgba(229,138,0,.21); border-color: #efc178; background: linear-gradient(180deg,#fff8eb 0,#fff 30%); }
.home-offer-card .offer-topline { height: 7px; background: var(--plan-color); }
.home-offer-card .offer-tag,
.home-offer-card .offer-count { color: var(--plan-dark); }
.home-offer-card .offer-ideal { border: 1px solid color-mix(in srgb, var(--plan-color) 22%, #fff); background: var(--plan-soft); }
.home-offer-card li::before { background: var(--plan-soft); color: var(--plan-dark); }
.home-offer-card .offer-badge { background: var(--plan-color); color: #fff; box-shadow: 0 8px 18px var(--plan-shadow); }
.home-offer-card .offer-link { color: var(--plan-dark); }
.home-offer-card .offer-details-link { border-color: var(--plan-color); background: var(--plan-color); color: #fff; box-shadow: 0 10px 24px var(--plan-shadow); }
.home-offer-card .offer-details-link:hover { border-color: var(--plan-dark); background: var(--plan-dark); box-shadow: 0 16px 30px var(--plan-shadow); }
.home-offer-card:hover { border-color: var(--plan-color); box-shadow: 0 30px 75px var(--plan-shadow); transform: translateY(-13px) scale(1.012); }
.home-offer-card.professional:hover { transform: translateY(-21px) scale(1.012); }

/* Homepage expertise */
.home-expertise-section { padding: 104px 0; background: linear-gradient(135deg,#071f34,#0b3853); color: #fff; }
.home-expertise-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(55px,7vw,100px); }
.home-expertise-visual { position: relative; }
.home-expertise-visual figure { min-height: 510px; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 27px; box-shadow: 0 30px 70px rgba(0,0,0,.26); }
.home-expertise-visual img { width: 100%; height: 100%; min-height: 510px; display: block; object-fit: cover; }
.home-expertise-stamp { position: absolute; right: -25px; bottom: 35px; padding: 18px 21px; display: grid; border: 1px solid rgba(255,255,255,.17); border-radius: 15px; background: rgba(7,31,52,.9); backdrop-filter: blur(12px); }
.home-expertise-stamp strong { font-size: 17px; letter-spacing: .08em; }
.home-expertise-stamp span { color: #8bd9e0; font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.home-expertise-copy .public-kicker { color: #4bd0db; }
.home-expertise-copy h2 { margin: 0; color: #fff; font-size: clamp(34px,4vw,52px); line-height: 1.07; letter-spacing: -.04em; }
.home-expertise-copy > p:not(.public-kicker) { margin: 22px 0 27px; color: #bdd1de; font-size: 16px; line-height: 1.75; }
.home-expertise-points { display: grid; gap: 0; border-top: 1px solid rgba(255,255,255,.12); }
.home-expertise-points > div { padding: 17px 0; display: grid; grid-template-columns: 38px 1fr; gap: 13px; border-bottom: 1px solid rgba(255,255,255,.12); }
.home-expertise-points > div > span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: rgba(53,192,205,.14); color: #62d8e2; font-size: 9px; font-weight: 900; }
.home-expertise-points p { margin: 0; color: #adc3d0; font-size: 12px; line-height: 1.5; }
.home-expertise-points strong { display: block; margin-bottom: 2px; color: #fff; font-size: 13px; }
.expertise-link { margin-top: 28px; display: inline-flex; align-items: center; gap: 11px; color: #64d8e1; font-size: 13px; font-weight: 850; text-decoration: none; }
.expertise-link span { transition: transform .2s ease; }.expertise-link:hover span { transform: translateX(5px); }

/* Dedicated expertise page */
.about-page { background: #fff; }
.about-hero { padding: 82px 0 0; overflow: hidden; background: radial-gradient(circle at 82% 12%,rgba(47,190,202,.17),transparent 26%),linear-gradient(140deg,#071f34,#0b3853); color: #fff; }
.about-hero-grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(390px,.92fr); align-items: center; gap: clamp(50px,7vw,95px); }
.about-hero-copy h1 { margin: 0; color: #fff; font-size: clamp(46px,5.6vw,72px); line-height: 1.02; letter-spacing: -.05em; }
.about-hero-copy > p:not(.public-kicker) { margin: 23px 0 30px; color: #c2d5e1; font-size: 17px; line-height: 1.72; }
.about-hero-copy .button-ghost { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.06); color: #fff; }
.about-hero-visual { position: relative; padding-bottom: 35px; }
.about-hero-visual figure { height: 500px; margin: 0; overflow: hidden; border-radius: 28px 28px 8px 28px; box-shadow: 0 35px 80px rgba(0,0,0,.3); }
.about-hero-visual img { width: 100%; height: 100%; display: block; object-fit: cover; }
.about-hero-badge { position: absolute; right: -22px; bottom: 0; padding: 15px 18px; display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 0 11px; border-radius: 15px; background: #fff; color: var(--navy-900); box-shadow: 0 18px 45px rgba(0,0,0,.2); }
.about-hero-badge > span { grid-row: 1 / 3; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: var(--navy-900); color: #fff; font-weight: 900; }
.about-hero-badge strong { font-size: 13px; }.about-hero-badge small { color: #6e8393; font-size: 8px; font-weight: 850; letter-spacing: .05em; }
.about-proof-grid { margin-top: 70px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.13); }
.about-proof-grid > div { padding: 25px 30px; display: grid; gap: 2px; border-right: 1px solid rgba(255,255,255,.13); }.about-proof-grid > div:last-child { border-right: 0; }
.about-proof-grid strong { color: #5dd2dc; font-size: 18px; }.about-proof-grid span { color: #b7cbd7; font-size: 11px; }
.about-story-section { padding: 110px 0; }
.about-method-section { padding: 100px 0; background: #eff5f8; }
.about-method-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.about-method-grid article { position: relative; padding: 27px 24px; border: 1px solid #d5e2ea; border-radius: 18px; background: #fff; box-shadow: 0 12px 35px rgba(8,39,61,.055); }
.about-method-grid article > span { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid #bfe2e7; border-radius: 14px; background: #e7f7f8; color: #147f91; font-size: 15px; line-height: 1; font-weight: 900; letter-spacing: .04em; }.about-method-grid h3 { margin: 25px 0 9px; color: var(--navy-900); }.about-method-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.about-services-section { padding: 100px 0; background: #fff; }
.about-services-heading { margin-bottom: 45px; display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 80px; }.about-services-heading h2 { margin: 0; color: var(--navy-900); font-size: clamp(34px,4vw,51px); line-height: 1.08; letter-spacing: -.04em; }.about-services-heading > p { margin: 0; color: var(--muted); line-height: 1.75; }
.about-values-section { padding: 95px 0; background: #f5f9fb; }
.about-values-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 17px; }.about-values-grid article { padding: 28px; border: 1px solid #d6e3eb; border-radius: 18px; background: #fff; }.about-values-grid i { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 11px; background: #def4f6; color: #138996; font-style: normal; font-weight: 900; }.about-values-grid h3 { margin: 24px 0 8px; color: var(--navy-900); }.about-values-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.about-final-section { padding: 88px 0; background: #fff; }.about-final-card { padding: 48px 52px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 60px; border-radius: 24px; background: var(--navy-900); color: #fff; }.about-final-card h2 { margin: 0; color: #fff; font-size: clamp(30px,3.7vw,46px); }.about-final-card p:not(.public-kicker) { margin: 15px 0 0; color: #b8ccd8; }.about-final-card > div:last-child { display: grid; gap: 10px; }.about-final-card .button-ghost { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.06); color: #fff; }

@media (max-width: 1120px) {
    .site-navigation { gap: 11px; }
    .site-nav-link { font-size: 12px; }
    .public-header-main .public-brand img { max-width: 145px; }
}

@media (max-width: 980px) {
    .public-header-main .public-nav { min-height: 68px; justify-content: space-between; }
    .public-header-main .public-brand { position: static; }
    .site-menu-toggle { width: 45px; height: 42px; display: grid; place-items: center; border: 1px solid #d4e1e9; border-radius: 11px; background: #fff; color: var(--navy-900); cursor: pointer; }
    .site-menu-toggle-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
    .site-menu-toggle i,
    .site-menu-toggle i::before,
    .site-menu-toggle i::after { width: 19px; height: 2px; display: block; border-radius: 2px; background: currentColor; content: ""; transition: transform .2s ease, opacity .2s ease; }
    .site-menu-toggle i::before { transform: translateY(-6px); }.site-menu-toggle i::after { transform: translateY(4px); }
    .site-menu-toggle[aria-expanded="true"] i { background: transparent; }.site-menu-toggle[aria-expanded="true"] i::before { transform: translateY(1px) rotate(45deg); }.site-menu-toggle[aria-expanded="true"] i::after { transform: translateY(-1px) rotate(-45deg); }
    .site-navigation { max-height: calc(100vh - 100px); position: absolute; top: 68px; right: 0; left: 0; padding: 14px max(20px,calc((100vw - 680px)/2)); display: none; align-items: stretch; flex-direction: column; gap: 2px; overflow-y: auto; border-top: 1px solid #dde7ed; background: #fff; box-shadow: 0 25px 50px rgba(7,31,49,.15); }
    .site-navigation.is-open { display: flex; }
    .site-nav-link { min-height: 48px; justify-content: space-between; border-bottom: 1px solid #edf2f5; }.site-nav-link::after { display: none; }
    .site-nav-item { width: 100%; }
    .site-nav-item > .site-nav-link { width: 100%; }
    .site-nav-dropdown { width: 100%; position: static; display: none; padding: 8px; border: 0; border-radius: 12px; background: #f3f7fa; box-shadow: none; opacity: 1; pointer-events: auto; transform: none; }
    .site-nav-item:hover .site-nav-dropdown,
    .site-nav-item:focus-within .site-nav-dropdown { display: none; }
    .site-nav-item.is-open .site-nav-dropdown { display: block; left: auto; transform: none; }
    .nav-free-audit { margin: 12px 0 8px; }
    body.site-menu-open { overflow: hidden; }
    .home-expertise-grid,
    .about-hero-grid,
    .about-services-heading { grid-template-columns: 1fr; }
    .home-expertise-visual { max-width: 620px; }
    .about-hero-visual { max-width: 650px; }
    .about-method-grid { grid-template-columns: repeat(2,1fr); }
    .about-values-grid { grid-template-columns: 1fr; }
    .about-final-card { grid-template-columns: 1fr; gap: 30px; }
}

@media (max-width: 700px) {
    .public-header-utility .language-switcher { margin-left: auto; }
    .home-expertise-section,
    .about-story-section,
    .about-method-section,
    .about-services-section,
    .about-values-section { padding: 72px 0; }
    .home-expertise-visual figure,
    .home-expertise-visual img { min-height: 390px; }
    .home-expertise-stamp { right: 12px; bottom: 18px; }
    .about-hero { padding-top: 58px; }
    .about-hero-copy h1 { font-size: 42px; }
    .about-hero-copy .hero-actions { width: 100%; }.about-hero-copy .hero-actions .button { width: 100%; }
    .about-hero-visual figure { height: 390px; }
    .about-hero-badge { right: 8px; }
    .about-proof-grid { margin-top: 45px; grid-template-columns: 1fr; }.about-proof-grid > div { padding: 17px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); }
    .about-method-grid { grid-template-columns: 1fr; }
    .about-services-heading { gap: 20px; }
    .about-final-section { padding: 65px 0; }.about-final-card { padding: 35px 24px; }
}

@media (hover: none) {
    .home-offer-card:hover,
    .home-offer-card.professional:hover { transform: none; }
}

/* Editorial resource centre */
.blog-index-page,
.blog-article-page { background: #fff; }

.blog-index-hero {
    padding: 88px 0 100px;
    overflow: hidden;
    background:
        radial-gradient(circle at 83% 18%,rgba(42,191,204,.2),transparent 28%),
        linear-gradient(138deg,#071f34,#0b3853);
    color: #fff;
}

.blog-index-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) 250px; align-items: end; gap: 75px; }
.blog-index-hero h1 { max-width: 900px; margin: 0; color: #fff; font-size: clamp(46px,5.6vw,72px); line-height: 1.02; letter-spacing: -.05em; }
.blog-index-hero-grid > div:first-child > p:last-child { max-width: 770px; margin: 24px 0 0; color: #bfd3df; font-size: 17px; line-height: 1.7; }
.blog-index-counter { padding: 25px; display: grid; border: 1px solid rgba(255,255,255,.16); border-radius: 20px; background: rgba(255,255,255,.06); }
.blog-index-counter strong { color: #55d2dc; font-size: 64px; line-height: 1; }.blog-index-counter span { color: #fff; font-size: 12px; font-weight: 850; }.blog-index-counter i { margin-top: 30px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.13); color: #8aa8b9; font-size: 9px; font-style: normal; font-weight: 900; letter-spacing: .1em; }

.blog-featured-section { padding: 85px 0 55px; background: #f2f7fa; }
.blog-featured-card { display: grid; grid-template-columns: 38% 62%; overflow: hidden; border: 1px solid #cadce7; border-radius: 24px; background: #fff; box-shadow: 0 25px 65px rgba(8,39,61,.1); }
.blog-featured-visual { min-height: 440px; position: relative; padding: 35px; overflow: hidden; background: radial-gradient(circle at 78% 25%,rgba(67,208,219,.26),transparent 24%),linear-gradient(150deg,#08243a,#0d5871); color: #fff; }
.blog-featured-visual::before,
.blog-featured-visual::after { position: absolute; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; content: ""; }.blog-featured-visual::before { width: 330px; height: 330px; right: -110px; bottom: -110px; }.blog-featured-visual::after { width: 210px; height: 210px; right: -50px; bottom: -50px; }
.blog-featured-visual > span { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.23); border-radius: 13px; color: #75e1e8; font-size: 12px; font-weight: 900; }
.blog-featured-visual p { position: absolute; bottom: 33px; left: 35px; z-index: 1; margin: 0; font-size: 27px; font-weight: 900; line-height: 1.03; letter-spacing: -.03em; }
.blog-featured-copy { padding: 48px 52px; display: flex; align-items: flex-start; flex-direction: column; }
.blog-featured-copy h2 { margin: 0; color: var(--navy-900); font-size: clamp(31px,3.4vw,48px); line-height: 1.1; letter-spacing: -.04em; }.blog-featured-copy > p:not(.public-kicker) { margin: 20px 0; color: var(--muted); font-size: 15px; line-height: 1.75; }
.blog-featured-copy > a { margin-top: auto; display: inline-flex; align-items: center; gap: 10px; color: var(--blue-700); font-size: 13px; font-weight: 900; text-decoration: none; }.blog-featured-copy > a span { transition: transform .2s ease; }.blog-featured-copy > a:hover span { transform: translateX(5px); }
.blog-card-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; color: #8296a5; font-size: 10px; font-weight: 750; }

.blog-grid-section { padding: 50px 0 105px; background: #f2f7fa; }
.blog-section-top { margin-bottom: 30px; display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }.blog-section-top > span { max-width: 680px; color: #758b9b; font-size: 10px; line-height: 1.55; text-align: right; }
.blog-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.blog-card { min-height: 430px; padding: 27px 25px 24px; display: flex; flex-direction: column; border: 1px solid #d1e0e9; border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(8,39,61,.045); transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease; }.blog-card:hover { transform: translateY(-7px); border-color: #8dbfd7; box-shadow: 0 22px 50px rgba(8,39,61,.11); }
.blog-card-top { display: flex; justify-content: space-between; align-items: center; }.blog-card-top > span { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 10px; background: #e5f5f7; color: #138895; font-size: 10px; font-weight: 900; }.blog-card-top em { color: #72899a; font-size: 9px; font-style: normal; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.blog-card h2 { margin: 31px 0 13px; font-size: 20px; line-height: 1.25; letter-spacing: -.025em; }.blog-card h2 a { color: var(--navy-900); text-decoration: none; }.blog-card > p { margin: 0 0 20px; color: var(--muted); font-size: 12px; line-height: 1.68; }
.blog-card .blog-card-meta { margin-top: auto; padding-top: 18px; border-top: 1px solid #e3ebf0; }.blog-card-link { margin-top: 17px; display: flex; justify-content: space-between; color: var(--blue-700); font-size: 11px; font-weight: 900; text-decoration: none; }.blog-card-link span { transition: transform .2s ease; }.blog-card:hover .blog-card-link span { transform: translateX(4px); }
.blog-index-cta { padding: 85px 0; background: #fff; }

.blog-article-hero { padding: 76px 0 88px; background: radial-gradient(circle at 82% 20%,rgba(45,195,207,.18),transparent 26%),linear-gradient(138deg,#071f34,#0b3853); color: #fff; }
.blog-article-hero-inner { max-width: 980px; }.blog-back-link { margin-bottom: 45px; display: inline-flex; color: #9eb5c4; font-size: 11px; font-weight: 800; text-decoration: none; }.blog-article-hero h1 { margin: 0; color: #fff; font-size: clamp(43px,5.2vw,68px); line-height: 1.04; letter-spacing: -.05em; }.blog-article-lead { max-width: 850px; margin: 25px 0 29px; color: #c6d9e4; font-size: 18px; line-height: 1.68; }.blog-article-meta { padding-top: 20px; display: flex; flex-wrap: wrap; gap: 12px 30px; border-top: 1px solid rgba(255,255,255,.13); color: #91aaba; font-size: 10px; font-weight: 800; }
.blog-article-layout { padding: 80px 0 110px; display: grid; grid-template-columns: 250px minmax(0,790px); justify-content: center; align-items: start; gap: clamp(50px,7vw,90px); }
.blog-toc { position: sticky; top: 135px; padding: 20px; display: grid; border: 1px solid #d7e3eb; border-radius: 16px; background: #f7fafb; }.blog-toc > strong { margin-bottom: 11px; color: var(--navy-900); font-size: 11px; }.blog-toc a { padding: 8px 0; display: flex; gap: 8px; border-top: 1px solid #e3ebef; color: #607789; font-size: 10px; line-height: 1.35; text-decoration: none; }.blog-toc a:hover { color: var(--blue-700); }.blog-toc a span { color: #1b8997; font-weight: 900; }
.blog-article-content { min-width: 0; color: #344c60; }
.blog-article-content section { scroll-margin-top: 140px; }
.blog-article-content h2 { color: var(--navy-900); font-size: clamp(29px,3.2vw,42px); line-height: 1.15; letter-spacing: -.035em; }.blog-article-content h3 { color: var(--navy-900); }
.blog-article-content p { font-size: 15px; line-height: 1.85; }
.article-citation { margin-left: 3px; color: var(--blue-700); font-size: 10px; font-weight: 900; text-decoration: none; vertical-align: super; }
.article-summary { padding-bottom: 65px; }.article-summary h2 { margin: 0 0 25px; }.article-summary > ul { margin: 30px 0 0; padding: 0; display: grid; gap: 10px; list-style: none; }.article-summary > ul li { padding: 13px 15px; display: grid; grid-template-columns: 25px 1fr; gap: 8px; border-radius: 11px; background: #f1f7f9; font-size: 12px; line-height: 1.55; }.article-summary > ul li > span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 7px; background: #dff3f5; color: #108996; font-size: 9px; }
.article-domain { padding: 67px 0; border-top: 1px solid #dbe5eb; }.article-domain-heading { display: grid; grid-template-columns: 58px minmax(0,1fr); gap: 18px; align-items: start; }.article-domain-heading > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 15px; background: var(--navy-900); color: #61d5df; font-size: 11px; font-weight: 900; }.article-domain-heading p { margin: 0 0 4px; color: #168a98; font-size: 9px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }.article-domain-heading h2 { margin: 0; }.article-domain-intro { margin: 25px 0; padding: 19px 21px; border-left: 4px solid var(--cyan-500); border-radius: 0 12px 12px 0; background: #edf7f8; color: #284e61; font-weight: 700; }
.article-check-grid { margin: 30px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }.article-check-grid > div { padding: 22px; border: 1px solid #d7e3ea; border-radius: 15px; background: #f8fafb; }.article-check-grid h3 { margin: 0 0 14px; font-size: 14px; }.article-check-grid ul { margin: 0; padding-left: 18px; color: #516a7d; font-size: 11px; line-height: 1.6; }.article-check-grid li + li { margin-top: 8px; }
.article-actions-box { margin-top: 30px; padding: 24px; border-radius: 16px; background: var(--navy-900); color: #fff; }.article-actions-box h3 { margin: 0 0 15px; color: #fff; font-size: 13px; }.article-actions-box ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; list-style: none; }.article-actions-box li { display: grid; grid-template-columns: 26px 1fr; gap: 8px; color: #c2d4df; font-size: 10px; line-height: 1.45; }.article-actions-box li span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 7px; background: rgba(65,200,212,.15); color: #62d6df; font-weight: 900; }
.article-roadmap,
.article-prep-checklist,
.article-faq,
.article-sources { padding: 70px 0; border-top: 1px solid #dbe5eb; }.article-roadmap > h2,.article-prep-checklist > h2,.article-faq > h2,.article-sources > h2 { margin: 0 0 20px; }
.article-roadmap > div { margin-top: 30px; display: grid; gap: 12px; }.article-roadmap article { padding: 20px; display: grid; grid-template-columns: 42px 160px 1fr; align-items: start; gap: 15px; border: 1px solid #d9e5eb; border-radius: 14px; background: #f9fbfc; }.article-roadmap article > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: #e2f4f6; color: #108996; font-size: 9px; font-weight: 900; }.article-roadmap h3 { margin: 7px 0 0; font-size: 13px; }.article-roadmap article p { margin: 0; color: #607789; font-size: 11px; line-height: 1.65; }
.article-prep-checklist ul { margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; list-style: none; }.article-prep-checklist li { padding: 13px 14px; display: grid; grid-template-columns: 19px 1fr; gap: 10px; border: 1px solid #dae5eb; border-radius: 11px; color: #455f72; font-size: 11px; }.article-prep-checklist li > span { width: 17px; height: 17px; border: 2px solid #8bbcc6; border-radius: 5px; }
.article-faq details { border-top: 1px solid #dbe5eb; }.article-faq details:last-child { border-bottom: 1px solid #dbe5eb; }.article-faq summary { padding: 19px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--navy-900); font-size: 13px; font-weight: 850; cursor: pointer; list-style: none; }.article-faq summary::-webkit-details-marker { display: none; }.article-faq summary span { color: #168b99; font-size: 19px; transition: transform .2s ease; }.article-faq details[open] summary span { transform: rotate(45deg); }.article-faq details p { margin: 0 0 20px; color: #5a7183; font-size: 12px; }
.article-sources > p:not(.public-kicker) { color: #647b8c; font-size: 11px; }.article-sources ol { margin: 28px 0 0; padding: 0; display: grid; gap: 10px; list-style: none; }.article-sources li { padding: 14px; display: grid; grid-template-columns: 35px 1fr; gap: 12px; border-radius: 11px; background: #f3f7f9; }.article-sources li > span { color: #168a98; font-size: 10px; font-weight: 900; }.article-sources li > div { min-width: 0; display: grid; gap: 3px; }.article-sources strong { color: var(--navy-900); font-size: 11px; }.article-sources small { color: #8093a1; font-size: 9px; }.article-sources a { overflow-wrap: anywhere; color: var(--blue-700); font-size: 9px; text-decoration: none; }
.article-related-section { padding: 90px 0; background: #eff5f8; }.blog-related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }.blog-related-grid article { padding: 25px; border: 1px solid #d4e1e9; border-radius: 17px; background: #fff; }.blog-related-grid article > span { color: #168a98; font-size: 9px; font-weight: 900; text-transform: uppercase; }.blog-related-grid h3 { margin: 18px 0 10px; font-size: 17px; line-height: 1.3; }.blog-related-grid h3 a { color: var(--navy-900); text-decoration: none; }.blog-related-grid p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }

@media (max-width: 980px) {
    .site-navigation .nav-free-audit { display: inline-flex; }
    .home-page .public-header-utility .language-switcher { display: flex; }
    .blog-card-grid { grid-template-columns: repeat(2,1fr); }
    .blog-article-layout { grid-template-columns: 1fr; }
    .blog-toc { position: static; grid-template-columns: repeat(2,1fr); gap: 0 18px; }.blog-toc > strong { grid-column: 1/-1; }
}

@media (max-width: 700px) {
    .blog-index-hero { padding: 60px 0 72px; }.blog-index-hero-grid { grid-template-columns: 1fr; gap: 35px; }.blog-index-hero h1 { font-size: 42px; }.blog-index-counter { max-width: 230px; }
    .blog-featured-card { grid-template-columns: 1fr; }.blog-featured-visual { min-height: 260px; }.blog-featured-copy { padding: 31px 24px; }.blog-featured-copy > a { margin-top: 28px; }
    .blog-section-top { align-items: flex-start; flex-direction: column; gap: 8px; }.blog-section-top > span { text-align: left; }
    .blog-card-grid { grid-template-columns: 1fr; }.blog-card { min-height: 0; }
    .blog-article-hero { padding: 52px 0 65px; }.blog-back-link { margin-bottom: 30px; }.blog-article-hero h1 { font-size: 40px; }.blog-article-lead { font-size: 16px; }
    .blog-article-layout { padding: 50px 0 75px; }.blog-toc { grid-template-columns: 1fr; }.blog-toc > strong { grid-column: auto; }
    .article-check-grid,
    .article-prep-checklist ul,
    .blog-related-grid { grid-template-columns: 1fr; }
    .article-actions-box ol { grid-template-columns: 1fr; }
    .article-roadmap article { grid-template-columns: 38px 1fr; }.article-roadmap article p { grid-column: 2; }
    .article-domain-heading { grid-template-columns: 48px 1fr; }.article-domain-heading > span { width: 46px; height: 46px; }
}

/* Keep the 2026 refresh authoritative over the legacy editorial rules above. */
.public-header-utility { display: none; }
.public-header-main .public-nav { min-height: 82px; }
.site-navigation { gap: clamp(10px,1.15vw,19px); }
.site-nav-link { min-height: 82px; }
.blog-featured-visual { display: block; padding: 0; text-decoration: none; }
.blog-featured-visual img { width: 100%; height: 100%; position: absolute; inset: 0; display: block; object-fit: cover; transition: transform .6s ease; }
.blog-featured-visual::before { display: none; }
.blog-featured-visual::after { position: absolute; inset: 0; width: auto; height: auto; border: 0; border-radius: 0; background: linear-gradient(180deg,rgba(7,31,49,.05),rgba(7,31,49,.62)); content: ""; }
.blog-featured-card:hover .blog-featured-visual img { transform: scale(1.035); }
.blog-featured-visual > span { position: absolute; z-index: 2; top: 30px; left: 30px; }
.blog-section-top { align-items: start; }
.blog-card { min-height: 510px; padding: 0; overflow: hidden; }
.blog-card-body { min-height: 320px; padding: 23px 24px 22px; display: flex; flex: 1; flex-direction: column; }
.blog-card-body > p { margin: 0 0 20px; color: var(--muted); font-size: 12px; line-height: 1.68; }
.blog-card-body .blog-card-meta { margin-top: auto; }
.blog-article-hero { padding: 64px 0 70px; }
.blog-article-hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(380px,.95fr); align-items: center; gap: clamp(45px,6vw,78px); }
.blog-article-hero h1 { font-size: clamp(38px,4.1vw,59px); text-wrap: balance; }
.blog-article-lead { font-size: 16px; }
.blog-article-content section { scroll-margin-top: 112px; }

@media (max-width: 1180px) {
    .site-navigation { gap: 9px; }
    .site-nav-link { font-size: 11px; }
}
@media (max-width: 980px) {
    .public-header-main .public-nav { min-height: 68px; }
    .site-navigation { top: 68px; }
    .blog-article-hero-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .blog-section-top > div {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }
    .blog-filter-bar {
        width: 100%;
        max-width: 100%;
        margin-right: 0;
        padding-right: 0;
        overscroll-behavior-inline: contain;
    }
    .blog-card { min-height: 0; }
    .blog-card-body { min-height: 0; }
    .blog-article-hero { padding: 45px 0 55px; }
    .blog-article-hero h1 { font-size: clamp(34px,10vw,44px); overflow-wrap: anywhere; }
}
.contact-form-card h2 { font-size: clamp(30px,2.75vw,39px); }

.public-error-section {
    min-height: 64vh;
    padding: clamp(80px, 11vw, 150px) 0;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 82% 18%, rgba(45,195,207,.18), transparent 28%), linear-gradient(138deg,#071f34,#0b3853);
}
.public-error-card {
    display: grid;
    grid-template-columns: auto minmax(0, 680px);
    align-items: center;
    justify-content: center;
    gap: clamp(30px, 7vw, 90px);
    color: #fff;
}
.public-error-code {
    color: rgba(99, 220, 229, .2);
    font-size: clamp(110px, 18vw, 250px);
    font-weight: 950;
    line-height: .78;
    letter-spacing: -.08em;
}
.public-error-card h1 { margin: 0; color: #fff; font-size: clamp(40px, 5vw, 66px); line-height: 1.03; letter-spacing: -.045em; }
.public-error-card div > p:not(.public-kicker) { margin: 24px 0 30px; color: #c4d7e2; font-size: 17px; line-height: 1.65; }
.public-error-card .button-ghost { border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.07); color: #fff; }
@media (max-width: 700px) {
    .public-error-card { grid-template-columns: 1fr; gap: 28px; }
    .public-error-code { font-size: 110px; }
}

/* Hot-reload safe public header and article summaries. */
.public-header-utility {
    min-height: 42px;
    display: block;
    border-bottom: 1px solid #dbe6ed;
    background: linear-gradient(90deg,#f4f8fa,#eef5f8);
}
.public-header-utility .utility-inner {
    min-height: 42px;
    justify-content: flex-end;
    gap: 10px;
}
.public-header-utility .nav-auditor-login {
    min-height: 32px;
    padding: 0 13px;
    border-radius: 8px;
    font-size: 10px;
    box-shadow: 0 5px 14px rgba(7,31,49,.12);
}
.public-header-utility .language-switcher {
    padding: 3px;
    display: flex;
    gap: 2px;
    border: 1px solid #d2dfe7;
    border-radius: 8px;
    background: #fff;
}
.public-header-utility .language-switcher a {
    min-width: 29px;
    padding: 4px 5px;
    border-radius: 6px;
    font-size: 9px;
}
.public-header-utility .language-switcher a.active {
    background: var(--navy-900);
    color: #fff;
}
.site-nav-actions { margin-left: 5px; display: flex; }
.article-summary > ul li { grid-template-columns: 25px minmax(0,1fr); align-items: start; }
.article-summary > ul li > div { min-width: 0; }
.article-summary > ul li > div strong { display: block; color: var(--navy-900); }
.article-summary > ul li > div p { margin: 4px 0 0; color: #526b7d; font-size: 12px; line-height: 1.6; overflow-wrap: break-word; }

@media (max-width: 980px) {
    .site-nav-actions { margin: 12px 0 8px; padding-top: 12px; display: block; }
    .site-nav-actions .nav-free-audit { width: 100%; }
}
@media (max-width: 700px) {
    .public-header-utility .utility-inner { justify-content: flex-end; }
    .public-header-utility .language-switcher { margin-left: auto; }
}
