


.hero-editorial {
    padding-top:var(--space-xl);
    padding-bottom:var(--space-2xl);
    border-bottom:var(--border-medium);
    background-color:var(--ground);
    position:relative;
}


.hero-editorial-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--column-gap);
    align-items:start;
}


@media (min-width: 960px) {
    .hero-editorial-grid {
        grid-template-columns:minmax(320px, 1.15fr) minmax(420px, 1.55fr);
        gap:calc(var(--column-gap) * 1.5);
    }
}


.hero-intro {
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
}


.hero-kicker-strip {
    display:flex;
    align-items:center;
    gap:var(--space-xs);
    flex-wrap:wrap;
    padding-bottom:var(--space-xs);
    border-bottom:var(--border-fine);
    font-family:var(--renu-17d);
    font-size:var(--fs-2xs);
    color:var(--stone);
    text-transform:uppercase;
    letter-spacing:0.08em;
}


.hero-title {
    font-family:var(--renu-0be);
    font-size:var(--fs-hero);
    line-height:1.08;
    font-weight:800;
    color:var(--ink);
    letter-spacing:-0.03em;
    text-wrap:balance;
    margin:0;
}


.hero-title .rotating-headline-slot {
    display:inline-block;
    min-width:5.6ch;
    color:var(--clay);
    border-bottom:3px solid var(--clay);
    font-style:italic;
    font-weight:800;
    padding-right:0.15em;
    transition:opacity var(--dur-fast) var(--ease-standard);
}


.hero-standfirst {
    font-family:var(--renu-9e0);
    font-size:var(--fs-md);
    line-height:var(--lh-snug);
    color:var(--ink-muted);
    max-width:var(--measure-narrow);
    margin:0;
}


.hero-metrics-strip {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(130px, 1fr));
    gap:var(--space-xs);
    padding:var(--space-sm) 0;
    border-top:var(--border-fine);
    border-bottom:var(--border-fine);
}


.hero-metric-item {
    display:flex;
    flex-direction:column;
    gap:0.2rem;
}


.hero-metric-val {
    font-family:var(--renu-17d);
    font-size:var(--fs-lg);
    font-weight:600;
    color:var(--ink);
    line-height:1.1;
}


.hero-metric-label {
    font-family:var(--renu-17d);
    font-size:var(--fs-2xs);
    color:var(--stone);
    text-transform:uppercase;
    letter-spacing:0.04em;
}


.hero-cta-cluster {
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-xs);
    align-items:center;
    margin-top:var(--space-xs);
}


.hero-showcase {
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
}


.hero-primary-tile {
    background-color:var(--surface);
    border:var(--border-medium);
    border-radius:var(--radius-md);
    overflow:hidden;
    box-shadow:var(--shadow-subtle);
    transition:border-color var(--dur-fast) var(--ease-standard);
}


.hero-primary-tile:hover { border-color:var(--ink); }


.hero-primary-figure {
    position:relative;
    width:100%;
    aspect-ratio:16 / 10;
    background-color:var(--surface-dim);
    overflow:hidden;
}


.hero-primary-figure img {
    width:100%;
    height:100%;
    object-fit:cover;
}


.hero-primary-overlay {
    position:absolute;
    top:var(--space-sm);
    left:var(--space-sm);
    z-index:2;
}


.hero-primary-body {
    padding:var(--space-md);
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
}


.hero-primary-meta {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-xs);
    font-family:var(--renu-17d);
    font-size:var(--fs-2xs);
    color:var(--stone);
    text-transform:uppercase;
}


.hero-primary-heading {
    font-family:var(--renu-0be);
    font-size:var(--fs-2xl);
    line-height:var(--lh-heading);
    color:var(--ink);
    margin:0;
}


.hero-primary-text {
    font-size:var(--fs-sm);
    line-height:var(--lh-snug);
    color:var(--ink-muted);
}


.hero-subtiles-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-sm);
}


@media (min-width: 600px) {
    .hero-subtiles-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}


.subtile {
    background-color:var(--surface);
    border:var(--border-fine);
    border-radius:var(--radius-md);
    padding:var(--space-sm);
    display:flex;
    gap:var(--space-sm);
    align-items:flex-start;
    transition:border-color var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard);
}


.subtile:hover {
    border-color:var(--border-strong);
    background-color:var(--surface-raised);
}


.subtile-thumb {
    width:76px;
    height:76px;
    border-radius:var(--radius-sm);
    overflow:hidden;
    flex-shrink:0;
    background-color:var(--surface-dim);
}


