/* LAYOUT 02 — Sweeties pastel patisserie. Same content and checkout. */
body{background:#fff;max-width:none}.announcement{background:var(--pastel-yellow);padding:12px 15px}header{max-width:1320px;margin:auto;height:108px;padding:0 5%;border:0}header .wordmark{font-size:53px}nav{gap:30px}nav .pill.small{background:var(--pastel-lavender);color:var(--ink);border:0;padding:16px 24px}.hero{position:relative;display:flex;flex-direction:column;align-items:center;background:#fff;min-height:0;max-width:1320px;margin:auto;padding:32px 6% 60px;overflow:visible}.hero-copy{padding:0;text-align:center;width:100%;z-index:1}.hero-copy .eyebrow{display:inline-flex;align-items:center;gap:4px;border:1px solid #2c253326;border-radius:40px;padding:5px 18px;font-size:10px}.hero-copy h1{font-size:clamp(72px,8.1vw,112px);line-height:1.07;margin:24px 0 17px;letter-spacing:-.065em}.hero-copy h1 br{display:none}.hero-copy .love{color:var(--ink);position:relative;z-index:0}.hero-copy .love::before{content:'';position:absolute;inset:14% -6% 1%;background:var(--pastel-pink);z-index:-1;border-radius:50% 45% 48% 40%;transform:rotate(-7deg)}.hero-copy .love svg{display:none}.hero-copy>p{font-size:17px;line-height:1.5;margin:0 auto 22px}.hero-copy>p br{display:none}.hero-copy .pill{padding:16px 25px}.hero-note{font-size:11px;margin:15px 0 28px}.hero-art{height:370px;width:100%;max-width:1100px;min-height:0;position:relative}.hero-photo{border:0;height:100%;min-height:0;border-radius:180px 180px 28px 28px;background:var(--pastel-aqua)}.hero-photo::before{font-size:36px}.round-sticker{top:25px;right:-24px;width:135px;height:135px;transform:rotate(12deg);border:6px solid white;box-shadow:none;background:var(--pastel-green)}.hero-art::before{content:'';position:absolute;left:-30px;bottom:18px;z-index:2;font-size:115px;color:var(--pastel-lavender);line-height:1;transform:rotate(15deg)}.ticker{background:var(--pastel-pink);border-top:1px solid #2c253315;border-bottom:1px solid #2c253315;padding:24px 0}.ticker>div{font-size:20px}.ticker span{margin:0 36px}.section{max-width:1240px;margin:auto;padding:95px 5%}.section-heading{align-items:center;margin-bottom:42px}.section-heading h2{font-size:51px;line-height:1.08}.section-heading h2 br{display:none}.section-heading>div{max-width:650px}.section-heading>p{min-width:210px;font-size:14px}.menu .section-heading{display:block;text-align:center}.menu .section-heading>div{max-width:none}.menu .section-heading>p{margin-top:20px}.menu .section-heading>p br{display:none}.product-grid{display:flex;flex-direction:column;gap:20px}.product{position:relative;display:grid;grid-template-columns:230px minmax(0,1fr) 190px;grid-template-rows:auto 1fr;column-gap:35px;row-gap:12px;padding:28px 35px;border-radius:24px;min-height:245px;align-items:center}.classic{background:var(--pastel-peach)}.gluten{background:var(--pastel-green)}.friendly{background:var(--pastel-lavender)}.product-top{grid-column:2/4;grid-row:1;font-size:10px;align-self:start}.product-photo{grid-column:1;grid-row:1/3;width:100%;height:190px;margin:0;border-radius:100px 100px 22px 22px;background:#ffffff60;border:1px dashed #2c253340}.product-photo>span{font-size:9px}.product-copy{grid-column:2;grid-row:2;align-self:center}.product h3{font-size:37px;min-height:0;margin:0 0 15px;line-height:1.05}.product h3>span{font-size:31px}.product p{font-size:14px;line-height:1.5}.product-price{grid-column:3;grid-row:2;align-self:center;margin:0 0 69px;text-align:center;font-size:12px}.product .product-bottom{grid-column:3;grid-row:2;align-self:center;display:flex;background:var(--ink);color:white;border:0;border-radius:40px;padding:15px 18px;margin:30px 0 0;font-size:12px}.product .arrow{background:transparent;width:auto;height:auto;font-size:23px}.product .product-bottom:hover{background:#57406f}.allergen{margin-top:25px;max-width:920px}.celebrate{padding-top:10px;padding-bottom:95px}.occasion-grid{gap:26px}.occasion{border-radius:25px;background:var(--pastel-yellow);overflow:hidden}.occasion.wedding{background:var(--pastel-pink)}.occasion-photo{height:290px;margin:22px 22px 0;border-radius:180px 180px 15px 15px;background:#ffffff60;border:1px dashed #2c253335}.wedding .occasion-photo{background:#ffffff60}.occasion-copy{padding:30px 35px 35px}.occasion h3{font-size:49px}.occasion-copy>p{max-width:none}.occasion .text-link{border:0;background:var(--ink);color:white;padding:14px 20px;border-radius:40px;font-size:12px;gap:22px}.story{display:grid;grid-template-columns:1.1fr 1fr;max-width:1240px;margin:0 auto 20px;background:var(--pastel-aqua);border-radius:32px;overflow:hidden;min-height:530px}.story-copy{grid-column:1;grid-row:1;padding:65px 12%}.story-copy h2{font-size:43px}.story-art{grid-column:2;grid-row:1;background:transparent;padding:45px}.story-art::before{content:'';position:absolute;inset:55px 30px;background:var(--pastel-lavender);border-radius:46% 54% 44% 56% / 54% 40% 60% 46%;transform:rotate(8deg)}.story-statement{font-size:65px;line-height:1.04;transform:rotate(4deg)}.story-statement em{color:var(--ink)}.story-star{font-size:90px;bottom:45px;right:30px;color:white;opacity:1}.outline-heart{font-size:80px;left:25px;top:45px;color:var(--ink);z-index:1}.faq{grid-template-columns:.8fr 1.2fr;gap:65px;padding-top:85px;padding-bottom:85px}.faq h2{font-size:43px}.faq-list details{padding:23px 0}.closing{max-width:1140px;border-radius:32px;margin:0 auto 50px;padding:60px 30px 70px;background:var(--pastel-yellow)}.closing h2{font-size:110px;margin-top:15px}.closing-flower{left:auto;right:-40px;bottom:-60px;color:var(--pastel-pink);font-size:260px}.closing>h2,.closing>p,.closing>.eyebrow{position:relative;z-index:1}footer{max-width:1240px;margin:auto;padding:25px 5% 50px}footer .wordmark{font-size:50px}.dialog-note{background:var(--pastel-yellow)}.quantity button{background:var(--pastel-pink)}
@media(min-width:1600px){.hero{min-height:0}}
@media(max-width:1000px){nav{gap:20px}header{height:95px}.hero{padding-top:24px}.hero-art{height:330px}.product{grid-template-columns:180px minmax(0,1fr) 160px;gap:20px;padding:25px}.product-photo{height:175px}.product h3{font-size:30px}.product h3>span{font-size:27px}.product p{font-size:13px}.story{margin:0 4%;border-radius:24px}.story-copy{padding:50px 10%}.story-copy h2{font-size:35px}.story-statement{font-size:52px}.story-art{padding:30px}.story-art::before{inset:60px 15px}.closing{margin:0 5% 35px}.section-heading h2{font-size:43px}}
@media(max-width:700px){header{height:88px;padding:0 6%}header .wordmark{font-size:44px}nav>a{display:none}nav .pill.small{font-size:11px;padding:12px 18px;gap:15px}.hero{padding:23px 6% 35px}.hero-copy .eyebrow{font-size:8px;padding:4px 11px}.hero-copy h1{font-size:clamp(57px,12vw,79px);margin:23px 0 21px;line-height:1.02}.hero-copy h1 br{display:block}.hero-copy>p{font-size:15px;max-width:290px}.hero-note{font-size:9px;margin-bottom:25px}.hero-art{height:270px}.hero-photo{border-radius:150px 150px 22px 22px}.round-sticker{height:100px;width:100px;right:-10px;top:5px;border-width:4px;font-size:9px}.round-sticker strong{font-size:27px}.hero-art::before{font-size:75px;left:-17px;bottom:5px}.hero-photo>span{font-size:9px}.hero-photo>small{font-size:11px}.ticker{padding:20px 0}.ticker>div{font-size:17px}.section{padding:60px 6%}.section-heading h2{font-size:36px}.section-heading>p{font-size:13px}.menu .section-heading>p br{display:block}.product{grid-template-columns:115px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:18px;row-gap:10px;padding:22px;border-radius:22px;min-height:0}.product-top{grid-column:1/3;grid-row:1;font-size:8px;margin-bottom:4px}.product-photo{grid-column:1;grid-row:2;height:150px;border-radius:75px 75px 12px 12px}.product-photo>span{font-size:7px;padding:10px}.product-photo::before{font-size:30px}.product-copy{grid-column:2;grid-row:2;padding:0}.product h3{font-size:26px;line-height:1.08;margin-bottom:10px}.product h3>span{font-size:22px}.product p{font-size:11px;line-height:1.5}.product p br{display:none}.product-price{grid-column:1;grid-row:3;margin:0;text-align:left;font-size:10px;align-self:center}.product .product-bottom{grid-column:2;grid-row:3;margin:8px 0 0;padding:12px 15px;font-size:10px;gap:10px}.product .arrow{font-size:19px}.allergen{font-size:10px}.celebrate{padding-top:0}.occasion-grid{grid-template-columns:1fr;gap:20px}.occasion-photo{height:250px;margin:18px 18px 0}.occasion-copy{padding:25px 28px 30px}.occasion h3{font-size:42px}.occasion p{font-size:14px}.story{grid-template-columns:1fr;margin:0 6%;border-radius:25px}.story-copy{grid-column:1;grid-row:2;padding:35px 28px 45px}.story-art{grid-column:1;grid-row:1;min-height:330px;padding:35px}.story-art::before{inset:20px 25px}.story-statement{font-size:55px}.outline-heart{top:22px;left:25px;font-size:65px}.story-star{bottom:15px;right:20px;font-size:90px}.story-copy h2{font-size:36px;margin-top:15px}.story-copy p{font-size:14px}.faq{grid-template-columns:1fr;gap:30px}.faq h2{font-size:37px}.closing{margin:0 6% 25px;padding:50px 20px 55px;border-radius:25px}.closing h2{font-size:68px}.closing .eyebrow{font-size:9px}.closing>p{font-size:14px}.closing-flower{font-size:190px;bottom:-50px;right:-40px}footer{padding:25px 6% 35px}footer .wordmark{font-size:42px}footer>p{display:none}}
@media(max-width:370px){.product{grid-template-columns:95px minmax(0,1fr);padding:18px;column-gap:14px}.product h3{font-size:23px}.product h3>span{font-size:20px}.hero-copy h1{font-size:55px}}

/* Exact supplied script logo, converted from PDF to SVG. */
.wordmark{display:inline-flex;align-items:center;line-height:1;letter-spacing:0;flex-shrink:0}.wordmark img{display:block;width:210px;height:70px;object-fit:contain}header{height:112px}@media(max-width:700px){header{height:90px}.wordmark img{width:165px;height:55px}}

/* Real Sweeties photography and supporting bakery story. */
.hero-art{height:480px}.hero-photo{background:#ffdedf}.hero-photo img{object-position:center 57%}.product-photo{border:0;background:transparent;overflow:visible}.product-photo img{object-fit:contain;position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 12px 9px #2c25331a)}.product-photo.has-photo{border-radius:0}.photo-context{text-align:center;font-size:11px;color:#65586d;line-height:1.5;margin:26px 0 0}.birthday .occasion-photo img{object-position:center 44%}.wedding .occasion-photo img{object-position:50% 64%}.occasion-photo.has-photo{border:0}.behind-scenes{padding-top:65px;padding-bottom:20px}.bakery-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.bakery-grid figure{margin:0;border-radius:24px;overflow:hidden;background:var(--pastel-peach)}.bakery-grid .swirl-photo{background:var(--pastel-aqua)}.bakery-grid img{display:block;width:100%;height:380px;object-fit:cover}.bake-photo img{object-position:center 65%}.swirl-photo img{object-position:center 50%}.bakery-grid figcaption{padding:30px 32px 34px}.bakery-grid figcaption>span{font-size:10px;font-weight:800;letter-spacing:.1em}.bakery-grid h3{font-size:31px;line-height:1.15;margin:14px 0}.bakery-grid p{font-size:14px}.sweet-invitation{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 5px;border-bottom:1px solid #2c253322}.sweet-invitation p{font-size:15px;font-weight:600}.sweet-invitation .text-link{margin:0;flex-shrink:0}.closing{background:var(--pastel-pink) url('assets/sweeties-pattern.png') center / 550px;isolation:isolate}.closing::before{content:'';position:absolute;inset:25px 20%;border-radius:100px;background:#ffffffed;z-index:0}.closing-flower{display:none}.closing>h2{font-size:90px}.closing>.eyebrow{margin-top:10px}.closing>.pill{margin-bottom:10px}@media(max-width:700px){.hero-art{height:320px}.hero-photo img{object-position:50% 60%}.product-photo{height:145px}.photo-context{font-size:10px}.behind-scenes{padding-top:45px;padding-bottom:10px}.bakery-grid{grid-template-columns:1fr;gap:22px}.bakery-grid img{height:300px}.bakery-grid figcaption{padding:25px}.bakery-grid h3{font-size:29px}.sweet-invitation{display:block;text-align:center;padding:24px 10px}.sweet-invitation p{font-size:14px;margin-bottom:13px}.closing{background-size:350px}.closing::before{inset:20px 12px;border-radius:45px}.closing>h2{font-size:62px}}

/* Version 3: full-width, solid pastel closing section. */
.closing{width:100%;max-width:none;margin:0;border-radius:0;background:var(--pastel-pink);padding:75px 24px 85px}.closing::before{display:none}.closing-flower{display:none}@media(max-width:700px){.closing{width:100%;max-width:none;margin:0;border-radius:0;padding:60px 20px 65px;background:var(--pastel-pink)}}

/* Version 5: blue and pink Sweeties share the birthday image. */
.birthday-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;background:#fff}.birthday-half{position:relative;height:100%;min-width:0;overflow:hidden}.birthday .birthday-half img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.birthday-half.has-photo::before{display:none}

/* Version 6: birthday pattern; custom-colour trays in the frosting story. */
.birthday .occasion-photo img{object-position:center}.frosting-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;height:380px;background:#fff;overflow:hidden}.bakery-grid .frosting-split img{width:100%;height:100%;min-width:0;object-fit:cover;object-position:center}@media(max-width:700px){.frosting-split{height:300px}}

/* Version 9: ingredient story and real bite-sized scale. */
.ingredients-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:center;padding-bottom:30px}
.ingredients-photo{border-radius:180px 180px 28px 28px;overflow:hidden;background:var(--pastel-peach)}
.ingredients-photo img{display:block;width:100%;height:580px;object-fit:cover}
.ingredients-copy h2{font-size:clamp(38px,4.6vw,62px);line-height:1.05;margin:12px 0 25px}
.ingredients-copy p{font-size:17px;line-height:1.7;max-width:440px}
.ingredients-copy .ingredients-intro{margin-top:22px;margin-bottom:0}
.story-art.story-photo{position:relative;margin:0;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}
.story-art.story-photo::before{display:none}
.story-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:24px}
.story-photo figcaption{font-size:clamp(24px,2.6vw,36px);font-weight:800;line-height:1.15;text-align:center;padding:20px 10px 0;letter-spacing:-.04em}
@media(max-width:700px){.ingredients-feature{grid-template-columns:1fr;gap:30px;padding-bottom:10px}.ingredients-photo img{height:auto;max-height:540px;object-fit:cover}.ingredients-copy h2{font-size:43px}.ingredients-copy p{font-size:15px}.story-art.story-photo{padding:24px 24px 0;min-height:0}.story-photo figcaption{font-size:28px;padding-top:18px}}

