:root{font-family:Arial,Helvetica,sans-serif;color:#353b33;background:#f6f4ee;font-synthesis:none;--red:#505e4d;--cream:#f6f4ee;--yellow:#d6d4c3}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:400}h1{font-size:clamp(3.4rem,6vw,6.7rem);line-height:1.02;letter-spacing:-.055em}h2{font-size:clamp(2.3rem,4vw,4.2rem);line-height:1.06;letter-spacing:-.04em}h3{font-size:1.6rem}p{line-height:1.65}button:focus-visible,a:focus-visible{outline:3px solid #286854;outline-offset:5px}.skip{position:absolute;left:1rem;top:-10rem;z-index:20;background:#fff;padding:1rem}.skip:focus{top:1rem}.announcement{background:var(--red);color:#fff;text-align:center;padding:11px 20px;font-size:12px;letter-spacing:.04em}.announcement a{margin-left:14px}header{max-width:1440px;margin:auto;padding:22px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8ded0}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand img{width:112px;height:64px;object-fit:contain}.brand span{font-size:10px;letter-spacing:.2em;border-left:1px solid #bda794;padding-left:14px}.brand small{display:block;font-size:8px;margin-top:7px}nav{display:flex;align-items:center;gap:28px}nav>a{font-size:14px;text-decoration:none}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--red);color:#fff;border:1px solid var(--red);border-radius:3px;padding:17px 24px;font-size:14px;font-weight:600;text-decoration:none}.button:hover{background:#3b4838}.button.outline{background:transparent;color:var(--red)}.text-link{font-size:14px;text-underline-offset:6px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;gap:6%;padding:75px 5% 88px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--red);margin-bottom:25px}.eyebrow span{font-size:24px;vertical-align:middle;margin-right:8px}.hero h1{white-space:pre-line;color:var(--red);margin-bottom:25px}.intro{font-size:18px;max-width:600px;line-height:1.7}.hero .intro{max-width:480px}.actions{display:flex;gap:24px;align-items:center;margin-top:30px}.handwritten{font-family:Georgia,serif;font-style:italic;font-size:19px;color:#806b50;transform:rotate(-3deg);margin-top:32px}.hero-art{position:relative;padding:0 0 45px 18px}.hero-cake{width:83%;height:510px;object-fit:cover;border-radius:46% 46% 3px 3px;transform:rotate(3deg);margin-left:auto}.hero-small{position:absolute;width:43%;height:180px;object-fit:cover;bottom:0;left:-15px;border:9px solid var(--cream);transform:rotate(-8deg)}.cake-label{position:absolute;right:-15px;bottom:38px;background:var(--yellow);width:142px;height:142px;border-radius:50%;display:grid;place-content:center;text-align:center;transform:rotate(10deg);font-family:Georgia,serif;font-style:italic;font-size:21px}.spark{position:absolute;top:10px;left:5px;color:var(--red);font-size:80px}.ribbon{background:var(--yellow);display:flex;align-items:center;justify-content:space-around;gap:25px;padding:22px 3%;font-size:12px;letter-spacing:.14em;font-weight:700}.ribbon span{font-size:26px;color:var(--red)}.section{max-width:1440px;padding:85px 5%;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-heading h2{margin:0}.occasion-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.occasion{display:block;text-decoration:none}.occasion img{width:100%;height:290px;object-fit:cover;border-radius:130px 130px 4px 4px;background:#edddcc}.occasion:nth-child(2n) img{border-radius:4px 4px 130px 130px}.occasion h3,.occasion h2{font-size:24px;margin:20px 0 9px;letter-spacing:-.025em}.occasion span{font-size:12px;color:var(--red)}.bread-section{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#e5e3d9;padding:75px max(5%,calc((100vw - 1296px)/2));align-items:center}.bread-picture img{width:100%;height:480px;object-fit:cover;border-radius:6px}.bread-section h2{color:var(--red)}.bread-section p:not(.eyebrow){max-width:420px}.team-section{display:grid;grid-template-columns:1fr 1.15fr;gap:9%;align-items:center}.team-section p{max-width:450px}.team-section img{height:430px;object-fit:cover;width:100%;border-radius:4px}.visit-band{background:var(--red);color:var(--cream);text-align:center;padding:75px 20px}.visit-band .eyebrow{color:var(--yellow)}.light{background:var(--cream);color:var(--red);border-color:var(--cream)}.light:hover{background:var(--yellow)}footer{max-width:1440px;margin:auto;padding:60px 5% 25px;display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:40px;font-size:13px}footer img{width:140px;margin-bottom:20px}footer h3{font-size:22px}footer a{display:block;margin-bottom:14px;text-underline-offset:4px}.hours{white-space:pre-line}.copyright{grid-column:1/-1;border-top:1px solid #dccfbf;padding-top:20px;font-size:11px}.page-heading{text-align:center;background:#eeede5;padding:65px 20px}.page-heading h1{font-size:clamp(3rem,5vw,5.2rem);margin-bottom:5px;color:var(--red)}.page-body{padding-top:55px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:32px 0 18px}.filters button{background:none;border:1px solid #c5b6a5;padding:11px 18px;border-radius:30px;color:inherit;font-size:13px}.filters button[aria-pressed=true]{background:var(--red);color:#fff;border-color:var(--red)}.small{font-size:12px;color:#746258}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.photo{border:0;background:none;text-align:left;padding:0;color:inherit}.photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}.photo span{display:flex;justify-content:space-between;font-size:12px;padding:12px 0}.center{text-align:center;margin:30px}.archive-note{max-width:760px;margin:30px auto;text-align:center}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.news-card{border:1px solid #e3d8c8;padding:25px;text-decoration:none}.news-card h2{font-size:28px;margin:16px 0}.news-card img{height:220px;width:100%;object-fit:cover;margin-bottom:18px}.news-card span{font-size:13px;color:var(--red)}.contact-layout,.story-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.contact-layout h2{font-size:38px}.contact-layout h3{margin-top:36px}.hours-card{background:var(--yellow);padding:45px}.story-layout>img{width:100%;max-height:580px;object-fit:cover}.prose{max-width:800px;margin:auto;line-height:1.75}.prose h2{font-size:34px;margin-top:32px}.prose h3{font-size:25px}.prose img{max-height:600px;object-fit:contain;margin:24px auto}.callout{text-align:center;padding:70px 20px 0}.menu{display:none}dialog{border:0;background:#f6f4ee;padding:45px 18px 18px;max-width:90vw;max-height:92vh;width:650px;border-radius:5px}dialog::backdrop{background:#21100ddb}dialog>img{height:65vh;max-height:650px;width:100%;object-fit:contain}.close{position:absolute;right:15px;top:12px;background:none;border:0}.dialog-nav{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:13px}.dialog-nav button{border:0;background:none;color:var(--red)}@media(max-width:900px){nav{gap:14px}.brand span{display:none}.hero-cake{height:430px}.occasion-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.occasion img{height:350px}.hero{gap:3%}.hero-art{padding-left:0}.hero-small{width:48%;height:140px}.cake-label{width:110px;height:110px;font-size:18px}.actions{flex-wrap:wrap}.news-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.announcement{font-size:10px}.announcement a{display:none}header{padding:14px 6%;position:relative;z-index:5}.brand img{width:100px;height:53px}.menu{display:block;background:none;border:1px solid #b9a18b;padding:9px 14px;color:var(--red)}nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);padding:24px 6%;box-shadow:0 10px 15px #32190e18}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:23px}.hero{grid-template-columns:1fr;padding:42px 6% 55px;gap:28px}.hero h1{font-size:3.65rem}.intro{font-size:16px}.hero .eyebrow{font-size:9px}.hero-art{max-width:450px;width:100%;margin:auto}.hero-cake{height:370px;width:83%}.hero-small{height:155px;width:45%;left:0}.spark{font-size:60px}.cake-label{right:-5px;bottom:20px}.ribbon{font-size:9px;gap:10px;flex-wrap:wrap;padding:15px}.ribbon span{font-size:18px}.section{padding:50px 6%}.section-heading{display:block}.section-heading a{display:inline-block;margin-top:22px}.occasion-grid,.gallery-grid{gap:15px}.occasion img{height:220px}.occasion h3,.occasion h2{font-size:20px}.bread-section,.team-section,.contact-layout,.story-layout{grid-template-columns:1fr;gap:30px}.bread-section{padding:45px 6%}.bread-picture img{height:300px}.bread-section h2{font-size:3rem}.team-section img{height:300px}.team-section>div{order:2}.visit-band{padding:50px 6%}.visit-band h2{font-size:2.6rem}footer{grid-template-columns:1fr 1fr;gap:25px;padding:40px 6% 20px}footer>div:first-child{grid-column:1/-1;display:flex;align-items:center;gap:30px}footer>div:first-child p{margin:0}.page-heading{padding:45px 6%}.page-heading h1{font-size:3rem}.news-grid{grid-template-columns:1fr}.filters{gap:7px}.filters button{font-size:11px;padding:9px 12px}.photo span{font-size:10px}.hours-card{padding:30px}.button{padding:15px 18px}.story-layout>img{max-height:400px}dialog{max-width:96vw}.dialog-nav{font-size:11px}}.hero h1{color:#505e4d}.ribbon{color:#4b5146}.handwritten{color:#797467}.occasion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 32px}.occasion img{height:clamp(330px,38vw,560px);border-radius:5px}.occasion:nth-child(2n) img{border-radius:5px}.occasion{overflow:hidden}.occasion img{transition:transform .7s ease}.occasion:hover img{transform:scale(1.025)}.gallery-page{max-width:1800px;padding:55px 4% 80px}.gallery-intro{display:flex;align-items:end;justify-content:space-between;gap:30px}.gallery-intro .intro{margin-bottom:0}.gallery-spotlight{display:grid;grid-template-columns:1.4fr 1fr;background:#e4e4da;margin:35px 0 55px;overflow:hidden;border-radius:5px}.spotlight-photo{position:relative;border:0;padding:0;background:#333731;height:620px;overflow:hidden}.spotlight-photo img{width:100%;height:100%;object-fit:contain;animation:gallery-arrive .8s ease both}.spotlight-photo>span{position:absolute;bottom:20px;left:20px;padding:12px 18px;background:#f6f4eeef;border-radius:30px;font-size:12px;color:#353b33}.spotlight-copy{padding:55px 12%;align-self:center}.spotlight-copy h2{font-size:clamp(2.6rem,4vw,4.5rem)}.spotlight-controls{display:flex;gap:10px;margin-top:35px}.spotlight-controls button{border:1px solid #8c9485;background:transparent;color:#353b33;border-radius:30px;min-width:46px;min-height:46px;padding:8px 17px}.spotlight-controls button:hover{background:#d1d5c8}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px}.photo-frame{position:relative;overflow:hidden;border-radius:5px;background:#e4e3dd}.photo img{aspect-ratio:4/5;transition:transform .8s ease,filter .8s ease}.photo:hover img,.photo:focus-visible img{transform:scale(1.045);filter:brightness(.94)}.photo .photo-open{position:absolute;right:16px;bottom:16px;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;background:#f6f4eeeb;color:#353b33;font-size:20px;padding:0;transition:transform .3s}.photo:hover .photo-open{transform:rotate(45deg)}.photo>span{font-size:13px;padding:16px 0}.photo>span b{font-weight:400;color:#737a6c}.photo{animation:gallery-arrive .7s ease both}@keyframes gallery-arrive{0%{opacity:.35;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.lightbox{position:fixed;inset:0;margin:0;padding:0;border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:#20241f;color:#f6f4ee;overflow:hidden}.lightbox[open]{display:grid;grid-template-rows:64px minmax(0,1fr) 106px}.lightbox::backdrop{background:#20241f}.lightbox-top{display:flex;justify-content:space-between;align-items:center;padding:12px 28px;font-size:11px;letter-spacing:.13em}.lightbox .close{position:static;border:1px solid #80877d;border-radius:30px;color:inherit;padding:10px 20px;font-size:14px;letter-spacing:0}.lightbox-stage{min-height:0;padding:0 80px;touch-action:pan-y;user-select:none;cursor:grab;overflow:hidden}.lightbox-stage img{width:100%;height:100%;object-fit:contain;animation:gallery-arrive .35s ease both}.slide-arrow{position:absolute;top:47%;background:#3a4139;color:#fff;border:1px solid #788171;border-radius:50%;width:52px;height:52px;font-size:24px}.slide-arrow.previous{left:18px}.slide-arrow.next{right:18px}.lightbox-bottom{padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.lightbox-bottom strong{display:block;font-weight:400;margin-bottom:8px}.lightbox-bottom span,.lightbox-bottom p{color:#b9c1b3;font-size:11px}.lightbox-bottom p{margin:0}.lightbox-bottom a{text-underline-offset:5px}.lightbox button:focus-visible,.lightbox a:focus-visible{outline-color:#e0d9b8}@media(min-width:1500px){.gallery-grid{gap:50px 35px}}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spotlight-photo{height:480px}.spotlight-copy{padding:35px 9%}.gallery-intro{display:block}.gallery-intro>.small{margin-top:16px}.occasion-grid{gap:28px}}@media(max-width:650px){.gallery-page{padding:35px 5% 50px}.gallery-spotlight{grid-template-columns:1fr;margin:25px 0 35px}.spotlight-photo{height:440px;height:min(115vw,500px)}.spotlight-copy{padding:26px}.spotlight-copy h2{font-size:2.5rem}.spotlight-copy h2 br{display:none}.spotlight-copy .eyebrow{margin-bottom:12px}.spotlight-copy .small{display:none}.spotlight-controls{margin-top:20px}.gallery-grid{grid-template-columns:1fr;gap:24px}.photo>span{font-size:12px}.occasion-grid{grid-template-columns:1fr}.occasion img{height:420px}.lightbox[open]{grid-template-rows:62px minmax(0,1fr) 115px}.lightbox-top{padding:12px 15px;font-size:9px}.lightbox .close{padding:9px 14px}.lightbox-stage{padding:0 8px}.slide-arrow{width:40px;height:40px;top:auto;bottom:123px;background:#20241fbb}.slide-arrow.previous{left:15px}.slide-arrow.next{right:15px}.lightbox-bottom{padding:16px;gap:12px;flex-wrap:wrap;font-size:12px}.lightbox-bottom p{width:100%;text-align:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root{--cloud:#f0efeb;--nimbus:#d5d5d7;--rose:#e8d8dd;--ice:#d5e5ef;--peach:#efdacc;--sage:#c9d2bf;--orchid:#dbd4df;--lemon:#f3ecc8;--ink:#45434a;--muted:#65616a;--red:#55505c;--cream:var(--cloud);--yellow:var(--lemon);color:var(--ink);background:var(--cloud)}header,.copyright{border-color:var(--nimbus)}.brand span{border-color:#aaa5ae}.announcement{background:var(--rose);color:var(--ink)}.hero h1,.page-heading h1,.bread-section h2{color:var(--ink)}.eyebrow,.handwritten,.small{color:var(--muted)}.spark{color:#8d8192}.cake-label{background:var(--lemon);color:var(--ink)}.button{background:var(--orchid);color:var(--ink);border-color:var(--orchid)}.button:hover{background:var(--rose);border-color:var(--rose)}.button.outline{color:var(--ink);border-color:#8d8494}.button.outline:hover{background:var(--orchid)}.ribbon{background:var(--ice);color:var(--ink)}.ribbon span{color:#6e6975}.bread-section{background:var(--peach)}.visit-band{background:var(--sage);color:var(--ink)}.visit-band .eyebrow{color:#505849}.light{background:var(--cloud);border-color:var(--cloud);color:var(--ink)}.light:hover{background:var(--lemon);border-color:var(--lemon)}.page-heading{background:var(--rose)}.hours-card{background:var(--lemon)}.news-card{border-color:var(--nimbus)}.menu{color:var(--ink);border-color:#98919e}.filters button{border-color:#a49ca8;color:var(--ink)}.filters button:hover{background:var(--ice)}.filters button[aria-pressed=true]{background:var(--orchid);color:var(--ink);border-color:#8d8192}.gallery-spotlight{background:var(--ice)}.spotlight-photo{background:var(--nimbus)}.spotlight-photo>span{background:var(--cloud);color:var(--ink)}.spotlight-controls button{border-color:#89828e;color:var(--ink)}.spotlight-controls button:hover{background:var(--orchid)}.photo-frame,.occasion img{background:var(--nimbus)}.photo .photo-open{background:var(--cloud);color:var(--ink)}.photo>span b{color:var(--muted)}.lightbox,.lightbox::backdrop{background:#29262e}.lightbox{color:var(--cloud)}.lightbox .close{border-color:#aaa1af}.slide-arrow{background:#45404d;color:var(--cloud);border-color:#aaa1af}.lightbox-bottom span,.lightbox-bottom p{color:var(--orchid)}button:focus-visible,a:focus-visible{outline-color:#665174}.lightbox button:focus-visible,.lightbox a:focus-visible{outline-color:var(--lemon)}.theme-toggle{order:3;flex-shrink:0;border:1px solid #98919e;background:transparent;color:var(--ink);border-radius:30px;padding:10px 14px;margin-left:20px;font-size:12px;min-height:42px}.theme-toggle span{font-size:18px;vertical-align:middle;margin-right:4px}.theme-toggle:hover{background:var(--orchid)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--cloud:#252b31;--nimbus:#56545a;--rose:#39343e;--ice:#303f4c;--peach:#3d3735;--sage:#35463d;--orchid:#aa98b0;--lemon:#d4ce99;--ink:#f0efeb;--muted:#c9c3ca;--red:#d4c1db;--cream:#252b31;--yellow:#d4ce99;background:var(--cloud);color:var(--ink)}[data-theme=dark] .announcement{background:#4d6274;color:#f0efeb}[data-theme=dark] .button{background:var(--orchid);color:#26232b;border-color:var(--orchid)}[data-theme=dark] .button:hover{background:#c8b8cd;border-color:#c8b8cd}[data-theme=dark] .button.outline{background:transparent;color:var(--ink);border-color:#aa98b0}[data-theme=dark] .button.outline:hover{background:#443c4b}[data-theme=dark] .cake-label{color:#35332c}[data-theme=dark] .spark{color:#aa98b0}[data-theme=dark] .ribbon,[data-theme=dark] .ribbon span,[data-theme=dark] .visit-band .eyebrow{color:#cbe4cb}[data-theme=dark] .light{background:#f0efeb;color:#29262e;border-color:#f0efeb}[data-theme=dark] .light:hover{background:var(--lemon);border-color:var(--lemon)}[data-theme=dark] .hours-card{background:#444337}[data-theme=dark] .filters button[aria-pressed=true]{background:#aa98b0;color:#26232b}[data-theme=dark] .filters button:hover{background:#4d6274;color:#f0efeb}[data-theme=dark] .spotlight-controls button:hover,[data-theme=dark] .theme-toggle:hover{background:#49404f}[data-theme=dark] .lightbox,[data-theme=dark] .slide-arrow{color:#f0efeb}[data-theme=dark] .lightbox-bottom span,[data-theme=dark] .lightbox-bottom p{color:#c9c3ca}[data-theme=dark] button:focus-visible,[data-theme=dark] a:focus-visible{outline-color:#d4ce99}@media(max-width:1100px)and (min-width:651px){header{flex-wrap:wrap;gap:18px}header nav{order:4;width:100%;justify-content:center}.theme-toggle{margin-left:auto}}@media(max-width:650px){.theme-toggle{order:0;margin-left:auto;margin-right:12px;padding:8px 11px}.theme-toggle span{font-size:16px}}@keyframes card-settle{0%{transform:translateY(0)}45%{transform:translateY(-4px)}72%{transform:translateY(-2px)}to{transform:translateY(-3px)}}.photo-frame{transition:transform .3s ease,box-shadow .3s ease}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.photo:hover .photo-frame{animation:card-settle .55s ease-out both;box-shadow:0 8px 18px -12px #0005}.photo:hover img{transform:scale(1.015);filter:brightness(.98)}.photo:hover .photo-open{transform:none}}.photo img,.occasion img{object-fit:contain;background:var(--nimbus)}.photo:hover img,.photo:focus-visible img{transform:none;filter:none}.filters{position:sticky;top:0;z-index:6;background:var(--cloud);padding:14px 0;margin-top:18px;border-bottom:1px solid var(--nimbus);box-shadow:0 8px 15px -15px #0007}.photo>span{gap:10px;align-items:baseline}.photo>span b{white-space:nowrap;font-size:10px;letter-spacing:.03em}.brand img,footer img{background:#f0efeb;border-radius:7px;padding:6px;object-fit:contain}.share-design{display:flex;flex-direction:column;gap:6px;max-width:260px}.share-design button{background:transparent;border:1px solid #aaa1af;border-radius:22px;color:inherit;padding:10px 16px;font-size:12px}.share-design input{max-width:100%;padding:6px}.share-design span{font-size:11px}.lightbox[open]{grid-template-rows:64px minmax(0,1fr) 126px}@media(max-width:650px){.filters{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:12px 0}.filters button{white-space:nowrap;flex-shrink:0;min-height:40px}.lightbox[open]{grid-template-rows:62px minmax(0,1fr) 170px}.lightbox-bottom{gap:12px;padding:12px 16px}.lightbox-bottom p{display:none}.share-design{width:100%;max-width:none;flex-direction:row;align-items:center;flex-wrap:wrap}.slide-arrow{bottom:178px}.photo>span b{font-size:10px}}