.subtile-thumb img {
    width:100%;
    height:100%;
    object-fit:cover;
}




.subtile-kicker {
    font-family:var(--renu-17d);
    font-size:var(--fs-2xs);
    color:var(--clay);
    text-transform:uppercase;
    font-weight:600;
}


.subtile-title {
    font-family:var(--renu-0be);
    font-size:var(--fs-sm);
    font-weight:700;
    line-height:1.25;
    color:var(--ink);
    margin:0;
}


.subtile-title a { color:inherit; }


.subtile-title a:hover { color:var(--clay); }


.subtile-meta {
    font-family:var(--renu-17d);
    font-size:var(--fs-2xs);
    color:var(--stone);
    font-weight:500;
}





.held-layout {
    display:grid;

    grid-template-columns:1fr;
    gap:var(--space-lg);
    align-items:start;
}


@media (min-width: 860px) {
    .held-layout {
        grid-template-columns:minmax(290px, 1fr) minmax(380px, 1.55fr);
        gap:calc(var(--column-gap) * 1.4);
    }


    .held-layout.reverse-columns { grid-template-columns:minmax(380px, 1.55fr) minmax(290px, 1fr); }


    .held-column {
        position:sticky;
        top:calc(4.5rem + var(--space-md));
        align-self:start;
        padding-bottom:var(--space-xl);
    }
}




.scrolling-column {
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:var(--space-lg);
}



.telemetry-scene-section {
    padding-top:var(--space-2xl);
    padding-bottom:var(--space-3xl);
    background-color:var(--ink);
    color:var(--surface-raised);
    border-top:3px solid var(--clay);

    border-bottom:3px solid var(--clay);
    position:relative;
    overflow:hidden;
}


.telemetry-scene-intro { margin-bottom:var(--space-xl); }


.telemetry-scene-intro h2 {
    color:#fff;
    margin-bottom:var(--space-xs);
}


.telemetry-scene-intro p {
    color:#c8beba;
    max-width:var(--measure-wide);
    font-size:var(--fs-md);
}


.telemetry-stage {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-md);
    position:relative;

}


