
.hero-opening {
    position:relative;
    background-color:var(--ground);
    border-bottom:1px solid var(--line);
    min-height:calc(100vh - var(--header-height-desk));
    min-height:calc(100dvh - var(--header-height-desk));
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    overflow:hidden;
}

@media (min-width: 1024px) {
    .hero-opening {
        min-height:calc(100vh - 4.5rem);
        min-height:calc(100dvh - 4.5rem);
    }
}

.hero-opening__grid {
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
    flex-grow:1;
    min-height:520px;
}

@media (min-width: 1024px) {
    body .hero-opening div.hero-opening__grid {
        display:grid !important;
        grid-template-columns:minmax(480px, 1fr) 1.1fr !important;
    }
}

.hero-opening__content {
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:var(--spacing-xl) var(--spacing-md);
    max-width:680px;
    z-index:2;
    min-width:0;
}

@media (min-width: 768px) {
    .hero-opening__content {
        padding:var(--spacing-2xl) var(--spacing-lg);
    }
}

@media (min-width: 1024px) {
    .hero-opening__content {
        padding:var(--spacing-3xl) var(--spacing-xl) var(--spacing-3xl) max(var(--spacing-lg), calc((100vw - var(--container-max)) / 2 + var(--spacing-lg)));
        max-width:680px;
    }
}

.hero-opening__title {
    font-family:var(--vubi-303);
    font-size:var(--font-size-hero);
    font-weight:600;
    line-height:1.1;
    color:var(--ink);
    margin-bottom:var(--spacing-sm);
    letter-spacing:-0.025em;
    text-wrap:balance;
    word-break:normal;
    overflow-wrap:break-word;
}

.hero-opening__lede {
    font-family:var(--vubi-c4c);
    font-size:var(--font-size-md);
    line-height:var(--line-height-relaxed);
    color:var(--ink-soft);
    margin-bottom:var(--spacing-xl);
    max-width:var(--container-reading);
}

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

.hero-opening__action .btn {
    min-width:180px;
}

/* Tight edge crop visual container: filling right 55% of the screen from top to bottom */
.hero-opening__stage {
    position:relative;
    background-color:var(--surface-2);
    overflow:hidden;
    height:35vh;
    min-height:280px;
    border-top:1px solid var(--line);
}

@media (min-width: 1024px) {
    .hero-opening__stage {
        min-height:100%;
        height:100%;
        border-top:0;
        border-left:1px solid var(--line);
    }
}

[data-model-stage] {
    position:relative;
    width:100%;
    height:100%;
    min-height:100%;
    overflow:hidden;
    display:block;
}

@media (min-width: 1024px) {
    [data-model-stage] {
        min-height:100%;
        height:100%;
    }
}

[data-model-still] {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:85% 35%;
    transform:scale(1.35);
    transform-origin:85% 35%;
    z-index:1;
    pointer-events:none;
}

[data-model-canvas] {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:2;
    cursor:grab;
    touch-action:pan-y;
}

[data-model-canvas]:active {
    cursor:grabbing;
}

[data-model-stage][data-model-live] [data-model-still] {
    opacity:0;
    visibility:hidden;
    transition:opacity var(--duration-normal) var(--ease-out);
}

/* Stat strip below hero */
.hero-stats {
    background-color:var(--surface);
    border-top:1px solid var(--line);
    padding:var(--spacing-md) 0;
}

.hero-stats__grid {
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:var(--spacing-md);
}

@media (min-width: 768px) {
    .hero-stats__grid {
        grid-template-columns:repeat(4, 1fr);
        gap:var(--spacing-lg);
    }
}

.hero-stat {
    display:flex;
    flex-direction:column;
    gap:2px;
}

.hero-stat__value {
    font-family:var(--vubi-614);
    font-size:var(--font-size-xl);
    font-weight:600;
    color:var(--ink);
    line-height:1.1;
}

.hero-stat__label {
    font-family:var(--vubi-c4c);
    font-size:var(--font-size-xs);
    color:var(--ink-soft);
    line-height:1.35;
}

