@layer tokens, base, components, layout;
@layer components {
  .choice-field{border:0;padding:0;margin:0 0 24px;min-width:0}
  .choice-field legend{padding:0;font-size:var(--text-small);font-weight:var(--weight-medium)}
  .choice-help{margin-top:6px;margin-bottom:12px}
  .choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .choice-option{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);font-size:var(--text-small);line-height:var(--line-title);cursor:pointer}
  .choice-option input{width:16px;height:16px;flex:none;margin:0;accent-color:var(--ink)}
  .choice-option:has(input:checked){border-color:var(--gold-deep);background:#fff6e7}
  .choice-option:has(input:focus-visible){outline:2px solid var(--gold-deep);outline-offset:3px}
  .choice-field:disabled .choice-option{opacity:.6;cursor:wait}
  @media(max-width:760px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
}
@layer components {.photo-loader{position:absolute;inset:0;display:grid;place-items:center;color:#fff;pointer-events:none}}
@layer layout {
  .field-hint{font-size:var(--text-xs);white-space:nowrap}
  .cuisine-select{position:relative}
  .cuisine-select>summary{height:var(--control-height);padding:12px 13px;border:1px solid #bdbdb4;border-radius:var(--radius);gap:8px;font-size:var(--text-body);font-weight:var(--weight-regular);background:var(--paper)}
  .cuisine-select>summary>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cuisine-select>summary .icon{width:16px;height:16px}
  .cuisine-select[open]>summary .icon{transform:rotate(180deg)}
  .cuisine-panel{position:absolute;z-index:20;right:0;top:calc(100% + 8px);width:min(320px,calc(100vw - 48px));max-height:min(360px,60dvh);overflow:auto;overscroll-behavior:contain;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:0 8px 22px #0001}
  .cuisine-select[data-side=above]>.cuisine-panel{top:auto;bottom:calc(100% + 8px)}
  .cuisine-panel .choice-field{margin:0}
  .cuisine-panel .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .cuisine-done{width:100%;margin-top:12px;min-height:44px}
  @media(max-width:760px){.cuisine-select>summary{font-size:var(--text-small);padding-left:10px}}
}
@layer tokens {
  /* Shared grid accommodates the optional occasion field on every homepage. */
  :root{--paper:#f7f7f4;--logo-surface:#e4e4e4;--header-surface:#fff;--ink:#22221f;--muted:#63635e;--gold:#ffbd59;--gold-deep:#946326;--line:#d8d8d1;--white:#fff;--font-body:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;--font-display:var(--font-body);--font-hero:"Noto Serif TC","Songti TC","PMingLiU",serif;--weight-hero:600;--text-xs:.75rem;--text-small:.875rem;--text-body:1rem;--text-large:1.125rem;--text-h3:1.375rem;--text-h2:clamp(1.875rem,3.3vw,2.65rem);--text-h1:clamp(2.6rem,4.7vw,4.35rem);--weight-regular:400;--weight-medium:500;--weight-bold:600;--line-body:1.85;--line-title:1.5;--tracking-body:.035em;--tracking-title:.035em;--tracking-label:.17em;--radius:3px;--container:1240px;--page-padding:clamp(22px,4.5vw,72px);--section-space:104px;--control-height:52px;--z-header:10;--z-toast:100}
}
@layer inquiryLayout {
  .inquiry-fields {grid-template-columns:repeat(3,minmax(0,1fr))}
  .inquiry-fields .inquiry-submit {align-self:end;margin-top:0}
  @media(max-width:760px) {.inquiry-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.occasion-field{grid-column:1/-1}}
}
@layer base {
  *{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--line-body);letter-spacing:var(--tracking-body)}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--font-display);font-weight:var(--weight-medium);line-height:var(--line-title);letter-spacing:var(--tracking-title)}h1{font-family:var(--font-hero);font-size:var(--text-h1);font-weight:var(--weight-hero)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3);font-weight:var(--weight-medium);line-height:1.6}p{overflow-wrap:anywhere}button,input,select,textarea{border-radius:var(--radius)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold-deep);outline-offset:5px}input:focus-visible,select:focus-visible,textarea:focus-visible,.cuisine-select>summary:focus-visible{outline:none;border-color:var(--gold-deep)!important;box-shadow:inset 0 0 0 1px var(--gold-deep)}[hidden]{display:none!important}::selection{background:var(--gold);color:var(--ink)}
}
@layer components {
  .container{width:min(100% - var(--page-padding)*2,var(--container));margin-inline:auto}.eyebrow{font-family:var(--font-body);font-size:var(--text-xs);line-height:1.6;letter-spacing:var(--tracking-label);font-weight:var(--weight-medium)}.icon{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.button{min-height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:12px 24px;font-size:var(--text-small);font-weight:var(--weight-medium);line-height:1.5;border:1px solid transparent;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:#41413a}.button-outline{background:transparent;border-color:#8c8c83}.button-outline:hover{background:rgba(0,0,0,.04)}.button-gold{background:var(--gold);color:var(--ink)}.button-gold:hover{background:#ffc976}.brand{display:block;flex:none}.logo-crop{position:relative;display:block;width:106px;height:38px;overflow:hidden}.logo-crop img{position:absolute;max-width:none;width:200px;height:200px;left:-48px;top:-80.2px}.text-muted{color:var(--muted);font-size:var(--text-small)}.title-small{font-family:var(--font-body);font-size:var(--text-large);font-weight:var(--weight-medium)}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:12px 24px;z-index:200}.skip-link:focus{top:10px}.small-line{display:inline-block;width:26px;height:1px;background:var(--gold-deep);margin-right:12px;vertical-align:middle}.icon-button{display:inline-grid;place-items:center;border:0;background:transparent;width:44px;height:44px}.notice{border:1px solid #ddd4c2;background:#faf6ed;padding:13px 16px;color:var(--muted);font-size:var(--text-small);line-height:1.7;border-radius:var(--radius)}.spinner{width:20px;height:20px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
}
@layer layout {
  .site-header{background:var(--header-surface);position:relative;z-index:var(--z-header)}.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}.header-inner nav{display:flex;gap:36px;margin-left:auto;margin-right:30px;font-size:var(--text-small)}.header-inner nav a{padding-block:12px;position:relative}.header-inner nav a:hover{color:var(--gold-deep)}.header-cta{min-height:44px;padding:10px 16px;gap:20px}.hero{display:grid;grid-template-columns:1fr 1.07fr;align-items:center;gap:65px;padding-top:58px;padding-bottom:50px}.hero-copy{padding-block:18px}.hero-copy .eyebrow{margin-bottom:24px;color:var(--muted)}.gold-underline{position:relative;z-index:0;white-space:nowrap}.gold-underline:after{content:"";position:absolute;left:0;right:.03em;bottom:.08em;height:.14em;background:var(--gold);z-index:-1}.hero-description{color:var(--muted);font-size:var(--text-body);line-height:2;margin-top:26px}.hero-cta{margin-top:32px;min-width:200px}.hero-footnote{margin-top:20px;color:var(--muted);font-size:var(--text-small);letter-spacing:.08em}.hero-image-wrap{height:465px;overflow:hidden;position:relative;background:#302b23;border-radius:var(--radius)}.hero-image-wrap>img{width:100%;height:100%;object-fit:cover;object-position:50% 54%;transition:opacity .4s}.photo-placeholder{height:100%;background:#302b23}.hero-image-wrap.photo-error{display:grid;place-items:center;color:#eee}.photo-fallback-text{padding:24px;font-family:var(--font-display);font-size:var(--text-h3)}.hero-visual figcaption{display:flex;justify-content:space-between;gap:12px;font-size:var(--text-xs);color:var(--muted);padding-top:14px}.caption-en{letter-spacing:.06em}.inquiry-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0 20px;scroll-margin-top:20px}.inquiry-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}.inquiry-fields{display:grid;grid-template-columns:1.12fr 1.12fr .72fr 1.16fr auto;gap:18px;align-items:start}.field{min-width:0}.field>label,.field>.field-label{display:block;font-size:var(--text-small);margin-bottom:7px;color:var(--muted)}.field>input,.field>select,textarea{width:100%;height:var(--control-height);background:transparent;border:1px solid #bdbdb4;padding:12px 13px;min-width:0;font-size:var(--text-body)}.field>input::placeholder,textarea::placeholder{color:#85857f}.field>select{appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23484843' stroke-width='1.2'/%3E%3C/svg%3E");background-position:right 10px center;background-size:16px;background-repeat:no-repeat}.inquiry-submit{margin-top:33px;min-height:52px;padding-inline:19px;gap:20px}.field-error{font-size:var(--text-small);line-height:1.5;color:#9a3329;display:block;margin-top:5px}.field-error:empty{display:none}[aria-invalid=true]{border-color:#9a3329!important}.preview-note{font-size:var(--text-xs);color:var(--muted);margin-top:15px}.moments-section{padding-block:var(--section-space)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.section-heading .eyebrow,.process-heading .eyebrow,.faq-section .eyebrow{color:var(--muted);margin-bottom:20px}.section-intro{font-size:var(--text-body);color:var(--muted);padding-bottom:6px}.moments-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.moment{border-top:1px solid var(--ink);padding:23px 0 0;display:block}.moment-number{color:var(--muted);font-size:var(--text-xs);letter-spacing:.07em}.moment-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}.moment-title .icon{transition:transform .2s}.moment:hover .moment-title .icon{transform:translate(3px,-3px)}.moment p{font-size:var(--text-small);color:var(--muted);margin-top:16px;line-height:1.95}.process-section{background:#eaeae5;padding-block:76px}.process-inner{display:grid;grid-template-columns:1fr 1.14fr;gap:100px}.process-heading>p:last-child{margin-top:24px;color:var(--muted);font-size:var(--text-small)}.process-list{list-style:none;margin:0;padding:0}.process-list li{display:flex;gap:28px;padding:26px 0;border-bottom:1px solid #c8c8bf}.process-list li:first-child{padding-top:0}.process-list li:last-child{border-bottom:0;padding-bottom:0}.step-number{font-family:var(--font-display);font-size:var(--text-h3);color:var(--gold-deep);padding-top:2px}.process-list h3{font-size:var(--text-large)}.process-list p{color:var(--muted);font-size:var(--text-small);margin-top:8px}.faq-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;padding-block:var(--section-space);border-bottom:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;cursor:pointer;font-weight:var(--weight-medium)}summary::-webkit-details-marker{display:none}.plus{width:16px;height:16px;position:relative;flex:none}.plus:before,.plus:after{content:"";position:absolute;background:var(--ink);top:7px;left:0;width:16px;height:1px}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open] .plus:after{transform:rotate(0)}details>p{padding:0 35px 24px 0;color:var(--muted);font-size:var(--text-small)}.closing-section{text-align:center;padding-block:76px 84px}.closing-section .eyebrow{color:var(--muted)}.closing-section h2{margin-block:20px 28px}.site-footer{background:var(--logo-surface)}.footer-inner{display:flex;align-items:center;gap:32px;padding-block:32px}.footer-inner p,.footer-copyright{font-size:var(--text-small);color:var(--muted)}.footer-copyright{margin-left:auto}dialog{width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 48px);margin:auto;border:0;border-radius:5px;padding:40px;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #0003;overflow:auto}dialog::backdrop{background:#1119;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:12px;top:12px}dialog>.eyebrow{color:var(--gold-deep);margin-bottom:12px}dialog h2{font-size:var(--text-h2)}.dialog-description{font-size:var(--text-small);color:var(--muted);margin-top:10px}.request-details{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-block:26px;padding-block:20px;border-block:1px solid var(--line)}.request-details dt{font-size:var(--text-small);color:var(--muted)}.request-details dd{margin:4px 0 0;overflow-wrap:anywhere}.notes-label{font-size:var(--text-small);display:block;margin-bottom:10px}.notes-label span{color:var(--muted)}textarea{height:auto;resize:vertical;line-height:1.8}dialog .notice{margin-top:18px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.copy-error{color:#9a3329;font-size:var(--text-small);margin-top:16px}#copy-fallback{margin-top:12px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:var(--z-toast);max-width:calc(100% - 32px);display:flex;align-items:center;gap:18px;border:1px solid #c8c8bf;background:#fffffa;box-shadow:0 6px 22px #0001;padding:8px 6px 8px 20px;font-size:var(--text-small);border-radius:var(--radius)}
  @media(min-width:1500px){.hero{padding-top:70px;padding-bottom:60px}.hero-image-wrap{height:490px}}
  @media(max-width:1100px){.header-inner nav{gap:24px;margin-right:0}.hero{gap:32px}.hero-image-wrap{height:430px}.caption-en{display:none}.inquiry-fields{grid-template-columns:1fr 1fr 1fr 1fr}.inquiry-submit{grid-column:1/-1;justify-self:end;margin-top:0}.process-inner{gap:55px}.faq-section{gap:50px}.moments-grid{gap:24px}.moment-title h3{font-size:var(--text-large)}}
  @media(max-width:760px){:root{--text-h1:clamp(2.3rem,6.7vw,3.1rem);--text-h2:1.9rem;--section-space:64px;--page-padding:24px}.header-inner{height:76px;gap:20px}.header-inner nav{display:none}.header-cta{font-size:var(--text-small);gap:12px;padding-inline:12px;min-height:42px}.logo-crop{width:90px;height:33px}.logo-crop img{width:170px;height:170px;left:-40.8px;top:-68.17px}.hero{grid-template-columns:1fr;gap:30px;padding-top:38px;padding-bottom:36px}.hero-copy{padding-block:0}.hero-copy .eyebrow{margin-bottom:20px}.hero-description{margin-top:20px}.hero-cta{margin-top:24px}.hero-footnote{margin-top:16px}.hero-image-wrap{height:330px}.hero-visual figcaption{font-size:var(--text-xs);padding-top:10px}.inquiry-section{padding-top:25px}.inquiry-heading{display:block;margin-bottom:20px}.inquiry-heading p{margin-top:6px}.inquiry-fields{grid-template-columns:1fr 1fr;gap:18px 14px}.field>input,.field>select{font-size:var(--text-small);padding-left:10px}.inquiry-submit{width:100%;margin-top:4px}.preview-note{line-height:1.8}.section-heading{display:block;margin-bottom:30px}.section-intro{margin-top:22px}.moments-grid{grid-template-columns:1fr;gap:28px}.moment{padding-top:18px}.moment-title{margin-top:14px}.moment-title h3{font-size:var(--text-h3)}.moment p{margin-top:10px}.process-section{padding-block:52px}.process-inner{grid-template-columns:1fr;gap:36px}.process-heading>p:last-child{margin-top:18px}.process-list li{gap:20px;padding-block:22px}.faq-section{grid-template-columns:1fr;gap:30px}.faq-section .eyebrow{margin-bottom:14px}summary{font-size:var(--text-small);padding-block:21px}.closing-section{padding-block:56px}.closing-section h2{font-size:1.65rem}.footer-inner{flex-wrap:wrap;gap:20px;padding-block:26px}.footer-inner p{margin-left:auto}.footer-copyright{width:100%;margin-left:0;font-size:var(--text-xs)}dialog{padding:34px 24px 26px;max-height:calc(100dvh - 24px)}.dialog-actions .button{padding-inline:18px;flex:1}.request-details{gap:16px}.toast{width:max-content;gap:4px}}
  @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
}

@layer components { .line-contact-block{margin-top:20px}.line-contact-button{width:100%;gap:12px}.button[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.line-help{margin-top:10px;line-height:1.65}.line-help a{text-decoration:underline;text-underline-offset:3px}.line-status{margin-top:12px;padding:12px 14px;border:1px solid var(--line);background:var(--white);border-radius:var(--radius);font-size:var(--text-small);line-height:1.7} }
@layer components {
 .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.button{position:relative}.button-spinner{display:none;position:absolute;left:calc(50% - 10px);top:calc(50% - 10px)}.button.is-busy .button-label{visibility:hidden}.button.is-busy .button-spinner{display:block!important}.button:not(.is-busy):disabled{cursor:not-allowed;opacity:.55}.receipt-number{margin-top:16px;padding-block:12px;border-block:1px solid var(--line);font-size:var(--text-body);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.receipt-note{margin-top:10px;font-size:var(--text-small);color:var(--muted)}.request-save{width:100%;margin-top:18px}.request-error{margin-top:16px}.inquiry-resume{display:flex;align-items:center;gap:18px;margin-top:12px;font-size:var(--text-small);flex-wrap:wrap}.inquiry-resume button{border:0;background:none;padding:8px 0;text-decoration:underline;text-underline-offset:4px;font-size:inherit}.dialog-secondary{margin-top:14px}
}
@layer components {
  .review-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
  .review{border-top:1px solid var(--line);padding-top:28px;min-width:0}
  .review figure{display:flex;flex-direction:column;height:100%}
  .review blockquote{margin:0;flex:1}
  .review blockquote p{line-height:2;white-space:pre-line;overflow-wrap:anywhere}
  .review figcaption{display:flex;align-items:center;gap:14px;margin-top:24px}
  .review-initial{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;background:#f3ecd9;color:var(--gold-deep);font-size:var(--text-small);font-weight:var(--weight-medium)}
  .review-meta{display:flex;flex-direction:column;min-width:0;line-height:1.6}
  .review-name{font-size:var(--text-small);font-weight:var(--weight-medium)}
  .review-context{font-size:var(--text-xs);color:var(--muted)}
  @media(max-width:760px){.review-list{grid-template-columns:1fr;gap:32px}}
}
@layer layout {
  .assurance-section,.reviews-section{padding-block:var(--section-space)}
  .preview-note a{text-decoration:underline;text-underline-offset:3px}
  .footer-links{display:flex;gap:24px;margin-left:auto;font-size:var(--text-small);color:var(--muted)}
  .footer-links a{padding-block:8px}
  .footer-links a:hover{color:var(--gold-deep)}
  .footer-links+.footer-copyright{margin-left:0}
  @media(max-width:760px){.footer-links{width:100%;margin-left:0;gap:20px}}
}
@layer layout {
  .footer-service{font-size:var(--text-small);color:var(--muted)}
  .not-found h1{font-size:var(--text-h2);margin-block:16px 12px;color:var(--ink)}.not-found .eyebrow{color:var(--gold-deep)}.not-found-links{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:20px}
  /* Copy left, photo right: the reverse of the photo-left curation section above it. */
  .why-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(44px,6.5vw,100px);align-items:center}
  .why-copy .eyebrow{color:var(--gold-deep);margin-bottom:24px}
  .why-text{margin-top:32px;max-width:520px;color:var(--muted);line-height:var(--occasion-leading,2)}
  .cuisine-expertise{display:flex;flex-direction:column;gap:10px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);max-width:520px}
  .why-photo{margin:0}
  .why-photo .photo-frame{position:relative;overflow:hidden;background:#33372e;aspect-ratio:4/5;max-height:560px;display:grid;place-items:center}
  .why-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 50%}
  .why-photo .photo-fallback-text{color:#e7e9de;text-align:center;max-width:90%;font-size:var(--text-body);padding:24px}
  .cuisine-expertise-label{font-size:var(--text-xs);letter-spacing:var(--tracking-label);color:var(--gold-deep)}
  .cuisine-expertise-list{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;font-size:var(--text-body);line-height:1.8;letter-spacing:.06em}
  .cuisine-expertise-list li{white-space:nowrap}
  .cuisine-expertise-list li:not(:last-child)::after{content:"・";color:var(--muted)}
  @media(max-width:760px){.why-layout{grid-template-columns:1fr;gap:32px}.why-copy .eyebrow{margin-bottom:18px}.why-text{margin-top:24px;font-size:var(--text-small)}.why-photo .photo-frame{aspect-ratio:4/3;max-height:360px}}
}
@layer layout {
  @media(max-width:760px){.footer-inner .footer-service{width:100%;margin-left:0}}
}