@media (min-width: 768px) {
    .telemetry-stage { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}


@media (min-width: 1040px) {
    .telemetry-stage { grid-template-columns:repeat(5, minmax(0, 1fr)); }
}


.telemetry-card {
    background-color:#2d2625;
    border:1px solid #4d4341;
    border-radius:var(--radius-md);
    padding:var(--space-md);
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
    position:relative;
    transform-origin:bottom center;
    transition:transform var(--dur-base) var(--ease-standard), border-color var(--dur-base) var(--ease-standard), background-color var(--dur-base) var(--ease-standard);
}


.telemetry-card:hover {
    background-color:#38302e;
    border-color:var(--clay);
    transform:translateY(-4px);
}




.telemetry-card-val {
    font-family:var(--renu-17d);
    font-size:var(--fs-3xl);
    font-weight:700;
    color:#fff;
    line-height:1;
}


.telemetry-card-unit {
    font-size:var(--fs-xs);
    font-weight:400;
    color:#c8beba;
    margin-left:0.2rem;
}


.telemetry-card-title {
    font-family:var(--renu-0be);
    font-size:var(--fs-md);
    color:#fff;
    margin:0;
}


.telemetry-card-desc {
    font-size:var(--fs-xs);
    line-height:var(--lh-snug);
    color:#a49794;
    margin:0;
}


.telemetry-card-benchmark {
    margin-top:auto;
    padding-top:var(--space-xs);
    border-top:1px solid #4d4341;
    display:flex;
    align-items:center;
    justify-content:space-between;
    font-family:var(--renu-17d);
    font-size:var(--fs-2xs);
    color:#c8beba;
}


.telemetry-card-benchmark span.status {
    color:#52b788;
    font-weight:600;
}


/* Scroll-driven enhancement where supported */
@supports (animation-timeline: view()) {
    @media (min-width: 1040px) and (prefers-reduced-motion: no-preference) {
        .telemetry-stage {
            view-timeline-name:--telemetry-view;
            view-timeline-axis:block;
        }


        .telemetry-card:nth-child(1) {
            animation:fanTelemetry1 linear both;
            animation-timeline:--telemetry-view;
            animation-range:entry 10% contain 45%;
        }


        .telemetry-card:nth-child(2) {
            animation:fanTelemetry2 linear both;
            animation-timeline:--telemetry-view;
            animation-range:entry 15% contain 50%;
        }


        .telemetry-card:nth-child(3) {
            animation:fanTelemetry3 linear both;
            animation-timeline:--telemetry-view;
            animation-range:entry 20% contain 55%;
        }


        .telemetry-card:nth-child(4) {
            animation:fanTelemetry4 linear both;
            animation-timeline:--telemetry-view;
            animation-range:entry 25% contain 60%;
        }


        .telemetry-card:nth-child(5) {
            animation:fanTelemetry5 linear both;
            animation-timeline:--telemetry-view;
            animation-range:entry 30% contain 65%;
        }


        @keyframes fanTelemetry1 {
            0% {
                transform:translateY(28px) rotate(-4deg);
                opacity:0.7;
            }
            100% {
                transform:translateY(0) rotate(0deg);
                opacity:1;
            }
        }


        @keyframes fanTelemetry2 {
            0% {
                transform:translateY(20px) rotate(-2deg);
                opacity:0.75;
            }
            100% {
                transform:translateY(0) rotate(0deg);
                opacity:1;
            }
        }


        @keyframes fanTelemetry3 {
            0% {
                transform:translateY(12px) scale(0.97);
                opacity:0.8;
            }
            100% {
                transform:translateY(0) scale(1);
                opacity:1;
            }
        }


        @keyframes fanTelemetry4 {
            0% {
                transform:translateY(20px) rotate(2deg);
                opacity:0.75;
            }
            100% {
                transform:translateY(0) rotate(0deg);
                opacity:1;
            }
        }


        @keyframes fanTelemetry5 {
            0% {
                transform:translateY(28px) rotate(4deg);
                opacity:0.7;
            }
            100% {
                transform:translateY(0) rotate(0deg);
                opacity:1;
            }
        }
    }
}



.visual-feature-card {
    background-color:var(--surface);
    border:var(--border-fine);
    border-radius:var(--radius-md);
    overflow:hidden;
    display:flex;
    flex-direction:column;
}


.visual-feature-media {
    width:100%;
    aspect-ratio:16 / 9;
    background-color:var(--surface-dim);
    overflow:hidden;
}


.visual-feature-media img {
    width:100%;
    height:100%;
    object-fit:cover;
}


.visual-feature-content {
    padding:var(--space-md);
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
}


.visual-feature-heading {
    font-family:var(--renu-0be);
    font-size:var(--fs-xl);
    color:var(--ink);
    margin:0;
}


.visual-feature-heading a { color:inherit; }


.visual-feature-heading a:hover { color:var(--clay); }


.visual-feature-desc {
    font-size:var(--fs-sm);
    line-height:var(--lh-snug);
    color:var(--ink-muted);
    margin:0;
}


.visual-strip-row {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
    gap:var(--space-sm);
}


.visual-strip-item {
    background-color:var(--surface);
    border:var(--border-fine);
    border-radius:var(--radius-sm);
    overflow:hidden;
    display:flex;
    flex-direction:column;
}


.visual-strip-item img {
    width:100%;
    aspect-ratio:4 / 3;
    object-fit:cover;
}


.visual-strip-caption {
    padding:var(--space-xs) var(--space-sm);
    font-family:var(--renu-17d);
    font-size:var(--fs-2xs);
    color:var(--ink);
    line-height:1.3;
    border-top:var(--border-fine);
}


.curriculum-stack {
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
}


.curriculum-module {
    background-color:var(--surface-raised);
    border:var(--border-fine);
    border-radius:var(--radius-md);
    padding:var(--space-md);
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-xs);
    box-shadow:var(--shadow-subtle);
    transition:border-color var(--dur-fast) var(--ease-standard);
}


.curriculum-module:hover { border-color:var(--border-strong); }


@media (min-width: 640px) {
    .curriculum-module {
        grid-template-columns:minmax(130px, 0.45fr) 1fr;
        gap:var(--space-md);
    }
}


.curriculum-module-badge {
    font-family:var(--renu-17d);
    font-size:var(--fs-xs);
    font-weight:600;
    color:var(--clay);
    line-height:1.2;
}


.curriculum-module-title {
    font-family:var(--renu-0be);
    font-size:var(--fs-lg);
    color:var(--ink);
    margin:0 0 0.35rem 0;
}


.curriculum-module-body {
    font-size:var(--fs-xs);
    line-height:var(--lh-snug);
    color:var(--ink-muted);
    margin:0;
}


