:root{--paper:#fffaf2;--cream:#f5ebdb;--ink:#402e31;--muted:#68565c;--pink:#9b314c;--line:#d9c9c7;--rose:#f1dadd;--serif:'Songti TC','Noto Serif CJK TC','PMingLiU',serif;--sans:'PingFang HK','PingFang TC','Microsoft JhengHei',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8}body:has(dialog[open]){overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.55}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:5px}::selection{background:var(--rose);color:var(--ink)}img{max-width:100%;display:block}p,h1,h2,h3,figure{margin:0}button{border:0;background:none}button:active,.button:active{transform:translateY(1px)}.skip{position:fixed;top:-100px;left:16px;background:var(--pink);color:#fff;padding:12px;z-index:100}.skip:focus{top:10px}.top-note{height:34px;background:var(--pink);color:#fff;text-align:center;font-size:11px;letter-spacing:2px;display:flex;justify-content:center;gap:45px;align-items:center}header{height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}.brand{display:flex;gap:13px;align-items:center}.brand img{border-radius:50%;width:52px;height:52px}.brand>span{font-family:Georgia,serif;font-size:34px;line-height:1.02;letter-spacing:-1px}.brand small{display:block;font:9px var(--sans);letter-spacing:4px;margin-top:8px;text-align:center}nav{display:flex;gap:35px;align-items:center;font-size:13px}nav>a:hover,.text-link:hover,.gallery-foot a:hover{text-decoration:underline;text-underline-offset:5px}.nav-cta{background:var(--pink);color:#fff;padding:12px 22px;display:flex;gap:30px}.menu-toggle{display:none}.hero{min-height:690px;max-width:1500px;margin:auto;padding:70px 6% 65px;display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:25px;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600;color:var(--pink);margin-bottom:24px}.hero h1{font:500 clamp(46px,4.8vw,73px)/1.4 var(--serif);letter-spacing:1px}.hero h1 span{color:var(--pink)}.hero-description{margin:24px 0 30px;color:var(--muted);font-size:15px;line-height:2}.hero-actions{display:flex;align-items:center;gap:25px}.button{padding:15px 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:14px;line-height:1.5;transition:background .18s ease-out,transform .18s ease-out}.primary{background:var(--pink);color:#fff}.primary:hover,.nav-cta:hover{background:#7e233b}.text-link{font-size:13px}.location-line{display:flex;align-items:center;gap:9px;margin-top:38px;font-size:11px;color:var(--muted);letter-spacing:1px}.location-dot{width:6px;height:6px;background:var(--pink);border-radius:50%}.hero-album{position:relative;height:560px}.album-outline{position:absolute;border:1px solid #d0b7b9;width:78%;height:80%;right:1%;top:5%;border-radius:180px 180px 0 0}.main-photo{position:absolute;top:15px;left:13%;width:67%;background:#fff;padding:10px 10px 0;transform:translateY(var(--photo-y,0px)) rotate(-5deg);box-shadow:0 14px 35px #59343919;z-index:2}.main-photo img{width:100%;height:420px;object-fit:cover}.main-photo figcaption{display:flex;align-items:center;justify-content:space-between;font-size:9px;padding:13px 0;color:var(--muted);gap:10px}.main-photo figcaption>span+span{font-size:7px;letter-spacing:1px}.small-photo{position:absolute;width:36%;right:-2%;bottom:20px;z-index:3;background:#fff;padding:8px 8px 0;transform:translateY(var(--small-y,0px)) rotate(8deg);box-shadow:0 12px 30px #59343920}.small-photo img{height:240px;width:100%;object-fit:cover}.small-photo figcaption{font:italic 11px Georgia,serif;padding:12px 0;text-align:center}.handwritten{position:absolute;right:0;top:-20px;font:italic 24px Georgia,serif;color:var(--pink);transform:rotate(6deg);z-index:4}.hero-controls{position:absolute;bottom:2px;left:13%;display:flex;align-items:center;gap:20px}.hero-controls button{border:1px solid var(--line);border-radius:50%;width:40px;height:40px}.hero-controls button:hover{background:var(--rose)}.hero-controls span{font-size:10px;letter-spacing:2px}.craft-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 6%;display:flex;justify-content:center;align-items:center;gap:7%;font:17px var(--serif);color:var(--pink)}.craft-line i{font-size:24px;font-style:normal}.section{padding:95px 6%;max-width:1500px;margin:auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:42px}h2{font:500 40px/1.5 var(--serif)}.section-heading .eyebrow{margin-bottom:15px}.section-heading>p{font-size:13px;color:var(--muted);line-height:2}.tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);margin-bottom:35px;gap:12px}.tabs button{text-align:left;padding:12px 0 18px;border-bottom:3px solid transparent;font-size:15px}.tabs button small{display:block;font:11px Georgia,serif;color:var(--muted);margin-top:4px}.tabs button[aria-selected=true]{border-color:var(--pink);color:var(--pink)}.tabs button:hover{color:var(--pink)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 25px}.cake-card{text-align:left;padding:0;display:block;width:100%}.cake-image{display:block;position:relative;overflow:hidden;background:#e8e4e2;aspect-ratio:4/4.6}.cake-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease-out}.zoom-mark{position:absolute;bottom:12px;right:12px;background:var(--paper);width:34px;height:34px;display:grid;place-items:center;font-size:22px}.cake-caption{display:flex;justify-content:space-between;align-items:center;padding-top:15px;gap:8px}.cake-caption strong{font-weight:500;font-size:16px}.cake-caption>span{color:var(--muted);font-size:10px}.cake-note{display:block;font-size:12px;color:var(--muted);margin-top:3px}@media(hover:hover){.cake-card:hover img{transform:scale(1.035)}}.gallery-foot{margin-top:32px;font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.gallery-foot a{white-space:nowrap;color:var(--pink)}.empty-gallery{min-height:340px;display:grid;align-content:center;justify-items:center;text-align:center;padding:40px 20px;border:1px dashed var(--line);background:#fcf5ed}.empty-gallery h3{font:28px var(--serif);margin-bottom:16px}.empty-gallery p{max-width:470px;color:var(--muted);font-size:14px;margin-bottom:23px}.sizes-section{background:var(--cream);max-width:none}.sizes-intro{text-align:center}.sizes-intro .eyebrow{margin-bottom:17px}.sizes-intro>p:last-child{margin-top:18px;color:var(--muted);font-size:13px}.servings{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:1130px;margin:45px auto 28px}.serving{padding:18px 8px 22px;display:flex;flex-direction:column;align-items:center;border:1px solid transparent;transition:background .2s}.serving:hover,.serving[aria-pressed=true]{background:#fffaf299;border-color:#bd939c}.plate{display:flex;align-items:center;justify-content:center;width:120px;height:120px;border-radius:50%;background:var(--paper);border:1px solid #c3a9aa;outline:1px solid #d3bcbc;outline-offset:-9px;box-shadow:0 8px 18px #563d3910;margin:30px 0 28px;color:var(--pink);position:relative}.plate b{font:italic 36px Georgia,serif;font-weight:400}.plate-two{width:140px;height:140px;margin-top:20px;margin-bottom:18px}.plate-three{width:160px;height:160px;margin-top:10px;margin-bottom:8px}.plate-four{width:180px;height:180px;margin-top:0;margin-bottom:-2px}.plate-four b{font:26px var(--serif)}.plate-four:before{content:'';position:absolute;inset:24px;border:1px solid var(--line);border-radius:50%}.serving strong{font:24px var(--serif);margin-top:15px}.serving>span:not(.plate){font-size:12px;margin-top:8px}.serving small{font-size:11px;color:var(--muted);margin-top:5px}.size-note{text-align:center;color:var(--muted);font-size:11px}.flavour-note{max-width:1130px;margin:40px auto 0;border-top:1px solid #cfbdb7;padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:30px}.flavour-title{font:22px var(--serif)}.flavour-note p{font-size:12px;color:var(--muted)}.flavour-note a{color:var(--pink)}.policy-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;padding-top:110px;padding-bottom:110px}.policy-intro>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:22px}.lead-time{border-top:1px solid var(--line);margin-top:34px;padding-top:22px}.lead-time>strong{font:49px Georgia,serif;color:var(--pink)}.lead-time strong span{font:16px var(--serif)}.lead-time p{margin-top:8px;font-size:11px;color:var(--muted)}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}summary{padding:23px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:16px}summary::-webkit-details-marker{display:none}summary span{font-size:21px;color:var(--pink);line-height:1.3}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;color:var(--muted);line-height:2.1;padding-bottom:25px}details a{display:inline-block;margin-bottom:20px;color:var(--pink);text-decoration:underline}.inquiry-section{padding:95px 7%;background:var(--rose);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.inquiry-copy h2{font-size:42px}.inquiry-copy h2 span{color:var(--pink)}.inquiry-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:22px}.contact-detail{margin-top:55px;display:flex;flex-direction:column}.contact-detail>span{font-size:10px;letter-spacing:2px;color:var(--pink)}.contact-detail>a{font:27px Georgia,serif;margin-top:10px}.contact-detail small{font-size:11px;color:var(--muted);margin-top:12px;max-width:290px}.inquiry-paper{padding:35px;background:var(--paper);position:relative;box-shadow:0 12px 25px #7b314510}.inquiry-paper:after{content:'';position:absolute;bottom:-10px;left:0;right:0;height:12px;background:linear-gradient(135deg,var(--paper) 25%,transparent 25%) -6px 0,linear-gradient(225deg,var(--paper) 25%,transparent 25%) -6px 0;background-size:12px 12px}fieldset{border:0;padding:0;margin:0;min-width:0}legend{width:100%;font:23px var(--serif);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:23px;margin-bottom:22px;gap:10px}legend span{font:9px var(--sans);letter-spacing:1px;color:var(--muted)}label{display:block;font-size:12px;margin:0 0 7px}label span{font-size:9px;color:var(--muted);margin-left:6px}input,select{min-width:0;width:100%;height:45px;border:1px solid #cdbdb7;background:var(--paper);border-radius:0;color:var(--ink);padding:8px 10px;font-size:12px;appearance:auto}input[type=date]{min-height:45px}.form-row{display:grid;grid-template-columns:1.2fr 1fr;gap:15px;margin-top:20px}.field-hint,.field-error{font-size:10px;line-height:1.6;margin-top:8px}.field-hint{color:var(--muted)}.field-error{color:#a01f37}.field-error:empty{display:none}.send-button{width:100%;margin-top:21px;font-size:13px;padding:15px}.copy-button{display:block;text-decoration:underline;text-underline-offset:4px;font-size:11px;margin:12px auto 0;padding:8px;min-height:40px}.privacy-note{font-size:9px;text-align:center;color:var(--muted);margin-top:12px;line-height:1.9}#form-status{font-size:11px;color:var(--pink);margin-top:8px}.selected-design{background:var(--rose);font-size:11px;padding:10px;margin-bottom:18px;display:flex;justify-content:space-between;gap:12px}.selected-design[hidden]{display:none}.selected-design button{font-size:10px;white-space:nowrap}footer{padding:45px 6%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:15px}footer .footer-brand{font:30px Georgia,serif}.footer-brand span{font-size:15px}footer>p{text-align:right;font:16px var(--serif)}footer>div{display:flex;gap:25px;font-size:11px}footer small{text-align:right;color:var(--muted);font-size:10px}dialog{width:min(920px,92vw);max-height:90dvh;padding:0;border:0;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#201317ba;backdrop-filter:blur(3px)}.lightbox-layout{display:grid;grid-template-columns:1fr 1fr}.lightbox-layout>img{width:100%;height:auto;max-height:85dvh;object-fit:contain;background:#e6e3e0}.lightbox-copy{padding:65px 32px 35px;align-self:center}.lightbox-copy h2{font-size:29px}.lightbox-copy>p:not(.eyebrow){font-size:13px;margin-top:22px;color:var(--muted)}.lightbox-copy .source-note{font-size:10px!important}.lightbox-copy .button{margin-top:28px}.close-dialog{position:absolute;top:10px;right:10px;background:var(--paper);width:42px;height:42px;border:1px solid var(--line);z-index:2;font-size:28px;line-height:1}.image-error{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:13px;background:var(--cream);padding:20px}.hero-controls button,.zoom-mark,.menu-toggle,.close-dialog{min-width:40px;min-height:40px}
@media(min-width:1550px){.inquiry-section{padding-left:calc((100vw - 1290px)/2);padding-right:calc((100vw - 1290px)/2)}}
@media(max-width:1050px){nav{gap:20px}header{padding:0 4%}.hero{padding:55px 5%;min-height:610px;gap:10px}.hero-album{height:470px}.main-photo{width:73%;left:7%}.main-photo img{height:355px}.small-photo{width:40%;right:0;bottom:12px}.small-photo img{height:200px}.handwritten{font-size:20px}.hero h1{font-size:48px}.hero-actions{gap:18px;align-items:flex-start;flex-direction:column}.hero-description{margin:18px 0 25px}.location-line{margin-top:25px}.hero-controls{left:7%}.section{padding:75px 5%}.section-heading>p{font-size:12px}h2{font-size:34px}.inquiry-section{padding:75px 5%;gap:5%}.inquiry-copy h2{font-size:34px}.inquiry-paper{padding:25px}.form-row{grid-template-columns:1fr}.policy-section{gap:6%}.plate-four{width:150px;height:150px;margin-top:15px;margin-bottom:13px}.plate-three{width:140px;height:140px;margin-top:20px;margin-bottom:18px}.plate-two{width:125px;height:125px;margin-top:27px;margin-bottom:26px}.plate-one{width:110px;height:110px;margin-top:35px;margin-bottom:33px}}
@media(max-width:700px){html{scroll-padding-top:83px}.top-note{height:29px;font-size:9px;letter-spacing:1.5px}.top-note>span{display:none}header{height:74px;padding:0 6%}.brand img{width:40px;height:40px}.brand{gap:9px}.brand>span{font-size:27px}.brand small{font-size:7px;letter-spacing:3px;margin-top:5px}.menu-toggle{display:flex;align-items:center;gap:13px;font-size:12px;padding:8px}.menu-toggle span{font-size:21px}nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:20px 6%;border-bottom:1px solid var(--line)}nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:14px 8px}.nav-cta{margin-top:10px;justify-content:space-between}.hero{display:flex;flex-direction:column;align-items:stretch;padding:38px 7% 26px;gap:24px;min-height:0}.hero .eyebrow{font-size:8px;letter-spacing:1.9px;margin-bottom:14px}.hero h1{font-size:44px;line-height:1.35;letter-spacing:0}.hero-description{font-size:12px;line-height:1.9;margin:15px 0 20px}.hero-actions{flex-direction:row;align-items:center;gap:20px}.hero-actions .button{font-size:12px;padding:13px 17px;gap:18px}.hero-actions .text-link{font-size:11px}.location-line{margin-top:20px;font-size:9px;letter-spacing:.5px}.hero-album{height:390px;margin-top:12px}.main-photo{left:3%;width:68%;top:10px;padding:7px 7px 0;transform:rotate(-4deg)}.main-photo img{height:285px;object-fit:cover}.main-photo figcaption{padding:9px 0;font-size:8px}.main-photo figcaption>span+span{display:none}.small-photo{right:0;width:37%;bottom:40px;padding:5px 5px 0;transform:rotate(7deg)}.small-photo img{height:178px}.small-photo figcaption{font-size:8px;padding:8px 0}.handwritten{font-size:17px;top:-8px;right:0}.album-outline{height:78%;width:85%;top:6%;right:0}.hero-controls{bottom:0;left:5%;gap:17px}.hero-controls button{width:38px;height:38px}.hero-controls span{font-size:9px}.craft-line{padding:19px 4%;gap:5%;font-size:12px}.craft-line i{font-size:17px}.section{padding:58px 6%}.section-heading{display:block;margin-bottom:27px}.section-heading>p{margin-top:16px;font-size:12px}.eyebrow{font-size:8px;letter-spacing:1.9px;margin-bottom:16px}h2{font-size:29px}.tabs{gap:8px;margin-bottom:24px}.tabs button{font-size:11px;line-height:1.6;padding:10px 0 13px}.tabs small{font-size:8px!important;line-height:1.5}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:26px 13px}.cake-image{aspect-ratio:3/4}.cake-caption{padding-top:10px;align-items:flex-start}.cake-caption strong{font-size:12px}.cake-caption>span{display:none}.cake-note{font-size:10px;line-height:1.6}.zoom-mark{width:29px;height:29px;min-width:29px;min-height:29px;font-size:19px;bottom:8px;right:8px}.gallery-foot{font-size:10px;display:block;line-height:1.9}.gallery-foot a{display:block;margin-top:12px}.empty-gallery{min-height:300px}.empty-gallery h3{font-size:23px}.empty-gallery p{font-size:12px}.sizes-intro>p:last-child{font-size:12px}.servings{grid-template-columns:repeat(2,1fr);gap:10px;margin:22px auto}.serving{padding:10px 4px 18px}.serving strong{font-size:20px}.serving small{font-size:9px}.serving>span:not(.plate){font-size:10px}.plate{transform:scale(.9);margin-bottom:4px!important;margin-top:10px!important}.plate-one{width:110px;height:110px;margin-top:25px!important;margin-bottom:19px!important}.plate-two{width:125px;height:125px;margin-top:17px!important;margin-bottom:12px!important}.plate-four{width:150px;height:150px}.size-note{font-size:10px}.flavour-note{display:block;margin-top:28px;padding-top:23px}.flavour-title{font-size:21px}.flavour-note p{font-size:11px;margin:15px 0}.flavour-note a{font-size:12px}.policy-section{display:block}.policy-intro h2 br{display:none}.policy-intro>p:not(.eyebrow){font-size:12px;margin-top:15px}.lead-time{display:flex;align-items:center;gap:25px;margin:25px 0 32px;padding-top:19px}.lead-time>strong{font-size:40px;white-space:nowrap}.lead-time p{margin:0;font-size:10px}summary{padding:21px 0;font-size:14px}details p{font-size:12px}.inquiry-section{display:block;padding:55px 6% 65px}.inquiry-copy h2{font-size:30px}.inquiry-copy>p:not(.eyebrow){font-size:12px;margin-top:15px}.contact-detail{margin:24px 0 30px}.contact-detail>a{font-size:24px}.contact-detail small{font-size:10px;max-width:none}.inquiry-paper{padding:25px 21px}.form-row{grid-template-columns:1fr}legend{font-size:21px}input,select{font-size:16px;height:48px}label{font-size:12px}.privacy-note{font-size:10px}.field-hint,.field-error{font-size:11px}.send-button{font-size:12px;padding:16px 12px;gap:8px}.copy-button{font-size:12px}footer{padding:35px 6%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px}footer .footer-brand{font-size:27px}footer>p{font-size:13px;text-align:left;width:100%}footer>div{font-size:10px;gap:19px}footer small{font-size:9px}.lightbox-layout{grid-template-columns:1fr}.lightbox-layout>img{height:48dvh;width:100%;object-fit:contain}.lightbox-copy{padding:25px}.lightbox-copy .eyebrow{margin-bottom:10px}.lightbox-copy h2{font-size:24px}.lightbox-copy>p:not(.eyebrow){font-size:12px;margin-top:12px}.lightbox-copy .button{margin-top:18px;font-size:12px}dialog{max-height:92dvh}.close-dialog{width:40px;height:40px}}
@media(max-width:375px){.hero h1{font-size:40px}.hero-actions{gap:12px}.hero-actions .button{padding:13px 12px}.hero-album{height:360px}.main-photo img{height:260px}.small-photo img{height:160px}.tabs button{font-size:10px}.tabs small{font-size:7px!important}.inquiry-paper{padding:24px 16px}.servings{gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.main-photo{transform:rotate(-5deg)!important}.small-photo{transform:rotate(8deg)!important}}@media print{header,.hero-controls,button{display:none}.section,.hero,.inquiry-section{break-inside:avoid;padding:25px}.inquiry-section{display:block}}
