.hero-poster {
    position:relative;
    min-height:calc(100vh - 4.5rem);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding-top:clamp(2.5rem, 6vh, 5.5rem);
    padding-bottom:clamp(2rem, 5vh, 4rem);
    border-bottom:1px solid var(--hairline);
    overflow:hidden;
}


.hero-poster::after {
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:radial-gradient(circle at 80% 20%, rgba(192, 57, 75, 0.18) 0%, transparent 55%),
                            radial-gradient(circle at 15% 85%, rgba(197, 160, 89, 0.12) 0%, transparent 50%);
    pointer-events:none;
    z-index:1;
}


.hero-poster > .shell-container {
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    height:100%;
    flex:1;
    justify-content:space-between;
}


.hero-headline-wrap {
    margin-top:auto;
    margin-bottom:clamp(2rem, 4vh, 4rem);
}


.hero-headline {
    font-family:var(--milu-caf);
    font-size:var(--type-display-hero);
    line-height:0.98;
    letter-spacing:0.02em;
    color:var(--ink);
    text-transform:uppercase;
    max-width:100%;
    word-break:normal;
}


.hero-headline .accent-garnet {
    color:var(--garnet);
    text-shadow:0 0 28px rgba(192, 57, 75, 0.4);
}


.hero-headline .accent-brass { color:var(--brass-bright); }


.hero-standfirst {
    margin-top:var(--space-md);
    font-size:var(--type-body-lg);
    line-height:var(--line-snug);
    color:var(--ink-secondary);
    max-width:54ch;
}


.hero-meta-bar {
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:var(--space-md);
    border-top:1px solid var(--hairline-brass);
    padding-top:var(--space-md);
    margin-top:auto;
}


.hero-meta-col {
    display:flex;
    flex-direction:column;
    gap:0.25rem;
}


.hero-meta-label {
    font-family:var(--milu-80f);
    font-size:var(--type-body-xs);
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--brass);
}


.hero-meta-val {
    font-family:var(--milu-80f);
    font-size:var(--type-body-sm);
    color:var(--ink);
    word-break:break-word;
}


@media (max-width: 880px) {
    .hero-meta-bar {
        grid-template-columns:repeat(2, 1fr);
        row-gap:var(--space-md);
    }
}


@media (max-width: 480px) {
    .hero-meta-bar {
        grid-template-columns:1fr;
        row-gap:var(--space-sm);
    }
    .hero-headline {
        font-size:clamp(1.4rem, 6.5vw, 2.2rem);
        line-height:1.15;
        letter-spacing:0.01em;
    }
}


.scene-poster {
    position:relative;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-top:var(--scene-pad-y);
    padding-bottom:var(--scene-pad-y);
    border-bottom:1px solid var(--hairline);
    background-color:var(--ground);
}