.curriculum-module-specs {
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-xs);
    margin-top:var(--space-xs);
    font-family:var(--renu-17d);
    font-size:var(--fs-2xs);
    color:var(--stone);
}


.quote-editorial {
    background-color:var(--surface-raised);
    border-left:4px solid var(--clay);
    border-radius:0 var(--radius-md) var(--radius-md) 0;
    padding:var(--space-lg);
    margin:0;
    box-shadow:var(--shadow-subtle);
}


.quote-editorial p {
    font-family:var(--renu-0be);
    font-size:var(--fs-lg);
    line-height:var(--lh-snug);
    color:var(--ink);
    font-style:italic;
    max-width:100%;
    margin-bottom:var(--space-sm);
}


.quote-editorial cite {
    display:flex;
    flex-direction:column;
    gap:0.15rem;
    font-family:var(--renu-17d);
    font-size:var(--fs-xs);
    color:var(--ink-muted);
    font-style:normal;
}


.quote-editorial cite strong {
    color:var(--ink);
    font-weight:600;
}


.proof-ledger {
    display:flex;
    flex-direction:column;
    border:var(--border-medium);
    border-radius:var(--radius-md);
    background-color:var(--surface-raised);
    overflow:hidden;
}


.proof-ledger-row {
    display:grid;
    grid-template-columns:1fr;
    gap:0.25rem;
    padding:var(--space-sm) var(--space-md);
    border-bottom:var(--border-fine);
    font-family:var(--renu-17d);
    font-size:var(--fs-xs);
}


.proof-ledger-row:last-child { border-bottom:none; }


@media (min-width: 600px) {
    .proof-ledger-row {
        grid-template-columns:minmax(180px, 0.5fr) 1fr;
        gap:var(--space-md);
        align-items:baseline;
    }
}


.proof-ledger-label {
    font-weight:600;
    color:var(--ink);
}


.proof-ledger-val { color:var(--ink-muted); }



.configurator-shell {
    background-color:var(--surface);
    border:var(--border-medium);
    border-radius:var(--radius-md);
    padding:var(--space-lg);
    box-shadow:var(--shadow-card);
    display:flex;
    flex-direction:column;
    gap:var(--space-lg);
}


.configurator-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-lg);
}


@media (min-width: 960px) {
    .configurator-grid { grid-template-columns:minmax(360px, 1.4fr) minmax(300px, 1fr); }
}


.configurator-controls {
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
}


.configurator-fieldset {
    border:var(--border-fine);
    border-radius:var(--radius-sm);
    padding:var(--space-md);
    background-color:var(--surface-raised);
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
}


.configurator-legend {
    font-family:var(--renu-17d);
    font-size:var(--fs-xs);
    font-weight:600;
    color:var(--ink);
    text-transform:uppercase;
    letter-spacing:0.05em;
    padding:0 0.35rem;
}


.configurator-options-row {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
    gap:var(--space-xs);
    margin-top:0.25rem;
}


.config-radio-label {
    display:flex;
    flex-direction:column;
    gap:0.2rem;
    padding:var(--space-xs) var(--space-sm);
    border:var(--border-medium);
    border-radius:var(--radius-sm);
    background-color:var(--surface);
    cursor:pointer;
    transition:border-color var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard);
    position:relative;
}


.config-radio-label:hover {
    background-color:var(--surface-dim);
    border-color:var(--ink);
}


.config-radio-label:has(input:checked) {
    background-color:rgba(172, 92, 72, 0.08);
    border-color:var(--clay);
    border-width:2px;
    padding:calc(var(--space-xs) - 1px) calc(var(--space-sm) - 1px);
}


.config-radio-label input {
    position:absolute;
    opacity:0;
    width:0;
    height:0;
}


.config-radio-name {
    font-family:var(--renu-17d);
    font-size:var(--fs-xs);
    font-weight:600;
    color:var(--ink);
}


.config-radio-rate {
    font-family:var(--renu-17d);
    font-size:var(--fs-2xs);
    color:var(--stone);
}


.configurator-stepper {
    display:flex;
    align-items:center;
    gap:var(--space-xs);
    margin-top:0.25rem;
}


.configurator-range-slider {
    width:100%;
    accent-color:var(--clay);
    cursor:pointer;
}


.configurator-result-box {
    background-color:var(--surface-raised);
    border:2px solid var(--clay);
    border-radius:var(--radius-md);
    padding:var(--space-lg);
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
    box-shadow:var(--shadow-subtle);
    position:sticky;
    top:calc(4.5rem + var(--space-md));
    align-self:start;
}


