.page-hero {
    padding-block:clamp(2.5rem, 6vw, 5rem) clamp(1.5rem, 4vw, 3rem);
    border-bottom:1px solid var(--line);
    background-color:var(--ground);
}

.page-hero__meta {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:var(--space-xs) var(--space-sm);
    margin-block-end:var(--space-md);
}

.page-hero__title {
    font-size:var(--text-3xl);
    font-weight:800;
    line-height:1.05;
    letter-spacing:-0.035em;
    max-width:22ch;
    margin-block-end:var(--space-md);
}

.page-hero__lead {
    font-size:var(--text-md);
    color:var(--ink-muted);
    line-height:1.55;
    max-width:58ch;
    margin-block-end:var(--space-lg);
}

.swiss-frame {
    border:1px solid var(--line);
    background-color:var(--surface-lift);
}

.swiss-frame--surface { background-color:var(--surface); }

.swiss-frame--ground { background-color:var(--ground); }

.swiss-frame-header {
    padding:1rem 1.25rem;
    border-bottom:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-sm);
    background-color:var(--surface);
}

.swiss-frame-title {
    font-family:var(--heta-b8f);
    font-size:var(--text-sm);
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--ink);
}

.swiss-frame-body { padding:clamp(1.25rem, 3vw, 2.25rem); }

.home-hero {
    padding-block:clamp(2.5rem, 6vw, 5.5rem);
    border-bottom:1px solid var(--line);
    background-color:var(--ground);
}

.home-hero__grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-xl);
    align-items:center;
}

@media (min-width: 960px) {
    .home-hero__grid {
        grid-template-columns:1.8fr 1.2fr;
        gap:var(--space-2xl);
    }
}

.home-hero__content {
    display:flex;
    flex-direction:column;
}

.home-hero__status {
    display:inline-flex;
    align-items:center;
    gap:0.5rem;
    margin-block-end:var(--space-md);
}

.home-hero__status-dot {
    width:8px;
    height:8px;
    background-color:#16a34a;
    display:inline-block;
}

.home-hero__status-text {
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:var(--ink);
    letter-spacing:0.05em;
    text-transform:uppercase;
}

.home-hero__headline {
    font-size:var(--text-3xl);
    font-weight:800;
    line-height:1.04;
    letter-spacing:-0.035em;
    margin-block-end:var(--space-md);
    max-width:18ch;
}

.home-hero__prose {
    font-size:var(--text-md);
    color:var(--ink-muted);
    line-height:1.55;
    margin-block-end:var(--space-lg);

    max-width:52ch;
}

.home-hero__actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:var(--space-sm);
    margin-block-end:var(--space-xl);
}

.home-hero__metrics {
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:var(--space-md);
    padding-top:var(--space-lg);
    border-top:1px solid var(--line);
}

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

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

.metric-cell__num {
    font-family:var(--heta-c73);
    font-size:var(--text-lg);
    font-weight:700;
    color:var(--ink);
    line-height:1.1;
}

.metric-cell__label {
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:var(--ink-muted);
    text-transform:uppercase;
    letter-spacing:0.04em;
}

.signature-collage-frame {
    position:relative;
    width:100%;
    padding:var(--space-md);
    background-color:var(--surface);
    border:1px solid var(--line);
}

.signature-collage-wrap {
    position:relative;
    width:100%;
    height:clamp(340px, 45vw, 460px);
    overflow:hidden;
}

.signature-collage-item {
    position:absolute;
    object-fit:cover;
    border:1px solid var(--line);
    box-shadow:var(--shadow-lift);
    transition:transform var(--dur-slow) var(--ease-out),
                            box-shadow var(--dur-slow) var(--ease-out);
}

.signature-collage-item--prime {
    top:4%;
    left:3%;
    width:72%;
    height:auto;
    aspect-ratio:3 / 2;
    z-index:1;
    transform:rotate(-1.5deg);
}

.signature-collage-item--accent {
    bottom:5%;
    right:3%;
    width:60%;
    height:auto;
    aspect-ratio:3 / 2;

    z-index:2;
    transform:rotate(2deg);
    border:2px solid var(--ground);
}

.signature-collage-frame:hover .signature-collage-item--prime { transform:rotate(-0.5deg) scale(1.01); }

.signature-collage-frame:hover .signature-collage-item--accent {
    transform:rotate(0.8deg) scale(1.02);
    box-shadow:var(--shadow-deep);
}

