
.hero-magazine {
    padding-top:var(--space-l);
    padding-bottom:var(--space-2xl);
    border-bottom:1px solid var(--border);
    position:relative;
    background-color:var(--ground);
}

.hero-kicker-strip {
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:var(--space-xs);
    padding-bottom:var(--space-xs);
    margin-bottom:var(--space-m);
    border-bottom:2px solid var(--ink);
    font-family:var(--foho-308);
    font-size:var(--step--1);
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:var(--ink);
}

.hero-kicker-strip .hero-edition {
    color:var(--accent-dark);
}

.hero-headline-block {
    margin-bottom:var(--space-xl);
}

.hero-headline {
    font-family:var(--foho-cf8);
    font-size:var(--foho-388);

    font-weight:800;
    line-height:1.05;
    letter-spacing:-0.03em;
    color:var(--ink);
    max-width:22ch;
    text-transform:uppercase;
}

.hero-lead-text {
    font-family:var(--foho-6a4);
    font-size:var(--foho-a9b);
    line-height:1.6;
    max-width:var(--measure-narrow);
    margin-top:var(--space-s);
    color:var(--ink-muted);
}

.modular-front-grid {
    display:grid;
    grid-template-columns:7fr 5fr;
    gap:var(--space-l);
    align-items:stretch;
}

@media (max-width: 960px) {
    .modular-front-grid {
        grid-template-columns:1fr;
        gap:var(--space-m);
    }
}

.modular-lead-col {
    display:flex;
    flex-direction:column;
    gap:var(--space-m);
}

.modular-rail-col {
    display:flex;
    flex-direction:column;
    gap:var(--space-m);
}

/* Interface Frame Signature Devices */
.frame-signature {
    position:relative;
    border:1px solid var(--border);
    background-color:var(--surface);
    padding:var(--space-m);
}

.frame-signature::before,
.frame-signature::after {
    content:'+';
    position:absolute;
    font-family:var(--foho-308);
    font-size:0.85rem;
    line-height:1;
    color:var(--accent);
    pointer-events:none;
}

.frame-signature::before {
    top:-6px;
    left:-5px;
}

.frame-signature::after {
    bottom:-7px;
    right:-5px;
}

.frame-ticks-strip {
    display:flex;

    justify-content:space-between;
    align-items:center;
    height:6px;
    border-top:1px dashed var(--border);
    margin-top:var(--space-xs);
    padding-top:4px;
}

.frame-ticks-strip span {
    display:block;
    width:1px;
    height:4px;
    background-color:var(--border-strong);
}

.operator-proof-rail {
    background-color:var(--surface-alt);
    border:1px solid var(--border);
    padding:var(--space-m);
    display:flex;
    flex-direction:column;
    gap:var(--space-s);
}

.operator-proof-stat {
    font-family:var(--foho-cf8);
    font-size:var(--foho-166);
    font-weight:800;
    line-height:1;
    color:var(--accent-dark);
}

.operator-proof-desc {
    font-family:var(--foho-308);
    font-size:var(--step--1);
    line-height:1.5;
    color:var(--ink);
}

.operator-proof-meta {
    font-family:var(--foho-308);
    font-size:var(--step--2);
    color:var(--ink-muted);
    text-transform:uppercase;
    letter-spacing:0.04em;

    padding-top:var(--space-xs);
    border-top:1px solid var(--border);
}

/* Rate & Calculation Callout Rail Item */
.operator-quote-box {
    background-color:var(--ink);
    color:var(--ground);
    padding:var(--space-m);
    border-left:3px solid var(--accent);
}

.operator-quote-box p {
    font-family:var(--foho-6a4);
    font-size:var(--foho-d1f);
    line-height:1.55;
    color:#ede6e4;
}

.operator-quote-box .operator-cite {
    display:block;
    margin-top:var(--space-xs);
    font-family:var(--foho-308);
    font-size:var(--step--2);
    color:#b4aaa7;
    text-transform:uppercase;
    letter-spacing:0.04em;
}

.plate-container {
    max-width:var(--container-max);
    margin-inline:auto;
    padding-inline:var(--container-pad);
}

.plate-wrapper {
    margin-bottom:var(--space-s);
    border:1px solid var(--border);
    background-color:var(--surface);
    position:relative;
    overflow:hidden;
}

.plate-wrapper-wide {
    aspect-ratio:21 / 9;
}

