.hero-opening {
    position:relative;
    min-height:auto;
    aspect-ratio:16 / 9;
    display:flex;
    align-items:center;
    overflow:hidden;
    background-color:var(--surface);
    border-bottom:1px solid var(--line);
}


@media (max-width: 768px) {
    .hero-opening {
        aspect-ratio:auto;
        min-height:auto;

    }
}


.hero-full-bleed {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:1;
}


.hero-full-bleed picture,
.hero-full-bleed img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:85% center;
    display:block;
}


.hero-shell {
    position:relative;
    z-index:2;
    width:100%;
    padding-block:clamp(1.5rem, 1rem + 2vw, 3rem);
    pointer-events:none;
}


.hero-content {
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
    max-width:58ch;
    pointer-events:auto;
    background-color:rgba(238, 244, 247, 0.96);
    padding:clamp(1.5rem, 1.2rem + 1.5vw, 2.75rem);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-lg);
}


@supports (backdrop-filter: blur(10px)) {
    .hero-content {
        background-color:rgba(238, 244, 247, 0.90);
        backdrop-filter:blur(10px);
        -webkit-backdrop-filter:blur(10px);
    }
}


.hero-headline {
    font-family:var(--posu-d01);
    font-size:clamp(2.25rem, 1.8rem + 2.5vw, 3.6rem);
    font-weight:700;
    line-height:1.08;
    letter-spacing:-0.025em;
    color:var(--ink);
    text-wrap:balance;
    margin:0;
}


.hero-lede {
    font-size:var(--text-lg);
    line-height:1.55;
    color:var(--ink-soft);
    max-width:52ch;
    margin:0;
}


.hero-opening-actions {
    display:flex;
    align-items:center;
    margin-top:var(--space-2xs);
}


.estimator-section {
    padding-block:var(--band);
    background-color:var(--ground);
    border-bottom:1px solid var(--line);
}


.estimator-wrapper {
    max-width:780px;
    margin-inline:auto;
}


.configurator-dock {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:var(--space-lg);
    box-shadow:var(--shadow-md);
}


.configurator-dock-title {
    font-family:var(--posu-d01);
    font-size:var(--text-base);
    font-weight:700;
    color:var(--ink);
    margin-bottom:var(--space-xs);
    display:flex;
    align-items:center;
    justify-content:space-between;
}


.configurator-dock-form {
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
}


.config-control-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-xs);
}


@media (min-width: 480px) {
    .config-control-grid { grid-template-columns:repeat(2, 1fr); }
}


.config-radio-group {
    display:flex;
    gap:var(--space-3xs);
    background-color:var(--ground);
    padding:3px;
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
}


.config-radio-label {
    flex:1;
    text-align:center;
    padding:0.45rem 0.35rem;
    font-size:var(--text-xs);
    font-weight:600;
    border-radius:var(--radius-xs);
    cursor:pointer;
    color:var(--ink-soft);
    transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
}


.config-radio-label:hover { color:var(--ink); }


.config-radio-label:has(input:checked) {
    background-color:var(--surface-2);
    color:var(--ink);
    box-shadow:var(--shadow-sm);
}


.config-radio-label input {
    position:absolute;
    opacity:0;
    pointer-events:none;
}


.config-live-display {
    background-color:var(--ground);

    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    padding:var(--space-sm);
    display:flex;
    flex-direction:column;
    gap:var(--space-3xs);
}


.config-live-figure-row {
    display:flex;
    flex-direction:column;
    gap:0.25rem;
}


@media (min-width: 360px) {
    .config-live-figure-row {
        flex-direction:row;
        align-items:baseline;
        justify-content:space-between;
    }
}


.config-live-label {
    font-family:var(--posu-c10);
    font-size:var(--text-xs);
    color:var(--ink-soft);
    text-transform:uppercase;
    letter-spacing:0.05em;
}


.config-live-amount {
    font-family:var(--posu-c10);
    font-size:clamp(1.25rem, 1.1rem + 0.8vw, var(--text-2xl));
    font-weight:700;
    color:var(--accent);
    line-height:1;
    white-space:nowrap;
}


