:root{--burgundy:#812b3b;--burgundy-dark:#632030;--ink:#311c1b;--cream:#fffaf5;--peach:#fae7dc;--peach2:#f8ded0;--line:#efd8cb;--font:"DM Sans",Arial,sans-serif;--serif:"Playfair Display",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#251617;background:#e8d3c6;font-family:var(--font);font-size:15px}body.modal-open{overflow:hidden}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ae6074;outline-offset:3px}h1,h2,h3,p{margin-top:0}.icon-library{position:absolute;width:0;height:0;overflow:hidden}svg{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3{font-family:var(--serif);letter-spacing:-.035em;color:var(--ink)}.site-shell{max-width:1480px;margin:20px auto;background:var(--cream);border-radius:18px;overflow:hidden;box-shadow:0 18px 60px #3c242824;min-height:100vh}.site-header{height:72px;display:flex;align-items:center;gap:24px;padding:0 clamp(25px,5.8vw,85px);position:relative;z-index:8;background:#fff8f3}.brand{display:flex;align-items:center;gap:12px;min-width:224px;color:var(--burgundy)}.brand-mark{width:54px;height:54px;stroke-width:2.2}.brand-type{display:block;font-family:var(--serif);color:#5d1c29;font-size:17px;line-height:.97}.brand-type span,.brand-type strong{display:block}.brand-type strong{font-size:29px;font-weight:700}.desktop-nav{margin:auto;display:flex;gap:clamp(16px,2.55vw,38px);align-items:center;white-space:nowrap}.desktop-nav a{font-size:13px;font-weight:600;padding:14px 0;border-bottom:2px solid transparent}.desktop-nav a:hover,.desktop-nav a.current{color:var(--burgundy);border-bottom-color:var(--burgundy)}.nav-order{border-radius:14px;background:var(--burgundy);color:white;display:flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;font-size:13px;font-weight:700;min-height:43px;padding:0 20px;transition:background .2s}.nav-order:hover,.burgundy:hover{background:var(--burgundy-dark)}.wa-icon{height:19px;width:19px;stroke-width:2}.menu-toggle,.mobile-nav{display:none}
.hero{height:387px;position:relative;overflow:hidden;background:linear-gradient(103deg,#f7e4d8 0%,#f7dfd3 48%,#eac5b5 100%);margin:0 0 0;border-radius:9px}.hero-bakery{position:absolute;inset:-60px -20px -60px 37%;background-image:url('assets/hero-bakery-blur.jpg');background-size:cover;background-position:center center;filter:blur(21px);opacity:.62;mix-blend-mode:multiply}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,233,222,.98) 0%,rgba(252,234,223,.93) 26%,rgba(248,222,208,.38) 55%,rgba(249,218,205,.16) 100%);z-index:1}.hero:after{content:"";position:absolute;inset:auto 0 0;height:30px;background:linear-gradient(transparent,#efcbb48c);z-index:1;pointer-events:none}.hero-text{position:relative;z-index:3;width:55%;padding:39px 0 36px clamp(40px,8vw,135px);height:100%;pointer-events:none}.hero-text>*{pointer-events:auto}.hero-kicker{font-size:13px;font-weight:700;letter-spacing:4px;line-height:1.5;color:var(--burgundy);margin:0 0 13px}.hero h1{font-weight:600;font-size:clamp(55px,5.7vw,82px);line-height:.99;color:#7d2939;margin:0 0 19px}.hero-description{font-size:18px;line-height:1.45;color:#2c1c1b;margin:0 0 22px;max-width:430px}.hero-actions{display:flex;gap:16px;align-items:center}.btn{border:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 23px;min-height:42px;font-size:14px;font-weight:700;text-align:center;transition:background .2s,transform .2s}.btn:active{transform:scale(.98)}.burgundy{background:var(--burgundy);color:white}.outline{background:#fff4ecaa;border:1.5px solid var(--burgundy-dark);color:var(--burgundy-dark)}.outline:hover{background:#fffaf7}.btn svg{width:18px;height:18px;stroke-width:2.1}.hero-stage{position:absolute;inset:0 0 0 44%;z-index:2;overflow:hidden}.hero-track{height:100%;width:100%;display:flex;will-change:transform;transform:translate3d(0,0,0)}.hero-slide{width:100%;height:100%;flex:0 0 100%;display:block;position:relative;border:0;padding:0;background:transparent;overflow:hidden}.hero-slide img{height:100%;width:100%;object-fit:contain;object-position:55% center;filter:drop-shadow(0 18px 14px #6d414039)}.hero-slide.photo img{height:85%;width:70%;margin:auto;object-fit:cover;border-radius:18px;box-shadow:0 18px 42px #68433d36;position:relative;top:7%}.hero-slide.photo:before{content:"";position:absolute;inset:9% 18%;background:#fff7f0;border-radius:20px;filter:blur(17px);opacity:.6}.hero-dotbar{position:absolute;bottom:10px;right:12%;display:flex;align-items:center;gap:6px;z-index:2}.hero-dotbar button{border:0;background:#fff8f1ad;width:6px;height:6px;border-radius:50%;padding:0}.hero-dotbar button.active{background:var(--burgundy);width:17px;border-radius:8px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:13px}.section-heading h2{font-size:clamp(28px,2.3vw,35px);line-height:1.2;font-weight:700;margin:0;color:#361515}.section-heading p{font-size:13px;color:#442326;margin:0}.occasion-section,.cakes-section{padding-left:clamp(28px,5.7vw,88px);padding-right:clamp(28px,5.7vw,88px)}.occasion-section{padding-top:18px}.occasion-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.occasion-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #f6dace;background:linear-gradient(145deg,#fae4d8,#fbece3);min-height:96px;padding:8px 4px 7px;border-radius:15px;color:#281819;box-shadow:0 3px 3px #a7614d16;transition:transform .2s,background .2s,border-color .2s}.occasion-tile:hover,.occasion-tile.selected{transform:translateY(-3px);background:#f7d8cb;border-color:#ca8e86}.occasion-tile svg{height:33px;width:36px;stroke:var(--burgundy);stroke-width:1.8}.occasion-tile span{font-size:13px;font-weight:700;line-height:1.24}.cakes-section{padding-top:22px;padding-bottom:25px}.cakes-section .section-heading{margin-bottom:13px}.cakes-section .section-heading h2{position:relative}.cakes-section .section-heading h2:after{content:"";position:absolute;bottom:-6px;left:0;height:2px;background:var(--burgundy);width:45px}.filter-controls{display:none;align-items:center;justify-content:space-between;background:#f8eee7;padding:8px 13px;font-size:13px;border-radius:9px;margin:7px 0 15px}.filter-controls.visible{display:flex}.filter-controls button{background:white;border:1px solid #bd968f;padding:7px 13px;border-radius:7px;color:var(--burgundy);font-weight:700}.cake-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}.cake-card{min-width:0}.cake-card[hidden]{display:none!important}.cake-card-button{display:block;width:100%;border:0;padding:0;background:none;text-align:left}.cake-image{display:block;border-radius:12px;overflow:hidden;height:155px;background:#f4e9e0;position:relative;box-shadow:0 4px 13px #662d3020}.cake-image img{width:100%;height:100%;object-fit:cover;object-position:center 45%;transition:transform .28s}.cake-card-button:hover img{transform:scale(1.06)}.cake-card-title{font-size:12px;color:#511d2a;font-weight:700;text-align:center;display:block;padding:8px 2px 0;line-height:1.3}.cake-card-button:hover .cake-card-title{text-decoration:underline}.cake-show-more{text-align:center;margin-top:19px}.cake-show-more button{font-size:13px;background:transparent;color:var(--burgundy);border:1px solid #c18d92;border-radius:9px;padding:9px 17px;font-weight:700}.cake-show-more button:hover{background:#fbe4dc}.story-strip{min-height:137px;background:linear-gradient(90deg,#f7cbc7 0%,#f9dfd9 45%,#fae1dc 100%);display:grid;grid-template-columns:230px minmax(0,1fr) minmax(320px,.95fr);align-items:center;position:relative;overflow:hidden}.story-photo{height:100%;background-image:url('assets/story-whisk.jpg');background-size:cover;background-position:15% center;mask-image:linear-gradient(90deg,#000 66%,transparent 100%)}.story-copy{padding:13px 28px 12px 0}.story-copy h2{font-size:32px;line-height:1.13;color:#7e2535;margin:0 0 6px}.story-copy p{font-size:14px;line-height:1.45;margin:0;max-width:570px;color:#4c2428}.story-action{border-left:1px solid #b88085;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:12px 25px}.story-order{width:100%;max-width:330px;border-radius:24px}.story-action>span{font-size:12px;color:#602d34}
.below-gallery,.reviews-section{padding:75px clamp(28px,5.7vw,88px)}.below-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px}.eyebrow{font-size:11px;font-weight:700;color:var(--burgundy);letter-spacing:2px;margin:0 0 7px}.below-heading h2{font-size:40px;margin:0}.below-heading>p{font-size:15px;line-height:1.55;max-width:410px;color:#6a4f49;margin:0}.angles-layout{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.angle-feature{padding:0;border:0;text-align:left;position:relative;height:290px;overflow:hidden;background:#e9ddd1;border-radius:12px}.angle-feature img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.angle-feature:hover img{transform:scale(1.045)}.angle-feature:after{content:"";position:absolute;inset:58% 0 0;background:linear-gradient(transparent,#21111285)}.angle-feature span{position:absolute;bottom:17px;left:17px;color:white;font-size:16px;font-weight:700;z-index:1}.reviews-section{background:#fff2ea;padding-top:55px;padding-bottom:55px}.reviews-copy{font-size:16px;color:#58413b;max-width:720px;line-height:1.7}.text-link{text-decoration:underline;text-underline-offset:5px;color:var(--burgundy);font-weight:700;font-size:14px}.order-section{background:#f9e6df;padding:65px clamp(28px,5.7vw,88px);display:grid;grid-template-columns:.82fr 1.18fr;gap:55px}.order-intro h2{font-size:clamp(39px,3.4vw,54px);line-height:1.14;margin:8px 0 22px;color:#752336}.order-intro>p:not(.eyebrow){font-size:17px;line-height:1.65;color:#584446;max-width:380px}.order-intro .text-link{display:inline-block;margin-top:25px}.number-note{font-size:13px!important;margin-top:17px}.order-form{border-radius:16px;padding:29px 35px 32px;background:#fffaf7;box-shadow:0 9px 35px #7b374121}.order-form h3{font-size:29px;color:#682333;margin:0 0 2px}.order-form>p{font-size:14px;color:#635454;margin:0 0 23px}.field-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.order-form label{display:block;font-size:13px;font-weight:700;margin-bottom:15px;color:#44242a}.order-form label span{color:#ab4052}.order-form input,.order-form select,.order-form textarea{display:block;width:100%;min-width:0;margin-top:7px;border-radius:7px;border:1px solid #e1c9bf;background:white;color:#33292a;padding:11px 12px;min-height:43px;font-size:13px;outline:0}.order-form textarea{resize:vertical;min-height:90px}.order-form input:focus,.order-form select:focus,.order-form textarea:focus{border-color:var(--burgundy);box-shadow:0 0 0 2px #a6567020}.send-order{width:100%;border-radius:10px}.order-form .form-small{margin:14px 0 0;font-size:12px;line-height:1.5;color:#866a68}.order-status:not(:empty){margin-top:16px;background:#faece6;border:1px solid #eec9c1;border-radius:9px;padding:12px;line-height:1.5;font-size:13px}.order-status textarea{height:170px}.footer{padding:32px clamp(28px,5.7vw,88px) 25px;background:#fffaf5}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{font-family:var(--serif);font-size:23px;color:#7d2637}.footer-top p{margin:0;font-size:13px}.footer-top>a:last-child{font-size:13px;font-weight:700;color:var(--burgundy)}.footer>small{display:block;color:#86726a;margin-top:28px;padding-top:12px;border-top:1px solid #ecd5cc;font-size:11px}
.viewer{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:50;padding:24px}.viewer.visible{display:flex}.viewer-backdrop{position:absolute;inset:0;background:#211013dd;backdrop-filter:blur(8px)}.viewer-box{position:relative;width:min(1050px,100%);max-height:min(91vh,920px);overflow:auto;background:#fff8f2;border-radius:17px;box-shadow:0 35px 90px #0008;padding:45px 24px 25px}.viewer-close{position:absolute;right:20px;top:15px;background:none;border:0;color:var(--burgundy);font-weight:700;font-size:14px}.viewer-main{display:grid;grid-template-columns:1.05fr .95fr;gap:35px;align-items:center}.viewer-image-wrap{height:min(65vh,640px);min-height:340px;border-radius:12px;overflow:hidden;background:#f3e2d9;display:grid;place-items:center;touch-action:pan-y}.viewer-image-wrap img{width:100%;height:100%;object-fit:contain}.viewer-info h2{font-size:38px;color:var(--burgundy);line-height:1.13;margin:9px 0 12px}.viewer-info>p{color:#645050;line-height:1.65;font-size:15px}.viewer-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}.viewer-thumbs button{padding:0;background:none;border:2px solid transparent;border-radius:8px;overflow:hidden;width:76px;height:76px}.viewer-thumbs button.active{border-color:var(--burgundy)}.viewer-thumbs img{width:100%;height:100%;object-fit:cover}.viewer-info .viewer-hint{font-size:12px;color:#8b7771;margin:9px 0 26px}.viewer-buttons{display:flex;gap:10px;flex-wrap:wrap}.viewer-buttons .btn{min-width:180px}
@media (min-width:1600px){.site-shell{max-width:1470px}}
@media (max-width:1200px){.site-shell{margin:0;border-radius:0}.site-header{padding:0 40px}.brand{min-width:185px}.desktop-nav{gap:18px}.hero-text{padding-left:70px}.occasion-section,.cakes-section,.below-gallery,.reviews-section,.order-section,.footer{padding-left:55px;padding-right:55px}.story-strip{grid-template-columns:195px minmax(0,1fr) minmax(290px,.9fr)}.story-copy h2{font-size:29px}}
@media (max-width:900px){.site-header{height:70px;padding:0 24px}.brand{min-width:0;margin-right:auto}.brand-mark{width:45px;height:45px}.brand-type{font-size:14px}.brand-type strong{font-size:24px}.desktop-nav,.nav-order{display:none}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent;border:0;width:42px;height:42px}.menu-toggle span{width:26px;height:2px;background:#572334;transition:transform .2s}.menu-toggle.open span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle.open span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{display:none;position:absolute;z-index:10;left:0;right:0;top:70px;background:#fff8f2;padding:12px 25px 20px;border-bottom:1px solid #f0dacb;box-shadow:0 9px 14px #56333320}.mobile-nav.open{display:flex;flex-direction:column}.mobile-nav a{padding:13px 5px;font-weight:700;border-bottom:1px solid #f2e4df}.hero-text{padding-left:42px;width:64%}.hero h1{font-size:59px}.hero-description{font-size:16px}.hero-stage{left:43%}.occasion-section,.cakes-section,.below-gallery,.reviews-section,.order-section,.footer{padding-left:32px;padding-right:32px}.story-strip{grid-template-columns:165px 1fr 280px}.story-copy{padding-right:10px}.story-copy h2{font-size:25px}.story-copy p{font-size:12px}.story-action{padding:10px}.story-order{font-size:12px}.cake-image{height:130px}.cake-card-title{font-size:11px}}
@media (max-width:650px){body{background:#fffaf5}.site-shell{margin:0;border-radius:0;box-shadow:none}.site-header{height:68px;padding:0 19px}.brand-mark{height:40px;width:40px}.brand{gap:8px}.brand-type{font-size:13px}.brand-type strong{font-size:23px}.mobile-nav{top:68px}.hero{height:346px;border-radius:0}.hero-bakery{inset:-60px -15px -50px 24%;filter:blur(18px);opacity:.5}.hero:before{background:linear-gradient(90deg,#fae7dcf7 0%,#fae7dcee 38%,#f2d4c891 67%,#f0ccbd3a 100%)}.hero-text{padding:31px 18px 20px 22px;width:100%}.hero-kicker{font-size:9px;letter-spacing:2.7px;line-height:1.5;margin-bottom:12px}.hero h1{font-size:clamp(43px,12vw,55px);line-height:1.03;margin-bottom:10px;max-width:245px}.hero-description{font-size:11.5px;line-height:1.38;max-width:208px;margin:0}.desktop-break{display:none}.hero-stage{left:43%;height:79%;bottom:0;top:9%;right:0;pointer-events:none}.hero-slide img{width:120%;max-width:unset;height:108%;object-position:center center;transform:translateX(-5%)}.hero-slide.photo img{width:91%;height:70%;margin-top:12%;transform:translateX(-1%);border-radius:14px}.hero-dotbar{display:none}.hero-actions{position:absolute;bottom:23px;left:21px;right:21px;display:grid;grid-template-columns:1fr;gap:8px}.hero-actions .btn{width:100%;font-size:13px;border-radius:10px;min-height:38px;padding:7px 9px}.hero-actions .btn svg{width:16px;height:16px}.occasion-section,.cakes-section{padding-left:19px;padding-right:19px}.occasion-section{padding-top:20px}.section-heading{margin-bottom:11px}.section-heading h2{font-size:27px}.section-heading p{display:none}.occasion-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.occasion-tile{border-radius:13px;min-height:85px;gap:4px;padding:8px 3px}.occasion-tile svg{height:27px;width:29px}.occasion-tile span{font-size:11px;line-height:1.27}.cakes-section{padding-top:25px;padding-bottom:25px}.cakes-section .section-heading{margin-bottom:17px}.cake-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 8px}.cake-image{height:130px;border-radius:10px}.cake-card-title{font-size:10.5px;line-height:1.2;padding:6px 2px 0}.cake-show-more{margin-top:20px}.cake-show-more button{font-size:12px}.story-strip{display:grid;grid-template-columns:95px minmax(0,1fr);min-height:0;gap:0;padding-right:14px}.story-photo{min-height:180px;background-position:20% center}.story-copy{padding:18px 2px 17px 5px}.story-copy h2{font-size:25px;margin-bottom:6px}.story-copy p{font-size:12px;line-height:1.45}.story-action{grid-column:1/-1;border-left:0;border-top:1px solid #deb5b3;padding:11px 14px 16px;gap:6px}.story-order{max-width:360px;font-size:13px;padding:10px 15px}.story-action>span{font-size:11px}.below-gallery,.reviews-section{padding:49px 19px}.below-heading{display:block}.below-heading h2{font-size:29px}.below-heading>p{font-size:13px;line-height:1.55;margin-top:12px}.angles-layout{gap:8px}.angle-feature{height:140px;border-radius:9px}.angle-feature span{font-size:11px;left:8px;bottom:10px}.order-section{display:block;padding:45px 19px}.order-intro h2{font-size:38px;margin-bottom:13px}.order-intro>p:not(.eyebrow){font-size:14px}.order-intro .text-link{margin-top:5px}.order-form{margin-top:25px;padding:23px 16px}.order-form h3{font-size:25px}.field-two{display:block}.order-form label{font-size:13px}.order-form input,.order-form select,.order-form textarea{font-size:14px;min-height:44px}.footer{padding:27px 20px}.footer-top{align-items:start;flex-direction:column;gap:9px}.footer-top p{font-size:12px}.viewer{padding:0}.viewer-box{height:100dvh;max-height:none;border-radius:0;width:100%;padding:52px 17px 20px}.viewer-main{display:block}.viewer-image-wrap{height:44vh;min-height:260px}.viewer-info h2{font-size:28px;margin-bottom:8px}.viewer-info>p{font-size:13px}.viewer-thumbs button{width:63px;height:63px}.viewer-buttons .btn{font-size:13px;min-width:0;flex:1}}
@media (max-width:380px){.hero h1{font-size:44px}.hero-description{font-size:11px}.hero-stage{left:45%}.cake-image{height:111px}.story-copy h2{font-size:23px}.occasion-tile span{font-size:10.5px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{transition:none!important;animation:none!important}}
.viewer.visible:not(.pinned){pointer-events:none}.viewer.pinned{pointer-events:auto}

.cake-show-more-after{padding:13px 0 8px;margin:0;background:#fff8f3}
.brand-mark{object-fit:contain;mix-blend-mode:multiply}
@media(max-width:900px){.site-header{height:70px}}
@media(max-width:650px){.site-header{height:68px}.hero{height:346px}}
/* Fine alignment to the approved reference: keep hero CTAs fully inside the artwork. */
@media (min-width:651px){
  .hero-text{padding-top:31px}
  .hero-kicker{margin-bottom:10px}
  .hero h1{font-size:clamp(58px,5.3vw,74px);margin-bottom:15px}
  .hero-description{margin-bottom:14px}
  .occasion-section{padding-top:15px}
  .cakes-section{padding-top:19px;padding-bottom:17px}
}
@media (max-width:650px){.hero-stage{pointer-events:auto}}
