/* Bud the Spud — scoped to this Divi layout. No global theme changes. */
.bud-section { --bud-blue:#00387c; --bud-navy:#0d213a; --bud-gold:#b07840; --bud-sand:#d8b690; --bud-cream:#f8f4e8; --bud-ink:#3d3933; font-family:BudAxiforma,AxiForma,sans-serif; font-size:clamp(17px,1.3vw,19px); font-weight:400; line-height:1.65; color:var(--bud-ink); -webkit-font-smoothing:antialiased; }
body #page-container .et_pb_section.bud-section {padding:112px 0; margin:0; background-color:#fff;}
.bud-section,.bud-section * {box-sizing:border-box;}
.bud-section [hidden] {display:none!important;}
.bud-section .et_pb_row.bud-row {width:calc(100% - 64px); max-width:1202px; padding:0; margin:0 auto;}
.bud-section .bud-row:after {display:none;}
.bud-section .bud-row > .et_pb_column {float:none; width:auto!important; margin:0!important; min-width:0;}
.bud-section .et_pb_module {margin:0!important;}
.bud-section .bud-row.bud-two {display:grid; grid-template-columns:1fr 1fr; gap:80px;}
.bud-section h1,.bud-section h2,.bud-section h3 {font-family:BudAxiforma,AxiForma,sans-serif; font-weight:800; color:var(--bud-blue); padding:0; margin:0; letter-spacing:-.01em;}
.bud-section h1 {font-size:clamp(42px,5.3vw,78px); line-height:1.02; color:white;}
.bud-section h2 {font-size:clamp(32px,3.6vw,52px); line-height:1.06; margin-bottom:30px;}
.bud-section h3 {font-size:20px; line-height:1.25; letter-spacing:-.4px;}
.bud-section h2 span {color:var(--bud-gold);}
.bud-section p {padding:0; margin:0 0 22px; line-height:1.65; text-wrap:pretty;}
.bud-section p:last-child {margin-bottom:0;}
.bud-section a {color:inherit;}
.bud-section button,.bud-section input {font:inherit;}
.bud-section button {cursor:pointer;}
.bud-section :focus-visible {outline:3px solid var(--bud-gold); outline-offset:5px;}
.bud-section button:disabled {cursor:default; opacity:.6;}
.bud-section .bud-technical {display:none!important;}
.bud-section .bud-centred {text-align:center; max-width:800px; margin:0 auto!important;}
.bud-section .bud-centred h2 {margin-bottom:28px;}
.bud-section .bud-pill {display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:11px; background:var(--bud-gold); color:white; flex-shrink:0; font-size:28px; font-weight:800; padding-top: 7px;}
.bud-section .bud-play {width:104px; height:104px; display:inline-grid; place-items:center; background:#fff; color:var(--bud-gold); border:0; border-radius:50%; box-shadow:0 8px 24px #0001; flex-shrink:0;}
.bud-play svg {width:26px; height:26px; fill:currentColor;}
.bud-section .bud-button {display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:15px 26px 12px; min-height:52px; border:2px solid #8f5f2e; border-radius:2px; background:#8f5f2e; color:#fff; text-decoration:none; font-size:16px; font-weight:800; letter-spacing:2px; line-height:1.4;}
.bud-section .bud-button:hover {background:#784b22; border-color:#784b22;}
.bud-section .bud-outline {background:transparent; color:#8f5f2e;}
.bud-section .bud-outline:hover {background:var(--bud-cream);}
.bud-section .bud-placeholder {display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px; width:100%; background:#e4e0d8; color:#625e55; border:1px solid #d5ccbc; border-radius:14px; text-align:center; font-size:13px; font-weight:800; letter-spacing:1px; line-height:1.4;}
.bud-placeholder small {font-size:12px; font-weight:400; letter-spacing:0;}
body #page-container .bud-section.bud-hero {padding:0; min-height:720px; display:flex; align-items:center; position:relative;}
.bud-hero .bud-hero-copy {max-width:950px; padding-top:120px;}
.bud-hero .bud-kicker {color:#fff; font-style:italic; font-size:22px; margin-bottom:18px;}
.bud-hero .bud-trail {display:block; color:var(--bud-sand); font-style:normal; letter-spacing:8px; font-size:25px; margin-bottom:5px;}
.bud-hero .bud-watch {border:0; padding:0; margin-top:48px; background:none; color:white; display:flex; align-items:center; gap:22px; font-size:15px; font-weight:800; letter-spacing:2.5px;}
/* Divi columns create stacking contexts; keep the floating film above later rows. */
body #page-container .bud-section.bud-film {background:var(--bud-navy); padding:88px 0 104px; color:#fff; z-index:3;}
.bud-film h2 {color:#fff;}
.bud-film h2 span {color:var(--bud-sand);}
.bud-film .bud-film-intro {max-width:760px; margin:0 auto 52px!important;}
.bud-film .bud-film-intro p {font-size:clamp(17px,1.3vw,19px);}
.bud-section .bud-player-anchor {aspect-ratio:16/9; position:relative;}
.bud-section .bud-player {position:relative; width:100%; height:100%; background:#48534f; border-radius:14px; overflow:hidden;}
.bud-player video {display:block; width:100%; height:100%; object-fit:cover; background:#172e30;}
.bud-player .bud-video-placeholder {position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:26px; color:#fff; font-size:13px; letter-spacing:1.5px; text-align:center; padding:20px;}
.bud-player .bud-preview-label {font-size:11px; letter-spacing:1px; opacity:.7;}
.bud-player:not(.bud-is-preview) .bud-placeholder-title,.bud-player:not(.bud-is-preview) .bud-preview-label {display:none;}
.bud-player:not(.bud-is-preview).bud-started .bud-video-placeholder {display:none!important;}
.bud-player .bud-player-tools {display:none; position:absolute; top:10px; right:10px; left:10px; justify-content:space-between;}
.bud-player-tools button {border:0; background:#182427b3; color:white; width:34px; height:34px; border-radius:50%; padding:0; font-size:22px;}
.bud-film .bud-player.bud-floating {position:fixed; right:24px; bottom:24px; width:400px; height:auto; aspect-ratio:16/9; border-radius:14px; z-index:99990; box-shadow:0 16px 60px #0003;}
.bud-floating .bud-player-tools {display:flex;}
.bud-floating .bud-play {width:52px; height:52px;}
.bud-floating .bud-video-placeholder {gap:8px; font-size:10px;}
.bud-player .bud-controls {display:none; height:52px; padding:10px 18px; align-items:center; gap:14px; background:var(--bud-blue); color:white;}
.bud-player.bud-started .bud-controls {display:flex; position:absolute; bottom:0; left:0; right:0;}
.bud-controls button {border:0; background:transparent; color:white; min-width:24px; padding:0; font-size:18px;}
.bud-controls .bud-seek {flex:1; width:0; height:4px; accent-color:var(--bud-sand);}
.bud-controls .bud-cc {background:#fff; color:var(--bud-blue); font-size:12px; font-weight:800; border-radius:3px; padding:1px 4px;}
.bud-controls .bud-cc[aria-pressed="false"] {opacity:.5;}
.bud-player .bud-fullscreen {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;}
.bud-player .bud-fullscreen svg {display:block; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; pointer-events:none;}
.bud-player .bud-controls .bud-fullscreen {min-width:32px; min-height:32px;}
.bud-player.bud-floating .bud-controls .bud-fullscreen {display:none;}
.bud-film .bud-player.bud-is-fullscreen {position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; aspect-ratio:auto; border-radius:0; background:#000; box-shadow:none;}
.bud-player.bud-is-fullscreen video {object-fit:contain; background:#000;}
.bud-player.bud-is-fullscreen .bud-player-tools {display:none;}
.bud-player .bud-caption {display:none; position:absolute; bottom:64px; left:5%; right:5%; text-align:center; font-size:13px; font-size:clamp(11px,2.6cqw,32px); line-height:1.4; letter-spacing:0; color:#fff; white-space:pre-line; pointer-events:none; transition:bottom .3s ease;}
.bud-caption span {background:#000b; padding:.15em .45em; border-radius:3px; -webkit-box-decoration-break:clone; box-decoration-break:clone;}
.bud-player.bud-started.bud-captions .bud-caption {display:block;}
.bud-film .bud-film-bar {display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-top:24px;}
.bud-film .bud-tabs {display:flex; gap:18px;}
.bud-tabs button {color:#fff; padding:0; background:none; border:0; width:204px; font-size:12px; text-align:left; line-height:1.4;}
.bud-tabs .bud-thumb {display:flex; align-items:center; justify-content:center; text-align:center; aspect-ratio:16/9; border:1px solid #ffffff55; border-radius:6px; background:#ffffff24; color:#fff; font-size:10px; font-weight:800; letter-spacing:1px; margin-bottom:8px;}
.bud-tabs button[aria-pressed="true"] .bud-thumb {outline:3px solid var(--bud-sand); outline-offset:3px;}
.bud-tabs .bud-later .bud-thumb {background:none; border-style:dashed;}
.bud-film .bud-share {display:flex; gap:10px; align-items:center; flex-wrap:wrap;}
.bud-film .bud-share .bud-button {border:1px solid #fff; color:#fff; background:none; font-size:12px; min-height:44px; padding:10px 18px;}
.bud-share .bud-social {display:inline-grid; place-items:center; width:44px; height:44px; border:1px solid #ffffff88; border-radius:50%; text-decoration:none; color:#fff; background:none; font-size:16px; font-weight: 900}
.bud-section .bud-status {font-size:13px; min-height:20px; margin-top:12px;}
.bud-film .bud-status:empty {display:none;}
body #page-container .bud-section.bud-story {background:var(--bud-cream);}
.bud-story .bud-note {display:flex; align-items:center; gap:22px; padding:28px; border-radius:22px; background:#f0e0cc; margin-top:36px; font-size:18px; line-height:1.5;}
.bud-note p {line-height:1.5;}
.bud-section .bud-collage {position:relative; height:510px;}
.bud-collage .bud-placeholder {position:absolute; border:10px solid var(--bud-sand); border-radius:17px; box-shadow:0 24px 40px #0002;}
.bud-collage .bud-photo-1 {width:66%; top:0; left:0;}
.bud-collage .bud-photo-2 {width:58%; top:155px; right:0;}
.bud-collage .bud-photo-3 {width:54%; top:326px; left:9%;}
.bud-section .bud-roots-copy p {font-size:clamp(17px,1.3vw,19px);}
.bud-roots .bud-centre-photo {border:10px solid var(--bud-sand); border-radius:17px; box-shadow:0 18px 35px #0002; margin-bottom:42px;}
.bud-roots .bud-centre-photo img { aspect-ratio: 16 / 9; object-fit: cover; border-radius: 5px;}
.bud-section .bud-timeline {list-style:none; padding:0 0 0 28px; margin:0 0 0 12px; border-left:2px dashed var(--bud-gold);}
.bud-timeline li {position:relative; padding:0 0 23px 12px; font-size:16px; line-height:1.5;}
.bud-timeline li:last-child {padding-bottom:0;}
.bud-timeline li:before {content:""; position:absolute; left:-39px; top:4px; border:3px solid var(--bud-blue); background:white; width:18px; height:18px; border-radius:50%;}
.bud-timeline strong {display:block; font-size:21px; font-weight:800; color:var(--bud-blue); margin-bottom:3px;}
.bud-timeline li:last-child strong {color:var(--bud-gold);}
.bud-timeline li:last-child:before {border-color:var(--bud-gold); background:var(--bud-gold); box-shadow:inset 0 0 0 3px white;}
body #page-container .bud-section.bud-generation {background:var(--bud-cream); position:relative;}
.bud-section.bud-generation:before,.bud-section.bud-sing:after {content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:calc(100% - 64px); max-width:1202px; height:4px; background:repeating-linear-gradient(to right,var(--bud-gold) 0 44px,transparent 44px 74px);}
.bud-generation .bud-lead {color:var(--bud-blue); font-size:22px;}
.bud-generation .bud-generation-intro {margin-bottom:64px!important;}
.bud-generation .bud-row.bud-cards {display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-bottom:64px;}
.bud-cards .et_pb_column {background:white; border-radius:16px; box-shadow:0 14px 30px #0001; overflow:hidden;}
.bud-cards .bud-card-image {position:relative; border-radius:0; border:0; aspect-ratio:4/3;}
.bud-card-image .bud-pill {position:absolute; left:16px; top:16px; width:44px; height:44px; border-radius:7px; font-size:22px;}
.bud-cards .bud-card-copy {padding:24px 24px 32px;}
.bud-cards p {font-size:15px; line-height:1.5; margin-top:8px;}
body #page-container .bud-section.bud-bridge {background:#303d50; padding:96px 0; text-align:center;}
.bud-bridge h2 {color:#fff; margin:0; font-size:clamp(28px,3.4vw,50px); line-height:1.15;}
.bud-bridge h2 span {display:block; color:var(--bud-sand); margin-top:14px;}
.bud-section.bud-sing {position:relative;}
.bud-section.bud-sing:after {top:auto; bottom:0;}
.bud-section .bud-row.bud-sing-intro {align-items:center; margin-bottom:72px;}
.bud-sing .bud-sing-intro h2 {white-space:nowrap; margin-bottom:22px;}
.bud-sing .bud-hashtag-row {display:flex; align-items:center; gap:20px; margin-top:32px; flex-wrap:wrap;}
.bud-sing .bud-hashtag {font-size:clamp(34px,3.6vw,52px); font-weight:800; line-height:1.1; color:var(--bud-blue); letter-spacing:-.01em;}
.bud-sing .bud-copy {min-height:48px; font-size:14px; padding:12px 20px 10px;}
.bud-copy svg {width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.6;}
.bud-sing .bud-lyric {padding:48px; border-radius:24px; background:var(--bud-blue); color:#fff; box-shadow:0 30px 60px #003b7d30; border: 0;}
.bud-lyric p {font-size:clamp(24px,2.4vw,34px); line-height:1.4; margin-bottom:22px;}
.bud-lyric cite {display:block; font-size:15px; line-height:1.5; color:var(--bud-sand); font-style:normal; letter-spacing:.04em;}
.bud-section .bud-row.bud-steps {display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:72px;}
.bud-step {display:flex; align-items:center; gap:18px; padding:24px; min-height:104px; border-radius:16px; background:var(--bud-cream); font-size:clamp(16px,1.2vw,17px); line-height:1.45;}
.bud-section .bud-step p {line-height:1.45;}
.bud-section .bud-row.bud-steps {align-items:stretch;}
.bud-sing .bud-steps > .et_pb_column {align-self:stretch; background:var(--bud-cream); border-radius:16px;}
.bud-sing .bud-steps .bud-step {height:auto; background:transparent; border-radius:0;}
.bud-sing .bud-steps .bud-step > p:empty {display:none;}
.bud-sing .bud-carousel-tools {display:flex; justify-content:flex-end; gap:10px; margin-bottom:16px;}
.bud-carousel-tools button {width:48px; height:48px; border:2px solid var(--bud-blue); border-radius:50%; background:white; color:var(--bud-blue); font-size:30px; line-height:1;}
.bud-carousel-tools button:last-child {background:var(--bud-blue); color:white;}
.bud-sing .bud-carousel {display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:10px;}
.bud-carousel::-webkit-scrollbar {display:none;}
.bud-scroll-track {height:3px; margin-top:-3px; position:relative;}
.bud-scroll-track span {display:block; height:3px; width:35.2%; background:var(--bud-sand); border-radius:3px; position:absolute; left:0;}
.bud-carousel .bud-farmer {flex:0 0 266px; scroll-snap-align:start; aspect-ratio:9/16; padding:16px;}
.bud-farmer .bud-play {width:52px; height:52px; margin-bottom:0;}
.bud-farmer .bud-play svg {width:20px; height:20px;}
.bud-sing .bud-follow {text-align:center; margin-top:48px!important;}
.bud-section .bud-sr-only {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.bud-section .bud-dialog {border:0; border-radius:16px; background:var(--bud-navy); color:white; max-width:min(800px,90vw); padding:32px;}
.bud-dialog::backdrop {background:#000b;}
.bud-dialog video {max-width:100%; max-height:70vh;}
.bud-dialog .bud-dialog-close {display:block; margin:0 0 20px auto;}
@media(min-width:981px) and (max-width:1250px) { .bud-section .bud-row.bud-two{gap:48px;} .bud-section h2{font-size:44px;} .bud-sing .bud-hashtag{font-size:42px;} .bud-tabs button{width:155px;} .bud-lyric p{font-size:30px;} .bud-step{padding:18px; font-size:16px;} }
@media(max-width:980px) {
 body:has(.bud-hero) #main-header {height:76px!important; background:#fff!important;}
 body:has(.bud-hero) #main-header .container.et_menu_container {width:89%!important; height:76px;}
 body:has(.bud-hero) #main-header .logo_container a {width:58px!important; padding:7px 0!important;}
 body:has(.bud-hero) #main-header #logo {height:58px!important; max-height:58px!important; width:auto; padding:0;}
 body:has(.bud-hero) #main-header .menu-icon:not(.is-active) span {background:#00387c;}
 body:has(.bud-hero) #main-header a.glink {color:#00387c; font-size:14px;}
 body #page-container .et_pb_section.bud-section {padding:72px 0!important;}
 .bud-section .bud-row.bud-two {grid-template-columns:1fr; gap:48px;}
 .bud-section .bud-row.bud-cards {grid-template-columns:repeat(2,1fr);}
 .bud-section h1 {font-size:54px;}
 .bud-section h2 {font-size:40px;}
 .bud-film .bud-film-bar {flex-direction:column;}
 .bud-section .bud-collage {max-width:600px; width:100%; margin:auto;}
 .bud-section .bud-row.bud-steps {grid-template-columns:1fr; gap:14px;}
 .bud-sing .bud-sing-intro h2 {white-space:normal;}
 .bud-hero .bud-hero-copy {max-width:750px;}
}
@media(max-width:600px) {
 .bud-section .bud-desktop-break {display:none;}
 .bud-section {font-size:17px;}
 body #page-container .et_pb_section.bud-section {padding:64px 0!important;}
 .bud-section .et_pb_row.bud-row {width:calc(100% - 11vw);}
 .bud-section h1 {font-size:42px; letter-spacing:-1px; line-height:1.06;}
 .bud-section h2 {font-size:32px; letter-spacing:-.01em; margin-bottom:28px;}
 .bud-section h3 {font-size:19px;}
 .bud-section p {line-height:1.65;}
 body #page-container .bud-section.bud-hero {min-height:720px; padding:0 0 58px!important; align-items:flex-end;}
 .bud-hero:before {font-size:9px; top:24px; right:21px; left:21px; text-align:center;}
 .bud-hero .bud-kicker {position:absolute; top:110px; left:21px; max-width:245px; font-size:18px; line-height:1.4;}
 .bud-hero .et_pb_row, .bud-hero .et_pb_column, .bud-hero .bud-hero-copy, .bud-hero .bud-hero-copy .et_pb_text_inner {position:static!important;}
 .bud-hero .bud-hero-copy {padding-top:0;}
 .bud-hero .bud-watch {margin-top:32px; gap:16px; font-size:12px; letter-spacing:1.6px;}
 .bud-section .bud-play {width:82px; height:82px;}
 body #page-container .bud-section.bud-film {padding:56px 0!important;}
 .bud-film .bud-film-intro {margin-bottom:36px!important;}
 .bud-film .bud-film-intro h2 {max-width:300px; margin-left:auto; margin-right:auto;}
 .bud-film .bud-film-intro p {font-size:17px;}
 .bud-film .bud-film-bar {margin-top:18px; gap:24px;}
 .bud-film > .bud-row:last-child {width:100%;}
 .bud-film .bud-film-bar {padding:0 21px;}
 .bud-film .bud-status {margin-left:21px; margin-right:21px;}
 .bud-film .bud-player {border-radius:0;}
 .bud-film .bud-tabs {gap:10px; width:100%;}
 .bud-tabs button {flex:1; width:0; font-size:10px;}
 .bud-tabs .bud-thumb {font-size:8px; padding:5px;}
 .bud-film .bud-share {max-width:260px;}
 .bud-film .bud-share .bud-button {width:100%;}
 .bud-player .bud-video-placeholder {gap:12px; font-size:10px; padding:8px;}
 .bud-player .bud-preview-label {font-size:9px;}
 .bud-player .bud-play {width:64px; height:64px;}
 .bud-film .bud-player.bud-floating {width:200px; right:12px; bottom:12px; aspect-ratio:16/9;}
 .bud-floating .bud-video-placeholder {gap:6px;}
 .bud-floating .bud-play {width:36px; height:36px;}
 .bud-floating .bud-play svg {width:16px; height:16px;}
 .bud-floating .bud-preview-label {display:none;}
 .bud-floating .bud-controls {padding:10px 16px; gap:10px;}
 .bud-story .bud-note {margin-top:36px; padding:20px; gap:16px; align-items:flex-start; font-size:16px;}
 .bud-section .bud-collage {height:330px;}
 .bud-collage .bud-placeholder {border-width:6px; border-radius:14px; font-size:10px;}
 .bud-collage .bud-photo-1 {width:74%;}
 .bud-collage .bud-photo-2 {width:64%; top:96px;}
 .bud-collage .bud-photo-3 {width:61%; top:200px; left:5%;}
 body #page-container .bud-section.bud-quote {padding:88px 0!important; min-height:460px;}
 .bud-quote blockquote p {font-size:34px; line-height:1.22;}
 .bud-quote cite {font-size:13px;}
 .bud-section .bud-roots-copy p {font-size:clamp(17px,1.3vw,19px);}
 .bud-roots .bud-centre-photo {border-width:6px; margin-bottom:32px;}
 .bud-timeline li {font-size:16px; padding-bottom:25px;}
 .bud-timeline strong {font-size:19px;}
 .bud-generation .bud-lead {font-size:19px;}
 .bud-generation .bud-generation-intro {margin-bottom:40px!important;}
 .bud-generation .bud-row.bud-cards {gap:14px; margin-bottom:40px;}
 .bud-cards .et_pb_column {border-radius:12px;}
 .bud-card-image .bud-pill {width:34px; height:34px; left:10px; top:10px; font-size:18px;}
 .bud-cards .bud-card-copy {padding:16px 14px 22px;}
 .bud-cards h3 {font-size:17px;}
 .bud-cards p {font-size:15px; line-height:1.5;}
 .bud-cards .bud-placeholder {font-size:9px;}
 .bud-bridge h2 {font-size:28px;}
 .bud-section.bud-generation:before,.bud-section.bud-sing:after {width:calc(100% - 42px);}
 .bud-section .bud-row.bud-sing-intro {margin-bottom:48px; gap:40px;}
 .bud-sing .bud-hashtag-row {gap:16px; flex-direction:column; align-items:flex-start; margin-top:32px;}
 .bud-sing .bud-hashtag {font-size:34px; letter-spacing:-1px;}
 .bud-sing .bud-copy {min-width:122px;}
 .bud-sing .bud-lyric {padding:28px 28px 30px;}
 .bud-lyric p {font-size:24px; line-height:1.4; margin-bottom:22px;}
 .bud-lyric cite {font-size:15px; letter-spacing:0;}
 .bud-section .bud-row.bud-steps {margin-bottom:48px;}
 .bud-step {padding:18px; min-height:92px; gap:18px; font-size:16px;}
 .bud-sing .bud-carousel {gap:12px;}
 .bud-carousel .bud-farmer {flex-basis:150px; padding:16px 24px; font-size:13px;}
 .bud-farmer .bud-play {width:52px; height:52px;}
 .bud-sing .bud-follow {margin-top:32px!important;}
 .bud-sing .bud-follow .bud-button {font-size:15px; padding-left:25px; padding-right:25px;}
}
@media(prefers-reduced-motion:reduce) { .bud-section * {scroll-behavior:auto!important; transition:none!important;} }

.bud-sing .bud-follow .bud-button {font-size:15px; letter-spacing:.16em; padding:14px 28px; line-height:1.2;}
.bud-section .bud-pill svg{width:28px;height:28px;}

/* Spotify-style lyric reader. Only the new data-bud-lyrics markup is enhanced. */
.bud-sing .bud-lyric.bud-lyrics {padding:32px 36px 28px; overflow:hidden;}
.bud-lyrics .bud-lyrics-viewport {
  height:240px; overflow-y:auto; overflow-x:hidden; position:relative;
  padding:0 16px 0 0; scrollbar-width:thin; scrollbar-gutter:stable;
  scrollbar-color:transparent transparent; scroll-behavior:auto; overflow-anchor:none;
  -webkit-mask-image:linear-gradient(transparent, #000 18%, #000 82%, transparent);
  mask-image:linear-gradient(transparent, #000 18%, #000 82%, transparent);
}
.bud-lyrics:hover .bud-lyrics-viewport,
.bud-lyrics:focus-within .bud-lyrics-viewport {scrollbar-color:var(--bud-sand,#d8b690) #ffffff12;}
.bud-lyrics-viewport::-webkit-scrollbar {width:5px;}
.bud-lyrics-viewport::-webkit-scrollbar-track {background:transparent;}
.bud-lyrics-viewport::-webkit-scrollbar-thumb {background:transparent; border-radius:99px;}
.bud-lyrics:hover .bud-lyrics-viewport::-webkit-scrollbar-thumb,
.bud-lyrics:focus-within .bud-lyrics-viewport::-webkit-scrollbar-thumb {background:var(--bud-sand,#d8b690);}
.bud-lyrics .bud-lyrics-lines {
  padding-top:var(--bud-lyrics-leading,90px);
  padding-bottom:var(--bud-lyrics-trailing,90px);
}
.bud-lyrics .bud-lyrics-line,
.bud-section .bud-lyrics .bud-lyrics-line:last-child {
  margin:0; padding:10px 0; font-size:clamp(24px,2.4vw,34px); line-height:1.4;
  color:#fff; text-wrap:pretty; transform-origin:left center;
  transition:opacity .65s ease, transform .65s ease;
}
.bud-lyrics[data-bud-lyrics-ready] .bud-lyrics-line {opacity:.38; transform:scale(.97);}
.bud-lyrics[data-bud-lyrics-ready] .bud-lyrics-line.is-past {opacity:.24;}
.bud-lyrics[data-bud-lyrics-ready] .bud-lyrics-line.is-active {opacity:1; transform:scale(1);}
.bud-lyrics .bud-lyrics-footer {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; margin-top:24px;}
.bud-lyrics .bud-lyrics-footer cite {font-size:13px; line-height:1.5; letter-spacing:0;}
.bud-lyrics .bud-lyrics-toggle {
  flex-shrink:0; border:1px solid #ffffff40; border-radius:99px; background:#ffffff0d;
  color:#fff; padding:9px 13px; min-height:40px; font-size:12px; line-height:1.4;
  transition:background .2s ease, border-color .2s ease;
}
.bud-lyrics .bud-lyrics-toggle:hover {background:#ffffff20; border-color:#ffffff80;}
.bud-lyrics .bud-lyrics-toggle[hidden] {display:none!important;}
.bud-lyrics .bud-lyrics-viewport:focus-visible {outline-offset:-3px;}
@media(max-width:600px) {
  .bud-sing .bud-lyric.bud-lyrics {padding:24px 22px;}
  .bud-lyrics .bud-lyrics-viewport {height:230px; padding-right:10px;}
  .bud-lyrics .bud-lyrics-line {font-size:24px;}
  .bud-lyrics .bud-lyrics-footer {margin-top:18px;}
}
@media(hover:none), (pointer:coarse) {
  .bud-lyrics .bud-lyrics-viewport {scrollbar-color:var(--bud-sand,#d8b690) #ffffff12;}
  .bud-lyrics .bud-lyrics-viewport::-webkit-scrollbar-thumb {background:var(--bud-sand,#d8b690);}
}
@media(prefers-reduced-motion:reduce) {
  .bud-lyrics .bud-lyrics-line {transition:none; transform:none!important;}
}

/* Audio and caption controls, shared by the main and floating players. */
.bud-player .bud-controls {gap:10px;}
.bud-controls .bud-volume-group {display:flex;align-items:center;gap:6px;position:relative;flex-shrink:0;}
.bud-controls .bud-mute {display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;}
.bud-controls .bud-mute svg {width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;}
.bud-controls .bud-volume {width:76px;height:4px;accent-color:var(--bud-sand);cursor:pointer;}
.bud-controls .bud-cc {flex-shrink:0;min-width:32px;min-height:28px;line-height:1;}
.bud-player video::cue {background:rgba(0,0,0,.8);color:#fff;font-family:Arial,sans-serif;}
.bud-floating video::cue {font-size:14px;}
.bud-floating .bud-volume {position:absolute;bottom:40px;right:-8px;width:110px;height:36px;padding:8px;background:var(--bud-blue);border-radius:8px;box-shadow:0 4px 16px #0004;visibility:hidden;opacity:0;}
.bud-floating .bud-volume-group:hover .bud-volume,
.bud-floating .bud-volume-group:focus-within .bud-volume {visibility:visible;opacity:1;}
@media(max-width:600px) {
  .bud-player .bud-controls {padding:10px;gap:6px;}
  .bud-controls .bud-volume {width:52px;}
  .bud-floating .bud-controls {padding:10px 8px;gap:6px;}
  .bud-floating .bud-controls .bud-mute {min-width:28px;}
  .bud-floating .bud-volume {width:100px;}
  .bud-floating video::cue {font-size:11px;}
}

/* Auto-hiding controls: the video fills the player and the bar overlays it, fading out
   during playback until the pointer moves (bud-controls-hidden is set in JS). */
.bud-section .bud-player {container-type:inline-size;}
.bud-player .bud-controls,.bud-player .bud-player-tools {transition:opacity .3s ease;}
.bud-player.bud-controls-hidden .bud-controls,
.bud-player.bud-controls-hidden .bud-player-tools {opacity:0; pointer-events:none;}
/* The tools row spans the player; only its buttons should catch clicks. */
.bud-player .bud-player-tools {pointer-events:none;}
.bud-player:not(.bud-controls-hidden) .bud-player-tools button {pointer-events:auto;}
.bud-player.bud-controls-hidden {cursor:none;}
.bud-player.bud-controls-hidden .bud-caption {bottom:5%;}
.bud-player.bud-floating .bud-caption {font-size:12px; bottom:60px;}
.bud-player.bud-floating.bud-controls-hidden .bud-caption {bottom:8px;}
@media(max-width:600px) {
  .bud-player.bud-floating .bud-caption {font-size:9px; bottom:56px;}
}
