/* ==================== HERO RECIPE: FULL-BLEED & WORDS ON LOW THIRD ==================== */
.hero-fullbleed {
    position:relative;
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    min-height:calc(100vh - var(--header-height));
    min-height:calc(100svh - var(--header-height));
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    overflow:hidden;
    background-color:var(--ground);
}


@media (max-width: 480px) {
    .hero-fullbleed {
        min-height:auto;
        display:block;

    }


    .hero-fullbleed__backdrop {
        position:relative;
        width:100%;
        aspect-ratio:3 / 2;
        height:auto;
    }


    .hero-fullbleed__backdrop picture,
    .hero-fullbleed__backdrop img {
        aspect-ratio:3 / 2;
        height:auto;
        object-fit:cover;
    }
}


@media (min-width: 1024px) {
    .hero-fullbleed {
        max-height:calc(100vh - var(--header-height));
    }


    .hero-low-third {
        padding:var(--space-md) 0 var(--space-lg);
    }


    .hero-headline {
        font-size:clamp(2rem, 3.2vw + 0.5rem, 3rem);
    }
}


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


@media (min-width: 1024px) {
    .hero-fullbleed__backdrop {
        height:48vh;
        bottom:auto;
    }
}


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


.hero-stage-interactive {
    position:absolute;
    top:clamp(1rem, 3vh, 2.5rem);
    right:clamp(1rem, 4vw, 4rem);
    width:clamp(240px, 32vw, 420px);
    aspect-ratio:16 / 11;
    z-index:2;
    background-color:var(--surface-translucent);
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    box-shadow:none;
    overflow:hidden;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}


@media (max-width: 899px) {
    .hero-stage-interactive {
        display:none;
    }
}


.hero-stage-interactive [data-model-still] {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 38%;
    display:block;
}


.hero-stage-interactive [data-model-canvas] {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:block;
    touch-action:pan-y;
}


.hero-stage-caption {
    position:absolute;
    bottom:var(--space-2xs);
    right:var(--space-2xs);
    font-family:var(--nula-a81);
    font-size:var(--text-meta);
    color:var(--ink-soft);
    background-color:var(--ground);
    padding:2px var(--space-2xs);
    border:1px solid var(--line-hairline);

    border-radius:var(--radius-sm);
    pointer-events:none;
}


.hero-low-third {
    position:relative;
    z-index:3;
    width:100%;
    background-color:var(--ground);
    border-top:1px solid var(--line);
    padding:var(--space-lg) 0 var(--space-xl);
}


.hero-low-third__inner {
    width:100%;
    max-width:var(--container-max);
    margin:0 auto;
    padding:0 clamp(1.25rem, 3.5vw, 3rem);
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-md);
    align-items:start;
}


@media (min-width: 900px) {
    .hero-low-third__inner {
        grid-template-columns:minmax(0, 1.2fr) minmax(0, 1fr);
        gap:var(--space-xl);
    }
}


.hero-headline {
    font-family:var(--nula-8d3);
    font-size:var(--text-hero);
    line-height:var(--leading-tight);
    color:var(--ink);
    letter-spacing:-0.02em;
    font-weight:600;
    margin:0;
    max-width:16ch;
}


.hero-aside {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:var(--space-md);
}


.hero-lede {
    font-family:var(--nula-120);
    font-size:clamp(1.15rem, 0.4vw + 1.05rem, 1.35rem);
    line-height:var(--leading-snug);
    color:var(--ink);
    margin:0;
    max-width:44ch;
}


.hero-action {
    display:flex;
    align-items:center;
}


/* ==================== HOMEPAGE COMPOSITION BANDS ==================== */
.home-band {
    width:100%;
    padding-top:var(--rhythm-open);
    padding-bottom:var(--rhythm-open);
    border-bottom:1px solid var(--line);
}


.home-band--tight {
    padding-top:var(--rhythm-tight);
    padding-bottom:var(--rhythm-tight);
}


.home-band--surface {
    background-color:var(--surface);
}


.home-band:last-of-type {
    border-bottom:none;
}