.plate-wrapper-hero {
    aspect-ratio:3 / 2;
}

.plate-wrapper-square {
    aspect-ratio:4 / 3;
}

.plate-image {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.plate-caption-block {
    max-width:var(--measure-narrow);
    margin-top:var(--space-s);
}

.plate-caption-block .caption-lead {
    font-family:var(--foho-cf8);
    font-size:var(--foho-a9b);
    font-weight:800;
    line-height:1.25;
    color:var(--ink);
    margin-bottom:var(--space-2xs);
    display:block;
    letter-spacing:-0.015em;
}

.plate-caption-block p {
    font-family:var(--foho-6a4);
    font-size:var(--foho-d1f);
    line-height:1.68;
    color:var(--ink);
}

.plate-meta-strip {
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-s);
    margin-top:var(--space-xs);
    padding-top:var(--space-xs);
    border-top:1px dashed var(--border);
    font-family:var(--foho-308);
    font-size:var(--step--1);
    color:var(--ink-muted);
}

.plate-meta-strip strong {
    color:var(--ink);
    font-weight:600;
}

.services-masthead-statement {
    padding-block:var(--space-xl);
    border-bottom:1px solid var(--border);
    background-color:var(--surface);
}

.rate-summary-ledger {
    margin-top:var(--space-l);
    border:1px solid var(--border);
    background-color:var(--white);
}

.rate-summary-ledger th,
.rate-summary-ledger td {
    padding:0.95rem 1.15rem;
    font-family:var(--foho-308);
    font-size:var(--step--1);
    border-bottom:1px solid var(--border);
    text-align:left;
}

.rate-summary-ledger th:nth-child(4),
.rate-summary-ledger td:nth-child(4) {
    min-width:170px;
}

.rate-summary-ledger th {
    background-color:var(--surface-alt);
    font-size:var(--step--2);
    text-transform:uppercase;
    letter-spacing:0.04em;
    color:var(--ink-muted);
    font-weight:600;
}

.rate-summary-ledger tr:last-child td {
    border-bottom:none;
}

.rate-tag {
    display:inline-block;
    padding:0.2rem 0.5rem;
    background-color:var(--accent-soft);
    color:var(--accent-dark);
    font-weight:600;
    border-radius:var(--radius-xs);
    border:1px solid rgba(184, 90, 72, 0.2);
    white-space:nowrap;
}

.substrate-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:var(--space-m);
    margin-top:var(--space-m);
}

.substrate-card {
    border:1px solid var(--border);
    background-color:var(--surface);
    padding:var(--space-m);
    position:relative;
}

.substrate-card-title {
    font-family:var(--foho-cf8);
    font-size:var(--foho-d1f);
    font-weight:800;
    color:var(--ink);
    margin-bottom:var(--space-2xs);
}

.substrate-card-rate {
    font-family:var(--foho-308);
    font-size:var(--foho-a9b);
    font-weight:700;
    color:var(--accent-dark);
    margin-bottom:var(--space-xs);
}

.substrate-card p {
    font-family:var(--foho-6a4);
    font-size:var(--step--1);
    line-height:1.55;
    color:var(--ink-muted);
}

.comparison-matrix {
    width:100%;
    border:1px solid var(--border);
    background-color:var(--surface);
    margin-block:var(--space-l);
    border-collapse:collapse;
}

.comparison-matrix th,
.comparison-matrix td {
    padding:1rem 1.25rem;
    font-family:var(--foho-308);
    font-size:var(--step--1);
    border:1px solid var(--border);
    vertical-align:top;
}

.comparison-matrix th {
    background-color:var(--ink);
    color:var(--surface);
    font-family:var(--foho-cf8);
    font-size:var(--foho-d1f);
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0.04em;
}

.comparison-matrix th:first-child {
    background-color:var(--surface-alt);
    color:var(--ink);
    width:25%;
}

.comparison-matrix td.highlight {
    background-color:rgba(184, 90, 72, 0.05);
}

.operator-bio-hero {
    padding-block:var(--space-xl);
    border-bottom:1px solid var(--border);
}

.operator-stats-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:var(--space-m);
    margin-block:var(--space-l);
}

.operator-stat-card {
    border:1px solid var(--border);
    background-color:var(--surface);
    padding:var(--space-m);
    position:relative;
}

