:root{--cream:#fff8f4;--pink:#f3a1b9;--hot:#e77f9d;--blue:#89b9c2;--ink:#4a2524;--paper:#f8ebd9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Nunito,Arial,sans-serif;font-size:17px;line-height:1.6}a{color:inherit}button,input,select,textarea{font:inherit}a,button,input,select,textarea{outline-offset:5px}img{max-width:100%}.ribbon{text-align:center;background:var(--blue);font-size:13px;font-weight:800;padding:9px 15px;letter-spacing:.08em}header{max-width:1280px;margin:auto;padding:24px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #4a25241c}.wordmark{font-family:Chewy,cursive;font-size:32px;line-height:.95;text-decoration:none;display:inline-block;transform:rotate(-3deg)}.wordmark span{display:block;font-size:24px;text-align:center}nav{display:flex;gap:32px;align-items:center}nav>a{text-decoration:none;font-size:14px;font-weight:800}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;gap:20px;border:2px solid var(--ink);background:var(--ink);color:var(--cream);padding:13px 25px;border-radius:7px;text-decoration:none;font-size:15px;font-weight:800;cursor:pointer;box-shadow:3px 3px 0 var(--pink);transition:transform .15s}.button:hover{transform:translateY(-3px)}.button.small{min-height:43px;padding:9px 18px}.hero{max-width:1280px;margin:auto;padding:66px 6% 80px;display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.15em;margin:0 0 18px}h1,h2,h3,h4{font-family:Chewy,cursive;font-weight:400;line-height:1.07;margin:0}h1{font-size:clamp(64px,7.7vw,108px);letter-spacing:-.025em}h1 em{font-style:normal;color:#b54b69;text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:10px;text-decoration-thickness:5px}.hero-copy>p:not(.eyebrow){max-width:410px;margin:30px 0}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{font-size:14px;font-weight:800;text-underline-offset:5px}.hero-art{position:relative;background:var(--pink);border:2px solid var(--ink);border-radius:48% 48% 8px 8px;padding:65px 30px 20px;min-height:440px;display:flex;flex-direction:column;justify-content:center;box-shadow:12px 12px 0 var(--paper)}.hero-art img{width:340px;align-self:center;image-rendering:auto;mix-blend-mode:multiply}.art-caption{text-align:center;font-size:13px;font-weight:800;transform:rotate(-3deg)}.orbit{position:absolute;right:-28px;top:-22px;border-radius:50%;background:var(--blue);width:128px;height:128px;display:grid;place-content:center;text-align:center;font-family:Chewy,cursive;font-size:21px;line-height:1.1;transform:rotate(12deg);border:2px solid var(--ink)}.scallop{height:25px;background:radial-gradient(circle at 25px 0,transparent 24px,var(--pink) 25px) 0 0/50px 25px}.ticker{padding:15px 0;white-space:nowrap;overflow:hidden;background:var(--pink);font-size:13px;letter-spacing:.13em;font-weight:800;text-align:center}.ticker span{margin:0 25px}.section{padding:90px max(6%,calc((100vw - 1120px)/2))}.section-title{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}h2{font-size:clamp(40px,4.8vw,62px)}.section-title>p{font-size:15px}.menu-layout{display:grid;grid-template-columns:.85fr 1.25fr;gap:65px}.classics{background:var(--paper);border:1px solid var(--ink);border-radius:140px 140px 8px 8px;padding:50px 35px 30px;text-align:center}.classics h3,.specialties h3{font-size:34px}.classics img{display:block;margin:20px auto;width:220px;mix-blend-mode:multiply}.classics ul{padding:0;list-style:none;font-weight:800;line-height:2}.classics p:last-child{font-size:14px}.specialties{padding:15px 0}.specialties article{display:flex;gap:22px;padding:24px 0;border-bottom:1px solid #4a252434;align-items:center}.specialties article>span{font-size:12px}.specialties article b{margin-left:auto;color:#b54b69}.specialties h4{font-size:25px}.specialties article p{font-size:14px;max-width:360px;margin:8px 0 0}.note{font-size:12px;line-height:1.6;opacity:.8}.catering{background:var(--blue);text-align:center;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.intro{max-width:680px;margin:25px auto 40px}.packages{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;text-align:left}.packages article{background:var(--cream);padding:30px;border:1px solid var(--ink);border-radius:8px}.packages article.addon{background:var(--paper)}.packages span{font-size:11px;letter-spacing:.1em;font-weight:800}.packages h3{font-size:30px;margin-top:16px}.packages p{font-size:14px}.packages .price{font-family:Chewy,cursive;font-size:46px;margin:20px 0}.price small{font-family:Nunito,sans-serif;font-size:14px}.fee{font-size:14px;margin:28px 0}.inquiry{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.inquiry>div p{max-width:340px}.inquiry form{background:#fff;border:1px solid #4a252440;padding:30px;border-radius:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:12px;font-weight:800;margin-bottom:16px}input,select,textarea{display:block;background:var(--cream);border:1px solid #4a252450;color:var(--ink);padding:11px;width:100%;border-radius:4px;margin-top:5px;min-width:0;font-size:14px}textarea{resize:vertical}.check{display:flex;align-items:center;gap:10px}.check input{width:18px;height:18px;margin:0}.estimate{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #4a252430;padding-top:16px;font-size:13px}.estimate output{font-family:Chewy,cursive;font-size:36px}#prepared{border-top:1px solid #4a252430;margin-top:25px;padding-top:20px}.find{background:var(--pink);text-align:center}.find .actions{justify-content:center;margin:25px 0}.find>p:last-child{font-size:13px;font-weight:800}footer{display:flex;justify-content:space-between;align-items:center;padding:40px 6%;gap:30px}footer p,footer>a:last-child{font-size:13px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;left:10px;background:white;padding:15px;z-index:10}@media(max-width:760px){header{padding:20px 6%}.wordmark{font-size:25px}.wordmark span{font-size:19px}nav{gap:17px}nav>a{font-size:12px}nav>a:nth-child(3){display:none}nav .small{display:none}.hero{grid-template-columns:1fr;gap:55px;padding-top:45px;padding-bottom:55px}.hero-art{min-height:340px;max-width:440px;width:100%;justify-self:center}.hero-art img{width:270px}.orbit{right:-7px;width:105px;height:105px;font-size:18px}.hero h1{font-size:76px}.section{padding:60px 6%}.section-title{display:block}.section-title>p{margin-top:22px}.menu-layout,.inquiry{grid-template-columns:1fr;gap:35px}.classics{max-width:450px;width:100%;justify-self:center}.packages{grid-template-columns:1fr}.packages article{padding:26px}.inquiry form{padding:22px}.form-grid{gap:12px}.inquiry>div p{max-width:100%}footer{flex-direction:column;text-align:center;gap:16px}.actions{gap:20px}h2{font-size:43px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.photo-section{background:#f8ebd966;border-top:1px solid #4a252420}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.photo-grid>a{text-decoration:none;min-width:0}.photo-grid figure{margin:0;border:1px solid var(--ink);border-radius:9px;overflow:hidden;background:var(--cream);transition:transform .2s,box-shadow .2s}.photo-grid>a:hover figure{transform:translateY(-5px);box-shadow:5px 5px 0 var(--pink)}.photo-grid img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.photo-grid figcaption{display:flex;justify-content:space-between;gap:12px;padding:18px;font-size:13px;font-weight:800}.photo-grid figcaption span{flex-shrink:0}@media(max-width:760px){.photo-grid{grid-template-columns:1fr;gap:24px;max-width:450px;margin:auto}.photo-grid img{aspect-ratio:4/5}}@media(prefers-reduced-motion:reduce){.photo-grid figure{transition:none}}

.hero-art.hero-photo{padding:0;min-height:0;border-radius:18px;background:var(--cream);display:block}.hero-art.hero-photo img{display:block;width:100%;height:auto;max-width:100%;mix-blend-mode:normal;border-radius:16px}.hero-photo .art-caption{display:block;padding:15px 12px;transform:none}.hero-photo .orbit{z-index:1}@media(max-width:760px){.hero-art.hero-photo{min-height:0;max-width:400px}.hero-art.hero-photo img{width:100%;height:auto}}



.brand-logo{transform:none;line-height:1;flex-shrink:0}.brand-logo img{display:block;width:88px;height:88px;object-fit:contain;border-radius:50%}header{padding-top:14px;padding-bottom:14px}
.trailer-story{background:var(--paper)}.trailer-story .section-title{margin-bottom:28px}.trailer-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:22px}.trailer-photo-pair figure{margin:0;background:var(--cream);border:1px solid #4a252430;border-radius:9px;overflow:hidden}.trailer-photo-pair img{display:block;width:100%;height:auto}.trailer-photo-pair figcaption{padding:14px 18px;font-size:13px;font-weight:800}
.catering-photo{max-width:330px;margin:0 auto 35px;background:var(--cream);border:1px solid var(--ink);border-radius:10px;overflow:hidden;box-shadow:6px 6px 0 #fff8f455}.catering-photo img{display:block;width:100%;height:auto}.catering-photo figcaption{padding:12px 14px;font-size:12px;font-weight:800}
@media(max-width:760px){.brand-logo img{width:66px;height:66px}.trailer-photo-pair{grid-template-columns:1fr;gap:20px}.trailer-story .section-title>p br{display:none}.catering-photo{max-width:300px}}

/* Menu collections share the site's palette, type, and restrained borders. */
.menu.section{padding-top:64px;padding-bottom:60px}.menu-intro{margin-bottom:30px}
.menu-collections{display:grid;grid-template-columns:.85fr 1.2fr;gap:24px;align-items:stretch}
.standard-collection,.specialty-collection{padding:26px;border:1px solid #4a252430;border-radius:12px}
.standard-collection{background:var(--paper)}.specialty-collection{background:#fce8ee}
.collection-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}
.collection-header .eyebrow{font-size:10px;margin-bottom:9px;letter-spacing:.1em}
.collection-header h3{font-family:Chewy,cursive;font-size:30px;line-height:1.12}
.collection-header img{display:block;width:95px;height:95px;flex:0 0 95px;object-fit:contain}
.bundle-price{font-size:16px;margin:12px 0 0;line-height:1.2;font-weight:800}.bundle-price strong{font-size:27px}
.standard-flavors{list-style:none;padding:0;margin:0}.standard-flavors li{display:flex;align-items:center;gap:15px;padding:15px 0;border-top:1px solid #4a252426;font-size:17px;font-weight:800}
.standard-flavors span{font-size:11px;opacity:.65;font-weight:600}
.signature-flavors{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;border-top:1px solid #4a252426;padding-top:18px}
.signature-flavors h4{font-family:Chewy,cursive;font-size:23px;line-height:1.15;margin:0}
.signature-flavors p{font-size:13px;line-height:1.5;margin:7px 0 0}
.menu-extras{margin-top:24px;padding:22px 26px;display:flex;gap:35px;align-items:center;background:#89b9c226;border-radius:10px}
.menu-extras h3{font-size:25px;flex-shrink:0}.menu-extras dl{display:flex;gap:30px;justify-content:space-between;flex:1;margin:0}
.menu-extras dl>div{display:flex;gap:13px;align-items:baseline;font-size:13px}.menu-extras dd{margin:0;font-weight:800;white-space:nowrap}
.menu-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:19px}
.menu-bottom p{font-size:11px;line-height:1.5;margin:0}
@media(max-width:950px){.menu-extras{display:block}.menu-extras h3{margin-bottom:14px}.menu-extras dl{gap:18px}.collection-header img{width:75px;height:75px;flex-basis:75px}.collection-header h3{font-size:27px}}
@media(max-width:760px){.menu.section{padding-top:45px;padding-bottom:42px}.menu-intro{margin-bottom:24px}.menu-collections{grid-template-columns:1fr;gap:18px}.standard-collection,.specialty-collection{padding:22px}.collection-header img{width:85px;height:85px;flex-basis:85px}.collection-header h3{font-size:30px}.signature-flavors{gap:18px}.signature-flavors h4{font-size:22px}.menu-extras{padding:20px 22px;margin-top:18px}.menu-extras dl{display:grid;gap:10px}.menu-extras dl>div{justify-content:space-between;font-size:14px}.menu-bottom{display:block}.menu-bottom .text-link{display:inline-block;margin-top:15px}}
@media(max-width:380px){.signature-flavors{grid-template-columns:1fr}.collection-header h3{font-size:27px}.collection-header img{width:70px;height:70px;flex-basis:70px}}

.smoothie-menu{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--blue);border:1px solid #4a252430;border-radius:12px;padding:23px 26px;margin-top:24px}.smoothie-menu .eyebrow{font-size:10px;margin-bottom:8px}.smoothie-menu h3{font-size:30px}.smoothie-menu ul{display:flex;gap:12px;list-style:none;padding:0;margin:0}.smoothie-menu li{background:var(--cream);border:1px solid #4a252430;border-radius:30px;padding:9px 21px;font-size:15px;font-weight:800}@media(max-width:760px){.smoothie-menu{display:block;padding:22px;margin-top:18px}.smoothie-menu h3{font-size:28px}.smoothie-menu ul{flex-wrap:wrap;margin-top:18px}.smoothie-menu li{padding:8px 18px}}

/* Matching, larger menu mascot artwork at each screen size. */
.menu .collection-header img{width:140px;height:140px;flex:0 0 140px;object-fit:contain}
@media(min-width:761px) and (max-width:1050px){.menu .collection-header{flex-wrap:wrap}.menu .collection-header img{width:125px;height:125px;flex-basis:125px}}
@media(max-width:760px){.menu .collection-header img{width:120px;height:120px;flex-basis:120px}}
@media(max-width:380px){.menu .collection-header img{width:100px;height:100px;flex-basis:100px}.menu .collection-header{gap:8px}.menu .collection-header h3{font-size:25px}}

/* Supplied menu artwork retains its original proportions. */
.menu .collection-header img{width:150px;height:auto;max-width:100%;flex:0 0 150px;object-fit:contain}
.standard-flavors li{gap:0}
.smoothie-menu ul{gap:24px;align-items:center}
.smoothie-menu li{display:flex;align-items:center;gap:10px;background:transparent;border:0;border-radius:0;padding:8px 0;font-family:Chewy,cursive;font-size:24px;font-weight:400}
.flavor-dot{display:block;width:17px;height:17px;flex:0 0 17px;border:1px solid #4a252440;border-radius:50%}
.flavor-pineapple .flavor-dot{background:#f7d978}.flavor-strawberry .flavor-dot{background:#ee8ca5}
@media(min-width:761px) and (max-width:1050px){.menu .collection-header img{width:140px;height:auto;flex-basis:140px}}
@media(max-width:760px){.menu .collection-header img{width:135px;height:auto;flex-basis:135px}.smoothie-menu ul{gap:25px}.smoothie-menu li{font-size:24px}}
@media(max-width:380px){.menu .collection-header img{width:110px;height:auto;flex-basis:110px}.smoothie-menu ul{gap:20px}.smoothie-menu li{font-size:22px}}

/* Blend the supplied mascot backgrounds into their menu panels. */
.menu .collection-header img{mix-blend-mode:multiply}

.menu .collection-header img{mix-blend-mode:normal}

.ticker{text-align:center;white-space:normal;overflow:visible;padding:15px 20px;text-wrap:balance}
@media(max-width:760px){.ticker{font-size:11px;line-height:1.9;letter-spacing:.08em}.ticker span{margin:0 10px}}

.trailer-photo-pair{align-items:start}.trailer-photo-stack{display:grid;gap:24px;min-width:0}.pink-box-photo{background:var(--pink)}.pink-box-photo img{width:100%;height:auto}.pink-box-photo figcaption{background:var(--pink)}
@media(max-width:760px){.trailer-photo-stack{gap:20px}}

.menu-item-gallery.section{padding-top:12px;padding-bottom:55px}.menu-item-gallery .section-title{margin-bottom:25px}.menu-item-gallery h2{font-size:40px}.item-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.item-gallery-grid figure{margin:0;overflow:hidden;border:1px solid #4a252430;border-radius:12px;background:var(--paper)}.item-photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--pink)}.item-photo img{width:100%;height:100%;object-fit:cover;display:block}.standard-item-photo img{object-position:center 66%}.specialty-item-photo img{position:absolute;max-width:none;width:100%;height:auto;top:50%;transform:translateY(-50%)}.dole-item-photo img{object-position:center 76%}.item-gallery-grid figcaption{padding:19px}.item-gallery-grid h3{font-size:26px}.item-gallery-grid figcaption p{font-size:12px;line-height:1.5;margin:9px 0 0}
@media(max-width:760px){.menu-item-gallery.section{padding-top:10px;padding-bottom:40px}.item-gallery-grid{grid-template-columns:1fr;gap:20px}.menu-item-gallery h2{font-size:36px}.item-photo{aspect-ratio:4/3}.item-gallery-grid figcaption{padding:18px}}

.standard-flavor-photo img{object-position:center 60%}
.item-gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.item-gallery-grid>figure{grid-column:span 2}
.item-gallery-grid>figure:nth-child(n+4){grid-column:span 3}
@media(max-width:760px){.item-gallery-grid{grid-template-columns:1fr}.item-gallery-grid>figure,.item-gallery-grid>figure:nth-child(n+4){grid-column:auto}}

.cookie-butter-photo img{object-position:center 65%}
.item-gallery-grid>figure:nth-child(n+4){grid-column:span 2}
@media(max-width:760px){.item-gallery-grid>figure:nth-child(n+4){grid-column:auto}}

.cinnaholic-photo img{object-position:center 55%}

.nutty-photo img{object-position:center 55%}

.strawberry-swoon-photo img{object-position:center 55%}

.specialty-assortment-photo img{object-position:center 62%}

.social-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.social-feature-grid>a>figure>img{aspect-ratio:4/3;object-fit:cover}
.tv-preview{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--ink)}
.tv-preview img{position:absolute;display:block;width:100%;height:auto;max-width:none;top:50%;transform:translateY(-50%)}
.tv-badge{position:absolute;top:18px;left:18px;background:var(--pink);color:var(--ink);border:1px solid var(--ink);padding:8px 13px;border-radius:5px;font-size:12px;letter-spacing:.1em;font-weight:800}
.tv-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fff8f4e8;color:var(--ink);font-size:22px;padding-left:3px;box-shadow:0 2px 15px #0003}
.tv-feature strong{font-family:Chewy,cursive;font-size:24px;font-weight:400}.tv-description{display:block;font-size:12px;font-weight:600;margin-top:4px}
@media(max-width:760px){.social-feature-grid{grid-template-columns:1fr}.tv-badge{top:12px;left:12px;font-size:11px}}

/* Three equally sized, full-photo square social tiles. */
.social-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:22px}
.social-feature-grid>a{display:block;aspect-ratio:1;min-width:0}
.social-feature-grid>a>figure{position:relative;width:100%;height:100%;overflow:hidden}
.social-feature-grid>a>figure>img,.instagram-preview,.tv-preview{width:100%;height:100%;aspect-ratio:auto}
.social-feature-grid>a>figure>img{object-fit:cover;aspect-ratio:auto}
.instagram-preview{position:relative}
.instagram-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 68%}
.tv-preview img{top:50%;width:100%;height:auto;transform:translateY(-50%)}
.social-feature-grid figcaption{position:absolute;bottom:0;left:0;right:0;min-height:76px;background:#fff8f4f2;align-items:center;padding:14px 17px}
.instagram-feature strong{font-family:Chewy,cursive;font-size:23px;font-weight:400}
.instagram-badge{position:absolute;top:16px;left:12px;background:var(--blue);padding:7px 10px;border:1px solid #4a252450;border-radius:5px;font-size:10px;letter-spacing:.06em;font-weight:800}
.tv-badge{top:16px;left:12px;font-size:10px;padding:7px 10px}
@media(max-width:760px){.social-feature-grid{grid-template-columns:1fr;gap:22px;max-width:480px}.social-feature-grid>a{aspect-ratio:1}.instagram-feature strong{font-size:26px}}

.facebook-tv-preview{position:relative;width:100%;height:100%;background:var(--pink)}.facebook-tv-preview img{display:block;width:100%;height:100%;object-fit:contain;padding:28px 28px 85px}
.social-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.social-feature-grid{grid-template-columns:1fr}}

.facebook-tv-preview img{padding:0;width:100%;height:100%;object-fit:contain;background:#2c2220}

.tv-preview img{position:static;top:auto;transform:none;width:100%;height:100%;object-fit:contain;background:#2c2220}

.instagram-mascot-preview img{object-fit:contain;object-position:center;background:var(--pink)}
.social-feature-grid .instagram-feature figcaption{display:none}

.social-feature-grid .facebook-follow-feature figcaption{display:none}

.social-feature-grid .instagram-mascot-preview img{width:100%;height:100%;object-fit:contain;object-position:center}

/* Keep all four section links available on mobile. */
header nav>a:nth-child(3){display:inline}
header nav{gap:25px}
@media(max-width:760px){header{gap:15px;flex-wrap:wrap}header nav{gap:17px;flex-wrap:wrap}header nav>a{font-size:13px}}
@media(max-width:420px){header{justify-content:center}header nav{width:100%;justify-content:center;gap:20px}}

/* Cream scallops over the brand-blue top border. */
.ribbon.ribbon-scallop{height:42px;padding:0;background-color:var(--cream);background-image:radial-gradient(circle at 25px 15px,var(--blue) 24.5px,transparent 25px),linear-gradient(var(--blue),var(--blue));background-size:50px 42px,100% 15px;background-position:0 0,0 0;background-repeat:repeat-x,no-repeat}

.our-story-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.story-portrait{margin:0;border:1px solid #4a252430;border-radius:12px;overflow:hidden;background:var(--cream)}
.story-portrait img{display:block;width:100%;height:auto}
.story-portrait figcaption{padding:14px 18px;font-size:13px;font-weight:800}
.story-copy h2{font-size:clamp(38px,4.5vw,58px)}
.story-draft{margin-top:25px}.story-draft p{font-size:16px;line-height:1.75;margin:0 0 20px}
.story-draft .story-placeholder-label{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.65;margin-bottom:14px}
@media(max-width:760px){.our-story-layout{grid-template-columns:1fr;gap:30px}.story-portrait{max-width:440px;width:100%;margin:auto}.story-copy h2{font-size:42px}.story-draft p{font-size:15px}}

.social-link-icon{display:inline-block;width:19px;height:19px;vertical-align:middle;margin-left:6px}

/* Persistent section navigation with compact top spacing. */
html{scroll-padding-top:112px}
header{position:sticky;top:0;z-index:100;background:var(--cream);padding-top:8px;padding-bottom:8px;box-shadow:0 3px 12px #4a252408}
@media(max-width:760px){html{scroll-padding-top:100px}}
@media(max-width:420px){html{scroll-padding-top:145px}header{row-gap:8px}}

.catering-carousel{max-width:640px;margin:0 auto 35px;border:1px solid var(--ink);border-radius:12px;background:var(--cream);overflow:hidden;box-shadow:6px 6px 0 #fff8f455}
.catering-slide{margin:0}.catering-slide[hidden]{display:none}.catering-slide img{display:block;width:100%;height:360px;object-fit:contain;background:var(--paper);touch-action:pan-y}.catering-slide figcaption{padding:13px 18px;font-size:13px;font-weight:800;min-height:48px}
.catering-carousel-controls{display:flex;align-items:center;justify-content:center;gap:25px;padding:10px 16px 16px}
.catering-carousel-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;background:var(--pink);color:var(--ink);font-size:22px;cursor:pointer}
.carousel-status{font-size:13px;font-weight:800;min-width:45px}
@media(max-width:760px){.catering-slide img{height:290px}}

/* Catering controls sit directly over the photo. */
.catering-carousel{position:relative;background:var(--paper)}
.catering-slide{position:relative}
.catering-slide figcaption{position:absolute;bottom:0;left:0;right:0;min-height:0;padding:35px 65px 42px;background:linear-gradient(transparent,#2d1716c9);color:#fff8f4;font-size:12px;pointer-events:none}
.catering-carousel-controls{position:absolute;inset:0;padding:0;display:block;pointer-events:none}
.catering-carousel-controls button{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;background:#fff8f4e8;border:1px solid #4a252450;box-shadow:0 2px 8px #0002;pointer-events:auto}
.catering-carousel-controls .carousel-prev{left:12px}
.catering-carousel-controls .carousel-next{right:12px}
.catering-carousel-controls .carousel-status{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:#2d1716b8;color:var(--cream);border-radius:20px;padding:3px 12px;font-size:11px;min-width:0}
@media(max-width:760px){.catering-slide figcaption{padding-left:48px;padding-right:48px}.catering-carousel-controls button{width:38px;height:38px}.catering-carousel-controls .carousel-prev{left:8px}.catering-carousel-controls .carousel-next{right:8px}}

#estimate-notice{position:fixed;max-width:520px;width:calc(100% - 36px);padding:35px;border:2px solid var(--ink);border-radius:16px;background:var(--cream);color:var(--ink);box-shadow:8px 8px 0 var(--pink)}
#estimate-notice::backdrop{background:#2d171699}
#estimate-notice h2{font-size:35px;line-height:1.1}
#estimate-notice>p:not(.eyebrow){font-size:15px;line-height:1.7;margin:22px 0}
#estimate-notice .eyebrow{margin-top:8px;font-size:10px}
.notice-close{position:absolute;top:8px;right:10px;width:36px;height:36px;border:0;background:transparent;color:var(--ink);font-size:27px;cursor:pointer}
.notice-back{border:0;background:transparent;color:var(--ink);text-decoration:underline;font-size:13px;cursor:pointer;padding:10px}
#estimate-notice .actions{gap:14px}
@media(max-width:760px){#estimate-notice{padding:28px 23px}#estimate-notice h2{font-size:30px}}

.catering-single-photo{position:relative;max-width:640px;margin:0 auto 35px;border:1px solid var(--ink);border-radius:12px;overflow:hidden}
.catering-single-photo img{display:block;width:100%;height:auto}
.catering-single-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 18px 16px;background:linear-gradient(transparent,#2d1716c9);color:var(--cream);font-size:13px;font-weight:800}

.package-description{grid-column:1 / -1;background:#89b9c226;border:1px solid #4a252425;border-radius:7px;padding:15px 17px;margin:0 0 16px;text-align:left}
.package-description strong{font-family:Chewy,cursive;font-size:22px;font-weight:400}
.package-description p{font-size:13px;line-height:1.6;margin:6px 0 0}

/* Full-width pink sticky navigation. */
header{max-width:none;background:var(--pink);padding-left:max(6%,calc((100vw - 1120px)/2));padding-right:max(6%,calc((100vw - 1120px)/2))}

.brand-logo img{border-radius:0}

/* Crop the supplied footer artwork at the pink circle, hiding white corners. */
footer .footer-circle-logo{width:88px;height:88px;overflow:hidden;border-radius:50%;position:relative}
footer .footer-circle-logo img{position:absolute;width:112.82px;height:112.82px;max-width:none;left:-12.41px;top:-13.54px;border-radius:0;clip-path:circle(38.9% at 50% 51%)}
@media(max-width:760px){footer .footer-circle-logo{width:76px;height:76px}footer .footer-circle-logo img{width:97.44px;height:97.44px;left:-10.72px;top:-11.69px}}

header{justify-content:center;min-height:62px}header nav{justify-content:center}@media(max-width:420px){header{min-height:58px}}

/* Prevent native date controls from expanding grid columns, especially in iOS. */
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid>label,.inquiry form{min-width:0}
#party-form input,#party-form select,#party-form textarea{max-width:100%;min-width:0;box-sizing:border-box}
#party-form input[type="date"]{display:block;width:100%;min-inline-size:0}
#party-form input[type="date"]::-webkit-date-and-time-value{text-align:left;min-width:0}
#total{font-size:clamp(20px,3vw,36px);text-align:right}
@media(max-width:760px){#party-form .form-grid{grid-template-columns:minmax(0,1fr);gap:0}#party-form input,#party-form select,#party-form textarea{font-size:16px}#party-form .estimate{gap:15px;flex-wrap:wrap}}

.find-us-section{background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.find-us-section>div>p:not(.eyebrow){max-width:520px;margin-bottom:0}.find-us-card{padding:30px;background:var(--cream);border:1px solid #4a252430;border-radius:16px}.find-us-card h3{font-size:32px}.find-us-card p{margin:14px 0 24px}.find-us-card .button{max-width:100%;text-align:center}#find-us{scroll-margin-top:100px}@media(max-width:760px){.find-us-section{grid-template-columns:1fr;gap:24px}.find-us-card{padding:24px}header nav{flex-wrap:wrap;justify-content:center;gap:10px 18px}header nav>a{display:inline-block!important}}
.find-us-cities{font-size:15px}.find-us-card .eyebrow{margin-bottom:12px}.upcoming-events{margin:18px 0 24px}.schedule-pending{font-size:15px}.find-us-card .upcoming-events p{margin:0}

.schedule-month{font-weight:800}.event-list{list-style:none;padding:0;margin:12px 0}.event-list li{display:grid;grid-template-columns:70px minmax(0,1fr);gap:16px;align-items:start;padding:18px 0;border-bottom:1px solid #4a252425}.event-list time{font-size:13px;font-weight:800;background:var(--pink);padding:8px 6px;border-radius:6px;text-align:center}.event-list h4{font-size:23px}.find-us-card .event-list p{font-size:14px;margin:7px 0 0}.event-note{font-size:13px}.find-us-section{align-items:start}

.find-us-card .event-address{font-size:13px;line-height:1.5;margin-top:10px}.event-directions{display:inline-block;margin-top:8px;font-size:13px}
