/* Heritage, series and artist sections for a brand minisite.
   Not on the live site — these are new, so this is the one stylesheet in the
   theme that is designed rather than recovered. It still borrows the site's
   two typefaces and its rhythm, so the page reads as part of TBDS and not as a
   bolted-on microsite.

   Everything is scoped under .tbds-brand-sections. The palette is set per
   brand on [data-brand], so a second minisite is a colour block, not a fork. */

.tbds-brand-sections {
    --bs-ink:    #12100f;   /* a warmer near-black than the site charcoal */
    --bs-paper:  #f6f1e9;   /* aged paper, for the light band */
    --bs-accent: var(--golden-yellow, #febd59);
    --bs-muted:  rgba(255, 255, 255, .58);
    --bs-line:   rgba(255, 255, 255, .16);
}

/* Gretsch: the orange is the one already used in the brand's own banner copy
   on the live site, so the page and the banner agree. */
.tbds-brand-sections[data-brand="gretsch"] { --bs-accent: #ff751f; }

/* The minisite wrapper constrains and pads every <section>; these bands are
   full-bleed and set their own padding. */
.yamaha_main__ZpAqq .tbds-band {
    width: 100% !important;
    max-width: unset !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

.tbds-band-inner { max-width: 1240px; margin: 0 auto; padding: 5.5rem 3rem; }

.tbds-eyebrow {
    font-size: .78rem; letter-spacing: .22em; text-transform: uppercase;
    color: var(--bs-accent); margin: 0 0 1rem; font-weight: 600;
}
.tbds-band h2,
.tbds-band h1 {
    font-family: var(--font-bebas-neue); font-weight: 400;
    font-size: clamp(2.75rem, 6vw, 5rem); line-height: .92; letter-spacing: 1px;
    margin: 0 0 1.5rem;
}

/* --- Heritage -------------------------------------------------------------- */

.tbds-heritage { background: var(--bs-ink); color: var(--bs-paper); }
.tbds-heritage h2,
.tbds-heritage h1 { color: var(--bs-paper); }

.tbds-heritage-top {
    display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: center;
}
.tbds-heritage-copy p {
    font-size: 1.05rem; line-height: 1.65; color: var(--bs-muted);
    margin: 0 0 1.1rem; max-width: 46ch;
}
.tbds-heritage-copy p:last-child { margin-bottom: 0; }
.tbds-heritage-copy strong { color: var(--bs-paper); font-weight: 600; }

/* Yamaha has no heritage film on the local site, so its story gets a graphic
   brand panel instead of leaving the second column empty. */
.tbds-heritage-mark {
    position: relative; min-height: 400px; overflow: hidden;
    display: flex; flex-direction: column; justify-content: flex-end;
    padding: clamp(2rem, 5vw, 4rem); border: 1px solid var(--bs-line);
    border-radius: 12px;
    background:
        radial-gradient(circle at 82% 14%, color-mix(in srgb, var(--bs-accent) 30%, transparent), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.012));
    box-shadow: 0 24px 60px -28px rgba(0, 0, 0, .92);
}
.tbds-heritage-mark::before {
    content: ""; position: absolute; inset: 1.15rem;
    border: 1px solid rgba(255,255,255,.09); border-radius: 8px;
    pointer-events: none;
}
.tbds-heritage-mark::after {
    content: ""; position: absolute; top: 0; right: 12%;
    width: 1px; height: 58%; background: var(--bs-accent); opacity: .75;
    transform: rotate(28deg); transform-origin: top;
}
.tbds-heritage-mark p { position: relative; z-index: 1; margin: 0; }
.tbds-heritage-mark-kicker {
    color: var(--bs-accent); font-size: .73rem; font-weight: 700;
    letter-spacing: .24em; text-transform: uppercase;
}
.tbds-heritage-mark-name {
    margin-top: .8rem !important; color: var(--bs-paper);
    font-family: var(--font-bebas-neue); font-size: clamp(3rem, 7vw, 5.7rem);
    line-height: .82; letter-spacing: .035em;
}
.tbds-heritage-mark-year {
    color: transparent; -webkit-text-stroke: 1px var(--bs-accent);
    font-family: var(--font-bebas-neue); font-size: clamp(5rem, 13vw, 10rem);
    line-height: .8; letter-spacing: .02em;
}
.tbds-heritage-mark-line {
    margin-top: 1.25rem !important; padding-top: 1rem;
    border-top: 1px solid var(--bs-line); color: var(--bs-muted);
    font-size: .72rem; font-weight: 600; letter-spacing: .18em;
    line-height: 1.5; text-transform: uppercase;
}

/* The 16:9 frame reuses the click-to-play facade from woo-bridge.css. */
.tbds-heritage-video {
    position: relative; width: 100%; padding-top: 56.25%;
    overflow: hidden; border-radius: 10px;
    box-shadow: 0 24px 60px -24px rgba(0, 0, 0, .9);
}
.tbds-heritage-video .tbds-video-play { position: absolute; inset: 0; }
.tbds-heritage-video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

/* Milestones: a rail of years under a single hairline. */
.tbds-milestones {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.5rem;
    margin-top: 4.5rem; border-top: 1px solid var(--bs-line); padding-top: 2.5rem;
}
.tbds-milestone { position: relative; }
.tbds-milestone::before {
    content: ""; position: absolute; top: -2.5rem; left: 0;
    width: 34px; height: 2px; background: var(--bs-accent);
}
.tbds-milestone dt {
    font-family: var(--font-bebas-neue); font-weight: 400;
    font-size: clamp(2rem, 3.4vw, 2.9rem); line-height: 1;
    color: var(--bs-accent); letter-spacing: 1px; margin: 0 0 .6rem;
}
.tbds-milestone dd {
    margin: 0; font-size: .92rem; line-height: 1.6; color: var(--bs-muted);
}

/* --- Yamaha shopping journey ----------------------------------------------
   The original category wallpaper and isolated product rails pre-dated the
   editorial bands above. These sections use the same type, spacing and tonal
   rhythm so the Yamaha page reads as one composed store from top to bottom. */

.yamaha_main__ZpAqq .tbds-brand-categories {
    width: 100% !important; max-width: none !important;
    margin: 0 !important; padding: 0 !important;
    background: var(--bs-paper) !important; color: var(--bs-ink);
}
.tbds-brand-sections[data-brand="yamaha"] .tbds-section-intro {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(290px, .78fr);
    grid-template-areas: "eyebrow eyebrow" "heading lede";
    column-gap: clamp(2rem, 6vw, 6rem); align-items: end;
    margin: 0 0 2.75rem;
}
.tbds-brand-sections[data-brand="yamaha"] .tbds-section-intro .tbds-eyebrow {
    grid-area: eyebrow; color: #9b5d12;
}
.tbds-brand-sections[data-brand="yamaha"] .tbds-section-intro h2 {
    grid-area: heading; margin: 0; color: var(--bs-ink);
    font-size: clamp(2.8rem, 5.4vw, 4.7rem); text-align: left;
}
.tbds-section-lede {
    max-width: 58ch; margin: 0; color: rgba(24, 22, 22, .65);
    font-size: 1rem; line-height: 1.65;
}
.tbds-brand-sections[data-brand="yamaha"] .tbds-section-intro .tbds-section-lede {
    grid-area: lede;
}

.tbds-brand-sections[data-brand="yamaha"] .yamaha_categories_container__wi8Rl {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.1rem; align-items: stretch;
}
.tbds-brand-sections[data-brand="yamaha"] .yamaha_category_container__vwvjc {
    min-width: 0; overflow: hidden; display: flex; flex-direction: column;
    color: var(--bs-ink); text-decoration: none; background: #fff;
    border: 1px solid rgba(24, 22, 22, .1); border-radius: 12px;
    box-shadow: 0 12px 28px -24px rgba(18, 16, 15, .55);
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.tbds-brand-sections[data-brand="yamaha"] .yamaha_category_container__vwvjc:last-child {
    grid-column: span 2;
}
.tbds-brand-sections[data-brand="yamaha"] .yamaha_category_container__vwvjc:hover {
    transform: translateY(-4px); border-color: rgba(24, 22, 22, .22);
    box-shadow: 0 20px 42px -26px rgba(18, 16, 15, .55);
}
.tbds-brand-sections[data-brand="yamaha"] .yamaha_image_container__e0kQp {
    width: 100%; height: clamp(128px, 12vw, 168px); margin: 0;
    overflow: hidden; border-radius: 0; background: #eae9e6;
}
.tbds-brand-sections[data-brand="yamaha"] .yamaha_image_container__e0kQp img {
    display: block; width: 100%; height: 100%; object-fit: cover;
    transition: transform .35s ease, filter .35s ease;
}
.tbds-brand-sections[data-brand="yamaha"] .yamaha_category_container__vwvjc:hover img {
    transform: scale(1.035); filter: saturate(1.06);
}
.tbds-category-copy { flex: 1; padding: 1.05rem 1.1rem 1.15rem; }
.tbds-brand-sections[data-brand="yamaha"] .tbds-category-name {
    display: flex; align-items: center; justify-content: space-between; gap: .75rem;
    margin: 0; color: var(--bs-ink); font-family: var(--font-bebas-neue);
    font-size: 1.45rem; line-height: 1.05; letter-spacing: .035em;
}
.tbds-category-name span { color: #a66b12; font-family: Arial, sans-serif; font-size: .8em; }
.tbds-brand-sections[data-brand="yamaha"] .tbds-category-note {
    margin: .55rem 0 0; color: rgba(24, 22, 22, .56);
    font-family: inherit; font-size: .78rem; line-height: 1.45;
    letter-spacing: 0; text-transform: none;
}

.yamaha_main__ZpAqq .tbds-brand-products--yamaha {
    width: 100% !important; max-width: none !important;
    margin: 0 !important; padding: 0 !important;
}
.tbds-brand-sections[data-brand="yamaha"] .tbds-product-story {
    margin: 0 !important; padding: 0 !important;
}
.tbds-brand-sections[data-brand="yamaha"] .tbds-product-story--1 { background: #fff; }
.tbds-brand-sections[data-brand="yamaha"] .tbds-product-story--2 { background: var(--bs-paper); }
.tbds-brand-sections[data-brand="yamaha"] .tbds-product-story .tbds-band-inner {
    padding-top: 4.8rem; padding-bottom: 4.2rem;
}
.tbds-product-story-head {
    display: flex; align-items: end; justify-content: space-between;
    gap: 3rem; margin: 0 0 2rem;
}
.tbds-brand-sections[data-brand="yamaha"] .tbds-product-story-head > div { max-width: 720px; }
.tbds-brand-sections[data-brand="yamaha"] .tbds-product-story-head .tbds-eyebrow {
    color: #9b5d12; margin-bottom: .75rem;
}
.tbds-brand-sections[data-brand="yamaha"] .tbds-product-story-head h2 {
    margin: 0 0 .8rem; color: var(--bs-ink); text-align: left;
    font-size: clamp(2.7rem, 5vw, 4.35rem); line-height: .94;
}
.tbds-section-cta {
    flex: 0 0 auto; display: inline-flex; align-items: center; gap: .7rem;
    padding: .82rem 1.05rem; border: 1px solid rgba(24, 22, 22, .24);
    border-radius: 999px; color: var(--bs-ink); background: transparent;
    font-size: .7rem; font-weight: 700; letter-spacing: .11em;
    text-decoration: none; white-space: nowrap;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.tbds-section-cta span { color: #a66b12; font-size: 1rem; line-height: 0; }
.tbds-section-cta:hover,
.tbds-section-cta:focus-visible {
    border-color: var(--bs-ink); background: var(--bs-ink); color: #fff;
}
.tbds-section-cta:hover span,
.tbds-section-cta:focus-visible span { color: var(--bs-accent); }
.tbds-brand-sections[data-brand="yamaha"] .tbds-product-story .tbds-card-grid ul.products.tbds-card-rail {
    gap: 1rem; padding: .45rem 2px 1.25rem !important;
    scrollbar-color: rgba(24, 22, 22, .3) transparent;
}
.tbds-brand-sections[data-brand="yamaha"] .tbds-product-story .tbds-card-grid ul.products.tbds-card-rail > li.product {
    flex-basis: clamp(235px, 20.5vw, 292px);
}
.tbds-rail-hint {
    display: flex; align-items: center; justify-content: flex-end; gap: .6rem;
    margin: .7rem 0 0; color: rgba(24, 22, 22, .45);
    font-size: .66rem; font-weight: 700; letter-spacing: .16em;
}
.tbds-rail-hint span { color: #a66b12; font-size: 1rem; }

/* --- Yamaha EAD feature ---------------------------------------------------- */

.tbds-yamaha-feature {
    position: relative; overflow: hidden;
    background: var(--bs-ink); color: var(--bs-paper);
}
.tbds-yamaha-feature::before {
    content: ""; position: absolute; inset: -35% auto auto -8%;
    width: 42rem; height: 42rem; border-radius: 50%; pointer-events: none;
    background: radial-gradient(circle, rgba(254, 189, 89, .14), transparent 68%);
}
.tbds-yamaha-feature .tbds-band-inner {
    position: relative; padding-top: 4.4rem; padding-bottom: 4.4rem;
}
.tbds-yamaha-feature-grid {
    display: grid; grid-template-columns: minmax(0, .82fr) minmax(540px, 1.18fr);
    align-items: center; gap: clamp(2.5rem, 5vw, 5rem);
}
.tbds-yamaha-feature-copy { max-width: 500px; }
.tbds-yamaha-feature-copy .tbds-eyebrow { margin-bottom: .8rem; }
.tbds-yamaha-feature-copy h2 {
    color: var(--bs-paper); margin: 0 0 1.2rem;
    font-size: clamp(3rem, 5vw, 4.7rem); line-height: .92;
}
.tbds-yamaha-feature-lede {
    margin: 0 0 1.45rem; color: rgba(255, 255, 255, .7);
    font-size: 1.02rem; line-height: 1.65;
}
.tbds-yamaha-feature-points {
    display: grid; gap: .7rem; margin: 0 0 1.8rem; padding: 0; list-style: none;
}
.tbds-yamaha-feature-points li {
    position: relative; padding-left: 1.25rem; color: rgba(255, 255, 255, .86);
    font-size: .88rem; line-height: 1.45;
}
.tbds-yamaha-feature-points li::before {
    content: ""; position: absolute; left: 0; top: .48em;
    width: .42rem; height: .42rem; background: var(--bs-accent); border-radius: 1px;
}
.tbds-yamaha-feature-cta {
    display: inline-flex; align-items: center; gap: .8rem;
    padding: .85rem 1.05rem; border: 1px solid rgba(255, 255, 255, .36);
    border-radius: 999px; color: #fff; text-decoration: none;
    font-size: .7rem; font-weight: 700; letter-spacing: .11em;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.tbds-yamaha-feature-cta span { color: var(--bs-accent); font-size: 1rem; }
.tbds-yamaha-feature-cta:hover,
.tbds-yamaha-feature-cta:focus-visible {
    background: var(--bs-accent); border-color: var(--bs-accent); color: var(--bs-ink);
}
.tbds-yamaha-feature-cta:hover span,
.tbds-yamaha-feature-cta:focus-visible span { color: var(--bs-ink); }
.tbds-yamaha-feature-products ul.products {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important; margin: 0 !important; padding: 0 !important;
}
.tbds-yamaha-feature-products ul.products > li.product {
    width: auto !important; min-width: 0 !important; margin: 0 !important;
    background: #fff; border-color: rgba(255, 255, 255, .18);
}

/* --- Series ---------------------------------------------------------------- */

.tbds-series { background: var(--bs-paper); color: var(--charcoal, #181616); }
.tbds-series h2 { color: var(--charcoal, #181616); }
.tbds-series .tbds-eyebrow { color: #a8541a; }
.tbds-series-lede {
    max-width: 58ch; margin: 0 0 3rem; font-size: 1.02rem;
    line-height: 1.6; color: rgba(24, 22, 22, .68);
}

.tbds-series-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 2.25rem;
}
.tbds-series-card { display: block; color: inherit; text-decoration: none; }
.tbds-series-shot {
    aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: #fff;
    box-shadow: 0 12px 28px -18px rgba(0, 0, 0, .55);
    display: flex; align-items: center; justify-content: center;
}
.tbds-series-shot img {
    width: 100%; height: 100%; object-fit: contain; padding: 10%;
    transition: transform .35s ease;
}
.tbds-series-card:hover .tbds-series-shot img { transform: scale(1.06); }
.tbds-series-name {
    font-family: var(--font-bebas-neue); font-weight: 400; font-size: 1.6rem;
    letter-spacing: 1px; margin: 1rem 0 .35rem; position: relative;
    display: inline-block; padding-bottom: 4px;
}
.tbds-series-name::after {
    content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 0;
    background: var(--bs-accent); transition: width .3s ease;
}
.tbds-series-card:hover .tbds-series-name::after { width: 100%; }
.tbds-series-note { margin: 0; font-size: .88rem; line-height: 1.5; color: rgba(24, 22, 22, .6); }

/* A line with nothing listed yet. Deliberately not a broken-looking tile: it
   keeps the grid's shape and reads as an invitation rather than a gap. */
.tbds-series-card--enquire .tbds-series-shot {
    background: var(--bs-ink);
    box-shadow: 0 12px 28px -18px rgba(0, 0, 0, .7);
}
.tbds-series-ask {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: .9rem; width: 100%; height: 100%; padding: 1rem; text-align: center;
}
.tbds-series-ask-name {
    font-family: var(--font-bebas-neue); font-weight: 400; font-size: 1.9rem;
    letter-spacing: 1px; color: var(--bs-paper); line-height: 1;
}
.tbds-series-ask-cta {
    font-size: .72rem; letter-spacing: .18em; text-transform: uppercase;
    color: var(--bs-ink); background: var(--bs-accent);
    padding: .45rem 1rem; border-radius: 999px; font-weight: 600;
    transition: transform .25s ease;
}
.tbds-series-card--enquire:hover .tbds-series-ask-cta { transform: translateY(-2px); }

/* --- Artists --------------------------------------------------------------- */

.tbds-artists { background: var(--bs-ink); color: var(--bs-paper); }
.tbds-artists h2 { color: var(--bs-paper); }
.tbds-artists-lede {
    max-width: 60ch; margin: 0 0 3.5rem; font-size: 1.05rem;
    line-height: 1.65; color: var(--bs-muted);
}
.tbds-artists-lede em { color: var(--bs-paper); font-style: normal; font-weight: 600; }

.tbds-artist-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 2.5rem 2rem;
}
.tbds-artist { padding-top: 1rem; border-top: 1px solid var(--bs-line); transition: border-color .3s ease; }
.tbds-artist:hover { border-top-color: var(--bs-accent); }
.tbds-artist-name {
    font-family: var(--font-bebas-neue); font-weight: 400; font-size: 1.85rem;
    line-height: 1.05; letter-spacing: .5px; margin: 0 0 .4rem;
    transition: color .25s ease;
}
.tbds-artist-name a { color: inherit; text-decoration: none; }
.tbds-artist-name a span {
    color: var(--bs-accent); font-family: Arial, sans-serif;
    font-size: .62em; vertical-align: .18em;
}
.tbds-artist:hover .tbds-artist-name { color: var(--bs-accent); }
.tbds-artist-credit {
    margin: 0; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase;
    color: var(--bs-muted);
}

.tbds-artists-note {
    margin: 3.5rem 0 0; padding-top: 1.5rem; border-top: 1px solid var(--bs-line);
    font-size: .8rem; color: rgba(255, 255, 255, .4); max-width: 70ch;
}

/* --- India artist spotlight ------------------------------------------------ */

.tbds-artist-spotlight {
    background: #f6f1e9;
    color: var(--bs-ink);
    border-top: 5px solid var(--bs-accent);
}
.tbds-artist-spotlight-grid {
    display: grid;
    grid-template-columns: minmax(300px, .88fr) minmax(0, 1.12fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
}
.tbds-artist-spotlight-photo {
    position: relative;
    min-height: 560px;
    margin: 0;
    overflow: hidden;
    border-radius: 12px;
    background: var(--bs-ink);
    box-shadow: 0 26px 56px -28px rgba(18, 16, 15, .7);
}
.tbds-artist-spotlight-photo::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 22%;
    background: linear-gradient(transparent, rgba(18, 16, 15, .36));
    pointer-events: none;
}
.tbds-artist-spotlight-photo img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 560px;
    object-fit: cover;
    object-position: 50% 58%;
}
.tbds-artist-spotlight-story { min-width: 0; }
.tbds-artist-spotlight h2 {
    color: var(--bs-ink);
    margin-bottom: .65rem;
}
.tbds-artist-spotlight-credit {
    margin: 0 0 1.5rem;
    color: #a8541a;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.5;
    text-transform: uppercase;
}
.tbds-artist-spotlight-copy {
    max-width: 58ch;
    margin: 0 0 2rem;
    color: rgba(24, 22, 22, .72);
    font-size: 1.05rem;
    line-height: 1.7;
}
.tbds-artist-spotlight-video {
    width: min(100%, 620px);
    overflow: hidden;
    border-radius: 10px;
    background: var(--bs-ink);
    box-shadow: 0 18px 42px -25px rgba(18, 16, 15, .7);
}
.tbds-artist-spotlight-video video {
    display: block;
    width: 100%;
    max-height: 350px;
    background: var(--bs-ink);
}

/* --- Breakpoints ----------------------------------------------------------- */

@media (max-width: 1000px) {
    .tbds-milestones { grid-template-columns: repeat(2, 1fr); gap: 2.5rem 2rem; }
}
@media (max-width: 900px) {
    .tbds-band-inner { padding: 4rem 2rem; }
    .tbds-heritage-top { grid-template-columns: 1fr; gap: 2.5rem; }
    .tbds-heritage-copy p { max-width: none; }
    .tbds-heritage-mark { min-height: 340px; }
    .tbds-brand-sections[data-brand="yamaha"] .tbds-section-intro {
        grid-template-columns: 1fr; grid-template-areas: "eyebrow" "heading" "lede";
        gap: 0; align-items: start;
    }
    .tbds-brand-sections[data-brand="yamaha"] .tbds-section-intro h2 { margin-bottom: 1rem; }
    .tbds-brand-sections[data-brand="yamaha"] .yamaha_categories_container__wi8Rl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .tbds-product-story-head { align-items: start; flex-direction: column; gap: 1.4rem; }
    .tbds-yamaha-feature-grid { grid-template-columns: 1fr; }
    .tbds-yamaha-feature-copy { max-width: 680px; }
    .tbds-artist-spotlight-grid { grid-template-columns: 1fr; }
    .tbds-artist-spotlight-photo,
    .tbds-artist-spotlight-photo img { min-height: 480px; }
}
/* On a phone the auto-fit grids collapse to a single column, which turned the
   range into three and a half screens of scrolling and the roll-call into two
   and a half. Both are lists you scan rather than read, so they go two-up: the
   page loses about a third of its height and the product rows become reachable. */
@media (max-width: 560px) {
    .tbds-band-inner { padding: 3.25rem 1.5rem; }
    .tbds-milestones { grid-template-columns: 1fr; }
    .tbds-heritage-mark { min-height: 310px; padding: 2rem; }

    .tbds-brand-sections[data-brand="yamaha"] .tbds-section-intro { margin-bottom: 2rem; }
    .tbds-brand-sections[data-brand="yamaha"] .yamaha_categories_container__wi8Rl { gap: .75rem; }
    .tbds-brand-sections[data-brand="yamaha"] .yamaha_image_container__e0kQp {
        height: 112px; margin: 0;
    }
    .tbds-category-copy { padding: .85rem .8rem 1rem; }
    .tbds-brand-sections[data-brand="yamaha"] .tbds-category-name {
        align-items: flex-start; font-size: 1.15rem;
    }
    .tbds-brand-sections[data-brand="yamaha"] .tbds-category-note { font-size: .69rem; }
    .tbds-brand-sections[data-brand="yamaha"] .tbds-product-story .tbds-band-inner {
        padding-top: 3.5rem; padding-bottom: 3rem;
    }
    .tbds-brand-sections[data-brand="yamaha"] .tbds-product-story-head h2 { font-size: 2.7rem; }
    .tbds-section-cta { width: 100%; justify-content: space-between; }
    .tbds-brand-sections[data-brand="yamaha"] .tbds-product-story .tbds-card-grid ul.products.tbds-card-rail > li.product {
        flex-basis: 68vw;
    }

    .tbds-yamaha-feature .tbds-band-inner { padding-top: 3.4rem; padding-bottom: 3.4rem; }
    .tbds-yamaha-feature-copy h2 { font-size: 3rem; }
    .tbds-yamaha-feature-cta { width: 100%; justify-content: space-between; }
    .tbds-yamaha-feature-products { overflow: hidden; }
    .tbds-yamaha-feature-products ul.products {
        display: flex !important; gap: .8rem !important;
        overflow-x: auto; scroll-snap-type: x mandatory;
        padding: .2rem 0 .85rem !important;
    }
    .tbds-yamaha-feature-products ul.products > li.product {
        flex: 0 0 72vw !important; scroll-snap-align: start;
    }

    .tbds-series-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 1rem; }
    .tbds-series-name { font-size: 1.3rem; margin-top: .75rem; }
    .tbds-series-note { font-size: .8rem; }
    .tbds-series-shot img { padding: 8%; }

    .tbds-artist-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 1rem; }
    .tbds-artist-name { font-size: 1.5rem; }
    .tbds-artist-credit { font-size: .68rem; letter-spacing: .09em; }

    .tbds-artist-spotlight-grid { gap: 2rem; }
    .tbds-artist-spotlight-photo,
    .tbds-artist-spotlight-photo img { min-height: 430px; }
    .tbds-artist-spotlight-copy { font-size: .96rem; line-height: 1.65; }
    .tbds-artist-spotlight-video video { max-height: 420px; }

    .tbds-series-ask-name { font-size: 1.4rem; }
}

/* Below about 380px two columns of product photography get too small to read. */
@media (max-width: 360px) {
    .tbds-series-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .tbds-series-card:hover .tbds-series-shot img { transform: none; }
}