.single-idea {
    padding-top:var(--spacing-2xl);
    padding-bottom:var(--spacing-2xl);
    border-bottom:1px solid var(--line);
    background-color:var(--ground);
}

@media (min-width: 1024px) {
    .single-idea {
        padding-top:var(--spacing-3xl);
        padding-bottom:var(--spacing-3xl);
    }
}

.single-idea__quote {
    font-family:var(--vubi-303);
    font-size:var(--font-size-2xl);
    line-height:var(--line-height-snug);
    color:var(--ink);
    border-left:3px solid var(--accent);
    padding-left:var(--spacing-lg);
    max-width:820px;
    margin:0;
    font-style:normal;
}

.single-idea__author {
    font-family:var(--vubi-614);
    font-size:var(--font-size-xs);
    color:var(--ink-soft);
    text-transform:uppercase;
    letter-spacing:0.08em;
    margin-top:var(--spacing-md);
    display:block;
}

.held-section {
    padding-top:var(--spacing-2xl);
    padding-bottom:var(--spacing-2xl);
    border-bottom:1px solid var(--line);
}

@media (min-width: 1024px) {
    .held-section {

        padding-top:var(--spacing-3xl);
        padding-bottom:var(--spacing-3xl);
    }
}

.held-header__sticky {
    position:static;
}

@media (min-width: 1024px) {
    .held-header__sticky {
        position:sticky;
        top:calc(var(--spacing-xl) + 1.5rem);
        align-self:start;
    }
}

.held-header__sticky h2 {
    font-size:var(--font-size-2xl);
    line-height:var(--line-height-tight);
    margin-bottom:var(--spacing-xs);
}

.held-header__meta {
    font-family:var(--vubi-614);
    font-size:var(--font-size-xs);
    color:var(--ink-soft);
    margin-top:var(--spacing-sm);
    display:flex;
    flex-direction:column;
    gap:var(--spacing-3xs);
}

/* Varied Content Shapes on the right scrolling side */
.shape-list {
    display:flex;
    flex-direction:column;
    gap:var(--spacing-md);

}

.shape-list__row {
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    padding-bottom:var(--spacing-sm);
    border-bottom:1px solid var(--line);

    gap:var(--spacing-sm);
}

.shape-list__row:last-child {
    border-bottom:0;
    padding-bottom:0;
}

.shape-list__title {
    font-weight:500;
    font-size:var(--font-size-base);
    color:var(--ink);
}

.shape-list__desc {
    font-size:var(--font-size-sm);
    color:var(--ink-soft);
    margin-top:2px;
}

.shape-list__price {
    font-family:var(--vubi-614);
    font-size:var(--font-size-sm);
    font-weight:600;
    color:var(--ink);
    white-space:nowrap;
}

.shape-table-wrap {
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    margin-bottom:var(--spacing-md);
}

.shape-table {
    width:100%;
    border:1px solid var(--line);
    background-color:var(--surface);
    font-size:var(--font-size-sm);
}

.shape-table th,
.shape-table td {
    padding:0.75rem 1rem;
    border-bottom:1px solid var(--line);
}

.shape-table th {
    background-color:var(--surface-2);
    font-weight:600;
    color:var(--ink);
}

.shape-table td:nth-child(2),
.shape-table td:nth-child(3) {
    font-family:var(--vubi-614);
    font-size:var(--font-size-xs);
}

.photo-collage {
    position:relative;
    width:100%;
    min-height:440px;
    margin-top:var(--spacing-lg);
    margin-bottom:var(--spacing-lg);
}

@media (min-width: 768px) {
    .photo-collage {
        min-height:520px;
    }
}

.photo-collage__item {
    position:absolute;
    overflow:hidden;
    border-radius:var(--radius-xs);
    border:1px solid var(--line);
    box-shadow:var(--shadow-card);
    background-color:var(--surface);
    transition:transform var(--duration-normal) var(--ease-out),
                            box-shadow var(--duration-normal) var(--ease-out);
}

