/* Design read: expressive local bakery; native editorial CSS.
   DESIGN_VARIANCE 8 / MOTION_INTENSITY 7 / VISUAL_DENSITY 3.
   Rounded controls, 24px image corners; no generic cards. Layers: content 0, header 5, skip 10. */
@font-face{font-family:Outfit;src:url('assets/outfit.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--bg:#f7e9ec;--ink:#651e38;--accent:#8d2349;--soft:#efd9e0;--line:#d6b4c0;--muted:#75505e;--white:#fff9fa;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Outfit,Arial,sans-serif;font-size:17px;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--white)}.wrap{width:min(1400px,calc(100% - 100px));margin-inline:auto}.skip{position:fixed;left:20px;top:-100px;background:var(--accent);color:var(--white);padding:12px 24px;z-index:10}.skip:focus{top:10px}.header{height:98px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.wordmark{font-weight:800;font-size:30px;letter-spacing:-1.7px;line-height:1}.wordmark span{display:block;font-size:10px;letter-spacing:2.2px;margin:9px 0 0 3px;font-weight:600}.header nav{display:flex;gap:34px;font-size:15px}.header nav a{padding:12px 0}.header nav a:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;gap:26px;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:var(--white);font-weight:600;padding:17px 27px;white-space:nowrap;border:1px solid var(--accent);transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px);background:var(--ink)}.button:active{transform:scale(.97)}.button span{font-size:23px;line-height:1}.button.compact{padding:12px 23px;font-size:15px}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;min-height:590px;height:calc(100svh - 98px);max-height:820px;position:relative}.hero-copy{position:relative;z-index:1;padding:45px 0 65px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2px;margin:0 0 24px}h1{font-size:clamp(62px,6.1vw,100px);font-weight:800;letter-spacing:-.065em;line-height:.99;margin:0 0 28px;white-space:nowrap}.intro{font-size:19px;max-width:340px;line-height:1.6;margin:0 0 30px;color:var(--muted)}.pastry-stage{min-width:0;position:relative;aspect-ratio:1;perspective:1000px;isolation:isolate;touch-action:pan-y}.pastry-scene{width:113%;height:113%;position:absolute;left:-8%;top:-9%;transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s cubic-bezier(.16,1,.3,1)}.hero-pastries{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 34px 22px #72234220);transform:translateZ(65px)}.orbit{position:absolute;inset:14%;border:1px solid var(--line);border-radius:50%;transform:rotate(-28deg) scaleX(1.2);z-index:-1}.orbit-two{inset:5%;transform:rotate(32deg) scaleX(.92)}.scene-word{position:absolute;bottom:9%;right:0;font-size:33px;font-weight:700;font-style:italic;transform:rotate(-12deg);pointer-events:none;letter-spacing:-1.5px}
@media(prefers-reduced-motion:no-preference){.hero-pastries{animation:float 7s ease-in-out infinite}@keyframes float{0%,100%{transform:translate3d(0,0,65px) rotate(-3deg)}50%{transform:translate3d(0,-14px,65px) rotate(1deg)}}}
@media(prefers-color-scheme:dark){:root{--bg:#261a20;--ink:#f4d7e1;--accent:#efa2bf;--soft:#34232c;--line:#63404f;--muted:#c6a6b2;--white:#291620;color-scheme:dark}.button:hover{background:#f4bdd1}}
@media(min-width:1000px){.header{height:80px}.hero{height:calc(100svh - 80px)}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.header nav{gap:20px}.hero{min-height:550px}h1{font-size:clamp(52px,6.5vw,70px)}.scene-word{font-size:27px}.hero-copy{padding:40px 0}.eyebrow{font-size:11px}}
@media(max-width:767px){.wrap{width:calc(100% - 40px)}.header{height:83px;gap:10px}.wordmark{font-size:25px}.wordmark span{font-size:8px;letter-spacing:1.5px}.header nav{display:none}.button.compact{font-size:13px;padding:10px 15px;gap:12px}.hero{display:flex;flex-direction:column;align-items:stretch;height:auto;min-height:0;max-height:none;padding-top:35px}.hero-copy{padding:0}.eyebrow{font-size:10px;letter-spacing:1.7px;margin-bottom:19px}h1{font-size:clamp(47px,10.5vw,77px);letter-spacing:-.06em;line-height:1.04;margin-bottom:18px}.intro{font-size:16px;max-width:300px;margin-bottom:23px}.button{padding:14px 24px;font-size:15px}.pastry-stage{width:100%;max-width:420px;align-self:center;margin:4px 0 25px;aspect-ratio:1.15}.pastry-scene{width:95%;height:110%;left:2%;top:-7%}.scene-word{font-size:28px;bottom:6%;right:1%}.orbit{inset:20%}.orbit-two{inset:12%}}
/* Secondary surfaces inherit the page palette in both themes. */
.tray-photo img{height:auto}
.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden}
.location-note-unknown{min-height:78px;display:flex;align-items:flex-end;max-width:380px}
h2{font-size:clamp(44px,5vw,76px);line-height:1.04;letter-spacing:-.055em;font-weight:750;margin:0}h2 em{font-weight:450;line-height:1.12}h3{letter-spacing:-.045em}p{text-wrap:pretty}.section-intro{margin-bottom:54px}.section-intro>p{color:var(--muted);margin:22px 0 0;font-size:19px}.favorites{padding-block:100px 115px;border-top:1px solid var(--line)}.favorites-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:75px;align-items:center}.tray-photo{margin:0;min-width:0}.tray-photo img{width:100%;aspect-ratio:1.16;object-fit:cover;border-radius:24px;display:block}.tray-photo figcaption{font-size:12px;color:var(--muted);margin-top:10px}.product-list details{border-bottom:1px solid var(--line);padding:23px 0}.product-list details:first-child{padding-top:0}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}.product-list summary{font-size:32px;font-weight:600;letter-spacing:-1.2px}.expand{font-size:27px;line-height:1;font-weight:300;flex:none;transition:transform .3s}details[open] .expand{transform:rotate(45deg)}details p{color:var(--muted);font-size:17px;line-height:1.65;margin:16px 0 0;max-width:44ch}.selection-note{font-size:14px;color:var(--muted);margin-top:24px}.text-link{display:inline-flex;gap:24px;align-items:center;font-weight:600;text-decoration:underline;text-underline-offset:7px}.product-list .text-link{margin-top:16px;font-size:15px}.cakes{padding-block:85px 100px;border-block:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:end}.cake-heading h2{font-size:clamp(80px,9vw,142px);letter-spacing:-.07em}.cake-heading .eyebrow{margin-bottom:30px}.cake-copy>p{font-size:clamp(25px,2.7vw,40px);letter-spacing:-1px;line-height:1.25;font-weight:500;margin:0 0 40px}.cake-action{max-width:320px}.cake-action p{color:var(--muted);margin:0 0 26px}.visit{padding-block:115px 60px}.locations{display:grid;grid-template-columns:1fr 1fr;gap:65px}.location{border-top:2px solid var(--accent);padding-top:28px}.location-top{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:24px}.location h3{font-size:36px;line-height:1.2;margin:0}.location-top>span{font-size:12px;color:var(--muted)}address{font-style:normal;font-size:19px;line-height:1.6}.hours{min-height:78px;margin:24px 0 12px}.hours p{display:flex;justify-content:space-between;margin:0 0 6px;gap:20px;font-size:15px}.hours strong{font-weight:500}.location-note{font-size:14px;color:var(--muted);margin-bottom:25px}.location-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.location-actions .button{padding:13px 22px;font-size:14px;gap:20px}.phone{font-size:16px;text-decoration:underline;text-underline-offset:5px}.hours-note{font-size:12px;color:var(--muted);margin:36px 0 0;max-width:650px}.faq{padding-block:70px 110px;display:grid;grid-template-columns:1fr 1.25fr;gap:100px}.faq h2{font-size:44px;max-width:290px}.faq-list details{padding:21px 0;border-bottom:1px solid var(--line)}.faq-list details:first-child{padding-top:0}.faq-list summary{font-size:19px;font-weight:500;line-height:1.4}.footer{border-top:1px solid var(--line);padding-block:48px 24px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:40px}.footer-main p{font-size:26px;font-weight:500;line-height:1.25;letter-spacing:-.7px;margin:0}.footer-main .text-link{font-size:15px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:50px;padding-top:20px;font-size:12px;color:var(--muted)}.motion-toggle{border:0;padding:8px 0;background:none;color:inherit;font-size:12px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.motion-paused *{animation-play-state:paused!important}.motion-paused .pastry-scene{transform:none!important}
@media(prefers-reduced-motion:no-preference){.reveal.is-visible{animation:rise .7s cubic-bezier(.16,1,.3,1) both}@keyframes rise{from{transform:translateY(30px);opacity:.35}to{transform:translateY(0);opacity:1}}@supports(animation-timeline:view()){.tray-photo img{animation:tray-in linear both;animation-timeline:view();animation-range:entry 0% cover 45%}@keyframes tray-in{from{transform:perspective(1200px) rotateY(-8deg) rotateX(3deg) scale(.96)}to{transform:perspective(1200px) rotateY(0) rotateX(0) scale(1)}}}}
@media(max-width:1000px){.favorites-grid{gap:35px}.product-list summary{font-size:27px}.cakes{gap:40px}.locations{gap:36px}.location h3{font-size:29px}.location-top>span{display:none}.faq{gap:40px}.footer-main{gap:25px}.footer-main p{font-size:22px}}
@media(max-width:767px){.favorites{padding-block:64px}.section-intro{margin-bottom:30px}.section-intro>p{font-size:17px;max-width:310px;margin-top:18px}h2{font-size:47px}.favorites-grid{grid-template-columns:1fr;gap:35px}.tray-photo img{aspect-ratio:1.15;border-radius:20px}.product-list summary{font-size:28px}.product-list details{padding-block:20px}.cakes{padding-block:60px;grid-template-columns:1fr;gap:30px}.cake-heading h2{font-size:80px}.cake-heading .eyebrow{font-size:10px;margin-bottom:24px}.cake-copy>p{font-size:28px;margin-bottom:24px}.cake-action{max-width:360px}.visit{padding-block:66px 25px}.locations{grid-template-columns:1fr;gap:48px}.location h3{font-size:34px}.location-top>span{display:block}.location-top{margin-bottom:20px}.hours{min-height:0;margin-block:22px}.location-actions{gap:20px}.hours-note{margin-top:30px}.faq{padding-block:45px 65px;grid-template-columns:1fr;gap:30px}.faq h2{font-size:40px;max-width:none}.faq-list summary{font-size:17px}.footer{padding-top:32px}.footer-main{align-items:flex-start;flex-direction:column;gap:25px}.footer-main p{font-size:25px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:10px;margin-top:30px}.scene-word{right:3%}.hero{padding-bottom:15px}}
@media(max-width:767px){.cake-heading h2{font-size:clamp(57px,16vw,80px)}}
@media(max-width:767px){.location-note-unknown{min-height:0;margin-top:44px}}
@media(max-width:359px){h1{font-size:43px}.eyebrow{font-size:9px}.location-top>span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.pastry-scene{transform:none!important}.motion-toggle{display:none}}