.configurator-result-header {
    display:flex;
    flex-direction:column;
    gap:0.25rem;
    border-bottom:var(--border-fine);
    padding-bottom:var(--space-sm);
}


.configurator-result-title {
    font-family:var(--renu-0be);
    font-size:var(--fs-lg);
    color:var(--ink);
    margin:0;
}


.configurator-price-display {
    display:flex;
    align-items:baseline;
    gap:0.4rem;
    margin:var(--space-xs) 0;
}


.configurator-price-num {
    font-family:var(--renu-17d);
    font-size:var(--fs-3xl);
    font-weight:700;
    color:var(--clay);
    line-height:1;
}


.configurator-price-unit {
    font-family:var(--renu-17d);
    font-size:var(--fs-xs);
    color:var(--stone);
}


.configurator-note-box {
    font-family:var(--renu-17d);
    font-size:var(--fs-xs);
    line-height:var(--lh-snug);
    color:var(--ink-muted);
    background-color:var(--surface-dim);
    padding:var(--space-sm);
    border-radius:var(--radius-xs);
    border-left:3px solid var(--stone);
}


.configurator-status-live {
    font-family:var(--renu-17d);
    font-size:var(--fs-2xs);
    color:var(--success);
    font-weight:600;
}


.configurator-breakdown-list {
    display:flex;
    flex-direction:column;
    gap:var(--space-2xs);
    font-family:var(--renu-17d);
    font-size:var(--fs-xs);
    border-bottom:var(--border-fine);
    padding-bottom:var(--space-sm);
}


.configurator-breakdown-item {
    display:flex;
    justify-content:space-between;
    color:var(--ink-muted);
}


.configurator-breakdown-item.total {
    font-weight:600;
    color:var(--ink);
    padding-top:var(--space-2xs);
    border-top:1px dashed var(--border);
}





.service-masthead {
    padding-top:var(--space-xl);
    padding-bottom:var(--space-xl);
    border-bottom:var(--border-fine);
    background-color:var(--surface);
}


.service-masthead-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-md);
    align-items:center;
}


@media (min-width: 860px) {
    .service-masthead-grid {
        grid-template-columns:minmax(320px, 1.3fr) minmax(280px, 1fr);
        gap:var(--column-gap);
    }
}


.service-masthead-content {
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
}


.service-masthead-title {
    font-family:var(--renu-0be);
    font-size:var(--fs-3xl);
    line-height:var(--lh-tight);
    color:var(--ink);
    margin:0;
}


.service-masthead-price-pill {
    display:inline-flex;
    align-items:baseline;
    gap:0.35rem;
    background-color:var(--surface-raised);
    border:var(--border-medium);
    border-radius:var(--radius-sm);
    padding:0.4rem 0.85rem;
    align-self:flex-start;
    margin:var(--space-2xs) 0;
}


.service-masthead-price-num {
    font-family:var(--renu-17d);
    font-size:var(--fs-xl);
    font-weight:700;
    color:var(--clay);
}


.service-masthead-price-basis {
    font-family:var(--renu-17d);
    font-size:var(--fs-2xs);
    color:var(--stone);
}


.service-masthead-figure {
    width:100%;
    aspect-ratio:16 / 10;
    border-radius:var(--radius-md);
    overflow:hidden;
    border:var(--border-fine);
    background-color:var(--surface-dim);
}


.service-masthead-figure img {
    width:100%;
    height:100%;
    object-fit:cover;
}


.specs-block-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
    gap:var(--space-md);
}


.specs-block-item {
    background-color:var(--surface-raised);
    border:var(--border-fine);
    border-radius:var(--radius-sm);
    padding:var(--space-md);
    display:flex;
    flex-direction:column;
    gap:0.25rem;
}




.specs-block-title {
    font-family:var(--renu-0be);
    font-size:var(--fs-md);
    color:var(--ink);
    margin:0;
}


.specs-block-val {
    font-size:var(--fs-xs);
    line-height:var(--lh-snug);
    color:var(--ink-muted);
}



.privacy-page-header {
    padding-top:var(--space-xl);
    padding-bottom:var(--space-lg);
    border-bottom:var(--border-medium);
}


.privacy-controls-bar {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-sm);
    padding:var(--space-sm) 0;
    margin-top:var(--space-sm);
    border-top:var(--border-fine);
}


.privacy-controls-group {
    display:flex;
    align-items:center;
    gap:var(--space-xs);
    flex-wrap:wrap;
}