.scene-poster.scene-tinted { background-color:#120e10; }


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


.scene-title {
    font-family:var(--milu-caf);
    font-size:var(--type-display-1);
    color:var(--ink);
    margin-bottom:var(--space-sm);
}


.scene-standfirst {
    font-size:var(--type-body-lg);
    line-height:var(--line-snug);
    color:var(--ink-secondary);
    max-width:62ch;
}


.full-bleed-media {
    width:100vw;
    margin-left:max(calc(-50vw + 50%), calc(50% - 50vw));
    margin-right:max(calc(-50vw + 50%), calc(50% - 50vw));

    margin-top:var(--space-xl);
    margin-bottom:var(--space-xl);
    position:relative;
    overflow:hidden;
    background-color:#080607;
}


.full-bleed-media img {
    width:100%;
    height:auto;
    aspect-ratio:3 / 2;
    object-fit:cover;
    object-position:center;
    filter:saturate(0.9) contrast(1.08);
}


.duotone-break {
    position:relative;
    width:100vw;
    margin-left:max(calc(-50vw + 50%), calc(50% - 50vw));
    margin-right:max(calc(-50vw + 50%), calc(50% - 50vw));
    aspect-ratio:3 / 2;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background-color:#060506;
    border-top:1px solid var(--hairline-brass);
    border-bottom:1px solid var(--hairline-brass);
}


.duotone-break-bg {
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    height:100%;
    aspect-ratio:3 / 2;
    object-fit:cover;
    object-position:center;
    filter:grayscale(100%) contrast(150%) brightness(0.65);
    transform:scale(1.04);
}


.duotone-break::after {
    content:"";

    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:linear-gradient(135deg, rgba(192, 57, 75, 0.88) 0%, rgba(13, 11, 12, 0.82) 48%, rgba(197, 160, 89, 0.72) 100%);
    mix-blend-mode:multiply;
    pointer-events:none;
}


.duotone-break-content {
    position:relative;
    z-index:3;
    text-align:center;
    padding:var(--space-lg) var(--gutter);
    max-width:900px;
}


.duotone-break-title {
    font-family:var(--milu-caf);
    font-size:var(--type-display-1);
    color:#fff;
    letter-spacing:0.08em;
    text-shadow:0 4px 24px rgba(0, 0, 0, 0.85);
    margin-bottom:var(--space-sm);
}


.duotone-break-text {
    font-size:var(--type-body);
    line-height:var(--line-snug);
    color:#f7eef0;
    margin-left:auto;
    margin-right:auto;
    max-width:52ch;
    text-shadow:0 2px 12px rgba(0, 0, 0, 0.8);
}


.scrolly-scene {
    position:relative;
    border-bottom:1px solid var(--hairline);
    padding-top:var(--scene-pad-y);
    padding-bottom:var(--scene-pad-y);
    background-color:var(--ground);
}


.scrolly-grid {
    display:grid;
    grid-template-columns:minmax(320px, 460px) 1fr;
    gap:clamp(2rem, 5vw, 5rem);
    align-items:start;
}


.scrolly-sticky-box {
    position:sticky;
    top:6.5rem;
    border:1px solid var(--hairline-brass);
    background-color:var(--surface);
    border-radius:var(--radius-xs);
    overflow:hidden;
    box-shadow:0 12px 32px rgba(0, 0, 0, 0.55);
}


.scrolly-img-wrap {
    position:relative;
    width:100%;
    aspect-ratio:4 / 3;
    background-color:#080607;
    overflow:hidden;
}


.scrolly-img-wrap img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:opacity var(--dur-normal) var(--ease-standard);
}


.scrolly-progress-track {
    width:100%;
    height:3px;
    background-color:var(--hairline);
    position:relative;
}


.scrolly-progress-bar {
    height:100%;
    width:0%;
    background-color:var(--brass);
    transition:width var(--dur-instant) linear;
}


.scrolly-caption {
    padding:0.95rem 1.15rem;
    background-color:var(--surface-elevated);
    font-size:var(--type-body-xs);
    color:var(--ink-secondary);
    border-top:1px solid var(--hairline);
    display:flex;
    justify-content:space-between;
    align-items:center;
}


.scrolly-stream {
    display:flex;
    flex-direction:column;
    gap:clamp(4rem, 12vh, 8rem);
    padding-top:var(--space-md);
    padding-bottom:clamp(3rem, 10vh, 6rem);
}


.scrolly-block {
    padding:var(--space-lg);
    border-left:2px solid var(--hairline);
    background:linear-gradient(90deg, rgba(23, 19, 21, 0.45) 0%, transparent 100%);
    transition:border-color var(--dur-normal) var(--ease-standard);
}


.scrolly-block.is-active { border-left-color:var(--garnet); }


.scrolly-block-heading {
    font-family:var(--milu-caf);
    font-size:var(--type-display-2);
    color:var(--ink);
    margin-bottom:var(--space-xs);

}


.scrolly-block-prose {
    font-size:var(--type-body);
    line-height:var(--line-snug);
    color:var(--ink-secondary);
    margin-bottom:var(--space-md);
}


@media (max-width: 900px) {
    .scrolly-grid {
        grid-template-columns:1fr;
        gap:var(--space-xl);
    }
    .scrolly-sticky-box {
        position:relative;
        top:0;
    }
    .scrolly-stream { gap:var(--space-xl); }
    .scrolly-block { padding:var(--space-md) var(--space-sm); }
}


.catalog-index-header {
    padding-top:clamp(3rem, 7vh, 5.5rem);
    padding-bottom:var(--space-xl);
    border-bottom:1px solid var(--hairline);
}


