/* Bon Dia: contemporary neighborhood panaderia, sunny editorial direction.
   DESIGN_VARIANCE 8, MOTION_INTENSITY 7, VISUAL_DENSITY 3.
   One palette; pill controls and 22px media corners. z-index: art 0, content 1, skip 10. */
@font-face{font-family:Bricolage;src:url('assets/display.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:DM Sans;src:url('assets/body.woff2') format('woff2');font-weight:100 1000;font-display:swap}
:root{--paper:#fff3be;--ink:#1c3570;--muted:#4e5874;--accent:#1c3570;--button-text:#fff6cf;--subtle:#f8e7a6;--line:#c3bd9b;--field:#fff8dc;--outline:#d5c99f;--shadow:#5b512627;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3,.brand-name{font-family:Bricolage,Arial,sans-serif}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--ink);color:var(--paper)}.shell{width:min(1360px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;top:12px;left:12px;z-index:10;background:var(--ink);color:var(--paper);padding:12px 20px}.skip-link:not(:focus){clip-path:inset(50%);height:1px;width:1px;padding:0;overflow:hidden}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.brand-name{font-size:42px;font-weight:800;letter-spacing:-2.8px}.brand-period{padding-left:2px}.brand-descriptor{font-size:9px;letter-spacing:2.1px;font-weight:700;margin:7px 0 0 3px}.main-nav{display:flex;gap:30px;font-size:14px;font-weight:500}.main-nav a{padding:12px 0}.main-nav a:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;white-space:nowrap;background:var(--accent);color:var(--button-text);border:1px solid var(--accent);padding:17px 25px;border-radius:100px;font-size:15px;font-weight:600;transition:transform .25s,box-shadow .25s}.button span{font-size:23px;line-height:1}.button:hover{transform:translateY(-3px);box-shadow:0 7px 0 var(--shadow)}.button:active{transform:translateY(0) scale(.98);box-shadow:none}.button-small{font-size:13px;padding:12px 20px;gap:22px}.link-button{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:6px}.hero{position:relative;display:grid;grid-template-columns:1.07fr 1fr;gap:0;align-items:center;height:calc(100svh - 92px);min-height:540px;max-height:730px}.hero-copy{position:relative;z-index:1;padding:38px 0 55px}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:700;margin-bottom:25px}h1{font-size:clamp(52px,5.6vw,84px);line-height:1.04;letter-spacing:-.065em;font-weight:800;white-space:nowrap}.hero-description{font-size:18px;line-height:1.7;margin-top:27px;color:var(--muted);max-width:360px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:31px}.hero-art{position:relative;aspect-ratio:1;min-width:0;perspective:1200px;touch-action:pan-y}.hero-word{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font-family:Bricolage,Arial,sans-serif;font-size:clamp(150px,19vw,290px);font-weight:800;letter-spacing:-.1em;line-height:.75;color:transparent;-webkit-text-stroke:1px var(--outline);transform:rotate(-10deg);user-select:none}.halo{position:absolute;inset:13%;border:1px solid var(--outline);border-radius:50%;transform:scale(1.22)}.pastry-perspective{position:absolute;inset:-4%;transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .55s cubic-bezier(.16,1,.3,1)}.floating-conchas{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 25px 20px var(--shadow));transform:translateZ(60px)}.handwritten{position:absolute;bottom:1%;right:3%;font-family:Bricolage,Arial,sans-serif;font-size:28px;font-weight:650;letter-spacing:-1.2px;font-style:italic;transform:rotate(-9deg);line-height:1.3}
@media(prefers-reduced-motion:no-preference){.floating-conchas{animation:drift 8s ease-in-out infinite}@keyframes drift{0%,100%{transform:translate3d(0,0,60px) rotate(-3deg)}50%{transform:translate3d(0,-14px,60px) rotate(2deg)}}}
@media(prefers-color-scheme:dark){:root{--paper:#152440;--ink:#fff0ac;--accent:#ffe585;--muted:#d4d3c3;--button-text:#1c2f56;--subtle:#1c2e4b;--line:#526073;--field:#1b2e4c;--outline:#526073;--shadow:#00000025;color-scheme:dark}}
@media(min-width:1000px){.site-header{height:80px}.hero{height:calc(100svh - 80px)}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}.main-nav{gap:18px;font-size:13px}.hero-actions{gap:18px;flex-wrap:wrap}h1{font-size:clamp(46px,5.7vw,72px)}.hero-description{font-size:17px}.hero{min-height:530px}.handwritten{font-size:25px}.brand-name{font-size:36px}}
@media(max-width:767px){.shell{width:calc(100% - 40px)}.site-header{height:84px;gap:16px}.brand-name{font-size:35px}.brand-descriptor{font-size:8px;letter-spacing:1.3px}.main-nav{display:none}.button-small{font-size:12px;padding:12px 16px;gap:12px}.button-small span{font-size:20px}.hero{display:flex;flex-direction:column;align-items:stretch;height:auto;min-height:0;max-height:none;padding-top:38px;padding-bottom:25px}.hero-copy{padding:0}.eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:18px}h1{font-size:clamp(40px,9.4vw,71px);letter-spacing:-.065em}.hero-description{font-size:16px;margin-top:20px;line-height:1.6}.hero-actions{margin-top:24px;gap:12px 23px}.button{padding:15px 22px;font-size:14px;gap:20px}.button-small{padding:11px 15px;font-size:12px}.link-button{font-size:13px}.hero-art{width:100%;max-width:420px;align-self:center;aspect-ratio:1.15;margin-top:10px}.hero-word{font-size:clamp(160px,49vw,245px)}.pastry-perspective{inset:0 2% -1%}.handwritten{right:2%;bottom:0;font-size:25px}}
/* Proof is factual and stays separate from the hero. */
.hero-art{overflow:clip;overflow-clip-margin:10px}
.pastry-perspective{inset:3%}
.good-company{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:28px 0;border-block:1px solid var(--line)}.google-proof{display:flex;align-items:center;gap:23px}.rating-number{font-family:Bricolage,Arial,sans-serif;font-size:48px;font-weight:700;letter-spacing:-3px;line-height:1}.rating-number>span{font-size:25px;margin-left:7px;vertical-align:middle}.google-proof strong{font-size:15px;font-weight:600}.google-proof small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.good-company>p{font-size:14px;text-align:right;font-weight:500}.good-company>p>span{color:var(--muted);font-size:12px;font-weight:400}h2{font-size:clamp(48px,5.8vw,82px);font-weight:750;line-height:1.01;letter-spacing:-.06em}h2 em{font-weight:450;font-style:italic;line-height:1.13}.section-heading>p,.visit-title>p{font-size:18px;color:var(--muted);margin-top:20px}.good-stuff{padding-block:112px 100px}.section-heading{margin-bottom:46px}.bakery-display{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;align-items:center}.box-image{min-width:0}.box-image img{width:100%;height:auto;aspect-ratio:1.3;object-fit:cover;border-radius:22px}figcaption{font-size:11px;line-height:1.5;color:var(--muted);margin-top:12px;max-width:470px}.flavor-tabs{display:flex;gap:0 21px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.flavor-tabs button{background:none;border:0;position:relative;cursor:pointer;font-size:12px;font-weight:500;padding:14px 0}.flavor-tabs button[aria-selected=true]{font-weight:700}.flavor-tabs button[aria-selected=true]::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--accent)}.flavor-tabs button:hover{color:var(--muted)}.flavor-panel{padding:30px 0 17px;min-height:326px}.flavor-panel h3{font-size:clamp(37px,3.4vw,50px);line-height:1.05;letter-spacing:-.055em;margin-bottom:20px}.flavor-panel p{font-size:16px;max-width:360px;color:var(--muted);line-height:1.65}.treat-list{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 15px;font-size:13px}.treat-list li{padding:2px 0}.treat-list li+li::before{content:'·';margin-right:15px}.flavor-browser>.link-button{gap:20px}.celebrate{display:grid;grid-template-columns:1.08fr 1fr;gap:65px;align-items:center;border-top:1px solid var(--line);padding-block:100px}.celebrate-copy h2{font-size:clamp(60px,6.4vw,96px);margin-bottom:28px}.celebrate-description{font-size:19px;max-width:355px;line-height:1.55;margin-bottom:18px}.celebrate-detail{font-size:15px;color:var(--muted);max-width:360px;margin-bottom:30px}.celebrate-copy .button{font-size:14px;padding-inline:23px;gap:23px}.cake-phone{display:flex;width:fit-content;margin-top:10px;font-size:13px;min-height:40px}.cake-image img{width:100%;height:auto;aspect-ratio:.89;object-fit:cover;border-radius:170px 170px 22px 22px}.name-story{position:relative;text-align:center;border-block:1px solid var(--line);padding-block:90px;overflow:hidden}.name-story-inner{position:relative}.story-intro{font-size:16px;margin-bottom:22px}.name-story h2{font-size:clamp(80px,10vw,142px);line-height:.98;letter-spacing:-.07em}.name-story h2>span{font-style:italic;line-height:1.15;font-weight:500}.name-formula{font-size:16px;margin-top:25px;font-weight:600}.story-description{font-size:16px;max-width:370px;margin:20px auto;color:var(--muted)}.name-story .link-button{font-size:13px;gap:18px}.visit{padding-block:108px 65px}.visit-title{margin-bottom:55px}.visit-title h2{font-size:clamp(42px,4.8vw,68px)}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.visit-address{padding:36px 40px;background:var(--subtle);border-radius:22px}.visit-address address{font-style:normal;display:flex;flex-direction:column;font-size:18px}.street-number{font-family:Bricolage,Arial,sans-serif;font-size:105px;line-height:1;letter-spacing:-8px;margin-bottom:16px}.visit-address address strong{font-size:25px;letter-spacing:-.8px;font-weight:600}.visit-address address>span:last-child{color:var(--muted);font-size:16px;margin-top:5px}.visit-address p{font-size:14px;margin-top:23px;line-height:1.65;color:var(--muted)}.visit-address .button{margin-top:28px}.visit-hours{padding-top:8px}.visit-hours h3{font-size:32px;letter-spacing:-1.2px;line-height:1.2;margin-bottom:30px}.visit-hours dl{margin:0}.visit-hours dl>div{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;font-size:16px}.visit-hours dd{margin:0;white-space:nowrap}.source-note{font-size:11px;color:var(--muted);margin-top:30px;line-height:1.6}.visit-contact{border-top:1px solid var(--line);margin-top:28px;padding-top:24px;display:flex;flex-direction:column;gap:9px}.visit-contact>a:first-child{font-family:Bricolage,Arial,sans-serif;font-size:29px;letter-spacing:-1px;display:flex;align-items:center;justify-content:space-between}.visit-contact>a:last-child{font-size:15px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.questions{padding-block:55px 100px;display:grid;grid-template-columns:1fr 1.25fr;gap:80px}.questions h2{font-size:44px;max-width:300px}.question-list details{padding:22px 0;border-bottom:1px solid var(--line)}.question-list details:first-child{padding-top:0}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:17px;font-weight:500;line-height:1.5}summary::-webkit-details-marker{display:none}summary>span{font-size:26px;font-weight:300;line-height:1;transition:transform .3s}details[open] summary>span{transform:rotate(45deg)}details>p{font-size:15px;line-height:1.75;color:var(--muted);margin-top:16px;max-width:510px}.site-footer{border-top:1px solid var(--line);padding-block:45px 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:32px}.footer-top>p{font-family:Bricolage,Arial,sans-serif;font-size:25px;letter-spacing:-1px;line-height:1.2}.social-links{display:flex;gap:28px;font-size:14px}.social-links a{display:flex;gap:15px}.social-links a:hover{text-decoration:underline;text-underline-offset:5px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:24px;margin-top:43px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}#motion-toggle{border:none;background:none;padding:10px 0;font-size:11px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.motion-paused *{animation-play-state:paused!important}.motion-paused .pastry-perspective{transform:none!important}
@media(prefers-reduced-motion:no-preference){.reveal.in-view{animation:arrive .75s cubic-bezier(.16,1,.3,1) both}@keyframes arrive{from{transform:translateY(24px);opacity:.3}to{transform:translateY(0);opacity:1}}.flavor-panel:not([hidden]){animation:panel-arrive .32s ease-out}@keyframes panel-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@supports(animation-timeline:view()){.box-image img{animation:box-perspective linear both;animation-timeline:view();animation-range:entry 0% cover 45%}@keyframes box-perspective{from{transform:perspective(1200px) rotateX(6deg) rotateY(-7deg) scale(.96)}to{transform:perspective(1200px) rotateX(0deg) rotateY(0deg) scale(1)}}}}
@media(max-width:1100px){.bakery-display{gap:38px;grid-template-columns:1.15fr 1fr}.flavor-tabs{gap:0 15px}.flavor-tabs button{font-size:11px}.celebrate{gap:38px}.visit-grid{gap:55px}.questions{gap:40px}.footer-top>p{font-size:22px}.social-links{gap:20px}.visit-hours dl>div{font-size:14px}.good-company>p{font-size:12px}}
@media(max-width:767px){.good-company{padding-block:24px;display:block}.google-proof{gap:18px}.rating-number{font-size:41px}.google-proof strong{font-size:13px}.google-proof small{font-size:10px}.good-company>p{display:none}.good-stuff{padding-block:65px}.section-heading{margin-bottom:30px}h2{font-size:clamp(43px,10.5vw,65px)}.section-heading>p,.visit-title>p{font-size:16px;max-width:320px;margin-top:18px}.bakery-display{grid-template-columns:1fr;gap:25px}.box-image img{aspect-ratio:1.22;border-radius:18px}figcaption{font-size:10px;max-width:310px}.flavor-tabs{gap:22px}.flavor-tabs button{font-size:11px;padding-block:14px}.flavor-panel{padding-top:25px;min-height:280px}.flavor-panel h3{font-size:42px}.flavor-panel p{font-size:16px;max-width:320px}.treat-list{font-size:12px}.celebrate{grid-template-columns:1fr;gap:38px;padding-block:64px}.celebrate-copy h2{font-size:clamp(58px,14vw,82px);margin-bottom:23px}.celebrate-copy .eyebrow{font-size:9px;letter-spacing:1.2px}.celebrate-description{font-size:18px;max-width:320px}.celebrate-detail{font-size:15px;max-width:340px}.celebrate-copy .button{font-size:13px;padding-inline:21px;gap:20px}.cake-image{max-width:470px;width:100%;justify-self:center}.cake-image img{aspect-ratio:1;border-radius:130px 130px 18px 18px}.name-story{padding-block:60px}.story-intro{font-size:14px;margin-bottom:22px}.name-story h2{font-size:clamp(80px,20vw,115px)}.name-formula{font-size:13px;margin-top:22px}.story-description{font-size:15px;max-width:310px}.name-story .link-button{font-size:12px;gap:12px}.visit{padding-block:65px 25px}.visit-title{margin-bottom:30px}.visit-title h2{font-size:clamp(38px,9.6vw,59px);line-height:1.06}.visit-grid{grid-template-columns:1fr;gap:35px}.visit-address{padding:28px;border-radius:18px}.street-number{font-size:90px}.visit-address address strong{font-size:23px}.visit-hours h3{font-size:29px;margin-bottom:26px}.visit-hours dl>div{font-size:15px;margin-bottom:16px}.visit-contact>a:first-child{font-size:27px}.questions{padding-block:40px 65px;grid-template-columns:1fr;gap:30px}.questions h2{font-size:39px;max-width:none}.question-list summary{font-size:16px}.site-footer{padding-top:35px}.footer-top{flex-wrap:wrap;gap:30px}.footer-top>p{font-size:21px}.social-links{width:100%;font-size:14px;gap:30px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:12px;margin-top:27px;padding-top:20px}#motion-toggle{font-size:12px}.cake-phone{font-size:12px}}
@media(max-width:359px){.brand-name{font-size:31px}.brand-descriptor{font-size:7px}.site-header>.button-small{font-size:11px;padding-inline:12px;gap:9px}h1{font-size:36px}.hero-description{font-size:15px}.hero-actions{gap:8px 18px}.hero-actions>.button{font-size:12px;padding-inline:18px}.hero-actions>.link-button{font-size:12px}.flavor-tabs{gap:13px}.flavor-tabs button{font-size:10px}.celebrate-copy .button{font-size:12px;gap:15px;padding-inline:17px}.visit-hours dl>div{font-size:13px}.footer-top>p{font-size:20px}.google-proof small{font-size:9px}}
/* Product stage: one large photograph; compact thumbnails communicate variety. */
.hero-showcase{min-width:0;width:100%;padding-block:12px}
.hero-showcase .hero-art{width:100%;height:clamp(285px,31vw,430px);aspect-ratio:auto;margin:0}
.hero-showcase .hero-word{font-size:clamp(150px,17vw,245px)}
.hero-showcase .pastry-perspective{inset:0 1% 1%}
.hero-showcase .handwritten{font-size:23px;right:2%;bottom:3%}
.craving-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translate3d(32px,12px,0) rotate(5deg) scale(.92);transition:opacity .65s ease,transform .85s cubic-bezier(.16,1,.3,1),visibility .85s;pointer-events:none}
.craving-slide.is-active{opacity:1;visibility:visible;transform:translate3d(0,0,0) rotate(0) scale(1)}
.craving-slide:not(.is-active) .floating-conchas{animation-play-state:paused}
.craving-caption{text-align:center;margin:4px 0 13px;min-height:62px}
.craving-caption h2{font-size:30px;line-height:1.15;letter-spacing:-1.2px}
.craving-caption p{font-size:12px;color:var(--muted);margin-top:4px}
.craving-controls{position:relative;padding-right:42px}
.craving-controls[hidden]{display:none}
.craving-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.craving-choice{border:1px solid transparent;border-bottom-color:var(--line);border-radius:12px 12px 0 0;background:transparent;min-width:0;padding:4px 2px 9px;cursor:pointer;transition:background .25s,transform .25s}
.craving-choice img{width:64px;height:48px;object-fit:contain;margin:0 auto 4px;transition:transform .3s}
.craving-choice span{font-size:10px;line-height:1.25;display:block;white-space:nowrap}
.craving-choice[aria-pressed=true]{background:var(--subtle);border-bottom:2px solid var(--ink)}
.craving-choice:hover img{transform:translateY(-4px) rotate(-4deg)}
.craving-play{position:absolute;right:0;top:17px;width:38px;min-height:44px;padding:0;background:none;border:0;cursor:pointer;font-size:10px;text-decoration:underline;text-underline-offset:4px}
.craving-disclaimer{font-size:9px;color:var(--muted);text-align:center;margin-top:10px}
@media(max-width:1100px) and (min-width:768px){.craving-caption h2{font-size:27px}.craving-choice span{font-size:9px}.craving-controls{padding-right:36px}.craving-play{width:32px}.hero-showcase .handwritten{font-size:20px}}
@media(max-width:767px){.hero-showcase{margin-top:25px;padding:0}.hero-showcase .hero-art{height:auto;aspect-ratio:1.12;max-width:450px;margin-inline:auto}.hero-showcase .hero-word{font-size:clamp(160px,49vw,245px)}.craving-caption{margin-top:10px;min-height:57px}.craving-caption h2{font-size:29px}.craving-controls{max-width:430px;margin:auto}.craving-choice img{height:45px;width:60px}.craving-choice span{font-size:9px}.craving-disclaimer{margin-top:12px}.hero-showcase .handwritten{font-size:21px}}
@media(max-width:359px){.craving-controls{padding-right:32px}.craving-choices{gap:3px}.craving-choice span{font-size:8px}.craving-play{font-size:9px;width:29px}.craving-caption h2{font-size:27px}.craving-caption p{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.pastry-perspective{transform:none!important}#motion-toggle{display:none}}