.config-live-breakdown {
    font-size:var(--text-xs);
    color:var(--ink-soft);
    line-height:1.4;
}


.directory-section {
    padding-block:var(--band);
    border-top:1px solid var(--line);
    background-color:var(--ground);
}


.directory-header-row {
    display:flex;
    flex-direction:column;
    gap:var(--space-2xs);

    margin-bottom:var(--space-lg);
}


@media (min-width: 768px) {
    .directory-header-row {
        flex-direction:row;
        align-items:flex-end;
        justify-content:space-between;
    }
}


.directory-heading {
    font-family:var(--posu-d01);
    font-size:var(--text-3xl);
    line-height:1.15;
    color:var(--ink);
    margin:0;
}


.directory-ledger {
    display:flex;
    flex-direction:column;
    border-top:2px solid var(--ink);
}


.directory-item {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-sm);
    padding-block:var(--space-md);
    border-bottom:1px solid var(--line);
    align-items:baseline;
    transition:background-color var(--dur-fast) var(--ease-out);
}


@media (min-width: 820px) {
    .directory-item {
        grid-template-columns:36px minmax(260px, 1.6fr) minmax(140px, 1fr) 2fr minmax(120px, auto);
        gap:var(--space-md);
        padding-inline:var(--space-xs);
    }


    .directory-item:hover { background-color:var(--surface); }
}


.directory-index {
    font-family:var(--posu-c10);
    font-size:var(--text-sm);
    color:var(--ink-soft);
    font-weight:500;
}


.directory-subject {
    font-family:var(--posu-d01);
    font-size:var(--text-lg);
    font-weight:700;
    color:var(--ink);
    margin:0;
}


.directory-subject a {
    color:var(--ink);
    text-decoration:none;
}


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


.directory-fee {
    font-family:var(--posu-c10);
    font-size:var(--text-base);
    font-weight:600;
    color:var(--ink);
}


.directory-notes {
    font-size:var(--text-sm);
    color:var(--ink-soft);
    line-height:1.5;
    margin:0;
}


.directory-action-link {
    display:inline-flex;
    align-items:center;
    gap:0.25rem;
    font-size:var(--text-sm);
    font-weight:600;
    color:var(--accent);
    text-decoration:none;
    min-height:44px;
}


.directory-action-link:hover { text-decoration:underline; }


.qa-section {
    padding-block:var(--band);
    border-top:1px solid var(--line);
    background-color:var(--ground);
}


.qa-section.alt-surface { background-color:var(--surface); }


.qa-block {
    width:100%;
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
}


.qa-heading {
    font-family:var(--posu-d01);
    font-size:clamp(1.75rem, 1.4rem + 1.5vw, 2.75rem);
    font-weight:700;
    line-height:1.14;
    letter-spacing:-0.02em;
    color:var(--ink);
    margin:0;
    max-width:44ch;
}


.qa-answer {
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
    max-width:65ch;
    font-size:var(--text-base);
    line-height:1.65;
    color:var(--ink);
}


.qa-answer p { margin:0; }


.qa-supporting-list {
    list-style:none;
    padding:0;
    margin-block:var(--space-xs);
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
}


.qa-list-item {
    display:flex;
    align-items:flex-start;
    gap:var(--space-xs);
    font-size:var(--text-sm);
    line-height:1.5;
    color:var(--ink);
}


.qa-list-icon {
    color:var(--accent);
    flex-shrink:0;
    margin-top:0.15rem;
}


.full-measure-photo {
    width:100%;
    margin-block:var(--band);
    border-radius:var(--radius-md);
    overflow:hidden;
    border:1px solid var(--line);
    box-shadow:var(--shadow-sm);
    background-color:var(--surface);
}


.full-measure-photo img {
    width:100%;
    height:clamp(280px, 42vw, 540px);
    object-fit:cover;
    object-position:center;
    display:block;
}