.photo-collage__item:hover {
    box-shadow:var(--shadow-floating);
    z-index:10;
}

.photo-collage__item img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

/* Composed layout with subtle rotations and intentional scale variance */
.photo-collage__item--primary {
    width:68%;
    height:340px;
    top:0;
    left:0;
    z-index:1;
    transform:rotate(-1.5deg);
}

@media (max-width: 480px) {
    .photo-collage__item--primary {
        height:auto;
        aspect-ratio:3 / 2;
    }
}

@media (min-width: 768px) {
    .photo-collage__item--primary {
        width:64%;
        height:400px;
    }
}

.photo-collage__item--secondary {
    width:48%;
    height:auto;
    aspect-ratio:3 / 2;
    right:0;
    bottom:20px;
    z-index:2;
    transform:rotate(2deg);
}

@media (max-width: 480px) {
    .photo-collage__item--secondary {
        height:auto;
        aspect-ratio:3 / 2;
    }
}

@media (min-width: 768px) {
    .photo-collage__item--secondary {
        width:46%;
        height:auto;
        aspect-ratio:3 / 2;
        bottom:0;
    }
}

.photo-collage__item--tertiary {
    width:38%;
    height:200px;
    top:40%;
    left:32%;
    z-index:3;
    transform:rotate(-0.5deg);
    display:none;
}

@media (min-width: 768px) {
    .photo-collage__item--tertiary {
        display:block;
    }
}

.photo-collage__caption {
    margin-top:var(--spacing-xs);
    font-size:var(--font-size-xs);
    color:var(--ink-soft);
    font-family:var(--vubi-614);
}

.service-lookup {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    padding:var(--spacing-lg);
    margin-top:var(--spacing-lg);
    box-shadow:var(--shadow-subtle);
}

@media (min-width: 768px) {
    .service-lookup {
        padding:var(--spacing-xl);
    }
}

.service-lookup__header {
    margin-bottom:var(--spacing-md);
    border-bottom:1px solid var(--line);
    padding-bottom:var(--spacing-sm);
}

.service-lookup__title {
    font-family:var(--vubi-303);
    font-size:var(--font-size-lg);
    margin-bottom:var(--spacing-3xs);
}

.service-lookup__hint {
    font-size:var(--font-size-sm);
    color:var(--ink-soft);
    max-width:58ch;
}

.service-lookup__controls {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--spacing-md);
    margin-bottom:var(--spacing-lg);
}

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

.lookup-field {
    display:flex;
    flex-direction:column;
    gap:var(--spacing-3xs);
}

.lookup-label {
    font-family:var(--vubi-c4c);
    font-size:var(--font-size-sm);
    font-weight:500;
    color:var(--ink);
}

.lookup-select {
    width:100%;
    min-height:2.75rem;
    padding:0.5rem 0.75rem;
    background-color:var(--ground);
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    color:var(--ink);
    font-family:var(--vubi-c4c);
    font-size:var(--font-size-sm);
    cursor:pointer;
    transition:border-color var(--duration-fast) var(--ease-out);
}

@media (max-width: 48rem) {
    select.lookup-select,
    select#tool-category,
    select#tool-zone,
    select#tool-master,
    select#tool-service-select,
    select#tool-zone-select,
    select#tool-master-select,
    select.form-control,
    input.form-control {
        font-size:16px !important;
    }
}

.lookup-select:hover {
    border-color:var(--line-strong);
}

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

.service-lookup__result {
    background-color:var(--ground);
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    padding:var(--spacing-md);
    display:flex;
    flex-direction:column;
    gap:var(--spacing-sm);
}

@media (min-width: 768px) {
    .service-lookup__result {
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        padding:var(--spacing-md) var(--spacing-lg);
    }
}

.lookup-result__info {
    display:flex;
    flex-direction:column;
    gap:2px;
}

.lookup-result__service {
    font-family:var(--vubi-303);
    font-size:var(--font-size-md);
    font-weight:600;
    color:var(--ink);
}

