body.btt-site-design {
    --club-ink: #122a3b;
    --club-muted: #465d6e;
    --club-blue: #05638f;
    --club-orange: #ff842e;
    --club-line: #d8cbbb;
    --club-surface: #eee7dd;
    --club-panel: #e7dacb;
    --club-paper: #fffcf7;
    margin: 0;
    color: var(--club-ink);
    background: var(--club-surface);
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
    line-height: 1.55;
}
.btt-site-design *, .btt-site-design *::before, .btt-site-design *::after {
    box-sizing: border-box;
}
.btt-home-proposal :is(h1,h2,h3) {
    margin: 0;
    color: var(--club-ink);
    font-family: inherit;
    line-height: 1.12;
    letter-spacing: -.045em;
}
.btt-home-proposal a, .btt-top a, .btt-footer a, .btt-section-page a { color: inherit; text-decoration: none; }
.btt-site-design :is(a,summary):focus-visible {
    outline: 3px solid var(--club-blue);
    outline-offset: 4px;
}
.btt-site-design .btt-wrap {
    width: min(100% - 3.5rem, 74rem);
    margin-inline: auto;
}
.btt-skip:focus { z-index: 100001; }

.btt-top {
    background: var(--club-paper);
    border-top: 4px solid var(--club-orange);
    border-bottom: 1px solid var(--club-line);
}
.btt-top-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.3rem;
    min-height: 5rem;
    position: relative;
}
.btt-logo { display: inline-flex; flex: 0 0 auto; align-items: center; font-weight: 800; }
.btt-logo img { display: block; width: clamp(8.4rem, 16vw, 12.5rem); height: auto; }
.btt-top .btt-nav-list,
.btt-top .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}
.btt-desktop-nav .btt-nav-list { display: flex; gap: clamp(.1rem, 1vw, .8rem); }
.btt-top .menu-item { position: relative; }
.btt-top .menu-item a {
    display: block;
    padding: .6rem .65rem;
    border-radius: .45rem;
    font-size: .82rem;
    font-weight: 760;
    letter-spacing: .035em;
    white-space: nowrap;
}
.btt-top :is(.current-menu-item > a, .menu-item a:hover) { color: var(--club-blue); background: #eaf4fa; }
.btt-desktop-nav .menu-item-has-children > a::after {
    content: '⌄';
    margin-inline-start: .35em;
}
.btt-desktop-nav .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 20;
    min-width: max-content;
    padding: .35rem;
    border: 1px solid var(--club-line);
    border-radius: .55rem;
    background: var(--club-paper);
    box-shadow: 0 .6rem 1.75rem #152e441a;
}
.btt-desktop-nav .menu-item-has-children:is(:hover,:focus-within) > .sub-menu { display: block; }
.btt-mobile-nav { display: none; }
.btt-mobile-nav summary {
    list-style: none;
    cursor: pointer;
    border: 1px solid var(--club-line);
    border-radius: .45rem;
    padding: .55rem .8rem;
    font-weight: 750;
}
.btt-mobile-nav summary::after { content: ' +'; color: var(--club-blue); }
.btt-mobile-nav[open] summary::after { content: ' −'; }
.btt-mobile-nav summary::-webkit-details-marker { display: none; }
.btt-mobile-nav nav {
    position: absolute;
    right: 0;
    top: calc(100% - .2rem);
    z-index: 20;
    width: min(19rem, 100%);
    background: var(--club-paper);
    border: 1px solid var(--club-line);
    border-radius: .65rem;
    padding: .55rem;
    box-shadow: 0 .7rem 2rem #152e4420;
}
.btt-mobile-nav .sub-menu { margin-inline-start: .8rem; border-inline-start: 1px solid var(--club-line); }
.btt-mobile-nav .menu-item a { white-space: normal; }