.page-intro {
    padding:clamp(2.5rem, 5vw, 4.5rem) 0 var(--space-lg);
    border-bottom:1px solid var(--line);
    margin-bottom:var(--space-xl);
}


.page-intro__grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-md);
    align-items:end;
}


@media (min-width: 960px) {
    .page-intro__grid {
        grid-template-columns:minmax(0, 1.3fr) minmax(0, 1fr);
        gap:var(--space-xl);
    }
}


.page-intro__headline {
    font-family:var(--nula-8d3);
    font-size:var(--text-display);
    line-height:var(--leading-tight);
    color:var(--ink);
    margin:0;
    max-width:20ch;
}


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


.page-intro__lede {
    font-family:var(--nula-120);
    font-size:clamp(1.125rem, 0.3vw + 1.05rem, 1.25rem);
    line-height:var(--leading-snug);

    color:var(--ink);
    margin:0;
    max-width:48ch;
}


.page-intro__meta {
    font-family:var(--nula-a81);
    font-size:var(--text-meta);
    color:var(--ink-soft);
    text-transform:uppercase;
    letter-spacing:0.05em;
}


.margin-story {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-md);
    margin:0;
}


@media (min-width: 1024px) {
    .margin-story {
        grid-template-columns:minmax(0, 1.45fr) minmax(20rem, 24rem);
        justify-content:space-between;
        gap:var(--space-xl);
    }
}


.margin-story__prose {
    min-width:0;
}


.margin-story__prose p {
    margin-bottom:var(--space-md);
}


.margin-story__sidebar {
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:var(--space-lg);
    border-left:1px solid var(--line-hairline);
    padding-left:var(--space-md);
}


@media (max-width: 1023px) {
    .margin-story__sidebar {
        margin-top:var(--space-xs);
        border-left:1px solid var(--line-hairline);
        padding-left:var(--space-md);
    }
}


.margin-fact-card {
    font-size:var(--text-caption);
    line-height:var(--leading-snug);
    color:var(--ink-soft);
}


.margin-fact-card strong {
    display:block;
    font-family:var(--nula-a81);
    font-size:var(--text-meta);
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:var(--ink);
    margin-bottom:var(--space-3xs);
}


.margin-fact-card .price-tag {
    font-family:var(--nula-a81);
    font-size:1.05rem;
    font-weight:600;
    color:var(--accent);
    display:block;
    margin-top:var(--space-3xs);
}


.margin-spec-list {
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:var(--space-2xs);
    font-size:var(--text-caption);
    color:var(--ink-soft);
}


.margin-spec-list li {
    padding-bottom:var(--space-2xs);
    border-bottom:1px solid var(--line-soft);
    margin-bottom:0;
}


.margin-spec-list span {
    font-family:var(--nula-a81);
    font-size:var(--text-meta);
    color:var(--ink);
    display:block;
}


.editorial-spread-break {
    margin:0;
    width:100%;
}


.editorial-spread-break figure {
    margin:0;
}


.editorial-spread-break img {
    width:100%;
    aspect-ratio:16 / 9;
    object-fit:cover;
    border:1px solid var(--line);
    border-radius:var(--radius-xs);
}


.editorial-spread-break figcaption {
    font-family:var(--nula-a81);
    font-size:var(--text-meta);
    color:var(--ink-soft);
    margin-top:var(--space-xs);
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:var(--space-xs);
}


.oversized-spread {
    padding:var(--rhythm-tight) 0;
    margin:0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background-color:var(--surface);
}


.oversized-spread__inner {
    max-width:var(--container-reading);
    margin:0 auto;
    padding:0 clamp(1.25rem, 3.5vw, 3rem);
}


.oversized-spread__quote {
    font-family:var(--nula-8d3);
    font-size:var(--text-pullquote);
    line-height:1.16;
    font-weight:500;
    color:var(--ink);
    letter-spacing:-0.015em;
    margin-bottom:var(--space-md);
    max-width:32ch;
}


.oversized-spread__meta {
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:var(--space-xs) var(--space-md);
    font-family:var(--nula-a81);
    font-size:var(--text-meta);
    color:var(--ink-soft);
    text-transform:uppercase;
    letter-spacing:0.05em;
}