.lookup-result__note {
    font-size:var(--font-size-xs);
    color:var(--ink-soft);
    max-width:48ch;
}

.lookup-result__digits {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
}

@media (min-width: 768px) {
    .lookup-result__digits {
        align-items:flex-end;
    }
}

.lookup-result__price {
    font-family:var(--vubi-614);
    font-size:var(--font-size-lg);
    font-weight:600;
    color:var(--ink);
}

.lookup-result__duration {
    font-family:var(--vubi-614);
    font-size:var(--font-size-xs);
    color:var(--ink-soft);
}

.lookup-disclaimer {
    font-size:var(--font-size-xs);
    color:var(--ink-soft);
    margin-top:var(--spacing-xs);
    line-height:1.4;
}

.services-catalog {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--spacing-md);
    max-width:100%;
}

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

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

.service-detail-header {
    padding-top:var(--spacing-xl);
    padding-bottom:var(--spacing-lg);
    border-bottom:1px solid var(--line);
}

@media (min-width: 1024px) {
    .service-detail-header {
        padding-top:var(--spacing-2xl);
        padding-bottom:var(--spacing-xl);
    }
}

.service-detail-header__grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--spacing-lg);
    align-items:start;
}

@media (min-width: 1024px) {
    .service-detail-header__grid {
        grid-template-columns:1.2fr 0.8fr;
        gap:var(--spacing-2xl);
    }
}

.service-specs-box {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    padding:var(--spacing-md);
    display:flex;
    flex-direction:column;
    gap:var(--spacing-xs);
}

.service-specs-item {
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    padding-bottom:var(--spacing-2xs);
    border-bottom:1px solid var(--line);
    font-size:var(--font-size-sm);
}

.service-specs-item:last-child {
    border-bottom:0;
    padding-bottom:0;
}

.service-specs-label {
    color:var(--ink-soft);
}

.service-specs-val {
    font-family:var(--vubi-614);
    font-weight:500;
    color:var(--ink);
    text-align:right;
}

.protocol-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--spacing-md);
    margin-top:var(--spacing-lg);
}

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

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

.protocol-card__step {
    font-family:var(--vubi-614);
    font-size:var(--font-size-xs);
    color:var(--accent);
    font-weight:600;
    letter-spacing:0.05em;
}

.protocol-card__title {
    font-family:var(--vubi-303);
    font-size:var(--font-size-md);
    font-weight:600;
}

.protocol-card__desc {
    font-size:var(--font-size-sm);
    color:var(--ink-soft);
    line-height:1.5;
}

.proof-band {
    background-color:var(--surface);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:var(--spacing-xl) 0;
}

.proof-band__content {
    display:flex;
    flex-direction:column;
    gap:var(--spacing-md);
}

@media (min-width: 768px) {
    .proof-band__content {
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
    }
}

.pricing-section {
    padding-top:var(--spacing-xl);
    padding-bottom:var(--spacing-2xl);
}

.pricing-table-container {
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    margin-top:var(--spacing-md);
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    background-color:var(--surface);
}

.pricing-table {
    width:100%;
    border-collapse:collapse;
    font-size:var(--font-size-sm);
    min-width:580px;
}

.pricing-table th,
.pricing-table td {
    padding:0.875rem 1rem;
    border-bottom:1px solid var(--line);
    text-align:left;
}

.pricing-table th {
    background-color:var(--surface-2);
    font-family:var(--vubi-c4c);
    font-weight:600;
    color:var(--ink);
}

.pricing-table tr:last-child td {
    border-bottom:0;
}

.pricing-table tr:hover td {
    background-color:rgba(255, 255, 255, 0.25);
}

.pricing-table__price {
    font-family:var(--vubi-614);
    font-weight:600;
    color:var(--ink);
    white-space:nowrap;
}

.pricing-table__time {
    font-family:var(--vubi-614);
    font-size:var(--font-size-xs);
    color:var(--ink-soft);
}

.pricing-factors-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--spacing-md);
    margin-top:var(--spacing-lg);
}

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

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

.factor-card {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    padding:var(--spacing-md);
}