.privacy-stack-wrap {
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
    padding:var(--space-xl) 0;
}


.disclosure-block {
    background-color:var(--surface-raised);
    border:var(--border-medium);
    border-radius:var(--radius-md);
    overflow:hidden;
    transition:border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);
}


.disclosure-block:hover { border-color:var(--ink); }


.disclosure-block[open] {
    border-color:var(--clay);
    box-shadow:var(--shadow-subtle);
}


.disclosure-summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-md);
    padding:var(--space-md) var(--space-lg);
    background-color:var(--surface);
    cursor:pointer;
    user-select:none;
    font-family:var(--renu-0be);
    font-size:var(--fs-lg);
    font-weight:700;
    color:var(--ink);
    list-style:none;
    transition:background-color var(--dur-fast) var(--ease-standard);
}


.disclosure-summary::-webkit-details-marker { display:none; }


.disclosure-summary:hover { background-color:var(--surface-dim); }


.disclosure-summary:focus-visible {
    outline:2px solid var(--clay);
    outline-offset:-2px;
}


.disclosure-summary-text { flex:1 1 auto; }


.disclosure-summary-icon {
    width:28px;
    height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:var(--radius-xs);
    border:var(--border-fine);
    background-color:var(--surface-raised);
    color:var(--ink);
    flex-shrink:0;
    transition:transform var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard);
}


.disclosure-block[open] .disclosure-summary-icon {
    transform:rotate(180deg);
    background-color:var(--clay);
    color:#fff;
    border-color:var(--clay);
}


.disclosure-content {
    padding:var(--space-lg);
    border-top:var(--border-fine);
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
    font-size:var(--fs-sm);
    line-height:var(--lh-body);
    color:var(--ink-muted);
}


.disclosure-content p:last-child { margin-bottom:0; }


.disclosure-content h3,
.disclosure-content h4 {
    margin-top:var(--space-sm);
    margin-bottom:var(--space-2xs);
    color:var(--ink);
}


.disclosure-block:target {
    outline:3px solid var(--clay);
    outline-offset:4px;
}




.document-card-page-wrap {
    padding-top:var(--space-xl);
    padding-bottom:var(--space-3xl);
}


.document-card {
    background-color:var(--surface-raised);
    border:var(--border-medium);
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-card);
    max-width:920px;
    margin-left:auto;
    margin-right:auto;
    padding:clamp(1.5rem, 5vw, 3.5rem);
    position:relative;
}


.document-masthead-block {
    border-bottom:2px solid var(--ink);
    padding-bottom:var(--space-lg);
    margin-bottom:var(--space-xl);
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
}


.document-meta-ledger {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
    gap:var(--space-xs);
    padding:var(--space-sm);
    background-color:var(--surface);
    border:var(--border-fine);
    border-radius:var(--radius-sm);
    font-family:var(--renu-17d);
    font-size:var(--fs-2xs);
}


.document-meta-item {
    display:flex;
    flex-direction:column;
    gap:0.15rem;
}


.document-meta-label {
    color:var(--stone);
    text-transform:uppercase;
    letter-spacing:0.05em;
}


.document-meta-val {
    color:var(--ink);
    font-weight:600;
}


.document-title {
    font-family:var(--renu-0be);
    font-size:var(--fs-3xl);
    line-height:var(--lh-tight);
    color:var(--ink);
    margin:0;
}


.document-clause-stack {
    display:flex;
    flex-direction:column;
    gap:var(--space-xl);
}


.document-clause {
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
    position:relative;
    padding-bottom:var(--space-lg);
    border-bottom:var(--border-fine);
}


.document-clause:last-child {
    border-bottom:none;
    padding-bottom:0;
}


.document-clause-header {
    display:flex;
    align-items:baseline;
    gap:var(--space-xs);
    margin-bottom:var(--space-2xs);
}


.document-clause-num {
    font-family:var(--renu-17d);
    font-size:var(--fs-xs);
    font-weight:600;
    color:var(--clay);
    text-transform:uppercase;
    letter-spacing:0.05em;
}


.document-clause-heading {
    font-family:var(--renu-0be);
    font-size:var(--fs-xl);
    color:var(--ink);
    margin:0;
}


.document-clause p {
    font-size:var(--fs-sm);
    line-height:var(--lh-body);
    color:var(--ink-muted);
    max-width:100%;
}



.ledger-page-wrap {
    padding-top:var(--space-xl);
    padding-bottom:var(--space-3xl);
}