.oversized-spread__author {
    color:var(--ink);
    font-weight:500;
}


.catalog-deck {
    display:flex;
    flex-direction:column;
    gap:var(--space-xl);
    margin:var(--space-xl) 0 0;
}


.catalog-row {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-md);
    padding-bottom:var(--space-xl);
    border-bottom:1px solid var(--line);
}


@media (min-width: 960px) {
    .catalog-row {
        grid-template-columns:1fr minmax(0, 1.4fr) minmax(13rem, 17rem);
        gap:var(--space-lg);
        align-items:start;
    }
}


.catalog-row__figure {
    margin:0;
}


.catalog-row__figure img {
    width:100%;
    aspect-ratio:4 / 3;
    object-fit:cover;
    border:1px solid var(--line);
    border-radius:var(--radius-xs);
}


.catalog-row__body h2 {
    font-family:var(--nula-8d3);
    font-size:var(--text-h2);
    margin-bottom:var(--space-xs);
}


.catalog-row__price {
    font-family:var(--nula-a81);
    font-size:1.05rem;
    font-weight:500;
    color:var(--accent);
    margin-bottom:var(--space-sm);
    display:inline-block;
}


.catalog-row__desc {
    font-size:var(--text-body);
    line-height:var(--leading-normal);
    color:var(--ink);
    margin-bottom:var(--space-md);
}


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


.catalog-meta-item {
    font-size:var(--text-caption);
    line-height:var(--leading-snug);
}


.catalog-meta-item strong {
    display:block;
    font-family:var(--nula-a81);
    font-size:var(--text-meta);
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:var(--ink);
    margin-bottom:2px;
}


.service-spec-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-md);
    margin:var(--space-xl) 0;
}


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


@media (min-width: 1100px) {
    .service-spec-grid {
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }
}


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


.service-spec-card__title {
    font-family:var(--nula-8d3);
    font-size:var(--text-h4);
    color:var(--ink);
    margin:0;
}


.service-spec-card__desc {
    font-size:var(--text-caption);
    color:var(--ink-soft);
    margin:0;
    line-height:var(--leading-normal);
}


.checklist-editorial {
    list-style:none;
    padding:0;
    margin:var(--space-md) 0;
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
}


.checklist-editorial li {
    display:flex;
    align-items:flex-start;
    gap:var(--space-xs);
    font-size:var(--text-body);
    line-height:var(--leading-snug);
    margin-bottom:0;
}


.checklist-editorial .icon {
    width:1.15rem;
    height:1.15rem;
    color:var(--accent);
    margin-top:0.2rem;
    flex-shrink:0;
}


.cases-registry {
    display:flex;
    flex-direction:column;
    gap:var(--space-xl);
    margin:var(--space-xl) 0 0;
}


.case-card {
    border-bottom:1px solid var(--line);
    padding-bottom:var(--space-xl);
}


.case-card__header {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-sm);
    margin-bottom:var(--space-md);
}


@media (min-width: 800px) {
    .case-card__header {
        grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr);
        align-items:baseline;
    }
}


.case-card__title {
    font-family:var(--nula-8d3);
    font-size:var(--text-h2);
    margin:0;
}


.case-card__meta {
    font-family:var(--nula-a81);
    font-size:var(--text-meta);
    color:var(--ink-soft);
    text-transform:uppercase;
    letter-spacing:0.05em;
}


.case-card__media {
    margin:var(--space-md) 0;
}


.case-card__media img {
    width:100%;
    aspect-ratio:16 / 10;
    object-fit:cover;
    border:1px solid var(--line);
    border-radius:var(--radius-xs);
}


.case-card__columns {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-md);
    margin-top:var(--space-md);
}


@media (min-width: 900px) {
    .case-card__columns {
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap:var(--space-lg);
    }
}


.case-detail-block h4 {
    font-family:var(--nula-a81);
    font-size:var(--text-meta);
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:var(--ink-soft);
    margin-bottom:var(--space-2xs);
}