.signature-collage-stamp {
    position:absolute;
    bottom:1rem;
    left:1rem;
    z-index:3;
    background-color:var(--ink);
    color:var(--surface-lift);
    padding:0.45rem 0.85rem;
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    letter-spacing:0.04em;
    text-transform:uppercase;
    max-width:80%;
    line-height:1.3;
}

.signature-collage-badge {
    position:absolute;
    top:1rem;
    right:1rem;
    z-index:3;
    background-color:var(--accent);
    color:var(--surface-lift);
    padding:0.45rem 0.85rem;
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    font-weight:500;
    letter-spacing:0.04em;
}

.job-section {
    padding-block:clamp(3rem, 7vw, 6rem);
    border-bottom:1px solid var(--line);
    background-color:var(--ground);
}

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

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

@media (min-width: 960px) {
    .job-layout--left-heavy {
        grid-template-columns:2fr 1fr;
        gap:var(--space-2xl);
    }

    .job-layout--right-heavy {
        grid-template-columns:1fr 2fr;
        gap:var(--space-2xl);

    }
}

.job-title {
    font-size:var(--text-2xl);
    font-weight:700;
    line-height:1.12;
    letter-spacing:-0.025em;
    margin-block-end:var(--space-md);
    max-width:28ch;
}

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

.job-narrative p {
    font-size:var(--text-base);
    color:var(--ink);
    line-height:1.7;
    max-width:var(--measure-prose);
}

.job-narrative p strong { color:var(--ink); }

.job-table {
    width:100%;
    border:1px solid var(--line);
    background-color:var(--surface-lift);
    margin-block-start:var(--space-md);
}

.job-table tr { border-bottom:1px solid var(--line); }

.job-table tr:last-child { border-bottom:none; }

.job-table th {
    padding:0.85rem 1rem;
    text-align:left;
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:var(--ink-muted);
    text-transform:uppercase;
    letter-spacing:0.05em;
    width:38%;
    background-color:var(--surface);
    font-weight:500;
}

.job-table td {
    padding:0.85rem 1rem;
    font-family:var(--heta-c73);
    font-size:var(--text-xs);
    color:var(--ink);
    font-weight:500;
}

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

.job-sidebar-card {
    padding:var(--space-md);
    border:1px solid var(--line);
    background-color:var(--surface-lift);
}

.job-sidebar-card__title {
    font-family:var(--heta-b8f);
    font-size:var(--text-sm);
    font-weight:700;
    margin-block-end:var(--space-2xs);
    text-transform:uppercase;
    letter-spacing:0.03em;
}

.job-sidebar-card__text {
    font-size:var(--text-xs);
    color:var(--ink-muted);
    line-height:1.5;
    margin-block-end:var(--space-sm);
}

.job-photo-break {
    width:100%;
    margin-block:clamp(2rem, 5vw, 4.5rem);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background-color:var(--surface);
}

.job-photo-frame {
    width:100%;
    max-width:var(--shell-max);
    margin-inline:auto;
    position:relative;
}

.job-photo-img {
    width:100%;
    height:clamp(320px, 50vw, 620px);
    object-fit:cover;
    display:block;
}

.job-photo-footer {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:var(--space-sm);
    padding:0.85rem var(--gutter);
    border-top:1px solid var(--line);
    background-color:var(--surface-lift);
}

.job-photo-subject {
    font-family:var(--heta-c73);
    font-size:var(--text-xs);
    color:var(--ink);
}

.job-photo-location {
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:var(--ink-muted);
}

.throw-section {
    padding-block:clamp(3rem, 7vw, 6rem);
    border-bottom:1px solid var(--line);
    background-color:var(--ground);
    position:relative;
    overflow:hidden;
}

.throw-header { margin-block-end:var(--space-xl); }

.throw-header__top {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:flex-end;
    gap:var(--space-md);
    margin-block-end:var(--space-sm);
}

.throw-header__title {
    font-size:var(--text-2xl);
    font-weight:700;
    max-width:24ch;
}

.throw-nav-group {
    display:flex;
    gap:var(--space-2xs);
}

.throw-shelf-container {
    position:relative;
    width:100%;
}

.throw-shelf-track {
    display:flex;
    gap:var(--space-md);
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:var(--line-dark) transparent;
    padding-block:var(--space-xs) var(--space-md);
    cursor:grab;
    user-select:none;
    -webkit-user-select:none;
}

.throw-shelf-track:active { cursor:grabbing; }

.throw-card {
    flex:0 0 clamp(290px, 82vw, 370px);
    scroll-snap-align:start;
    background-color:var(--surface-lift);
    border:1px solid var(--line);
    padding:clamp(1.25rem, 3vw, 2rem);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:420px;
    position:relative;
    transition:transform var(--dur-fast) var(--ease-out),
                            border-color var(--dur-fast) var(--ease-out),
                            box-shadow var(--dur-fast) var(--ease-out);
}

