@font-face{font-family:"Gigi Display";src:url("assets/display.ttf");font-weight:800;font-display:swap}
/* Brand colors inspired by the supplied Gigi packaging reference. */
:root{--paper:#f6f0dc;--ink:#6b100d;--muted:#78483b;--blush:#f2bfe6;--accent:#872c23;--line:#d8bca9;--white:#fffaf0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}button{cursor:pointer}p{margin:0 0 20px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;margin:0}h1{font-size:clamp(52px,5.5vw,86px);letter-spacing:-3.5px}h2{font-size:clamp(40px,4.3vw,62px);letter-spacing:-2px}h3{font-size:27px;letter-spacing:-.5px}em{font-weight:400}section[id]{scroll-margin-top:20px}.preview-note{background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:2px;display:flex;justify-content:center;gap:30px;padding:8px 20px}.preview-note span{letter-spacing:.5px;opacity:.8}header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid var(--line);background:var(--paper)}.wordmark{font:italic 57px/.8 Georgia,serif;letter-spacing:-5px;display:inline-flex;flex-direction:column;align-items:center;padding:10px 6px}.wordmark span{font:10px/1 Arial,sans-serif;letter-spacing:5px;padding-left:7px;margin-top:12px}nav{display:flex;gap:30px;align-items:center;font-size:13px}nav>a:not(.button):hover,.text-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:17px 25px;font-size:13px;letter-spacing:.2px;transition:background .2s}.button:hover{background:var(--accent)}.button span{font-size:21px;line-height:1}.button.small{padding:12px 19px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:95px 6vw 80px;position:relative;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin-bottom:25px}.hero .intro{max-width:350px;color:var(--muted);margin:30px 0}.text-link{display:block;font-size:12px;text-decoration:underline;text-underline-offset:5px;margin-top:22px}.hero-flourish{font-size:100px;line-height:1;color:var(--accent);position:absolute;bottom:38px;right:40px;font-family:Georgia,serif}.hero-photo{position:relative;margin:24px 24px 24px 0;min-height:540px}.hero-photo img{position:absolute;inset:0;object-position:center;border-radius:46% 46% 0 0}.photo-label{position:absolute;bottom:18px;left:20px;color:white;background:#35231ecc;padding:5px 12px;font-size:10px;letter-spacing:.3px}.roundel{position:absolute;top:46px;left:-50px;border-radius:50%;width:114px;height:114px;background:var(--blush);display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:10px;line-height:1.3;transform:rotate(-13deg);box-shadow:0 0 0 6px var(--paper)}.roundel em{font:italic 28px Georgia,serif}.ribbon{white-space:nowrap;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;font-size:11px;letter-spacing:2px;text-align:center;background:var(--blush)}.ribbon span{margin:0 45px}.section{padding:94px 6%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:43px}.section-heading .eyebrow{margin-bottom:15px}.section-heading>p{color:var(--muted);font-size:13px;margin:0 0 4px}.cake-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.image-wrap{height:360px;overflow:hidden;position:relative;background:var(--blush)}.image-wrap img{transition:transform .6s}.cake-card:hover img{transform:scale(1.04)}.image-wrap>span{position:absolute;bottom:15px;left:18px;border-radius:50%;background:var(--paper);font-size:11px;width:34px;height:34px;display:grid;place-items:center}.card-title{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.card-title>span{font-size:26px}.cake-card p{font-size:12px;margin-top:10px;color:var(--muted)}.collection-foot{border-top:1px solid var(--line);margin-top:28px;padding-top:20px;display:flex;justify-content:space-between;font-size:12px}.collection-foot a{text-decoration:underline;text-underline-offset:5px}.story{background:var(--blush);display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:75px 9%;align-items:center}.story-art{height:475px;position:relative}.story-art img{border-radius:45% 45% 0 0;object-position:center}.handwritten{position:absolute;bottom:-21px;right:-30px;font:italic 36px/1.1 Georgia,serif;transform:rotate(-8deg);background:var(--paper);padding:20px 25px}.story-copy .large-copy{font:25px/1.4 Georgia,serif;margin:26px 0}.story-copy>p:not(.eyebrow):not(.large-copy){font-size:13px;max-width:390px}.placeholder{border-left:2px solid var(--accent);padding-left:15px;color:var(--muted)}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}.filters button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:30px;padding:9px 18px;font-size:12px}.filters button.active{color:var(--paper);background:var(--ink);border-color:var(--ink)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gallery-photo{position:relative;padding:0;border:0;background:var(--blush);height:310px;overflow:hidden}.gallery-photo img{transition:transform .5s}.gallery-photo:hover img{transform:scale(1.04)}.gallery-photo span{position:absolute;left:12px;bottom:12px;background:var(--paper);padding:5px 10px;font-size:10px;color:var(--ink)}.image-disclosure{font-size:10px;color:var(--muted);margin:16px 0 0}.process{border-top:1px solid var(--line);padding-top:70px;padding-bottom:70px}.process>.eyebrow{margin-bottom:18px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:45px}.steps>div{border-top:1px solid var(--line);padding-top:20px}.steps span{font-size:10px;letter-spacing:1px}.steps h3{margin:19px 0 14px}.steps p{font-size:13px;color:var(--muted);max-width:300px}.inquiry{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;background:var(--blush)}.inquiry h2{margin-bottom:28px}.inquiry>div>p:not(.eyebrow){max-width:320px;font-size:13px}.form-note{color:var(--muted);border-top:1px solid #482d2740;padding-top:18px}.contact-detail{margin-top:30px}.contact-detail span{font-size:9px;letter-spacing:1.8px;font-weight:bold}.contact-detail p{font-size:12px;margin:7px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px}label{display:flex;flex-direction:column;gap:8px;font-size:11px;position:relative}label>span{display:contents}input,select,textarea{width:100%;border:1px solid #bba095;background:var(--paper);color:var(--ink);border-radius:0;padding:13px 12px;min-height:48px;font-size:12px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}input::placeholder,textarea::placeholder{color:var(--muted)}form>label{margin:23px 0}form .button{width:100%}.small-print{font-size:10px;margin:12px 0;color:var(--muted)}#form-result{padding:22px;background:var(--paper);border:1px solid var(--accent);margin-top:22px}#form-result h3{font-size:24px}#form-result p{font-size:12px;margin:12px 0}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.faq>div>p:last-child{font-size:13px;color:var(--muted);margin-top:20px}.faq-items{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:14px}summary::-webkit-details-marker{display:none}summary span{font-size:20px;line-height:1}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;color:var(--muted);padding-right:30px}.closing{text-align:center;background:var(--blush);padding:65px 20px 75px}.closing>span{font-size:60px;line-height:1}.closing p{font:25px Georgia,serif;margin:20px 0 9px}.closing h2{font-size:75px}.closing .button{margin-top:28px}footer{padding:45px 6% 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:25px}footer>p{font:italic 21px Georgia,serif;margin:0}footer>a:last-of-type{font-size:12px}.footer-bottom{width:100%;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;margin-top:20px;font-size:10px;color:var(--muted)}dialog{border:0;background:var(--paper);padding:18px;max-width:min(90vw,760px);max-height:90vh;color:var(--ink)}dialog::backdrop{background:#201410d9}dialog img{height:auto;max-height:72vh;object-fit:contain}dialog p{font-size:12px;margin:12px 0 0}.close-lightbox{position:absolute;right:25px;top:25px;border:0;border-radius:50%;width:38px;height:38px;background:var(--paper);color:var(--ink);font-size:18px}[hidden]{display:none!important}
@media(min-width:1600px){body{max-width:1700px;margin:auto}.hero-copy{padding-left:100px}.hero-photo{min-height:650px}}@media(max-width:1000px){nav{gap:17px}header{padding:0 4%}.hero-copy{padding:75px 5vw}h1{font-size:60px}.hero{min-height:570px}.hero-photo{min-height:480px}.roundel{left:-30px;width:95px;height:95px}.hero-flourish{right:20px;font-size:70px}.section{padding:70px 5%}.image-wrap{height:290px}.gallery-photo{height:240px}.story{padding:65px 6%;gap:50px}.story-art{height:420px}.inquiry{gap:5vw}.steps{gap:30px}.faq{gap:35px}}@media(max-width:740px){html{scroll-padding-top:20px}.preview-note{font-size:8px;letter-spacing:1px;gap:0}.preview-note span{display:none}header{height:86px;padding:0 6%;position:relative;z-index:5}.wordmark{font-size:46px}.wordmark span{font-size:8px;margin-top:10px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:1px solid var(--line);padding:8px 13px;color:var(--ink);font-size:12px}nav{display:none;position:absolute;left:0;right:0;top:86px;flex-direction:column;align-items:stretch;background:var(--paper);padding:22px 6%;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #482d2710}nav.open{display:flex}nav>a{padding:8px 0}nav>.button{margin-top:5px}.hero{display:flex;flex-direction:column}.hero-copy{padding:52px 7% 48px}.eyebrow{font-size:9px;margin-bottom:20px}h1{font-size:60px;letter-spacing:-2.8px}.hero .intro{max-width:330px;font-size:14px;margin:24px 0}.hero-flourish{right:30px;bottom:24px;font-size:70px}.hero-photo{margin:0 7% 26px;min-height:430px}.hero-photo img{border-radius:45% 45% 0 0}.roundel{left:auto;right:-12px;top:20px;width:100px;height:100px}.ribbon{padding:13px;font-size:9px}.ribbon span{margin:0 24px}.section{padding:58px 7%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:18px}.section-heading>p br{display:none}h2{font-size:45px;letter-spacing:-1.8px}.cake-grid{grid-template-columns:1fr;gap:30px}.image-wrap{height:390px}.cake-card h3{font-size:29px}.card-title{margin-top:17px}.cake-card p{margin-bottom:0}.collection-foot{flex-direction:column;gap:10px;margin-top:35px}.story{grid-template-columns:1fr;padding:55px 7%;gap:55px}.story-art{height:400px;margin-right:15px}.handwritten{font-size:29px;right:-13px}.story-copy .large-copy{font-size:25px}.story-copy p{max-width:none!important}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-photo{height:240px}.gallery-photo span{font-size:9px;left:7px;bottom:7px;padding:4px 6px}.filters{gap:7px}.filters button{font-size:10px;padding:8px 12px}.steps{grid-template-columns:1fr;gap:20px;margin-top:32px}.steps p{max-width:100%;margin-bottom:5px}.steps h3{margin:13px 0}.inquiry{grid-template-columns:1fr;gap:35px}.inquiry h2 br{display:none}.inquiry h2 br:after{content:' '}.inquiry h2{max-width:370px}.inquiry>div>p:not(.eyebrow){max-width:none}.form-grid{gap:17px 14px}.faq{grid-template-columns:1fr;gap:20px}summary{font-size:13px}.closing{padding:45px 7% 55px}.closing h2{font-size:58px}.closing p{font-size:23px}footer{padding:35px 7% 20px}footer>p{font-size:17px}footer>a:last-of-type{width:100%}.footer-bottom{font-size:9px;gap:15px}.photo-label{font-size:9px;left:12px;right:12px;bottom:12px;text-align:center}}@media(max-width:380px){h1{font-size:51px}.form-grid{grid-template-columns:1fr}.gallery-photo{height:200px}.hero-photo{min-height:360px}.image-wrap{height:330px}.hero-flourish{font-size:50px;right:20px;bottom:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Gigi packaging: cocoa, cream paper, burgundy type, pink icing. */
.wordmark{font-weight:bold;color:var(--ink)}h1,h2,h3{font-family:"Gigi Display",Impact,"Arial Narrow",sans-serif;font-weight:400}h1{font-size:clamp(62px,6.5vw,96px);line-height:.98;letter-spacing:-1px}h1 em,h2 em{font-style:normal;position:relative}h1 em:after{content:"";position:absolute;inset:4% -12% -8%;border:5px solid var(--blush);border-radius:50%;transform:rotate(-9deg);pointer-events:none}h2{letter-spacing:-.7px}.hero{background:var(--paper)}.hero-photo img{border-radius:0}.hero-photo{background:#4a2116;margin:24px 24px 24px 0}.roundel{background:var(--blush);color:var(--ink);border:1px solid var(--ink);outline:4px solid var(--blush)}.hero-flourish{color:var(--blush)}.ribbon{background:var(--ink);color:var(--paper);border-color:var(--ink)}.story{background:#4a2116;color:var(--paper)}.story .placeholder{color:var(--paper);opacity:.85;border-color:var(--blush)}.story .eyebrow{color:var(--blush)}.handwritten{color:var(--ink);clip-path:polygon(0 3%,3% 0,6% 3%,9% 0,12% 3%,15% 0,18% 3%,21% 0,24% 3%,27% 0,30% 3%,33% 0,36% 3%,39% 0,42% 3%,45% 0,48% 3%,51% 0,54% 3%,57% 0,60% 3%,63% 0,66% 3%,69% 0,72% 3%,75% 0,78% 3%,81% 0,84% 3%,87% 0,90% 3%,93% 0,96% 3%,100% 0,100% 97%,97% 100%,94% 97%,91% 100%,88% 97%,85% 100%,82% 97%,79% 100%,76% 97%,73% 100%,70% 97%,67% 100%,64% 97%,61% 100%,58% 97%,55% 100%,52% 97%,49% 100%,46% 97%,43% 100%,40% 97%,37% 100%,34% 97%,31% 100%,28% 97%,25% 100%,22% 97%,19% 100%,16% 97%,13% 100%,10% 97%,7% 100%,4% 97%,0 100%)}.inquiry{background:var(--blush)}.closing{background:var(--ink);color:var(--paper)}.closing>span{color:var(--blush)}.closing .button{background:var(--blush);color:var(--ink);border-color:var(--blush)}.preview-note{background:#3d180f}.story a:hover{color:var(--blush)}@media(max-width:740px){h1{font-size:68px}.hero-photo{margin:0 7% 26px}.hero-copy{padding-bottom:56px}}@media(max-width:380px){h1{font-size:58px}}

h1,h2,h3{font-weight:800}h1,h2{text-transform:uppercase}

/* Original Gigi photography and menu. */
.wordmark{padding:0;flex-shrink:0}.wordmark img{width:82px;height:82px;object-fit:contain;border-radius:50%}header{height:112px}nav{gap:22px}.hero-photo img{object-fit:contain;background:#ead8c4}.photo-label{max-width:calc(100% - 40px)}.story-art img{object-fit:contain;border-radius:0;background:var(--paper)}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.gallery-photo{height:auto;aspect-ratio:4/5;background:#ead8c4}.gallery-photo img{object-fit:contain;aspect-ratio:4/5}.gallery-photo span{max-width:calc(100% - 24px);text-align:left;line-height:1.4}.menu-section{border-top:1px solid var(--line);background:#efe5cc}.menu-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw}.menu-grid h3{font-size:35px}.menu-intro{font-size:12px;margin:12px 0 22px}.price-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th,td{padding:15px 10px;border-bottom:1px solid var(--line)}thead th{font-size:10px;letter-spacing:1px;text-transform:uppercase}tbody td:last-child{font-weight:bold;white-space:nowrap}tbody td:nth-child(2){font-size:11px;color:var(--muted)}.price-note{font-size:11px;color:var(--muted);margin:20px 0}.flavor-family{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.flavor-family h4{font:italic 26px Georgia,serif;margin:0 0 15px}.flavor-family ul{list-style:none;padding:0;margin:0}.flavor-family li{font-size:13px;padding:8px 0}.flavor-family li:before{content:'•';color:var(--accent);margin-right:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1100px){nav{gap:14px;font-size:12px}.button.small{padding:12px}}@media(max-width:850px){nav{gap:11px;font-size:11px}header{padding:0 3%}.wordmark img{width:70px;height:70px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:740px){header{height:86px;padding:0 6%}.wordmark img{width:68px;height:68px}nav{gap:16px;font-size:13px}.menu-grid{grid-template-columns:1fr;gap:40px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-photo{height:auto}.gallery-photo span{font-size:9px;max-width:calc(100% - 14px)}.hero-photo{min-height:470px}.photo-label{max-width:none}}

.english-menu{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;margin-top:60px;padding-top:40px;border-top:1px solid var(--line)}.english-menu h3{font-size:38px}.english-menu p:not(.eyebrow){font-size:13px;margin-top:18px}.english-prices td{text-align:right;white-space:nowrap}@media(max-width:740px){.english-menu{grid-template-columns:1fr;gap:15px}}

.phone-link{display:inline-block;font-size:20px;letter-spacing:.6px;text-decoration:underline;text-underline-offset:5px;padding:5px 0}.footer-phones{display:flex;flex-direction:column;gap:8px;font-size:12px}.footer-phones a:hover,.faq-items a:hover{text-decoration:underline;text-underline-offset:4px}.faq-items a{text-decoration:underline}@media(max-width:740px){.footer-phones{width:100%}}

[hidden]{display:none!important}.order-extras{margin:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.order-extras summary{cursor:pointer;font-size:14px}.order-extras[open] summary{margin-bottom:20px}.order-extras>label{display:block;margin-top:20px}