.full-measure-caption {
    padding:var(--space-xs) var(--space-md);
    background-color:var(--surface-2);
    border-top:1px solid var(--line);
    font-size:var(--text-xs);
    color:var(--ink-soft);
    display:flex;
    flex-direction:column;
    gap:var(--space-3xs);
}


@media (min-width: 640px) {
    .full-measure-caption {
        flex-direction:row;
        justify-content:space-between;
        align-items:center;
    }
}


.duotone-break {
    position:relative;
    width:100%;
    aspect-ratio:16 / 9;
    display:flex;
    align-items:center;
    padding-block:var(--band);
    overflow:hidden;
    background-color:#1c1a17;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}


.duotone-break-media {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:1;
}


.duotone-break-media img {
    width:100%;
    height:100%;
    aspect-ratio:3 / 2;
    object-fit:cover;
    object-position:center;
    filter:contrast(1.25) brightness(0.65) grayscale(0.85);
    opacity:0.38;
}


.duotone-break-overlay {
    position:absolute;
    inset:0;
    z-index:2;
    background:linear-gradient(135deg, rgba(25, 128, 142, 0.45) 0%, rgba(11, 34, 38, 0.85) 100%);
    mix-blend-mode:multiply;
}


.duotone-break-content {
    position:relative;
    z-index:3;
    width:100%;
    max-width:var(--container-wide);
    margin-inline:auto;
    padding-inline:var(--gutter);
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
}


.duotone-break-quote {
    font-family:var(--posu-d01);
    font-size:clamp(1.75rem, 1.4rem + 1.8vw, 3rem);
    font-weight:700;
    line-height:1.15;
    color:#ffffff;
    margin:0;
    max-width:32ch;
    letter-spacing:-0.02em;
}


.duotone-break-attribution {
    font-family:var(--posu-c10);
    font-size:var(--text-sm);
    color:#ccd3d7;
    display:flex;
    align-items:center;
    gap:var(--space-xs);
}


.duotone-break-attribution::before {
    content:"";
    display:inline-block;
    width:32px;
    height:1px;
    background-color:var(--accent);
}


.legal-qa-layout { padding-block:var(--space-2xl); }


.legal-qa-header {
    margin-bottom:var(--space-2xl);
    border-bottom:1px solid var(--line);
    padding-bottom:var(--space-lg);
}


.legal-qa-title {
    font-family:var(--posu-d01);
    font-size:clamp(2.2rem, 1.8rem + 2vw, 3.5rem);
    font-weight:700;
    line-height:1.1;
    color:var(--ink);
    margin-bottom:var(--space-sm);
}


.legal-qa-intro {
    font-size:var(--text-lg);
    color:var(--ink-soft);
    max-width:65ch;
    line-height:1.55;
}


.legal-qa-stack {
    display:flex;
    flex-direction:column;
    gap:var(--space-2xl);
}


.legal-qa-item {
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
    border-bottom:1px solid var(--line);
    padding-bottom:var(--space-xl);
}


.legal-qa-item:last-child { border-bottom:none; }


.legal-qa-question {
    font-family:var(--posu-d01);
    font-size:clamp(1.4rem, 1.2rem + 1vw, 2rem);
    font-weight:700;
    color:var(--ink);
    line-height:1.2;
    margin:0;
}


.legal-qa-answer {
    font-size:var(--text-base);
    line-height:1.65;
    color:var(--ink);
    max-width:68ch;
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
}


.legal-qa-answer p { margin:0; }


.dsar-box {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-left:4px solid var(--accent);
    border-radius:var(--radius-sm);
    padding:var(--space-md);
    margin-top:var(--space-sm);
    display:flex;
    flex-direction:column;
    gap:var(--space-2xs);
}


.margin-notes-page { padding-block:var(--space-2xl); }


.margin-notes-header {
    margin-bottom:var(--space-2xl);
    border-bottom:1px solid var(--line);
    padding-bottom:var(--space-lg);
}


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


@media (min-width: 920px) {
    .margin-notes-grid {
        grid-template-columns:minmax(0, 2fr) minmax(260px, 1fr);
        gap:var(--space-2xl);
        align-items:start;
    }
}


.margin-notes-main {
    display:flex;
    flex-direction:column;
    gap:var(--space-xl);
}


.margin-notes-section {
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
    border-bottom:1px solid var(--line);
    padding-bottom:var(--space-lg);
}


.margin-notes-section:last-child { border-bottom:none; }


.margin-notes-section h2 {
    font-family:var(--posu-d01);
    font-size:var(--text-xl);
    margin-bottom:var(--space-2xs);
}


.margin-notes-sidebar { display:none; }


@media (min-width: 920px) {
    .margin-notes-sidebar {
        display:flex;
        flex-direction:column;
        gap:var(--space-lg);
        position:sticky;
        top:calc(var(--header-height) + var(--space-md));
    }
}


.margin-note-card {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    padding:var(--space-sm);
    font-size:var(--text-xs);
    line-height:1.45;
    color:var(--ink-soft);
    display:flex;
    flex-direction:column;
    gap:var(--space-3xs);
}


.margin-note-title {
    font-family:var(--posu-c10);
    font-weight:600;
    color:var(--ink);
    text-transform:uppercase;
    letter-spacing:0.04em;
    font-size:11px;
}


.inline-margin-note {
    margin-top:var(--space-xs);
    padding:var(--space-xs) var(--space-sm);
    background-color:var(--surface);
    border-left:2px solid var(--accent);
    border-radius:0 var(--radius-xs) var(--radius-xs) 0;
    font-size:var(--text-xs);
    color:var(--ink-soft);
    line-height:1.45;
}


@media (min-width: 920px) {
    .inline-margin-note { display:none; }
}


.disclosure-page { padding-block:var(--space-2xl); }


.disclosure-header { margin-bottom:var(--space-lg); }


.disclosure-toolbar {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-sm);
    padding-block:var(--space-sm);
    margin-bottom:var(--space-md);
    border-block:1px solid var(--line);
}