.throw-card:hover {
    border-color:var(--ink);
    box-shadow:var(--shadow-lift);
    transform:translateY(-2px);
}

.throw-card:focus-within {
    border-color:var(--ink);
    outline:2px solid var(--accent);
    outline-offset:2px;
}

.throw-card__tag {
    display:inline-flex;
    align-self:flex-start;
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    font-weight:500;
    color:var(--ink-muted);
    text-transform:uppercase;
    letter-spacing:0.05em;
    margin-block-end:var(--space-xs);
}

.throw-card__title {
    font-size:var(--text-lg);
    font-weight:700;
    line-height:1.2;
    margin-block-end:var(--space-xs);
}

.throw-card__rate {
    font-family:var(--heta-c73);
    font-size:var(--text-md);
    font-weight:600;
    color:var(--accent);
    margin-block-end:var(--space-md);
}

.throw-card__desc {
    font-size:var(--text-sm);
    color:var(--ink-muted);
    line-height:1.55;
    margin-block-end:var(--space-md);
}

.throw-card__specs {
    border-top:1px solid var(--line);
    padding-top:var(--space-sm);
    display:flex;
    flex-direction:column;
    gap:0.35rem;
    margin-block-end:var(--space-md);
}

.throw-card__spec-row {
    display:flex;
    justify-content:space-between;
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:var(--ink-muted);
}

.throw-card__spec-row strong {
    color:var(--ink);
    font-weight:500;
}