.btt-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.28fr);
    gap: clamp(1.6rem, 4.2vw, 4rem);
    align-items: center;
    padding: clamp(2.1rem, 4.5vw, 4rem) 0 clamp(1.3rem, 2.5vw, 2.25rem);
}
.btt-kicker {
    display: flex;
    align-items: center;
    gap: .48rem;
    margin: 0 0 .65rem;
    color: var(--club-blue);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.btt-kicker > span { width: 1.05rem; height: .18rem; background: var(--club-orange); flex: 0 0 auto; }
.btt-hero-copy h1 { font-size: clamp(2.5rem, 5.1vw, 4.65rem); font-weight: 850; line-height: .99; letter-spacing: -.07em; }
.btt-hero-copy h1 em { color: var(--club-blue); font-style: normal; }
.btt-hero-intro {
    max-width: 36ch;
    margin: 1.15rem 0 1.45rem;
    color: var(--club-muted);
    font-size: clamp(1rem, 1.5vw, 1.13rem);
}
.btt-hero-actions, .btt-club-links { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; }
.btt-site-design .btt-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: .67rem .93rem;
    min-height: 2.85rem;
    font-size: .86rem;
    font-weight: 790;
    border: 1px solid transparent;
    border-radius: .55rem;
}
.btt-site-design .btt-button-primary { background: var(--club-orange); color: #162534; }
.btt-site-design .btt-button-primary:hover { background: #ff9a54; }
.btt-site-design .btt-button-secondary { border-color: #c8dbe8; color: var(--club-blue); background: var(--club-paper); }
.btt-site-design .btt-button-secondary:hover { background: #eaf4fa; }
.btt-hero-photo {
    position: relative;
    aspect-ratio: 1.6;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 1.15rem;
    background: #daeaf2;
    box-shadow: 0 .8rem 2rem #122a3b22;
}
.btt-hero-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.btt-hero-photo figcaption {
    position: absolute;
    bottom: .8rem;
    left: .8rem;
    padding: .33rem .65rem;
    border-radius: .35rem;
    background: #122a3be8;
    color: #fff;
    font-size: .71rem;
    font-weight: 760;
    letter-spacing: .07em;
}
.btt-hero-photo figcaption span { color: #ffab6b; margin-inline: .3rem; }

.btt-next {
    display: flex;
    align-items: center;
    gap: clamp(.75rem, 2vw, 1.4rem);
    padding: clamp(.85rem, 2vw, 1.2rem);
    background: var(--club-paper);
    border: 1px solid var(--club-line);
    border-inline-start: 4px solid var(--club-orange);
    border-radius: .78rem;
    box-shadow: 0 .25rem 1rem #152e440b;
}
.btt-date {
    flex: 0 0 auto;
    display: grid;
    place-content: center;
    gap: .15rem;
    width: 4.1rem;
    min-height: 4.1rem;
    border-radius: .58rem;
    background: #e6f2f8;
    color: var(--club-blue);
    text-align: center;
    line-height: 1;
}
.btt-date strong { font-size: 1.7rem; font-weight: 850; }
.btt-date span { font-size: .72rem; text-transform: uppercase; font-weight: 800; letter-spacing: .09em; }
.btt-next-copy { min-width: 0; }
.btt-next-copy .btt-kicker { margin: 0 0 .25rem; }
.btt-next-copy h2 { font-size: clamp(1.05rem, 2.4vw, 1.55rem); font-weight: 800; }
.btt-next-copy > p:last-child:not(.btt-kicker) { margin: .22rem 0 0; color: var(--club-muted); font-size: .85rem; }
.btt-site-design :is(.btt-next-link,.btt-text-link) {
    color: var(--club-blue);
    font-size: .86rem;
    font-weight: 800;
}
.btt-site-design :is(.btt-next-link,.btt-text-link):hover { text-decoration: underline; }
.btt-next-link { margin-inline-start: auto; white-space: nowrap; }
.btt-next-link span, .btt-text-link span { margin-inline-start: .2rem; }

.btt-section { padding-block: clamp(2.25rem, 5vw, 4rem); }
.btt-section-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: .45rem 1rem; margin-bottom: 1rem; }
.btt-section-head h2, .btt-club-copy h2 { font-size: clamp(1.6rem, 3.7vw, 2.55rem); font-weight: 830; }
.btt-news-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: .95rem; }
.btt-news-card { overflow: hidden; border: 1px solid var(--club-line); border-radius: .8rem; background: var(--club-paper); }
.btt-news-photo { display: block; aspect-ratio: 1.85; background: #daeaf2; }
.btt-news-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.btt-news-copy { padding: clamp(1rem, 2vw, 1.55rem); }
.btt-news-copy time { color: var(--club-muted); font-size: .75rem; font-weight: 680; }
.btt-news-copy h3 { margin-top: .35rem; font-size: 1.28rem; font-weight: 820; }
.btt-news-copy h3 a:hover { color: var(--club-blue); }
.btt-news-copy p { margin: .55rem 0 .65rem; max-width: 65ch; color: var(--club-muted); }
.btt-news-card:only-child:has(.btt-news-photo) { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); align-items: center; }

.btt-world-mtb.btt-tile { border-inline-start: 3px solid var(--club-orange); margin-bottom: 1.5rem; }
.btt-world-mtb.btt-tile .btt-kicker { margin: 0 0 .3rem; color: var(--club-blue); }
.btt-world-mtb.btt-tile h2 { font-size: 1.45rem; font-weight: 830; }
.btt-world-mtb figure { margin: .7rem 0 0; }
.btt-world-mtb img { display: block; width: 100%; height: auto; border-radius: .5rem; }
.btt-world-mtb figcaption { margin-top: .35rem; font-size: .81rem; }
.btt-world-mtb small { display: block; color: var(--club-muted); font-size: .74rem; }
.btt-world-mtb figcaption a { text-decoration: underline; }
.btt-world-links { list-style: none; margin: .65rem 0 0; padding: 0; }
.btt-world-links li { border-top: 1px solid var(--club-line); padding-top: .45rem; margin-top: .4rem; }
.btt-world-links a { color: var(--club-blue); font-weight: 800; }
.btt-world-links a:hover { text-decoration: underline; }

.btt-club {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1fr);
    gap: clamp(1.1rem, 3vw, 2.6rem);
    align-items: center;
    padding: clamp(1rem, 2.8vw, 2rem);
    background: var(--club-panel);
    border-radius: .95rem;
}
.btt-club-photo { display: block; width: 100%; height: auto; aspect-ratio: 1.8; object-fit: cover; border-radius: .65rem; }
.btt-club-copy p:not(.btt-kicker) { max-width: 52ch; margin: .8rem 0; color: var(--club-muted); }
.btt-footer { margin-top: clamp(2rem, 5vw, 4rem); background: var(--club-paper); border-top: 1px solid var(--club-line); }
.btt-footer-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .45rem 1.25rem; padding-block: 1.4rem; }
.btt-footer p { margin: 0; color: var(--club-muted); font-size: .82rem; }
.btt-footer strong { color: var(--club-ink); margin-inline-end: .5rem; }
.btt-footer a { color: var(--club-blue); text-decoration: underline; font-size: .8rem; }

@media (min-width: 1120px) {
    .btt-site-design .btt-wrap.btt-home-layout {
        width: min(100% - 3.5rem, 104rem);
        display: grid;
        grid-template-columns: minmax(0, 1fr) clamp(20rem, 29%, 28rem);
        column-gap: clamp(1.25rem, 3vw, 3rem);
    }
    .btt-home-layout > :not(.btt-world-mtb) { grid-column: 1; min-width: 0; }
    .btt-home-layout > .btt-world-mtb {
        grid-column: 2;
        grid-row: 1 / span 4;
        align-self: start;
        margin-block: clamp(4rem, 8vw, 10rem) 0;
    }
}

@media (max-width: 1020px) {
    .btt-desktop-nav { display: none; }
    .btt-mobile-nav { display: block; }
}
@media (max-width: 800px) {
    .btt-site-design .btt-wrap { width: min(100% - 2rem, 74rem); }
    .btt-hero, .btt-club { grid-template-columns: minmax(0, 1fr); }
    .btt-hero-copy h1 { font-size: clamp(2.6rem, 8vw, 4rem); }
    .btt-hero-photo { aspect-ratio: 1.63; }
    .btt-club-photo { max-height: 18rem; }
}
@media (max-width: 520px) {
    .btt-top-inner { min-height: 4rem; }
    .btt-next { display: grid; grid-template-columns: auto minmax(0, 1fr); }
    .btt-next-link { grid-column: 2; margin: 0; }
    .btt-news-card:only-child:has(.btt-news-photo) { display: block; }
}
