/* Version 7: exact prutsel hero artwork, stronger vinyl and moving color. */
.home-hero{padding-top:76px;padding-bottom:70px;isolation:isolate;background:#1b1039}.home-hero-layout{grid-template-columns:1.05fr 1fr;gap:46px}.hero-color-movement{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.hero-color-movement i{position:absolute;border-radius:50%;filter:blur(70px);animation:hero-color-drift 18s ease-in-out infinite alternate;will-change:transform}.hero-color-movement i:nth-child(1){width:620px;height:620px;background:#7b2cbf;top:-210px;left:-170px;opacity:.55}.hero-color-movement i:nth-child(2){width:510px;height:510px;background:#fb28a1;right:-160px;top:10%;opacity:.35;animation-delay:-6s}.hero-color-movement i:nth-child(3){width:400px;height:400px;background:#ffc84e;left:35%;bottom:-280px;opacity:.19;animation-delay:-11s}@keyframes hero-color-drift{from{transform:translate(0,0) scale(1)}to{transform:translate(80px,48px) scale(1.18)}}
.hero-prutsel-scene{position:relative;isolation:isolate;min-width:0;margin:18px 0 15px}.hero-prutsel-scene .prutsel-hero-image{display:block;position:relative;width:100%;height:auto;max-width:none;object-fit:contain;z-index:1;animation:hero-image-bob 7s ease-in-out infinite;filter:drop-shadow(0 26px 35px #09051e59)}@keyframes hero-image-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.prutsel-vinyl{position:absolute;z-index:0;right:-13%;top:-16%;width:76%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#15102e 0 2px,#2c2152 2px 5px);box-shadow:0 30px 80px #0008,0 0 0 6px #fb28a140,0 0 60px #fb28a150,inset 0 0 0 2px #ffffff1a;animation:prutsel-spin 9s linear infinite}.prutsel-vinyl:before{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 37%,#e7d5ff45 50%,transparent 63% 100%)}.prutsel-vinyl>i{position:absolute;inset:33%;border-radius:50%;background:conic-gradient(#fb28a1,#8a3fff,#ffc84e,#fb28a1)}.prutsel-vinyl>i:after{content:'';position:absolute;inset:43%;border-radius:50%;background:#160c33}@keyframes prutsel-spin{to{transform:rotate(360deg)}}
.prutsel-label-mail{top:8%;left:-4%;z-index:2}.prutsel-label-players{bottom:15%;right:-2%;z-index:2}.prutsel-label-format{top:53%;left:-7%;z-index:2}
/* A whole rotated ribbon, including its type. Sufficient room above/below at any viewport width. */
.ribbon-shell{position:relative;overflow:hidden;isolation:isolate;padding:clamp(29px,2.5vw,58px) 0;margin:0;z-index:auto}.ribbon-shell-themes{background:#f7f3fc}.ribbon-shell .slanted-ribbon{width:104%;margin:0 0 0 -2%;transform:rotate(-1.2deg);overflow:hidden;z-index:1;box-shadow:0 6px 22px #17092714}.ribbon-shell .ribbon-songs{transform:rotate(1.2deg)}.ribbon-shell .ribbon-track{display:flex;align-items:center;width:max-content;gap:0;white-space:nowrap;padding:17px 0;transform:none;animation:ribbon-flow 46s linear infinite;will-change:transform}.ribbon-group{display:flex;align-items:center;gap:30px;padding-right:30px;flex:0 0 auto}.ribbon-group>span{font:25px/1.2 var(--head)}.ribbon-group>b{font:24px/1 Arial,sans-serif;font-weight:400}.ribbon-shell-songs .ribbon-track{animation-name:ribbon-flow-reverse;animation-duration:52s}.ribbon-shell.is-paused .ribbon-track{animation-play-state:paused}.home-promise-strip{position:relative;z-index:1}.songs-ribbon-section{padding:8px 0 21px;overflow:hidden}.songs-ribbon-section>p{margin:5px auto 0}@keyframes ribbon-flow{from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes ribbon-flow-reverse{from{transform:translateX(-50%)}to{transform:translateX(0)}}
/* Natural image proportions in the Eigen tile. No fixed HTML height inherited at thumbnail size. */
.custom-card-art,.home-all-themes .custom-card-art{height:100%;width:100%;padding:0;background:radial-gradient(circle at 95% 70%,#a03d80,#4c2663 65%,#31194d);isolation:isolate}.custom-card-art>img,.home-all-themes .custom-card-art>img{position:absolute;left:auto;right:7%;bottom:auto;top:50%;width:40%;height:auto;max-width:40%;max-height:83%;object-fit:contain;transform:translateY(-50%) rotate(7deg);border:3px solid #fff;border-radius:4px;z-index:1;box-shadow:0 10px 23px #17072555}.custom-card-art .custom-art-title,.home-all-themes .custom-art-title{position:absolute;left:8%;top:23%;width:47%;font-size:clamp(28px,2.9vw,43px);line-height:1.08;z-index:2;text-shadow:0 2px 12px #30173d55}.custom-card-art .custom-art-tag,.home-all-themes .custom-art-tag{left:8%;bottom:13%;font-size:10px;line-height:1.2;padding:7px 10px;border-radius:20px;z-index:2;max-width:70%}.custom-art-note{top:2%;right:40%;font-size:55px;opacity:.8}.home-all-themes .custom-card-art .custom-art-title{font-size:29px}.home-all-themes .custom-card-art .custom-art-tag{font-size:8px;padding:6px 8px}.home-all-themes .theme-card-custom{grid-column:auto}
/* Fit both lines entirely inside the sticker; keep it away from the panel clipping edge. */
.mix-illustration{padding-top:85px;height:378px}.custom-panel .mix-sticker{box-sizing:border-box;width:136px;height:136px;right:2px;top:0;padding:12px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font:24px/1.13 var(--head);transform:rotate(9deg);text-align:center;z-index:6}.mix-sticker>span{display:block;white-space:nowrap;font:inherit}.custom-panel{overflow:hidden}
/* Compare ways of organising, not unnamed claims about competitors. */
.comparison-simple{min-width:600px;table-layout:fixed}.comparison-simple thead th:first-child{width:27%}.comparison-simple thead th:nth-child(2){width:33%}.comparison-simple thead th:nth-child(3){width:40%}.comparison-simple th,.comparison-simple td{padding:23px 25px}.comparison-simple thead th{font-size:14px}.comparison-simple td{font-size:13px}.comparison-simple td b{font-size:15px}.comparison-simple td span{font-size:12px}
@media(max-width:1100px){.home-hero-layout{gap:30px}.home-hero{padding-top:65px;padding-bottom:60px}.prutsel-vinyl{top:-13%;right:-10%;width:79%}.home-all-themes .custom-card-art .custom-art-title{font-size:24px}.home-all-themes .custom-card-art .custom-art-tag{font-size:7px;padding:5px 7px}.custom-panel .mix-sticker{width:123px;height:123px;font-size:22px}.mix-illustration{padding-top:81px;height:367px}}
@media(min-width:761px) and (max-width:900px){.home-hero-layout{grid-template-columns:1.05fr 1fr;gap:26px}.prutsel-label-format{left:-3%;font-size:9px}.prutsel-label-mail{left:0;font-size:9px}.hero-prutsel-scene .hero-floating-label{padding:9px 11px}.home-all-themes .custom-card-art .custom-art-title{font-size:29px}.home-all-themes .custom-card-art .custom-art-tag{font-size:8px}.comparison-simple th,.comparison-simple td{padding:20px}.comparison-simple td b{font-size:14px}}
@media(max-width:760px){.home-hero{padding:35px 0 60px}.home-hero-layout{grid-template-columns:1fr;gap:45px}.hero-prutsel-scene{width:100%;max-width:490px;justify-self:center;margin:8px 0 10px;padding:0;aspect-ratio:auto}.prutsel-vinyl{width:72%;top:-12%;right:-6%}.hero-prutsel-scene .prutsel-hero-image{width:100%;height:auto;object-fit:contain}.hero-prutsel-scene .hero-floating-label{font-size:9px;padding:9px 12px;gap:6px}.prutsel-label-mail{top:7%;left:0}.prutsel-label-format{top:56%;left:-1%}.prutsel-label-players{bottom:10%;right:0}.hero-color-movement i:nth-child(1){width:440px;height:520px;left:-230px}.hero-color-movement i:nth-child(2){width:390px;height:450px;top:45%;right:-250px;opacity:.42}.hero-color-movement i:nth-child(3){left:2%;width:320px;height:280px;bottom:-210px}.ribbon-shell{padding:26px 0 30px}.ribbon-shell .ribbon-track{padding:14px 0;animation-duration:36s}.ribbon-shell .ribbon-songs{transform:rotate(1.5deg)}.ribbon-shell .ribbon-themes{transform:rotate(-1.5deg)}.ribbon-group{gap:22px;padding-right:22px}.ribbon-group>span{font-size:21px}.ribbon-group>b{font-size:21px}.ribbon-shell-songs .ribbon-track{animation-duration:42s}.songs-ribbon-section{padding-top:3px}.songs-ribbon-section>p{margin-top:3px}.custom-card-art .custom-art-title,.home-all-themes .custom-card-art .custom-art-title{font-size:35px;top:24%}.custom-card-art .custom-art-tag,.home-all-themes .custom-card-art .custom-art-tag{font-size:9px;bottom:13%;padding:6px 9px}.custom-card-art>img,.home-all-themes .custom-card-art>img{width:40%;height:auto;max-height:81%;right:8%;border-width:2px}.custom-panel .mix-sticker{width:118px;height:118px;font-size:21px;right:1px;top:0;padding:9px;line-height:1.1;transform:rotate(7deg)}.custom-panel .mix-illustration{padding-top:75px;height:329px;margin-top:4px}.comparison-simple{min-width:570px}.comparison-simple th,.comparison-simple td{padding:18px 15px}.comparison-simple thead th{font-size:12px}.comparison-simple td{font-size:11px}.comparison-simple td b{font-size:12px}.comparison-simple td span{font-size:10px}.comparison-simple th:first-child{position:static}}
@media(prefers-reduced-motion:reduce){.hero-color-movement i,.prutsel-vinyl,.hero-prutsel-scene .prutsel-hero-image,.ribbon-shell .ribbon-track{animation:none!important}.ribbon-shell .ribbon-track{transform:none}}

/* Version 8: ribbons occupy the actual colour boundary, not a separate blank strip. */
.discovery-page{--section-light:#f7f3fc;--section-dark:#201233;--section-plum:#2b1744;--usp-strip:#38204e}
.home-page .home-promise-strip{background:var(--usp-strip);border-bottom:0}
.home-page .home-themes-section{background:var(--section-light);padding-top:40px}
.home-page .ribbon-shell{--ribbon-angle:-1.2deg;--ribbon-above:var(--usp-strip);--ribbon-below:var(--section-light);padding:clamp(20px,1.6vw,42px) 0;margin:0;overflow:hidden;background:linear-gradient(calc(180deg + var(--ribbon-angle)),var(--ribbon-above) 0 50%,var(--ribbon-below) 50% 100%)}
.home-page .ribbon-shell .slanted-ribbon{transform:rotate(var(--ribbon-angle));margin:0 0 0 -2%;box-shadow:none}
.home-page .ribbon-shell-songs{--ribbon-angle:1.2deg;--ribbon-above:var(--section-light);--ribbon-below:var(--section-dark)}
.home-page .songs-ribbon-section{padding:0 0 20px;background:var(--section-dark)}
.home-page .ribbon-songs{background:#ffcf59;color:#35183f}
.home-page .ribbon-songs b{color:#a71971}
.home-page .songs-ribbon-section>p{margin:0 auto;padding:7px 24px 0;color:#cab2d8}
.home-page .ribbon-shell:hover .ribbon-track{animation-play-state:paused}
/* Deliberate sequence: light themes, purple occasions, light variants, purple explanation,
   light comparison, purple custom, light business, purple reviews, light FAQ, purple SEO. */
.home-page .occasions-section{background:var(--section-plum);color:white;padding:66px 0 70px}
.home-page .occasions-section .eyebrow{color:#f5c553}
.home-page .occasions-section .section-heading>p{color:#d6bfdf}
.home-page .occasion-card{background:#ffffff08;border-color:#ffffff22;box-shadow:none}
.home-page .occasion-card:hover{background:#ffffff10;border-color:#d094c1}
.home-page .occasion-card>strong{color:#fff3fd}
.home-page .occasion-card>span:not(.occasion-icon){color:#d5bedf}
.home-page .occasion-icon{background:#e37dc51a;color:#f7b6dd}
.home-page .occasion-card>b{color:#f2bada}
.home-page .home-variants{background:var(--section-light);color:#361945;padding:68px 0 54px}
.home-page .home-variants .section-heading>.eyebrow,.home-page .home-variants .eyebrow{color:#a72c80}
.home-page .home-variants .section-heading>p{color:#796183}
.home-page .home-mode{background:#fff;border-color:#e1d3e9;box-shadow:0 7px 24px #42245105}
.home-page .home-mode p{color:#786080}
.home-page .home-mode .format-chips>span{color:#865790;background:#f6effa;border-color:#e7d9ee}
.home-page .home-mode .text-button{color:#a1227b}
.home-page .home-mode-footnote{color:#806289}
.home-page .how-section{background:var(--section-dark);border-top:0;padding-top:47px}
.home-page .comparison-section{background:var(--section-light);color:#3d1c4d}
.home-page .comparison-section .eyebrow{color:#a32e82}
.home-page .comparison-section .section-heading>p{color:#796183}
.home-page .custom-section,.themes-page .custom-section{background:var(--section-plum);padding:66px 0}
.home-page .custom-panel,.themes-page .custom-panel{background:radial-gradient(ellipse at 100% 100%,#8b30624a,transparent 70%),#39204e;border:1px solid #b176b135}
.home-page .business-section{background:var(--section-light);color:#3c204d;padding:68px 0}
.home-page .business-copy .eyebrow{color:#a22983}
.home-page .business-copy h2{color:#442154}
.home-page .business-copy>p{color:#7b6285}
.home-page .business-copy ul{color:#654772}
.home-page .business-copy li:before{color:#b72882}
.home-page .business-photo:before{background:#e4cfdd}
.home-page .business-photo figcaption{color:#84648d}
.home-page .home-reviews{background:var(--section-plum);color:#fff;padding:65px 0}
.home-page .home-reviews .eyebrow{color:#f5c553}
.home-page .home-review-card{border-color:transparent;box-shadow:0 8px 27px #13081c25}
.home-page .home-reviews-track{scrollbar-color:#967099 transparent}
.home-page .faq-section{background:var(--section-light);border-top:0}
.home-page .seo-section{background:var(--section-dark);border-top:0;color:#fff}
.home-page .seo-layout .eyebrow{color:#f6c856}
.home-page .seo-layout h2{color:#fff}
.home-page .seo-copy h3{color:#f6e6f6}
.home-page .seo-copy p{color:#ccb5da}
.home-page .seo-copy a,.home-page .seo-link{color:#f6c456}
.home-page .global-party-cta{background:var(--section-light);color:#3d1c4d;border-top:0}
.home-page .global-party-cta h2{color:#42204f}
.home-page .global-party-cta .eyebrow{color:#a1287c}
.home-page .global-party-cta p{color:#7b6084}
.home-page .global-cta-demo{background:white;border-color:#c9acce;color:#653172}
.home-page .global-cta-demo:hover{background:#f5e5f1;border-color:#ad74a8}
/* Version 9: one shared hero colour through the USP strip and ribbon boundary. */
.home-page{--hero-surface:#1b1039;--usp-strip:var(--hero-surface)}
.home-page .home-hero{background:var(--hero-surface)}
.home-page .hero-color-movement{-webkit-mask-image:linear-gradient(#000 0 60%,transparent 100%);mask-image:linear-gradient(#000 0 60%,transparent 100%)}
.home-page .home-promise-strip{background:var(--hero-surface);border:0}
.home-page .songs-ribbon-section{padding:0}
/* Five short rows, with the complete comparison visible on a phone. */
.home-page .comparison-section .section-heading{max-width:950px;margin-left:auto;margin-right:auto}
.comparison-glance-wrap{max-width:950px;margin:30px auto 0;border:1px solid #ddcde5;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #45255208;background:#fff}
.comparison-glance{width:100%;min-width:0;table-layout:fixed;line-height:1.5}
.comparison-glance th,.comparison-glance td{padding:20px 24px;border-bottom:1px solid #e9dced;text-align:left;vertical-align:middle;font-size:14px;overflow-wrap:break-word}
.comparison-glance thead th{background:#ede4f3;color:#73517e;font-weight:850;font-size:14px}
.comparison-glance thead th:first-child{width:36%;background:#f6f1f9;color:#573064}
.comparison-glance thead th:nth-child(2){width:27%}
.comparison-glance thead th:nth-child(3){width:37%}
.comparison-glance tbody th{background:#fcf9fd;color:#573a65;font-weight:850}
.comparison-glance tbody td{color:#80688b;background:#fff;font-weight:650}
.comparison-glance .our-column{background:#48205a;color:#fff;border-bottom-color:#6b427c}
.comparison-glance thead .our-column{background:#582568;color:#fff;font-size:18px;font-weight:950}
.comparison-glance td.our-column b{position:relative;padding-left:25px;margin:0;font:900 15px/1.5 var(--body);color:#fff}
.comparison-glance td.our-column b:before{position:absolute;left:0;top:0;color:#ffcf59;margin:0}
.comparison-footnotes{max-width:950px;margin:17px auto 0;color:#82678c;font:550 11px/1.7 var(--body)}
.comparison-footnotes p{margin:3px 0}
.home-page .comparison-bottom{max-width:950px;margin:24px auto 0;justify-content:center}
@media(max-width:760px){
 .home-page .ribbon-shell{--ribbon-angle:-1.5deg;padding:21px 0}
 .home-page .ribbon-shell-songs{--ribbon-angle:1.5deg}
 .home-page .home-themes-section{padding-top:26px}
 .home-page .occasions-section{padding:43px 0}
 .home-page .home-variants{padding:43px 0 30px}
 .home-page .how-section{padding-top:34px}
 .home-page .custom-section,.themes-page .custom-section{padding:42px 0}
 .home-page .business-section{padding:43px 0}
 .home-page .home-reviews{padding:42px 0}
 .comparison-glance-wrap{margin-top:24px;border-radius:14px}
 .comparison-glance{min-width:0}
 .comparison-glance th,.comparison-glance td{padding:17px 11px;font-size:12px}
 .comparison-glance thead th{font-size:12px}
 .comparison-glance th:first-child{position:static}
 .comparison-glance thead .our-column{font-size:14px}
 .comparison-glance td.our-column b{padding-left:18px;font-size:12px;line-height:1.5}
 .comparison-footnotes{font-size:10px;line-height:1.65;margin-top:15px}
 .home-page .comparison-bottom{margin-top:21px}
 .home-page .comparison-bottom .button{width:auto;max-width:100%;margin:0 auto;display:flex}
}
@media(max-width:380px){
 .comparison-glance th,.comparison-glance td{padding:15px 8px;font-size:11px}
 .comparison-glance thead th{font-size:11px}
 .comparison-glance thead .our-column{font-size:12px}
 .comparison-glance td.our-column b{font-size:11px;padding-left:15px}
}

/* Version 10: hero colour runs behind the header, without a separate top bar. */
.discovery-page{--site-header-height:88px;--hero-inset:76px}
.discovery-page .site-header{height:var(--site-header-height);margin-bottom:calc(-1 * var(--site-header-height));background:transparent;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .2s,box-shadow .2s}
.discovery-page .site-header.is-scrolled,.discovery-page .site-header:has(nav.open){background:#211137e8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 3px 18px #16092318}
.home-page .home-hero{padding-top:calc(var(--site-header-height) + var(--hero-inset))}
.themes-page .themes-hero{padding-top:var(--site-header-height)}
/* Card copy follows its own heading, regardless of the neighbouring title length. */
.discovery-page .theme-card-copy h3{height:auto;min-height:0;margin-bottom:8px}
.discovery-page .theme-card-copy>p{margin-top:0}
/* These are inline actions, not the full-width text-button used inside other components. */
.home-page .home-themes-bottom{flex-wrap:wrap;gap:16px 28px}
.home-page .home-themes-bottom>.button{width:auto;min-width:0;flex:0 0 auto;white-space:nowrap;gap:12px}
.home-page .home-themes-bottom>.text-button{width:auto;display:inline-flex;justify-content:center;gap:9px;padding:11px 0;border:0;white-space:nowrap;flex:0 0 auto;line-height:1.5}
.home-page .home-themes-bottom>.text-button:hover{background:transparent;color:#a52587;text-decoration:underline;text-underline-offset:4px}
.home-page .home-themes-bottom>.text-button>span{font-size:18px;flex:none}
/* Explicitly outrank the former mobile sticky-column colours. */
.home-page .comparison-glance tbody th:first-child{position:static;background:#fcf9fd;color:#573a65}
.home-page .comparison-glance thead th:first-child{background:#f6f1f9;color:#573064}
.home-page .comparison-glance thead th:not(.our-column) small{font-size:10px;line-height:1.4;color:#74587e;font-weight:650;margin-top:5px}
/* Version 12: plain horizontal section boundaries, as requested. */
.themes-page .themes-seo,.themes-page .global-party-cta{border-top:0}
@media(max-width:1100px){.discovery-page{--hero-inset:65px}}
@media(max-width:760px){
 .discovery-page{--site-header-height:72px;--hero-inset:35px}
 .discovery-page .header-inner nav.open{background:#27173fec;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 .home-page .home-themes-bottom{align-items:center;gap:12px}
 .home-page .home-themes-bottom>.button{font-size:12px;padding:14px 17px;max-width:100%;gap:10px}
 .home-page .home-themes-bottom>.text-button{font-size:12px;padding:10px 0;gap:8px}
}
@media(max-width:380px){.home-page .home-themes-bottom>.button{font-size:11px;padding:13px 12px;gap:8px}}
@media(prefers-reduced-motion:reduce){.discovery-page .site-header{transition:none}}

/* Calm theme-name ribbon on desktop and mobile. */
.ribbon-shell-themes .ribbon-track{animation-duration:100s}