.throw-card__action {
    border-top:1px solid var(--line);
    padding-top:var(--space-sm);
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.pinned-standards {
    position:relative;
    background-color:var(--surface);
    border-bottom:1px solid var(--line);
    padding-block:clamp(3rem, 7vw, 6rem);
}

.pinned-standards__progress {
    width:100%;
    height:3px;
    background-color:var(--line);
    margin-block-end:var(--space-xl);
    position:relative;
    overflow:hidden;
}

.pinned-standards__progress-bar {
    height:100%;
    width:33.33%;
    background-color:var(--accent);
    transition:width var(--dur-base) var(--ease-out);
}

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

@media (min-width: 900px) {
    .pinned-standards__deck { grid-template-columns:1fr 2fr; }
}

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

.pinned-standards__stage {
    position:relative;
    min-height:320px;
}

.pinned-slide {
    background-color:var(--surface-lift);
    border:1px solid var(--line);
    padding:clamp(1.5rem, 4vw, 3rem);
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
    margin-block-end:var(--space-lg);
}

.pinned-slide:not(:first-child) { display:none; }

.pinned-slide:last-child { margin-block-end:0; }

.pinned-slide__label {
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:var(--accent);
    text-transform:uppercase;
    letter-spacing:0.05em;
    font-weight:500;
}

.pinned-slide__heading {
    font-size:var(--text-xl);
    font-weight:700;
    line-height:1.2;
}

.pinned-slide__prose {
    font-size:var(--text-base);
    color:var(--ink-muted);
    line-height:1.6;
}

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

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

.pinned-slide__item {
    display:flex;
    align-items:center;
    gap:0.5rem;
    font-family:var(--heta-c73);
    font-size:var(--text-xs);
    color:var(--ink);
}

.tool-section {
    padding-block:clamp(3rem, 7vw, 6rem);
    border-bottom:1px solid var(--line);
    background-color:var(--ground);
}

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

@media (min-width: 960px) {
    .tool-grid {
        grid-template-columns:1.6fr 1fr;
        gap:var(--space-2xl);
    }
}

.tool-config {
    display:flex;
    flex-direction:column;
    gap:var(--space-lg);
}

.tool-fieldset {
    border:1px solid var(--line);
    background-color:var(--surface-lift);
    padding:clamp(1rem, 3vw, 1.75rem);
}

.tool-legend {
    font-family:var(--heta-b8f);
    font-size:var(--text-sm);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.04em;
    color:var(--ink);
    margin-block-end:var(--space-md);
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.tool-service-row {
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:var(--space-xs) var(--space-sm);
    padding:0.85rem 1rem;
    border-bottom:1px solid var(--line);
    background-color:var(--surface-lift);
    cursor:pointer;
    min-height:52px;
    transition:background-color var(--dur-fast) var(--ease-out);
}

.tool-service-name { min-width:140px; }

.tool-service-row:last-child { border-bottom:none; }

.tool-service-row:hover { background-color:var(--surface); }

.tool-service-row input[type='checkbox'] {
    width:20px;
    height:20px;
    accent-color:var(--accent);
    margin-top:2px;
    cursor:pointer;
    flex-shrink:0;
}

.tool-service-info {
    display:flex;
    flex-direction:column;
    gap:0.2rem;
    flex:1 1 auto;
}

.tool-service-name {
    font-family:var(--heta-b8f);
    font-size:var(--text-sm);
    font-weight:700;
    color:var(--ink);
}

.tool-service-meta {
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:var(--ink-muted);
}

.tool-service-price {
    font-family:var(--heta-c73);
    font-size:var(--text-sm);
    font-weight:600;
    color:var(--accent);
    text-align:right;
    flex-shrink:0;
}

.tool-sidebar-panel {
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
    position:sticky;
    top:96px;
}

.tool-receipt {
    border:1px solid var(--line);
    background-color:var(--surface);
    padding:var(--space-lg);
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
}

.tool-receipt__header {
    border-bottom:1px solid var(--line);
    padding-bottom:var(--space-sm);
}

.tool-receipt__title {
    font-family:var(--heta-b8f);
    font-size:var(--text-md);
    font-weight:700;
    color:var(--ink);
}

.tool-receipt__metric-block {
    display:flex;
    flex-direction:column;
    gap:0.35rem;
}

.tool-receipt__label {
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:var(--ink-muted);
    text-transform:uppercase;
    letter-spacing:0.05em;
}

.tool-receipt__figure {
    font-family:var(--heta-c73);
    font-size:var(--text-2xl);
    font-weight:700;
    color:var(--accent);
    line-height:1.05;
}

.tool-receipt__duration-figure {
    font-family:var(--heta-c73);
    font-size:var(--text-lg);
    font-weight:600;
    color:var(--ink);
}

.tool-receipt__guidance {
    font-size:var(--text-xs);
    color:var(--ink-muted);
    line-height:1.5;
    background-color:var(--surface-lift);
    border:1px solid var(--line);
    padding:var(--space-sm);
}

.tool-receipt__disclaimer {
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:var(--ink-muted);
    line-height:1.4;
    border-top:1px solid var(--line);
    padding-top:var(--space-sm);
}

.services-schedule {
    padding-block:clamp(3rem, 7vw, 6rem);
    border-bottom:1px solid var(--line);
    background-color:var(--ground);
}

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

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

.service-card {
    border:1px solid var(--line);
    background-color:var(--surface-lift);
    padding:clamp(1.25rem, 3vw, 2rem);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:var(--space-md);
    transition:border-color var(--dur-fast) var(--ease-out),
                            box-shadow var(--dur-fast) var(--ease-out);
}

.service-card:hover {
    border-color:var(--ink);
    box-shadow:var(--shadow-lift);
}

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

.service-card__title {
    font-size:var(--text-lg);
    font-weight:700;
}

.service-card__rate {
    font-family:var(--heta-c73);
    font-size:var(--text-md);
    font-weight:600;
    color:var(--accent);
}

.service-card__body {
    font-size:var(--text-sm);
    color:var(--ink-muted);
    line-height:1.6;
}

.service-card__facts {
    border-top:1px solid var(--line);
    padding-top:var(--space-sm);
    display:flex;
    flex-direction:column;
    gap:0.35rem;
}

.service-card__row {
    display:flex;
    justify-content:space-between;
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:var(--ink-muted);
}

.service-card__row strong {
    color:var(--ink);
    font-weight:500;
}

.service-card__foot {
    border-top:1px solid var(--line);
    padding-top:var(--space-sm);
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.products-catalog {
    padding-block:clamp(3rem, 7vw, 6rem);
    border-bottom:1px solid var(--line);
    background-color:var(--ground);
}

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

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

.product-item {
    border:1px solid var(--line);
    background-color:var(--surface-lift);
    display:flex;
    flex-direction:column;
}

.product-item__media {
    width:100%;
    height:clamp(240px, 32vw, 360px);
    object-fit:cover;
    border-bottom:1px solid var(--line);
}

.product-item__content {
    padding:clamp(1.25rem, 3vw, 2rem);
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
    flex:1 1 auto;
    justify-content:space-between;
}

.product-item__title {
    font-size:var(--text-xl);
    font-weight:700;
    line-height:1.2;
}

.product-item__basis {
    font-family:var(--heta-c73);
    font-size:var(--text-xs);
    color:var(--accent);
    font-weight:500;
}

.product-item__prose {
    font-size:var(--text-sm);
    color:var(--ink-muted);
    line-height:1.6;
}

.product-item__specs-table {
    border:1px solid var(--line);
    width:100%;
}

.product-item__specs-table th {
    padding:0.6rem 0.75rem;
    background-color:var(--surface);
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:var(--ink-muted);
    text-align:left;
    width:40%;
}

.product-item__specs-table td {
    padding:0.6rem 0.75rem;
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:var(--ink);
    border-left:1px solid var(--line);
}

.product-item__action {
    border-top:1px solid var(--line);
    padding-top:var(--space-md);
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-sm);
}

.product-item__action .btn { white-space:nowrap; }

.about-practice {
    padding-block:clamp(3rem, 7vw, 6rem);
    border-bottom:1px solid var(--line);
    background-color:var(--ground);
}

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

@media (min-width: 900px) {
    .about-split {
        grid-template-columns:2fr 1fr;
        gap:var(--space-2xl);
    }
}

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

.about-bio p {
    font-size:var(--text-base);
    color:var(--ink);
    line-height:1.7;
}

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

.cred-card {
    border:1px solid var(--line);
    background-color:var(--surface-lift);
    padding:var(--space-md);
    display:flex;
    flex-direction:column;
    gap:0.35rem;
}

.cred-card__label {
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:var(--ink-muted);
    text-transform:uppercase;
    letter-spacing:0.05em;
}

.cred-card__value {
    font-family:var(--heta-b8f);
    font-size:var(--text-md);
    font-weight:700;
    color:var(--ink);
}

.cred-card__note {
    font-size:var(--text-xs);
    color:var(--ink-muted);
    line-height:1.45;
}

.contact-desk {
    padding-block:clamp(3rem, 7vw, 6rem);
    border-bottom:1px solid var(--line);
    background-color:var(--ground);
}

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

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

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

.contact-block {
    border:1px solid var(--line);
    background-color:var(--surface-lift);
    padding:var(--space-lg);
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
}

.contact-block__title {
    font-family:var(--heta-b8f);
    font-size:var(--text-sm);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.04em;
    color:var(--ink);
}

.contact-block__prose {
    font-size:var(--text-sm);
    color:var(--ink-muted);
    line-height:1.6;
}

.contact-block__link {
    font-family:var(--heta-c73);
    font-size:var(--text-sm);
    color:var(--ink);
    text-decoration:underline;
    text-underline-offset:3px;
    min-height:44px;
    display:inline-flex;
    align-items:center;
}

.contact-block__link:hover { color:var(--accent); }

.warranty-section {
    padding-block:clamp(3rem, 6vw, 5rem);
    border-bottom:1px solid var(--line);
    background-color:var(--surface);
}

.warranty-card {
    border:1px solid var(--line);
    background-color:var(--surface-lift);
    padding:clamp(1.5rem, 4vw, 3rem);
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
}

.legal-section-index-layout {
    padding-block:clamp(2.5rem, 6vw, 5rem);
    border-bottom:1px solid var(--line);
    background-color:var(--ground);
}

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

@media (min-width: 900px) {
    .wife781-grid {
        grid-template-columns:280px 1fr;
        gap:var(--space-2xl);
    }
}

.wife781-nav { position:relative; }

@media (min-width: 900px) {
    .wife781-nav__inner {
        position:sticky;
        top:96px;
        border:1px solid var(--line);
        background-color:var(--surface-lift);
        padding:var(--space-md);
    }
}

.wife781-nav__title {
    font-family:var(--heta-b8f);
    font-size:var(--text-xs);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.05em;
    margin-block-end:var(--space-sm);
    color:var(--ink);
}

.wife781-list {
    display:flex;
    flex-direction:column;
    gap:0.25rem;
}

.wife781-link {
    display:flex;
    align-items:baseline;
    gap:0.5rem;
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:var(--ink-muted);
    padding:0.5rem 0.4rem;
    border-left:2px solid transparent;
    min-height:44px;
    line-height:1.35;
    transition:color var(--dur-fast) var(--ease-out),
                            border-color var(--dur-fast) var(--ease-out),
                            background-color var(--dur-fast) var(--ease-out);
}

.wife781-link:hover {
    color:var(--ink);
    background-color:var(--surface);
    border-left-color:var(--ink);
}

.wife781-link.is-active {
    color:var(--accent);
    border-left-color:var(--accent);
    background-color:var(--surface);
    font-weight:500;
}

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

.legal-mobile-jump {
    display:none;
    margin-block-end:var(--space-lg);
    border:1px solid var(--line);
    background-color:var(--surface-lift);
}

@media (max-width: 899px) {
    .wife781-nav { display:none; }

    .legal-mobile-jump { display:block; }
}

.legal-mobile-jump summary {
    padding:0.85rem 1rem;
    font-family:var(--heta-b8f);
    font-size:var(--text-sm);
    font-weight:700;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:48px;
}

.legal-mobile-jump summary:focus-visible { outline:2px solid var(--accent); }

.legal-mobile-jump__body {
    padding:var(--space-sm) var(--space-md);
    border-top:1px solid var(--line);
    display:flex;
    flex-direction:column;
    gap:0.25rem;
}

.legal-reading-col {
    display:flex;
    flex-direction:column;
    gap:var(--space-2xl);
    min-width:0;
}

.legal-doc-section {
    scroll-margin-top:100px;
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
    border-bottom:1px solid var(--line);
    padding-bottom:var(--space-2xl);
}

.legal-doc-section:last-child {
    border-bottom:none;
    padding-bottom:0;
}

.legal-doc-section__badge {
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:#7a3c37;
    font-weight:600;
    letter-spacing:0.05em;
    text-transform:uppercase;
}

.legal-doc-section__heading {
    font-size:var(--text-xl);
    font-weight:700;
    line-height:1.2;
}

.legal-doc-section p {
    font-size:var(--text-base);
    color:var(--ink);
    line-height:1.7;
    max-width:var(--measure-prose);
}

.legal-doc-section ul {
    list-style:disc;
    padding-left:var(--space-lg);
    display:flex;
    flex-direction:column;
    gap:var(--space-2xs);
    max-width:var(--measure-prose);
}

.legal-doc-section li {
    font-size:var(--text-base);
    color:var(--ink);
    line-height:1.6;
}

.legal-glance-layout {
    padding-block:clamp(2.5rem, 6vw, 5rem);
    border-bottom:1px solid var(--line);
    background-color:var(--ground);
}

.legal-glance-panel {
    border:1px solid var(--line);
    background-color:var(--surface-lift);
    margin-block-end:var(--space-2xl);
    box-shadow:var(--shadow-subtle);
    overflow:hidden;
}

.legal-glance-panel__header {
    padding:1.25rem clamp(1.25rem, 3vw, 2rem);
    border-bottom:1px solid var(--line);
    background-color:var(--surface);
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-sm);
}

.legal-glance-panel__title {
    font-family:var(--heta-b8f);
    font-size:var(--text-md);
    font-weight:700;
}

.legal-glance-table-wrap {
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

.legal-glance-table {
    width:100%;
    border-collapse:collapse;
    text-align:left;
}

@media (min-width: 600px) {
    .legal-glance-table { min-width:480px; }
}

.legal-glance-table thead th {
    padding:0.75rem clamp(1rem, 2.5vw, 1.75rem);
    background-color:var(--surface);
    border-bottom:1px solid var(--line);
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    font-weight:600;
    color:var(--ink-muted);
    text-transform:uppercase;
    letter-spacing:0.05em;
    min-width:140px;
}

.legal-glance-table tbody tr { border-bottom:1px solid var(--line); }

.legal-glance-table tbody tr:last-child { border-bottom:none; }

.legal-glance-table th[scope='row'] {
    padding:1rem clamp(1rem, 2.5vw, 1.75rem);
    font-family:var(--heta-c73);
    font-size:var(--text-xs);
    color:var(--ink);
    font-weight:600;
    vertical-align:top;
    width:28%;
    min-width:140px;
    background-color:var(--surface);
    border-right:1px solid var(--line);
}

.legal-glance-table td {
    padding:1rem clamp(1rem, 2.5vw, 1.75rem);
    font-size:var(--text-sm);
    color:var(--ink);
    line-height:1.55;
    vertical-align:top;
}

.legal-glance-table td strong {
    display:inline-block;
    font-weight:600;
    color:var(--ink);
    margin-bottom:0.2rem;
}

.legal-glance-table td span {
    font-size:var(--text-xs);
    color:var(--ink-muted);
    display:block;
    line-height:1.45;
}

@media (max-width: 599px) {
    .legal-glance-table,
    .legal-glance-table thead,
    .legal-glance-table tbody,
    .legal-glance-table tr,
    .legal-glance-table th,
    .legal-glance-table td {
        display:block;
        width:100%;
        box-sizing:border-box;
    }

    .legal-glance-table thead { display:none; }

    .legal-glance-table tbody tr {
        border-bottom:1px solid var(--line);
        padding:0.75rem 0.85rem;
    }

    .legal-glance-table th[scope='row'] {
        width:100%;
        min-width:0;
        border-right:none;
        border-bottom:none;
        padding:0 0 0.35rem 0;
        background-color:transparent;
        color:var(--accent);
        font-size:var(--text-2xs);
        text-transform:uppercase;
        letter-spacing:0.05em;
    }

    .legal-glance-table td {
        padding:0;
        word-break:break-word;
        overflow-wrap:anywhere;
    }
}

.legal-prose-column {
    max-width:var(--measure-prose);
    display:flex;
    flex-direction:column;
    gap:var(--space-xl);
}

.legal-prose-block {
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
}

.legal-prose-block h2 {
    font-size:var(--text-xl);
    font-weight:700;
    line-height:1.25;
    margin-block-end:var(--space-xs);
}

.legal-prose-block p {
    font-size:var(--text-base);
    color:var(--ink);
    line-height:1.7;
}

.legal-tabbed-layout {
    padding-block:clamp(2.5rem, 6vw, 5rem);
    border-bottom:1px solid var(--line);
    background-color:var(--ground);
}

.legal-tablist {
    display:flex;
    border-bottom:1px solid var(--line);
    background-color:var(--surface);
    overflow-x:auto;
    scrollbar-width:none;
}

.legal-tablist::-webkit-scrollbar { display:none; }

.legal-tab-btn {
    padding:1rem 1.5rem;
    border:none;
    background:transparent;
    color:var(--ink-muted);
    font-family:var(--heta-b8f);
    font-size:var(--text-sm);
    font-weight:700;
    cursor:pointer;
    white-space:nowrap;
    min-height:52px;
    border-bottom:2px solid transparent;
    transition:color var(--dur-fast) var(--ease-out),
                            border-color var(--dur-fast) var(--ease-out),
                            background-color var(--dur-fast) var(--ease-out);
}

.legal-tab-btn:hover {
    color:var(--ink);
    background-color:var(--surface-lift);
    box-shadow:inset 0 -2px 0 var(--ink-muted);
}

.legal-tab-btn:active {
    background-color:var(--line);
    transform:translateY(1px);
}

.legal-tab-btn:focus-visible {
    outline:2px solid var(--accent);
    outline-offset:-2px;
}

.legal-tab-btn[aria-selected='true'] {
    color:var(--ink);
    background-color:var(--surface-lift);
    border-bottom-color:var(--accent);
}

.legal-tabpanel {
    border:1px solid var(--line);
    border-top:none;
    background-color:var(--surface-lift);
    padding:clamp(1.5rem, 4vw, 3rem);
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
    max-width:100%;
}

.legal-tabpanel[hidden] { display:none; }

.legal-tabpanel__title {
    font-size:var(--text-xl);
    font-weight:700;
    line-height:1.25;
}

.legal-tabpanel p {
    font-size:var(--text-base);
    color:var(--ink);
    line-height:1.7;
    max-width:var(--measure-prose);
}

.legal-tabpanel ul {
    list-style:disc;
    padding-left:var(--space-lg);
    display:flex;
    flex-direction:column;
    gap:var(--space-2xs);
    max-width:var(--measure-prose);
}

.legal-tabpanel li {
    font-size:var(--text-base);
    color:var(--ink);
    line-height:1.6;
}

.legal-tab-accordion-item { display:none; }

@media (max-width: 767px) {
    .legal-tablist { display:none; }

    .legal-tabpanel { display:none !important; }

    .legal-tab-accordion-item {
        display:block;
        border:1px solid var(--line);
        margin-block-end:var(--space-sm);
        background-color:var(--surface-lift);
    }

    .legal-tab-accordion-summary {
        padding:1rem 1.25rem;
        font-family:var(--heta-b8f);
        font-size:var(--text-sm);
        font-weight:700;
        cursor:pointer;
        min-height:52px;
        display:flex;
        align-items:center;
        justify-content:space-between;
    }

    .legal-tab-accordion-summary:focus-visible { outline:2px solid var(--accent); }

    .legal-tab-accordion-content {
        padding:var(--space-md) var(--space-lg);
        border-top:1px solid var(--line);
        display:flex;
        flex-direction:column;
        gap:var(--space-sm);
    }
}

.faq-section {
    padding-block:clamp(3rem, 7vw, 6rem);
    border-bottom:1px solid var(--line);
    background-color:var(--surface);
}

.faq-list {
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
    max-width:900px;
}

.faq-item {
    border:1px solid var(--line);
    background-color:var(--surface-lift);
}

.faq-summary {
    padding:1.25rem 1.5rem;
    font-family:var(--heta-b8f);
    font-size:var(--text-md);
    font-weight:700;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-md);
    min-height:56px;
    transition:background-color var(--dur-fast) var(--ease-out);
}

.faq-summary:hover { background-color:var(--ground); }

.faq-summary:active { background-color:var(--line); }

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

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

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

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

.faq-content {
    padding:var(--space-md) 1.5rem 1.5rem;
    border-top:1px solid var(--line);
    font-size:var(--text-base);
    color:var(--ink-muted);
    line-height:1.65;
}

.faq-content p { max-width:var(--measure-prose); }

.inquiry-block {
    padding-block:clamp(3rem, 7vw, 6rem);
    border-bottom:1px solid var(--line);
    background-color:var(--ground);
}

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

@media (min-width: 960px) {
    .inquiry-grid {
        grid-template-columns:1fr 1.6fr;
        gap:var(--space-2xl);
    }
}

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

.inquiry-form-card {
    border:1px solid var(--line);
    background-color:var(--surface-lift);
    padding:clamp(1.5rem, 4vw, 3rem);
}

.error-page-layout {
    padding-block:clamp(4rem, 10vw, 8rem);
    min-height:65vh;
    display:flex;
    align-items:center;
}

.error-page-card {
    border:1px solid var(--line);
    background-color:var(--surface-lift);
    padding:clamp(2rem, 6vw, 4.5rem);
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
    max-width:720px;
}

.error-code {
    font-family:var(--heta-c73);
    font-size:clamp(3rem, 10vw, 6rem);
    font-weight:800;
    color:var(--accent);
    line-height:1;
}

.error-page-title {
    font-size:var(--text-2xl);
    font-weight:700;
    line-height:1.15;
}

.error-page-prose {
    font-size:var(--text-base);
    color:var(--ink-muted);
    line-height:1.6;
}

.ad-disclosure-card {
    border:1px solid var(--line);
    background-color:var(--surface);
    padding:var(--space-md);
    margin-block:var(--space-md);
    display:flex;
    flex-direction:column;
    gap:0.35rem;
}

.ad-disclosure-card__title {
    font-family:var(--heta-b8f);
    font-size:var(--text-xs);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.04em;
    color:var(--ink);
}

.ad-disclosure-card__text {
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:var(--ink-muted);
    line-height:1.5;
}

.ad-disclosure-card__text a {
    color:var(--ink);
    text-decoration:underline;
    text-underline-offset:2px;
}

.ad-disclosure-card__text a:hover { color:var(--accent); }

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

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

.consent-signal-box {
    border:1px solid var(--line);
    background-color:var(--surface-lift);
    padding:0.75rem 1rem;
    display:flex;
    flex-direction:column;
    gap:0.2rem;
}

.consent-signal-box__name {
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    font-weight:500;
    color:var(--ink);
}

.consent-signal-box__state {
    font-family:var(--heta-c73);
    font-size:var(--text-2xs);
    color:var(--accent);
}

.consent-signal-box__desc {
    font-size:var(--text-2xs);
    color:var(--ink-muted);
    line-height:1.4;
}

.dsar-box {
    border:1px solid var(--line);
    background-color:var(--surface-lift);
    padding:var(--space-lg);
    margin-block:var(--space-md);
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
}

.dsar-box__title {
    font-family:var(--heta-b8f);
    font-size:var(--text-md);
    font-weight:700;
    color:var(--ink);
}

.dsar-box__text {
    font-size:var(--text-sm);
    color:var(--ink-muted);
    line-height:1.55;
}

.dsar-box__contact {
    font-family:var(--heta-c73);
    font-size:var(--text-xs);
    color:var(--ink);
}

.accessibility-box {
    border:1px solid var(--line);
    background-color:var(--surface-lift);
    padding:var(--space-lg);
    margin-block:var(--space-md);
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
}

.accessibility-box__title {
    font-family:var(--heta-b8f);
    font-size:var(--text-md);
    font-weight:700;
    color:var(--ink);
}

.accessibility-box__text {
    font-size:var(--text-sm);
    color:var(--ink-muted);
    line-height:1.55;
}

@media (max-width: 480px) {
    .job-facts { grid-template-columns:1fr; }

    .home-hero__metrics { grid-template-columns:1fr; }

    .throw-card {
        min-height:380px;
        padding:1.25rem;
    }

    .tool-receipt { padding:1.25rem; }

    .tool-receipt__figure { font-size:var(--text-xl); }

    .signature-collage-wrap { height:300px; }
}
