@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fredoka:wght@500;600&display=swap');
:root{--bg:#141414;--gold:#F2541B;--yolk:#FFB703;--cream:#FFF4E1;--paper:#FFF9F0;--muted:#B9AF9D;--line:#3a302b;--h:'Fredoka','Arial Rounded MT Bold','Nunito',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:var(--bg);color:var(--cream);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}.wrap{max-width:1320px;margin-inline:auto;padding-inline:6%}a{color:inherit}.skip-link{position:absolute;top:10px;left:10px;z-index:10;transform:translateY(-150%);background:var(--gold);color:#fff;padding:12px}.skip-link:focus{transform:none}
.header{display:flex;justify-content:space-between;align-items:center;padding-top:21px;padding-bottom:21px;position:relative}.header::after{content:'';position:absolute;bottom:0;left:6%;right:6%;height:1px;background:var(--line)}.brand{display:block;width:227px;flex-shrink:0}.brand img{width:100%;height:auto;display:block}.header nav{display:flex;gap:32px}.header nav a{font-size:12px;text-decoration:none;display:flex;gap:14px;align-items:center}.header nav a span{color:var(--gold);font-size:21px}
.hero{display:grid;grid-template-columns:1.03fr 1fr;align-items:center;min-height:690px;gap:12px;padding-top:45px;padding-bottom:55px;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:600;line-height:1.5;margin:0 0 25px}.hero .eyebrow{display:flex;align-items:center;gap:12px}.tiny-star{font-size:23px;color:var(--yolk);line-height:1}h1,h2,h3{font-family:var(--h)}h1{font-size:clamp(72px,8.1vw,116px);font-weight:500;line-height:.95;text-transform:uppercase;letter-spacing:.02em;margin:0 0 32px}h1>span{color:var(--gold)}.intro{font-size:22px;line-height:1.5;max-width:420px;color:#bcb9af;margin:0 0 33px}.intro strong{color:var(--cream);font-weight:700}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:45px;background:var(--gold);color:#fff;padding:18px 28px;border-radius:999px;text-decoration:none;font-size:15px;font-weight:700;border:1px solid var(--gold);transition:background .18s,transform .18s}.button:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(242,84,27,.35)}.button span{font-size:21px;line-height:1}.hero-details{display:flex;gap:0;margin-top:24px;color:var(--muted);font-size:10px}.hero-details span+span::before{content:'·';color:var(--gold);margin:0 14px}
.hero-art{position:relative;isolation:isolate;width:100%;max-width:620px;margin:auto}.orbit{position:absolute;z-index:-1;left:10%;top:-4%;width:80%;aspect-ratio:1;border:1px solid #4a2418;border-radius:50%;background:radial-gradient(circle,#2a140c 0,transparent 66%)}.orbit::before{content:'';position:absolute;inset:17px;border:1px dashed #3d2218;border-radius:50%}.machine{width:100%;display:block;transform:rotate(-3deg)}.time-badge{position:absolute;right:-2%;top:4%;width:101px;height:101px;border-radius:50%;background:var(--yolk);color:var(--bg);display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(10deg);z-index:2;outline:1px solid var(--yolk);outline-offset:5px}.time-badge strong{font:600 40px/.9 var(--h)}.time-badge strong span{font-size:22px;margin-left:3px}.time-badge>span{font-size:8px;text-transform:uppercase;letter-spacing:1.5px;margin-top:7px;font-weight:700}.art-caption{display:block;text-align:center;font-size:10px;letter-spacing:.5px;color:var(--muted);margin-top:2px}
.ticker{display:flex;justify-content:space-around;align-items:center;gap:35px;white-space:nowrap;overflow:hidden;background:var(--gold);color:var(--bg);padding:17px 25px;font-family:var(--h);font-size:26px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase}.ticker span:nth-child(even){font:20px Arial,sans-serif}
.how{padding-top:95px;padding-bottom:105px;display:grid;grid-template-columns:1fr 1.5fr;gap:65px}.section-heading .eyebrow{color:var(--gold);margin-bottom:21px}h2{font-size:clamp(40px,4.4vw,62px);line-height:1.05;text-transform:uppercase;font-weight:500;letter-spacing:.02em;margin:0 0 25px}.section-heading>p:last-child{font-size:16px;line-height:1.6;color:var(--muted)}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.steps li{border-top:1px solid var(--line);padding-top:15px}.step-number{display:block;font-size:10px;letter-spacing:1px;color:var(--muted)}.steps svg{display:block;width:66px;height:66px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin:25px 0 22px}.steps h3{font-size:28px;font-weight:500;line-height:1.15;letter-spacing:.04em;text-transform:uppercase;margin:0 0 15px}.steps p{font-size:16px;line-height:1.6;color:var(--muted);margin:0;max-width:220px}
.lunch-break{background:var(--paper);color:var(--bg);padding:70px 0}.lunch-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}.lunch-break .eyebrow{margin-bottom:18px;color:#C2410C}.lunch-break h2{margin:0;font-size:clamp(44px,5vw,72px)}.lunch-break h2 em{font-style:normal;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:7px;text-decoration-thickness:3px}.lunch-copy>p{font-size:19px;line-height:1.6;max-width:300px;margin:0 0 15px}.lunch-copy>p:nth-child(2){font-weight:700;font-size:19px}.text-link{display:inline-flex;gap:60px;font-size:14px;text-decoration:none;border-bottom:2px solid var(--gold);padding:15px 0 10px;margin-top:7px}.text-link span{font-size:19px}
footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:30px;padding-bottom:30px}.footer-brand{width:170px}footer p{font-size:10px;color:var(--muted)}a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.lunch-break a:focus-visible{outline-color:var(--bg)}
@media(min-width:1441px){.wrap{padding-inline:70px}.header::after{left:70px;right:70px}}
@media(max-width:1020px){.hero{min-height:590px;padding-top:38px;padding-bottom:50px}h1{font-size:clamp(54px,8.4vw,88px)}.intro{font-size:19px;max-width:360px}.time-badge{width:82px;height:82px;right:0;top:2%}.time-badge strong{font-size:34px}.time-badge strong span{font-size:19px}.time-badge>span{font-size:7px}.how{grid-template-columns:1fr;gap:35px;padding-top:70px;padding-bottom:75px}.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:50px;align-items:end}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{margin:0}.section-heading>p:last-child{margin:0 0 4px}.steps{gap:32px}.steps p{font-size:15px;max-width:230px}.lunch-inner{gap:45px}.lunch-copy>p{font-size:17px}.ticker{font-size:23px}}
@media(max-width:650px){.wrap{padding-inline:7%}.header{padding-top:15px;padding-bottom:15px}.header::after{left:7%;right:7%}.brand{width:165px}.header nav a{font-size:10px;gap:12px}.header nav a span{font-size:17px}.hero{grid-template-columns:1fr;padding-top:44px;padding-bottom:42px;gap:20px}.hero-copy{text-align:center}.hero .eyebrow{justify-content:center;font-size:11px;letter-spacing:1.5px;margin-bottom:26px}h1{font-size:clamp(40px,11.6vw,76px);white-space:nowrap;letter-spacing:.01em;margin-bottom:24px}.intro{margin:0 auto 28px;max-width:350px;font-size:19px}.button{padding:17px 20px;gap:50px}.hero-details{justify-content:center;margin-top:22px}.hero-art{max-width:460px;padding:0 5px}.time-badge{right:3%;top:5%;height:75px;width:75px;outline-offset:4px}.time-badge strong{font-size:30px}.time-badge strong span{font-size:17px}.time-badge>span{font-size:6px}.art-caption{font-size:9px;margin-top:8px}.ticker{justify-content:center;gap:25px;padding-block:15px;font-size:19px}.ticker span:nth-child(n+6){display:none}.section-heading{display:block}.how{padding-top:58px;padding-bottom:60px;gap:30px}.section-heading .eyebrow{font-size:11px;margin-bottom:17px}.section-heading h2{font-size:46px;margin-bottom:20px}.section-heading>p:last-child{font-size:15px}.steps{grid-template-columns:1fr;gap:0}.steps li{display:grid;grid-template-columns:58px 1fr;column-gap:22px;position:relative;padding:26px 0}.step-number{position:absolute;right:0;top:14px;font-size:8px}.steps svg{grid-row:1/3;width:58px;height:58px;margin:8px 0 0}.steps h3{font-size:28px;margin:4px 0 10px;padding-right:25px}.steps p{font-size:15px;max-width:none}.lunch-break{padding:53px 0 57px}.lunch-inner{grid-template-columns:1fr;gap:30px}.lunch-break .eyebrow{font-size:11px}.lunch-break h2{font-size:46px}.lunch-copy>p{max-width:310px;font-size:17px}.text-link{margin-top:0}footer{padding-top:24px;padding-bottom:24px;gap:20px}.footer-brand{width:145px}footer p:nth-child(2){display:none}footer p{font-size:9px}}


/* Franchise teaser */
.franchise{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:end;padding-top:95px;padding-bottom:95px}.franchise .eyebrow{color:var(--yolk);margin-bottom:21px}.franchise h2{margin:0}.franchise-copy p{font-size:17px;line-height:1.6;color:var(--muted);max-width:440px;margin:0 0 28px}
@media(max-width:650px){.franchise{grid-template-columns:1fr;gap:24px;padding-top:58px;padding-bottom:60px}.franchise h2{font-size:46px}.header nav{gap:16px}}

/* Franchise page */
.header nav a[aria-current] span{color:var(--yolk)}
.time-badge.soon strong{font-size:28px}
.process{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start}
.process h2{margin:0;font-size:clamp(44px,5vw,72px)}
.process h2 em{font-style:normal;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:7px;text-decoration-thickness:3px}
.process-steps{list-style:none;margin:0;padding:0}
.process-steps li{border-top:1px solid #e3d6c3;padding:18px 0;font-size:17px;line-height:1.6}
.process-steps b{display:block;font:500 22px/1.2 var(--h);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.fr-form{align-items:start}
.fr-form .section-heading{position:sticky;top:30px}
.note{border-top:1px solid var(--line);padding-top:18px;margin-top:26px}
.note h3{font-size:18px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px}
.note p{font-size:15px;line-height:1.6;color:var(--muted);margin:0}
.waitlist{display:flex;flex-direction:column;gap:44px}
.waitlist fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:20px;min-width:0}
.waitlist>fieldset>legend{font:500 25px/1.1 var(--h);text-transform:uppercase;letter-spacing:.04em;padding:0 0 16px;margin-bottom:6px;width:100%;border-bottom:1px solid var(--line)}
.waitlist>fieldset>legend .step-number{margin-bottom:8px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0;border:0;margin:0;padding:0}
.field>label,.field>legend.lbl{font-size:15px;font-weight:600;padding:0;margin:0 0 8px}
.opt{font-weight:400;color:var(--muted)}
.hint{font-size:13px;color:var(--muted);margin:0}
.waitlist input[type=text],.waitlist input[type=email],.waitlist input[type=tel],.waitlist select,.waitlist textarea{width:100%;font:16px 'DM Sans',Arial,sans-serif;color:var(--cream);background:#1d1a18;border:1px solid var(--line);border-radius:10px;padding:14px 15px;transition:border-color .15s,box-shadow .15s}
.waitlist ::placeholder{color:#7d746a}
.waitlist select{appearance:none;-webkit-appearance:none;padding-right:44px;background:#1d1a18 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23F2541B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 15px center/18px no-repeat}
.waitlist select option{background:#1d1a18;color:var(--cream)}
.waitlist textarea{min-height:120px;resize:vertical}
.waitlist input:focus,.waitlist select:focus,.waitlist textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(242,84,27,.25)}
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px}
.choice{display:flex;align-items:flex-start;gap:12px;padding:14px 15px;border:1px solid var(--line);border-radius:10px;background:#1d1a18;cursor:pointer;font-size:15px;line-height:1.4;transition:border-color .15s,background .15s}
.choice:hover{border-color:#6b3a28}
.choice input{margin:1px 0 0;width:18px;height:18px;flex:none;accent-color:var(--gold)}
.choice:has(input:checked){border-color:var(--gold);background:#2a1610}
.choice small{display:block;color:var(--muted);font-size:13px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55;color:var(--muted);cursor:pointer}
.consent input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--gold)}
.err{font-size:13px;color:#ff8a65;font-weight:600;margin:0}
.invalid input:not([type=checkbox]):not([type=radio]),.invalid select,.invalid .choice{border-color:#ff8a65}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.submit-row{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.waitlist .button{border:0;cursor:pointer;font-family:inherit}
.waitlist .button[disabled]{opacity:.6;cursor:wait;transform:none;box-shadow:none}
.form-status{margin:0;font-size:15px;font-weight:600}
.form-status.bad{color:#ff8a65}
.success{display:flex;flex-direction:column;align-items:flex-start;gap:14px;border-top:1px solid var(--line);padding-top:30px}
.success:focus{outline:none}
.success img{width:72px;height:72px;padding:14px;border-radius:50%;background:var(--yolk)}
.success h3{font-size:40px!important;font-weight:500;text-transform:uppercase;letter-spacing:.02em!important;margin:0}
.success p{color:var(--muted);font-size:17px;line-height:1.6;max-width:46ch;margin:0}
.legal{padding-top:20px;padding-bottom:70px;border-top:1px solid var(--line)}
.legal h2{font-size:22px;letter-spacing:.06em;margin:40px 0 16px}
.legal p{font-size:13px;line-height:1.7;color:var(--muted);max-width:100ch;margin:0 0 12px}
@media(max-width:1020px){.process{grid-template-columns:1fr;gap:30px}.fr-form .section-heading{position:static}}
@media(max-width:650px){.time-badge.soon strong{font-size:21px}.process h2{font-size:46px}.row{grid-template-columns:1fr}.waitlist{gap:36px}.waitlist>fieldset>legend{font-size:22px}}

/* ===== Light theme (home page, body.theme-light). Franchise page stays dark. ===== */
:root{--ink:#141414;--burnt:#C2410C;--shoyu:#3C0C03;--nori:#1E4D3B;--grey:#6B655C;--line-light:#E8DFD0;--scallion:#8DC63F;--shadow:0 10px 36px rgba(242,84,27,.14)}
.theme-light{background:var(--paper);color:var(--ink);line-height:1.55}
.theme-light .accent{color:var(--gold)}
.theme-light .eyebrow{color:var(--burnt)}
.theme-light .button{font-family:'DM Sans',Arial,sans-serif}
.theme-light .button.ink{background:var(--ink);border-color:var(--ink)}
.theme-light .button.ink:hover{box-shadow:0 12px 24px rgba(20,20,20,.25)}
.theme-light .button.small{padding:11px 20px;font-size:14px;gap:0}
.theme-light .skip-link{color:#fff}

/* header: frosted pill, burger menu (uses .bar / .links / .burger from site.js) */
.theme-light .header{position:sticky;top:12px;z-index:50;margin:12px auto 0;width:calc(100% - 24px);max-width:1280px;padding:10px 12px 10px 22px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.5));-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.9)}
.theme-light .header::after{display:none}
.theme-light .brand{width:150px}
.theme-light .header .bar{display:flex;align-items:center;gap:10px;flex:1;justify-content:space-between;margin-left:24px}
.theme-light .header .links{display:flex;gap:2px;margin:0 auto}
.theme-light .header .links a{display:block;padding:9px 14px;border-radius:999px;font-size:15px;font-weight:500;text-decoration:none;color:var(--ink);transition:background .2s}
.theme-light .header .links a:hover{background:rgba(242,84,27,.12)}
.theme-light .header .bar a.button{display:inline-flex;color:#fff;font-size:14px;padding:11px 20px;gap:0;flex:none}
.theme-light .burger{display:none;flex:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--ink);cursor:pointer;position:relative}
.theme-light .burger span,.theme-light .burger span::before,.theme-light .burger span::after{position:absolute;left:12px;width:20px;height:2px;border-radius:2px;background:#fff;transition:transform .2s,background .2s}
.theme-light .burger span{top:21px}
.theme-light .burger span::before,.theme-light .burger span::after{content:'';left:0}
.theme-light .burger span::before{top:-6px}
.theme-light .burger span::after{top:6px}
.theme-light .burger[aria-expanded=true] span{background:transparent}
.theme-light .burger[aria-expanded=true] span::before{transform:translateY(6px) rotate(45deg)}
.theme-light .burger[aria-expanded=true] span::after{transform:translateY(-6px) rotate(-45deg)}
@media(max-width:980px){
  .theme-light .header .bar{margin-left:0;justify-content:flex-end}
  .theme-light .burger{display:block}
  .theme-light .header .links{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;flex-direction:column;gap:2px;margin:0;padding:12px;background:#fff;border-radius:24px;box-shadow:var(--shadow)}
  .theme-light .header .bar.open .links{display:flex}
  .theme-light .header .links a{padding:14px 18px;font-size:17px;border-radius:14px}
}
@media(max-width:420px){.theme-light .header{padding-left:16px}.theme-light .brand{width:118px}.theme-light .header .bar a.button{padding:10px 14px;font-size:13px}}
@media(max-width:360px){.theme-light .header{padding-left:12px}.theme-light .brand{width:92px}.theme-light .header .bar{gap:6px}.theme-light .header .bar a.button{padding:10px 10px;font-size:12px}.theme-light .burger{width:40px;height:40px}.theme-light .burger span,.theme-light .burger span::before,.theme-light .burger span::after{left:10px}.theme-light .burger span{top:19px}.theme-light .burger span::before,.theme-light .burger span::after{left:0}}

/* hero */
.theme-light .hero{min-height:0;overflow:visible;padding-top:56px;padding-bottom:36px;gap:40px}
.theme-light h1{font-size:clamp(46px,7vw,92px);line-height:1.02}
.theme-light .intro{color:#2a2622;max-width:520px;font-size:20px}
.theme-light .intro strong{color:var(--ink)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.theme-light .hero-actions .button{gap:28px}
.hero-photo{margin:0;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:1}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.theme-light .hero-art{max-width:none}
.stats-wrap{padding-bottom:24px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-radius:10px 40px 10px 10px;box-shadow:var(--shadow)}
.stat{padding:26px 28px}
.stat .fig{display:block;font:500 clamp(36px,5vw,64px)/1 var(--h);color:var(--gold)}
.stat span{display:block;margin-top:6px;color:var(--grey);font-size:16px}

/* shared section bits */
.theme-light .band{background:#fff}
.theme-light .section-heading .eyebrow{color:var(--burnt)}
.theme-light .section-heading>p:last-child{color:#2a2622;font-size:18px;max-width:60ch}
.sample-tag{display:inline-block;margin-left:10px;background:var(--yolk);color:var(--ink);font:500 12px/1 var(--h);letter-spacing:.12em;padding:7px 12px;border-radius:999px;vertical-align:middle}

/* how it works: four steps + stall render */
.theme-light .how.how-wide{grid-template-columns:1fr;gap:40px}
.theme-light .steps.four{grid-template-columns:repeat(4,1fr)}
.theme-light .steps li{border-top-color:var(--line-light)}
.theme-light .step-number{color:var(--grey)}
.theme-light .steps p{color:#2a2622;max-width:none}
.theme-light .steps h3{font-size:26px}
.buildout{margin:8px 0 0;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);background:#444b55}
.buildout img{display:block;width:100%;height:auto}
@media(max-width:1020px){.theme-light .steps.four{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.theme-light .steps.four{grid-template-columns:1fr}.theme-light .steps h3{font-size:26px}}

/* menu */
.menu{padding-top:90px;padding-bottom:90px}
.menu-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:36px 0 20px}
.menu-photos img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:10px;box-shadow:var(--shadow);display:block}
.menu-photos img.low{object-position:50% 78%}
.bowls{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.bowl{display:flex;flex-direction:column;gap:10px;background:#fff;border-radius:10px;box-shadow:var(--shadow);padding:26px}
.bowl-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.bowl h3{font-size:24px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin:0}
.price{font:600 24px var(--h);color:var(--gold);white-space:nowrap}
.bowl p{font-size:16px;color:#2a2622;margin:0}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.tag{font-size:13px;line-height:1;padding:7px 12px;border-radius:999px;background:var(--cream);color:var(--ink)}
.tag.hot{background:var(--gold);color:#fff}
.tag.green{background:var(--nori);color:var(--cream)}
.menu-lists{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-top:20px}
.panel{border-radius:10px;padding:28px;box-shadow:var(--shadow)}
.panel.dark{background:var(--ink);color:var(--cream)}
.panel.yolk{background:var(--yolk);color:var(--ink)}
.panel h3{font-size:19px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}
.panel.dark h3{color:var(--yolk)}
.panel.yolk h3{color:var(--shoyu)}
.panel ul{list-style:none;margin:0;padding:0}
.panel li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(255,244,225,.16);font-size:17px}
.panel.yolk li{border-top-color:rgba(20,20,20,.18)}
.panel li:first-child{border-top:0}
.panel li b{font:600 18px var(--h);white-space:nowrap}
@media(max-width:760px){.menu-photos,.bowls,.menu-lists{grid-template-columns:1fr}.menu{padding-top:60px;padding-bottom:60px}}

/* machines */
.theme-light .machines{padding-top:90px;padding-bottom:90px}
.machine-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
.machine-card{background:var(--paper);border-radius:10px;overflow:hidden}
.machine-card img{display:block;width:100%;height:380px;object-fit:contain;background:linear-gradient(180deg,#e9edf1,#cfd6dd)}
.machine-info{padding:24px}
.machine-info h3{font-size:22px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px}
.machine-info p{font-size:16px;color:#2a2622;margin:0}
.specs{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.specs span{background:#fff;border-radius:999px;padding:7px 13px;font-size:14px;box-shadow:0 2px 8px rgba(242,84,27,.1)}
@media(max-width:760px){.machine-grid{grid-template-columns:1fr}.machine-card img{height:300px}.theme-light .machines{padding-top:60px;padding-bottom:60px}}

/* find a stall */
.stalls{padding-top:90px;padding-bottom:90px}
.stall-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
.stall{background:#fff;border-radius:10px;box-shadow:var(--shadow);padding:28px}
.stall h3{font-size:24px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin:0 0 6px}
.stall p{margin:0;color:#2a2622}
.stall .status{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;margin-bottom:12px;color:var(--ink)}
.dot{width:10px;height:10px;border-radius:50%;background:var(--scallion);display:inline-block}
.dot.soon{background:var(--yolk)}
.stall dl{display:grid;grid-template-columns:90px 1fr;gap:6px 12px;font-size:16px;margin:14px 0 0}
.stall dt{color:var(--grey)}
.stall dd{margin:0}
@media(max-width:760px){.stall-grid{grid-template-columns:1fr}.stalls{padding-top:60px;padding-bottom:60px}}

/* about */
.about{background:var(--bg);color:var(--cream);padding:90px 0}
.about-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.theme-light .about .eyebrow{color:var(--yolk)}
.about-logo{display:block;width:100%;height:auto;margin-bottom:28px}
.about h2{margin-bottom:16px}
.about-copy p:not(.eyebrow){font-size:18px;max-width:58ch;margin:16px 0 0}
.rule{height:8px;border-radius:999px;background:linear-gradient(90deg,#FFB703,#FF9A1A 50%,#F2541B);margin-top:28px}
.attrs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.attr{border-radius:10px;padding:20px;background:rgba(255,244,225,.07)}
.attr.wide{grid-column:1/-1}
.attr h3{font-size:17px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--yolk);margin:0 0 6px}
.attr p{font-size:15px;margin:0;color:var(--cream)}
@media(max-width:820px){.about-inner{grid-template-columns:1fr;gap:32px}.about{padding:60px 0}}

/* franchise teaser on light */
.theme-light .franchise .eyebrow{color:var(--burnt)}
.theme-light .franchise-copy p{color:#2a2622}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;padding-top:90px;padding-bottom:90px}
.who{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px}
.who li{background:#fff;border-radius:10px;padding:16px 20px;box-shadow:var(--shadow);font-size:16px}
.who b{display:block;font:500 15px var(--h);letter-spacing:.1em;text-transform:uppercase;color:var(--burnt);margin-bottom:2px}
.contact-form{display:flex;flex-direction:column;gap:16px;background:#fff;border-radius:10px;box-shadow:var(--shadow);padding:28px}
.contact-form .field>label{font-size:14px;font-weight:600;margin:0}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;font:16px 'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);border:1px solid var(--line-light);border-radius:10px;padding:13px 16px}
.contact-form textarea{min-height:120px;resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.contact-form .button{border:0;cursor:pointer;font-family:inherit;justify-content:center;gap:12px}
@media(max-width:820px){.contact{grid-template-columns:1fr;gap:32px;padding-top:60px;padding-bottom:60px}}

/* footer */
.theme-light footer{display:block;background:var(--shoyu);color:var(--cream);padding:44px 0 26px}
.theme-light .footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.theme-light .footer-brand{width:200px}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.footer-links a{font-size:15px;text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.theme-light footer .footer-note{display:block;margin-top:28px;font-size:13px;line-height:1.5;color:var(--cream);opacity:.7}
.theme-light a:focus-visible{outline-color:var(--gold)}

/* alignment and sizing fixes */
.theme-light main .wrap,.theme-light footer .wrap{max-width:1236px;width:calc(100% - 48px);padding-inline:0}
.theme-light h1{font-size:clamp(46px,6vw,80px)}
@media(max-width:650px){
  .theme-light h1{font-size:clamp(40px,11.6vw,76px)}
  .stat{padding:18px 10px;min-width:0}
  .stat .fig{font-size:clamp(22px,7.4vw,32px)}
  .stat span{font-size:13px}
}
.theme-light h2{font-size:clamp(34px,4.2vw,54px)}
.about-logo{max-width:560px}
@media(max-width:650px){.theme-light .section-heading h2,.theme-light .about h2,.theme-light .franchise h2{font-size:34px}}

/* ===== Franchise page on the light theme ===== */
html:has(body.theme-light){scroll-padding-top:100px}
.theme-light .header .links a[aria-current]{background:rgba(242,84,27,.12);color:var(--burnt)}
.hero-photo.wide{aspect-ratio:16/10}
.theme-light .time-badge{z-index:2;right:-1%;top:-4%}
.theme-light .art-caption{color:var(--grey);font-size:12px;margin-top:10px}
.theme-light .hero-art{position:relative}
.theme-light .lunch-break{background:#fff}
.theme-light .lunch-break .eyebrow{color:var(--burnt)}
.theme-light .process-steps li{border-top-color:var(--line-light)}
.theme-light .process-steps li{color:#2a2622}
.theme-light .process-steps b{color:var(--ink)}
.theme-light .fr-form .section-heading{top:100px}
.theme-light .note{border-top-color:var(--line-light)}
.theme-light .note p{color:var(--grey)}
.theme-light .waitlist{background:#fff;border-radius:10px;box-shadow:var(--shadow);padding:32px}
.theme-light .waitlist>fieldset>legend{border-bottom-color:var(--line-light)}
.theme-light .opt,.theme-light .hint{color:var(--grey)}
.theme-light .waitlist input[type=text],.theme-light .waitlist input[type=email],.theme-light .waitlist input[type=tel],.theme-light .waitlist select,.theme-light .waitlist textarea{color:var(--ink);background-color:var(--paper);border-color:var(--line-light)}
.theme-light .waitlist select option{background:#fff;color:var(--ink)}
.theme-light .waitlist ::placeholder{color:#8f877b}
.theme-light .waitlist input:focus,.theme-light .waitlist select:focus,.theme-light .waitlist textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(242,84,27,.2)}
.theme-light .choice{background:var(--paper);border-color:var(--line-light);color:var(--ink)}
.theme-light .choice:hover{border-color:#f0a98f}
.theme-light .choice:has(input:checked){border-color:var(--gold);background:#FFEFE6}
.theme-light .choice small,.theme-light .consent{color:var(--grey)}
.theme-light .err,.theme-light .form-status.bad{color:#B42318}
.theme-light .invalid input:not([type=checkbox]):not([type=radio]),.theme-light .invalid select,.theme-light .invalid .choice{border-color:#B42318}
.theme-light .success{border-top-color:var(--line-light);color:var(--ink)}
.theme-light .success p{color:var(--grey)}
.theme-light .legal{border-top-color:var(--line-light)}
.theme-light .legal p{color:var(--grey)}
.theme-light .waitlist .button{border:0}
@media(max-width:650px){.theme-light .waitlist{padding:22px 18px}.theme-light .time-badge{right:2%;top:-6%}}
.theme-light .legal h2{font-size:22px;letter-spacing:.06em;margin:40px 0 16px}
@media(max-width:650px){.theme-light .waitlist legend .step-number{position:static;display:block;margin-bottom:6px;font-size:10px}}

/* hero scene (parallax) */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.theme-light .hero{position:relative;display:block;max-width:1920px;margin:-88px auto 0;padding:0;gap:0;overflow:hidden;min-height:clamp(640px,56.25vw,1000px);isolation:isolate}
.hero-scene{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#FFF4E1}
.hero-scene::before,.hero-scene::after{content:"";position:absolute;left:0;right:0;z-index:3;pointer-events:none}
.hero-scene::before{top:0;height:16%;background:linear-gradient(var(--paper),rgba(255,249,240,0))}
.hero-scene::after{bottom:0;height:22%;background:linear-gradient(rgba(255,255,255,0),#fff)}
.hero-scene .layer{position:absolute;display:block;max-width:none;will-change:transform;transform:translate3d(var(--tx,0px),var(--ty,0px),0)}
.layer-bg{inset:-3%;width:106%;height:106%;object-fit:cover}
.hero-stage{position:absolute;top:22%;left:39.6%;width:62%;aspect-ratio:2048/1152}
.hero-stage .layer{left:0;top:0;width:100%;height:100%}
.theme-light .hero-inner{position:relative;z-index:2;display:flex;align-items:center;min-height:inherit;padding-top:88px;padding-bottom:40px}
.theme-light .hero-copy{max-width:min(520px,38%);text-align:left}
.theme-light .hero .intro{font-size:clamp(17px,1.3vw,21px)}
@media(max-width:1020px){
  .theme-light .hero{min-height:0;display:flex;flex-direction:column;margin-top:-88px}
  .hero-scene{position:relative;inset:auto;order:2;width:100%;aspect-ratio:3/2;z-index:0}.hero-scene::after{height:8%}
  .hero-stage{left:-6%;width:112%;top:0}
  .theme-light .hero-inner{order:1;min-height:0;padding-top:112px;padding-bottom:12px}
  .theme-light .hero-copy{max-width:none;text-align:center}
  .theme-light .hero-actions{justify-content:center}
  .theme-light .hero .intro{margin-inline:auto}
}

.theme-light main .hero-inner.wrap{max-width:none;width:100%;margin:0;padding-inline:max(24px,5.5vw)}
.theme-light .hero-copy{max-width:min(560px,32vw)}
.theme-light .hero h1{font-size:clamp(44px,5.6vw,100px)}
@media(max-width:1020px){.theme-light main .hero-inner.wrap{padding-inline:7%}.theme-light .hero-copy{max-width:none;text-align:center}.theme-light .hero h1{font-size:clamp(46px,9vw,84px)}.theme-light .hero .intro{max-width:520px}}
@media(max-width:1020px){.theme-light .hero .eyebrow{justify-content:center;text-align:center}}
@media(min-width:601px) and (max-width:1020px){.hero-scene{aspect-ratio:16/9}.hero-stage{left:6%;width:88%;top:2%}.theme-light .hero-inner{padding-top:120px}}
@media(max-width:1020px){.theme-light .hero-inner{justify-content:center}.theme-light .hero-copy{width:100%}}

.theme-light .stats-wrap{background:#fff;box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax)}
@media(min-width:1021px){
  .theme-light .hero{max-width:none;aspect-ratio:16/9;min-height:560px}
  .theme-light .hero-copy{max-width:none}
  .theme-light .hero h1{white-space:nowrap}
  .theme-light .hero .intro{max-width:min(520px,29vw)}
}
@media(min-width:1021px){.theme-light .hero h1{font-size:clamp(44px,5vw,110px)}.theme-light main .hero-inner.wrap,.theme-light .hero-inner{padding-top:120px}}
@media(min-width:1021px){.theme-light .hero-inner,.theme-light main .hero-inner.wrap{position:absolute;inset:0;min-height:0;box-sizing:border-box;padding-top:10%;padding-bottom:9%;align-items:center}}

/* hero intro animation: layers drop in one by one, then the bowl, then steam */
.hero-stage .layer.layer-bowl{left:32.7%;top:7%;width:46.7%;height:103.9%;z-index:4}
.layer-bowl>img{position:absolute;inset:0;width:100%;height:100%;display:block}
.steam{position:absolute;left:4%;top:6%;width:56%;height:66%;pointer-events:none;opacity:0;animation:steamIn 1s ease-out 3.1s forwards}
.steam i{position:absolute;bottom:0;left:calc(var(--x,40%) - 15%);width:42%;aspect-ratio:1/1.4;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,.55) 55%,rgba(255,255,255,0));filter:blur(5px);opacity:0;animation:steamUp 3.8s ease-out infinite}
.steam i:nth-child(1){--x:30%;--dx:-14%;animation-delay:3.1s}
.steam i:nth-child(2){--x:55%;--dx:12%;animation-delay:3.7s}
.steam i:nth-child(3){--x:42%;--dx:-8%;animation-delay:4.3s}
.steam i:nth-child(4){--x:65%;--dx:16%;animation-delay:4.9s}
.steam i:nth-child(5){--x:22%;--dx:-18%;animation-delay:5.5s}
.steam i:nth-child(6){--x:48%;--dx:6%;animation-delay:6.1s}
@keyframes steamIn{to{opacity:1}}
@keyframes steamUp{0%{transform:translate(0,10%) scale(.5);opacity:0}20%{opacity:.95}100%{transform:translate(var(--dx),-190%) scale(1.8);opacity:0}}
@keyframes stallDrop{0%{translate:0 -62vh;opacity:0}12%{opacity:1}100%{translate:0 0;opacity:1}}
@keyframes bowlDrop{0%{translate:0 -70vh;opacity:0}10%{opacity:1}55%{translate:0 0}70%{translate:0 -2.2vh}85%{translate:0 0}92%{translate:0 -.6vh}100%{translate:0 0;opacity:1}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.hero-scene .layer-bg{animation:fadeIn .8s ease-out both}
.hero-stage .layer-wall{animation:stallDrop .9s cubic-bezier(.2,.9,.3,1.12) .2s both}
.hero-stage .layer-signs{animation:stallDrop .9s cubic-bezier(.2,.9,.3,1.12) 1s both}
.hero-stage .layer-front{animation:stallDrop .9s cubic-bezier(.2,.9,.3,1.12) 1.8s both}
.hero-stage .layer-bowl{animation:bowlDrop 1.1s cubic-bezier(.45,0,.9,.5) 2.6s both}
@media(max-width:1020px){.layer-bowl>img+.steam{left:8%}}


@media(max-width:1020px){.hero-scene{aspect-ratio:3/2}}
@media(max-width:600px){.hero-scene{aspect-ratio:5/4}}

/* how it works: one-line heading + dark stall image */
.theme-light #how-title{white-space:nowrap;font-size:clamp(22px,5.4vw,62px)}
@media(min-width:1021px){.theme-light #how-title{font-size:clamp(40px,4.4vw,62px)}}
.theme-light .buildout{background:#0f0f10}

/* tighter hero composition + one-line how-it-works intro */
@media(min-width:1021px){
  .hero-stage{left:37.5%}
  .theme-light main .hero-inner.wrap,.theme-light .hero-inner{padding-left:7.5vw}
  .theme-light .how-wide .section-heading>p:last-child{max-width:none;white-space:nowrap}
}
@media(min-width:1021px) and (max-width:1250px){.hero-stage{left:41%}.theme-light .hero .intro{max-width:30vw}}

/* hero: text and stall even closer */
@media(min-width:1251px){.hero-stage{left:35%}.theme-light main .hero-inner.wrap,.theme-light .hero-inner{padding-left:9vw}}
@media(min-width:1021px) and (max-width:1250px){.hero-stage{left:38%}.theme-light main .hero-inner.wrap,.theme-light .hero-inner{padding-left:8vw}}

/* franchise teaser: isometric hotspot map left, text right */
.theme-light .franchise{grid-template-columns:1.15fr 1fr;gap:48px;align-items:center;padding-top:70px;padding-bottom:70px}
.franchise-map{margin:0}
.franchise-map figcaption{font-size:12px;color:var(--grey);text-align:center;margin-top:6px}
.iso-city{display:block;width:100%;height:auto;overflow:visible}
.iso-city .ring{fill:none;stroke:#F2541B;stroke-width:2.5;opacity:0;transform-box:fill-box;transform-origin:center}
.iso-city .dot{fill:#F2541B;opacity:.28}
.iso-city.pre .pin-body,.iso-city.pre .dot{opacity:0}
.iso-city.play .pin-body{animation:pinRise .95s cubic-bezier(.2,1.35,.4,1) both;animation-delay:var(--d,0s)}
.iso-city.play .dot{animation:fadeIn .5s ease-out both;animation-delay:var(--d,0s)}
.iso-city.play .pin-float{animation:pinBob 2.8s ease-in-out infinite alternate;animation-delay:calc(var(--d,0s) + 1s)}
.iso-city.play .ring{animation:ringPulse 2.6s ease-out infinite;animation-delay:calc(var(--d,0s) + .9s)}
.iso-city .pin-1{--d:.15s}.iso-city .pin-2{--d:.65s}.iso-city .pin-3{--d:1.15s}.iso-city .pin-4{--d:1.65s}
@keyframes pinRise{0%{transform:translateY(46px) scale(.2);opacity:0}25%{opacity:1}100%{transform:none;opacity:1}}
@keyframes pinBob{from{transform:translateY(0)}to{transform:translateY(-5px)}}
@keyframes ringPulse{0%{transform:scale(.35);opacity:.65}100%{transform:scale(1.7);opacity:0}}
@media(max-width:820px){.theme-light .franchise{grid-template-columns:1fr;gap:20px;padding-top:50px;padding-bottom:50px}.franchise-map{order:2;max-width:560px;margin-inline:auto}}

.theme-light .franchise h2{margin-bottom:22px}
.map-stage{position:relative}
.map-img{display:block;width:100%;height:auto}
.map-stage .iso-city{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.iso-city .pin-body{filter:drop-shadow(0 3px 3px rgba(60,12,3,.35))}

/* bigger city block */
@media(min-width:821px){
  .theme-light .franchise{grid-template-columns:1.7fr 1fr;gap:12px;overflow:visible}
  .franchise-map{margin-left:-7%;margin-right:-2%}
  .theme-light .franchise h2{font-size:clamp(34px,3.6vw,54px)}
  .theme-light .franchise-body{padding-right:4px}
}
@media(max-width:820px){.franchise-map{width:112%;max-width:none;margin-inline:-6%}}
@media(min-width:821px){
  .franchise-map{margin-left:-3%;margin-right:0}
  .theme-light .franchise h2{font-size:clamp(28px,2.9vw,50px);white-space:nowrap}
}

.theme-light .social{display:flex;align-items:center;gap:10px}
.theme-light .social-icon{width:38px;height:38px;border-radius:50%;background:var(--orange,#F2541B);color:#fff;display:grid;place-items:center}
.theme-light .social-icon svg{width:20px;height:20px;fill:currentColor}
.theme-light .social-icon svg[stroke]{fill:none}
@media(max-width:820px){.theme-light .social{gap:8px}.theme-light .social-icon{width:34px;height:34px}}

.theme-light .social-icon{transition:transform .25s cubic-bezier(.3,1.6,.5,1),background .2s,box-shadow .25s}
.theme-light .social-icon:hover,.theme-light .social-icon:focus-visible{transform:translateY(-3px) scale(1.12);background:var(--yolk,#FFB703);color:#141414;box-shadow:0 8px 18px rgba(242,84,27,.35)}
.theme-light .social-icon:active{transform:scale(.96)}
.theme-light .social-icon:focus-visible{outline:2px solid #141414;outline-offset:2px}
/* first-view image reveal */
.js-reveal [data-reveal]{opacity:0;translate:0 36px;scale:.96;transition:opacity .9s ease,translate .9s cubic-bezier(.2,.8,.2,1),scale .9s cubic-bezier(.2,.8,.2,1)}
.js-reveal [data-reveal].in{opacity:1;translate:0 0;scale:1}

/* socials hover: match .button */
.theme-light .social-icon{transition:background .18s,transform .18s,box-shadow .18s}
.theme-light .social-icon:hover,.theme-light .social-icon:focus-visible{transform:translateY(-3px);background:var(--gold);color:#fff;box-shadow:0 12px 24px rgba(242,84,27,.35)}
.theme-light .social-icon:active{transform:translateY(-1px)}
/* stall softly blurs once the bowl has landed */
@keyframes stallBlur{to{filter:blur(5px)}}
.hero-stage .layer-wall{animation:stallDrop .9s cubic-bezier(.2,.9,.3,1.12) .2s both,stallBlur 1.2s ease 3.7s forwards}
.hero-stage .layer-signs{animation:stallDrop .9s cubic-bezier(.2,.9,.3,1.12) 1s both,stallBlur 1.2s ease 3.7s forwards}
.hero-stage .layer-front{animation:stallDrop .9s cubic-bezier(.2,.9,.3,1.12) 1.8s both,stallBlur 1.2s ease 3.7s forwards}
/* hero images are decoration: no right-click image menu, no dragging */
.hero-scene img{pointer-events:none;-webkit-user-drag:none;user-select:none}

/* bowl drops blurred, then comes into focus as the stall blurs */
@keyframes bowlFocus{0%,48%{filter:blur(10px)}100%{filter:blur(0)}}
.hero-stage .layer-bowl>img{animation:bowlFocus 2.3s ease 2.6s both}

/* franchise hero: undo the home hero scene rules */
.theme-light .hero.fr-hero{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:56px;aspect-ratio:auto;min-height:0;margin:0 auto;padding:48px 0 56px;overflow:visible;isolation:auto}
.theme-light .hero.fr-hero .hero-copy{max-width:none;width:auto;text-align:left}
.theme-light .hero.fr-hero .eyebrow{justify-content:flex-start;text-align:left}
.theme-light .hero.fr-hero h1{font-size:clamp(44px,5.4vw,84px);white-space:normal}
.theme-light .hero.fr-hero .intro{max-width:460px;margin-inline:0}
.theme-light .hero.fr-hero .hero-art{width:100%;max-width:none;margin:0}
.theme-light .hero.fr-hero .time-badge{right:-14px;top:-18px}
@media(max-width:900px){.theme-light .hero.fr-hero{grid-template-columns:1fr;gap:36px;padding:32px 0 44px}
.theme-light .hero.fr-hero .hero-art{padding:0}
.theme-light .hero.fr-hero .time-badge{right:6px;top:-22px}}
/* footer socials */
.theme-light footer .social{margin-top:18px;justify-content:flex-start}
.theme-light footer .social-icon{width:36px;height:36px}
.theme-light .footer-right{display:flex;align-items:center;gap:28px;flex-wrap:wrap;justify-content:flex-end}
.theme-light footer .footer-right .social{margin-top:0}
@media(max-width:650px){.theme-light .footer-right{justify-content:flex-start}}
/* franchise page round 3 */
.theme-light .hero.fr-hero{grid-template-columns:1fr 1.15fr;gap:48px;padding:88px 0 96px;min-height:clamp(560px,48vw,760px)}
.theme-light .hero.fr-hero .franchise-map{margin:0}
.theme-light .hero.fr-hero .time-badge{right:0;top:-6px}
.theme-light main .ticker.wrap{padding:17px 25px;border-radius:16px;overflow:hidden}
.theme-light .legal p{max-width:none}
.theme-light .footer-right{flex-direction:column-reverse;align-items:flex-end;gap:16px}
@media(max-width:900px){.theme-light .hero.fr-hero{grid-template-columns:1fr;gap:32px;padding:40px 0 56px;min-height:0}.theme-light .hero.fr-hero .time-badge{right:6px;top:-10px}}
@media(max-width:650px){.theme-light .footer-right{align-items:flex-start}}
.theme-light .hero.fr-hero .franchise-map{width:100%;max-width:none;margin:0}
/* how it works heading: stack and wrap below desktop */
@media(max-width:1020px){
  .theme-light .how-wide .section-heading{display:block}
  .theme-light #how-title{white-space:normal;font-size:clamp(32px,8.4vw,56px);margin-bottom:16px}
  .theme-light .how-wide .section-heading>p:last-child{white-space:normal;max-width:none}
}
@media(max-width:820px){.theme-light .franchise .franchise-map{width:100%;max-width:none;margin-inline:0}}
/* franchise hero: bigger map */
@media(min-width:901px){
.theme-light .hero.fr-hero{grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:16px;padding:64px 0 72px}
.theme-light .hero.fr-hero .franchise-map{width:112%;margin:-4% 0 -4% -6%}
.theme-light .hero.fr-hero h1{font-size:clamp(40px,4.4vw,72px)}
.theme-light .hero.fr-hero .time-badge{right:2%}
}
@media(min-width:901px){.theme-light .hero.fr-hero h1{font-size:clamp(34px,3.8vw,64px);white-space:nowrap}
.theme-light .hero.fr-hero .franchise-map{width:100%;margin:-3% 0 -3% 0}}
@media(min-width:1200px){.theme-light .hero.fr-hero .franchise-map{width:110%;margin:-4% 0 -4% -6%}}
@media(max-width:900px){
.theme-light .hero.fr-hero .hero-copy{text-align:center}
.theme-light .hero.fr-hero .eyebrow{justify-content:center;text-align:center}
.theme-light .hero.fr-hero .intro{margin-inline:auto}
}
/* franchise hero: city block drops in, then pins rise, then the badge pops */
@keyframes cityDrop{0%{translate:0 -55vh;opacity:0}55%{opacity:1}100%{translate:0 0;opacity:1}}
@keyframes cityFocus{0%,50%{filter:blur(8px)}100%{filter:blur(0)}}
@keyframes badgePop{0%{scale:0;opacity:0}70%{scale:1.12;opacity:1}100%{scale:1;opacity:1}}
.theme-light .hero.fr-hero .map-stage .map-img{animation:cityDrop 1.1s cubic-bezier(.2,.9,.3,1.12) .2s both,cityFocus 1.6s ease .2s both}
.theme-light .hero.fr-hero .iso-city .pin-1{--d:1.5s}
.theme-light .hero.fr-hero .iso-city .pin-2{--d:2s}
.theme-light .hero.fr-hero .iso-city .pin-3{--d:2.5s}
.theme-light .hero.fr-hero .iso-city .pin-4{--d:3s}
.theme-light .hero.fr-hero .time-badge{animation:badgePop .7s cubic-bezier(.3,1.4,.5,1) 3.4s both}

/* ticker: never cut text off on small screens (all four phrases, two per line) */
@media(max-width:650px){
.theme-light main .ticker.wrap{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;font-size:clamp(11px,3.3vw,17px);letter-spacing:.5px;padding:14px 12px;white-space:nowrap}
.theme-light .ticker span:nth-child(even){font-size:.85em}
.theme-light .ticker span:nth-child(4){flex:0 0 100%;height:0;overflow:hidden;visibility:hidden;margin:-3px 0}
.theme-light .ticker span:nth-child(6),.theme-light .ticker span:nth-child(7){display:block}
.theme-light .ticker span:nth-child(8){display:none}
}
@media(max-width:370px){
.theme-light main .ticker.wrap{flex-direction:column;gap:6px}
.theme-light .ticker span:nth-child(even){display:none}
}