.case-detail-block p {
    font-size:var(--text-caption);
    line-height:var(--leading-normal);
    color:var(--ink);
    margin:0;
}


.process-framework {
    display:flex;
    flex-direction:column;
    gap:var(--space-lg);
    margin:var(--space-xl) 0;
}


.process-step-row {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-md);
    padding-bottom:var(--space-lg);
    border-bottom:1px solid var(--line-hairline);
}


@media (min-width: 960px) {
    .process-step-row {
        grid-template-columns:14rem minmax(0, var(--measure-main)) minmax(12rem, 16rem);
        gap:var(--space-lg);
        align-items:start;
    }
}


.process-step-aside {
    font-family:var(--nula-a81);
    font-size:var(--text-meta);
    color:var(--ink-soft);
    display:flex;
    flex-direction:column;
    gap:var(--space-3xs);
}


.process-step-aside strong {
    font-family:var(--nula-8d3);
    font-size:1.15rem;
    color:var(--ink);
    font-weight:600;
}


.process-step-content h3 {
    font-family:var(--nula-8d3);
    font-size:var(--text-h3);
    margin-bottom:var(--space-2xs);
}


.process-step-content p {
    font-size:var(--text-body);
    color:var(--ink);
    line-height:var(--leading-normal);
    margin:0;
}


.process-step-rules {
    background-color:var(--surface);
    border:1px solid var(--line);
    padding:var(--space-sm);
    border-radius:var(--radius-xs);
    font-size:var(--text-caption);
    color:var(--ink-soft);
}


.process-step-rules strong {
    display:block;
    font-family:var(--nula-a81);
    font-size:var(--text-meta);
    color:var(--ink);
    margin-bottom:2px;
}


.pricing-table-section {
    margin:var(--space-xl) 0;
}


.rates-breakdown-card {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-xs);
    padding:var(--space-lg);
    margin-bottom:var(--space-xl);
}


.rates-breakdown-card h3 {
    font-family:var(--nula-8d3);
    font-size:var(--text-h3);
    margin-bottom:var(--space-sm);
}


.rates-breakdown-list {
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-sm);
}


@media (min-width: 768px) {
    .rates-breakdown-list {
        grid-template-columns:repeat(2, 1fr);
    }
}


.rate-item {
    border-top:1px solid var(--line-hairline);
    padding-top:var(--space-xs);
}


.rate-item__title {
    font-family:var(--nula-8d3);
    font-size:1.15rem;
    font-weight:600;
    color:var(--ink);
}


.rate-item__price {
    font-family:var(--nula-a81);
    font-size:1.1rem;
    font-weight:600;
    color:var(--accent);
    display:block;
    margin:2px 0 var(--space-3xs);
}


.rate-item__desc {
    font-size:var(--text-caption);
    color:var(--ink-soft);
    line-height:var(--leading-snug);
    margin:0;
}


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


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


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


.factor-box {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-xs);
    padding:var(--space-md);
}


.factor-box strong {
    font-family:var(--nula-a81);
    font-size:var(--text-meta);
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:var(--ink);
    display:block;
    margin-bottom:var(--space-3xs);
}


.factor-box p {
    font-size:var(--text-caption);
    line-height:var(--leading-snug);
    color:var(--ink-soft);
    margin:0;
}


.profile-spread {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-lg);
    margin:0;
    padding-bottom:0;
    border-bottom:0;
}


@media (min-width: 960px) {
    .profile-spread {
        grid-template-columns:minmax(18rem, 24rem) minmax(0, 1fr);
        gap:var(--space-2xl);
        align-items:start;
    }
}


.profile-spread__portrait {
    position:relative;
    display:flex;
    flex-direction:column;
}


.profile-spread__portrait img {
    width:100%;
    aspect-ratio:4 / 5;
    object-fit:cover;
    border:1px solid var(--line);
    border-radius:var(--radius-xs);
}


.profile-spread__caption {
    position:static;
    display:block;
    font-family:var(--nula-a81);
    font-size:var(--text-meta);
    color:var(--ink-soft);
    margin-top:var(--space-xs);
    line-height:1.4;
    clear:both;
}