.catalog-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
    gap:var(--space-lg);
    margin-top:var(--space-xl);
    margin-bottom:var(--space-2xl);
}


.catalog-card {
    border:1px solid var(--hairline);
    background-color:var(--surface);
    border-radius:var(--radius-xs);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:border-color var(--dur-fast) var(--ease-standard),
                            transform var(--dur-fast) var(--ease-standard),
                            box-shadow var(--dur-fast) var(--ease-standard);
}


.catalog-card:hover {
    border-color:var(--brass);
    transform:translateY(-3px);
    box-shadow:0 8px 24px rgba(0, 0, 0, 0.5);
}


.catalog-card-figure {
    width:100%;
    aspect-ratio:16 / 10;
    background-color:#080607;
    overflow:hidden;
    border-bottom:1px solid var(--hairline);
}


.catalog-card-figure img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform var(--dur-slow) var(--ease-standard);
}


.catalog-card:hover .catalog-card-figure img { transform:scale(1.03); }


.catalog-card-body {
    padding:1.25rem;
    display:flex;
    flex-direction:column;
    flex:1;
}


.catalog-card-title {
    font-family:var(--milu-caf);
    font-size:var(--type-display-3);
    color:var(--ink);
    margin-bottom:0.35rem;
}


.catalog-card-category {
    font-family:var(--milu-80f);
    font-size:var(--type-body-xs);
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--brass);
    margin-bottom:var(--space-xs);
}


.catalog-card-detail {
    font-size:var(--type-body-sm);
    line-height:var(--line-snug);
    color:var(--ink-secondary);
    margin-bottom:var(--space-md);
    flex:1;
}


.catalog-card-footer {
    border-top:1px solid var(--hairline);
    padding-top:var(--space-sm);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-xs);
}


.catalog-card-price {
    font-family:var(--milu-80f);
    font-size:var(--type-body-sm);
    font-weight:600;
    color:var(--brass-bright);
}


.swatch-matrix {
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
    gap:var(--space-md);
    margin-top:var(--space-lg);
    margin-bottom:var(--space-xl);
}


.swatch-card {
    border:1px solid var(--hairline);
    background-color:var(--surface);
    padding:1.15rem;
    border-radius:var(--radius-xs);
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
}


.swatch-sample {
    width:100%;
    height:64px;
    border:1px solid var(--hairline);
    border-radius:var(--radius-xs);
}