.disclosure-stack {
    display:flex;
    flex-direction:column;
    border-top:1px solid var(--line);
}


.disclosure-item {
    border-bottom:1px solid var(--line);
    background-color:transparent;
    transition:background-color var(--dur-fast) var(--ease-out);
}


.disclosure-item[open] { background-color:var(--surface); }


.disclosure-summary {
    list-style:none;
    cursor:pointer;
    padding:var(--space-md) var(--space-sm);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-sm);
    user-select:none;
    font-family:var(--posu-d01);
    font-size:var(--text-lg);
    font-weight:700;
    color:var(--ink);
    min-height:48px;
}


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


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


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


.disclosure-summary-icon {
    flex-shrink:0;
    color:var(--accent);
    transition:transform var(--dur-fast) var(--ease-out);
}


.disclosure-item[open] .disclosure-summary-icon { transform:rotate(180deg); }


.disclosure-content {
    padding:0 var(--space-sm) var(--space-md) var(--space-sm);
    font-size:var(--text-base);
    line-height:1.65;
    color:var(--ink);
    max-width:68ch;
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
}


.disclosure-content p { margin:0; }


.service-hero-layout {
    padding-block:var(--space-2xl);
    border-bottom:1px solid var(--line);
}


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


@media (min-width: 860px) {
    .service-hero-grid {
        grid-template-columns:1.2fr 0.8fr;
        gap:var(--space-2xl);
    }
}


.service-card-ledger {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:var(--space-md);
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
    position:sticky;
    top:calc(var(--header-height) + var(--space-sm));
}


.service-card-rate-row {
    display:flex;
    flex-direction:column;
    gap:0.25rem;
    border-bottom:1px solid var(--line);
    padding-bottom:var(--space-xs);
}


@media (min-width: 380px) {
    .service-card-rate-row {
        flex-direction:row;
        align-items:baseline;
        justify-content:space-between;
    }
}


.service-card-big-price {
    font-family:var(--posu-c10);
    font-size:clamp(1.25rem, 1.1rem + 0.8vw, var(--text-2xl));
    font-weight:700;
    color:var(--accent);
    white-space:nowrap;
}