/* Version 10: a little party energy. */
.story-photo figcaption{transform:rotate(-3deg);padding-top:22px;line-height:1.25}
.story-photo figcaption span{display:inline-block;background:var(--pastel-pink);padding:3px 14px 7px;border-radius:18px;margin-top:5px}

/* Version 11: compact story photo aligned with the copy. */
.story-art.story-photo{padding:38px 40px 38px 10px;align-self:center;justify-content:center}
.story-photo img{width:100%;max-width:350px;height:auto;aspect-ratio:1;border-radius:24px}
@media(max-width:700px){.story-art.story-photo{padding:28px 28px 0;justify-self:center;width:100%}.story-photo img{max-width:300px}}

/* Version 12: larger photo without changing the blue section's dimensions. */
@media(min-width:701px){
.story-art.story-photo{align-self:stretch;padding:0;min-height:0;overflow:hidden}
.story-art.story-photo img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 48px);max-width:450px;height:auto;max-height:calc(100% - 48px);aspect-ratio:1;object-fit:cover}
}

/* Version 13: continuous news-style highlights. Each phrase appears once per cycle. */
.ticker{position:relative;padding:24px 0;overflow:hidden}
.ticker .ticker-track{display:flex;width:max-content;text-align:left;animation:sweeties-ticker-scroll 65s linear infinite;will-change:transform}
.ticker-group{display:flex;align-items:center;flex-shrink:0;white-space:nowrap}
.ticker .ticker-message{margin:0;color:var(--ink)}
.ticker .ticker-separator{margin:0 36px;color:var(--ink)}
.ticker:hover .ticker-track,.ticker:focus-within .ticker-track,.ticker.is-paused .ticker-track{animation-play-state:paused}
.ticker-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:1px solid #2c253340;border-radius:50%;background:var(--pastel-pink);color:var(--ink);font-size:14px;cursor:pointer;z-index:1}
.ticker:focus-visible,.ticker-toggle:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}
@keyframes sweeties-ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:700px){.ticker{padding:20px 0}.ticker .ticker-separator{margin:0 24px}}
@media(prefers-reduced-motion:reduce){.ticker .ticker-track{animation:none;width:auto;padding:0 48px 0 20px}.ticker-group{flex-wrap:wrap;justify-content:center;white-space:normal;gap:12px;line-height:1.5}.ticker-group[aria-hidden="true"]{display:none}.ticker .ticker-separator{margin:0 6px}.ticker-toggle{display:none}}