.operator-stat-num {
    font-family:var(--foho-cf8);
    font-size:var(--foho-166);
    font-weight:800;
    line-height:1;
    color:var(--accent);
    margin-bottom:var(--space-3xs);
}

.operator-stat-label {
    font-family:var(--foho-308);
    font-size:var(--step--1);
    font-weight:600;
    color:var(--ink);
    text-transform:uppercase;
    letter-spacing:0.03em;
}

.operator-stat-sub {
    font-family:var(--foho-308);
    font-size:var(--step--2);
    color:var(--ink-muted);
    margin-top:var(--space-3xs);
}

.rig-specs-ledger {
    width:100%;
    border:1px solid var(--border);
    background-color:var(--surface);
    margin-top:var(--space-m);
}

.rig-specs-ledger th,
.rig-specs-ledger td {
    padding:0.85rem 1rem;
    border-bottom:1px solid var(--border);
    font-family:var(--foho-308);
    font-size:var(--step--1);
    text-align:left;
}

@media (max-width: 820px) {
    .rig-specs-ledger,
    .rig-specs-ledger thead,
    .rig-specs-ledger tbody,
    .rig-specs-ledger tr,
    .rig-specs-ledger th,
    .rig-specs-ledger td {
        display:block !important;
        width:100% !important;
    }
    .rig-specs-ledger thead {
        display:none !important;
    }
    .rig-specs-ledger tr {
        margin-bottom:var(--space-s);
        border:1px solid var(--border);
        background-color:var(--surface);
    }
    .rig-specs-ledger td {
        border-bottom:1px solid var(--border);
        padding:0.65rem 0.85rem;
    }
    .rig-specs-ledger td:last-child {
        border-bottom:none;
    }
    .rig-specs-ledger td[data-label]::before {
        content:attr(data-label);
        display:block;
        font-size:var(--step--2);
        font-weight:600;
        color:var(--accent);
        text-transform:uppercase;
        margin-bottom:0.2rem;
    }
}

.rig-specs-ledger th {
    background-color:var(--surface-alt);
    color:var(--ink-muted);
    font-size:var(--step--2);
    text-transform:uppercase;
    letter-spacing:0.03em;
}

.contact-layout {
    display:grid;
    grid-template-columns:7fr 5fr;
    gap:var(--space-xl);
    padding-block:var(--space-2xl);
}

@media (max-width: 960px) {
    .contact-layout {
        grid-template-columns:1fr;
        gap:var(--space-l);
    }
}

.contact-direct-card {
    border:1px solid var(--border);
    background-color:var(--surface);
    padding:var(--space-m);
    margin-bottom:var(--space-m);
}

.contact-direct-card h2,
.contact-direct-card h3 {
    font-family:var(--foho-cf8);
    font-size:var(--foho-d1f);
    font-weight:800;
    color:var(--ink);
    text-transform:uppercase;
    letter-spacing:0.04em;
    margin-bottom:var(--space-xs);
}

.contact-direct-list {
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:var(--space-s);
}

.contact-direct-item {
    display:flex;
    align-items:flex-start;
    gap:0.75rem;
    font-family:var(--foho-308);
    font-size:var(--step--1);
    color:var(--ink);
}

.contact-direct-item .icon {
    margin-top:0.2rem;
    color:var(--accent);
    flex-shrink:0;
}

.contact-direct-item a {
    color:var(--ink);
    font-weight:600;
    text-decoration:underline;
}

.contact-direct-item a:hover {
    color:var(--accent);
}

.legal-clause-ledger {
    width:100%;
    border:1px solid var(--border);
    background-color:var(--surface);
    margin-block:var(--space-l);
    border-collapse:collapse;
}

.legal-clause-ledger th,
.legal-clause-ledger td {
    padding:1.15rem 1.25rem;
    border-bottom:1px solid var(--border);
    vertical-align:top;
    font-family:var(--foho-308);
    font-size:var(--step--1);
    line-height:1.6;
}

.legal-clause-ledger th {
    background-color:var(--surface-alt);
    font-size:var(--step--2);
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:var(--ink-muted);
    font-weight:600;
    border-bottom:2px solid var(--border-strong);
}

.legal-clause-ledger tr:hover td {
    background-color:rgba(184, 90, 72, 0.03);
}

.legal-clause-title {
    font-family:var(--foho-cf8);
    font-size:var(--foho-d1f);
    font-weight:800;
    color:var(--ink);
    display:block;
    margin-bottom:0.25rem;
}