.service-feature-checklist {
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
    font-size:var(--text-sm);
}


.service-feature-checklist li {
    display:flex;
    align-items:flex-start;
    gap:var(--space-2xs);
    line-height:1.45;
}


.service-feature-checklist svg {
    color:var(--accent);
    margin-top:0.15rem;
}


.process-steps-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-md);
    margin-block:var(--space-lg);
}


@media (min-width: 680px) {
    .process-steps-grid { grid-template-columns:repeat(2, 1fr); }
}


@media (min-width: 1040px) {
    .process-steps-grid { grid-template-columns:repeat(4, 1fr); }
}


.process-step-card {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:var(--space-md);
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
}


.process-step-num {
    font-family:var(--posu-c10);
    font-size:var(--text-sm);
    color:var(--accent);
    font-weight:600;
}


.process-step-title {
    font-family:var(--posu-d01);
    font-size:var(--text-lg);
    font-weight:700;
    color:var(--ink);
    margin:0;
}


.process-step-desc {
    font-size:var(--text-sm);
    color:var(--ink-soft);
    line-height:1.5;
    margin:0;
}


.inventory-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-md);
    margin-block:var(--space-lg);
}


@media (min-width: 640px) {
    .inventory-grid { grid-template-columns:repeat(2, 1fr); }
}


@media (min-width: 960px) {
    .inventory-grid { grid-template-columns:repeat(3, 1fr); }
}


.inventory-card {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:var(--space-md);
    display:flex;
    flex-direction:column;
    gap:var(--space-2xs);
}


.inventory-item-title {
    font-family:var(--posu-d01);
    font-size:var(--text-base);
    font-weight:700;
    color:var(--ink);
    margin:0;
}


.inventory-item-spec {
    font-family:var(--posu-c10);
    font-size:var(--text-xs);
    color:var(--accent);
}


.inventory-item-purpose {
    font-size:var(--text-sm);
    color:var(--ink-soft);
    line-height:1.5;
    margin:0;
}


.pricing-sandbox-section {
    padding-block:var(--space-2xl);
    background-color:var(--surface);
    border-block:1px solid var(--line);
}


.pricing-sandbox-box {
    background-color:var(--ground);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:var(--space-lg);
    box-shadow:var(--shadow-sm);
}


.pricing-sandbox-header { margin-bottom:var(--space-md); }


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


@media (min-width: 860px) {
    .pricing-grid-cols { grid-template-columns:1.2fr 0.8fr; }
}


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


.calculator-result-card {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:var(--space-md);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:var(--space-md);
}


.calculator-result-top {
    display:flex;
    flex-direction:column;
    gap:var(--space-2xs);
}


.calculator-computed-value {
    font-family:var(--posu-c10);
    font-size:clamp(2rem, 1.8rem + 1vw, 2.75rem);
    font-weight:700;
    color:var(--accent);
    line-height:1;
}


.contact-layout { padding-block:var(--space-2xl); }


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


@media (min-width: 860px) {
    .contact-grid {
        grid-template-columns:1fr 1.2fr;
        gap:var(--space-2xl);
    }
}


.contact-info-panel {
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
}


.contact-card-block {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:var(--space-md);
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
}


.contact-card-label {
    font-family:var(--posu-c10);
    font-size:var(--text-xs);
    color:var(--ink-soft);
    text-transform:uppercase;
    letter-spacing:0.05em;
}


.contact-card-val {
    font-size:var(--text-base);
    color:var(--ink);
    line-height:1.45;
}


.contact-form-panel {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:var(--space-lg);
    box-shadow:var(--shadow-sm);
}


.thanks-layout {
    padding-block:var(--space-3xl);
    min-height:calc(100vh - var(--header-height));
    display:flex;
    align-items:center;
}


.thanks-card {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:var(--space-xl);
    max-width:680px;
    margin-inline:auto;
    box-shadow:var(--shadow-md);
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
}


.thanks-ticket-box {
    background-color:var(--ground);
    border:1px dashed var(--line);
    border-radius:var(--radius-sm);
    padding:var(--space-sm) var(--space-md);
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-family:var(--posu-c10);
}


