/* Pastiçeri Dolce — concept site by KERA Tech Solutions.
   Layout, sizes and motion follow the Bernice Bakery reference (Casa Media) section by section;
   palette shifted to Dolce's own sign: cherry red + butter/caramel on cream, espresso ink. */

:root{
  --butter:#ffc857;          /* accent role (reference pink) */
  --cream:#fbf5ec;           /* page (reference beige) */
  --cherry:#bf2539;          /* main role (reference teal) */
  --ink:#2a1713;             /* dark (reference #112229) */
  --white:#fff;
  --title-font:"Archivo",system-ui,sans-serif;
  --text-font:"Hanken Grotesk",system-ui,sans-serif;
  --menu-text-color:var(--cream);
  --ulu-curve:cubic-bezier(.28,.71,0,.98);
}
*{box-sizing:border-box;line-height:.9}
*::selection{background-color:var(--butter);color:var(--cherry)}
html{scroll-margin-top:120px;-webkit-text-size-adjust:100%}
body{margin:0;padding:0;background-color:var(--cream);color:var(--ink);font-family:var(--text-font);font-size:1.1rem;position:relative;overflow-x:clip}
main{position:relative;z-index:3;background-color:var(--cream)}
a{text-decoration:none;color:var(--ink)}
p{line-height:1.25}
ul{margin:0;padding:0;list-style:none}
img{-webkit-user-select:none;user-select:none;display:block;max-width:100%}
button{font:inherit;color:inherit}
h1,h2,h3{font-weight:inherit}
:focus-visible{outline:3px solid var(--butter);outline-offset:3px;border-radius:6px}
.On_Butter :focus-visible,.Hero_Float_Inner:focus-visible{outline-color:var(--ink)}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:1rem;top:-4rem;z-index:30000;background:var(--ink);color:var(--cream);padding:.8rem 1.2rem;border-radius:100px;font-family:var(--title-font)}
.skip:focus{top:1rem}

/* ---------- utils (reference utils.css) ---------- */
.Fluid img,.Fluid svg{width:100%;height:100%;object-fit:cover}
.Contain_Fluid img,.Contain_Fluid svg{width:100%;height:100%;object-fit:contain}
.Centered{text-align:center}
.SectionPadded{padding:50px 4vw;overflow-x:hidden}
.Absolute_Img{position:absolute;overflow:hidden}
h2.SectionTitle,h1.SectionTitle{text-transform:uppercase;font-family:var(--title-font);font-size:6rem;font-weight:800;font-stretch:100%;line-height:.9;letter-spacing:-.025em;margin:.5em 0}
.Word{overflow:hidden;display:inline-block;margin-right:.3em}
.Word>span,.Word>div{display:inline-block;transform-origin:top left}
.Line{overflow:hidden;display:inline-block;padding-top:2px}
.Line>span,.Line>div{display:inline-block;transform-origin:top left}
/* SplitText masks: extend the clip box so Albanian diacritics (Ë, Ç) are not cut */
.sw-mask{padding:.17em .04em .15em;margin:-.17em -.04em -.15em}
.sl-mask{padding:.17em 0 .15em;margin:-.17em 0 -.15em}
.Grow_Anim{display:inline-block;transition:all .1s ease-out;transform-origin:center;text-decoration:none!important}
.Grow_Anim .word{display:inline-block;text-align:left;white-space:nowrap}
.Grow_Anim .letter{transition:transform 3s ease-out,color .1s ease-out;transform-origin:center;display:inline-block}
.Grow_Anim .letter:hover{transform:scale(1.22)}
.Grow_Anim:hover{color:var(--butter)!important;transform:scale(.95)}

/* ---------- page-load curtain (reference svg.pageload) ---------- */
svg.pageload{display:none}
.js svg.pageload{display:block;width:100%;height:auto;min-height:100vh;position:fixed;left:0;top:0;z-index:20000;pointer-events:none;fill:var(--white)}

/* ---------- header (reference menu.css) ---------- */
header.Site_Header{display:flex;position:fixed;top:0;left:0;width:100%;z-index:100;align-items:center;justify-content:space-between;padding:30px 4vw;transition:all 1s var(--ulu-curve)}
header.Site_Header:before{content:"";position:absolute;inset:0;background-color:var(--white);transform:translateY(-101%);transition:all .8s var(--ulu-curve);z-index:-1}
header.Site_Header.Filled:before,header.Site_Header.Open_Menu:before{transform:translateY(0)}
.site_logo{width:200px;height:40px;position:relative;overflow:hidden;flex-shrink:0}
.Logo_Dark,.Logo_Light{display:flex;align-items:center;position:absolute;top:50%;left:0;transition:all .5s var(--ulu-curve)}
.Logo_Dark{transform:translateY(-175%);color:var(--ink)}
.Logo_Light{transform:translateY(75%);color:var(--cream)}
.Logo_Light.Shown,.Logo_Dark.Shown{transform:translateY(-50%)}
.no-js .Logo_Light{transform:translateY(-50%)}
.Wordmark{display:flex;flex-direction:column;font-family:var(--title-font);text-transform:uppercase;line-height:.82}
.Wordmark small{font-size:.62rem;font-weight:700;letter-spacing:.42em;font-stretch:115%}
.Wordmark b{font-size:2.05rem;font-weight:800;font-stretch:125%;letter-spacing:.02em}
nav.Main_Nav{display:flex;align-items:center}
.main-menu{display:flex;justify-content:center}
.main-menu li{margin:.4rem 2rem 0;display:flex;align-items:center}
.main-menu li a,.main-menu li button{text-transform:uppercase;font-weight:650;font-size:1.2rem;font-family:var(--title-font);font-stretch:105%;color:var(--menu-text-color);background:none;border:0;padding:0;cursor:pointer}
.main-menu_right{display:flex;align-items:center;margin-left:3rem;gap:1.5rem}
.menu_icon{display:block;width:1.5rem;height:1.5rem;position:relative;background:none;border:0;padding:0;cursor:pointer;color:var(--menu-text-color)}
.Icon{width:100%;height:100%;object-fit:contain;color:var(--menu-text-color);transition:all .8s var(--ulu-curve)}
.Icon:hover{color:var(--butter);transform:scale(1.05)}
.Header_CartDot{position:absolute;top:10%;right:10%;transform:translate(50%);display:none;background-color:var(--butter);border:2px solid var(--menu-text-color);border-radius:500px;width:11px;height:11px}
.Header_CartDot.is-visible{display:block}
.Header_Reserve{position:relative;overflow:hidden;border-radius:100px;background:var(--butter);border:2px solid var(--butter);font-family:var(--title-font);text-transform:uppercase;font-weight:650;font-size:1rem;color:var(--ink);padding:.75rem 1.3rem .65rem;white-space:nowrap}
.Header_Reserve span{position:relative;z-index:2;display:block;transition:transform .8s var(--ulu-curve)}
.Header_Reserve:hover span{transform:scale(.92)}
.menu_icon.burger{display:none}