.ledger-intro-block {
    margin-bottom:var(--space-xl);
    border-bottom:var(--border-medium);
    padding-bottom:var(--space-lg);
}


.clause-ledger-wrap {
    width:100%;
    border:var(--border-medium);
    border-radius:var(--radius-md);
    background-color:var(--surface-raised);
    overflow:hidden;
    box-shadow:var(--shadow-subtle);
}


.clause-ledger-table {
    width:100%;
    border-collapse:collapse;
    font-family:var(--renu-9e0);
}


.clause-ledger-table thead {
    background-color:var(--ink);
    color:var(--surface-raised);
}


.clause-ledger-table th {
    padding:var(--space-sm) var(--space-md);
    text-align:left;
    font-family:var(--renu-17d);
    font-size:var(--fs-xs);
    font-weight:600;
    letter-spacing:0.05em;
    text-transform:uppercase;
    border-bottom:2px solid var(--clay);
}


.clause-ledger-table tbody tr {
    border-bottom:var(--border-fine);
    transition:background-color var(--dur-fast) var(--ease-standard);
}


.clause-ledger-table tbody tr:hover { background-color:rgba(237, 230, 228, 0.4); }


.clause-ledger-table tbody tr:last-child { border-bottom:none; }


.clause-ledger-table td {
    padding:var(--space-md);
    vertical-align:top;
    font-size:var(--fs-xs);
    line-height:var(--lh-snug);
}


.clause-ledger-id-cell {
    width:22%;
    font-family:var(--renu-17d);
    font-weight:600;
    color:var(--ink);
}


.clause-ledger-meaning-cell {
    width:44%;
    color:var(--ink-muted);
}


.clause-ledger-apply-cell {
    width:34%;
    color:var(--ink);
}


/* Mobile transformation for Clause Ledger */
@media (max-width: 767px) {
    .clause-ledger-table,
    .clause-ledger-table thead,
    .clause-ledger-table tbody,
    .clause-ledger-table tr,
    .clause-ledger-table td {
        display:block;
        width:100%;
    }


    .clause-ledger-table thead { display:none; }


    .clause-ledger-table tbody tr {
        padding:var(--space-md);
        border-bottom:2px solid var(--border-strong);
        display:flex;
        flex-direction:column;
        gap:var(--space-xs);
    }


    .clause-ledger-table td {
        padding:0;
        width:100% !important;
    }


    .clause-ledger-id-cell {
        font-size:var(--fs-sm);
        color:var(--clay);
        border-bottom:1px dashed var(--border);
        padding-bottom:0.35rem !important;
    }


    .clause-ledger-meaning-cell::before {
        content:'Plain English Meaning: ';
        font-family:var(--renu-17d);
        font-weight:600;
        color:var(--stone);
        font-size:var(--fs-2xs);
        display:block;
        margin-bottom:0.15rem;
        text-transform:uppercase;
    }


    .clause-ledger-apply-cell::before {
        content:'Why It Applies at Pine Hyrst: ';
        font-family:var(--renu-17d);
        font-weight:600;
        color:var(--stone);
        font-size:var(--fs-2xs);
        display:block;
        margin-bottom:0.15rem;
        text-transform:uppercase;
    }
}



.contact-hero {
    padding-top:var(--space-xl);
    padding-bottom:var(--space-2xl);
}


.contact-layout-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-xl);
}


@media (min-width: 900px) {
    .contact-layout-grid {
        grid-template-columns:minmax(320px, 1.2fr) minmax(380px, 1.5fr);
        gap:calc(var(--column-gap) * 1.5);
    }
}


.contact-coordinates-card {
    background-color:var(--surface);
    border:var(--border-medium);
    border-radius:var(--radius-md);
    padding:var(--space-lg);
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
    box-shadow:var(--shadow-subtle);
}


.contact-address-block {
    display:flex;
    flex-direction:column;
    gap:0.25rem;
    border-bottom:var(--border-fine);
    padding-bottom:var(--space-md);
}


.contact-address-title {
    font-family:var(--renu-17d);
    font-size:var(--fs-2xs);
    color:var(--stone);
    text-transform:uppercase;
    letter-spacing:0.05em;
}


.contact-address-line {
    font-family:var(--renu-0be);
    font-size:var(--fs-xl);
    font-weight:700;
    color:var(--ink);
    line-height:1.2;
}


.contact-actions-row {
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-xs);
}


.transit-ledger {
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
    font-family:var(--renu-17d);
    font-size:var(--fs-xs);
    border-top:var(--border-fine);
    padding-top:var(--space-md);
}