.legal-clause-ref {
    display:inline-block;
    font-family:var(--foho-308);
    font-size:var(--step--2);
    color:var(--accent-dark);
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.04em;
}

@media (max-width: 900px) {
    .legal-clause-ledger,
    .legal-clause-ledger thead,
    .legal-clause-ledger tbody,
    .legal-clause-ledger tr,
    .legal-clause-ledger th,
    .legal-clause-ledger td {
        display:block !important;
        width:100% !important;
        min-width:0 !important;
    }

    .legal-clause-ledger thead {
        display:none !important;
    }

    .legal-clause-ledger tr {
        margin-bottom:var(--space-m);
        border:1px solid var(--border);
        background-color:var(--surface);
    }

    .legal-clause-ledger td {
        border-bottom:1px solid var(--border);
        padding:0.85rem 1rem;
        position:relative;
    }

    .legal-clause-ledger td:last-child {
        border-bottom:none;
    }

    .legal-clause-ledger td::before {
        content:attr(data-label);
        display:block;
        font-family:var(--foho-308);
        font-size:var(--step--2);
        font-weight:600;
        text-transform:uppercase;
        letter-spacing:0.04em;
        color:var(--accent);
        margin-bottom:0.35rem;
    }
}

.cookies-wide-layout {
    max-width:1040px;
    margin-inline:auto;
    padding-block:var(--space-2xl);
}

.clause-item-wide {
    display:grid;
    grid-template-columns:80px 1fr;
    gap:var(--space-m);
    padding-block:var(--space-l);
    border-bottom:1px solid var(--border);
}

@media (max-width: 600px) {
    .clause-item-wide {
        grid-template-columns:1fr;
        gap:var(--space-xs);
        padding-block:var(--space-m);
    }
}

.clause-num-marker {
    font-family:var(--foho-308);
    font-size:var(--step--1);
    font-weight:600;
    color:var(--accent);
    padding-top:0.25rem;
    user-select:none;
}

.dino02e-wide {
    max-width:var(--measure-wide);
}

.dino02e-wide h2 {
    font-family:var(--foho-cf8);
    font-size:var(--foho-a9b);
    font-weight:800;
    color:var(--ink);
    margin-bottom:var(--space-xs);
    letter-spacing:-0.01em;
}

.dino02e-wide p {
    font-family:var(--foho-6a4);
    font-size:var(--foho-d1f);
    line-height:1.7;
    color:var(--ink);
}

.dino02e-wide p + p {
    margin-top:var(--space-xs);
}

.cookies-inventory-table {
    width:100%;
    border:1px solid var(--border);
    background-color:var(--surface);
    margin-top:var(--space-m);
}

.cookies-inventory-table th,
.cookies-inventory-table td {
    padding:0.75rem 1rem;
    border-bottom:1px solid var(--border);
    font-family:var(--foho-308);
    font-size:var(--step--1);
    text-align:left;
}

.cookies-inventory-table th {
    background-color:var(--surface-alt);
    font-size:var(--step--2);
    text-transform:uppercase;
    color:var(--ink-muted);
}

.terms-split-layout {
    display:grid;
    grid-template-columns:280px 1fr;
    gap:var(--space-xl);
    padding-block:var(--space-2xl);
    align-items:start;
    position:relative;
}

@media (max-width: 860px) {
    .terms-split-layout {
        grid-template-columns:1fr;
        gap:var(--space-m);
        padding-block:var(--space-l);
    }
}

.terms-sticky-index {
    position:sticky;
    top:5.5rem;
    border:1px solid var(--border);
    background-color:var(--surface);
    padding:var(--space-m);
}

.terms-index-heading {
    font-family:var(--foho-cf8);
    font-size:var(--foho-d1f);
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0.04em;
    color:var(--ink);
    padding-bottom:var(--space-xs);
    margin-bottom:var(--space-xs);
    border-bottom:2px solid var(--ink);
}

.terms-index-nav {
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:0.25rem;
}

.terms-index-link {
    display:block;
    padding:0.45rem 0.65rem;
    font-family:var(--foho-308);
    font-size:var(--step--1);
    color:var(--ink-muted);
    text-decoration:none;
    border-left:2px solid transparent;
    transition:all var(--duration-fast) var(--ease-swift);
}