.profile-spread__bio h2 {
    font-family:var(--nula-8d3);
    font-size:var(--text-h2);
    margin-bottom:var(--space-sm);
}


.profile-spread__bio p {
    font-size:var(--text-body);
    line-height:var(--leading-normal);
    color:var(--ink);
    margin-bottom:var(--space-md);
}


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


@media (min-width: 960px) {
    .contact-desk-grid {
        grid-template-columns:minmax(0, 1.25fr) minmax(18rem, 22rem);
        gap:var(--space-2xl);
        align-items:start;
    }
}


.inquiry-card {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-xs);
    padding:clamp(1.25rem, 4vw, 2.5rem);
}


.inquiry-card__title {
    font-family:var(--nula-8d3);
    font-size:var(--text-h2);
    margin-bottom:var(--space-xs);
}


.inquiry-card__lede {
    font-size:var(--text-caption);
    color:var(--ink-soft);
    margin-bottom:var(--space-lg);
    line-height:var(--leading-snug);
}


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


.contact-info-block {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-xs);
    padding:var(--space-md);
    position:static;
    overflow:visible;
    height:auto;
    min-height:auto;
}


.contact-info-block picture {
    height:auto;
}


.contact-info-block h3 {
    font-family:var(--nula-a81);
    font-size:var(--text-meta);
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:var(--ink-soft);
    margin-bottom:var(--space-xs);
}


.contact-info-block address {
    font-style:normal;
    font-size:var(--text-caption);
    line-height:var(--leading-normal);
    color:var(--ink);
    margin-bottom:var(--space-xs);
}


.contact-info-block a {
    color:var(--ink);
    font-weight:500;
}


.contact-info-block a:hover {
    color:var(--accent);
}


.accordion-section {
    margin:var(--space-2xl) 0;
}


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


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


.accordion-trigger {
    width:100%;
    min-height:52px;
    background:none;
    border:0;
    padding:var(--space-sm) 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-md);
    text-align:left;
    cursor:pointer;
    color:var(--ink);
    font-family:var(--nula-8d3);
    font-size:1.2rem;
    font-weight:600;
    line-height:var(--leading-snug);
    transition:color var(--duration-fast) ease;
}


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


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


.accordion-icon {
    width:1.25rem;
    height:1.25rem;
    flex-shrink:0;
    transition:transform var(--duration-fast) ease;
}


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


.accordion-body {
    display:none;
    padding-bottom:var(--space-md);
    color:var(--ink);
    font-size:var(--text-body);
    line-height:var(--leading-normal);
    max-width:var(--measure-main);
}


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


.legal-dense-wrapper {
    margin:var(--space-xl) 0;
}


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


.legal-dense-header h1 {
    font-family:var(--nula-8d3);
    font-size:var(--text-display);
    margin-bottom:var(--space-xs);
}


.legal-dense-header .legal-timestamp {
    font-family:var(--nula-a81);
    font-size:var(--text-meta);
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:var(--ink-soft);
}


.legal-dense-body {
    column-count:1;
    column-gap:var(--space-2xl);
    font-size:clamp(0.95rem, 0.2vw + 0.92rem, 1.05rem);
    line-height:1.52;
    color:var(--ink);
    text-align:justify;
}


@media (min-width: 900px) {
    .legal-dense-body {
        column-count:2;
        column-rule:1px solid var(--line);
    }
}


.legal-dense-paragraph {
    margin-bottom:var(--space-md);
    break-inside:avoid-column;
    text-justify:inter-word;
}


.legal-run-in {
    font-family:var(--nula-a81);
    font-size:0.85em;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.06em;
    color:var(--ink);
    display:inline;
    margin-right:0.4em;
}


.legal-dense-table-break {
    column-span:all;
    margin:var(--space-xl) 0;
    border:1px solid var(--line);
    background-color:var(--surface);
    padding:var(--space-sm);
}


.legal-dense-table-break table {
    margin:0;
}


.legal-glance-wrapper {
    margin:var(--space-xl) 0;
}