.error-layout {
    padding-block:var(--space-3xl);
    text-align:center;
}


.error-box {
    max-width:580px;
    margin-inline:auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:var(--space-md);
}


.error-code {
    font-family:var(--posu-c10);
    font-size:clamp(3rem, 2.5rem + 3vw, 5rem);
    font-weight:700;
    color:var(--accent);
    line-height:1;
}


.accordion-group {
    border-top:1px solid var(--line);
    margin-top:var(--space-md);
}


.accordion-item { border-bottom:1px solid var(--line); }


.accordion-trigger {
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-sm);
    padding:var(--space-md) var(--space-xs);
    background:transparent;
    border:none;
    font-family:var(--posu-d01);
    font-size:var(--text-lg);
    font-weight:700;
    color:var(--ink);
    text-align:left;
    cursor:pointer;
    min-height:48px;
    transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}


.accordion-trigger:hover {
    background-color:var(--surface);
    color:var(--accent);
}


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


.accordion-icon {
    flex-shrink:0;
    color:var(--accent);
    transition:transform var(--dur-fast) var(--ease-out);
}


.accordion-trigger[aria-expanded='true'] .accordion-icon { transform:rotate(180deg); }


.accordion-panel {
    padding:0 var(--space-xs) var(--space-md) var(--space-xs);
    font-size:var(--text-base);
    line-height:1.6;
    color:var(--ink-soft);
    max-width:65ch;
}


.accordion-panel[hidden] { display:none; }


.stat-strip {
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:var(--space-sm);
    margin-block:var(--space-lg);
}


@media (min-width: 768px) {
    .stat-strip { grid-template-columns:repeat(4, 1fr); }
}


.stat-item {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    padding:var(--space-sm);
    display:flex;
    flex-direction:column;
    gap:var(--space-3xs);
}


.stat-value {
    font-family:var(--posu-c10);
    font-size:var(--text-xl);
    font-weight:700;
    color:var(--accent);
}


.stat-label {
    font-size:var(--text-xs);
    color:var(--ink-soft);
    line-height:1.35;
}


.compare-table-wrapper {
    overflow-x:auto;
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    margin-block:var(--space-md);
    background-color:var(--surface);
}


.compare-table {
    width:100%;
    border-collapse:collapse;
    font-size:var(--text-sm);
    text-align:left;
}


.compare-table th, .compare-table td {
    padding:var(--space-xs) var(--space-sm);
    border-bottom:1px solid var(--line);
    vertical-align:middle;
}


.compare-table th {
    background-color:var(--surface-2);
    font-family:var(--posu-d01);
    font-weight:700;
    color:var(--ink);
}


.compare-table tr:hover td { background-color:rgba(204, 211, 215, 0.4); }


.compare-table .badge-included {
    color:var(--accent);
    font-weight:600;
}


.compare-table .badge-optional { color:var(--ink-soft); }


.compare-table .col-highlight { background-color:rgba(25, 128, 142, 0.05); }


.callout-box {
    background-color:var(--surface);
    border-left:3px solid var(--accent);
    border-radius:0 var(--radius-sm) var(--radius-sm) 0;
    padding:var(--space-md);
    margin-block:var(--space-md);
}


.callout-box-title {
    font-family:var(--posu-d01);
    font-size:var(--text-base);
    font-weight:700;
    color:var(--ink);
    margin-bottom:var(--space-3xs);
}


.callout-box-body {
    font-size:var(--text-sm);
    color:var(--ink-soft);
    line-height:1.5;
    margin:0;
}


[data-depth] {
    will-change:transform;
    transition:transform var(--dur-med) var(--ease-out);
}


@media (prefers-reduced-motion: reduce) {
    [data-depth] {
        transform:none !important;
        transition:none !important;
    }
}


@media (max-width: 360px) {
    .hero-headline { font-size:1.85rem; }


    .config-radio-group { flex-direction:column; }


    .directory-item { gap:var(--space-2xs); }


    .stat-strip { grid-template-columns:1fr; }
}