.factor-card h4 {
    font-family:var(--vubi-303);
    font-size:var(--font-size-base);
    margin-bottom:var(--spacing-3xs);
}

.factor-card p {
    font-size:var(--font-size-xs);
    color:var(--ink-soft);
}

.contact-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--spacing-xl);
    padding-top:var(--spacing-xl);
    padding-bottom:var(--spacing-2xl);
}

@media (min-width: 1024px) {
    .contact-grid {
        grid-template-columns:1fr 1.25fr;
        gap:var(--spacing-3xl);
    }
}

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

.contact-info-block {
    display:flex;
    flex-direction:column;
    gap:var(--spacing-2xs);
}

.contact-info-block__title {
    font-family:var(--vubi-303);
    font-size:var(--font-size-md);
    font-weight:600;
    margin-bottom:var(--spacing-3xs);
}

.contact-info-block a {
    text-decoration:none;
}

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

@media (min-width: 768px) {
    .contact-form-wrap {
        padding:var(--spacing-xl);
    }
}

.contact-form-wrap h3 {
    font-size:var(--font-size-xl);
    margin-bottom:var(--spacing-3xs);
}

.contact-form-wrap .lede {
    margin-bottom:var(--spacing-lg);
    font-size:var(--font-size-sm);
}

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

@media (min-width: 768px) {
    .form-row {
        grid-template-columns:1fr 1fr;
    }
}

.legal-page--privacy {
    padding-top:var(--spacing-xl);
    padding-bottom:var(--spacing-3xl);
    background-color:var(--ground);
}

.doc-card {
    max-width:880px;
    margin:0 auto;
    background-color:#ffffff;
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    box-shadow:var(--shadow-card);
    padding:var(--spacing-lg) var(--spacing-md);
}

@media (min-width: 768px) {
    .doc-card {
        padding:var(--spacing-2xl) var(--spacing-xl);
    }
}

@media (min-width: 1024px) {
    .doc-card {
        padding:var(--spacing-3xl) var(--spacing-2xl);
    }
}

.doc-card__masthead {
    border-bottom:2px solid var(--ink);
    padding-bottom:var(--spacing-lg);
    margin-bottom:var(--spacing-xl);
}

.doc-card__meta-bar {
    display:flex;
    flex-wrap:wrap;
    gap:var(--spacing-sm);
    align-items:center;
    justify-content:space-between;
    margin-top:var(--spacing-md);
    padding-top:var(--spacing-xs);
    border-top:1px solid var(--line);
    font-family:var(--vubi-614);
    font-size:var(--font-size-xs);
    color:var(--ink-soft);
}

.doc-card__title {
    font-family:var(--vubi-303);
    font-size:var(--font-size-2xl);
    line-height:var(--line-height-tight);
    margin-bottom:var(--spacing-xs);
}

.doc-clause {
    margin-bottom:var(--spacing-xl);
    padding-bottom:var(--spacing-lg);
    border-bottom:1px solid var(--line-subtle);
}

.doc-clause:last-child {
    border-bottom:0;
    margin-bottom:0;
    padding-bottom:0;
}

.doc-clause__header {
    display:flex;
    align-items:baseline;
    gap:var(--spacing-xs);
    margin-bottom:var(--spacing-xs);
}

.doc-clause__num {
    font-family:var(--vubi-614);
    font-size:var(--font-size-xs);
    font-weight:600;
    color:var(--accent);
}

.doc-clause__title {
    font-family:var(--vubi-303);
    font-size:var(--font-size-lg);
    font-weight:600;
    margin:0;
}

.doc-clause p {
    color:var(--ink);
    font-size:var(--font-size-base);
    line-height:var(--line-height-normal);
    margin-bottom:var(--spacing-xs);
}

.doc-clause ul {
    list-style:disc;
    padding-left:var(--spacing-lg);
    margin-bottom:var(--spacing-sm);
    color:var(--ink);
}

.doc-clause li {
    margin-bottom:var(--spacing-3xs);
}