/* Relative_To_Mouse fill (reference Form_Button / Submit container) */
.Mouse_Fill{position:relative;overflow:hidden}
.Mouse_Fill:before{content:"";width:200%;aspect-ratio:1;position:absolute;top:var(--mouse-y,50%);left:var(--mouse-x,50%);border-radius:1000px;transform-origin:center;transform:translate(-50%,-50%) scale(0);transition:transform 1.2s var(--ulu-curve);z-index:1;background-color:var(--cream);pointer-events:none}
.Mouse_Fill:hover:before{transform:translate(-50%,-50%) scale(1.05)}

/* ---------- hero (reference hero.css) ---------- */
.Hero_Section{position:relative}
.Hero_Wrapper{position:relative;display:flex;flex-direction:column;justify-content:end;align-items:end;width:100%;height:100vh;min-height:560px;max-height:110vh;border-radius:0;overflow:hidden;padding:4vw;isolation:isolate}
.Hero_Back_Img{width:100%;height:100%;position:absolute;left:0;top:0;z-index:-1;background-color:var(--ink)}
.Hero_Back_Img img{opacity:.72;transform:scale(1);width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.Hero_Content{display:flex;justify-content:space-between;align-items:end;width:100%}
.Hero_Heading_wrapper{width:85%;position:relative}
.Hero_Heading{color:var(--cream);font-family:var(--title-font);text-transform:uppercase;font-size:12vw;margin:0;font-weight:800;font-stretch:100%;line-height:.92;letter-spacing:-.03em}
.Hero_Heading .Word{margin-right:.22em}
.Hero_Float{position:absolute;bottom:20%;left:100%}
.Hero_Float_Inner{font-family:var(--title-font);background-color:var(--butter);color:var(--ink);text-transform:uppercase;padding:3rem;font-size:2rem;font-weight:600;border-radius:10000px;cursor:pointer;user-select:none;width:fit-content;aspect-ratio:1;display:flex;align-items:center;justify-content:center;transition:.4s all var(--ulu-curve);transform:rotate(30deg);position:relative}
.Hero_Float_Inner:hover{-webkit-mask:var(--bite);mask:var(--bite);-webkit-mask-composite:source-in;mask-composite:intersect;transform:rotate(10deg) scale(.9)}
:root{--bite:radial-gradient(circle at 86% 9%,#0000 17%,#000 17.6%),radial-gradient(circle at 99% 31%,#0000 12%,#000 12.6%),radial-gradient(circle at 66% -3%,#0000 13%,#000 13.6%)}

/* ---------- title + text (reference title-text.css) ---------- */
.Title_Text_Section{position:relative;display:flex;justify-content:space-between;overflow:visible;gap:2rem;padding-bottom:200px}
.Title_Text_Heading{width:calc(60% - 1rem);margin-right:auto;color:var(--cherry)}
.Title_Text_Content{width:calc(40% - 1rem);margin-left:auto}
.Title_Text_Content p{font-family:var(--text-font);font-size:1.6rem;color:var(--cherry);font-weight:400;text-align:left;margin-top:2rem}
.Title_Text_Section .SectionTitle{margin-top:2rem;font-size:4.2rem;margin-bottom:0}
.Title_Text_Section .Absolute_Img{width:180px;aspect-ratio:1;top:62%;left:4vw;margin-left:4rem;overflow:visible}

/* ---------- illustrations (hand-drawn ink, own drawings; symbol classes are matched outside the <use> context) ---------- */
.Ill{display:block;width:100%;height:100%;overflow:visible}
.i-ink,.i-thin{fill:none;stroke:var(--ill-ink,var(--ink));stroke-linecap:round;stroke-linejoin:round}
.i-ink{stroke-width:5}
.i-thin{stroke-width:3}
.i-paper{fill:var(--ill-paper,var(--cream))}
.i-dark{fill:var(--ill-ink,var(--ink))}
.i-acc{fill:var(--ill-acc,var(--butter))}
.i-red{fill:var(--cherry)}
.i-shadow{fill:var(--ill-shadow,var(--butter))}

/* ---------- bestsellers (reference collection-display.css + product-item.css + marquee.css) ---------- */
.Collection_Display_Section{position:relative;overflow-y:visible;display:flex;align-items:center;justify-content:center;min-height:132vh;overflow-x:clip}
.Collection_Display{display:flex;justify-content:space-between;width:100%}
.Collection_Display_Item{flex-basis:30%;padding:1.5rem;border-radius:500px 500px 5rem 5rem;border:4px solid var(--cherry);background-color:var(--cream)}
.Collection_Display_Back{position:absolute;width:120%;overflow:hidden;z-index:-1;top:50%;left:50%;transform-origin:center;transform:translate(-50%,-50%) rotate(-10deg);pointer-events:none}
.Collection_Display_Section{z-index:0;isolation:isolate}
.Marquee{margin:2rem 0}
.Marquee_Content{width:max-content;display:flex;flex-wrap:nowrap;animation:MarqueeScroll 20s infinite 0s linear}
.Marquee_Content.Reversed{animation-direction:reverse;animation-duration:34s}
.Marquee_Content div{display:inline-block;font-family:var(--title-font);font-weight:800;font-stretch:100%;letter-spacing:-.02em;text-transform:uppercase;font-size:8rem;margin:1rem;color:var(--cherry);line-height:.9}
.Marquee_Content .Reversed{color:var(--cream);-webkit-text-stroke:1.4px var(--cherry)}
@keyframes MarqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}

.Product_Item{width:100%}
.Product_Item_Image{display:block;aspect-ratio:1;border-radius:1.5rem;overflow:hidden;margin:0 0 2rem;position:relative;background:var(--ink)}
.Product_Item_Image>img{width:100%;height:100%;object-fit:cover;transition:all .5s var(--ulu-curve)}
.Product_Item_Second_Image{position:absolute;inset:0;border-radius:1.5rem;overflow:hidden;opacity:0;transition:all .5s var(--ulu-curve);pointer-events:none}
.Product_Item_Second_Image img{width:100%;height:100%;object-fit:cover}
.Product_Item_Image:hover>img{opacity:0}
.Product_Item_Image:hover .Product_Item_Second_Image{opacity:1}
.Product_Item_Ingredient{position:absolute;top:50%;left:50%;transform-origin:center;transform:translate(-50%,-50%) scale(0);transition:all .8s var(--ulu-curve);width:fit-content;font-size:1rem;text-transform:uppercase;color:var(--ink);background-color:var(--butter);padding:8px 12px 7px;border-radius:200px;text-align:center;font-family:var(--title-font);font-weight:600;white-space:nowrap;z-index:2}
.Product_Item_Image:hover .Product_Item_Ingredient{top:var(--top);left:var(--left);transform:translate(-50%,-50%) scale(1) rotate(var(--rotation))}
.Product_Item_Title{font-family:var(--title-font);text-transform:uppercase;font-size:1.5rem;font-weight:800;font-stretch:100%;letter-spacing:-.01em;margin:1rem 0 .5rem;line-height:.92}
.Product_Item .Format{font-size:14px;line-height:1.3}
.Product_Item .Separator_Dot{display:inline-block;margin:0 .5rem .2rem;width:4px;height:4px;border-radius:50px;background-color:var(--ink);vertical-align:middle}
.Product_Item_Content{display:flex;justify-content:space-between;align-items:center;margin-top:5px;gap:.5rem}
.Product_Item_Content .Price{font-family:var(--text-font);font-weight:700;font-size:1.2rem;text-transform:uppercase;display:block;margin-top:.5rem}
.Product_Item_Content .Price.Soft{font-weight:500;font-size:1rem;text-transform:none;opacity:.8}
.Quantity_Selector{display:flex;justify-content:center;align-items:center;flex-shrink:0}
.Quantity_Selector>*{font-size:2rem;font-family:var(--title-font);font-weight:700}
.Quantity_Selector_Button{aspect-ratio:1;width:3rem;border:0;padding:0;font-size:2.2rem;font-weight:600;border-radius:100px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:all .4s var(--ulu-curve)}
.Minus_Button{background-color:var(--cherry);color:var(--cream)}
.Plus_Button{background-color:var(--butter);color:var(--ink)}
.Quantity_Selector_Button:hover{-webkit-mask:var(--bite);mask:var(--bite);-webkit-mask-composite:source-in;mask-composite:intersect;transform:rotate(15deg)}
.Quantity_Selector_Button span{position:absolute;top:50%;left:50%;transform:translate(-50%,-54%);z-index:2;user-select:none;line-height:1}
.Quantity_Selector output{margin:0 .5rem;width:3rem;text-align:center;display:inline-block}
.Product_Item_Submit_Container{margin-top:1rem;border-radius:100px;background-color:var(--butter);border:2px solid var(--butter)}
.Product_Item_Submit{border:none;background-color:transparent;font-family:var(--title-font);color:var(--ink);text-transform:uppercase;width:100%;padding:1.2rem 1rem 1rem;font-size:1.5rem;font-weight:500;cursor:pointer;user-select:none;position:relative;z-index:2;transition:all .8s var(--ulu-curve);display:block;text-align:center}
.Product_Item_Submit_Container:hover .Product_Item_Submit{transform:scale(.9)}
.Product_Item_Submit.Added{color:var(--cherry)}

/* menu tiles (illustrated, for items without their own photo) */
.Tile{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--tile-bg,var(--cherry))}
.Tile .Ill{width:62%;height:62%}
.Tile.t0{--tile-bg:var(--cherry);--ill-shadow:#9b1b2c}
.Tile.t1{--tile-bg:var(--butter);--ill-acc:#e9953b;--ill-shadow:#f2b13c}
.Tile.t2{--tile-bg:var(--ink);--ill-ink:var(--cream);--ill-paper:var(--ink);--ill-shadow:var(--cherry);--ill-swirl:var(--ink)}
.Tile.t3{--tile-bg:#f3e4cf;--ill-shadow:var(--butter)}
.Tile_Name{position:absolute;left:1.1rem;bottom:1rem;right:1.1rem;font-family:var(--title-font);font-weight:800;font-stretch:112%;text-transform:uppercase;font-size:1rem;letter-spacing:.06em;opacity:.55;color:var(--ink)}
.Tile.t0 .Tile_Name,.Tile.t2 .Tile_Name{color:var(--cream)}
.Price_Sticker{position:absolute;right:1rem;top:1rem;width:5.4rem;aspect-ratio:1;border-radius:100px;background:var(--cream);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--title-font);font-weight:800;font-size:1.5rem;transform:rotate(14deg);transition:transform .6s var(--ulu-curve);z-index:3;line-height:.9}
.Price_Sticker small{font-size:.7rem;font-weight:600;letter-spacing:.1em}
.Product_Item_Image:hover .Price_Sticker{transform:rotate(-6deg) scale(1.06)}
.Tile.t1+.Price_Sticker,.Tile.t3+.Price_Sticker{background:var(--cherry);color:var(--cream)}

/* ---------- arches gallery (reference arches-display.css + window-image.css) ---------- */
.Arches_Display_Section{padding:20px 0!important;margin:3rem 0}
.Arches_Display_Section .SectionTitle{padding:0 1rem;max-width:1320px;margin-left:auto;margin-right:auto;text-wrap:balance}
.Arches_Display_Container{width:100%;overflow:hidden}
.Arches_Display_Inner{display:flex;width:max-content;gap:1.5rem;align-items:flex-end;animation:scroll 40s infinite linear}
.Arches_Display_Icon{width:120px;aspect-ratio:1;flex-shrink:0}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.Window_Image{width:30vw;display:flex;align-items:end;justify-content:center;flex-shrink:0}
.Arches_Display_Container .Window_Image{width:20vw;height:calc(20vw + var(--random,0) * 5vw)}
.Window_Image_Limit{border-radius:500px 500px 5rem 5rem;width:100%;height:100%;overflow:hidden;position:relative;background:var(--ink)}
.js .Window_Image.Instant .Window_Image_Limit{clip-path:inset(60% 40% 0% 40% round 500px 500px 5rem 5rem)}
.Window_Image_Container{position:absolute;top:50%;left:50%;height:100%;width:30vw;transform:translate(-50%,-50%)}
.Arches_Display_Container .Window_Image_Container{width:24vw}
.Window_Image_Container img{width:100%;height:100%;object-fit:cover}
.js .Window_Image.Instant .Window_Image_Container img{transform:scale(1.3)}

/* ---------- menu browser (reference collections-browser.css) ---------- */
.Collections_Browser_Section{position:relative}
.Collection_Browser_Tabs{display:flex;flex-wrap:wrap;gap:1rem 0}
.Collection_Browser_Tab_Button{margin-right:1rem;font-size:1.5rem;font-family:var(--title-font);text-transform:uppercase;cursor:pointer;position:relative;border-radius:10000px;overflow:hidden;background:none;border:0;padding:0;isolation:isolate}
.Collection_Browser_Tab_Button span{display:block;text-align:center;width:100%;height:100%;border-radius:10000px;border:2px solid var(--tab,var(--ink));padding:1rem 2rem .85rem;color:var(--ink);font-weight:550;transition:all .8s var(--ulu-curve)}
.Collection_Browser_Tab_Button .Back{border-radius:10000px;aspect-ratio:1;position:absolute;top:50%;left:50%;z-index:-1;width:100%;transform-origin:top left;transform:scale(1.05) translate(75%,50%) rotate(15deg);transition:all .8s var(--ulu-curve);background:var(--tab,var(--ink))}
.Collection_Browser_Tab_Button:hover .Back,.Collection_Browser_Tab_Button.Selected .Back{transform:scale(1.05) translate(-50%,-50%)}
.Collection_Browser_Tab_Button:hover span,.Collection_Browser_Tab_Button.Selected span{color:var(--cream)}
.Collection_Browser_Tab_Button.On_Butter:hover span,.Collection_Browser_Tab_Button.On_Butter.Selected span{color:var(--ink)}
.Collection_Browser_Products_Container{display:none}
.Collection_Browser_Products_Container.Open{display:block}
.Collection_Browser_Product_Page{display:none;flex-wrap:wrap;margin:4rem 0 2rem}
.Collection_Browser_Product_Page.Open,.Show_All .Collection_Browser_Product_Page{display:flex}
.Show_All .Collection_Browser_Product_Page{margin:2rem 0 0}
.Show_All .Collection_Browser_Product_Page:first-child{margin-top:4rem}
.no-js .Collection_Browser_Products_Container{display:block}
.no-js .Collection_Browser_Product_Page{display:flex}
.Collection_Browser_Product{width:26%;margin-bottom:2rem;overflow:hidden}
.Collection_Browser_Product:nth-child(3n-1){margin:0 11% 2rem}
.Collection_Browser_Bottom{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:2rem}
.Collection_Browser_Navigation{display:flex}
.Collection_Browser_Arrow{width:3rem;height:3rem;border-radius:10000px;overflow:hidden;position:relative;background-color:var(--ink);border:2px solid var(--ink);color:var(--cream);cursor:pointer;margin-right:1rem;padding:8px}
.Collection_Browser_Arrow:before{content:"";position:absolute;background-color:var(--cream);width:100%;height:100%;top:0;left:0;border-radius:25px;transform:rotate(75deg) translate(100%,60%);transform-origin:bottom left;transition:all .6s var(--ulu-curve)}
.Collection_Browser_Arrow.Disabled{opacity:.72;cursor:auto}
.Collection_Browser_Arrow svg{position:relative;z-index:1;width:100%;height:100%;stroke:var(--cream);transition:stroke .6s var(--ulu-curve)}
.Collection_Browser_Arrow:not(.Disabled):hover:before{transform:none;border-radius:100px}
.Collection_Browser_Arrow:not(.Disabled):hover svg{stroke:var(--ink)}
.Collection_Browser_View_All{font-size:1.5rem;text-transform:uppercase;text-decoration:underline;text-underline-offset:.15em;font-family:var(--title-font);color:var(--ink);background:none;border:0;cursor:pointer;font-weight:550}
.Menu_Note{font-size:.95rem;opacity:.75;margin:1.5rem 0 0;max-width:46rem}

/* ---------- reputation (reference testimonials.css) ---------- */
.Testimonials_Scroller{overflow-x:hidden;margin:6rem 0}
.Testimonials_Container{display:flex;flex-wrap:nowrap;width:max-content;animation:scroll 40s infinite linear}
.Testimonial{background-color:var(--cherry);color:var(--cream);padding:3rem;width:520px;margin-right:4vw;border-radius:3rem;display:flex;flex-direction:column;flex-shrink:0;min-height:400px}
.Testimonial:nth-child(2n){background-color:var(--ink)}
.Citations{font-family:var(--title-font);font-size:5rem;font-weight:800;margin:0;margin-bottom:-2rem;line-height:1}
.Testimonial p{font-family:var(--text-font);font-size:1.15rem;font-weight:300;margin:1.4rem 0 1.8rem}
.Testimonial .Citations{font-family:var(--title-font);font-size:5rem;font-weight:800;margin:0 0 -2rem;line-height:1}
.Testimonial_Logo{margin-top:auto;font-family:var(--title-font);text-transform:uppercase}
.Testimonial_Logo b{display:block;font-size:2.1rem;font-weight:800;font-stretch:112%}
.Testimonial_Logo span{display:block;font-size:.95rem;font-weight:500;margin-top:.5rem;opacity:.85;letter-spacing:.04em}
.Rating_Card .Rating_Big{font-family:var(--title-font);font-weight:800;font-stretch:115%;font-size:8.5rem;line-height:.85;margin:1.5rem 0 0;display:flex;align-items:flex-start;gap:.5rem}
.Rating_Card .Rating_Big span{font-size:.45em;color:var(--butter);margin-top:.18em}
.Stars{display:flex;gap:.3rem;margin:1.2rem 0 0;color:var(--butter)}
.Stars svg{width:1.6rem;height:1.6rem}

/* ---------- celebrate with cake (reference collections-cta.css) ---------- */
.Collections_CTA_Section{display:flex;flex-direction:column;align-items:center;overflow:hidden}
.Collections_CTA_Image{position:relative;margin:8rem 0}
.Collections_CTA_Image .Window_Image{aspect-ratio:.75}
.Collections_CTA_Button{position:absolute;z-index:1;background-color:var(--butter);border-radius:1000px;bottom:0;left:50%;transform:translate(-50%,50%) scale(.6);overflow:hidden;transition:border-color .8s var(--ulu-curve);outline:8px solid var(--cream);border:5px solid transparent}
.Collections_CTA_Button:hover{border-color:var(--butter)}
.Collections_CTA_Button:before{background-color:var(--cherry)}
.Collections_CTA_Button a{position:relative;display:flex;padding:2rem;color:var(--ink);aspect-ratio:1;border-radius:1000px;font-size:1.5rem;font-family:var(--title-font);font-weight:600;text-transform:uppercase;align-items:center;justify-content:center;z-index:2;transition:all .8s var(--ulu-curve);min-width:9.5rem}
.Collections_CTA_Button:hover a{transform:scale(.9);color:var(--cream)}
.Collections_CTA_Text{width:40%;text-align:center;font-family:var(--text-font);font-weight:400;font-size:1.1rem}
.Collections_CTA_Title_SVG{overflow:visible;font-family:var(--title-font);font-weight:800;font-stretch:100%;font-size:2.5rem;text-transform:uppercase;position:absolute;bottom:0;left:50%;width:110%;transform:translate(-50%);fill:var(--ink);pointer-events:none}

/* ---------- visit card (reference newsletter + footer.css) ---------- */
.Newsletter_Section{background-color:var(--cream);position:relative;z-index:2;margin-top:-1px;padding-top:4rem;padding-bottom:3rem}
.Footer_Is_Fixed .Newsletter_Section{border-radius:0 0 1.5rem 1.5rem}
.Newsletter_Container{background-color:var(--cherry);color:var(--cream);border-radius:2rem;padding:2rem 4rem 2.6rem;width:60%;min-width:600px;margin:0 auto;display:flex;flex-direction:column;align-items:center;position:relative;text-align:center}
.Newsletter_Container h2{max-width:11ch;text-wrap:balance;font-size:4rem;font-family:var(--title-font);font-weight:800;font-stretch:100%;letter-spacing:-.02em;text-transform:uppercase;text-align:center;margin:1.6rem 0 1rem;line-height:.9}
.Newsletter_Container>p{font-family:var(--text-font);font-weight:300;margin:0 0 1.4rem}
.Visit_Facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 2.4rem;text-align:left;width:100%;max-width:560px;margin:.4rem 0 1.6rem}
.Visit_Facts dt{font-family:var(--title-font);text-transform:uppercase;font-weight:700;font-size:.8rem;letter-spacing:.12em;opacity:.8;margin-bottom:.35rem}
.Visit_Facts dd{margin:0;font-size:1.05rem;line-height:1.3}
.Visit_Facts a{color:var(--cream);text-decoration:underline;text-underline-offset:.2em}
.Visit_Facts a:hover{color:var(--butter)}
.Newsletter__Inner{display:flex;justify-content:space-between;width:72%;min-width:420px;gap:6px}
.Pill_Input{flex-grow:1;border-radius:10000px;background-color:var(--butter);color:var(--ink);padding:1.25rem 1.4rem 1.05rem;font-family:var(--title-font);text-transform:uppercase;font-size:1rem;font-weight:600;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.Pill_Input span{position:relative;z-index:2;transition:transform .8s var(--ulu-curve)}
.Pill_Input:hover span{transform:translateX(.3rem)}
.Pill_Input:before{background-color:var(--cream)!important}
.Pill_Submit{border-radius:10000px;background-color:var(--ink);border:2px solid var(--ink);align-self:flex-end;display:flex;flex-shrink:0}
footer.Site_Footer .Pill_Input,footer.Site_Footer .Pill_Input:hover{color:var(--ink)}
.Pill_Submit:before{background-color:var(--cream)!important}
.Pill_Submit a,.Pill_Submit button{position:relative;z-index:2;color:var(--cream);font-family:var(--title-font);text-transform:uppercase;font-size:1rem;font-weight:600;padding:1rem 1.3rem .85rem;transition:all .8s var(--ulu-curve);display:block;background:none;border:0;cursor:pointer;white-space:nowrap}
.Pill_Submit:hover a,.Pill_Submit:hover button{color:var(--ink)}
.Newsletter_Floating_Img{position:absolute;transform:translate(-50%,-50%);z-index:1}
.Newsletter_Floating_Img.Left{left:0;top:15px;width:150px;height:150px}
.Newsletter_Floating_Img.Right{left:100%;top:75%;width:150px;height:130px}

/* ---------- footer (reference footer.css) ---------- */
.Footer_Space{pointer-events:none;background:var(--cherry)}
.Footer_Wrapper{pointer-events:all}
.Footer_Wrapper.Fixed{position:fixed;bottom:0;left:0;width:100%;z-index:1}
footer.Site_Footer{background-color:var(--cherry);color:var(--cream);gap:1rem;display:flex;flex-direction:column;container-type:inline-size;padding:4rem 4vw 1rem;overflow:hidden}
footer.Site_Footer a{color:var(--cream);transition:color .6s var(--ulu-curve)}
footer.Site_Footer a:hover{color:var(--butter)}
.Footer_Top{font-family:var(--title-font);display:flex;width:100%;justify-content:space-between;align-items:flex-start}
.Footer_Infos{max-width:24rem}
.Footer_Infos p,.Footer_Infos a{font-family:var(--title-font);font-size:1.05rem;line-height:1.2;margin:.9rem 0 0}
.Footer_Infos a{display:block;margin:.25rem 0 0}
footer.Site_Footer h3{display:block;margin:1rem 0 0;text-transform:uppercase;font-size:2rem;font-weight:800;font-stretch:112%}
.Footer_Menu ul{margin-top:1rem}
.Footer_Menu li a{display:block;margin-bottom:1rem;text-transform:uppercase;font-weight:650;font-size:1.2rem}
.Third_Parties{display:flex;margin-top:1rem;align-items:center;gap:1rem}
.Third_Parties a{width:50px;height:50px;border-radius:10px;overflow:hidden;display:flex!important;align-items:center;justify-content:center;margin:0!important}
.Third_Parties a.tp-ig{background:var(--cream);color:var(--cherry)!important}
.Third_Parties a.tp-wa{background:var(--butter);color:var(--ink)!important}
.Third_Parties a.tp-map{background:var(--ink);color:var(--cream)!important}
.Third_Parties svg{width:26px;height:26px}
.Footer_Socials{margin-top:1rem}
.Footer_Reserve{max-width:24rem}
.Footer_Reserve .Newsletter__Inner{width:100%;min-width:0;margin-top:1.6rem}
.Footer_Middle{padding-top:2rem}
.Footer_Big_Logo{width:100%;overflow:hidden}
.Footer_Big_Logo_Text{display:block;font-family:var(--title-font);font-size:22.4cqw;text-transform:uppercase;font-weight:900;font-stretch:125%;margin-left:-.6cqw;line-height:.78;letter-spacing:-.02em;white-space:nowrap}
.Footer_Bottom{display:flex;font-family:var(--title-font);width:100%;justify-content:space-between;align-items:flex-end;padding-bottom:.5rem;font-size:1rem}
.Footer_Bottom>div{width:33%}
.Footer_Copy{text-align:left}
.Footer_Terms{text-align:center}
.Footer_Casa{text-align:right}

/* ---------- order drawer (reference cart-drawer.css) ---------- */
.overlay{position:fixed;inset:0;background-color:#00000080;z-index:10001;opacity:0;pointer-events:none;transition:opacity 1s var(--ulu-curve)}
.overlay.open{opacity:1;pointer-events:all}
.Cart_Drawer{position:fixed;right:0;top:0;width:560px;max-width:100%;height:100%;transform:translate(100%);z-index:20000;transition:transform .8s var(--ulu-curve),visibility 0s .8s;background-color:var(--white);padding:2rem;display:flex;flex-direction:column;visibility:hidden}
.Cart_Drawer.open{transform:none;visibility:visible;transition:transform .8s var(--ulu-curve),visibility 0s}
.Drawer_Top{display:flex;width:100%;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--cherry)}
.Drawer_Top h2{text-transform:uppercase;font-family:var(--title-font);font-weight:800;font-size:2rem;margin:0}
.Drawer_Close{width:2rem;height:2rem;border:none;background-color:transparent;cursor:pointer;position:relative;padding:0;color:var(--ink)}
.Drawer_Close svg{width:100%;height:100%;transition:all .6s var(--ulu-curve)}
.Drawer_Close:hover svg{color:var(--cherry);transform:rotate(90deg)}
.Cart_Drawer_Content{flex-grow:1;overflow-y:auto;padding-right:.5rem}
.Cart_Empty{font-size:1.15rem;line-height:1.35;opacity:.8}
.Cart_Item{margin:0 0 1.6rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;border-bottom:1px solid #2a171320;padding-bottom:1.2rem}
.Cart_Item_Title{margin:0 0 .4rem;font-size:1.2rem;font-family:var(--title-font);text-transform:uppercase;font-weight:800;line-height:1}
.Cart_Item .Price{font-weight:600}
.Cart_Item .Quantity_Selector_Button{width:2.2rem;font-size:1.6rem}
.Cart_Item .Quantity_Selector output{font-size:1.4rem;width:2.2rem}
.Cart_Remove{background:none;border:0;padding:0;margin-top:.5rem;text-decoration:underline;cursor:pointer;font-family:var(--title-font);font-size:.95rem}
.Cart_Footer{border-top:2px solid var(--cherry);padding-top:1.2rem}
.Cart_Total{display:flex;justify-content:space-between;font-family:var(--title-font);font-weight:800;font-size:1.4rem;text-transform:uppercase}
.Cart_Footer p{font-size:.95rem;opacity:.8;margin:.6rem 0 0}
.Cart_Checkout_Button_Container{margin-top:1rem;border:2px solid var(--butter);background-color:var(--butter);border-radius:100px}
.Cart_Checkout_Button{border:none;font-family:var(--title-font);color:var(--ink);text-transform:uppercase;width:100%;border-radius:100px;padding:1.2rem 1rem 1rem;font-size:1.4rem;font-weight:700;cursor:pointer;position:relative;z-index:2;display:block;text-align:center;background:none}
.Cart_Checkout_Button[aria-disabled=true]{opacity:.5;pointer-events:none}

/* ---------- mobile drawer (reference menu-drawer.css) ---------- */
.Menu_Drawer{position:fixed;right:0;top:0;width:100%;height:100%;z-index:20000;padding:30px 4vw;gap:2rem;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;overflow:hidden;visibility:hidden;transition:visibility 0s 1.2s}
.Menu_Drawer.open{pointer-events:all;visibility:visible;transition:visibility 0s}
.Menu_Drawer>div{transition:all .4s var(--ulu-curve);opacity:0}
.Menu_Drawer.open>div{transition:all .4s var(--ulu-curve) .6s;opacity:1}
.Menu_Drawer:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);transform-origin:bottom right;min-width:150%;min-height:150%;aspect-ratio:1;border-radius:10000px;background-color:var(--ink);z-index:-1;transition:all .8s var(--ulu-curve) .4s}
.Menu_Drawer.open:before{transition:all .8s var(--ulu-curve);transform:translate(-50%,-50%) scale(1)}
.Menu_Drawer .Drawer_Top{border:none;margin-bottom:0;padding:0}
.Menu_Drawer .Drawer_Close{color:var(--cream)}
.Menu_Drawer_Content{display:flex;flex-direction:column;gap:1rem;align-items:flex-start;justify-content:center}
.Menu_Drawer_Links{display:flex;flex-direction:column;gap:1.6rem;width:100%}
.Menu_Drawer_Link{font-family:var(--title-font);font-size:4.5vh;font-weight:800;font-stretch:112%;margin:0;display:block;text-transform:uppercase;color:var(--cream)!important;background:none;border:0;padding:0;cursor:pointer;text-align:left}
.Menu_Drawer_Socials{display:flex;gap:1rem;align-items:center}
.Menu_Drawer_Socials a{color:var(--cream);font-family:var(--title-font);text-transform:uppercase;font-weight:600}
.Menu_Drawer .Drawer_Bottom{height:180px}
.Drawer_Changing_Images{overflow:hidden;border-radius:1.5rem;display:flex;flex-wrap:nowrap;width:100%;height:100%}
.Drawer_Changing_Images img{min-width:100%;width:100%;height:100%;object-fit:cover;animation:changingImages 15s infinite var(--ulu-curve)}
@keyframes changingImages{0%{transform:translate(0)}33%{transform:translate(0)}36%{transform:translate(-100%)}66%{transform:translate(-100%)}69%{transform:translate(-200%)}97%{transform:translate(-200%)}to{transform:translate(0)}}

/* ---------- concept toast ---------- */
.Concept_Toast{position:fixed;left:1.2rem;bottom:1.2rem;z-index:15000;max-width:min(420px,calc(100vw - 2.4rem));background:var(--ink);color:var(--cream);border-radius:1.2rem;padding:1rem 3rem 1rem 1.2rem;font-size:.92rem;line-height:1.35;box-shadow:0 12px 40px #0004;transform:translateY(140%);opacity:0;transition:transform .9s var(--ulu-curve),opacity .5s}
.Concept_Toast.show{transform:none;opacity:1}
.Concept_Toast p{margin:0;line-height:1.35}
.Concept_Toast a{color:var(--butter);text-decoration:underline}
.Concept_Toast button{position:absolute;right:.6rem;top:.6rem;width:2rem;height:2rem;border-radius:100px;border:0;background:#ffffff1a;color:var(--cream);cursor:pointer;font-size:1.2rem;line-height:1}
.Concept_Toast button:hover{background:var(--butter);color:var(--ink)}

/* ---------- crumbs canvas (reference canvas.js) ---------- */
#js-front-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:10000}

/* ---------- responsive ---------- */
@media screen and (min-width:1601px){
  .Collection_Display_Item{padding:4rem}
  .Collections_CTA_Button a{font-size:2.5rem}
}
@media screen and (max-width:1366px) and (min-width:769px){
  .Hero_Float_Inner{padding:2.5rem;font-size:1.7rem}
}
@media screen and (max-width:1180px){
  .main-menu li{margin:.4rem 1.1rem 0}
  .main-menu_right{margin-left:1.5rem}
  .Title_Text_Section .SectionTitle{font-size:3.4rem}
}
@media screen and (max-width:980px){
  .main-menu li a{font-size:1rem}
  .main-menu li{margin:.4rem .7rem 0}
  .Marquee_Content div{font-size:6rem}
}
@media screen and (max-width:768px){
  :root{font-size:14px}
  header.Site_Header{padding:20px 4vw}
  .main-menu{display:none}
  .menu_icon.burger{display:block}
  .main-menu_right{margin-left:0;gap:1rem}
  .Header_Reserve{font-size:.9rem;padding:.65rem 1rem .55rem}
  .site_logo{width:150px}
  .Wordmark b{font-size:1.75rem}
  .Hero_Wrapper{height:75vh;min-height:520px;flex-direction:column;padding-bottom:6rem}
  .Hero_Heading_wrapper{width:100%;display:flex;align-items:flex-start;gap:1rem;flex-direction:column-reverse}
  .Hero_Heading{font-size:17vw}
  .Hero_Float{display:flex;justify-content:flex-end;position:static;width:100%}
  .Hero_Float_Inner{font-size:1.5rem;padding:1.5rem}
  h2.SectionTitle,h1.SectionTitle{font-size:3rem}
  .Title_Text_Section{flex-direction:column;gap:0;min-height:0;padding-bottom:140px}
  .Title_Text_Section .SectionTitle{font-size:2.3rem}
  .Title_Text_Heading,.Title_Text_Content{width:100%}
  .Title_Text_Content p{font-size:1.45rem}
  .Title_Text_Section .Absolute_Img{width:100px;top:auto;bottom:20px;left:auto;right:6vw;margin:0}
  .Collection_Display_Section{min-height:0;padding-top:4rem;padding-bottom:4rem}
  .Collection_Display{flex-direction:column;gap:2rem}
  .Collection_Display_Back{width:140%;top:30%}
  .Marquee_Content div{font-size:5rem}
  .Arches_Display_Icon{width:80px}
  .Arches_Display_Container .Window_Image{width:60vw;height:calc(60vw + var(--random,0) * 15vw)}
  .Arches_Display_Container .Window_Image_Container{width:66vw}
  .Collection_Browser_Tab_Button{font-size:1.2rem}
  .Collection_Browser_Tab_Button span{padding:.8rem 1.2rem .7rem}
  .Collection_Browser_Product,.Collection_Browser_Product:nth-child(3n-1){width:100%;margin:0 0 2rem}
  .Collection_Browser_View_All{font-size:1.2rem}
  .Testimonial{width:320px;padding:2.2rem;min-height:360px}
  .Rating_Card .Rating_Big{font-size:6rem}
  .Testimonials_Scroller{margin:3rem 0 0}
  .Window_Image,.Window_Image_Container{width:65vw}
  .Collections_CTA_Image{margin:6rem 0 5rem}
  .Collections_CTA_Text{width:100%}
  .Newsletter_Container{min-width:0;width:100%;padding:2rem 1.4rem}
  .Newsletter_Container h2{font-size:2.4rem}
  .Newsletter_Floating_Img{display:none}
  .Visit_Facts{grid-template-columns:1fr}
  .Newsletter__Inner{min-width:0;width:100%;flex-direction:column}
  .Pill_Submit{align-self:stretch;justify-content:center}
  .Footer_Top,.Footer_Bottom{flex-direction:column}
  footer.Site_Footer h3{font-size:2.2rem}
  .Footer_Menu,.Footer_Reserve,.Footer_Infos{margin-top:2rem;font-size:1.5rem}
  .Footer_Top .Footer_Menu:nth-child(3){margin-top:0}
  .Footer_Menu li a{font-size:1.6rem}
  .Footer_Bottom>div{width:100%;margin-top:1rem;text-align:left}
  .Footer_Casa{margin-bottom:2rem}
  .Footer_Bottom{padding-top:2rem}
  svg.pageload{display:none!important}
  .Cart_Drawer{width:92%}
}
@media screen and (max-width:420px){
  .site_logo{width:128px}
  .Wordmark b{font-size:1.5rem}
  .Wordmark small{font-size:.52rem}
  .main-menu_right{gap:.8rem}
  .Header_Reserve{font-size:.78rem;padding:.6rem .8rem .5rem}
  .Hero_Heading{font-size:16.5vw}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js svg.pageload{display:none}
  .js .Window_Image.Instant .Window_Image_Limit{clip-path:none}
  .js .Window_Image.Instant .Window_Image_Container img{transform:none}
  .Arches_Display_Container,.Testimonials_Scroller{overflow-x:auto}
  .Collection_Display_Back .Marquee_Content{transform:translateX(-12%)}
}
