@font-face{font-family:"Canva Gagalin";src:url("assets/canva-gagalin.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Canva Bangers";src:url("assets/canva-bangers.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Canva Kingsman";src:url("assets/canva-kingsman.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Canva Lilita";src:url("assets/canva-lilita.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
:root{
  --ink:#191715;
  --paper:#fffaf2;
  --white:#fff;
  --red:#f23b34;
  --red-dark:#c91e24;
  --pink:#f21f67;
  --yellow:#ffd238;
  --aqua:#28b2aa;
  --orange:#f4a548;
  --muted:#6d6258;
  --line:#e6d7c7;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Arial,Helvetica,sans-serif;
  --display:"Canva Gagalin","Arial Black",sans-serif;
  --commercial:"Canva Bangers","Arial Black",sans-serif;
  --product:"Canva Kingsman",Georgia,serif;
  --utility:"Canva Lilita",Arial,sans-serif;
  --shadow:0 18px 44px rgba(68,42,18,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;color:var(--ink);background-color:var(--paper);background-image:radial-gradient(rgba(36,91,76,.045) .75px,transparent .75px);background-size:6px 6px;font-family:var(--sans);line-height:1.5}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.skip-link{position:fixed;left:12px;top:-80px;z-index:100;background:var(--yellow);padding:12px 18px;font-weight:900}
.skip-link:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero{position:relative;overflow:hidden;background-color:#f3ead7;background-image:linear-gradient(108deg,rgba(255,250,242,.5),rgba(243,234,215,.08) 56%,rgba(255,250,242,.22)),radial-gradient(rgba(8,63,70,.06) .72px,transparent .82px);background-size:auto,6px 6px}
.hero:after{content:"";position:absolute;left:-3%;right:-3%;bottom:-70px;height:115px;border-radius:50% 50% 0 0/55% 55% 0 0;background:var(--paper)}
.hero-patio-scene{position:absolute;z-index:0;right:0;top:0;width:62%;height:100%;overflow:hidden;background:linear-gradient(180deg,#f7cd7d 0%,#ef8a45 54%,#116f76 54%,#06474e 100%);clip-path:polygon(13% 0,100% 0,100% 100%,0 100%,7% 82%,2% 64%,9% 46%,4% 27%)}
.hero-patio-scene:before{content:"";position:absolute;left:2%;right:-3%;top:18%;height:70px;border-top:2px solid rgba(8,63,70,.52);border-radius:50%;background-image:radial-gradient(circle at 50% 8px,#fff0a8 0 4px,rgba(255,224,105,.85) 5px,transparent 7px);background-repeat:repeat-x;background-size:74px 48px;transform:rotate(-4deg);filter:drop-shadow(0 0 7px rgba(255,225,115,.48))}
.hero-patio-scene:after{content:"";position:absolute;right:-7%;bottom:21%;width:55%;height:44%;background:url("assets/hero-botanical-pattern.svg") center/520px auto no-repeat;opacity:.18;transform:rotate(12deg)}
.hero-rays{position:absolute;z-index:1;width:390px;height:390px;right:-95px;top:-95px;border-radius:50%;background:repeating-conic-gradient(rgba(255,243,195,.34) 0 7deg,transparent 7deg 17deg);opacity:.62}
.hero-grid{position:relative;z-index:2;min-height:690px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:12px;padding-bottom:50px}
.hero-copy{max-width:520px;padding:60px 0 80px;position:relative;z-index:3}
.eyebrow{margin:0 0 13px;font-weight:900;font-size:.76rem;letter-spacing:.15em;text-transform:uppercase}
.eyebrow.centered{text-align:center;color:var(--red-dark)}
.eyebrow.light{color:var(--yellow)}
h1,h2,h3{margin-top:0}
h1{position:relative;isolation:isolate;width:max-content;max-width:100%;font-family:var(--display);font-size:clamp(4.35rem,7.7vw,7.45rem);line-height:.88;letter-spacing:.01em;margin-bottom:28px}
h1:before,h1:after{content:"";position:absolute;z-index:-1;pointer-events:none}
h1:before{inset:-18px -28px -15px -30px;background:#fff8e8;clip-path:polygon(2% 6%,16% 1%,29% 5%,43% 0,57% 4%,72% 1%,86% 5%,99% 1%,97% 95%,84% 99%,70% 95%,55% 100%,39% 96%,23% 99%,3% 94%);box-shadow:0 16px 34px rgba(76,41,18,.12);transform:rotate(-1.3deg)}
h1:after{left:-46px;right:-55px;top:38%;height:33%;background:#ef7f38;clip-path:polygon(0 19%,8% 6%,19% 14%,31% 2%,43% 11%,55% 0,68% 12%,81% 4%,92% 13%,100% 5%,98% 87%,89% 96%,77% 88%,64% 99%,51% 90%,37% 98%,23% 89%,11% 96%,1% 86%);opacity:.9;transform:rotate(-3deg)}
.hero-word{display:inline-block;-webkit-text-stroke:2px var(--paper);paint-order:stroke fill;text-shadow:3px 4px 0 #083f46}
.hero-word-rolls{color:var(--red);transform:rotate(-2deg)}
.hero-word-sushi{color:#0b7180;transform:rotate(1deg)}
.hero-word-both{color:var(--orange);transform:rotate(-1deg)}
h2{font-size:clamp(2.7rem,5vw,4.8rem);margin-bottom:16px;text-align:center}
.section-title{position:relative;font-family:var(--display);font-size:clamp(2.75rem,5vw,4.75rem);font-weight:400;line-height:1;letter-spacing:.005em;text-transform:uppercase}
.section-title:after{content:"";display:block;width:96px;height:7px;margin:16px auto 0;background:var(--gold,var(--yellow));clip-path:polygon(0 25%,100% 0,97% 72%,3% 100%);transform:rotate(-1deg)}
.title-dark{color:#083f46}
.title-light{color:var(--paper)}
.title-light:after{background:var(--yellow)}
.title-teal{color:#083f46}
.title-teal:after{margin-left:0;background:var(--red)}
.title-faq{color:#083f46}
.title-faq:after{background:var(--red)}
.hero-lede{font-size:1.2rem;max-width:470px;margin:0 0 18px}
.hero-price{display:flex;align-items:baseline;gap:10px;margin:0 0 22px}
.hero-price span{font-size:.72rem;font-weight:900;letter-spacing:.12em}
.hero-price strong{font-family:var(--commercial);font-size:3rem;color:var(--red);line-height:1}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 24px;border:0;border-radius:999px;text-transform:uppercase;text-decoration:none;font-family:var(--utility);font-size:.86rem;letter-spacing:.01em;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.button:hover{transform:translateY(-2px)}
.button:focus-visible,.location-link:focus-visible,.moment-copy a:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}
.button-primary{border:2px solid transparent;background:var(--red);color:var(--white);box-shadow:0 10px 22px rgba(242,59,52,.22)}
.button-primary:hover{background:var(--red-dark)}
.hero-proof{max-width:470px;margin:17px 0 0;font-size:.82rem;color:#584d43}
.hero-food{position:relative;min-height:620px;isolation:isolate}
.hero-food:before{content:"";position:absolute;z-index:0;left:-6%;right:-5%;bottom:4%;height:49%;border-radius:50%;background:radial-gradient(ellipse at 50% 28%,#d58b5d 0 34%,#a9573c 64%,#7b352d 100%);box-shadow:inset 0 18px 30px rgba(255,222,169,.2),0 34px 42px rgba(35,24,16,.24);transform:perspective(560px) rotateX(58deg)}
.hero-food img{position:absolute;z-index:2;filter:drop-shadow(0 28px 32px rgba(43,26,12,.28))}
.hero-roll{width:78%;left:-10%;top:11%;transform:rotate(-7deg)}
.hero-sushi{width:78%;right:-10%;top:15%;transform:rotate(8deg)}
.summer-stamp{position:absolute;z-index:4;right:0;top:9%;padding:13px 17px;background:var(--yellow);border:2px solid #083f46;box-shadow:0 8px 20px rgba(8,63,70,.16);font-family:var(--utility);font-size:.82rem;letter-spacing:.05em;text-align:center;transform:rotate(2deg)}
.food-caption{position:absolute;right:5%;bottom:8%;z-index:4;padding:10px 16px;border-radius:999px;background:var(--ink);color:var(--white);font-size:.84rem;font-weight:900}
.section{padding:88px 0}
.platter-section{position:relative;padding-top:108px;background:linear-gradient(rgba(255,250,242,.95),rgba(255,250,242,.95)),repeating-linear-gradient(120deg,transparent 0 52px,rgba(11,113,128,.045) 52px 53px)}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.offer-card{position:relative;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:27px;background:var(--white);box-shadow:var(--shadow);transition:transform .2s ease,border-color .2s ease}
.offer-card:hover{transform:translateY(-4px)}
.offer-card.selected{border:3px solid var(--red)}
.offer-card.featured{border:2px solid var(--pink)}
.best-value{position:absolute;right:13px;top:13px;z-index:5;padding:7px 11px;border-radius:999px;background:var(--red);color:var(--white);font-family:var(--utility);font-size:.67rem;letter-spacing:.02em}
.offer-art{height:300px;position:relative;overflow:hidden}
.offer-art:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-38%;height:60%;border-radius:50%;background:rgba(255,255,255,.16)}
.orange-art{background:linear-gradient(145deg,#ffe0ae,#f4a046)}
.aqua-art{background:linear-gradient(145deg,#d5f5f0,#2ab5ad)}
.yellow-art{background:linear-gradient(145deg,#fff4b7,#ffd238)}
.offer-art>img:not(.combo-roll):not(.combo-sushi){width:90%;height:90%;object-fit:contain;margin:auto;position:relative;top:9%;z-index:2;filter:drop-shadow(0 15px 18px rgba(39,24,12,.22))}
.aqua-art>img:not(.combo-roll):not(.combo-sushi){transform:scale(1.2)}
.card-kicker{position:absolute;left:17px;top:16px;z-index:4;padding:7px 10px;border-radius:999px;background:rgba(255,250,242,.93);color:#083f46;font-family:var(--utility);font-size:.63rem;letter-spacing:.015em;border:1px solid rgba(8,63,70,.15)}
.combo-art img{position:absolute;width:68%;z-index:2;filter:drop-shadow(0 15px 16px rgba(39,24,12,.22))}
.combo-roll{left:-1%;bottom:3%;transform:rotate(-7deg)}
.combo-sushi{right:-1%;bottom:5%;transform:rotate(7deg)}
.offer-body{display:flex;flex-direction:column;flex:1;padding:22px 22px 24px}
.offer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.offer-heading h3{font-family:var(--product);font-size:1.95rem;font-weight:400;line-height:.92;margin-bottom:4px;color:#083f46}
.offer-heading p{margin:0;color:var(--muted);font-weight:800}
.offer-heading>strong{font-family:var(--commercial);font-size:2.35rem;font-weight:400;color:var(--red);line-height:1}
.offer-detail{min-height:48px;margin:14px 0;color:#514940}
.value-line{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:.78rem}
.value-line s{color:#897e74}
.value-line b{padding:5px 8px;border-radius:999px;background:#ffe4ec;color:#b9194c;text-transform:uppercase}
.offer-body .button{width:100%;margin-top:auto;font-size:.82rem}
.selection-status{text-align:center;min-height:24px;margin:20px 0 0;color:var(--muted);font-size:.86rem}
.moments-section{position:relative;overflow:hidden;background:linear-gradient(145deg,#075864 0%,#073b44 58%,#0a6971 100%);color:var(--white)}
.moments-section:before{content:"";position:absolute;width:430px;height:430px;left:-250px;top:-180px;border-radius:50%;background:repeating-conic-gradient(rgba(255,210,56,.09) 0 8deg,transparent 8deg 18deg)}
.moments-section .eyebrow{color:var(--yellow)}
.moments-section h2{margin-bottom:32px}
.moment-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.moment-card{position:relative;overflow:hidden;min-height:400px;border:1px solid rgba(255,255,255,.18);border-radius:26px;padding:38px;display:flex;align-items:flex-start;box-shadow:0 18px 34px rgba(0,0,0,.2)}
.patio-card{background:linear-gradient(145deg,#ffcf5e,#f47a3e);color:var(--ink)}
.patio-card:before{content:"";position:absolute;width:500px;height:500px;right:-230px;bottom:-250px;border-radius:50%;background:rgba(255,255,255,.18)}
.movie-card{background:linear-gradient(145deg,#272040,#100f18)}
.moment-copy{position:relative;z-index:4;max-width:51.5%}
.movie-card .moment-copy{max-width:50.5%}
.moment-copy span{font-family:var(--utility);font-size:.67rem;letter-spacing:.08em}
.moment-copy h3{font-family:var(--product);font-weight:400;font-size:clamp(2.4rem,4vw,3.8rem);line-height:.82;margin:15px 0 19px}
.movie-card .moment-copy h3{font-size:clamp(2.2rem,3.7vw,3.25rem)}
.moment-copy p{margin:0 0 20px}
.moment-copy a{display:inline-block;font-weight:900;line-height:1.2;text-decoration:none;border-bottom:3px solid currentColor;padding-bottom:4px}
.moment-card>img{position:absolute;width:44%;right:3%;bottom:3%;filter:drop-shadow(0 20px 22px rgba(42,20,8,.3));transform:rotate(4deg)}
.movie-food{position:absolute;z-index:2;right:2%;bottom:3%;width:46%;height:48%}
.movie-food img{position:absolute;width:62%;bottom:0;filter:drop-shadow(0 16px 18px rgba(0,0,0,.42))}
.movie-food img:first-child{left:0;transform:rotate(-5deg)}
.movie-food img:last-child{right:0;transform:rotate(5deg)}
.film-dots{position:absolute;inset:16px;background:repeating-linear-gradient(90deg,transparent 0 45px,rgba(255,255,255,.14) 45px 60px);height:10px}
.locations-section{position:relative;background:linear-gradient(rgba(242,235,225,.94),rgba(242,235,225,.94)),repeating-linear-gradient(45deg,rgba(244,165,72,.08) 0 1px,transparent 1px 7px)}
.order-intro{display:grid;grid-template-columns:.8fr 1.2fr;align-items:end;gap:40px;margin-bottom:32px}
.order-intro h2{text-align:left;margin:0}
.location-context{margin:0;padding:16px 20px;border:1px solid #d7c696;border-left:5px solid var(--red);border-radius:10px;background:#fff4da;font-weight:800;text-align:left;box-shadow:0 10px 24px rgba(69,48,28,.08)}
.location-context b{color:var(--red-dark)}
.location-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.location-card{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px;border:1px solid var(--line);border-left:4px solid #0b7180;border-radius:14px;background:var(--white);box-shadow:0 8px 18px rgba(69,48,28,.05);transition:transform .2s ease,box-shadow .2s ease}
.location-card:hover{transform:translateY(-2px);box-shadow:0 12px 22px rgba(69,48,28,.1)}
.location-card h3{font-family:var(--product);font-weight:400;font-size:1.4rem;line-height:.95;margin:0 0 5px;color:#083f46}
.location-card p{margin:0;color:var(--muted);font-size:.82rem}
.location-link{flex:0 0 auto;min-width:82px;text-align:center;padding:10px 14px;border:1px solid var(--red-dark);border-radius:999px;background:var(--red);color:var(--white);font-family:var(--utility);font-size:.72rem;text-decoration:none;text-transform:uppercase;box-shadow:0 7px 14px rgba(119,26,26,.12)}
.location-link:hover{background:var(--red-dark)}
.handoff-note{max-width:740px;margin:20px auto 0;text-align:center;color:var(--muted);font-size:.82rem}
.faq-section{position:relative;overflow:hidden;padding:94px 0;background:#f3ead7;color:var(--ink)}
.faq-section:before{content:"";position:absolute;left:0;right:0;top:0;height:12px;background:linear-gradient(90deg,var(--red) 0 33.33%,#0b7180 33.33% 66.66%,var(--orange) 66.66%)}
.faq-section .wrap{position:relative;z-index:2}
.faq-heading{position:relative;width:min(780px,100%);margin:0 auto 38px;text-align:center}
.faq-heading .eyebrow{color:var(--red-dark)}
.faq-heading>p:last-child{margin:18px 0 0;color:#5f554c}
.faq-grid{counter-reset:faq;display:grid;grid-template-columns:repeat(2,1fr);gap:17px;align-items:start}
.faq-grid details{counter-increment:faq;border:1px solid #d6cab8;border-top:4px solid #0b7180;border-radius:10px;background:#fffaf2;overflow:hidden;box-shadow:0 12px 26px rgba(49,36,21,.08);transition:transform .2s ease,box-shadow .2s ease}
.faq-grid details:hover{transform:translateY(-1px);box-shadow:0 15px 30px rgba(49,36,21,.11)}
.faq-grid details:first-child{grid-column:1/-1;border-top-color:var(--red);border-left:5px solid var(--red);background:#fff4da}
.faq-grid summary{position:relative;padding:20px 52px 20px 58px;cursor:pointer;font-family:var(--utility);font-size:1.05rem;font-weight:400;line-height:1.25;list-style:none}
.faq-grid summary:before{content:counter(faq,decimal-leading-zero);position:absolute;left:19px;top:50%;transform:translateY(-50%);font-family:var(--display);font-size:.85rem;color:var(--red)}
.faq-grid summary::-webkit-details-marker{display:none}
.faq-grid summary:after{content:"+";position:absolute;right:19px;top:50%;transform:translateY(-50%);font-family:var(--utility);font-size:1.35rem;color:#0b7180}
.faq-grid details[open] summary:after{content:"−"}
.faq-grid p{margin:0;padding:0 24px 22px 58px;color:#40382f}
footer{padding:40px 0;background:var(--ink);color:#d9d1c7}
.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}
footer img{width:115px;align-self:flex-start;margin-top:4px;filter:brightness(0) invert(1)}
.footer-copy{max-width:850px}
.fine-print{display:grid;gap:6px;margin:0;padding-left:1.1rem;font-size:.75rem;line-height:1.45}
footer p{margin:13px 0 0;font-size:.72rem;color:#aaa197;text-align:left}
@media (max-width:900px){
  .hero-patio-scene{left:-3%;right:auto;top:49%;width:106%;height:51%;clip-path:polygon(0 8%,12% 2%,25% 7%,38% 1%,51% 6%,64% 0,77% 7%,90% 2%,100% 8%,100% 100%,0 100%)}
  .hero-rays{top:45%;right:-120px}
  .hero-grid{grid-template-columns:1fr;min-height:auto;padding-bottom:90px}
  .hero-copy{padding:52px 0 0;max-width:650px}
  .hero-food{min-height:530px}
  .offer-grid{grid-template-columns:1fr;max-width:620px;margin-inline:auto}
  .offer-art{height:360px}
  .moment-grid{grid-template-columns:1fr}
  .order-intro{grid-template-columns:1fr;text-align:center;gap:16px}
  .order-intro h2{text-align:center}
  .faq-grid{grid-template-columns:1fr}
  .faq-grid details:first-child{grid-column:auto}
}
@media (max-width:640px){
  .wrap{width:min(100% - 28px,1180px)}
  .hero-patio-scene{left:-7%;top:51%;width:114%;height:49%}
  .hero-patio-scene:before{top:13%;background-size:60px 44px}
  .hero-patio-scene:after{right:-12%;bottom:19%;width:72%;height:42%;background-size:430px auto;opacity:.14}
  .hero-rays{width:360px;height:360px;right:-195px;top:48%;opacity:.42}
  .hero-grid{padding-bottom:82px}
  .hero-copy{padding-top:40px}
  h1{font-size:clamp(3.9rem,20vw,5.4rem)}
  h1:before{inset:-14px -14px -13px -12px}
  h1:after{left:-20px;right:-22px}
  .hero-lede{font-size:1.05rem}
  .hero-food{min-height:440px}
  .hero-food:before{left:-15%;right:-15%;bottom:-2%;height:54%}
  .hero-roll{width:88%;left:-15%;top:10%}
  .hero-sushi{width:88%;right:-16%;top:14%}
  .summer-stamp{right:1%;top:5%;font-size:.62rem;padding:9px 11px}
  .food-caption{right:2%;bottom:8%;font-size:.66rem;padding:8px 10px}
  .section{padding:68px 0}
  .platter-section{padding-top:78px}
  h2{font-size:2.7rem}
  .section-title{font-size:clamp(2.35rem,11.5vw,3.15rem);line-height:1.02;letter-spacing:-.035em}
  .section-title:after{bottom:-7px;height:10px}
  .offer-art{height:300px}
  .offer-heading{align-items:center}
  .offer-heading>strong{font-size:1.9rem}
  .moment-card{min-height:500px;padding:28px}
  .moment-copy{max-width:100%}
  .movie-card .moment-copy{max-width:100%}
  .movie-card .moment-copy h3{font-size:2.65rem}
  .moment-copy h3{font-size:2.65rem}
  .moment-card>img{width:56%;left:50%;right:auto;bottom:2%;transform:translateX(-50%) rotate(2deg)}
  .movie-food{right:4%;bottom:3%;width:92%;height:45%}
  .movie-food img{width:58%;bottom:0}
  .movie-food img:first-child{left:0}
  .movie-food img:last-child{right:0}
  .location-grid{grid-template-columns:1fr}
  .location-card{padding:15px}
  .location-card p{font-size:.74rem}
  .location-link{min-width:72px}
  .faq-section{padding:70px 0}
  .faq-heading{margin-bottom:30px}
  .faq-heading>p:last-child{font-size:.9rem}
  .faq-grid{gap:15px}
  .faq-grid summary{padding:18px 47px 18px 54px;font-size:.94rem}
  .faq-grid summary:before{left:16px}
  .faq-grid summary:after{right:15px}
  .faq-grid p{padding:0 16px 19px 54px;font-size:.9rem}
  .footer-grid{align-items:flex-start;flex-direction:column}
  .fine-print{font-size:.78rem}
  footer p{text-align:left}
}
/* Generated patio atmosphere with exact top-down product overlays. */
.hero-generated-atmosphere .hero-patio-scene{inset:0;width:100%;height:100%;clip-path:none;background-image:linear-gradient(90deg,rgba(255,248,232,.97) 0%,rgba(255,248,232,.91) 34%,rgba(255,248,232,.48) 47%,rgba(5,50,54,.08) 64%,rgba(5,50,54,.16) 100%),url("assets/hero-patio-background-control-2.jpg");background-position:center,55% center;background-size:cover,cover;background-repeat:no-repeat}
.hero-generated-atmosphere .hero-patio-scene:before,.hero-generated-atmosphere .hero-patio-scene:after,.hero-generated-atmosphere .hero-rays{display:none}
.hero-generated-atmosphere .hero-grid{grid-template-columns:.87fr 1.13fr;min-height:710px}
.hero-generated-atmosphere .hero-food{min-height:640px;perspective:none}
.hero-generated-atmosphere .hero-food:before{left:-3%;right:-3%;bottom:4%;height:76%;background:radial-gradient(ellipse at 54% 52%,rgba(255,248,225,.94) 0 48%,rgba(255,248,225,.62) 61%,transparent 72%);box-shadow:none;transform:none}
.hero-generated-atmosphere .hero-food img{transform-origin:center center;filter:drop-shadow(0 18px 17px rgba(14,20,18,.28))}
.hero-generated-atmosphere .hero-roll{width:78%;left:-3%;top:17%;transform:rotate(-7deg)}
.hero-generated-atmosphere .hero-sushi{width:76%;right:-1%;top:24%;transform:rotate(8deg)}
.hero-generated-atmosphere .summer-stamp{right:-1%;top:11%}
.hero-generated-atmosphere .food-caption{right:3%;bottom:8%}
@media (max-width:900px){
  .hero-generated-atmosphere .hero-patio-scene{inset:0;width:100%;height:100%;clip-path:none;background-image:linear-gradient(180deg,rgba(255,248,232,.98) 0%,rgba(255,248,232,.95) 49%,rgba(255,248,232,.36) 58%,rgba(5,50,54,.24) 100%),url("assets/hero-patio-background-control-2.jpg");background-position:center,60% center;background-size:cover,cover}
  .hero-generated-atmosphere .hero-grid{grid-template-columns:1fr;min-height:auto}
  .hero-generated-atmosphere .hero-food{min-height:530px}
}
@media (max-width:640px){
  .hero-generated-atmosphere .hero-grid{padding-bottom:72px}
  .hero-generated-atmosphere .hero-copy{max-width:none}
  .hero-generated-atmosphere .hero-food{min-height:455px;perspective:none}
  .hero-generated-atmosphere .hero-food:before{left:-8%;right:-8%;bottom:1%;height:84%;background:radial-gradient(ellipse at 52% 54%,rgba(255,248,225,.95) 0 48%,rgba(255,248,225,.65) 63%,transparent 74%)}
  .hero-generated-atmosphere .hero-roll{width:96%;left:-7%;top:11%;transform:rotate(-7deg)}
  .hero-generated-atmosphere .hero-sushi{width:90%;right:-6%;top:23%;transform:rotate(8deg)}
  .hero-generated-atmosphere .summer-stamp{right:0;top:4%}
  .hero-generated-atmosphere .food-caption{right:2%;bottom:7%}
}

/* Approved Summer Platters campaign hero control. */
.campaign-hero{position:relative;height:620px;overflow:hidden;isolation:isolate;background:#153a41 url("assets/hero-patio-background-control-2.jpg") 50% center/cover no-repeat}
.campaign-hero:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(255,239,207,.18),rgba(255,239,207,.03) 48%,rgba(2,34,40,.08))}
.campaign-hero:after{display:none}
.campaign-copy{position:absolute;left:max(4.8%,calc(50% - 772px));top:26px;width:42%;z-index:16}
.campaign-title{position:relative;width:auto;max-width:none;margin:0;font-family:var(--display);font-size:clamp(98px,7vw,118px);line-height:.76;font-weight:400;letter-spacing:-.035em;text-transform:uppercase;filter:drop-shadow(0 4px 0 rgba(255,244,220,.72))}
.campaign-title:before,.campaign-title:after{display:none}
.campaign-title span{display:block;width:max-content;-webkit-text-stroke:0;text-shadow:none;paint-order:normal}
.campaign-title-kinjo{color:#ef2938;margin-left:20px}
.campaign-title-summer{color:#076d78;margin-top:-2px}
.campaign-title-platters{color:#f48425;margin:-2px 0 0 7px}
.campaign-tagline{position:relative;width:386px;margin:10px 0 0 55px;padding:9px 17px 8px;background:#076d78;color:#fff;text-align:center;font-family:var(--commercial);font-size:24px;line-height:1;letter-spacing:.03em;text-transform:uppercase;transform:rotate(-1deg);clip-path:polygon(2% 4%,97% 0,100% 87%,4% 100%,0 19%);box-shadow:0 5px 0 rgba(6,55,64,.18)}
.campaign-tagline:after{content:"";position:absolute;right:26px;bottom:-5px;width:89px;height:4px;background:#f48425;transform:rotate(2deg)}
.campaign-support{width:385px;margin:13px 0 0 54px;padding:8px 13px 7px;text-align:center;background:rgba(255,244,220,.94);font:600 16px/1.35 var(--sans);letter-spacing:.01em}
.campaign-cta{display:flex;align-items:center;justify-content:center;width:300px;min-height:56px;margin:16px 0 0 76px;border:4px solid #fff4dc;border-radius:999px;background:linear-gradient(#f33b46,#e91f31);color:#fff;text-decoration:none;text-transform:uppercase;font-family:var(--commercial);font-size:24px;line-height:1;letter-spacing:.07em;box-shadow:0 6px 0 #08707a,0 12px 18px rgba(5,47,55,.2);transition:transform .2s ease,background .2s ease}
.campaign-cta:hover{transform:translateY(-2px);background:#d91c2c}
.campaign-cta:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}
.campaign-board{position:absolute;right:max(3.6%,calc(50% - 772px));top:54px;width:min(50.5%,820px);height:clamp(418px,24vw,452px);z-index:15;background-color:#f7e8c8;background-image:linear-gradient(rgba(255,247,230,.46),rgba(255,239,211,.30)),url("assets/poster-sand-texture.jpg");background-position:center;background-size:cover;clip-path:polygon(2% 2%,96% 0,100% 8%,98% 19%,100% 31%,98% 43%,100% 56%,98% 69%,100% 82%,96% 100%,4% 98%,0 88%,2% 74%,0 60%,2% 45%,0 30%,2% 16%);filter:drop-shadow(-13px 16px 20px rgba(2,31,37,.34))}
.campaign-board:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.20),transparent 43%,rgba(109,78,42,.05))}
.campaign-tape{position:absolute;z-index:11;width:88px;height:27px;background:rgba(239,100,60,.83);box-shadow:inset 0 0 0 1px rgba(114,44,25,.08)}
.campaign-tape-top{right:17px;top:16px;transform:rotate(23deg)}
.campaign-tape-bottom{left:20px;bottom:65px;background:rgba(6,118,129,.78);transform:rotate(16deg)}
.campaign-tray{position:absolute;height:auto;z-index:5;filter:drop-shadow(0 17px 12px rgba(50,36,19,.25))}
.campaign-sushi{width:50%;left:1%;top:22px;transform:rotate(-2deg)}
.campaign-roll{width:52%;right:0;top:15px;transform:rotate(3deg)}
.campaign-dates{position:absolute;left:9%;right:9%;bottom:21px;z-index:10;display:flex;align-items:center;justify-content:center;gap:14px;padding:11px 15px 10px;border-radius:999px;background:#076d78;color:#fff;box-shadow:0 6px 0 rgba(3,51,59,.23);font-family:var(--utility);font-size:13px;line-height:1;letter-spacing:.02em}
.campaign-dates b{color:#ffc33a}
.campaign-dates i{width:4px;height:4px;border-radius:50%;background:#f48425}
.campaign-mark{position:absolute;z-index:9;color:#076d78;font-family:var(--commercial);font-size:28px;line-height:1}
.campaign-mark-left{left:7%;top:27px;transform:rotate(-8deg)}
.campaign-mark-right{right:6%;bottom:18px;color:#f48425;transform:rotate(8deg)}
.campaign-fine{position:absolute;left:max(4.8%,calc(50% - 772px));bottom:52px;z-index:17;max-width:45%;margin:0;padding:5px 8px;background:rgba(255,244,220,.92);font-size:9.5px;line-height:1.25;color:#10454e}
.campaign-wave{position:absolute;left:0;right:0;bottom:-2px;height:43px;z-index:13;background:#076d78;clip-path:polygon(0 30%,8% 18%,16% 31%,25% 14%,34% 28%,43% 8%,52% 27%,61% 10%,70% 32%,79% 13%,89% 28%,100% 15%,100% 100%,0 100%)}
@media (max-width:760px){
  .campaign-hero{height:745px;background-position:47% top}
  .campaign-hero:before{background:linear-gradient(180deg,rgba(255,239,207,.13),rgba(255,239,207,.03) 47%,rgba(4,44,51,.08))}
  .campaign-copy{left:16px;top:15px;width:calc(100% - 32px)}
  .campaign-title{font-size:80px;line-height:.74}
  .campaign-title-kinjo{margin-left:14px}
  .campaign-title-summer{margin-top:-2px}
  .campaign-title-platters{margin:-2px 0 0 4px}
  .campaign-tagline{width:302px;margin:7px 0 0 28px;padding:8px 12px 7px;font-size:19px}
  .campaign-support{width:310px;margin:10px 0 0 23px;padding:7px 10px 6px;font-size:13px;line-height:1.32}
  .campaign-cta{width:254px;min-height:50px;margin:12px 0 0 51px;font-size:21px}
  .campaign-board{left:13px;right:13px;top:395px;width:auto;height:255px;background-image:linear-gradient(rgba(255,247,230,.46),rgba(255,239,211,.30)),url("assets/poster-sand-texture-mobile.jpg");background-position:center;background-size:cover}
  .campaign-sushi{width:53%;left:1.5%;top:8px}
  .campaign-roll{width:56%;right:2.5%;top:8px}
  .campaign-dates{left:6%;right:6%;bottom:12px;gap:8px;padding:9px 9px 8px;font-size:9.5px}
  .campaign-tape{width:61px;height:20px}
  .campaign-tape-top{right:11px;top:10px}
  .campaign-tape-bottom{left:12px;bottom:60px}
  .campaign-mark-left{font-size:21px;top:22px}
  .campaign-mark-right{font-size:21px;right:5%;bottom:14px}
  .campaign-fine{left:17px;right:17px;bottom:44px;max-width:none;text-align:center;font-size:9px;padding:4px 6px}
  .campaign-wave{height:37px}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.offer-card{transition:none}}