.legal-page--cookies {
    padding-top:var(--spacing-xl);
    padding-bottom:var(--spacing-3xl);
    background-color:var(--ground);
}

.notes-header {
    max-width:880px;
    margin:0 auto var(--spacing-xl) auto;
    border-bottom:1px solid var(--line);
    padding-bottom:var(--spacing-md);
}

.notes-container {
    max-width:980px;
    margin:0 auto;
}

.notes-row {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--spacing-xs);
    padding-bottom:var(--spacing-xl);
    margin-bottom:var(--spacing-xl);
    border-bottom:1px solid var(--line-subtle);
}

@media (min-width: 1024px) {
    .notes-row {
        grid-template-columns:minmax(0, 1fr) 280px;
        gap:var(--spacing-xl);
        align-items:start;
    }
}

.notes-body {
    min-width:0;
}

.notes-body h2 {
    font-size:var(--font-size-xl);
    margin-bottom:var(--spacing-xs);
}

.notes-body p {
    font-size:var(--font-size-base);
    line-height:var(--line-height-normal);
    margin-bottom:var(--spacing-xs);
}

.notes-aside {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-left:3px solid var(--accent);
    border-radius:var(--radius-xs);
    padding:var(--spacing-sm);
    font-family:var(--vubi-614);
    font-size:var(--font-size-xs);
    line-height:1.4;
    color:var(--ink-soft);
    margin-top:var(--spacing-xs);
}

@media (min-width: 1024px) {
    .notes-aside {
        margin-top:0;
        position:sticky;
        top:2rem;
    }
}

.notes-aside__tag {
    text-transform:uppercase;
    font-weight:600;
    letter-spacing:0.05em;
    color:var(--accent);
    display:block;
    margin-bottom:var(--spacing-3xs);
}

.notes-aside dl {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:var(--spacing-3xs) var(--spacing-xs);
    margin:0;
}

.notes-aside dt {
    font-weight:500;
    color:var(--ink);
}

.notes-aside dd {
    margin:0;
    color:var(--ink-soft);
}

.legal-page--terms {
    padding-top:var(--spacing-xl);
    padding-bottom:var(--spacing-3xl);
    background-color:var(--ground);
}

.terms-header {
    max-width:1040px;
    margin:0 auto var(--spacing-xl) auto;
    border-bottom:1px solid var(--line);
    padding-bottom:var(--spacing-md);
}

.dated-rail-layout {
    max-width:1040px;
    margin:0 auto;
    position:relative;
}

/* Mobile horizontal date strip */
.dated-rail-mobile-strip {
    display:flex;
    overflow-x:auto;
    gap:var(--spacing-sm);
    padding-bottom:var(--spacing-sm);
    margin-bottom:var(--spacing-lg);
    border-bottom:1px solid var(--line);
    -webkit-overflow-scrolling:touch;
}

@media (min-width: 1024px) {
    .dated-rail-mobile-strip {
        display:none;
    }
}

.dated-rail-chip {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    padding:0.35rem 0.65rem;
    font-family:var(--vubi-614);
    font-size:var(--font-size-xs);
    white-space:nowrap;
    flex-shrink:0;
}

.dated-rail-chip strong {
    color:#7b3837;
}

.legal-page--terms strong,
.legal-page strong {
    color:#7b3837;
}

.dated-rail-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--spacing-lg);
}

@media (min-width: 1024px) {
    .dated-rail-grid {
        grid-template-columns:240px minmax(0, 1fr);
        gap:var(--spacing-2xl);
        position:relative;
    }

    .dated-rail-grid::before {
        content:"";
        position:absolute;
        top:0;
        bottom:0;
        left:239px;
        width:1px;
        background-color:var(--line);
    }
}

.dated-rail-sidebar {
    display:none;
}

@media (min-width: 1024px) {
    .dated-rail-sidebar {
        display:flex;
        flex-direction:column;
        gap:var(--spacing-xl);
        position:sticky;
        top:2rem;
        align-self:start;
        padding-right:var(--spacing-md);
    }
}