.terms-index-link:hover {
    color:var(--ink);
    background-color:var(--surface-alt);
    border-left-color:var(--accent);
}

.terms-index-link[aria-current='location'],
.terms-index-link.is-active {
    color:var(--accent-dark);
    font-weight:600;
    border-left-color:var(--accent);
    background-color:var(--surface-alt);
}

.terms-index-link:focus-visible {
    outline:2px solid var(--accent);
    outline-offset:2px;
}

.terms-jump-mobile {
    display:none;
    width:100%;
    margin-bottom:var(--space-m);
}

@media (max-width: 860px) {
    .terms-sticky-index {
        display:none;
    }
    .terms-jump-mobile {
        display:block;
    }
}

.terms-jump-select {
    width:100%;
    padding:0.65rem 0.85rem;
    min-height:44px;
    background-color:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-xs);
    font-family:var(--foho-308);
    font-size:var(--step--1);
    color:var(--ink);
}

.terms-jump-select:focus-visible {
    outline:2px solid var(--accent);
}

.terms-content-column {
    max-width:var(--measure-normal);
}

.terms-clause-section {
    padding-block:var(--space-l);
    border-bottom:1px solid var(--border);
}

.terms-clause-section:first-child {
    padding-top:0;
}

.terms-section-label {
    font-family:var(--foho-308);
    font-size:var(--step--2);
    color:var(--accent-dark);
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.05em;
    display:block;
    margin-bottom:0.35rem;
}

.terms-clause-section h2 {
    font-family:var(--foho-cf8);
    font-size:var(--foho-a9b);
    font-weight:800;
    color:var(--ink);
    margin-bottom:var(--space-xs);
}

.terms-clause-section p {
    font-family:var(--foho-6a4);
    font-size:var(--foho-d1f);
    line-height:1.68;
    color:var(--ink);
}

.terms-clause-section p + p {
    margin-top:var(--space-xs);
}

.faq-accordion-group {
    border:1px solid var(--border);
    background-color:var(--surface);
    margin-top:var(--space-m);
}

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

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

.faq-trigger {
    width:100%;
    padding:1.15rem 1.25rem;
    background:transparent;
    border:none;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:var(--space-s);
    cursor:pointer;
    text-align:left;
    font-family:var(--foho-cf8);
    font-size:var(--foho-d1f);
    font-weight:800;
    color:var(--ink);
    transition:background-color var(--duration-fast) var(--ease-swift),
                            color var(--duration-fast) var(--ease-swift);
}

.faq-trigger:hover,
.faq-trigger[aria-expanded='true'] {
    background-color:var(--surface-alt);
    color:var(--accent-dark);
}

.faq-trigger:active {
    background-color:var(--accent-soft);
}

.faq-trigger:hover {
    background-color:var(--surface-alt);
    color:var(--accent-dark);
}

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

.faq-icon-rotator {
    transition:transform var(--duration-normal) var(--ease-swift);
    flex-shrink:0;
}

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

.faq-panel {
    padding:0 1.25rem 1.25rem 1.25rem;
    font-family:var(--foho-6a4);
    font-size:var(--foho-d1f);
    line-height:1.65;
    color:var(--ink);
    display:none;
}

.faq-panel[data-open='true'] {
    display:block;
}

.page-404-container {
    min-height:60vh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    padding-block:var(--space-3xl);
}

.error-code-badge {
    font-family:var(--foho-308);
    font-size:var(--foho-166);
    font-weight:800;
    color:var(--accent);
    line-height:1;
    margin-bottom:var(--space-2xs);
}

.error-title {
    font-family:var(--foho-cf8);
    font-size:var(--foho-9d8);
    font-weight:800;
    color:var(--ink);
    margin-bottom:var(--space-s);
}

.error-desc {
    max-width:var(--measure-narrow);
    font-family:var(--foho-6a4);
    font-size:var(--foho-d1f);
    line-height:1.6;
    color:var(--ink-muted);
    margin-bottom:var(--space-l);
}

@media (max-width: 480px) {
    .hero-headline {
        font-size:var(--foho-166);
    }

    .plate-caption-block {
        max-width:100%;
    }

    .comparison-matrix th,
    .comparison-matrix td {
        padding:0.65rem 0.75rem;
        font-size:var(--step--2);
    }

    .rate-summary-ledger th,
    .rate-summary-ledger td {
        padding:0.65rem 0.75rem;
    }
}
