:root{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#302319;background:#fff9e7;font-synthesis:none;line-height:1.5;--yellow:#ffd52d;--brown:#302319}*{box-sizing:border-box}body{margin:0;isolation:isolate}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:wait}button,a,input{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}.page-glow{position:fixed;inset:0;background:radial-gradient(ellipse at 80% 12%,#ffe46488,transparent 50%),radial-gradient(ellipse at 0 60%,#ffe98450,transparent 40%);pointer-events:none;z-index:-1}header,main,footer{width:min(1250px,calc(100% - 80px));margin:auto}header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #7153251c}.brand{display:flex;align-items:center;gap:11px}.brand img{width:59px;height:59px;object-fit:contain}.brand strong{display:block;font-size:25px;font-weight:850;letter-spacing:1px}.brand small{display:block;font-size:10px;letter-spacing:2.1px;font-weight:700}.header-note{font-size:14px;color:#756244}.header-note>span{display:inline-grid;place-items:center;background:var(--yellow);width:25px;height:25px;border-radius:50%;font-size:10px;margin-right:8px}.entry{border:1px solid #b4984d55;border-radius:25px;padding:9px 17px;font-size:12px;background:#fffdf780}.entry b{margin-left:9px;font-size:14px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:365px;align-items:center;gap:20px;position:relative;padding:29px 25px 32px}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:650;color:#82652e}.eyebrow>span{display:inline-block;background:#34251b;color:var(--yellow);font-size:10px;padding:2px 5px;border-radius:4px;margin-right:7px}h1{font-size:55px;line-height:1.2;margin:19px 0 14px;font-weight:900;letter-spacing:-2px}h1 em{font-style:normal}.bean-word{display:inline-block;background:var(--yellow);border-radius:45% 55% 50% 42%;padding:0 7px;transform:rotate(-7deg);margin:0 3px}.hero-copy p{font-size:15px;color:#826d4c;line-height:1.8;margin:0}.hero-tags{display:flex;gap:10px;margin-top:21px}.hero-tags span{font-size:12px;padding:5px 11px;background:#fffdf3;border:1px solid #c8ad6645;border-radius:20px}.hero-collage{height:305px;position:relative;isolation:isolate}.halo{position:absolute;width:285px;height:285px;border-radius:50%;background:#ffdb38;top:3px;left:19%;z-index:-1;box-shadow:0 0 0 16px #ffdb3826,0 0 0 37px #ffdb3812}.photo{position:absolute;border:5px solid #fffdf3;border-radius:16px;overflow:hidden;box-shadow:0 10px 25px #68501b25;height:230px;width:165px;animation:float 7s ease-in-out infinite alternate}.photo img{height:100%;width:100%;object-fit:cover;object-position:center 13%}.photo-a{left:4%;top:29px;transform:rotate(-11deg);--rotate:-11deg}.photo-b{left:33%;top:3px;z-index:2;transform:rotate(3deg);--rotate:3deg;animation-delay:-2s}.photo-c{left:61%;top:36px;transform:rotate(13deg);--rotate:13deg;animation-delay:-4s}.photo>span{position:absolute;bottom:0;left:0;right:0;background:#2f231aaa;color:#fff3c0;font-size:9px;letter-spacing:1.5px;padding:8px}.hero-mascot{position:absolute;width:132px;bottom:-10px;left:21%;z-index:4;filter:drop-shadow(0 9px 6px #5d3e2426);animation:mascot 5s ease-in-out infinite}.sticker{position:absolute;right:-5px;top:4px;z-index:4;background:var(--yellow);color:#352313;font-size:19px;font-weight:900;border:2px solid #49341f;padding:10px 14px;border-radius:50%;line-height:1.1;transform:rotate(13deg);box-shadow:3px 3px #49341f}.spark{position:absolute;font-size:39px;color:#d89510;z-index:4}.spark-one{left:0;top:-1px;animation:spin 20s linear infinite}.spark-two{right:-7px;bottom:5px;font-size:50px}.film-tape{position:absolute;bottom:17px;right:2px;background:#33251c;color:#fbd53e;border-top:3px dashed #fae6a770;border-bottom:3px dashed #fae6a770;padding:6px 14px;font-size:10px;letter-spacing:2px;transform:rotate(-5deg);z-index:3}
.portal{position:relative;isolation:isolate;background:linear-gradient(135deg,#33281f,#201d19 60%,#2e271c);color:#fff6df;border:1px solid #5e4c2c;border-radius:25px;padding:26px 28px 0;box-shadow:0 17px 0 -10px #dac27c,0 28px 60px #6a4e2020;overflow:hidden}.portal:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),#e5be2914,transparent 80%)}.panel-rim{position:absolute;top:0;left:10%;width:80%;height:2px;background:linear-gradient(90deg,transparent,#ffe47b,transparent);opacity:.8}.panel-heading,.status-area{display:flex;align-items:center;gap:13px}.panel-heading{justify-content:space-between}.indicator{width:42px;height:42px;border:1px solid #ecce7333;background:#ffda4412;border-radius:14px;display:grid;place-items:center;flex:none}.indicator>span{width:19px;height:19px;border:2px solid #ffe4782e;border-top-color:var(--yellow);border-radius:50%;animation:spin 1s linear infinite}.indicator.done>span{animation:none;border:0;border-left:2px solid var(--yellow);border-bottom:2px solid var(--yellow);border-radius:0;width:16px;height:9px;transform:rotate(-45deg)}.indicator.failed>span{animation:none;border:1px solid #d9b881}.indicator.failed>span:after{content:"!";display:block;text-align:center;font-size:13px;line-height:16px;color:#e7be7f}.status-kicker{font-size:10px;color:#cbb88c;letter-spacing:1.8px}h2{font-size:21px;line-height:1.4;margin:2px 0 0;font-weight:650}.scan-count{display:flex;align-items:center;gap:12px;font-size:12px;color:#b8a784}.scan-count strong{color:#f5d766;font:22px Consolas,monospace}#status-detail{font-size:13px;color:#c9bda6;margin:14px 0}.progress{height:2px;border-radius:2px;background:#ffe28b13;overflow:hidden}.progress>div{height:100%;width:0;transition:width .4s;background:linear-gradient(90deg,#b98518,#ffe57f);box-shadow:0 0 10px #ffdc55}.list-head{display:flex;justify-content:space-between;font-size:12px;color:#bcaa85;margin:17px 0 10px}.routes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.route{font:inherit;color:inherit;text-align:left;position:relative;isolation:isolate;overflow:hidden;border:1px solid #e5cd9428;border-radius:13px;min-height:183px;padding:15px 13px 13px;background:linear-gradient(145deg,#ffffff08,#0e0a070c);transition:transform .2s,border-color .2s,box-shadow .2s;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:12px 0}.route:hover{transform:translateY(-4px);border-color:#ffe17780;box-shadow:0 9px 22px #0003}.route-number{font:13px Consolas;background:#ffdc4012;border:1px solid #d7bc6a30;border-radius:50% 45% 48% 42%;width:30px;height:28px;display:grid;place-items:center;color:#ebd18c}.signal{display:flex;height:17px;gap:3px;align-items:end;margin-left:auto}.signal i{width:3px;background:#cfbd8e5e;border-radius:2px;height:4px}.signal i:nth-child(2){height:8px}.signal i:nth-child(3){height:12px}.signal i:nth-child(4){height:16px}.route-info{width:100%;position:relative}.domain{font-size:clamp(15px,1.45vw,20px);color:#ffe477;font-weight:750;letter-spacing:.05px;line-height:1.5;text-shadow:0 1px #100d06,0 0 15px #ffd63a10}.route-name{font-size:11px;color:#bcab87}.route-metric{width:100%;border-top:1px solid #d4b6651c;padding-top:10px;font-size:12px;color:#d7cba9}.route-metric strong{font:23px Consolas;color:#ffedaa}.metric-caption{font-size:11px;color:#ad9e83;line-height:1.5}.route-play{position:absolute;right:12px;bottom:21px;border:1px solid #c6a86435;border-radius:50%;height:24px;width:24px;display:grid;place-items:center;color:#e9c65c;font-size:9px}.route-art{position:absolute;right:-6px;top:0;bottom:0;width:55%;z-index:-1;opacity:.09;background-image:url('./assets/look-black.png');background-size:cover;background-position:center top;mask-image:linear-gradient(90deg,transparent,black)}.route:nth-child(2) .route-art,.route:nth-child(5) .route-art{background-image:url('./assets/look-lace.png')}.route:nth-child(3) .route-art{background-image:url('./assets/look-teal.png')}.route.best{background:linear-gradient(135deg,#ffe376,#ffd12e);color:#342813;border-color:#ffea9b;box-shadow:0 6px 25px #ffcf3c20,inset 0 1px #fff7c8}.best .domain{color:#302319;text-shadow:none}.best .route-number{border-color:#9d6e263c;background:#fff5b84d;color:#553916}.best .signal i{background:#7b581f}.best .route-metric{border-color:#88602529}.best .route-metric strong,.best .metric-caption{color:#493315}.best .route-name{color:#765820}.best .route-play{background:#352719;color:#ffe47c;border-color:#352719}.best:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,#fff9 50%,transparent 70%);transform:translateX(-150%);animation:sweep 6s ease-in-out infinite;pointer-events:none;opacity:.3}.checking:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent,#ffdf4c0b,transparent);animation:sweep 2s infinite;animation-delay:calc(var(--i)*.15s)}.checking .signal i{animation:signal 1s infinite alternate}.checking .signal i:nth-child(2n){animation-delay:-.4s}.controls-row{display:flex;justify-content:space-between;align-items:center;padding:16px 1px}.toggle{position:relative;display:flex;align-items:center;gap:9px;color:#d9c7a3;font-size:12px;cursor:pointer}.toggle input{position:absolute;opacity:0;margin:0;width:30px;height:20px}.switch{width:29px;height:17px;background:#605643;border:1px solid #9d8960;border-radius:20px;position:relative}.switch:after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;background:#e9d5a6;border-radius:50%;transition:transform .2s}.toggle input:checked+.switch{background:var(--yellow);border-color:#ffe78a}.toggle input:checked+.switch:after{transform:translateX(12px);background:#49351c}.secondary{border:0;background:none;color:#e5c56e;font-size:13px;padding:4px}.secondary:disabled{opacity:.45}.departure{--remaining:100%;position:relative;overflow:hidden;display:flex;align-items:center;gap:13px;background:#110e0929;border:1px solid #b3954e26;border-radius:13px;padding:13px 16px}.countdown-ring{isolation:isolate;position:relative;width:45px;height:45px;border-radius:50%;background:conic-gradient(#ffdc4f var(--remaining),#b3954e22 0);display:flex;flex-direction:column;justify-content:center;align-items:center;flex:none}.countdown-ring:before{content:"";position:absolute;inset:2px;border-radius:50%;background:#29231a;z-index:-1}.countdown-ring span{font:22px/1 Consolas;color:#ffe27b}.countdown-ring small{font:9px/1.3 Consolas;color:#bba779;letter-spacing:1.5px}.departure-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.departure-copy strong{font-size:14px;font-weight:600;color:#f3dfae}.departure-copy>span{font-size:12px;color:#b5a484}.play-button{margin-left:auto;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(120deg,#ffdf53,#ffce22);color:#362515;border:1px solid #ffe9a3;border-radius:30px;padding:12px 21px;font-size:14px;font-weight:750;box-shadow:0 4px 15px #e5b71916;white-space:nowrap;transition:transform .2s,box-shadow .2s}.play-button:hover{transform:translateY(-2px);box-shadow:0 6px 25px #e5b71933}.play-button:disabled{opacity:.5}.play-disc{display:grid;place-items:center;background:#38271c;color:#ffe367;border-radius:50%;width:22px;height:22px;font-size:9px;padding-left:1px}#cancel-auto{display:none;border:0;background:transparent;color:#e4c56d;font-size:12px;margin-left:auto;white-space:nowrap}.counting #cancel-auto{display:block}.departure-track{position:absolute;left:0;bottom:0;height:2px;width:var(--remaining);background:#ffd633;opacity:.18;transition:width .1s linear}.counting .departure-track{opacity:1}.panel-foot{display:flex;justify-content:space-between;padding:16px 1px;color:#a99a7e;font-size:11px}.notice{text-align:center;font-size:12px;color:#9c8050;padding-top:14px}.editorial{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;gap:18px;margin:40px 0 30px}.editorial-title{position:relative;padding:12px 0}.editorial-title>span{font-size:10px;letter-spacing:2px;color:#a48234;font-weight:650}.editorial-title h2{font-size:29px;line-height:1.3;margin:12px 0}.editorial-title p{font-size:12px;color:#a08659}.editorial-title img{position:absolute;right:13px;bottom:3px;width:65px;transform:rotate(-12deg)}.editorial-image{height:210px;position:relative;overflow:hidden;border-radius:12px;background:#efdaa0;border:4px solid #fffdf4;box-shadow:0 5px 18px #7255180b}.editorial-image img{width:100%;height:100%;object-fit:cover;object-position:center 18%;transition:transform .6s;filter:saturate(.8)}.editorial-image:hover img{transform:scale(1.04)}.editorial-image>span{position:absolute;bottom:0;left:0;right:0;padding:26px 14px 12px;background:linear-gradient(transparent,#2b2019d9);color:#ffde79;font-size:11px}.editorial-image b{color:#fff7df;font-size:16px;font-weight:500;margin-left:10px}footer{display:flex;justify-content:space-between;border-top:1px solid #ae8d3d2b;padding:22px 0 28px;font-size:11px;color:#9e8656;letter-spacing:1px}footer i{font-style:normal;margin:0 10px}footer b{color:#c69619;margin-left:9px}[hidden]{display:none!important}:focus-visible{outline:3px solid #dc9d13;outline-offset:4px}.toggle input:focus-visible+.switch{outline:2px solid #ffed9b;outline-offset:4px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{to{transform:rotate(var(--rotate)) translateY(-8px)}}@keyframes mascot{50%{transform:translateY(-7px) rotate(-4deg)}}@keyframes sweep{0%,30%{transform:translateX(-130%)}100%{transform:translateX(130%)}}@keyframes signal{to{opacity:.3;transform:scaleY(.5)}}
@media(max-width:1050px){header,main,footer{width:calc(100% - 40px)}.header-note{display:none}.hero{padding-left:6px;padding-right:6px}h1{font-size:44px}.photo{width:135px;height:208px}.photo-c{left:63%}.hero-collage{height:280px}.hero-mascot{width:113px}.sticker{font-size:16px;right:-1px}.routes{gap:8px}.portal{padding:22px 19px 0}.domain{font-size:15px}.route{padding-left:10px;padding-right:10px}.departure{gap:10px;padding:12px}.play-button{padding:11px 14px}.editorial-title h2{font-size:24px}}
@media(max-width:760px){header,main,footer{width:calc(100% - 24px)}header{height:66px}.brand img{width:40px;height:40px}.brand{gap:7px}.brand strong{font-size:19px}.brand small{font-size:8px;letter-spacing:1px}.entry{font-size:10px;padding:6px 9px}.entry b{font-size:12px;margin-left:5px}.hero{min-height:0;height:134px;display:block;padding:17px 9px}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:8px;letter-spacing:.8px}.eyebrow>span{font-size:8px}h1{font-size:30px;line-height:1.15;margin:9px 0;letter-spacing:-1px}h1 br{display:none}h1 em{display:block}.hero-copy p,.hero-tags{display:none}.hero-collage{position:absolute;right:1px;top:11px;width:115px;height:110px}.hero-collage .photo,.halo,.film-tape,.sticker,.spark-two{display:none}.hero-mascot{left:0;bottom:0;width:108px}.spark-one{font-size:20px;left:-12px;top:6px}.portal{padding:14px 12px 0;border-radius:17px}.status-area{gap:9px}.indicator{width:33px;height:33px;border-radius:11px}.status-kicker{display:none}h2{font-size:17px}.scan-count>span{display:none}.scan-count strong{font-size:15px}#status-detail{font-size:12px;margin:9px 0;min-height:18px}.list-head{font-size:11px;margin:10px 0 7px}.routes{grid-template-columns:1fr;gap:6px}.route{min-height:53px;padding:7px 10px;display:flex;flex-wrap:nowrap;gap:9px;border-radius:9px}.route:hover{transform:translateX(2px)}.route-number{height:29px;width:28px;flex:none;font-size:12px}.signal{display:none}.route-info{width:auto;flex:1;min-width:0}.domain{font-size:16px;line-height:1.3}.route-name{font-size:10px}.route-metric{width:auto;border:0;padding:0;text-align:right;font-size:12px;white-space:nowrap}.route-metric strong{font-size:18px;line-height:1.2}.metric-caption{font-size:10px}.route-play{position:static;height:20px;width:20px;flex:none;font-size:7px}.route-art{width:45%;opacity:.12}.controls-row{padding:12px 1px}.toggle,.secondary{font-size:12px}.departure{flex-wrap:wrap;gap:9px;padding:10px;border-radius:10px}.countdown-ring{width:35px;height:35px}.countdown-ring span{font-size:18px}.departure-copy{flex:1}.departure-copy strong{font-size:13px}.departure-copy>span{font-size:11px}.play-button{width:100%;margin:0;padding:9px;border-radius:8px;font-size:14px}.panel-foot{font-size:10px;padding:11px 0}.panel-foot span:last-child{display:none}.notice{font-size:11px;padding-top:10px}.editorial{grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0}.editorial-title{grid-column:1/-1;padding:0 2px 4px}.editorial-title>span{display:none}.editorial-title h2{font-size:20px;margin:0}.editorial-title h2 br{display:none}.editorial-title p{font-size:12px;margin:5px 0}.editorial-title img{width:55px;right:5px;bottom:5px}.editorial-image{height:150px;border-width:3px;border-radius:9px}.editorial-image>span{font-size:0;padding:20px 7px 8px}.editorial-image b{font-size:12px;margin:0}footer{padding:15px 0;font-size:10px;letter-spacing:0}footer>span:last-child{display:none}}
@media(max-width:380px){header,main,footer{width:calc(100% - 18px)}.entry{font-size:0}.entry b{font-size:12px}.hero{height:124px}h1{font-size:28px}.hero-collage{width:96px}.hero-mascot{width:95px}.route{gap:7px;padding-left:8px;padding-right:8px}.route-play{display:none}.domain{font-size:15px}.portal{padding-left:10px;padding-right:10px}}
@media(max-width:760px) and (max-height:720px){header{height:55px}.hero{height:111px;padding-top:12px}.hero-collage{height:94px;top:3px}.eyebrow{display:none}h1{font-size:28px}.portal{padding-top:11px}.route{min-height:50px;padding-top:5px;padding-bottom:5px}.list-head{margin-top:8px}.indicator{height:30px;width:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* The shared viewing scene carries the hero's warm yellow and blush palette. */
.bean-cinema{height:320px;isolation:isolate}.cinema-sun{position:absolute;inset:12px 8% 5px;border-radius:48% 52% 43% 57%;background:radial-gradient(ellipse at 45% 30%,#fff0a3,#ffdd4f 65%,#ffd344);box-shadow:0 0 0 14px #ffdd4020;transform:rotate(-8deg);z-index:-2}.cinema-orbit{position:absolute;inset:24px 0 12px;border:1px dashed #c4963d66;border-radius:50%;transform:rotate(-16deg);z-index:-1}.cinema-friends{position:absolute;left:6%;bottom:-6px;width:90%;height:325px;object-fit:contain;filter:drop-shadow(0 14px 13px #94572924);animation:cinema-breathe 7s ease-in-out infinite}.cinema-label{position:absolute;left:16%;top:-3px;font-size:9px;letter-spacing:2px;font-weight:700;color:#8d662b;transform:rotate(-5deg)}.cinema-ticket{position:absolute;right:-2px;bottom:6px;background:#fff8e4;border:1px solid #bb8d3760;border-radius:10px;padding:10px 14px 10px 44px;box-shadow:0 5px 0 #e9b3a7,0 10px 24px #794b2820;transform:rotate(-6deg)}.cinema-ticket:after{content:'';position:absolute;left:34px;top:5px;bottom:5px;border-left:1px dashed #bd9862}.cinema-ticket i{position:absolute;left:12px;top:16px;font-size:15px;font-style:normal;color:#ad7412}.cinema-ticket b{display:block;font-size:15px;color:#604126}.cinema-ticket small{display:block;font-size:7px;letter-spacing:1px;color:#a57c50}.cinema-spark{position:absolute;color:#cf8e10;animation:mascot 4s ease-in-out infinite}.cinema-spark-a{left:3%;top:35px;font-size:37px}.cinema-spark-b{right:2%;top:45px;font-size:50px;color:#d99187;animation-delay:-2s}.cinema-dot{position:absolute;left:0;bottom:40px;width:12px;height:12px;border-radius:50%;background:#f1b4a9;box-shadow:14px 18px 0 -3px #e8b72f}.hero:after{content:'';position:absolute;right:2%;bottom:4px;width:40%;height:70px;background:radial-gradient(ellipse,#f2b6ad38,transparent 70%);z-index:-1;pointer-events:none}@keyframes cinema-breathe{50%{transform:translateY(-5px)}}
@media(max-width:1050px) and (min-width:761px){.bean-cinema{height:280px}.cinema-friends{height:280px;left:0;width:100%}.cinema-label{font-size:8px;letter-spacing:1px}.cinema-ticket{bottom:-5px;right:0}.cinema-ticket b{font-size:13px}}
@media(max-width:760px){.bean-cinema{height:112px;width:132px;right:-4px;top:10px}.cinema-friends{height:111px;width:138px;max-width:none;left:-3px;bottom:0}.cinema-sun{inset:10px 6px 0;box-shadow:0 0 0 5px #ffdd4020}.cinema-orbit{inset:5px 0;border-color:#c4963d33}.cinema-ticket,.cinema-label,.cinema-spark-b,.cinema-dot{display:none}.cinema-spark-a{font-size:20px;top:0;left:0}.hero:after{height:30px}.hero .bean-word{padding:0 3px;margin:0 2px}}
@media(max-width:380px){.bean-cinema{width:104px;right:-3px}.cinema-friends{height:98px;width:118px;left:-7px}.cinema-sun{inset:20px 0 0}.cinema-spark-a{left:4px;top:13px}}
@media(max-width:760px) and (max-height:720px){.bean-cinema{top:0;height:100px}.cinema-friends{height:98px}}


/* Keep the whole illustration inside its column, with room for its shadow. */
@media(min-width:761px){.cinema-friends{height:290px;bottom:28px;left:5%;width:90%}.cinema-ticket{bottom:-14px;right:12px}.cinema-orbit{inset:24px 12px 12px}}
@media(min-width:761px) and (max-width:1050px){.cinema-friends{height:250px;bottom:24px}.cinema-ticket{bottom:-18px}}
@media(max-width:760px){.hero{overflow:visible}.bean-cinema{right:10px;width:124px}.cinema-friends{left:0;width:100%;max-width:100%;height:100%;bottom:0}.cinema-orbit{inset:12px 12px}.cinema-sun{inset:14px 10px 8px}}
@media(max-width:380px){.bean-cinema{right:8px;width:100px}.cinema-friends{left:0;width:100%;height:100%}.cinema-sun{inset:22px 8px 12px}}

/* A two-line animated wordmark: stable spacing, transform-only movement. */
.signature-title{letter-spacing:0;line-height:1.3;margin-top:17px;margin-bottom:17px}.title-line{display:flex;align-items:center;gap:7px;white-space:nowrap;width:max-content}.title-line+.title-line{margin-top:8px}.title-line>span{display:inline-block;animation:title-bob 5.6s ease-in-out infinite}.title-line>span:nth-child(2){animation-delay:-.25s}.title-line>span:nth-child(3){animation-delay:-.5s}.title-line>span:nth-child(4){animation-delay:-.75s}.title-line>span:nth-child(5){animation-delay:-1s}.signature-title .bean-word{position:relative;overflow:hidden;padding:0 9px;letter-spacing:6px;margin:0 0 0 2px;border-radius:45% 53% 42% 47%;box-shadow:0 4px 0 #e3aa1e;transform:rotate(-5deg);animation:bean-title-bob 5.6s ease-in-out infinite}.signature-title .bean-word:after{content:'';position:absolute;inset:-30% -50%;background:linear-gradient(110deg,transparent 40%,#fff9dc88 49%,transparent 58%);transform:translateX(-110%);animation:title-glint 6s ease-in-out infinite;pointer-events:none}.title-encore{color:#684124;text-shadow:0 2px 0 #fff9e7;position:relative}.title-encore:after{content:'';position:absolute;left:2px;right:0;bottom:-3px;height:5px;border-radius:50%;background:linear-gradient(90deg,#efb632,#efb5a980,transparent);transform:rotate(-1deg)}
@keyframes title-bob{0%,65%,100%{transform:translateY(0)}75%{transform:translateY(-3px)}85%{transform:translateY(1px)}}
@keyframes bean-title-bob{0%,65%,100%{transform:rotate(-5deg)}75%{transform:translateY(-3px) rotate(-3deg)}85%{transform:translateY(1px) rotate(-5deg)}}
@keyframes title-glint{0%,65%{transform:translateX(-110%)}90%,100%{transform:translateX(110%)}}
@media(max-width:1050px){.title-line{gap:5px}.signature-title .bean-word{letter-spacing:4px}}
@media(max-width:760px){.signature-title{font-size:29px;line-height:1.15;margin:9px 0}.title-line{gap:3px}.title-line+.title-line{margin-top:6px}.hero .signature-title .bean-word{padding:0 4px;margin:0;letter-spacing:3px;box-shadow:0 2px 0 #e3aa1e}.title-encore:after{height:3px;bottom:-4px}}
@media(max-width:380px){.signature-title{font-size:26px}.title-line{gap:2px}.hero .signature-title .bean-word{letter-spacing:2px}}
@media(max-width:760px) and (max-height:720px){.signature-title{font-size:26px;margin-top:7px}.title-line+.title-line{margin-top:5px}}

/* Desktop keeps the fashion collage; the bean gathering belongs to mobile. */
@media(min-width:761px){.bean-cinema{display:none}.hero:after{display:none}}
@media(max-width:760px){.desktop-collage{display:none}}
/* Keep glyphs on a stable, untransformed layer. Animate only their backdrop. */
.signature-title .bean-word{transform:none;animation:none;background:transparent;box-shadow:none;overflow:visible;isolation:isolate}
.signature-title .bean-word:before{content:'';position:absolute;inset:0;z-index:-2;background:var(--yellow);border-radius:45% 53% 42% 47%;box-shadow:0 3px 0 #e3aa1e;transform:rotate(-5deg);animation:bean-title-bob 5.6s ease-in-out infinite}
.signature-title .bean-word:after{inset:0;z-index:-1;border-radius:45%;background:radial-gradient(ellipse at 20% 20%,#fff8d799,transparent 65%);transform:none;animation:badge-glow 5s ease-in-out infinite}
@keyframes badge-glow{0%,100%{opacity:.2}50%{opacity:.75}}