.swatch-sample.tone-rose { background:linear-gradient(135deg, #a6505f 0%, #7d3340 100%); }


.swatch-sample.tone-terracotta { background:linear-gradient(135deg, #af5f4b 0%, #834030 100%); }


.swatch-sample.tone-berry { background:linear-gradient(135deg, #87283c 0%, #5d1525 100%); }


.swatch-sample.tone-peach { background:linear-gradient(135deg, #c77b63 0%, #9a533d 100%); }


.swatch-sample.tone-sienna { background:linear-gradient(135deg, #965342 0%, #683023 100%); }


.swatch-sample.tone-nude { background:linear-gradient(135deg, #9c7a6e 0%, #6e5146 100%); }


.swatch-name {
    font-family:var(--milu-caf);
    font-size:var(--type-body);
    color:var(--ink);
}


.swatch-desc {
    font-size:var(--type-body-xs);
    color:var(--ink-muted);
    line-height:var(--line-snug);
}


.calc-section {
    border-top:1px solid var(--hairline);
    border-bottom:1px solid var(--hairline);
    padding-top:var(--scene-pad-y);
    padding-bottom:var(--scene-pad-y);
    background-color:var(--surface);
}


.calc-card {
    border:1px solid var(--hairline-brass);
    background-color:var(--ground);
    border-radius:var(--radius-xs);
    padding:clamp(1.25rem, 3.5vw, 2.5rem);
    box-shadow:0 8px 30px rgba(0, 0, 0, 0.6);
    margin-top:var(--space-xl);
}


.calc-grid {
    display:grid;
    grid-template-columns:1fr minmax(300px, 380px);
    gap:clamp(1.5rem, 4vw, 3rem);
    align-items:start;
}


.calc-inputs-col {
    display:flex;
    flex-direction:column;
    gap:var(--space-lg);
}


.calc-field {
    display:flex;
    flex-direction:column;
    gap:var(--space-2xs);
}


.calc-field-head {
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:var(--space-xs);
}


.calc-field-label {
    font-family:var(--milu-80f);
    font-size:var(--type-body-xs);
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--ink-secondary);
}


.calc-field-readout {
    font-family:var(--milu-e42);
    font-size:var(--type-body-sm);
    color:var(--brass-bright);
    font-weight:600;
}


.calc-range-slider {
    width:100%;
    accent-color:var(--brass);
    cursor:pointer;
    height:6px;
    background:var(--surface-elevated);
    border-radius:3px;
}


.calc-select {
    width:100%;
    min-height:44px;
    background-color:var(--surface);
    border:1px solid var(--hairline);
    border-radius:var(--radius-xs);
    padding:0.65rem 0.85rem;
    color:var(--ink);
    font-size:var(--type-body-sm);
}


.calc-select:focus { border-color:var(--brass); }


.calc-output-box {
    border:1px solid var(--hairline-garnet);
    background-color:var(--surface);
    border-radius:var(--radius-xs);
    padding:var(--space-lg);
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
    box-shadow:inset 0 0 20px rgba(192, 57, 75, 0.08);
}


.calc-result-title {
    font-family:var(--milu-caf);
    font-size:var(--type-body);
    color:var(--brass);
    letter-spacing:0.08em;
    text-transform:uppercase;
    margin:0;
}


.calc-primary-stat {
    display:flex;
    flex-direction:column;
    gap:0.2rem;
    padding:var(--space-sm) 0;
    border-bottom:1px solid var(--hairline);
}


.calc-stat-label {
    font-size:var(--type-body-xs);
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:var(--ink-muted);
}


.calc-stat-value {
    font-family:var(--milu-caf);
    font-size:clamp(2rem, 3.8vw, 3rem);
    line-height:1;
    color:var(--ink);
}


.calc-stat-value .unit {
    font-size:var(--type-body-sm);
    font-family:var(--milu-80f);
    color:var(--brass);
}


.calc-recommendation-note {
    font-size:var(--type-body-sm);
    line-height:var(--line-snug);
    color:var(--ink-secondary);
}


.calc-disclaimer {
    font-size:var(--type-body-xs);
    line-height:var(--line-snug);
    color:var(--ink-tertiary);
    border-top:1px dotted var(--hairline);
    padding-top:var(--space-xs);
}


@media (max-width: 820px) {
    .calc-grid { grid-template-columns:1fr; }
}


.faq-accordion {
    border-top:1px solid var(--hairline);
    margin-top:var(--space-xl);
}


.faq-item { border-bottom:1px solid var(--hairline); }


.faq-trigger {
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-md);
    padding:1.25rem 0;
    background:transparent;
    border:none;
    cursor:pointer;
    text-align:left;
    font-family:var(--milu-caf);
    font-size:var(--type-display-3);
    color:var(--ink);
    transition:color var(--dur-fast) var(--ease-standard);
}


.faq-trigger:hover { color:var(--brass-bright); }


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


.faq-trigger-icon {
    flex-shrink:0;
    width:1.25rem;
    height:1.25rem;
    color:var(--brass);
    transition:transform var(--dur-fast) var(--ease-standard);
}


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


.faq-body {
    padding-bottom:1.5rem;
    padding-right:var(--space-md);
    font-size:var(--type-body);
    line-height:var(--line-body);
    color:var(--ink-secondary);
    display:none;
}


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


.inquiry-split {
    display:grid;
    grid-template-columns:minmax(300px, 420px) 1fr;
    gap:clamp(2rem, 5vw, 5rem);
    padding-top:clamp(2.5rem, 6vh, 5rem);
    padding-bottom:clamp(3rem, 7vh, 6rem);
}


.inquiry-info-pane {
    display:flex;
    flex-direction:column;
    gap:var(--space-lg);
}


.inquiry-form-card {
    border:1px solid var(--hairline-brass);
    background-color:var(--surface);
    border-radius:var(--radius-xs);
    padding:clamp(1.25rem, 3.5vw, 2.5rem);
    box-shadow:0 10px 32px rgba(0, 0, 0, 0.6);
}


.form-row-2col {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:var(--space-md);
}


@media (max-width: 640px) {
    .form-row-2col {
        grid-template-columns:1fr;
        gap:0;
    }
}


@media (max-width: 860px) {
    .inquiry-split {
        grid-template-columns:1fr;
        gap:var(--space-2xl);
    }
}


.clause-ledger-wrap {
    width:100%;
    margin-top:var(--space-xl);
    margin-bottom:var(--space-2xl);
}


.ledger-table {
    width:100%;
    border-collapse:collapse;
    border-spacing:0;
}


.ledger-table th {
    font-family:var(--milu-80f);
    font-size:var(--type-body-xs);
    font-weight:600;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--brass);
    text-align:left;
    padding:1rem var(--space-sm);
    border-bottom:1px solid var(--hairline-brass);
    background-color:var(--surface-elevated);
}


.clause-ledger-wrap { width:100%; }


.clause-ledger-row {
    display:flex;
    flex-direction:row;
    align-items:flex-start;
    gap:var(--space-md);
    border-bottom:1px solid var(--hairline);
    padding:1.15rem 0;
    transition:background-color var(--dur-fast) var(--ease-standard);
}


tr.clause-ledger-row {
    display:table-row;
    padding:0;
}


.clause-ledger-row:hover { background-color:rgba(255, 255, 255, 0.02); }


.clause-id {
    font-family:var(--milu-80f);
    font-size:var(--type-body-sm);
    font-weight:600;
    color:var(--brass-bright);
    padding:0.5rem var(--space-sm);
    vertical-align:top;
    flex:0 0 240px;
    min-width:0;
    box-sizing:border-box;
}


.clause-text {
    font-size:var(--type-body-sm);
    line-height:var(--line-snug);
    color:var(--ink);
    padding:0.5rem var(--space-sm);
    vertical-align:top;
    flex:1 1 50%;
    min-width:0;
    box-sizing:border-box;
}


.clause-reason {
    font-size:var(--type-body-xs);
    line-height:var(--line-snug);
    color:var(--ink-muted);
    padding:0.5rem var(--space-sm);
    vertical-align:top;
    flex:1 1 35%;
    min-width:0;
    box-sizing:border-box;
}


@media (max-width: 768px) {
    .clause-ledger-row {
        flex-direction:column;
        gap:var(--space-xs);
    }
    .clause-id,
    .clause-text,
    .clause-reason {
        flex:1 1 100%;
        width:100%;
        padding:0.25rem 0;
    }
}


.ledger-table td.clause-id {
    width:28%;
    min-width:180px;
    overflow-wrap:break-word;
    word-break:normal;
}
.ledger-table td.clause-text { width:44%; }
.ledger-table td.clause-reason { width:28%; }


@media (max-width: 768px) {
    .ledger-table,
    .ledger-table thead,
    .ledger-table tbody,
    .ledger-table th,
    .ledger-table td,
    .ledger-table tr {
        display:block;
        width:100%;
    }


    .ledger-table thead tr {
        position:absolute;
        top:-9999px;
        left:-9999px;
    }


    .clause-ledger-row {
        padding:1.25rem 0;
        border-bottom:1px solid var(--hairline);
    }


    .clause-id {
        width:100%;
        min-width:0;
        padding:0 0 0.4rem 0;
        font-size:var(--type-body);
        color:var(--brass-bright);
    }


    .clause-text {
        width:100%;
        padding:0 0 0.5rem 0;
        color:var(--ink);
    }


    .clause-text::before {
        content:"Substance: ";
        font-family:var(--milu-80f);
        font-size:var(--type-body-xs);
        letter-spacing:0.08em;
        text-transform:uppercase;
        color:var(--ink-tertiary);
        display:block;
        margin-bottom:0.2rem;
    }


    .clause-reason {
        width:100%;
        padding:0;
        color:var(--ink-muted);
    }


    .clause-reason::before {
        content:"Why It Applies: ";
        font-family:var(--milu-80f);
        font-size:var(--type-body-xs);
        letter-spacing:0.08em;
        text-transform:uppercase;
        color:var(--brass);
        display:block;
        margin-bottom:0.2rem;
    }
}


.cookies-wide-container {
    width:100%;
    max-width:860px;
    margin-left:auto;
    margin-right:auto;
    padding-left:var(--gutter);
    padding-right:var(--gutter);
    padding-top:clamp(2.5rem, 6vh, 5rem);
    padding-bottom:clamp(3rem, 7vh, 6rem);
}


.cookie-numbered-section {
    display:grid;
    grid-template-columns:70px 1fr;
    gap:var(--space-md);
    padding-top:var(--space-xl);
    padding-bottom:var(--space-xl);
    border-bottom:1px solid var(--hairline);
}


.cookie-section-num {
    font-family:var(--milu-e42);
    font-size:var(--type-body-sm);
    color:var(--brass);
    padding-top:0.2rem;
}


.cookie-section-body {
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
}


.cookie-section-body h2,
.cookie-section-body h3 {
    font-size:var(--type-display-3);
    margin-bottom:0.25rem;
}


@media (max-width: 600px) {
    .cookie-numbered-section {
        grid-template-columns:1fr;
        gap:var(--space-2xs);
        padding-top:var(--space-lg);
        padding-bottom:var(--space-lg);
    }
}


.terms-chips-nav {
    position:sticky;
    top:4.5rem;
    z-index:100;
    background-color:rgba(13, 11, 12, 0.94);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--hairline);
    padding:0.75rem 0;
    margin-bottom:var(--space-xl);
}


.terms-chips-list {
    display:flex;
    align-items:center;
    gap:var(--space-xs);
    overflow-x:auto;
    white-space:nowrap;
    scrollbar-width:none;
    -ms-overflow-style:none;
    padding-bottom:2px;
}


.terms-chips-list::-webkit-scrollbar { display:none; }


.terms-chip {
    display:inline-flex;
    align-items:center;
    padding:0.45rem 0.95rem;
    font-family:var(--milu-80f);
    font-size:var(--type-body-xs);
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--ink-secondary);
    border:1px solid var(--hairline);
    border-radius:var(--radius-xs);
    background-color:var(--surface);
    transition:border-color var(--dur-fast) var(--ease-standard),
                            color var(--dur-fast) var(--ease-standard),
                            background-color var(--dur-fast) var(--ease-standard);
}


.terms-chip:hover {
    border-color:var(--brass);
    color:var(--ink);
    background-color:var(--surface-elevated);
}


.terms-chip:focus-visible {
    outline:2px solid var(--brass);
    outline-offset:2px;
}


.terms-section {
    padding-top:var(--space-2xl);
    padding-bottom:var(--space-2xl);
    border-bottom:1px solid var(--hairline);
}


.terms-standfirst {
    font-size:var(--type-body-lg);
    font-weight:500;
    color:var(--brass-bright);
    line-height:var(--line-snug);
    margin-bottom:var(--space-md);
    max-width:65ch;
}


.error-scene {
    min-height:calc(100vh - 4.5rem);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:var(--space-2xl) var(--gutter);
    text-align:center;
    background-color:var(--ground);
}


.error-card {
    max-width:580px;
    border:1px solid var(--hairline-garnet);
    background-color:var(--surface);
    padding:clamp(2rem, 5vw, 3.5rem);
    border-radius:var(--radius-xs);
    box-shadow:0 12px 36px rgba(0, 0, 0, 0.7);
}


.error-code {
    font-family:var(--milu-caf);
    font-size:clamp(3.5rem, 8vw, 6rem);
    line-height:1;
    color:var(--garnet);
    margin-bottom:var(--space-xs);
}


.error-message {
    font-size:var(--type-body);
    line-height:var(--line-snug);
    color:var(--ink-secondary);
    margin-bottom:var(--space-lg);
}


.badge-clinical {
    display:inline-block;
    font-size:var(--type-body-xs);
    letter-spacing:0.1em;
    text-transform:uppercase;
    padding:0.2rem 0.6rem;
    background-color:rgba(192, 57, 75, 0.15);
    border:1px solid var(--garnet);
    color:#ff9ca8;
    border-radius:var(--radius-xs);
}


.badge-mineral {
    display:inline-block;
    font-size:var(--type-body-xs);
    letter-spacing:0.1em;
    text-transform:uppercase;
    padding:0.2rem 0.6rem;
    background-color:rgba(197, 160, 89, 0.15);
    border:1px solid var(--brass);
    color:var(--brass-bright);
    border-radius:var(--radius-xs);
}


.callout-box {
    border-left:2px solid var(--brass);
    background-color:var(--surface);
    padding:1.25rem 1.5rem;
    margin:var(--space-lg) 0;
    font-size:var(--type-body-sm);
    line-height:var(--line-snug);
    color:var(--ink-secondary);
}


.callout-box strong { color:var(--brass-bright); }


.license-verification-card {
    border:1px solid var(--brass);
    background-color:var(--surface-elevated);
    padding:1.5rem;
    border-radius:var(--radius-xs);
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
    margin-top:var(--space-lg);
}


.license-verification-head {
    display:flex;
    align-items:center;
    gap:var(--space-xs);
    font-family:var(--milu-caf);
    font-size:var(--type-body);
    color:var(--brass-bright);
    text-transform:uppercase;
}


.license-verification-body {
    font-size:var(--type-body-sm);
    color:var(--ink);
    line-height:var(--line-snug);
}


.protocol-matrix-row {
    display:grid;
    grid-template-columns:minmax(180px, 240px) minmax(120px, 160px) minmax(100px, 140px) 1fr;
    gap:var(--space-md);
    padding:1.15rem 0;
    border-bottom:1px solid var(--hairline);
    align-items:baseline;
    font-size:var(--type-body-sm);
}


.protocol-matrix-row:hover { background-color:rgba(255, 255, 255, 0.02); }


.protocol-matrix-name {
    font-weight:600;
    color:var(--ink);
}


.protocol-matrix-price {
    font-weight:600;
    color:var(--brass-bright);
}


.protocol-matrix-time { color:var(--ink-muted); }


.protocol-matrix-desc {
    color:var(--ink-secondary);
    line-height:var(--line-snug);
}


@media (max-width: 820px) {
    .protocol-matrix-row {
        grid-template-columns:1fr;
        gap:0.25rem;
        padding:1rem 0;
    }
}


.ingredient-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
    gap:var(--space-md);
    margin-top:var(--space-lg);
    margin-bottom:var(--space-xl);
}


.ingredient-card {
    border:1px solid var(--hairline);
    background-color:var(--surface);
    padding:1.25rem;
    border-radius:var(--radius-xs);
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
}


.ingredient-card-name {
    font-family:var(--milu-caf);
    font-size:var(--type-body);
    color:var(--ink);
}


.ingredient-card-inci {
    font-family:var(--milu-e42);
    font-size:var(--type-body-xs);
    color:var(--brass);
}


.ingredient-card-function {
    font-size:var(--type-body-sm);
    color:var(--ink-secondary);
    line-height:var(--line-snug);
}


.ingredient-card-meta {
    border-top:1px dotted var(--hairline);
    padding-top:var(--space-xs);
    margin-top:auto;
    font-size:var(--type-body-xs);
    color:var(--ink-muted);
    display:flex;
    justify-content:space-between;
}


.tool-equipment-card {
    border:1px solid var(--hairline);
    background-color:var(--surface);
    border-radius:var(--radius-xs);
    overflow:hidden;
    margin-bottom:var(--space-xl);
}


.tool-equipment-figure {
    width:100%;
    aspect-ratio:21 / 9;
    background-color:#080607;
    overflow:hidden;
}


.tool-equipment-figure img {
    width:100%;
    height:100%;
    object-fit:cover;
}


.tool-equipment-body { padding:clamp(1.25rem, 3vw, 2rem); }


.tool-equipment-body h3 {
    font-size:var(--type-display-2);
    margin-bottom:var(--space-sm);
}


.tool-equipment-body p { margin-bottom:var(--space-md); }


.hero-page-standard {
    padding-top:clamp(3rem, 7vh, 5.5rem);
    padding-bottom:clamp(2.5rem, 5vh, 4rem);
    border-bottom:1px solid var(--hairline);
    position:relative;
    background-color:var(--surface);
}


.hero-page-standard h1 { margin-bottom:var(--space-sm); }


.section-flow {
    padding-top:clamp(3rem, 7vh, 5.5rem);
    padding-bottom:clamp(3rem, 7vh, 5.5rem);
    border-bottom:1px solid var(--hairline);
}