/* Version 14: contact details. */
.contact-section{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:40px;padding-bottom:65px}
.contact-section h2{font-size:clamp(32px,4vw,46px);margin:15px 0}
.contact-section p{max-width:480px;font-size:15px;line-height:1.6}
.contact-email{display:inline-flex;gap:20px;align-items:center;font-weight:800;font-size:clamp(17px,2.1vw,25px);color:var(--ink);text-decoration:none;border-bottom:2px solid var(--ink);padding:10px 0;white-space:nowrap}
.contact-email:hover{color:#704775}
footer a{color:inherit;text-decoration:none}footer a:hover{text-decoration:underline}
@media(max-width:700px){.contact-section{flex-direction:column;align-items:flex-start;gap:15px;padding-top:15px;padding-bottom:45px}}

/* Version 15: contact form triggers. */
button.contact-email{background:none;border:0;border-bottom:2px solid var(--ink);border-radius:0;cursor:pointer;font-family:inherit;text-align:left}
.footer-contact{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer}
.footer-contact:hover{text-decoration:underline}
#contact-dialog{max-height:90dvh;overflow-y:auto}

/* Version 16: compact contact heading. */
.contact-section h2.contact-heading{font-size:11px;letter-spacing:.12em;line-height:1.5;margin:0 0 15px}

/* Version 17: vector decorations, consistent on iOS and desktop. */
.sweeties-star-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;overflow:visible}
.hero-art::before{content:'';width:1em;height:1em;background:var(--pastel-lavender);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M16%203v26M3%2016h26M7%207l18%2018M7%2025L25%207%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M16%203v26M3%2016h26M7%207l18%2018M7%2025L25%207%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;pointer-events:none}

/* Version 18: platform-independent arrows and ticker controls. */
.sweeties-arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;overflow:visible}
.pill .sweeties-arrow-icon{width:1.15em;height:1.15em}
.ticker-control-icon{display:block;width:16px;height:16px;margin:auto}