.rail-marker {
    position:relative;
    display:flex;
    flex-direction:column;
    gap:var(--spacing-3xs);
}

.rail-marker::after {
    content:"";
    position:absolute;
    right:-1.75rem;
    top:0.25rem;
    width:9px;
    height:9px;
    border-radius:var(--radius-pill);
    background-color:var(--ground);
    border:2px solid var(--accent);
}

.rail-marker__date {
    font-family:var(--vubi-614);
    font-size:var(--font-size-xs);
    font-weight:600;
    color:var(--accent);
}

.rail-marker__label {
    font-size:var(--font-size-xs);
    color:var(--ink-soft);
    line-height:1.3;
}

.dated-rail-content {
    display:flex;
    flex-direction:column;
    gap:var(--spacing-xl);
}

.rail-section {
    padding-bottom:var(--spacing-lg);
    border-bottom:1px solid var(--line-subtle);
}

.rail-section:last-child {
    border-bottom:0;
}

.rail-section h2 {
    font-size:var(--font-size-xl);
    margin-bottom:var(--spacing-xs);
}

.rail-section p {
    font-size:var(--font-size-base);
    line-height:var(--line-height-normal);
    margin-bottom:var(--spacing-xs);
}

.faq-accordion {
    display:flex;
    flex-direction:column;
    gap:var(--spacing-xs);
    margin-top:var(--spacing-lg);
}

.faq-item {
    background-color:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    overflow:hidden;
    transition:border-color var(--duration-fast) var(--ease-out);
}

.faq-item:hover {
    border-color:var(--line-strong);
}

.faq-trigger {
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:var(--spacing-sm) var(--spacing-md);
    background:none;
    border:0;
    cursor:pointer;
    text-align:left;
    font-family:var(--vubi-303);
    font-size:var(--font-size-md);
    font-weight:600;
    color:var(--ink);
    gap:var(--spacing-sm);
    transition:background-color var(--duration-fast) var(--ease-out),
                            color var(--duration-fast) var(--ease-out);
}

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

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

.faq-trigger .icon {
    transition:transform var(--duration-fast) var(--ease-out);
}

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

.faq-panel {
    display:none;
    padding:0 var(--spacing-md) var(--spacing-md) var(--spacing-md);
    font-size:var(--font-size-sm);
    line-height:var(--line-height-normal);
    color:var(--ink);
}

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

.team-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--spacing-md);
    margin-top:var(--spacing-lg);
}

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

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

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

.team-card__name {
    font-family:var(--vubi-303);
    font-size:var(--font-size-md);
    font-weight:600;
}

.team-card__role {
    font-family:var(--vubi-614);
    font-size:var(--font-size-xs);
    color:var(--accent);
}

.team-card__desc {
    font-size:var(--font-size-xs);
    color:var(--ink-soft);
}

.error-page {
    padding-top:var(--spacing-3xl);
    padding-bottom:var(--spacing-3xl);
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:60vh;
}

.error-page__code {
    font-family:var(--vubi-614);
    font-size:clamp(3rem, 10vw, 6rem);
    font-weight:600;
    color:var(--accent);
    line-height:1;
    margin-bottom:var(--spacing-xs);
}

.error-page__title {
    font-family:var(--vubi-303);
    font-size:var(--font-size-2xl);
    margin-bottom:var(--spacing-sm);
}

.error-page__desc {
    font-size:var(--font-size-md);
    color:var(--ink-soft);
    max-width:50ch;
    margin-bottom:var(--spacing-lg);
}

.figure-framed {
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    overflow:hidden;
    background-color:var(--surface);
    margin-bottom:var(--spacing-md);
}

.figure-framed img {
    width:100%;
    height:auto;
    object-fit:cover;
    display:block;
}

.figure-framed figcaption {
    padding:var(--spacing-xs) var(--spacing-sm);
    font-family:var(--vubi-614);
    font-size:var(--font-size-xs);
    color:var(--ink-soft);
    background-color:var(--surface);
    border-top:1px solid var(--line);
}
