/* Impeccable UI pass: a clear bakery menu beneath the cinematic hero. */
:root{--bakery-section-space:clamp(64px,7.5vw,112px);--bakery-heading:clamp(34px,4.2vw,60px);--bakery-rule:#54352533}
.collection,.cinnamon-feature,.occasion-editorial,.nature-statement,.visit-section{scroll-margin-top:84px}
#pastries{scroll-margin-top:108px}
.collection{padding-top:var(--bakery-section-space)}
.collection-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:40px}
.collection-heading>div>p{font:400 15px/1.5 var(--font-sans);margin-bottom:12px}
.collection-heading h2{font-size:var(--bakery-heading);line-height:1.08;letter-spacing:-.035em}
.collection-heading>p:last-child{font-size:16px;line-height:1.65;max-width:36ch;padding:0 0 3px}
.product-pair{grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,64px);align-items:start}
.pastry-product{padding-top:0}
.cake-portrait,.pastry-portrait{aspect-ratio:1.2;margin:0;overflow:hidden;background:transparent}
.cake-portrait img,.pastry-portrait img{display:block;width:100%;height:100%;object-fit:cover;mix-blend-mode:normal;transform:none}
.cake-portrait img{object-position:50% 57%}.pastry-portrait img{object-position:50% 60%}
.pastry-product figure{margin:0}
.product-label{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;margin-top:24px;gap:16px}
.product-kind{font:400 13px/1.5 var(--font-sans);margin:0 0 8px}
.rava-site .product-label h3{font:600 clamp(24px,2.35vw,34px)/1.2 var(--font-accent);letter-spacing:-.03em}
.product-label>.product-price{font:500 16px/1.5 var(--font-sans);letter-spacing:0;max-width:none;white-space:nowrap;text-align:right;padding-bottom:2px}
.product-description{margin-top:16px}
.product-description p,.pastry-product>p{font-size:16px;line-height:1.65;max-width:48ch}
.product-options{display:flex;gap:24px;justify-content:flex-start;border-top:1px solid var(--bakery-rule);padding-top:16px;margin:24px 0 0;font:400 14px/1.5 var(--font-sans)}
.product-options div{flex:1;min-width:0}.product-options dd{margin:4px 0 0;font-weight:600;font-size:17px;font-variant-numeric:tabular-nums}
.product-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;flex-wrap:wrap}
.product-action .text-link{margin:0;font-size:15px;min-height:44px}.product-action>span{font-size:13px;line-height:1.5}
.cinnamon-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,64px);align-items:center;padding:var(--bakery-section-space) var(--rava-pad)}
.cinnamon-feature figure{margin:0}.cinnamon-portrait{aspect-ratio:1.2;overflow:hidden}.cinnamon-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 59%}
.cinnamon-copy{max-width:420px;justify-self:center}
.cinnamon-copy>p:first-child{font-size:13px;margin-bottom:12px}
.cinnamon-copy h2{font-size:clamp(30px,3.3vw,46px);line-height:1.12}
.cinnamon-copy>.cinnamon-note{font:500 23px/1.4 var(--font-accent);margin:20px 0 16px;max-width:none}
.cinnamon-copy>p{font-size:16px;line-height:1.65;max-width:40ch}
.cinnamon-copy .text-link{font-size:15px;min-height:44px;margin-top:24px}
.occasion-editorial{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,7vw,112px);align-items:start;padding:var(--bakery-section-space) var(--rava-pad)}
.occasion-editorial h2{font-size:var(--bakery-heading);line-height:1.08;letter-spacing:-.035em}
.occasion-editorial>div{grid-column:auto}
.occasion-editorial>div>p{font-size:16px;line-height:1.65;max-width:40ch;margin-top:24px}
.occasion-editorial>div>.bespoke-note{font-size:14px;margin-top:20px}
.occasion-intro .solid-link{margin-top:28px;gap:24px;font-size:15px}
.order-steps{margin:0}.order-steps li{padding:24px 0;font-size:16px;line-height:1.6}.order-steps li:first-child{padding-top:20px}.order-steps li:last-child{border-bottom:1px solid var(--bakery-rule)}.order-steps strong{font-size:18px;font-weight:500}.order-steps span{max-width:40ch;margin-top:8px}
.nature-statement{padding:var(--bakery-section-space) var(--rava-pad);display:grid;grid-template-columns:1.1fr 1fr;gap:24px clamp(32px,7vw,112px)}
.nature-statement>p{grid-column:1/-1;margin:0;font-size:15px}
.nature-statement h2{font-size:clamp(32px,3.5vw,50px);line-height:1.12;max-width:none}
.nature-details{display:block;margin:0;max-width:none}.nature-details p{font-size:16px;line-height:1.7;max-width:48ch}.bakery-values{margin-top:20px}
.order-faq{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;gap:0 clamp(32px,7vw,112px);margin-top:40px;border-top:1px solid var(--bakery-rule);padding-top:32px;max-width:none}
.order-faq h3{grid-column:1;grid-row:1/5;font-size:26px;margin:0}.order-faq details{grid-column:2}.order-faq details:first-of-type{border-top:0}.order-faq summary{font-size:16px;padding:18px 0}.order-faq details p{font-size:15px;line-height:1.7}
.bakery-replay{grid-column:1/-1;margin:0}.bakery-replay .text-link{font-size:14px;margin-top:0;min-height:44px}
.visit-section{padding-block:var(--bakery-section-space)}
.visit-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.visit-heading h2{font-size:clamp(32px,3.5vw,50px);line-height:1.12;max-width:19ch}
.visit-heading>div>p{font-size:16px;line-height:1.65;margin-top:20px}.visit-heading>p{font-size:15px;max-width:26ch}
.visit-details{margin-top:40px;grid-template-columns:1fr 1.2fr 1fr;gap:40px}.visit-details h3{font-size:20px}.visit-details p,.visit-details address{font-size:16px;line-height:1.65}.opening-hours{font-size:15px}.contact-concept{font-size:14px;margin-top:32px}
.rava-footer>div:nth-child(2){flex-wrap:wrap;gap:12px 32px}.rava-footer>div:nth-child(2)>a,.footer-privacy{min-height:44px;display:inline-flex;align-items:center}.rava-footer p{line-height:1.6}
.rava-site :is(summary,textarea,button,a,input):focus-visible{outline:2px solid #543525;outline-offset:5px}
.rava-site:not([data-view="journey"]) .study-controls{visibility:hidden}
@media(max-width:900px){
 .product-label{align-items:flex-start;flex-direction:column;gap:8px}.product-label>.product-price{text-align:left}
 .collection-heading>p:last-child{max-width:28ch}.cinnamon-copy{justify-self:start}.visit-details{gap:24px}
}
@media(max-width:639px){
 .collection,.cinnamon-feature,.occasion-editorial,.nature-statement,.visit-section{scroll-margin-top:76px}
 .collection-heading{display:block;margin-bottom:28px}.collection-heading>div>p{font-size:14px;margin-bottom:10px}.collection-heading>p:last-child{font-size:15px;margin-top:20px;max-width:36ch}
 .product-pair{grid-template-columns:1fr;gap:48px}.cake-portrait,.pastry-portrait{aspect-ratio:1.08;margin:0}.product-label{margin-top:20px;gap:8px}.rava-site .product-label h3{font-size:27px}.product-description p,.pastry-product>p{font-size:15px}.product-options{gap:16px;margin-top:20px}.product-action{gap:8px;margin-top:16px}
 .cinnamon-feature{grid-template-columns:1fr;gap:24px}.cinnamon-copy{max-width:none}.cinnamon-copy h2{font-size:34px}.cinnamon-copy>.cinnamon-note{font-size:22px;margin-top:16px}.cinnamon-copy>p{font-size:15px}
 .occasion-editorial{display:grid;grid-template-columns:1fr;gap:36px}.occasion-editorial>div>p{font-size:15px}.occasion-editorial>div>.bespoke-note{font-size:13px}.order-steps li{font-size:15px;padding:20px 0}
 .nature-statement{display:block}.nature-statement>p{margin-bottom:16px}.nature-statement h2{font-size:34px}.nature-details{margin-top:24px}.nature-details p{font-size:15px}.order-faq{display:block;margin-top:36px;padding-top:28px}.order-faq h3{font-size:24px;margin-bottom:16px}.order-faq summary{font-size:16px}.bakery-replay{margin-top:24px}
 .visit-heading{display:block}.visit-heading>p{margin-top:24px}.visit-heading h2{font-size:34px}.visit-details{grid-template-columns:1fr;gap:24px}.visit-details p,.visit-details address{font-size:15px}
 .rava-footer>div{align-items:flex-start}.rava-footer>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}
}
/* Requested hero refinements: curls emerge below the glass navigation. */
.stage>.chocolate-fall{mask-image:linear-gradient(180deg,transparent 76px,#000 100px,#000 78%,transparent 94%)}
@media(max-width:639px){.stage>.chocolate-fall{mask-image:linear-gradient(180deg,transparent 68px,#000 88px,#000 78%,transparent 92%)}}
/* Keep the initial hero free of stale scene copy during a back-to-top seek. */
.rava-site[data-view="intro"] .scene-copy{visibility:hidden;pointer-events:none}
.cake-portrait img{object-position:50% 78%}
@media(max-width:639px){.intro-title .hero-offering{font-size:12px}}
/* Clear, edge-lit glass rather than an opaque pink strip. */
.rava-header{grid-template-columns:1fr auto;background:linear-gradient(180deg,#ffffff94 0%,#ffffff29 7%,#ffffff08 48%,#ffffff1a 91%,#ffffff66 100%);border-top:1px solid #fffffff2;border-bottom:1px solid #ffffffb3;backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%);box-shadow:inset 0 1px 0 #ffffff66,inset 0 -2px 0 #ffffff33,0 1px 0 #5435251a,0 4px 12px #54352508;transition:none}
.rava-header::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#fff9f7bf 0%,#fff9f7b8 24%,#ffffff0a 46%,#ffffff0a 65%,#fff9f7b8 82%,#fff9f7bf 100%)}
.rava-header>*{position:relative}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.rava-header{background:#f6e4e1f2}}
.bakery-place{grid-column:1/-1;margin:24px 0 0}.bakery-place img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.bakery-place figcaption{font:400 14px/1.6 var(--font-sans);padding-top:16px}
@media(max-width:639px){.bakery-place{margin-top:32px}.bakery-place figcaption{font-size:13px}}

/* Effects own only their visible stage; hidden effects never keep compositing. */
html[data-surface-motion="paused"] .chocolate-curl{animation-play-state:paused;will-change:auto}
html[data-hero-ambient="settled"] .stage>.chocolate-fall .chocolate-curl{animation-play-state:paused;will-change:auto}
html[data-motion="paused"] *,html[data-motion="paused"] *::before,html[data-motion="paused"] *::after{animation-play-state:paused!important;scroll-behavior:auto!important}
html[data-scene-motion="paused"] .rava-masthead span{will-change:auto}
.rava-header nav{display:flex;align-items:center;gap:18px}
.menu-motion{margin-top:24px;padding-top:16px;border-top:1px solid var(--bakery-rule);display:flex;align-items:center;justify-content:space-between;gap:16px;font:400 13px/1.5 var(--font-sans)}
.menu-motion>span{max-width:16ch}
#motion-toggle{display:inline-flex;align-items:center;justify-content:flex-end;min-width:44px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font:500 13px/1.5 var(--font-sans);color:#543525;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
#motion-toggle:hover{text-decoration-thickness:2px}
@media(max-width:639px){.rava-header nav{gap:6px}.rava-header{gap:6px;padding-inline:16px}.brand-logo{width:136px}.brand-menu-button{gap:8px}}

@media(max-width:639px){.intro-title .hero-offering{position:absolute;left:0;top:100%;width:100%;max-width:none;margin-top:14px;font-size:11px;line-height:1.45}.hero-editorial-aside{padding-top:32px}}

/* Visitor mode keeps the study interface in the DOM for the scene controller. */
body:not([data-study="true"]) :is(.study-controls,.study-note){display:none!important}
body[data-study="true"] .study-controls{visibility:visible}

/* The studio's four disciplines are notes to open, rather than certification badges. */
.rava-footer{
 --footer-ink:#543525;
 --footer-credit-ink:#543525;
 --footer-paper:#fff8f6;
 --footer-label:.875rem;
 color:var(--footer-ink);
}
.site-standards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:var(--hairline) solid var(--bakery-rule);background:transparent;gap:0}
.site-standards button{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-width:0;min-height:88px;padding:18px 28px;border:0;border-radius:0;background:transparent;font:400 var(--footer-label)/1.5 var(--font-sans);color:inherit;text-align:left}
.site-standards button:first-child{padding-inline-start:0}
.site-standards button+button::before{content:"";position:absolute;inset-inline-start:0;top:50%;height:24px;width:var(--hairline);background:var(--bakery-rule);transform:translateY(-50%);pointer-events:none}
.rava-footer .site-standards .standards-title{font:500 16px/1.35 var(--font-accent);letter-spacing:-.015em}
.rava-footer .site-standards .standards-detail{font:400 11px/1.5 var(--font-sans);letter-spacing:.04em}
.site-standards button:hover .standards-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.rava-site .site-standards button:focus-visible{outline-offset:-5px}
.rava-footer>.studio-credit{border:0;padding:0;border-radius:0;background:none;box-shadow:none;justify-content:flex-start;gap:0;color:var(--footer-credit-ink)}
.studio-credit a{display:inline-flex;align-items:center;gap:12px;color:inherit;max-width:100%;min-height:44px;padding-block:4px;text-decoration:none}
.rava-footer .studio-credit span{font:400 13px/1.5 var(--font-sans)}
.studio-credit strong{font-weight:500}
.studio-credit a:hover strong{text-decoration:underline;text-underline-offset:4px}
.studio-credit .studio-sigil{display:block;flex:0 0 36px;width:36px;height:36px;fill:currentColor}
#site-readiness{width:min(640px,calc(100% - var(--space-4)));max-height:calc(100dvh - var(--space-4));overflow:auto;overscroll-behavior:contain;border:var(--hairline) solid var(--bakery-rule);border-radius:var(--space-2);padding:var(--space-5);color:var(--footer-ink);background:var(--footer-paper)}
#site-readiness::backdrop{background:#54352566}
#site-readiness h2{font:600 var(--text-heading)/1.15 var(--font-accent);max-width:16ch;margin:0 var(--space-5) var(--space-2) 0}
#site-readiness p{font:400 var(--text-body)/1.65 var(--font-sans);max-width:60ch}
#site-readiness section{border-top:var(--hairline) solid var(--bakery-rule);margin-top:var(--space-3);padding-top:var(--space-3);scroll-margin-block:var(--space-2)}
#site-readiness section:focus{outline:none}
#site-readiness h3{font:600 var(--text-lede)/1.4 var(--font-accent);margin:0 0 var(--space-1)}
.readiness-close{position:sticky;top:0;float:right;margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) 0 0;background:var(--footer-paper);border-radius:var(--space-1)}
.readiness-close button{display:flex;align-items:center;justify-content:center;min-width:var(--space-6);min-height:var(--space-6);font:400 var(--text-heading)/1 var(--font-sans);color:inherit}
@media(max-width:639px){
 .site-standards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-standards button{min-height:80px;padding:16px 24px}
 .site-standards button:nth-child(odd){padding-inline-start:0}
 .site-standards button:nth-child(odd)::before{display:none}
 .rava-footer>.studio-credit{align-items:flex-start}
 #site-readiness{padding:var(--space-4) var(--space-3)}
}
@media(max-width:359px){.brand-logo{width:112px}.brand-menu-button{gap:6px}}

@media(max-width:639px){.rava-header::before{background:linear-gradient(90deg,#fff9f7c2,#fff9f7b8)}}
/* Scroll hints breathe after a few idle seconds, so a visitor who stops knows what to do.
   Slow and small (4px, 6%), three breaths per idle stretch; rava.js toggles .hint-breathe. */
@keyframes puur-breathe{0%,100%{transform:translateY(0) scale(1);opacity:.78}50%{transform:translateY(4px) scale(1.06);opacity:1}}
.intro-footer a{display:inline-block}
.hint-breathe .scroll-hint,.hint-breathe .intro-footer a{animation:puur-breathe 2.4s ease-in-out 3}
@media (prefers-reduced-motion:reduce){.hint-breathe .scroll-hint,.hint-breathe .intro-footer a{animation:none}}
