.hero-v11{background:var(--mosdoli-red);color:#fff;overflow:hidden;position:relative}.hero-grid{min-height:560px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:26px}.hero-copy{position:relative;z-index:2;padding:44px 0}.hero-copy h1{font-size:clamp(58px,8.2vw,112px);line-height:.82;letter-spacing:-.06em;margin:12px 0 22px;font-weight:950}.hero-copy h1 span{color:var(--mosdoli-yellow)}.hero-copy p{max-width:520px;font-size:18px;color:#fff;opacity:.94}.hero-actions{display:flex;gap:10px;margin-top:24px}.food-stage{position:relative;min-height:470px;display:grid;place-items:center}.stage-disc{position:absolute;width:min(43vw,430px);aspect-ratio:1;border-radius:50%;background:var(--mosdoli-yellow)}.stage-box{position:relative;width:min(90%,480px);filter:drop-shadow(0 24px 20px rgba(65,0,0,.2))}
.kairaba-feature{background:var(--mosdoli-red);color:#fff}.kairaba-feature-grid,.kairaba-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center}.kairaba-copy h2{font-size:clamp(50px,7vw,86px);line-height:.86;letter-spacing:-.055em;margin:10px 0 20px}.kairaba-copy p{max-width:520px;font-size:18px}.kairaba-brand-panel,.location-page-brand-panel,.location-brand-panel,.kairaba-launch-mark{min-height:300px;background:#9f1d23;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:12px}.kairaba-brand-panel img,.kairaba-launch-mark img{width:72px}.kairaba-brand-panel strong,.kairaba-launch-mark strong{font-size:60px;line-height:1;color:var(--mosdoli-yellow)}.kairaba-brand-panel span,.kairaba-launch-mark span{font-weight:800}
.location-row,.locations-page-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.location-row article,.location-page-card{border:1px solid #e6e2db;border-radius:12px;overflow:hidden;background:#fff}.location-row article>img,.location-page-card>img{width:100%;height:240px;object-fit:cover}.location-row article>.location-brand-panel{min-height:240px;border-radius:0}.location-row article>div:not(.location-brand-panel),.location-info{padding:20px}.location-row h3,.location-page-card h2{font-size:24px;margin:8px 0 5px}.location-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.location-actions a{display:inline-flex;min-height:44px;align-items:center;padding:0 14px;border:1px solid #d8d5d0;border-radius:7px;font-weight:800}.kairaba-hero{background:var(--mosdoli-red);color:#fff;padding:74px 0}.kairaba-hero p{max-width:570px;font-size:18px}.kairaba-feature-light{background:#f6f4ef}.kairaba-facts{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.kairaba-facts h2{font-size:clamp(42px,6vw,72px);line-height:.9;letter-spacing:-.05em;margin:8px 0}.kairaba-facts p{font-size:18px}.footer-tight{min-height:50px;align-items:center}
.footer-grid{display:grid;grid-template-columns:minmax(240px,1.6fr) .7fr .7fr;gap:44px;padding-bottom:26px}.footer-brand img{width:128px}.footer-brand p{margin:10px 0 0;color:#c9c9c9;font-size:13px}.footer h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#aaa;margin:0 0 10px}.footer-grid>div:not(.footer-brand) a{display:block;padding:5px 0;font-size:14px}.footer-bottom{border-top:1px solid #303030;padding-top:18px}
@media(max-width:760px){.hero-grid{min-height:auto;grid-template-columns:1fr;padding-top:8px}.hero-copy{padding:26px 0 0}.hero-copy h1{font-size:clamp(50px,14.8vw,60px);margin-bottom:16px}.hero-copy p{font-size:15px;max-width:350px}.hero-actions{margin-top:18px}.food-stage{min-height:238px;margin-bottom:8px}.stage-disc{width:220px}.stage-box{width:min(82%,280px)}.kairaba-feature-grid,.kairaba-hero-grid,.kairaba-facts,.locations-page-grid{grid-template-columns:1fr}.kairaba-feature-grid{gap:22px}.kairaba-brand-panel,.kairaba-launch-mark{min-height:178px}.kairaba-brand-panel strong,.kairaba-launch-mark strong{font-size:48px}.kairaba-copy h2{font-size:clamp(46px,14vw,62px)}.location-row{grid-template-columns:1fr;gap:10px}.location-row article{display:grid;grid-template-columns:116px minmax(0,1fr);min-height:142px}.location-row article>img{height:100%;min-height:142px}.location-row article>.location-brand-panel{min-height:142px;border-radius:0}.location-row article>.location-brand-panel img{width:48px}.location-row article>div:not(.location-brand-panel){padding:14px}.location-row h3{font-size:18px;margin:5px 0 3px}.location-row p{font-size:13px;margin:0}.location-actions{margin-top:10px}.location-actions a{min-height:44px;padding:0 10px;font-size:12px}.page-hero{padding:48px 0}.kairaba-hero{padding:54px 0 70px}.footer-grid{grid-template-columns:1fr 1fr;gap:24px 18px;padding-bottom:22px}.footer-brand{grid-column:1/-1}.footer-brand img{width:112px}.footer-bottom{font-size:12px}.home-page{padding-bottom:0}}
.footer-legal{display:inline-flex;gap:14px}.footer-legal a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.25);text-underline-offset:3px}.footer-tight .footer-legal{margin-left:auto}@media(max-width:760px){.location-actions a{min-height:44px}.footer-tight .footer-legal{margin-left:0}}

/* Production polish */
.hero-actions a:active,.location-actions a:active{filter:brightness(.95)}
/* Minimum touch targets on location actions */
@media(max-width:760px){.location-actions a{min-height:44px}}




/* V48 absolute home freeze: locked packaging hero + frictionless category routing */
.hero-v48{background:#f8f4eb;color:#171717;overflow:hidden;position:relative}
.hero-v48 .hero-grid{min-height:620px;grid-template-columns:.92fr 1.08fr;gap:38px}
.hero-v48 .hero-copy{padding:60px 0}
.hero-v48 .hero-copy h1{font-size:clamp(64px,8vw,112px);line-height:.82;letter-spacing:-.065em;margin:14px 0 26px;color:#111}
.hero-v48 .hero-copy h1 span{color:var(--mosdoli-red)}
.hero-v48 .hero-copy p{max-width:520px;font-size:19px;line-height:1.45;color:#2c2c2c;opacity:1}
.hero-v48 .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-v48 .hero-actions .button{min-height:54px;border-radius:999px;padding-inline:25px;gap:14px}
.hero-v48 .hero-secondary{background:#fff;border:1px solid #ded7ca;color:#171717;box-shadow:0 8px 24px rgba(17,17,17,.05)}
.hero-v48 .food-stage{min-height:540px;position:relative;display:grid;place-items:center}
.hero-v48 .stage-glow{position:absolute;width:min(44vw,520px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(189,35,41,.19) 0%,rgba(189,35,41,.07) 48%,rgba(189,35,41,0) 72%);filter:blur(1px)}
.hero-v48 .stage-box{position:relative;width:min(104%,620px);filter:drop-shadow(0 28px 26px rgba(62,24,10,.18));animation:hero-enter .55s cubic-bezier(.22,.8,.34,1) both}
@keyframes hero-enter{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
.hungry-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;flex-wrap:wrap}
.hungry-intro{margin:11px 0 0;max-width:570px;color:#5f5a53;font-size:15px;line-height:1.55}
.hungry-menu-link{min-height:48px;background:#fff;border:1px solid #d9d2c7;color:#171717;box-shadow:0 8px 22px rgba(17,17,17,.05)}
.hungry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.hungry-card{position:relative;display:block;overflow:hidden;border-radius:28px;min-height:330px;padding:27px;isolation:isolate;box-shadow:0 16px 40px rgba(17,17,17,.08);transition:transform .2s ease,box-shadow .2s ease}
.hungry-card:hover{transform:translateY(-3px);box-shadow:0 22px 52px rgba(17,17,17,.12)}
.hungry-card:focus-visible{outline:3px solid rgba(189,35,41,.34);outline-offset:4px}
.hungry-copy{position:relative;z-index:2;max-width:45%;height:100%;min-height:276px}
.hungry-chip{display:inline-flex;align-items:center;min-height:38px;padding:0 15px;border-radius:13px;background:#fff;color:#151515;font-size:13px;font-weight:900;letter-spacing:.025em}
.hungry-title{margin:22px 0 8px;font-size:clamp(36px,4vw,58px);line-height:.96;letter-spacing:-.045em;font-weight:950;color:#111}
.hungry-text{margin:0;max-width:250px;font-size:16px;line-height:1.42;color:#222}
.hungry-arrow{position:absolute;left:0;bottom:0;display:grid;place-items:center;width:56px;height:56px;border-radius:999px;background:#fff;color:#161616;font-size:29px;font-weight:800;box-shadow:0 8px 24px rgba(17,17,17,.1)}
.hungry-card img{position:absolute;right:0;bottom:0;max-width:none;object-fit:contain;filter:drop-shadow(0 14px 24px rgba(17,17,17,.15))}
.hungry-card.fried{background:linear-gradient(155deg,#ffdf22 0%,#f3ca13 100%)}
.hungry-card.fried img{width:59%;right:-2%;bottom:1%}
.hungry-card.burgers{background:linear-gradient(155deg,#ff941e 0%,#f87700 100%)}
.hungry-card.burgers .hungry-title,.hungry-card.burgers .hungry-text{color:#fff}
.hungry-card.burgers img{width:57%;right:-4%;bottom:-6%}
.hungry-card.breakfast{background:linear-gradient(155deg,#f7f2e8 0%,#eee6d8 100%)}
.hungry-card.breakfast img{width:55%;right:-1%;bottom:-4%}
.hungry-card.local{background:linear-gradient(155deg,#d21d25 0%,#ac1118 100%)}
.hungry-card.local .hungry-title,.hungry-card.local .hungry-text{color:#fff}
.hungry-card.local img{width:55%;right:-1%;bottom:-4%}
.hungry-card.value{background:linear-gradient(155deg,#dff3a2 0%,#cce67d 100%)}
.hungry-card.value img{width:58%;right:-3%;bottom:1%}
.hungry-card.family{background:linear-gradient(155deg,#f9dfe4 0%,#f4cad4 100%)}
.hungry-card.family img{width:54%;right:0;bottom:-2%}
@media(max-width:980px){
 .hero-v48 .hero-grid{grid-template-columns:1fr 1fr;gap:20px;min-height:560px}
 .hero-v48 .stage-box{width:min(106%,520px)}
 .hungry-grid{gap:14px}.hungry-card{min-height:294px;padding:22px;border-radius:22px}.hungry-copy{max-width:49%;min-height:250px}.hungry-chip{min-height:34px;padding:0 13px;font-size:12px}.hungry-title{font-size:clamp(29px,4.7vw,44px)}.hungry-text{font-size:14px}.hungry-arrow{width:50px;height:50px;font-size:26px}
}
@media(max-width:760px){
 .hero-v48 .hero-grid{min-height:auto;grid-template-columns:1fr;padding-top:10px;gap:0}
 .hero-v48 .hero-copy{padding:28px 0 4px}
 .hero-v48 .hero-copy h1{font-size:clamp(52px,15vw,66px);margin:12px 0 18px}
 .hero-v48 .hero-copy p{font-size:15px;max-width:360px}
 .hero-v48 .hero-actions{margin-top:20px}.hero-v48 .hero-actions .button{min-height:50px;padding-inline:20px}
 .hero-v48 .food-stage{min-height:300px;margin-bottom:8px}.hero-v48 .stage-glow{width:290px}.hero-v48 .stage-box{width:min(96%,390px)}
 .hungry-head{align-items:flex-start}.hungry-intro{font-size:14px;max-width:100%}.hungry-menu-link{width:100%;justify-content:center}
 .hungry-grid{grid-template-columns:1fr;gap:14px}.hungry-card{min-height:250px;padding:20px;border-radius:20px}.hungry-copy{max-width:49%;min-height:210px}.hungry-title{margin:18px 0 7px;font-size:40px}.hungry-text{font-size:14px;max-width:155px}.hungry-chip{min-height:34px;border-radius:12px}.hungry-arrow{width:46px;height:46px;font-size:24px}
 .hungry-card img{filter:drop-shadow(0 10px 18px rgba(17,17,17,.13))}.hungry-card.fried img{width:62%;right:-6%;bottom:1%}.hungry-card.burgers img{width:62%;right:-7%;bottom:-6%}.hungry-card.breakfast img{width:58%;right:-3%;bottom:-3%}.hungry-card.local img{width:58%;right:-3%;bottom:-3%}.hungry-card.value img{width:61%;right:-7%;bottom:3%}.hungry-card.family img{width:57%;right:-2%;bottom:-2%}
}
@media(max-width:360px){.hungry-title{font-size:36px}.hungry-card{min-height:238px}.hungry-copy{min-height:198px}.hero-v48 .hero-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.hero-v48 .stage-box{animation:none}.hungry-card{transition:none}.hungry-card:hover{transform:none}}


/* V50 Signature Home Assets — exact artwork, responsive and uncropped */
.signature-food-world{background:#fff}
.signature-food-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.signature-food-head p{margin:12px 0 0;max-width:520px;color:#5f5a53;font-size:16px}
.signature-menu-link{background:#fff;border:1px solid #ddd5ca;color:#171717;box-shadow:0 8px 22px rgba(17,17,17,.05)}
.signature-food-layout{margin-top:30px}
.signature-art-feature{display:block;aspect-ratio:1672/941}
.signature-art-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.signature-art-card{position:relative;display:block;overflow:hidden;border-radius:28px;background:#f7f5f1;box-shadow:0 14px 38px rgba(17,17,17,.075);transition:transform .2s ease,box-shadow .2s ease}
.signature-art-card img,.signature-art-card picture{display:block;width:100%;height:100%}
.signature-art-card img{object-fit:contain}
.signature-art-grid .signature-art-card{aspect-ratio:1/1}
.signature-art-card:hover{transform:translateY(-3px);box-shadow:0 20px 50px rgba(17,17,17,.115)}
.signature-art-card:focus-visible{outline:3px solid rgba(189,35,41,.36);outline-offset:4px}
.signature-food-footer{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.signature-food-footer a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid #e1dad0;border-radius:999px;background:#fff;font-size:14px;font-weight:800;box-shadow:0 6px 18px rgba(17,17,17,.045)}
@media(max-width:760px){.signature-food-head{align-items:flex-start}.signature-food-head p{font-size:14px}.signature-menu-link{width:100%;justify-content:center}.signature-food-layout{margin-top:18px}.signature-art-feature{aspect-ratio:1672/941}.signature-art-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.signature-art-card{border-radius:12px;box-shadow:0 7px 22px rgba(17,17,17,.06);transform:translateZ(0)}.signature-art-card img,.signature-art-card picture{width:100%;height:100%}.signature-art-card img{object-fit:contain}.signature-food-footer{display:none}}
@media(prefers-reduced-motion:reduce){.signature-art-card{transition:none}.signature-art-card:hover{transform:none}}

@media(hover:none){.signature-art-card:hover{transform:none;box-shadow:0 7px 22px rgba(17,17,17,.06)}}


/* V53 — signature locations / closing section */
.kairaba-feature-v53{position:relative;background:#fff;color:#fff;padding:78px 0 34px;overflow:hidden}
.kairaba-launch-card-v53{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);min-height:440px;overflow:hidden;border-radius:34px;background:linear-gradient(135deg,#c92129 0%,#b8171e 58%,#9d1117 100%);box-shadow:0 24px 70px rgba(104,15,20,.18)}
.kairaba-launch-card-v53:before{content:"KAIRABA";position:absolute;right:-24px;top:-44px;color:rgba(255,255,255,.045);font-size:clamp(110px,15vw,220px);font-weight:950;letter-spacing:-.08em;line-height:1;pointer-events:none}
.kairaba-launch-card-v53:after{content:"";position:absolute;inset:auto -130px -220px auto;width:520px;height:520px;border:1px solid rgba(255,211,0,.24);border-radius:50%;box-shadow:0 0 0 70px rgba(255,211,0,.035),0 0 0 140px rgba(255,211,0,.025);pointer-events:none}
.kairaba-launch-copy-v53{position:relative;z-index:2;align-self:center;padding:56px 58px 54px}
.kairaba-launch-copy-v53 h2{margin:12px 0 20px;font-size:clamp(58px,7.6vw,104px);line-height:.84;letter-spacing:-.06em;font-weight:950;color:#fff}
.kairaba-launch-copy-v53 h2 span{color:var(--mosdoli-yellow)}
.kairaba-launch-copy-v53 p{max-width:590px;margin:0 0 28px;font-size:18px;line-height:1.5;color:rgba(255,255,255,.88)}
.kairaba-launch-cta-v53{background:var(--mosdoli-yellow);color:#171717;gap:12px;box-shadow:0 12px 30px rgba(98,13,17,.16)}
.kairaba-launch-lockup-v53{position:relative;z-index:2;align-self:stretch;display:grid;align-content:center;justify-items:center;grid-template-columns:auto auto;column-gap:18px;row-gap:0;padding:46px 42px;background:linear-gradient(180deg,rgba(120,9,14,.08),rgba(82,7,11,.24));border-left:1px solid rgba(255,255,255,.12)}
.kairaba-launch-symbol-v53{grid-row:1/3;display:grid;place-items:center;width:104px;height:104px;border-radius:28px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.kairaba-launch-symbol-v53 img{width:60px;height:auto}
.kairaba-launch-date-v53{display:flex;align-items:baseline;gap:8px;line-height:1}
.kairaba-launch-date-v53 strong{font-size:86px;letter-spacing:-.065em;color:var(--mosdoli-yellow)}
.kairaba-launch-date-v53 span{font-size:24px;font-weight:950;letter-spacing:.08em;color:#fff}
.kairaba-launch-place-v53{grid-column:1/-1;margin-top:24px;text-align:center}
.kairaba-launch-place-v53 b{display:block;font-size:20px;letter-spacing:-.02em}
.kairaba-launch-place-v53 span{display:block;margin-top:5px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.66)}

.locations-home-v53{padding:82px 0 88px;background:linear-gradient(180deg,#fff 0%,#f8f4ed 100%)}
.locations-head-v53{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);align-items:end;gap:36px;margin-bottom:34px}
.locations-head-v53 h2{margin:8px 0 12px;max-width:700px;font-size:clamp(48px,6.8vw,86px);line-height:.87;letter-spacing:-.06em;font-weight:950}
.locations-head-v53 p{max-width:620px;margin:0;color:#625d56;font-size:16px;line-height:1.5}
.locations-all-link-v53{justify-self:end;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border-radius:999px;border:1px solid #ded7cc;background:#fff;font-weight:850;box-shadow:0 8px 24px rgba(33,26,17,.05)}
.location-grid-v53{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.location-card-v53{display:grid;grid-template-columns:minmax(210px,.43fr) minmax(0,.57fr);min-height:300px;overflow:hidden;border:1px solid rgba(198,188,176,.72);border-radius:26px;background:#fff;box-shadow:0 16px 40px rgba(33,26,17,.075);transition:transform .2s ease,box-shadow .2s ease}
.location-card-v53:hover{transform:translateY(-3px);box-shadow:0 24px 56px rgba(33,26,17,.11)}
.location-media-v53{position:relative;overflow:hidden;min-height:100%;background:#ece8e1}
.location-media-v53>img{width:100%;height:100%;object-fit:cover}
.location-media-status-v53{position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.94);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;box-shadow:0 6px 16px rgba(0,0,0,.12);backdrop-filter:blur(8px)}
.location-media-status-v53 i{display:block;width:8px;height:8px;border-radius:50%;background:#21a447;box-shadow:0 0 0 4px rgba(33,164,71,.12)}
.location-content-v53{display:flex;flex-direction:column;justify-content:center;padding:30px 30px 28px}
.location-eyebrow-v53{font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.location-eyebrow-v53.live{color:#1a7937}.location-eyebrow-v53.soon{color:#b11e25}
.location-content-v53 h3{margin:8px 0 5px;font-size:clamp(24px,2.2vw,32px);line-height:1.04;letter-spacing:-.035em}
.location-content-v53 p{margin:0;color:#6b655e;font-size:15px}
.location-actions-v53{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.location-actions-v53 a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 17px;border-radius:11px;font-weight:900}
.location-primary-v53{gap:10px;background:var(--mosdoli-yellow);color:#171717;box-shadow:0 8px 20px rgba(219,170,0,.18)}
.location-primary-v53-outline{background:#fff;border:1px solid #d9d2c8;box-shadow:none}
.location-secondary-v53{background:#fff;border:1px solid #d9d2c8}
.kairaba-location-media-v53{display:grid;place-items:center;background:linear-gradient(145deg,#c52129,#9e141a);isolation:isolate}
.kairaba-location-media-v53:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;border:1px solid rgba(255,211,0,.18);box-shadow:0 0 0 54px rgba(255,211,0,.03),0 0 0 108px rgba(255,211,0,.02)}
.kairaba-location-media-v53>img{position:relative;z-index:2;width:74px;height:auto;object-fit:contain}
.kairaba-location-watermark-v53{position:absolute;right:-6px;bottom:-34px;font-size:220px;line-height:1;font-weight:950;color:rgba(255,255,255,.045)}
.kairaba-location-date-v53{position:absolute;left:16px;top:16px;z-index:2;display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.94);color:#b11e25;font-size:12px;font-weight:950;letter-spacing:.07em}

.footer-v53{border-top:0;padding-top:38px}
.footer-v53 .footer-grid{align-items:start}
.footer-v53 .footer-brand p{font-size:14px;color:#ddd}
.footer-v53 .footer-bottom{margin-top:6px}

@media(max-width:980px){
 .kairaba-launch-card-v53{grid-template-columns:1.1fr .9fr}.kairaba-launch-copy-v53{padding:46px 40px}.kairaba-launch-lockup-v53{padding:36px 28px}.kairaba-launch-date-v53 strong{font-size:70px}.kairaba-launch-symbol-v53{width:88px;height:88px}
 .location-card-v53{grid-template-columns:1fr;min-height:0}.location-media-v53{min-height:220px;aspect-ratio:16/9}.location-content-v53{padding:24px}
}
@media(max-width:760px){
 .kairaba-feature-v53{padding:54px 0 22px}.kairaba-launch-card-v53{grid-template-columns:1fr;min-height:0;border-radius:22px}.kairaba-launch-card-v53:before{font-size:110px;right:-10px;top:-18px}.kairaba-launch-copy-v53{padding:32px 24px 28px}.kairaba-launch-copy-v53 h2{font-size:clamp(48px,14vw,64px);margin:10px 0 16px}.kairaba-launch-copy-v53 p{font-size:15px;margin-bottom:22px}.kairaba-launch-cta-v53{width:100%;min-height:50px}.kairaba-launch-lockup-v53{grid-template-columns:auto 1fr;justify-items:start;padding:20px 22px;border-left:0;border-top:1px solid rgba(255,255,255,.12)}.kairaba-launch-symbol-v53{grid-row:1/3;width:72px;height:72px;border-radius:20px}.kairaba-launch-symbol-v53 img{width:44px}.kairaba-launch-date-v53{align-self:end}.kairaba-launch-date-v53 strong{font-size:48px}.kairaba-launch-date-v53 span{font-size:18px}.kairaba-launch-place-v53{grid-column:2;margin:1px 0 0;text-align:left}.kairaba-launch-place-v53 b{font-size:16px}.kairaba-launch-place-v53 span{font-size:10px;margin-top:2px}
 .locations-home-v53{padding:54px 0 62px}.locations-head-v53{grid-template-columns:1fr;gap:18px;margin-bottom:22px}.locations-head-v53 h2{font-size:clamp(44px,13vw,58px);margin-bottom:10px}.locations-head-v53 p{font-size:14px}.locations-all-link-v53{justify-self:start;min-height:44px;padding:0 15px;font-size:13px}
 .location-grid-v53{grid-template-columns:1fr;gap:14px}.location-card-v53{border-radius:20px}.location-media-v53{min-height:0;aspect-ratio:16/9}.location-content-v53{padding:20px}.location-content-v53 h3{font-size:24px}.location-content-v53 p{font-size:14px}.location-actions-v53{margin-top:18px}.location-actions-v53 a{min-height:48px}.location-primary-v53{flex:1 1 auto}.location-secondary-v53{min-width:84px}.location-media-status-v53,.kairaba-location-date-v53{left:12px;top:12px}
 .footer-v53{padding-top:30px}
}
@media(prefers-reduced-motion:reduce){.location-card-v53{transition:none}.location-card-v53:hover{transform:none}}

/* =========================================================
   V58 FINAL MILLIONAIRE HERO — isolated production component
   CSS-only red studio background. No background photo.
   ========================================================= */
.home-page .site-header{background:#fbf8f0;border-bottom:1px solid rgba(65,28,18,.08);box-shadow:0 5px 18px rgba(34,12,7,.035)}
.home-page .nav{height:72px}
.home-page .brand{width:166px}
.home-page .order-pill{background:var(--mosdoli-yellow);color:#111;border-radius:999px;box-shadow:0 8px 22px rgba(107,70,0,.10)}
.home-page .announcement{background:var(--mosdoli-yellow);color:#111}

.hero-final-v58{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(52% 70% at 61% 28%,rgba(255,53,49,.54) 0%,rgba(236,16,29,.23) 37%,rgba(180,4,18,0) 72%),
    radial-gradient(90% 28% at 55% 84%,rgba(255,89,63,.23) 0%,rgba(169,0,14,0) 73%),
    linear-gradient(112deg,#9f0715 0%,#bd0818 34%,#dd0b1d 61%,#af0716 100%);
}
.hero-final-v58:after{
  content:"";position:absolute;inset:auto -7% -10% 28%;height:38%;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at 50% 12%,rgba(255,92,65,.18),rgba(121,0,10,0) 67%);filter:blur(18px)
}
.hero-final-v58-grid{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:10px;min-height:700px;align-items:stretch}
.hero-final-v58-copy{position:relative;z-index:10;padding:78px 0 42px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.hero-final-v58-kicker{font-size:13px;line-height:1;letter-spacing:.22em;text-transform:uppercase;font-weight:900;margin-bottom:24px}
.hero-final-v58-kicker span{color:var(--mosdoli-yellow)}
.hero-final-v58 h1{margin:0;font-size:clamp(66px,6.6vw,104px);line-height:.84;letter-spacing:-.064em;font-weight:950}
.hero-final-v58 h1 span,.hero-final-v58 h1 strong{display:block}
.hero-final-v58 h1 span{color:#fff8ec}
.hero-final-v58 h1 strong{color:var(--mosdoli-yellow);font-weight:950}
.hero-final-v58-copy>p{max-width:565px;margin:27px 0 0;font-size:18px;line-height:1.46;color:rgba(255,255,255,.96)}
.hero-final-v58-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero-final-v58-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:60px;padding:0 25px;border-radius:999px;font-size:17px;font-weight:900;letter-spacing:-.018em;box-shadow:0 15px 30px rgba(86,17,0,.14);transition:transform .18s ease,box-shadow .18s ease}
.hero-final-v58-btn b{font-size:24px;font-weight:600;line-height:1}
.hero-final-v58-primary{min-width:214px;background:var(--mosdoli-yellow);color:#111}
.hero-final-v58-secondary{min-width:228px;background:#fffaf2;color:#171717}
@media(hover:hover){.hero-final-v58-btn:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(86,17,0,.20)}}
.hero-final-v58-btn:focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:none}

.hero-final-v58-stage{position:relative;z-index:4;min-height:700px;min-width:0}
.hero-final-v58-floor{position:absolute;left:-3%;right:-2%;bottom:26px;height:120px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(65,0,7,.40) 0%,rgba(87,0,8,.20) 36%,rgba(87,0,8,0) 72%);filter:blur(8px)}
.hero-final-v58-bucket,.hero-final-v58-box{position:absolute;display:block;object-fit:contain;pointer-events:none;user-select:none;will-change:transform}
.hero-final-v58-bucket{z-index:6;width:min(76%,570px);left:-1%;bottom:8px;filter:drop-shadow(0 30px 26px rgba(63,0,0,.28));animation:v58BucketIn .7s cubic-bezier(.18,.72,.2,1) both}
.hero-final-v58-box{z-index:4;width:min(52%,390px);right:3%;bottom:66px;filter:drop-shadow(0 27px 23px rgba(63,0,0,.22));animation:v58BoxIn .76s .04s cubic-bezier(.18,.72,.2,1) both}
.hero-final-v58-rays{position:absolute;z-index:8;left:1%;top:106px;width:102px;height:102px;object-fit:contain;pointer-events:none;transform:rotate(-5deg)}
.hero-final-v58-crispy{position:absolute;z-index:8;right:2.5%;top:72px;width:178px;height:178px;object-fit:contain;pointer-events:none;transform:rotate(-8deg)}
.hero-final-v58-crumb{position:absolute;z-index:7;background:linear-gradient(145deg,#f8ae1e,#d46d0c);filter:drop-shadow(0 4px 4px rgba(83,7,0,.15));border-radius:54% 46% 63% 37%/56% 50% 50% 44%}
.hero-final-v58-crumb:after{content:"";position:absolute;inset:18% 24% 30% 15%;border-radius:50%;background:rgba(255,213,104,.38);filter:blur(1px)}
.hero-final-v58 .crumb-1{width:22px;height:33px;right:27%;top:121px;transform:rotate(34deg)}
.hero-final-v58 .crumb-2{width:12px;height:18px;right:18%;top:179px;transform:rotate(-13deg)}
.hero-final-v58 .crumb-3{width:17px;height:25px;left:2%;bottom:165px;transform:rotate(-24deg)}
@keyframes v58BucketIn{from{opacity:0;transform:translateY(22px) scale(.982)}to{opacity:1;transform:none}}
@keyframes v58BoxIn{from{opacity:0;transform:translate(18px,18px) scale(.985)}to{opacity:1;transform:none}}

@media(max-width:1100px){
 .hero-final-v58-grid{min-height:650px;grid-template-columns:minmax(0,.97fr) minmax(0,1.03fr)}
 .hero-final-v58-copy{padding-top:64px}.hero-final-v58 h1{font-size:clamp(60px,6.9vw,84px)}
 .hero-final-v58-copy>p{font-size:17px;max-width:500px}.hero-final-v58-stage{min-height:650px}
 .hero-final-v58-bucket{width:min(76%,520px);left:-2%;bottom:12px}.hero-final-v58-box{width:min(50%,340px);right:3%;bottom:77px}
 .hero-final-v58-rays{left:0;top:100px;width:91px;height:91px}.hero-final-v58-crispy{right:1%;top:72px;width:155px;height:155px}
}

@media(max-width:760px){
 .home-page .nav{height:60px}.home-page .brand{width:144px}.home-page .order-pill{display:none}
 .hero-final-v58-grid{display:block;min-height:auto;width:min(100% - 24px,680px)}
 .hero-final-v58-copy{padding:31px 0 0;display:block}
 .hero-final-v58-kicker{font-size:10px;letter-spacing:.19em;margin-bottom:18px}
 .hero-final-v58 h1{font-size:clamp(49px,14.1vw,64px);line-height:.86;letter-spacing:-.058em}
 .hero-final-v58-copy>p{max-width:430px;margin-top:18px;font-size:14.5px;line-height:1.43}
 .hero-final-v58-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
 .hero-final-v58-btn{width:100%;min-width:0;min-height:52px;padding:0 16px;font-size:14px;gap:10px}
 .hero-final-v58-btn b{font-size:20px}
 .hero-final-v58-stage{min-height:510px;margin:8px 0 0}
 .hero-final-v58-floor{left:-5%;right:-5%;bottom:15px;height:92px}
 .hero-final-v58-bucket{width:min(74vw,358px);left:0;bottom:18px}
 .hero-final-v58-box{width:min(43vw,200px);right:10px;bottom:74px}
 .hero-final-v58-rays{left:8px;top:67px;width:62px;height:62px;transform:rotate(-6deg)}
 .hero-final-v58-crispy{right:9px;top:79px;width:101px;height:101px;transform:rotate(-8deg)}
 .hero-final-v58 .crumb-1{width:14px;height:21px;right:25%;top:105px}.hero-final-v58 .crumb-2{width:8px;height:12px;right:16%;top:144px}.hero-final-v58 .crumb-3{width:12px;height:18px;left:2px;bottom:123px}
}

@media(min-width:541px) and (max-width:760px){
 .hero-final-v58-copy{padding-top:38px}.hero-final-v58 h1{font-size:clamp(58px,12.5vw,78px)}.hero-final-v58-copy>p{font-size:16px;max-width:560px}
 .hero-final-v58-btn{min-height:58px;font-size:16px}.hero-final-v58-stage{min-height:620px}
 .hero-final-v58-bucket{width:min(66vw,456px);left:6px;bottom:22px}.hero-final-v58-box{width:min(38vw,260px);right:18px;bottom:100px}
 .hero-final-v58-rays{left:18px;top:88px;width:84px;height:84px}.hero-final-v58-crispy{right:18px;top:99px;width:134px;height:134px}
}

@media(max-width:390px){
 .hero-final-v58-grid{width:min(100% - 16px,560px)}
 .hero-final-v58-copy{padding-top:27px}.hero-final-v58 h1{font-size:45px}.hero-final-v58-copy>p{font-size:14px}
 .hero-final-v58-btn{font-size:13.5px;padding:0 14px}.hero-final-v58-stage{min-height:482px}
 .hero-final-v58-bucket{width:min(74vw,338px);left:0;bottom:18px}.hero-final-v58-box{width:min(42vw,184px);right:9px;bottom:72px}
 .hero-final-v58-rays{left:6px;top:65px;width:58px;height:58px}.hero-final-v58-crispy{right:8px;top:76px;width:96px;height:96px}
}

@media(prefers-reduced-motion:reduce){.hero-final-v58-bucket,.hero-final-v58-box{animation:none}.hero-final-v58-btn{transition:none}}

/* =========================================================
   V59 ULTRA FINAL COMPOSITE HERO
   Approved composition image + CSS-only premium red studio.
   No separate food layers. No benefit icon row.
   ========================================================= */
.home-page .site-header{
  background:#fbf8f0;
  border-bottom:1px solid rgba(64,28,18,.08);
  box-shadow:0 5px 18px rgba(34,12,7,.035);
}
.home-page .nav{height:72px}
.home-page .brand{width:166px}
.home-page .announcement{background:var(--mosdoli-yellow);color:#111}
.home-page .order-pill{background:var(--mosdoli-yellow);color:#111;border-radius:999px;box-shadow:0 8px 22px rgba(107,70,0,.10)}

.hero-final-v59{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
  background:
    radial-gradient(58% 60% at 58% 29%,rgba(255,53,45,.52) 0%,rgba(238,18,29,.22) 40%,rgba(163,2,15,0) 76%),
    radial-gradient(95% 19% at 53% 77%,rgba(255,78,56,.25) 0%,rgba(172,0,14,0) 74%),
    linear-gradient(180deg,#a50715 0%,#be0818 34%,#d70b1c 62%,#b20817 100%);
}
.hero-final-v59:after{
  content:"";
  position:absolute;
  left:-12%;right:-12%;bottom:-82px;height:238px;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(ellipse at 50% 8%,rgba(255,92,67,.20),rgba(110,0,10,0) 68%);
  filter:blur(20px);
}
.hero-final-v59-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:6px;
  min-height:712px;
  align-items:stretch;
}
.hero-final-v59-copy{
  position:relative;
  z-index:3;
  padding:78px 0 46px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}
.hero-final-v59-kicker{
  margin-bottom:24px;
  color:#fff;
  font-size:13px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.22em;
}
.hero-final-v59-kicker span{color:var(--mosdoli-yellow)}
.hero-final-v59 h1{
  margin:0;
  font-size:clamp(66px,6.55vw,104px);
  line-height:.84;
  letter-spacing:-.064em;
  font-weight:950;
}
.hero-final-v59 h1 span,.hero-final-v59 h1 strong{display:block}
.hero-final-v59 h1 span{color:#fff8ed}
.hero-final-v59 h1 strong{color:var(--mosdoli-yellow);font-weight:950}
.hero-final-v59-copy>p{
  max-width:565px;
  margin:27px 0 0;
  color:rgba(255,255,255,.97);
  font-size:18px;
  line-height:1.46;
}
.hero-final-v59-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero-final-v59-btn{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  min-height:60px;
  padding:0 25px;
  border-radius:999px;
  font-size:17px;
  font-weight:900;
  letter-spacing:-.018em;
  box-shadow:0 15px 30px rgba(86,17,0,.14);
  transition:transform .18s ease,box-shadow .18s ease;
}
.hero-final-v59-btn b{font-size:24px;font-weight:600;line-height:1}
.hero-final-v59-primary{min-width:214px;background:var(--mosdoli-yellow);color:#111}
.hero-final-v59-secondary{min-width:228px;background:#fffaf2;color:#171717}
.hero-final-v59-btn:focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:none}
@media(hover:hover){.hero-final-v59-btn:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(86,17,0,.20)}}

.hero-final-v59-stage{
  position:relative;
  z-index:2;
  min-width:0;
  min-height:712px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:visible;
}
.hero-final-v59-stage picture{display:block;width:min(100%,620px);margin:0 auto -4px}
.hero-final-v59-composition{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  object-fit:contain;
  filter:drop-shadow(0 30px 26px rgba(62,0,0,.24));
  pointer-events:none;
  user-select:none;
  animation:v59HeroIn .76s cubic-bezier(.18,.72,.2,1) both;
}
@keyframes v59HeroIn{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}

@media(max-width:1100px){
  .hero-final-v59-grid{min-height:650px;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)}
  .hero-final-v59-copy{padding-top:64px}
  .hero-final-v59 h1{font-size:clamp(60px,6.9vw,84px)}
  .hero-final-v59-copy>p{font-size:17px;max-width:500px}
  .hero-final-v59-stage{min-height:650px}
  .hero-final-v59-stage picture{width:min(100%,540px)}
}

@media(max-width:760px){
  .home-page .nav{height:60px}
  .home-page .brand{width:144px}
  .home-page .order-pill{display:none}
  .hero-final-v59-grid{display:block;min-height:auto;width:min(100% - 24px,680px)}
  .hero-final-v59-copy{padding:31px 0 0;display:block}
  .hero-final-v59-kicker{font-size:10px;letter-spacing:.19em;margin-bottom:18px}
  .hero-final-v59 h1{font-size:clamp(49px,14.1vw,64px);line-height:.86;letter-spacing:-.058em}
  .hero-final-v59-copy>p{max-width:430px;margin-top:18px;font-size:14.5px;line-height:1.43}
  .hero-final-v59-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
  .hero-final-v59-btn{width:100%;min-width:0;min-height:52px;padding:0 16px;font-size:14px;gap:10px}
  .hero-final-v59-btn b{font-size:20px}
  .hero-final-v59-stage{min-height:0;margin:2px -2px 0;display:block}
  .hero-final-v59-stage picture{width:100%;margin:-18px auto -1px}
  .hero-final-v59-composition{width:100%;filter:drop-shadow(0 23px 22px rgba(62,0,0,.20))}
}

@media(min-width:541px) and (max-width:760px){
  .hero-final-v59-copy{padding-top:38px}
  .hero-final-v59 h1{font-size:clamp(58px,12.5vw,78px)}
  .hero-final-v59-copy>p{font-size:16px;max-width:560px}
  .hero-final-v59-btn{min-height:58px;font-size:16px}
  .hero-final-v59-stage picture{width:min(100%,620px);margin:-22px auto -4px}
}

@media(max-width:390px){
  .hero-final-v59-grid{width:min(100% - 16px,560px)}
  .hero-final-v59-copy{padding-top:27px}
  .hero-final-v59 h1{font-size:45px}
  .hero-final-v59-copy>p{font-size:14px}
  .hero-final-v59-btn{font-size:13.5px;padding:0 14px}
  .hero-final-v59-stage picture{margin:-16px auto 0}
}

@media(prefers-reduced-motion:reduce){.hero-final-v59-composition{animation:none}.hero-final-v59-btn{transition:none}}

/* V59.1 final responsive lock */
@media(min-width:901px){
  .hero-final-v59-grid{grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr)}
  .hero-final-v59 h1{font-size:clamp(68px,5.5vw,86px)}
  .hero-final-v59 h1 span,.hero-final-v59 h1 strong{white-space:nowrap}
  .hero-final-v59-stage picture{width:min(100%,640px)}
}
@media(max-width:900px){
  .hero-final-v59-grid{display:block;min-height:auto;width:min(100% - 28px,760px)}
  .hero-final-v59-copy{padding:38px 0 0;display:block}
  .hero-final-v59-kicker{font-size:11px;letter-spacing:.19em;margin-bottom:18px}
  .hero-final-v59 h1{font-size:clamp(52px,11vw,78px);line-height:.86;letter-spacing:-.058em}
  .hero-final-v59 h1 span,.hero-final-v59 h1 strong{white-space:nowrap}
  .hero-final-v59-copy>p{max-width:620px;margin-top:20px;font-size:16px;line-height:1.43}
  .hero-final-v59-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;max-width:560px}
  .hero-final-v59-btn{width:100%;min-width:0;min-height:56px;padding:0 20px;font-size:15.5px;gap:12px}
  .hero-final-v59-stage{min-height:0;margin:0;display:block}
  .hero-final-v59-stage picture{width:min(100%,650px);margin:-24px auto -4px}
}
@media(max-width:540px){
  .hero-final-v59-grid{width:min(100% - 16px,560px)}
  .hero-final-v59-copy{padding-top:27px}
  .hero-final-v59-kicker{font-size:10px}
  .hero-final-v59 h1{font-size:clamp(48px,14.1vw,64px)}
  .hero-final-v59-copy>p{font-size:14.5px;margin-top:18px}
  .hero-final-v59-actions{gap:10px;margin-top:22px}
  .hero-final-v59-btn{min-height:52px;padding:0 16px;font-size:14px}
  .hero-final-v59-stage picture{width:100%;margin:-18px auto 0}
}
@media(max-width:390px){
  .hero-final-v59 h1{font-size:45px}
  .hero-final-v59-copy>p{font-size:14px}
  .hero-final-v59-btn{font-size:13.5px;padding:0 14px}
}


/* ===== MOSDOLI V60 — HERO CTA UX FINAL LOCK ===== */
.hero-final-v59-actions{
  align-items:stretch;
}
.hero-final-v59-btn{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 24px;
  align-items:center;
  column-gap:16px;
  min-height:60px;
  padding:0 22px 0 24px;
  border:1px solid transparent;
  border-radius:999px;
  line-height:1;
  text-decoration:none;
  transform:translateZ(0);
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  box-shadow:0 12px 26px rgba(80,14,0,.14);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,background-color .16s ease,border-color .16s ease;
}
.hero-final-v59-btn-label{
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-align:left;
  font-weight:900;
  letter-spacing:-.018em;
}
.hero-final-v59-btn-arrow{
  width:22px;
  height:22px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .16s ease;
}
.hero-final-v59-primary{
  background:var(--mosdoli-yellow);
  color:#111;
  border-color:rgba(255,214,0,.72);
  box-shadow:0 13px 28px rgba(72,16,0,.16),inset 0 1px 0 rgba(255,255,255,.26);
}
.hero-final-v59-secondary{
  background:#fffaf2;
  color:#171717;
  border-color:rgba(255,255,255,.80);
  box-shadow:0 13px 28px rgba(72,16,0,.12),inset 0 1px 0 rgba(255,255,255,.88);
}
.hero-final-v59-btn:focus-visible{
  outline:3px solid #fff;
  outline-offset:4px;
  box-shadow:0 0 0 2px rgba(161,0,17,.58);
}
.hero-final-v59-btn:active{
  transform:translateY(1px) scale(.985);
  box-shadow:0 7px 18px rgba(72,16,0,.13);
}
@media(hover:hover){
  .hero-final-v59-btn:hover{
    transform:translateY(-2px);
  }
  .hero-final-v59-btn:hover .hero-final-v59-btn-arrow{
    transform:translateX(3px);
  }
  .hero-final-v59-primary:hover{
    filter:brightness(1.018);
    box-shadow:0 17px 34px rgba(72,16,0,.20),inset 0 1px 0 rgba(255,255,255,.28);
  }
  .hero-final-v59-secondary:hover{
    background:#fffdf8;
    box-shadow:0 17px 34px rgba(72,16,0,.17),inset 0 1px 0 rgba(255,255,255,.92);
  }
}
@media(max-width:900px){
  .hero-final-v59-actions{
    width:100%;
    max-width:none;
  }
  .hero-final-v59-btn{
    min-height:56px;
    padding:0 18px 0 20px;
    column-gap:12px;
  }
  .hero-final-v59-btn-arrow{width:21px;height:21px}
}
@media(max-width:540px){
  .hero-final-v59-actions{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px;
  }
  .hero-final-v59-btn{
    min-height:54px;
    padding:0 15px 0 17px;
    grid-template-columns:minmax(0,1fr) 20px;
    column-gap:8px;
    font-size:14px;
  }
  .hero-final-v59-btn-arrow{width:20px;height:20px}
}
@media(max-width:360px){
  .hero-final-v59-actions{grid-template-columns:1fr}
  .hero-final-v59-btn{min-height:54px}
}
@media(prefers-reduced-motion:reduce){
  .hero-final-v59-btn,.hero-final-v59-btn-arrow{transition:none!important}
}

/* V61 — business-first home + premium buttons */
.home-page .announcement{display:none!important}
.locations-home-v53{padding-top:72px!important}
.locations-head-v53 h2{max-width:720px}
.location-card-v53-soon{background:#fbf8f0}
.kairaba-location-date-v53{font-size:clamp(18px,3.2vw,28px)!important;letter-spacing:.02em!important}
.hero-final-v59-btn,.signature-menu-link,.locations-all-link-v53,.location-primary-v53,.location-secondary-v53{
  min-height:50px;border-radius:14px!important;font-weight:900;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  transition:transform .14s ease,box-shadow .14s ease,filter .14s ease,border-color .14s ease;
}
.hero-final-v59-btn{min-height:56px}
.location-primary-v53,.location-secondary-v53{padding-inline:16px!important}
@media(hover:hover){.signature-menu-link:hover,.locations-all-link-v53:hover,.location-primary-v53:hover,.location-secondary-v53:hover{transform:translateY(-1px)}}
.hero-final-v59-btn:active,.signature-menu-link:active,.locations-all-link-v53:active,.location-primary-v53:active,.location-secondary-v53:active{transform:scale(.985)!important;filter:brightness(.97)}
.hero-final-v59-btn:focus-visible,.signature-menu-link:focus-visible,.locations-all-link-v53:focus-visible,.location-primary-v53:focus-visible,.location-secondary-v53:focus-visible{outline:3px solid rgba(254,212,41,.42);outline-offset:3px;box-shadow:none!important}
@media(max-width:760px){.locations-home-v53{padding-top:54px!important}.hero-final-v59-btn{min-height:54px}.location-primary-v53,.location-secondary-v53{min-height:46px}}
@media(prefers-reduced-motion:reduce){.hero-final-v59-btn,.signature-menu-link,.locations-all-link-v53,.location-primary-v53,.location-secondary-v53{transition:none!important}}

/* ===== MOSDOLI V63 — KAIRABA SIMPLE PREMIUM ===== */
.kairaba-simple-v63{padding:76px 0 28px;background:#fff}
.kairaba-simple-card-v63{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
  min-height:520px;
  overflow:hidden;
  border-radius:34px;
  background:
    radial-gradient(65% 90% at 82% 42%,rgba(255,72,55,.32) 0%,rgba(255,72,55,0) 66%),
    linear-gradient(132deg,#a90e18 0%,#c51b24 48%,#9f0c15 100%);
  box-shadow:0 28px 72px rgba(112,15,21,.17);
  isolation:isolate;
}
.kairaba-simple-card-v63:before{
  content:"MOSDOLI";
  position:absolute;
  right:-18px;
  top:-34px;
  z-index:-1;
  font-size:clamp(120px,17vw,250px);
  line-height:1;
  font-weight:950;
  letter-spacing:-.075em;
  color:rgba(255,255,255,.035);
  pointer-events:none;
}
.kairaba-simple-copy-v63{
  position:relative;
  z-index:4;
  align-self:center;
  padding:58px 0 58px 60px;
}
.kairaba-simple-copy-v63 .kicker{font-size:12px;letter-spacing:.16em;color:#ffd62d}
.kairaba-simple-copy-v63 h2{
  margin:12px 0 20px;
  max-width:590px;
  font-size:clamp(58px,6.8vw,94px);
  line-height:.84;
  letter-spacing:-.058em;
  font-weight:950;
  color:#fff8ee;
}
.kairaba-simple-copy-v63 h2 span{color:#ffd62d}
.kairaba-simple-copy-v63 p{
  max-width:500px;
  margin:0;
  font-size:17px;
  line-height:1.5;
  color:rgba(255,255,255,.88);
}
.kairaba-simple-cta-v63{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  min-width:218px;
  min-height:56px;
  margin-top:28px;
  padding:0 22px 0 24px;
  border-radius:999px;
  background:#ffd62d;
  color:#151515;
  font-size:15px;
  font-weight:900;
  box-shadow:0 14px 30px rgba(75,8,11,.18);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.kairaba-simple-cta-v63 span:last-child{font-size:22px;line-height:1}
.kairaba-simple-cta-v63:focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:none}
.kairaba-simple-visual-v63{
  position:relative;
  z-index:2;
  min-width:0;
  min-height:520px;
  display:grid;
  place-items:end center;
}
.kairaba-simple-visual-v63 picture{position:relative;z-index:3;width:100%;height:100%;display:grid;place-items:end center}
.kairaba-simple-halo-v63{
  position:absolute;
  z-index:1;
  width:440px;
  height:440px;
  right:46px;
  top:42px;
  border-radius:50%;
  background:#ffd62d;
  box-shadow:0 0 0 34px rgba(255,214,45,.08),0 0 0 70px rgba(255,214,45,.035);
}
.kairaba-simple-burger-v63{
  position:relative;
  z-index:3;
  width:min(105%,620px);
  max-width:none;
  height:auto;
  margin:0 -8px -24px 0;
  object-fit:contain;
  filter:drop-shadow(0 30px 28px rgba(56,2,5,.26));
}
.location-grid-v63-single{grid-template-columns:minmax(0,760px);justify-content:start}
.locations-head-v63{align-items:end}

@media(hover:hover){
  .kairaba-simple-cta-v63:hover{transform:translateY(-2px);filter:brightness(1.02);box-shadow:0 18px 36px rgba(75,8,11,.23)}
}
@media(max-width:980px){
  .kairaba-simple-card-v63{grid-template-columns:1fr 1fr;min-height:480px}
  .kairaba-simple-copy-v63{padding:46px 0 46px 42px}
  .kairaba-simple-copy-v63 h2{font-size:clamp(54px,7vw,76px)}
  .kairaba-simple-halo-v63{width:370px;height:370px;right:24px;top:54px}
  .kairaba-simple-burger-v63{width:min(112%,540px);margin-right:-12px}
}
@media(max-width:760px){
  .kairaba-simple-v63{padding:50px 0 20px}
  .kairaba-simple-card-v63{grid-template-columns:1fr;min-height:0;border-radius:24px}
  .kairaba-simple-card-v63:before{font-size:118px;right:-8px;top:-8px}
  .kairaba-simple-copy-v63{padding:30px 24px 8px}
  .kairaba-simple-copy-v63 .kicker{font-size:10px;letter-spacing:.15em}
  .kairaba-simple-copy-v63 h2{font-size:clamp(48px,13.2vw,64px);margin:10px 0 14px}
  .kairaba-simple-copy-v63 p{font-size:14.5px;line-height:1.46;max-width:410px}
  .kairaba-simple-cta-v63{min-width:0;width:auto;min-height:52px;margin-top:22px;padding:0 19px 0 20px;font-size:14px;gap:24px}
  .kairaba-simple-visual-v63{min-height:330px;margin-top:0;place-items:end center}
  .kairaba-simple-halo-v63{width:270px;height:270px;right:50%;top:34px;transform:translateX(50%);box-shadow:0 0 0 26px rgba(255,214,45,.07),0 0 0 50px rgba(255,214,45,.03)}
  .kairaba-simple-burger-v63{width:min(105vw,455px);margin:0 0 -22px;filter:drop-shadow(0 24px 24px rgba(56,2,5,.24))}
  .locations-head-v63{align-items:flex-start}
  .location-grid-v63-single{grid-template-columns:1fr}
}
@media(max-width:430px){
  .kairaba-simple-copy-v63{padding:28px 20px 4px}
  .kairaba-simple-copy-v63 h2{font-size:clamp(46px,13vw,56px)}
  .kairaba-simple-visual-v63{min-height:302px}
  .kairaba-simple-halo-v63{width:238px;height:238px;top:38px}
  .kairaba-simple-burger-v63{width:min(110vw,430px);margin-bottom:-18px}
}
@media(prefers-reduced-motion:reduce){.kairaba-simple-cta-v63{transition:none}}


/* =========================================================
   V64 PREMIUM HOME REFINED — production lock
   Solid cream header, approved hero composition, editorial
   Kairaba and real Tropic location treatment.
   ========================================================= */
.home-page .site-header{
  background:#fffaf3;
  border-bottom:1px solid rgba(65,28,18,.075);
  box-shadow:0 7px 24px rgba(45,15,7,.04);
}
.home-page .nav{height:70px}
.home-page .brand{width:164px}
.home-page .order-pill,.order-pill{
  min-height:48px;
  border-radius:999px;
  padding-inline:21px;
  font-weight:900;
  letter-spacing:-.015em;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.home-page .order-pill{background:var(--mosdoli-yellow);color:#111;box-shadow:0 9px 24px rgba(92,54,0,.11)}
@media(hover:hover){.home-page .order-pill:hover,.order-pill:hover{transform:translateY(-1px)}}

/* hero: keep every pixel of the approved transparent composition inside the responsive stage */
.hero-final-v59{overflow:hidden;background:radial-gradient(56% 64% at 61% 28%,rgba(255,63,48,.54) 0%,rgba(238,21,30,.24) 41%,rgba(164,2,16,0) 76%),radial-gradient(82% 34% at 65% 92%,rgba(255,96,58,.16),rgba(144,0,13,0) 72%),linear-gradient(112deg,#990817 0%,#bb091a 36%,#d80b20 63%,#a30718 100%)}
.hero-final-v59-grid{min-height:690px;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:20px}
.hero-final-v59-copy{padding:68px 0 44px}
.hero-final-v59-stage{min-height:690px;overflow:visible;align-items:flex-end}
.hero-final-v59-stage picture{width:min(100%,630px);margin:0 auto -2px}
.hero-final-v59-composition{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 30px 27px rgba(63,0,0,.22))}
.hero-final-v59-btn{min-height:58px}
@media(max-width:1024px) and (min-width:901px){
  .hero-final-v59-grid{min-height:630px;gap:10px}.hero-final-v59-copy{padding-top:56px}.hero-final-v59-stage{min-height:630px}.hero-final-v59-stage picture{width:min(100%,560px)}
}
@media(max-width:900px){
  .home-page .nav{height:62px}.home-page .brand{width:146px}
  .hero-final-v59-grid{width:min(100% - 28px,760px)}
  .hero-final-v59-copy{padding:36px 0 0}
  .hero-final-v59-stage{min-height:0;margin:2px 0 0}
  .hero-final-v59-stage picture{width:min(100%,625px);margin:-12px auto 0}
}
@media(max-width:540px){
  .hero-final-v59-grid{width:min(100% - 20px,560px)}
  .hero-final-v59-copy{padding-top:28px}
  .hero-final-v59 h1{font-size:clamp(47px,13.7vw,62px)}
  .hero-final-v59-actions{margin-top:21px}
  .hero-final-v59-stage picture{width:100%;margin:-8px auto 0}
  .hero-final-v59-composition{filter:drop-shadow(0 20px 19px rgba(63,0,0,.19))}
}
@media(max-width:390px){
  .hero-final-v59-grid{width:calc(100% - 16px)}
  .hero-final-v59 h1{font-size:44px}
  .hero-final-v59-stage picture{margin:-4px auto 0}
}

/* Kairaba: full editorial section, not a generic card */
.kairaba-editorial-v64{
  position:relative;overflow:hidden;color:#fff;padding:82px 0 58px;
  background:radial-gradient(40% 66% at 75% 46%,rgba(255,213,41,.16),rgba(255,213,41,0) 70%),linear-gradient(115deg,#8f0a16 0%,#b80b1c 48%,#cf1022 100%);
}
.kairaba-editorial-v64:before{content:"KAIRABA";position:absolute;right:-.02em;top:-.18em;font-size:clamp(120px,17vw,250px);line-height:1;font-weight:950;letter-spacing:-.08em;color:rgba(255,255,255,.045);pointer-events:none;white-space:nowrap}
.kairaba-editorial-v64-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:24px;min-height:520px}
.kairaba-editorial-v64-copy{position:relative;z-index:3;max-width:585px;padding:26px 0}
.kairaba-editorial-v64-copy .kicker{color:#ffd629;font-size:11px;letter-spacing:.18em}
.kairaba-editorial-v64-copy h2{margin:13px 0 20px;font-size:clamp(58px,6.4vw,88px);line-height:.84;letter-spacing:-.064em;font-weight:950}
.kairaba-editorial-v64-copy h2 span{color:#ffd629}
.kairaba-editorial-v64-copy p{margin:0;max-width:520px;font-size:17px;line-height:1.52;color:rgba(255,255,255,.91)}
.kairaba-editorial-v64-cta{display:inline-grid;grid-template-columns:auto 21px;align-items:center;gap:22px;min-height:56px;margin-top:28px;padding:0 20px 0 22px;border-radius:999px;background:#ffd629;color:#111;font-size:15px;font-weight:900;letter-spacing:-.015em;box-shadow:0 14px 30px rgba(54,0,4,.20);transition:transform .16s ease,box-shadow .16s ease}
.kairaba-editorial-v64-cta svg,.tropic-editorial-v64-primary svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kairaba-editorial-v64-visual{position:relative;min-height:520px;display:grid;place-items:center;isolation:isolate}
.kairaba-editorial-v64-visual picture{position:relative;z-index:3;width:min(112%,610px);margin:8px -8% -18px 0}
.kairaba-editorial-v64-burger{width:100%;height:auto;filter:drop-shadow(0 31px 29px rgba(50,0,5,.27));transform:rotate(1deg)}
.kairaba-editorial-v64-halo{position:absolute;z-index:1;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#ffd629 0 43%,rgba(255,214,41,.27) 44% 52%,rgba(255,214,41,.06) 53% 64%,transparent 65%);filter:drop-shadow(0 28px 35px rgba(65,0,4,.17))}
@media(hover:hover){.kairaba-editorial-v64-cta:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(54,0,4,.26)}}
@media(max-width:1024px){
  .kairaba-editorial-v64{padding:68px 0 48px}.kairaba-editorial-v64-grid{min-height:460px;grid-template-columns:1fr 1fr}.kairaba-editorial-v64-copy h2{font-size:clamp(52px,6.5vw,72px)}.kairaba-editorial-v64-visual{min-height:460px}.kairaba-editorial-v64-halo{width:340px;height:340px}.kairaba-editorial-v64-visual picture{width:min(116%,520px)}
}
@media(max-width:760px){
  .kairaba-editorial-v64{padding:52px 0 24px}.kairaba-editorial-v64:before{font-size:118px;top:1px;right:-8px}.kairaba-editorial-v64-grid{grid-template-columns:1fr;gap:0;min-height:0}.kairaba-editorial-v64-copy{padding:0 0 8px}.kairaba-editorial-v64-copy h2{font-size:clamp(48px,13vw,62px);margin:10px 0 15px}.kairaba-editorial-v64-copy p{font-size:14.5px;line-height:1.48}.kairaba-editorial-v64-cta{min-height:52px;margin-top:22px;font-size:14px}.kairaba-editorial-v64-visual{min-height:330px}.kairaba-editorial-v64-halo{width:255px;height:255px}.kairaba-editorial-v64-visual picture{width:min(108vw,450px);margin:0 0 -24px}
}
@media(max-width:390px){.kairaba-editorial-v64-visual{min-height:300px}.kairaba-editorial-v64-halo{width:230px;height:230px}.kairaba-editorial-v64-visual picture{width:min(110vw,420px);margin-bottom:-20px}}

/* Tropic: one real editorial location, no artificial open badge/cards */
.tropic-editorial-v64{padding:86px 0 92px;background:#fffaf3;color:#171717}
.tropic-editorial-v64-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.62fr);gap:42px;align-items:end;margin-bottom:34px}
.tropic-editorial-v64-head h2{margin:8px 0 0;font-size:clamp(52px,6.6vw,84px);line-height:.84;letter-spacing:-.062em;font-weight:950}
.tropic-editorial-v64-head>p{margin:0 0 6px;max-width:520px;color:#5e574e;font-size:15.5px;line-height:1.58}
.tropic-editorial-v64-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:0;align-items:stretch;background:#fff;border:1px solid rgba(63,40,25,.10);border-radius:30px;overflow:hidden;box-shadow:0 22px 58px rgba(66,36,18,.075)}
.tropic-editorial-v64-media{position:relative;min-height:510px;background:#eee8de;overflow:hidden}
.tropic-editorial-v64-media picture,.tropic-editorial-v64-media img{width:100%;height:100%;display:block}
.tropic-editorial-v64-media img{object-fit:cover;object-position:center 52%;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.tropic-editorial-v64-info{display:flex;flex-direction:column;justify-content:center;padding:44px 42px 40px}
.tropic-editorial-v64-eyebrow{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:var(--mosdoli-red)}
.tropic-editorial-v64-info h3{margin:12px 0 15px;font-size:clamp(38px,4.2vw,58px);line-height:.9;letter-spacing:-.055em;font-weight:950}
.tropic-editorial-v64-info>p{margin:0 0 22px;color:#615c56;font-size:14.5px;line-height:1.55}
.tropic-editorial-v64-service{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid #eee9e1;font-size:13px}
.tropic-editorial-v64-service span{color:#77716a}.tropic-editorial-v64-service strong{text-align:right;font-size:12.5px}
.tropic-editorial-v64-actions{display:grid;grid-template-columns:1.1fr .9fr;gap:10px;margin-top:24px}
.tropic-editorial-v64-primary,.tropic-editorial-v64-secondary{display:grid;align-items:center;min-height:54px;border-radius:999px;font-size:14px;font-weight:900;letter-spacing:-.015em;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.tropic-editorial-v64-primary{grid-template-columns:minmax(0,1fr) 21px;gap:12px;padding:0 17px 0 20px;background:var(--mosdoli-red);color:#fff;box-shadow:0 12px 24px rgba(128,15,22,.16)}
.tropic-editorial-v64-secondary{place-items:center;padding:0 19px;border:1px solid #ded9d2;background:#fff;color:#171717}
.tropic-editorial-v64-call{display:inline-block;margin-top:14px;font-size:13px;font-weight:800;text-decoration:underline;text-decoration-color:#c8c0b7;text-underline-offset:4px}
.tropic-editorial-v64-soon{display:grid;grid-template-columns:1fr auto;gap:2px 14px;margin-top:27px;padding-top:20px;border-top:1px solid #e7e1da;font-size:12px}.tropic-editorial-v64-soon span{font-weight:900}.tropic-editorial-v64-soon strong{grid-column:1;color:#8a8177;font-size:11px;font-weight:700}.tropic-editorial-v64-soon a{grid-column:2;grid-row:1/3;align-self:center;color:var(--mosdoli-red);font-weight:900}
@media(hover:hover){.tropic-editorial-v64-media:hover img{transform:scale(1.015)}.tropic-editorial-v64-primary:hover,.tropic-editorial-v64-secondary:hover{transform:translateY(-1px)}}
@media(max-width:1024px){.tropic-editorial-v64{padding:72px 0 80px}.tropic-editorial-v64-head{grid-template-columns:1fr .75fr;gap:28px}.tropic-editorial-v64-grid{grid-template-columns:1.08fr .92fr}.tropic-editorial-v64-media{min-height:460px}.tropic-editorial-v64-info{padding:34px 30px}.tropic-editorial-v64-actions{grid-template-columns:1fr}}
@media(max-width:760px){
  .tropic-editorial-v64{padding:58px 0 66px}.tropic-editorial-v64-head{grid-template-columns:1fr;gap:14px;margin-bottom:24px}.tropic-editorial-v64-head h2{font-size:clamp(46px,12.7vw,60px)}.tropic-editorial-v64-head>p{font-size:14px;line-height:1.52}.tropic-editorial-v64-grid{grid-template-columns:1fr;border-radius:22px}.tropic-editorial-v64-media{min-height:0;aspect-ratio:4/3}.tropic-editorial-v64-info{padding:25px 21px 24px}.tropic-editorial-v64-info h3{font-size:clamp(36px,10vw,48px)}.tropic-editorial-v64-actions{grid-template-columns:1fr 1fr}.tropic-editorial-v64-primary,.tropic-editorial-v64-secondary{min-height:52px}.tropic-editorial-v64-service{font-size:12.5px}.tropic-editorial-v64-service strong{font-size:12px}
}
@media(max-width:390px){.tropic-editorial-v64-actions{grid-template-columns:1fr}.tropic-editorial-v64-info{padding-inline:18px}}

/* Consistent marketing CTA finish */
.button,.locations-all-link-v53,.location-primary-v53,.location-secondary-v53{
  border-radius:999px;min-height:50px;font-weight:900;letter-spacing:-.014em;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
.button:active,.order-pill:active,.kairaba-editorial-v64-cta:active,.tropic-editorial-v64-primary:active,.tropic-editorial-v64-secondary:active{transform:scale(.985)}
.kairaba-editorial-v64-cta:focus-visible,.tropic-editorial-v64-primary:focus-visible,.tropic-editorial-v64-secondary:focus-visible{outline:3px solid rgba(255,214,41,.56);outline-offset:3px}

/* Kairaba detail page V64 */
.kairaba-page-hero-v64{overflow:hidden;color:#fff;background:radial-gradient(45% 65% at 76% 45%,rgba(255,214,41,.14),transparent 72%),linear-gradient(112deg,#920817,#b80a1b 52%,#cf1021);padding:62px 0 32px}
.kairaba-page-grid-v64{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;min-height:560px;gap:18px}.kairaba-page-copy-v64 h1{margin:13px 0 22px;font-size:clamp(60px,7vw,94px);line-height:.84;letter-spacing:-.064em}.kairaba-page-copy-v64 h1 span{color:#ffd629}.kairaba-page-copy-v64 p{max-width:540px;font-size:17px;line-height:1.52;color:rgba(255,255,255,.92)}.kairaba-page-actions-v64{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.kairaba-page-visual-v64{position:relative;min-height:520px;display:grid;place-items:center}.kairaba-page-visual-v64 picture{position:relative;z-index:2;width:min(110%,590px)}.kairaba-page-visual-v64 img{width:100%;filter:drop-shadow(0 30px 28px rgba(48,0,5,.26))}.kairaba-page-halo-v64{position:absolute;width:400px;height:400px;border-radius:50%;background:#ffd629;opacity:.9;box-shadow:0 0 0 32px rgba(255,214,41,.075),0 0 0 62px rgba(255,214,41,.035)}.kairaba-page-facts-v64{background:#fffaf3}
@media(max-width:760px){.kairaba-page-hero-v64{padding:42px 0 18px}.kairaba-page-grid-v64{grid-template-columns:1fr;min-height:0}.kairaba-page-copy-v64 h1{font-size:clamp(48px,13vw,64px)}.kairaba-page-copy-v64 p{font-size:14.5px}.kairaba-page-visual-v64{min-height:335px}.kairaba-page-halo-v64{width:250px;height:250px}.kairaba-page-visual-v64 picture{width:min(108vw,450px)}}

@media(prefers-reduced-motion:reduce){.kairaba-editorial-v64-cta,.tropic-editorial-v64-primary,.tropic-editorial-v64-secondary,.tropic-editorial-v64-media img,.order-pill,.button{transition:none!important}}

/* V64.1 compositing + 768 px crop lock */
.kairaba-editorial-v64-halo,.kairaba-page-halo-v64{display:none!important}
.kairaba-editorial-v64-visual{
  background:radial-gradient(circle at 50% 52%,#ffd629 0 26%,rgba(255,214,41,.26) 26.5% 33%,rgba(255,214,41,.075) 33.5% 40%,transparent 40.5%);
}
.kairaba-page-visual-v64{
  background:radial-gradient(circle at 50% 52%,#ffd629 0 27%,rgba(255,214,41,.22) 27.5% 34%,rgba(255,214,41,.06) 34.5% 41%,transparent 41.5%);
}
@media(max-width:1024px) and (min-width:821px){
  .kairaba-editorial-v64-visual picture{width:min(100%,500px);margin:0}
}
@media(max-width:820px){
  .kairaba-editorial-v64{padding:54px 0 26px}
  .kairaba-editorial-v64-grid{grid-template-columns:1fr;gap:0;min-height:0}
  .kairaba-editorial-v64-copy{padding:0 0 8px;max-width:620px}
  .kairaba-editorial-v64-copy h2{font-size:clamp(48px,10.8vw,68px);margin:10px 0 15px}
  .kairaba-editorial-v64-copy p{max-width:560px;font-size:15px}
  .kairaba-editorial-v64-visual{min-height:360px}
  .kairaba-editorial-v64-visual picture{width:min(calc(100vw - 32px),470px);margin:0 0 -20px}
}
@media(max-width:540px){
  .kairaba-editorial-v64-copy h2{font-size:clamp(47px,13vw,61px)}
  .kairaba-editorial-v64-copy p{font-size:14.5px}
  .kairaba-editorial-v64-visual{min-height:330px}
  .kairaba-editorial-v64-visual picture{width:min(calc(100vw - 16px),430px);margin:0 0 -18px}
}
@media(max-width:390px){
  .kairaba-editorial-v64-visual{min-height:310px}
  .kairaba-editorial-v64-visual picture{width:calc(100vw - 16px);margin-bottom:-14px}
}
/* V64.2 no-crop lock: keep transparent burger pixel box fully inside its stage */
.kairaba-editorial-v64-burger{transform:none!important}

/* V65 — Tropic home: compact editorial location block, no duplicate copy or dashboard-like rows */
.tropic-home-v65{
  padding:78px 0 84px;
  background:#fffaf3;
  color:#171717;
}
.tropic-home-v65-grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);
  gap:clamp(38px,5vw,72px);
  align-items:center;
}
.tropic-home-v65-media{
  position:relative;
  overflow:hidden;
  min-height:440px;
  border-radius:28px;
  background:#eee7dd;
  box-shadow:0 22px 52px rgba(62,34,20,.09);
}
.tropic-home-v65-media picture,
.tropic-home-v65-media img{
  display:block;
  width:100%;
  height:100%;
}
.tropic-home-v65-media img{
  object-fit:cover;
  object-position:center 51%;
  transition:transform .45s cubic-bezier(.2,.7,.2,1);
}
.tropic-home-v65-copy{max-width:470px}
.tropic-home-v65-eyebrow{
  margin-bottom:13px;
  color:var(--mosdoli-red);
  font-size:11px;
  font-weight:950;
  line-height:1.2;
  letter-spacing:.145em;
  text-transform:uppercase;
}
.tropic-home-v65-copy h2{
  margin:0;
  font-size:clamp(54px,6vw,82px);
  font-weight:950;
  line-height:.84;
  letter-spacing:-.064em;
}
.tropic-home-v65-copy p{
  max-width:410px;
  margin:20px 0 0;
  color:#615b54;
  font-size:15px;
  line-height:1.5;
}
.tropic-home-v65-actions{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:10px;
  margin-top:27px;
}
.tropic-home-v65-primary,
.tropic-home-v65-secondary{
  min-height:56px;
  border-radius:999px;
  font-size:14px;
  font-weight:900;
  letter-spacing:-.015em;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;
}
.tropic-home-v65-primary{
  display:grid;
  grid-template-columns:minmax(0,1fr) 20px;
  align-items:center;
  gap:10px;
  padding:0 17px 0 21px;
  background:var(--mosdoli-red);
  color:#fff;
  box-shadow:0 13px 28px rgba(143,15,23,.18);
}
.tropic-home-v65-primary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tropic-home-v65-secondary{
  display:grid;
  place-items:center;
  padding:0 20px;
  border:1px solid #ddd6cd;
  background:rgba(255,255,255,.62);
  color:#171717;
}
@media(hover:hover){
  .tropic-home-v65-media:hover img{transform:scale(1.012)}
  .tropic-home-v65-primary:hover,.tropic-home-v65-secondary:hover{transform:translateY(-1px)}
  .tropic-home-v65-secondary:hover{background:#fff;border-color:#cfc5bb}
}
.tropic-home-v65-primary:active,.tropic-home-v65-secondary:active{transform:scale(.985)}
.tropic-home-v65-primary:focus-visible,.tropic-home-v65-secondary:focus-visible{outline:3px solid rgba(255,214,41,.58);outline-offset:3px}
@media(max-width:1024px){
  .tropic-home-v65{padding:66px 0 72px}
  .tropic-home-v65-grid{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:34px}
  .tropic-home-v65-media{min-height:390px;border-radius:24px}
  .tropic-home-v65-copy h2{font-size:clamp(50px,6.7vw,68px)}
}
@media(max-width:760px){
  .tropic-home-v65{padding:36px 0 44px}
  .tropic-home-v65-grid{grid-template-columns:1fr;gap:18px}
  .tropic-home-v65-media{min-height:0;aspect-ratio:16/9;border-radius:20px;box-shadow:0 14px 34px rgba(62,34,20,.075)}
  .tropic-home-v65-media img{object-position:center 50%}
  .tropic-home-v65-copy{max-width:none;padding:0 2px}
  .tropic-home-v65-eyebrow{margin-bottom:10px;font-size:10px;letter-spacing:.13em}
  .tropic-home-v65-copy h2{font-size:clamp(40px,10.8vw,50px);line-height:.88;white-space:normal}
  .tropic-home-v65-copy p{max-width:340px;margin-top:11px;font-size:13.5px;line-height:1.4}
  .tropic-home-v65-actions{grid-template-columns:1.05fr .95fr;gap:8px;margin-top:18px}
  .tropic-home-v65-primary,.tropic-home-v65-secondary{min-height:52px;font-size:13.5px}
  .tropic-home-v65-primary{padding-left:18px;padding-right:15px}
}
@media(max-width:350px){.tropic-home-v65-actions{grid-template-columns:1fr}.tropic-home-v65-primary,.tropic-home-v65-secondary{min-height:50px}}
@media(prefers-reduced-motion:reduce){.tropic-home-v65-media img,.tropic-home-v65-primary,.tropic-home-v65-secondary{transition:none!important}}


/* V66 — Tropic mobile editorial lock
   Real storefront only. Full-width image, sign preserved, less card/demo feeling. */
.tropic-home-v65{background:var(--mosdoli-cream)}
.tropic-home-v65-media img{object-position:center top}
@media(max-width:760px){
  .tropic-home-v65{
    padding:0 0 34px;
    overflow:hidden;
  }
  .tropic-home-v65-grid{
    gap:0;
  }
  .tropic-home-v65-media{
    width:100vw;
    max-width:none;
    margin-left:calc(50% - 50vw);
    aspect-ratio:16/9;
    border-radius:0;
    box-shadow:none;
    background:#eee7dd;
  }
  .tropic-home-v65-media picture,
  .tropic-home-v65-media img{
    width:100%;
    height:100%;
  }
  .tropic-home-v65-media img{
    object-fit:cover;
    object-position:center top;
  }
  .tropic-home-v65-copy{
    padding:22px 0 0;
  }
  .tropic-home-v65-eyebrow{
    margin-bottom:9px;
    font-size:9.5px;
    letter-spacing:.14em;
  }
  .tropic-home-v65-copy h2{
    font-size:clamp(37px,10vw,46px);
    line-height:.9;
    letter-spacing:-.058em;
  }
  .tropic-home-v65-copy p{
    max-width:330px;
    margin-top:9px;
    font-size:12.8px;
    line-height:1.38;
  }
  .tropic-home-v65-actions{
    gap:8px;
    margin-top:16px;
  }
  .tropic-home-v65-primary,
  .tropic-home-v65-secondary{
    min-height:50px;
    font-size:13px;
  }
  .tropic-home-v65-primary{
    padding-left:17px;
    padding-right:14px;
    box-shadow:0 10px 22px rgba(143,15,23,.15);
  }
  .tropic-home-v65-secondary{
    background:rgba(255,255,255,.52);
  }
}
@media(max-width:370px){
  .tropic-home-v65-copy{padding-top:20px}
  .tropic-home-v65-copy h2{font-size:35px}
  .tropic-home-v65-primary,.tropic-home-v65-secondary{min-height:48px;font-size:12.5px}
}

@media(max-width:350px){
  .tropic-home-v65-actions{grid-template-columns:1.05fr .95fr}
  .tropic-home-v65-primary,.tropic-home-v65-secondary{min-height:48px;font-size:12px}
  .tropic-home-v65-primary{padding-left:15px;padding-right:12px}
  .tropic-home-v65-secondary{padding-left:12px;padding-right:12px}
}
@media(max-width:325px){
  .tropic-home-v65-copy h2{font-size:33px;letter-spacing:-.054em}
}
@media(min-width:761px) and (max-width:1024px){
  .tropic-home-v65{padding:56px 0 62px}
  .tropic-home-v65-grid{grid-template-columns:1fr 1fr;gap:28px}
  .tropic-home-v65-media{min-height:0;aspect-ratio:4/3;border-radius:22px}
  .tropic-home-v65-copy h2{font-size:clamp(44px,6vw,58px);line-height:.88}
  .tropic-home-v65-copy p{margin-top:14px;font-size:14px}
  .tropic-home-v65-actions{margin-top:21px}
}

/* =========================================================
   MOSDOLI V68 — TRANSPARENT HERO LOCK
   Reference: approved mobile hero mockup.
   Structure only: approved V62 chicken composite remains untouched.
   ========================================================= */
.home-page{
  background:#fff;
}
.home-page .home-hero-header{
  position:fixed;
  top:calc(env(safe-area-inset-top) + var(--network-banner-h,0px));
  left:0;
  right:0;
  z-index:80;
  background:transparent;
  border:0;
  box-shadow:none;
  transition:background-color .18s ease,box-shadow .18s ease,border-color .18s ease,backdrop-filter .18s ease;
}
.home-page .home-hero-header .nav{
  height:84px;
}
.home-page .home-hero-brand{
  position:relative;
  width:188px;
  height:auto;
}
.home-page .home-hero-brand img{
  width:100%;
  height:auto;
  transition:opacity .16s ease;
}
.home-page .home-hero-brand-primary{
  position:absolute;
  inset:0;
  opacity:0;
}
.home-page .home-hero-header .nav-links{color:#fff}
.home-page .home-hero-header .nav-links a:hover{color:var(--mosdoli-yellow)}
.home-page .home-hero-header .order-pill{
  background:var(--mosdoli-yellow);
  color:#141414;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 24px rgba(60,0,4,.16);
}
.home-page .home-hero-header .menu-button span{background:#fff}
.home-page .home-hero-header.hero-header-scrolled{
  position:fixed;
  background:rgba(251,248,240,.96);
  border-bottom:1px solid rgba(64,28,18,.08);
  box-shadow:0 8px 24px rgba(34,12,7,.06);
  -webkit-backdrop-filter:saturate(1.1) blur(14px);
  backdrop-filter:saturate(1.1) blur(14px);
}
.home-page .home-hero-header.hero-header-scrolled .home-hero-brand-reversed,
.home-page .home-hero-header:has(.mobile-menu.open) .home-hero-brand-reversed{opacity:0}
.home-page .home-hero-header.hero-header-scrolled .home-hero-brand-primary,
.home-page .home-hero-header:has(.mobile-menu.open) .home-hero-brand-primary{opacity:1}
.home-page .home-hero-header.hero-header-scrolled .nav-links{color:#171717}
.home-page .home-hero-header.hero-header-scrolled .nav-links a:hover{color:var(--mosdoli-red)}
.home-page .home-hero-header.hero-header-scrolled .menu-button span,
.home-page .home-hero-header:has(.mobile-menu.open) .menu-button span{background:#171717}
.home-page .home-hero-header:has(.mobile-menu.open){background:#fbf8f0;box-shadow:0 8px 22px rgba(34,12,7,.06)}
.home-page .home-hero-header .mobile-menu{background:#fbf8f0;border-top:1px solid rgba(64,28,18,.08);color:#171717}

.hero-v68{
  min-height:760px;
  color:#fff;
  background:
    radial-gradient(48% 48% at 66% 24%,rgba(255,57,46,.56) 0%,rgba(238,15,28,.18) 50%,rgba(161,2,17,0) 78%),
    radial-gradient(70% 34% at 58% 88%,rgba(255,99,62,.16),rgba(139,0,12,0) 73%),
    linear-gradient(142deg,#970817 0%,#b70719 35%,#d70b20 64%,#a00616 100%);
}
.hero-v68:after{
  left:-10%;
  right:-10%;
  bottom:-88px;
  height:260px;
  background:radial-gradient(ellipse at 50% 6%,rgba(255,83,56,.20),rgba(92,0,8,0) 70%);
}
.hero-v68 .hero-final-v59-grid{
  min-height:760px;
  grid-template-columns:minmax(420px,.88fr) minmax(0,1.12fr);
  gap:20px;
}
.hero-v68 .hero-final-v59-copy{
  padding:120px 0 52px;
  justify-content:center;
}
.hero-v68 .hero-final-v59-kicker{display:none!important}
.hero-v68 h1{
  margin:0;
  font-size:clamp(66px,5.9vw,91px);
  line-height:.82;
  letter-spacing:-.066em;
  font-weight:950;
  text-wrap:balance;
}
.hero-v68 .hero-v68-line{
  display:block;
  width:max-content;
  max-width:100%;
  white-space:nowrap;
}
.hero-v68 .hero-v68-white{color:#fff9ef}
.hero-v68 .hero-v68-yellow{color:var(--mosdoli-yellow)}
.hero-v68 .hero-final-v59-copy>p{
  max-width:510px;
  margin:24px 0 0;
  color:rgba(255,255,255,.96);
  font-size:18px;
  line-height:1.44;
  letter-spacing:-.012em;
}
.hero-v68 .hero-final-v59-actions{
  display:grid;
  grid-template-columns:minmax(0,210px) minmax(0,228px);
  gap:14px;
  margin-top:28px;
  max-width:none;
}
.hero-v68 .hero-final-v59-btn{
  min-width:0;
  min-height:60px;
  border-radius:999px!important;
  padding:0 20px 0 23px;
  font-size:16px;
  box-shadow:none;
}
.hero-v68 .hero-final-v59-primary{
  background:var(--mosdoli-yellow);
  color:#141414;
  border-color:var(--mosdoli-yellow);
  box-shadow:0 12px 28px rgba(86,14,0,.16);
}
.hero-v68 .hero-final-v59-secondary{
  background:rgba(137,0,12,.12);
  color:#fff;
  border:2px solid rgba(255,255,255,.92);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
@media(hover:hover){
  .hero-v68 .hero-final-v59-secondary:hover{background:rgba(255,255,255,.08);box-shadow:none}
}
.hero-v68 .hero-final-v59-stage{
  min-height:760px;
  align-items:flex-end;
  justify-content:flex-end;
}
.hero-v68 .hero-final-v59-stage picture{
  width:min(112%,700px);
  margin:0 -18px -22px auto;
}
.hero-v68 .hero-final-v59-composition{
  filter:drop-shadow(0 30px 28px rgba(57,0,4,.24));
}

@media(max-width:1100px) and (min-width:901px){
  .home-page .home-hero-header .nav{height:78px}
  .home-page .home-hero-brand{width:172px}
  .hero-v68{min-height:700px}
  .hero-v68 .hero-final-v59-grid{min-height:700px;grid-template-columns:minmax(380px,.92fr) minmax(0,1.08fr);gap:8px}
  .hero-v68 .hero-final-v59-copy{padding-top:108px}
  .hero-v68 h1{font-size:clamp(60px,6vw,72px)}
  .hero-v68 .hero-final-v59-copy>p{font-size:16.5px;max-width:450px}
  .hero-v68 .hero-final-v59-stage{min-height:700px}
  .hero-v68 .hero-final-v59-stage picture{width:min(115%,600px);margin-right:-16px}
}

@media(max-width:900px){
  .home-page .home-hero-header .nav{height:72px}
  .home-page .home-hero-brand{width:160px}
  .hero-v68{
    min-height:100svh;
  }
  .hero-v68 .hero-final-v59-grid{
    width:min(100% - 30px,760px);
    min-height:100svh;
    display:flex;
    flex-direction:column;
    padding-top:72px;
  }
  .hero-v68 .hero-final-v59-copy{
    flex:0 0 auto;
    padding:28px 0 0;
  }
  .hero-v68 h1{
    font-size:clamp(62px,12.4vw,82px);
    line-height:.82;
    letter-spacing:-.066em;
  }
  .hero-v68 .hero-final-v59-copy>p{
    max-width:500px;
    margin-top:17px;
    font-size:16px;
    line-height:1.42;
  }
  .hero-v68 .hero-final-v59-actions{
    width:min(100%,520px);
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:20px;
  }
  .hero-v68 .hero-final-v59-btn{
    min-height:56px;
    padding:0 17px 0 20px;
    font-size:15px;
  }
  .hero-v68 .hero-final-v59-stage{
    width:100%;
    min-height:0;
    flex:1 1 auto;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    overflow:visible;
    margin:0;
  }
  .hero-v68 .hero-final-v59-stage picture{
    width:min(82vw,640px);
    margin:-52px auto -10px;
  }
}

@media(max-width:540px){
  .home-page .home-hero-header .nav{height:68px}
  .home-page .home-hero-brand{width:154px}
  .home-page .home-hero-header .menu-button{width:46px;height:46px}
  .home-page .home-hero-header .menu-button span{width:25px;height:2.5px}
  .hero-v68 .hero-final-v59-grid{
    width:min(100% - 28px,520px);
    padding-top:68px;
  }
  .hero-v68 .hero-final-v59-copy{
    padding-top:21px;
  }
  .hero-v68 h1{
    font-size:clamp(58px,15.7vw,70px);
    line-height:.82;
    letter-spacing:-.067em;
  }
  .hero-v68 .hero-final-v59-copy>p{
    max-width:350px;
    margin-top:14px;
    font-size:15px;
    line-height:1.38;
  }
  .hero-v68 .hero-final-v59-actions{
    grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
    gap:9px;
    margin-top:18px;
  }
  .hero-v68 .hero-final-v59-btn{
    min-height:54px;
    padding:0 14px 0 17px;
    grid-template-columns:minmax(0,1fr) 19px;
    column-gap:7px;
    font-size:14px;
  }
  .hero-v68 .hero-final-v59-btn-arrow{width:19px;height:19px}
  .hero-v68 .hero-final-v59-stage{
    min-height:390px;
  }
  .hero-v68 .hero-final-v59-stage picture{
    width:min(108vw,500px);
    max-width:none;
    margin:-72px auto -13px;
  }
  .hero-v68 .hero-final-v59-composition{
    filter:drop-shadow(0 22px 22px rgba(57,0,4,.20));
  }
}

@media(max-width:390px){
  .home-page .home-hero-brand{width:148px}
  .hero-v68 .hero-final-v59-grid{width:calc(100% - 24px)}
  .hero-v68 .hero-final-v59-copy{padding-top:18px}
  .hero-v68 h1{font-size:clamp(55px,15.2vw,61px)}
  .hero-v68 .hero-final-v59-copy>p{font-size:14.5px;max-width:325px}
  .hero-v68 .hero-final-v59-btn{font-size:13.5px;min-height:52px}
  .hero-v68 .hero-final-v59-stage{min-height:365px}
  .hero-v68 .hero-final-v59-stage picture{width:min(109vw,455px);margin:-66px auto -10px}
}

@media(max-width:350px){
  .hero-v68 h1{font-size:52px}
  .hero-v68 .hero-final-v59-actions{grid-template-columns:1fr 1fr}
  .hero-v68 .hero-final-v59-btn{font-size:12.5px;padding-left:14px;padding-right:12px}
  .hero-v68 .hero-final-v59-stage{min-height:345px}
  .hero-v68 .hero-final-v59-stage picture{width:112vw;margin-top:-58px}
}

@media(prefers-reduced-motion:reduce){
  .home-page .home-hero-header,.home-page .home-hero-brand img{transition:none!important}
}

/* V68.1 — viewport fit lock for phone + tablet hero */
@media(min-width:541px) and (max-width:900px){
  .hero-v68 .hero-final-v59-copy{padding-top:20px}
  .hero-v68 h1{font-size:clamp(60px,9.35vw,72px);line-height:.82}
  .hero-v68 .hero-final-v59-copy>p{margin-top:14px;font-size:15.5px}
  .hero-v68 .hero-final-v59-actions{margin-top:18px}
  .hero-v68 .hero-final-v59-btn{min-height:54px}
  .hero-v68 .hero-final-v59-stage picture{flex:0 0 auto;width:min(62vw,480px);margin:-70px auto -8px}
}
@media(max-width:540px){
  .hero-v68 .hero-final-v59-stage picture{flex:0 0 auto;width:min(104vw,480px);margin:-78px auto -12px}
}
@media(max-width:390px){
  .hero-v68 .hero-final-v59-stage picture{width:min(104vw,440px);margin-top:-72px}
}

/* =========================================================
   MOSDOLI V71 — UNIVERSAL VIEWPORT + SAFARI STATUS BAR LOCK
   Goals:
   - One stable, exact first-screen hero on mobile and desktop.
   - No hero growth while Safari/Chrome browser chrome collapses.
   - Red continues beneath iPhone notch / Dynamic Island / status area.
   - Future-safe: viewport + safe-area based, never hard-coded by phone model.
   ========================================================= */
:root{
  --mos-hero-red:#B70719;
  --mos-hero-lock-h:100svh;
}

/* iOS/Safari can paint the unsafe top area from html/body rather than the section.
   Keep both red while the hero owns the top of the page. */
html.home-root{
  background:var(--mos-hero-red)!important;
  color-scheme:light;
}
body.home-page{
  padding-top:0!important;
  min-height:100vh;
  min-height:100dvh;
  background:var(--mos-hero-red)!important;
  overscroll-behavior-x:none;
}
.home-page main{background:#fff}
html.home-chrome-light,
html.home-chrome-light body.home-page{background:#fff!important}

/* Extra paint under the iPhone status-area corners. This is intentionally fixed
   and follows the same red/white state as Safari's theme-color. */
body.home-page::before{
  content:"";
  position:fixed;
  z-index:79;
  top:0;
  left:0;
  right:0;
  height:max(env(safe-area-inset-top),1px);
  pointer-events:none;
  background:var(--mos-hero-red);
}
html.home-chrome-light body.home-page::before{background:#fff}

/* Header is physically edge-to-edge; only its contents respect safe areas. */
.home-page .home-hero-header{
  top:var(--network-banner-h,0px)!important;
  left:0;
  right:0;
  background:transparent!important;
  border:0;
  box-shadow:none;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  transform:none!important;
}
.home-page .home-hero-header .nav{
  height:calc(84px + env(safe-area-inset-top));
  padding-top:env(safe-area-inset-top);
  padding-left:max(0px,env(safe-area-inset-left));
  padding-right:max(0px,env(safe-area-inset-right));
}
.home-page .home-hero-header.hero-header-scrolled{
  background:#fff!important;
  border-bottom:1px solid rgba(24,24,24,.08);
  box-shadow:0 8px 24px rgba(20,10,7,.055);
}
.home-page .home-hero-header.hero-header-scrolled .home-hero-brand-reversed{opacity:0}
.home-page .home-hero-header.hero-header-scrolled .home-hero-brand-primary{opacity:1}
.home-page .home-hero-header.hero-header-scrolled .nav-links{color:#171717}
.home-page .home-hero-header.hero-header-scrolled .menu-button span{background:#171717}

/* Open mobile menu: white navigation panel, but keep the status-area strip red
   if the user is still physically inside the hero. */
.home-page .home-hero-header:has(.mobile-menu.open):not(.hero-header-scrolled){
  background:linear-gradient(to bottom,var(--mos-hero-red) 0 max(env(safe-area-inset-top),1px),#fff max(env(safe-area-inset-top),1px) 100%)!important;
}
.home-page .home-hero-header:has(.mobile-menu.open) .home-hero-brand-reversed{opacity:0}
.home-page .home-hero-header:has(.mobile-menu.open) .home-hero-brand-primary{opacity:1}
.home-page .home-hero-header:has(.mobile-menu.open) .menu-button span{background:#171717}
.home-page .home-hero-header .mobile-menu{
  background:#fff!important;
  border-top:1px solid rgba(24,24,24,.08);
  color:#171717!important;
  padding-left:max(16px,env(safe-area-inset-left));
  padding-right:max(16px,env(safe-area-inset-right));
}
.home-page .home-hero-header .mobile-menu a:not(.mobile-order){
  color:#171717!important;
  -webkit-text-fill-color:#171717!important;
  text-decoration:none!important;
  -webkit-appearance:none;
  appearance:none;
}
.home-page .home-hero-header .mobile-menu .mobile-order{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:var(--mosdoli-red)!important;
}
.home-page .home-hero-brand-reversed{opacity:1;filter:none!important;mix-blend-mode:normal!important}

/* Stable viewport lock. JS records the visible viewport once at entry. CSS 100svh
   is the no-JS fallback. Crucially, this does NOT react to toolbar collapse while scrolling. */
.hero-v68{
  height:calc(var(--mos-hero-lock-h,100svh) - var(--network-banner-h,0px))!important;
  min-height:0!important;
  max-height:calc(var(--mos-hero-lock-h,100svh) - var(--network-banner-h,0px))!important;
  overflow:hidden!important;
  isolation:isolate;
  transform:none!important;
  background:
    radial-gradient(48% 48% at 66% 24%,rgba(255,57,46,.56) 0%,rgba(238,15,28,.18) 50%,rgba(161,2,17,0) 78%),
    radial-gradient(70% 34% at 58% 88%,rgba(255,99,62,.16),rgba(139,0,12,0) 73%),
    linear-gradient(142deg,#970817 0%,#b70719 35%,#d70b20 64%,#a00616 100%);
}
.hero-v68 .hero-final-v59-grid{
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
}
.hero-v68 .hero-final-v59-copy,
.hero-v68 .hero-final-v59-stage{min-height:0!important}

/* No scale/zoom/entry transform on the hero art: it is visually locked. */
.hero-v68 .hero-final-v59-composition{
  animation:none!important;
  transform:none!important;
  will-change:auto!important;
}

/* Desktop / laptop. Height terms are derived from the locked viewport variable,
   not dvh, so the composition cannot grow on scroll. */
@media(min-width:901px){
  .hero-v68 .hero-final-v59-grid{
    padding-top:calc(84px + env(safe-area-inset-top));
    padding-bottom:max(10px,env(safe-area-inset-bottom));
  }
  .hero-v68 .hero-final-v59-copy{
    align-self:stretch;
    justify-content:center;
    padding:16px 0 24px!important;
  }
  .hero-v68 h1{
    font-size:clamp(58px,min(6vw,calc(var(--mos-hero-lock-h,800px) * .106)),91px)!important;
  }
  .hero-v68 .hero-final-v59-copy>p{
    margin-top:clamp(14px,calc(var(--mos-hero-lock-h,800px) * .022),24px)!important;
    font-size:clamp(15px,calc(var(--mos-hero-lock-h,800px) * .022),18px)!important;
  }
  .hero-v68 .hero-final-v59-actions{
    margin-top:clamp(16px,calc(var(--mos-hero-lock-h,800px) * .027),28px)!important;
  }
  .hero-v68 .hero-final-v59-stage{height:100%;align-self:stretch}
  .hero-v68 .hero-final-v59-stage picture{
    width:min(49vw,calc(var(--mos-hero-lock-h,800px) * .72),680px)!important;
    max-width:none;
    margin:0 -18px -2px auto!important;
  }
}

/* Tablet / phone base. */
@media(max-width:900px){
  .home-page .home-hero-header .nav{
    height:calc(72px + env(safe-area-inset-top));
    padding-top:env(safe-area-inset-top);
  }
  .hero-v68 .hero-final-v59-grid{
    width:min(100% - 30px,760px);
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column;
    padding-top:calc(72px + env(safe-area-inset-top))!important;
    padding-bottom:max(0px,env(safe-area-inset-bottom));
  }
  .hero-v68 .hero-final-v59-copy{
    flex:0 0 auto;
    padding-top:clamp(10px,calc(var(--mos-hero-lock-h,800px) * .022),22px)!important;
  }
  .hero-v68 h1{
    font-size:clamp(52px,min(12.4vw,calc(var(--mos-hero-lock-h,800px) * .085)),82px)!important;
  }
  .hero-v68 .hero-final-v59-copy>p{
    max-width:500px;
    margin-top:clamp(9px,calc(var(--mos-hero-lock-h,800px) * .017),17px)!important;
    font-size:clamp(13.5px,calc(var(--mos-hero-lock-h,800px) * .019),16px)!important;
  }
  .hero-v68 .hero-final-v59-actions{
    margin-top:clamp(11px,calc(var(--mos-hero-lock-h,800px) * .02),20px)!important;
  }
  .hero-v68 .hero-final-v59-stage{
    width:100%;
    flex:1 1 0;
    min-height:0!important;
    display:flex!important;
    align-items:flex-end;
    justify-content:center;
    overflow:visible;
  }
  .hero-v68 .hero-final-v59-stage picture{
    flex:0 0 auto;
    width:min(82vw,calc(var(--mos-hero-lock-h,800px) * .58),640px)!important;
    max-width:none!important;
    margin:clamp(-74px,calc(var(--mos-hero-lock-h,800px) * -.08),-42px) auto -2px!important;
  }
}

@media(min-width:541px) and (max-width:900px){
  .hero-v68 .hero-final-v59-stage picture{
    width:min(72vw,calc(var(--mos-hero-lock-h,800px) * .50),540px)!important;
    margin:clamp(-74px,calc(var(--mos-hero-lock-h,800px) * -.07),-44px) auto -2px!important;
  }
}

/* Phone portrait — covers mini/standard/Pro/Max dimensions without model rules. */
@media(max-width:540px){
  .home-page .home-hero-header .nav{
    height:calc(66px + env(safe-area-inset-top));
    padding-top:env(safe-area-inset-top);
  }
  .home-page .home-hero-brand{width:154px}
  .home-page .home-hero-header .menu-button{width:46px;height:46px}
  .home-page .home-hero-header .menu-button span{width:25px;height:2.5px}
  .hero-v68 .hero-final-v59-grid{
    width:min(100% - 28px,520px);
    padding-top:calc(66px + env(safe-area-inset-top))!important;
  }
  .hero-v68 .hero-final-v59-copy{
    padding-top:clamp(8px,calc(var(--mos-hero-lock-h,800px) * .02),18px)!important;
  }
  .hero-v68 h1{
    font-size:clamp(48px,min(15.7vw,calc(var(--mos-hero-lock-h,800px) * .074)),70px)!important;
    line-height:.82!important;
    letter-spacing:-.067em;
  }
  .hero-v68 .hero-final-v59-copy>p{
    max-width:350px;
    margin-top:clamp(8px,calc(var(--mos-hero-lock-h,800px) * .0155),14px)!important;
    font-size:clamp(12.8px,calc(var(--mos-hero-lock-h,800px) * .0178),15px)!important;
    line-height:1.34;
  }
  .hero-v68 .hero-final-v59-actions{
    grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
    gap:9px;
    margin-top:clamp(10px,calc(var(--mos-hero-lock-h,800px) * .019),18px)!important;
  }
  .hero-v68 .hero-final-v59-btn{
    min-height:clamp(46px,calc(var(--mos-hero-lock-h,800px) * .0635),54px)!important;
    padding:0 14px 0 17px;
    grid-template-columns:minmax(0,1fr) 19px;
    column-gap:7px;
    font-size:14px;
    transform:none;
  }
  .hero-v68 .hero-final-v59-btn-arrow{width:19px;height:19px}
  .hero-v68 .hero-final-v59-stage{min-height:0!important}
  .hero-v68 .hero-final-v59-stage picture{
    width:min(108vw,calc(var(--mos-hero-lock-h,800px) * .50),500px)!important;
    margin:clamp(-80px,calc(var(--mos-hero-lock-h,800px) * -.086),-48px) auto -2px!important;
  }
}

@media(max-width:390px){
  .home-page .home-hero-brand{width:148px}
  .hero-v68 .hero-final-v59-grid{width:calc(100% - 24px)}
  .hero-v68 h1{font-size:clamp(47px,min(15.2vw,calc(var(--mos-hero-lock-h,800px) * .0735)),61px)!important}
  .hero-v68 .hero-final-v59-copy>p{font-size:clamp(12.5px,calc(var(--mos-hero-lock-h,800px) * .0178),14.5px)!important}
  .hero-v68 .hero-final-v59-btn{font-size:13.5px}
  .hero-v68 .hero-final-v59-stage picture{width:min(106vw,calc(var(--mos-hero-lock-h,800px) * .49),455px)!important}
}

/* Short Safari visual viewport (e.g. mini + browser bars fully visible).
   Class is computed once from the locked first-screen height, so it cannot flicker on scroll. */
html.hero-lock-short .home-page .home-hero-header .nav{height:calc(58px + env(safe-area-inset-top))}
html.hero-lock-short .home-page .home-hero-brand{width:136px}
html.hero-lock-short .hero-v68 .hero-final-v59-grid{padding-top:calc(58px + env(safe-area-inset-top))!important}
html.hero-lock-short .hero-v68 .hero-final-v59-copy{padding-top:6px!important}
html.hero-lock-short .hero-v68 h1{font-size:clamp(43px,min(14.2vw,calc(var(--mos-hero-lock-h,650px) * .078)),52px)!important}
html.hero-lock-short .hero-v68 .hero-final-v59-copy>p{margin-top:7px!important;font-size:12.5px!important;line-height:1.28;max-width:310px}
html.hero-lock-short .hero-v68 .hero-final-v59-actions{margin-top:9px!important;gap:7px}
html.hero-lock-short .hero-v68 .hero-final-v59-btn{min-height:44px!important;font-size:12.5px;padding-left:13px;padding-right:11px}
html.hero-lock-short .hero-v68 .hero-final-v59-stage picture{width:min(95vw,calc(var(--mos-hero-lock-h,650px) * .44),350px)!important;margin:-42px auto 0!important}

html.hero-lock-very-short .hero-v68 h1{font-size:clamp(40px,13.5vw,47px)!important}
html.hero-lock-very-short .hero-v68 .hero-final-v59-copy>p{font-size:11.8px!important;line-height:1.25}
html.hero-lock-very-short .hero-v68 .hero-final-v59-btn{min-height:41px!important;font-size:11.8px}
html.hero-lock-very-short .hero-v68 .hero-final-v59-stage picture{width:min(90vw,calc(var(--mos-hero-lock-h,590px) * .40),300px)!important;margin:-34px auto 0!important}

/* Landscape phone guard. Uses width/orientation only; no max-height media query, so Safari chrome cannot toggle it. */
@media(orientation:landscape) and (max-width:900px){
  .home-page .home-hero-header .nav{height:calc(54px + env(safe-area-inset-top))}
  .home-page .home-hero-brand{width:132px}
  .hero-v68 .hero-final-v59-grid{
    width:min(calc(100% - 44px - env(safe-area-inset-left) - env(safe-area-inset-right)),1000px);
    padding-top:calc(54px + env(safe-area-inset-top))!important;
    display:grid!important;
    grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
    gap:12px;
  }
  .hero-v68 .hero-final-v59-copy{padding:2px 0 8px!important;justify-content:center}
  .hero-v68 h1{font-size:clamp(38px,min(7vw,calc(var(--mos-hero-lock-h,500px) * .11)),52px)!important}
  .hero-v68 .hero-final-v59-copy>p{margin-top:7px!important;font-size:12px!important;line-height:1.28}
  .hero-v68 .hero-final-v59-actions{margin-top:9px!important;gap:7px}
  .hero-v68 .hero-final-v59-btn{min-height:42px!important;font-size:12px}
  .hero-v68 .hero-final-v59-stage{height:100%;align-items:flex-end}
  .hero-v68 .hero-final-v59-stage picture{width:min(43vw,calc(var(--mos-hero-lock-h,500px) * .72),380px)!important;margin:0 auto -4px!important}
}

@media(prefers-reduced-motion:reduce){
  .home-page .home-hero-header,.home-page .home-hero-brand img,.hero-v68 *{transition:none!important;animation:none!important}
}


/* =========================================================
   MOSDOLI V71 — HERO DEVICE / FOLDABLE FINAL HARDENING
   ========================================================= */
/* Root red remains the overscroll/status-area paint while the hero is active. */
html.home-root:not(.home-chrome-light),
html.home-root:not(.home-chrome-light) body.home-page{
  background-color:var(--mos-hero-red)!important;
}
body.home-page{overscroll-behavior-y:none}
.hero-v68,.hero-v68 *{backface-visibility:hidden}
.hero-v68 .hero-final-v59-composition{pointer-events:none;user-select:none;-webkit-user-drag:none}

/* Folded outer displays can be narrower than classic phones. */
@media(max-width:359px){
  .home-page .home-hero-brand{width:136px!important}
  .hero-v68 .hero-final-v59-grid{width:calc(100% - 20px)!important}
  .hero-v68 h1{font-size:clamp(42px,min(15vw,calc(var(--mos-hero-lock-h,760px) * .071)),54px)!important}
  .hero-v68 .hero-final-v59-actions{gap:7px!important}
  .hero-v68 .hero-final-v59-btn{font-size:12.4px!important;padding-inline:12px!important}
  .hero-v68 .hero-final-v59-stage picture{width:min(108vw,calc(var(--mos-hero-lock-h,760px) * .47),420px)!important}
}

/* Unfolded portrait devices: preserve a true one-screen campaign layout while using the wider panel. */
@media(min-width:600px) and (max-width:900px) and (pointer:coarse) and (orientation:portrait){
  .hero-v68 .hero-final-v59-grid{width:min(calc(100% - 44px),820px)!important}
  .hero-v68 .hero-final-v59-copy{max-width:620px}
  .hero-v68 .hero-final-v59-stage picture{
    width:min(66vw,calc(var(--mos-hero-lock-h,900px) * .50),560px)!important;
  }
}

/* Very wide but short foldable landscape / split-window view. */
@media(orientation:landscape) and (min-width:901px) and (max-height:720px){
  .home-page .home-hero-header .nav{height:calc(58px + var(--mos-safe-top))!important;padding-top:var(--mos-safe-top)!important}
  .home-page .home-hero-brand{width:140px!important}
  .hero-v68 .hero-final-v59-grid{padding-top:calc(58px + var(--mos-safe-top))!important;gap:8px!important}
  .hero-v68 h1{font-size:clamp(42px,min(5.5vw,calc(var(--mos-hero-lock-h,650px) * .09)),62px)!important}
  .hero-v68 .hero-final-v59-copy>p{margin-top:8px!important;font-size:13px!important}
  .hero-v68 .hero-final-v59-actions{margin-top:10px!important}
  .hero-v68 .hero-final-v59-btn{min-height:44px!important;font-size:13px!important}
  .hero-v68 .hero-final-v59-stage picture{width:min(44vw,calc(var(--mos-hero-lock-h,650px) * .67),500px)!important}
}

/* Standalone/PWA status icons are white with black-translucent. Keep their physical safe strip red even after the page scrolls onto white content. */
@media(display-mode:standalone){
  html.home-root body.home-page::before{background:var(--mos-hero-red)!important}
}

/* V71 Safari fallback: JS mirrors :has(.mobile-menu.open) with an explicit class, avoiding selector-version dependence. */
.home-page .home-hero-header.mobile-nav-open:not(.hero-header-scrolled){
  background:linear-gradient(to bottom,var(--mos-hero-red) 0 max(env(safe-area-inset-top),1px),#fff max(env(safe-area-inset-top),1px) 100%)!important;
}
.home-page .home-hero-header.mobile-nav-open .home-hero-brand-reversed{opacity:0}
.home-page .home-hero-header.mobile-nav-open .home-hero-brand-primary{opacity:1}
.home-page .home-hero-header.mobile-nav-open .menu-button span{background:#171717}

/* =========================================================
   MOSDOLI V73 — UNIVERSAL RESPONSIVE / HERO GEOMETRY LOCK
   Final authority layer. Structural rule: copy/actions and campaign art never
   occupy the same layout track, so no button can overlap the hero image.
   ========================================================= */

/* Universal overflow / intrinsic-size guards for phones, tablets, folds and wide desktops. */
html,body{max-width:100%;overflow-x:clip}
@supports not (overflow:clip){html,body{overflow-x:hidden}}
main,header,footer,section,nav{max-width:100%}
.shell,.hero-final-v59-grid,.kairaba-editorial-v64-grid,.tropic-home-v65-grid,.locations-page-grid,.footer-grid{min-width:0}
.hero-final-v59-copy,.hero-final-v59-stage,.kairaba-editorial-v64-copy,.kairaba-editorial-v64-visual,.tropic-home-v65-copy,.tropic-home-v65-media,.location-info{min-width:0}
.hero-final-v59-btn,.kairaba-editorial-v64-cta,.tropic-home-v65-primary,.tropic-home-v65-secondary,.location-actions a{max-width:100%;min-width:0}
.hero-final-v59-btn-label,.location-info,.tropic-home-v65-copy,.kairaba-editorial-v64-copy{overflow-wrap:break-word}

/* Bigger desktop canvases get a little more breathing room without stretching content into a billboard. */
@media(min-width:1600px){
  .shell{width:min(1280px,calc(100% - 80px))}
  .hero-v68 .hero-final-v59-grid{width:min(1480px,calc(100% - 96px))!important}
}
@media(min-width:2200px){
  .hero-v68 .hero-final-v59-grid{width:min(1560px,calc(100% - 128px))!important}
}

/* Hero base: one exact locked viewport, no transform animation and no art overflow into copy/actions. */
.hero-v68 .hero-final-v59-grid{position:relative!important;overflow:hidden!important}
.hero-v68 .hero-final-v59-copy{position:relative!important;z-index:3!important}
.hero-v68 .hero-final-v59-actions{position:relative!important;z-index:4!important}
.hero-v68 .hero-final-v59-stage{position:relative!important;z-index:1!important;overflow:hidden!important;margin:0!important}
.hero-v68 .hero-final-v59-stage picture{margin:0!important;max-width:100%!important;max-height:100%!important}
.hero-v68 .hero-final-v59-composition{margin:0!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center bottom!important}

/* Phone portrait / narrow outer fold display. Flex consumes the exact leftover height after buttons.
   Art is contained in that leftover region, so overlap is structurally impossible. */
@media(max-width:659px) and (orientation:portrait){
  .hero-v68 .hero-final-v59-grid{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
  }
  .hero-v68 .hero-final-v59-copy{flex:0 0 auto!important}
  .hero-v68 .hero-final-v59-stage{
    flex:1 1 0!important;
    width:100%!important;
    min-height:0!important;
    align-items:flex-end!important;
    justify-content:center!important;
    padding-top:clamp(6px,1.4vh,14px)!important;
  }
  .hero-v68 .hero-final-v59-stage picture{
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
  }
  .hero-v68 .hero-final-v59-composition{
    display:block!important;
    width:auto!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
  }
}

/* Tablet, unfolded fold and larger portrait canvases: split composition. It uses width better and
   keeps the campaign artwork completely separate from text/CTAs. */
@media(min-width:660px) and (max-width:1023px){
  .hero-v68 .hero-final-v59-grid{
    display:grid!important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
    align-items:stretch!important;
    gap:clamp(18px,3vw,34px)!important;
    padding-top:calc(72px + env(safe-area-inset-top))!important;
    padding-bottom:max(12px,env(safe-area-inset-bottom))!important;
    width:min(calc(100% - 40px),940px)!important;
  }
  .hero-v68 .hero-final-v59-copy{
    align-self:center!important;
    padding:12px 0!important;
  }
  .hero-v68 h1{font-size:clamp(52px,min(8.8vw,calc(var(--mos-hero-lock-h,820px)*.088)),76px)!important}
  .hero-v68 .hero-final-v59-copy>p{font-size:clamp(13.5px,1.8vw,16px)!important;max-width:430px!important}
  .hero-v68 .hero-final-v59-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)!important;max-width:430px!important}
  .hero-v68 .hero-final-v59-btn{min-height:50px!important;font-size:13.5px!important}
  .hero-v68 .hero-final-v59-stage{
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
  }
  .hero-v68 .hero-final-v59-stage picture{
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
  }
  .hero-v68 .hero-final-v59-composition{
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:92%!important;
  }
}

/* Desktop / laptop / large fold landscape. No negative margins, no cross-track overlap. */
@media(min-width:1024px){
  .hero-v68 .hero-final-v59-grid{
    display:grid!important;
    grid-template-columns:minmax(380px,.9fr) minmax(0,1.1fr)!important;
    align-items:stretch!important;
    gap:clamp(12px,2vw,38px)!important;
  }
  .hero-v68 .hero-final-v59-copy{align-self:center!important;padding:18px 0!important}
  .hero-v68 .hero-final-v59-stage{height:100%!important;display:flex!important;align-items:flex-end!important;justify-content:center!important}
  .hero-v68 .hero-final-v59-stage picture{width:100%!important;height:100%!important;display:flex!important;align-items:flex-end!important;justify-content:center!important}
  .hero-v68 .hero-final-v59-composition{width:auto!important;height:auto!important;max-width:100%!important;max-height:94%!important}
}

/* Any landscape phone/fold: always split and contain. This supersedes older negative-margin rules. */
@media(orientation:landscape) and (max-width:1023px){
  .hero-v68 .hero-final-v59-grid{
    display:grid!important;
    grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
    gap:clamp(10px,2.5vw,28px)!important;
    padding-top:calc(54px + env(safe-area-inset-top))!important;
    padding-bottom:max(8px,env(safe-area-inset-bottom))!important;
  }
  .hero-v68 .hero-final-v59-copy{align-self:center!important;padding:4px 0!important}
  .hero-v68 .hero-final-v59-stage{height:100%!important;display:flex!important;align-items:flex-end!important;overflow:hidden!important}
  .hero-v68 .hero-final-v59-stage picture{width:100%!important;height:100%!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;margin:0!important}
  .hero-v68 .hero-final-v59-composition{width:auto!important;height:auto!important;max-width:100%!important;max-height:94%!important}
}

/* Locked-height compression classes from hero-lock.js. Text shrinks before art is allowed to disappear. */
html.hero-lock-short .hero-v68 .hero-final-v59-stage picture,
html.hero-lock-very-short .hero-v68 .hero-final-v59-stage picture,
html.hero-lock-micro-short .hero-v68 .hero-final-v59-stage picture,
html.hero-lock-tiny .hero-v68 .hero-final-v59-stage picture{margin:0!important}
html.hero-lock-micro-short .hero-v68 h1{font-size:clamp(36px,12.2vw,44px)!important}
html.hero-lock-micro-short .hero-v68 .hero-final-v59-copy>p{font-size:11.5px!important;line-height:1.22!important;margin-top:5px!important}
html.hero-lock-micro-short .hero-v68 .hero-final-v59-actions{margin-top:7px!important;gap:6px!important}
html.hero-lock-micro-short .hero-v68 .hero-final-v59-btn{min-height:38px!important;font-size:11.3px!important;padding-inline:10px!important}
html.hero-lock-tiny .hero-v68 h1{font-size:clamp(31px,10.8vw,39px)!important}
html.hero-lock-tiny .hero-v68 .hero-final-v59-copy>p{font-size:10.8px!important;line-height:1.18!important}
html.hero-lock-tiny .hero-v68 .hero-final-v59-btn{min-height:36px!important;font-size:10.8px!important}

/* Very narrow fold outer displays: CTA copy must never collide with arrows. */
@media(max-width:339px){
  .hero-v68 .hero-final-v59-actions{grid-template-columns:1fr 1fr!important;gap:6px!important}
  .hero-v68 .hero-final-v59-btn{padding-inline:9px!important;column-gap:4px!important;font-size:11.5px!important}
  .hero-v68 .hero-final-v59-btn-arrow{width:16px!important;height:16px!important}
}

/* Foldable viewport segments: where the browser exposes a hinge, treat it as real layout gap. */
@media (horizontal-viewport-segments:2){
  .hero-v68 .hero-final-v59-grid{
    column-gap:max(28px,calc(env(viewport-segment-left 1 0,0px) - env(viewport-segment-right 0 0,0px)))!important;
  }
}

/* Home sections: resilient tablet/fold geometry with no viewport-wide overflow tricks above phone size. */
@media(min-width:600px) and (max-width:900px){
  .signature-food-head{gap:18px}
  .signature-art-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kairaba-editorial-v64-grid{min-width:0}
  .kairaba-editorial-v64-copy h2{overflow-wrap:normal}
  .tropic-home-v65-grid{min-width:0}
}

/* Location/footer pages degrade cleanly on very narrow outer fold displays. */
@media(max-width:359px){
  .location-actions{gap:7px}
  .location-actions a{padding-inline:9px!important;font-size:11.5px!important}
  .footer-grid{grid-template-columns:1fr!important}
  .footer-brand{grid-column:auto!important}
  .footer-bottom{gap:10px}
}

/* Large desktop polish: sections stay editorial rather than becoming overly wide. */
@media(min-width:1600px){
  .signature-food-layout,.kairaba-editorial-v64-grid,.tropic-home-v65-grid{max-width:1280px;margin-inline:auto}
}

/* V73 secondary-section containment: no deliberate viewport oversizing on narrow/fold screens. */
@media(max-width:760px){
  .kairaba-editorial-v64,.kairaba-page-hero-v64{overflow:hidden}
  .kairaba-editorial-v64-visual picture,
  .kairaba-page-visual-v64 picture{width:min(100%,450px)!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
  .kairaba-editorial-v64-burger,.kairaba-page-burger-v64{max-width:100%!important}
}
@media(max-width:359px){
  .kairaba-editorial-v64-copy h2,.kairaba-page-copy-v64 h1{font-size:clamp(40px,12.7vw,48px)!important}
  .kairaba-editorial-v64-cta{max-width:100%;padding-inline:16px!important;gap:14px!important}
}

/* =========================================================
   MOSDOLI V74 — HERO CHROME MATCH + PRIMARY CTA COLOUR LOCK
   ========================================================= */
:root{--mos-hero-red:var(--mosdoli-hero-red,#B70719)}

/* The upper hero is deliberately chromatically flat. Safari/Chrome can apply
   translucency to their own status UI, so the safest premium treatment is to
   keep every pixel behind the status area/header the exact same red. Visual
   depth starts lower in the campaign rather than behind the notch/Island. */
.hero-v68{
  background-color:var(--mos-hero-red)!important;
  background-image:
    linear-gradient(180deg,
      var(--mos-hero-red) 0,
      var(--mos-hero-red) 156px,
      rgba(183,7,25,0) 250px),
    radial-gradient(64% 52% at 72% 64%,rgba(246,32,42,.24) 0%,rgba(214,10,28,.11) 42%,rgba(155,3,20,0) 76%),
    linear-gradient(180deg,#B70719 0%,#B70719 20%,#B10719 62%,#980715 100%)!important;
}

/* Same exact paint is used by the document root, status-area underlay and
   transparent header. No left/right colour mismatch at the top edge. */
html.home-root,body.home-page,body.home-page::before{
  background-color:var(--mos-hero-red)!important;
}
html.home-chrome-light,html.home-chrome-light body.home-page,
html.home-chrome-light body.home-page::before{background-color:#fff!important}

/* Primary red controls outside the hero use the stronger digital action red. */
.tropic-home-v65-primary,.tropic-editorial-v64-primary,.location-primary-v53{
  background:var(--mosdoli-action-red)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 12px 26px rgba(106,4,14,.18)!important;
}
.home-page .home-hero-header .mobile-menu .mobile-order{
  background:var(--mosdoli-action-red)!important;
}
@media(hover:hover){
  .tropic-home-v65-primary:hover,.tropic-editorial-v64-primary:hover,.location-primary-v53:hover{
    background:var(--mosdoli-action-red-hover)!important;
  }
}
.tropic-home-v65-primary:active,.tropic-editorial-v64-primary:active,.location-primary-v53:active{
  background:var(--mosdoli-action-red-pressed)!important;
}


/* =========================================================
   MOSDOLI V75 — FINAL DEVICE CHROME / HEADER STATE AUTHORITY
   ========================================================= */
:root{
  --mos-hero-red:#B70719;
  --mos-android-chrome-red:#990716;
}

/* Top of the campaign is one exact, flat brand surface. This is the colour
   iPhone Safari already matched correctly in physical testing. */
.hero-v68{
  background-color:var(--mos-hero-red)!important;
  background-image:
    linear-gradient(180deg,var(--mos-hero-red) 0,var(--mos-hero-red) 176px,rgba(183,7,25,0) 286px),
    radial-gradient(68% 48% at 70% 63%,rgba(239,31,40,.20) 0%,rgba(205,8,26,.08) 46%,rgba(151,3,20,0) 78%),
    linear-gradient(180deg,#B70719 0%,#B70719 22%,#AE0718 61%,#980715 100%)!important;
}

/* Android browser/PWA navigation chrome is visibly brightened by several OEMs.
   The document edge therefore uses the compensated deep red only on Android;
   the actual hero artwork remains #B70719. At the first scroll the edge becomes
   white, matching the sticky header and the ordering/content surfaces. */
html.home-root.mos-android:not(.home-chrome-light){background-color:var(--mos-android-chrome-red)!important}
html.home-root.mos-android:not(.home-chrome-light) body.home-page{background-color:var(--mos-hero-red)!important}
html.home-root.home-chrome-light,
html.home-root.home-chrome-light body.home-page{background-color:#fff!important}

/* Physical top safe-area paint. iOS browser gets the exact hero red; Android's
   system bar takes its compensated colour from theme-color instead of changing
   the authored campaign background. */
body.home-page::before{background:var(--mos-hero-red)!important}
html.home-root.home-chrome-light body.home-page::before{background:#fff!important}

/* iOS installed PWAs cannot reliably switch status-bar icon colour at runtime.
   Keep their tiny unsafe status strip red after scroll so white status icons
   remain legible. Browser Safari is not affected and turns fully white. */
@media(display-mode:standalone){
  html.mos-ios.home-root.home-chrome-light body.home-page::before{background:var(--mos-hero-red)!important}
}

/* The first scroll owns the navigation state: crisp white, no cream tint, no
   blur haze. Top state remains truly transparent over the campaign. */
.home-page .home-hero-header{
  background:transparent!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.home-page .home-hero-header.hero-header-scrolled,
.home-page .home-hero-header.mobile-nav-open,
.home-page .home-hero-header:has(.mobile-menu.open){
  background:#fff!important;
  border-bottom:1px solid rgba(23,23,23,.075)!important;
  box-shadow:0 7px 22px rgba(20,13,10,.055)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.home-page .home-hero-header.hero-header-scrolled .home-hero-brand-reversed,
.home-page .home-hero-header.mobile-nav-open .home-hero-brand-reversed,
.home-page .home-hero-header:has(.mobile-menu.open) .home-hero-brand-reversed{opacity:0!important}
.home-page .home-hero-header.hero-header-scrolled .home-hero-brand-primary,
.home-page .home-hero-header.mobile-nav-open .home-hero-brand-primary,
.home-page .home-hero-header:has(.mobile-menu.open) .home-hero-brand-primary{opacity:1!important}
.home-page .home-hero-header.hero-header-scrolled .menu-button span,
.home-page .home-hero-header.mobile-nav-open .menu-button span,
.home-page .home-hero-header:has(.mobile-menu.open) .menu-button span{background:#171717!important}
.home-page .home-hero-header .mobile-menu{background:#fff!important}

/* Digital UI uses one authoritative action red everywhere. The Mosdoli SVG
   logo keeps its authored brand red independently. */
.order-pill,.button-red,.mobile-menu .mobile-order,.mobile-order-bar a,
.tropic-home-v65-primary,.tropic-editorial-v64-primary,.location-primary-v53,
.product-add-v3,.floating-cart-bar,.checkout-cta-v3,.product-sheet-add,
.cart-count,.order-promo,.text-button[data-primary],.confirm-button{
  background-color:var(--mosdoli-action-red,#B70719)!important;
}

/* Normal browser chrome remains neutral at the footer. The black page footer
   itself extends through the safe-area; this is more stable than flashing the
   whole browser UI black when an IntersectionObserver reaches the footer. */
.footer{background:#171717!important}
html:not(.home-root),html.home-root.home-chrome-light{--mos-system-chrome-color:#fff}

/* =========================================================
   MOSDOLI V77 — HERO REFRESH / HEADER / ALL-SCREEN FINAL LOCK
   ========================================================= */
:root{--mos-hero-red:#B70719;--mos-hero-canvas-h:var(--mos-hero-lock-h,100svh)}
/* CSS small viewport is the minimum hero canvas. A transient Safari refresh
   measurement is therefore never allowed to make the campaign shorter. */
.hero-v68{
  height:var(--mos-hero-lock-h,100svh)!important;
  min-height:100svh!important;
  max-height:none!important;
}
@supports(height:max(100svh,1px)){
  .hero-v68{height:max(100svh,var(--mos-hero-lock-h,100svh))!important;min-height:max(100svh,var(--mos-hero-lock-h,100svh))!important;max-height:max(100svh,var(--mos-hero-lock-h,100svh))!important}
}
.hero-v68 .hero-final-v59-grid{height:100%!important;min-height:0!important;max-height:100%!important}

/* Standard phone portrait: preserve a strong campaign scale. The image fills
   only the leftover stage, so buttons can never overlap it. */
@media(max-width:659px) and (orientation:portrait){
  .hero-v68 .hero-final-v59-grid{width:min(calc(100% - 24px),520px)!important;padding-bottom:max(2px,env(safe-area-inset-bottom))!important}
  .hero-v68 .hero-final-v59-copy{padding-top:clamp(7px,1.7svh,16px)!important}
  .hero-v68 h1{font-size:clamp(46px,min(15.4vw,7.6svh),68px)!important;line-height:.82!important}
  .hero-v68 .hero-final-v59-copy>p{font-size:clamp(12.5px,1.72svh,15px)!important;line-height:1.30!important;margin-top:clamp(7px,1.35svh,13px)!important;max-width:390px!important}
  .hero-v68 .hero-final-v59-actions{margin-top:clamp(9px,1.7svh,16px)!important;gap:9px!important}
  .hero-v68 .hero-final-v59-btn{min-height:clamp(46px,6.1svh,54px)!important;font-size:clamp(12.7px,3.65vw,14px)!important}
  .hero-v68 .hero-final-v59-stage{padding-top:clamp(8px,1.2svh,12px)!important}
  .hero-v68 .hero-final-v59-composition{height:100%!important;width:auto!important;max-height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:center bottom!important}
}
/* Compression is reserved for genuinely short embedded/split windows, not
   normal iPhone Safari browser chrome. */
html.hero-lock-short .hero-v68 h1{font-size:clamp(42px,13.5vw,50px)!important}
html.hero-lock-short .hero-v68 .hero-final-v59-copy>p{font-size:12px!important;margin-top:6px!important}
html.hero-lock-short .hero-v68 .hero-final-v59-actions{margin-top:7px!important}
html.hero-lock-short .hero-v68 .hero-final-v59-btn{min-height:44px!important;font-size:12px!important}
html.hero-lock-very-short .hero-v68 h1,html.hero-lock-micro-short .hero-v68 h1{font-size:clamp(37px,12vw,44px)!important}
html.hero-lock-very-short .hero-v68 .hero-final-v59-copy>p,html.hero-lock-micro-short .hero-v68 .hero-final-v59-copy>p{font-size:11.5px!important;line-height:1.22!important}
html.hero-lock-very-short .hero-v68 .hero-final-v59-btn,html.hero-lock-micro-short .hero-v68 .hero-final-v59-btn{min-height:42px!important;font-size:11.5px!important}

/* Hero header: strong branding at rest, compact app utility chrome after first scroll. */
.home-page .home-hero-header .nav,.home-page .home-hero-brand{transition:height .16s ease,width .16s ease,padding .16s ease}
@media(max-width:540px){
  .home-page .home-hero-header .nav{height:calc(66px + env(safe-area-inset-top))!important;padding-top:env(safe-area-inset-top)!important}
  .home-page .home-hero-brand{width:154px!important}
  .hero-v68 .hero-final-v59-grid{padding-top:calc(66px + env(safe-area-inset-top))!important}
  .home-page .home-hero-header.hero-header-scrolled .nav,.home-page .home-hero-header.mobile-nav-open .nav{height:calc(58px + env(safe-area-inset-top))!important}
  .home-page .home-hero-header.hero-header-scrolled .home-hero-brand,.home-page .home-hero-header.mobile-nav-open .home-hero-brand{width:116px!important}
}
@media(min-width:541px) and (max-width:900px){
  .home-page .home-hero-header .nav{height:calc(72px + env(safe-area-inset-top))!important;padding-top:env(safe-area-inset-top)!important}
  .home-page .home-hero-brand{width:160px!important}
  .home-page .home-hero-header.hero-header-scrolled .nav,.home-page .home-hero-header.mobile-nav-open .nav{height:calc(60px + env(safe-area-inset-top))!important}
  .home-page .home-hero-header.hero-header-scrolled .home-hero-brand,.home-page .home-hero-header.mobile-nav-open .home-hero-brand{width:124px!important}
}
@media(min-width:901px){
  .home-page .home-hero-header .nav{height:calc(84px + env(safe-area-inset-top))!important;padding-top:env(safe-area-inset-top)!important}
  .home-page .home-hero-brand{width:188px!important}
  .home-page .home-hero-header.hero-header-scrolled .nav{height:calc(64px + env(safe-area-inset-top))!important}
  .home-page .home-hero-header.hero-header-scrolled .home-hero-brand{width:128px!important}
}
/* Mobile menu hit areas + outside-click behavior supplied by site.js. */
.mobile-menu a{min-height:48px;display:flex;align-items:center;padding:12px 8px!important}
.mobile-menu .mobile-order{justify-content:center;min-height:50px}
body.site-nav-open{overscroll-behavior-y:contain}

/* Fold / tablet typography stays neither phone-small nor billboard-large. */
@media(min-width:600px) and (max-width:900px) and (pointer:coarse){
  .section{padding-block:clamp(48px,6vw,64px)}
  .footer-grid{gap:clamp(22px,4vw,40px)}
}
@media(min-width:1800px){
  .section{padding-block:82px}
  .footer{padding-top:38px}
}


/* =========================================================
   MOSDOLI V78 — PURE CSS STABLE HERO / REFRESH / DEVICE LOCK
   ========================================================= */
/* Modern mobile browsers expose svh as the viewport with browser UI expanded.
   It is stable while Safari/Chrome toolbars collapse, so the campaign and art
   can never resize because of scrolling. No JS writes hero geometry anymore. */
:root{--mos-hero-lock-h:100svh!important}
.hero-v68{height:100vh!important;min-height:100vh!important;max-height:100vh!important}
@supports(height:100svh){.hero-v68{height:100svh!important;min-height:100svh!important;max-height:100svh!important}}
.hero-v68 .hero-final-v59-grid{height:100%!important;min-height:0!important;max-height:100%!important}
.hero-v68 .hero-final-v59-stage,.hero-v68 .hero-final-v59-stage picture,.hero-v68 .hero-final-v59-composition{animation:none!important;transition:none!important}
.hero-v68 .hero-final-v59-composition{transform:none!important;will-change:auto!important}
/* Menu behaves as a modal navigation surface on touch screens; background never
   scrolls under it and an outside pointer closes it through site.js. */
body.site-nav-open{overflow:hidden!important;overscroll-behavior:none!important}
/* We intentionally allow browser pinch zoom in V78. iOS may ignore no-zoom
   metadata for accessibility; fighting it can trap users zoomed-in. Controls
   still use manipulation to suppress accidental double-tap delays. */
html,body{touch-action:auto!important}
.category-tabs,.category-media-tabs{touch-action:pan-x pinch-zoom!important}
.product-sheet-scroll,.drawer-panel,.drawer-items,.legal-main,.checkout-main,.order-app-main{touch-action:pan-y pinch-zoom!important}
button,a,label,summary,input,textarea,select{touch-action:manipulation!important}
/* Keep authored app typography stable, while every text block is allowed to
   wrap if a browser/user accessibility setting increases rendered text. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.hero-v68 h1,.hero-v68 p,.hero-v68 a,.mobile-menu a,.checkout-body,.order-app-body{overflow-wrap:normal}
@media(max-width:659px) and (orientation:portrait){
  .hero-v68 h1{font-size:clamp(46px,min(15.4vw,7.6svh),64px)!important}
  .hero-v68 .hero-final-v59-stage picture{margin:0!important}
}
@media(min-width:660px) and (max-width:1023px) and (orientation:portrait){
  .hero-v68 h1{font-size:clamp(52px,8.6vw,74px)!important}
}
/* V78 short-window resilience without JS/media-query flicker: svh itself scales
   typography continuously, while every primary CTA remains at least 44px. */
@media(max-width:659px) and (orientation:portrait){
  .hero-v68 h1{font-size:clamp(38px,min(15.4vw,7.6svh),64px)!important}
  .hero-v68 .hero-final-v59-copy>p{font-size:clamp(12px,1.9svh,15px)!important}
  .hero-v68 .hero-final-v59-btn{min-height:clamp(44px,6.8svh,54px)!important;font-size:clamp(11.8px,3.65vw,14px)!important}
}