.transit-item {
    display:flex;
    align-items:flex-start;
    gap:0.5rem;
    color:var(--ink-muted);
}


.transit-item .icon {
    color:var(--clay);
    margin-top:0.2rem;
}



.faq-stack {
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
}


.faq-item {
    border:var(--border-fine);
    border-radius:var(--radius-sm);
    background-color:var(--surface-raised);
    overflow:hidden;
    transition:border-color var(--dur-fast) var(--ease-standard);
}


.faq-item:hover { border-color:var(--ink); }


.faq-trigger {
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-md);
    padding:var(--space-md);
    font-family:var(--renu-0be);
    font-size:var(--fs-md);
    font-weight:700;
    color:var(--ink);
    background-color:var(--surface);
    text-align:left;
    cursor:pointer;
    border:none;
    transition:background-color var(--dur-fast) var(--ease-standard);
}


.faq-trigger:hover { background-color:var(--surface-dim); }


.faq-trigger:focus-visible {
    outline:2px solid var(--clay);
    outline-offset:-2px;
}


.faq-trigger-icon {
    width:20px;
    height:20px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:transform var(--dur-fast) var(--ease-standard);
}


.faq-item.is-open .faq-trigger-icon { transform:rotate(180deg); }


.faq-item.is-open .faq-trigger {
    border-bottom:var(--border-fine);
    background-color:var(--surface-raised);
    color:var(--clay);
}


.faq-content {
    display:none;
    padding:var(--space-md);
    font-size:var(--fs-xs);
    line-height:var(--lh-snug);
    color:var(--ink-muted);
}


.faq-item.is-open .faq-content { display:block; }



.confirmation-card {
    max-width:680px;
    margin:var(--space-3xl) auto;
    background-color:var(--surface-raised);
    border:2px solid var(--clay);
    border-radius:var(--radius-md);
    padding:clamp(1.5rem, 5vw, 3rem);
    box-shadow:var(--shadow-card);
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
    text-align:center;
    align-items:center;
}


.confirmation-icon-wrap {
    width:64px;
    height:64px;
    border-radius:50%;
    background-color:rgba(172, 92, 72, 0.12);
    color:var(--clay);
    display:flex;
    align-items:center;
    justify-content:center;
}


.confirmation-icon-wrap .icon {
    width:32px;
    height:32px;
}


.confirmation-heading {
    font-family:var(--renu-0be);
    font-size:var(--fs-2xl);
    color:var(--ink);
    margin:0;
}


.confirmation-receipt-box {
    width:100%;
    background-color:var(--surface);
    border:var(--border-fine);
    border-radius:var(--radius-sm);
    padding:var(--space-md);
    text-align:left;
    display:flex;
    flex-direction:column;
    gap:var(--space-2xs);
    font-family:var(--renu-17d);
    font-size:var(--fs-xs);
}


.confirmation-receipt-row {
    display:flex;
    justify-content:space-between;
    padding:0.2rem 0;
}


.error-404-shell {
    min-height:60vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:var(--space-3xl) var(--container-pad);
    gap:var(--space-md);
}


.error-404-code {
    font-family:var(--renu-17d);
    font-size:clamp(4rem, 12vw, 8rem);
    font-weight:800;
    line-height:1;
    color:var(--stone);
    opacity:0.4;
}


.error-404-title {
    font-family:var(--renu-0be);
    font-size:var(--fs-3xl);
    color:var(--ink);
    margin:0;
}



@media print {
    .site-header,
    .site-footer,
    .cookie-banner,
    .chat-widget,
    .marquee-strip,
    .privacy-controls-bar,
    .btn { display:none !important; }


    body, html {
        background:#fff !important;
        color:#000 !important;
        font-size:11pt !important;
    }


    .document-card,
    .privacy-stack-wrap,
    .clause-ledger-wrap {
        box-shadow:none !important;
        border:none !important;
        max-width:100% !important;
        padding:0 !important;
    }


    .disclosure-block {
        border:1px solid #ccc !important;
        margin-bottom:12pt !important;
        page-break-inside:avoid;
    }


    .disclosure-block details,
    details.disclosure-block { display:block !important; }


    .disclosure-block[open] .disclosure-content,
    .disclosure-content { display:block !important; }


    a[href]::after {
        content:' (' attr(href) ')';
        font-size:85%;
    }


    a[href^='#']::after,
    a[href^='javascript:']::after { content:""; }
}