.legal-glance-panel {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-xs);
    padding:clamp(1.25rem, 3.5vw, 2.5rem);
    margin-bottom:var(--space-2xl);
    box-shadow:var(--shadow-subtle);
}


.legal-glance-panel__title {
    font-family:var(--nula-8d3);
    font-size:var(--text-h2);
    margin-bottom:var(--space-2xs);
}


.legal-glance-panel__sub {
    font-size:var(--text-caption);
    color:var(--ink-soft);
    margin-bottom:var(--space-lg);
    line-height:var(--leading-snug);
}


.glance-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-sm);
    border-top:1px solid var(--line);
    padding-top:var(--space-md);
}


@media (min-width: 680px) {
    .glance-grid {
        grid-template-columns:repeat(2, 1fr);
        gap:var(--space-md);
    }
}


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


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


.glance-key {
    font-family:var(--nula-a81);
    font-size:var(--text-meta);
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:var(--ink-soft);
    font-weight:500;
}


.glance-val {
    font-size:var(--text-caption);
    color:var(--ink);
    line-height:var(--leading-snug);
    margin:0;
}


.legal-glance-prose {
    max-width:var(--measure-main);
    margin:0 auto;
}


.legal-glance-prose h2 {
    font-family:var(--nula-8d3);
    font-size:var(--text-h2);
    margin-top:var(--space-xl);
    margin-bottom:var(--space-sm);
}


.legal-glance-prose h3 {
    font-family:var(--nula-8d3);
    font-size:var(--text-h3);
    margin-top:var(--space-lg);
    margin-bottom:var(--space-xs);
}


.legal-glance-prose p {
    font-size:var(--text-body);
    line-height:var(--leading-normal);
    margin-bottom:var(--space-md);
}


.legal-clauses-wrapper {
    margin:var(--space-xl) 0;
}


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


.legal-clauses-header h1 {
    font-family:var(--nula-8d3);
    font-size:var(--text-display);
    margin-bottom:var(--space-xs);
}


.legal-clauses-list {
    display:flex;
    flex-direction:column;
    gap:clamp(2.5rem, 5vw, 4.5rem);
    max-width:var(--measure-wide);
    margin:0 auto;
}


.clause-item {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-xs);
    position:relative;
}


@media (min-width: 768px) {
    .clause-item {
        grid-template-columns:5.5rem minmax(0, 1fr);
        gap:var(--space-md);
        align-items:start;
    }
}


.clause-marker {
    font-family:var(--nula-a81);
    font-size:var(--text-body);
    color:var(--ink-soft);
    font-weight:500;
    line-height:var(--leading-tight);
    padding-top:0.15rem;
}


.clause-content {
    min-width:0;
}


.clause-title {
    font-family:var(--nula-8d3);
    font-size:var(--text-h3);
    color:var(--ink);
    margin-bottom:var(--space-xs);
    line-height:var(--leading-tight);
}


.clause-content p {
    font-size:var(--text-body);
    line-height:var(--leading-normal);
    color:var(--ink);
    margin-bottom:var(--space-sm);
    max-width:100%;
}


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


.error-scene {
    min-height:calc(80vh - var(--header-height));
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:var(--space-2xl) clamp(1.25rem, 3.5vw, 3rem);
}


.error-code {
    font-family:var(--nula-a81);
    font-size:clamp(3rem, 10vw, 7rem);
    line-height:1;
    font-weight:500;
    color:var(--accent);
    margin-bottom:var(--space-xs);
    letter-spacing:-0.04em;
}


.error-title {
    font-family:var(--nula-8d3);
    font-size:var(--text-display);
    margin-bottom:var(--space-sm);
    max-width:20ch;
}


.error-desc {
    font-size:var(--text-body);
    color:var(--ink-soft);
    max-width:48ch;
    margin-bottom:var(--space-lg);
    line-height:var(--leading-snug);
}


@media (max-width: 359px) {
    .site-header__inner {
        padding:0 var(--space-xs);
    }


    .site-dock__label {
        font-size:0.65rem;
    }


    .btn {
        padding-left:var(--space-sm);
        padding-right:var(--space-sm);
    }


    .card {
        padding:var(--space-sm);
    }
}
