@import url('https://fonts.googleapis.com/css2?family=Huninn&family=Noto+Sans+TC:wght@400;500;600;700&display=swap');
:root{--ink:#432819;--ink-soft:#745343;--red:#bb2721;--red-dark:#a82421;--gold:#ffd164;--butter:#ffe5a4;--cream:#fff8e9;--paper:#fffdf8;--sand:#f8eedb;--line:#e8d8bf;--line-dark:#b9987b;--green:#087537;--font-soft:'Huninn','PingFang TC','Noto Sans TC',sans-serif;--font-body:'Noto Sans TC','PingFang TC',system-ui,sans-serif;--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.88 var(--font-body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}img{max-width:100%}h1,h2,h3,h4,p,figure{margin-top:0}h1,h2,h3,h4{font-family:var(--font-soft);font-weight:400;line-height:1.34;letter-spacing:-.022em;text-wrap:balance}h1 em,h2 em,h3 em{font-style:normal;color:var(--red)}p{line-height:1.9;text-wrap:pretty}::selection{background:#ffe191;color:#432819}:focus-visible{outline:3px solid #1c6bcc;outline-offset:4px}html,body{overflow-x:clip}.shell{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.skip{position:absolute;z-index:100;left:15px;top:-90px;padding:10px 20px;background:#fff;border:2px solid var(--red);border-radius:6px}.skip:focus{top:12px}
.announcement{min-height:37px;background:var(--ink);color:#fff8eb;padding:5px 32px;display:flex;justify-content:center;align-items:center;gap:20px;font-size:13px;letter-spacing:.03em}.announcement>a{color:#ffe08d;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.site-header{background:rgba(255,250,240,.98);position:sticky;top:0;z-index:20;border-bottom:0}.nav{height:88px;display:flex;justify-content:space-between;align-items:center;gap:30px}.brand{display:flex;align-items:center;flex-shrink:0}.brand-logo{width:200px;height:75px;object-fit:contain;object-position:left center;display:block}.navlinks{display:flex;align-items:center;gap:23px;font-size:13px;font-weight:600;white-space:nowrap}.navlinks>a:not(.nav-cta):hover,.footer-links a:hover{color:var(--red)}.nav-cta{background:var(--red);color:#fff;padding:10px 19px;border-radius:9px;transition:background .18s,transform .18s}.nav-cta:hover,.btn-dark:hover{background:var(--red-dark);transform:translateY(-2px)}.menu-toggle{display:none;width:48px;height:48px;padding:12px;background:var(--paper);border:0;border-radius:10px}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:5px 0;border-radius:2px}
.hero{background:var(--cream);position:relative;overflow:hidden}.hero-inner{min-height:665px;display:grid;grid-template-columns:1.02fr .98fr;gap:5%;align-items:center;padding-block:65px 60px}.hero-copy{z-index:2;position:relative}.hero-intro,.section-intro{color:var(--red-dark);font:600 15px/1.6 var(--font-body);margin-bottom:24px;letter-spacing:.07em}.hero-intro::before{content:"";display:inline-block;background:var(--red);width:29px;height:2px;vertical-align:middle;margin-right:12px}.hero h1{font-size:clamp(65px,6.2vw,102px);line-height:1.18;letter-spacing:-.035em;margin-bottom:31px;max-width:660px}.hero-lead{color:var(--ink-soft);font-size:18px;line-height:1.95;max-width:31ch;margin-bottom:32px}.actions,.menu-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:54px;padding:12px 23px;border:1.5px solid transparent;border-radius:10px;line-height:1.5;font:600 15px/1.6 var(--font-body);transition:transform .2s,background .2s,color .2s,box-shadow .2s;white-space:normal;text-align:center}.btn span[aria-hidden]{font-size:18px}.btn-dark{background:var(--red);color:white}.btn-outline{background:transparent;border-color:var(--ink);color:var(--ink)}.btn-outline:hover{background:var(--ink);color:white;transform:translateY(-2px)}.btn-cream{background:var(--paper);color:var(--red-dark)}.btn-cream:hover{background:var(--gold)}.hero-footnote{font-size:13px;color:var(--ink-soft);margin:28px 0 0;display:flex;gap:10px;align-items:center}.mini-mark{width:9px;height:9px;background:var(--red);border-radius:50%;display:inline-block;flex-shrink:0}
.hero-art{width:100%;height:515px;display:grid;align-items:center;justify-items:center;position:relative}.hero-photo{height:100%;width:min(100%,515px);display:grid;place-items:center;background:#ffd76d;border-radius:26px 26px 130px 26px;position:relative;overflow:hidden}.hero-photo::before{content:"";position:absolute;inset:8%;border:0;border-radius:inherit;pointer-events:none}.hero-mascot{display:block;width:95%;height:95%;object-fit:contain;position:relative;z-index:1}.hero-image-note{position:absolute;left:-2%;bottom:22px;background:#fffef9;border:0;color:var(--ink);padding:15px 19px;font-family:var(--font-soft);font-size:20px;border-radius:10px;transform:rotate(-3deg);z-index:3}.hero-image-note strong{color:var(--red);font-weight:400}.hero-stamp{position:absolute;right:-16px;top:-28px;width:113px;height:113px;object-fit:contain;transform:rotate(10deg);z-index:3}
.hero-slogan{border-top:0;background:var(--gold)}.hero-slogan .shell{display:flex;justify-content:center;gap:40px;align-items:center;min-height:64px;font:400 19px/1.6 var(--font-soft);color:var(--ink)}.hero-slogan span:nth-child(even){color:var(--red);font-size:16px}
.section{padding-block:122px}.about-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:8%;align-items:center}.about-content{padding-right:10px}.section h2,.end-cta h2{font-size:clamp(41px,4vw,66px);line-height:1.3;margin-bottom:26px}.about-content .long-copy{font-size:17px;color:var(--ink-soft);line-height:2.1;max-width:33ch;white-space:pre-line}.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--red-dark);font-size:16px;font-weight:600;text-decoration:underline;padding-bottom:4px;text-underline-offset:4px;transition:gap .2s}.text-link:hover{gap:18px}.about-figure{position:relative;margin:0}.about-figure img{display:block;width:100%;height:auto;object-fit:cover;border-radius:12px}.about-figure figcaption,.menu-board figcaption,.franchise-visual figcaption{color:var(--ink-soft);font-size:13px;margin-top:16px;line-height:1.7}
.menu-section{background:#fff1d2}.menu-layout{display:grid;grid-template-columns:.66fr 1.34fr;gap:7%;align-items:center}.menu-copy h2{font-size:clamp(42px,4.4vw,68px);margin-bottom:22px}.menu-copy>p:not(.section-intro):not(.small-note){max-width:26ch;color:var(--ink-soft);font-size:17px}.menu-actions{margin-top:31px;align-items:center}.menu-copy .small-note{font-size:13px;color:var(--ink-soft);margin-top:30px;max-width:38ch}.menu-board{margin:0;padding:12px;background:#fffaf0;border:0;border-radius:13px;box-shadow:none}.menu-board img{display:block;width:100%;height:auto;border-radius:5px}.menu-board figcaption{margin:8px 4px 1px;text-align:center}
.feature-section{background:var(--paper)}.features-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:32px}.features-heading h2{max-width:690px;margin:0}.features-heading h2 em{display:block}.features-heading .section-intro{max-width:180px}.feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:0}.feature-row{display:flex;gap:20px;padding:34px 29px 8px 0}.feature-row:not(:first-child){border-left:0;padding-left:29px}.feature-number{display:inline-grid;place-items:center;align-self:start;width:42px;height:42px;border-radius:50%;border:0;color:var(--red-dark);font:400 22px/1 var(--font-soft);flex-shrink:0}.feature-row h3{font-size:26px;margin:2px 0 12px}.feature-row p{color:var(--ink-soft);font-size:16px;line-height:1.9;max-width:22ch}
.order-band{background:var(--red);color:#fffaf0;padding-block:68px}.order-band-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.order-band-inner p{margin-bottom:4px;color:#ffebd9;font-size:16px}.order-band h2{margin:0;font-size:clamp(38px,4.4vw,65px);color:white}.order-band h2 em{color:#ffe49b}
.franchise{background:var(--cream)}.franchise-intro{display:grid;grid-template-columns:1.32fr .68fr;gap:8%;align-items:center;margin-bottom:46px}.franchise-intro h2{max-width:760px;margin-bottom:23px}.franchise-intro>div>p:last-child{max-width:52ch;color:var(--ink-soft);font-size:17px;line-height:2}.cost-callout{background:var(--gold);padding:27px 31px;border-radius:12px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.cost-callout>span{font-size:16px}.cost-callout strong{font:400 clamp(70px,8vw,116px)/.95 var(--font-soft);color:var(--red-dark);white-space:nowrap;letter-spacing:-.045em}.cost-callout strong small{font-size:22px;letter-spacing:0}.cost-callout p{font-size:19px;margin:3px 0 12px;font-family:var(--font-soft)}.cost-callout>small{font-size:13px;line-height:1.8;color:#673e22}.franchise-visual{margin:0 auto 80px;max-width:1120px}.franchise-visual img{display:block;width:100%;height:auto;border-radius:12px}.franchise-visual figcaption{text-align:center;margin-top:15px}.franchise-tech{display:grid;grid-template-columns:.72fr 1.28fr;gap:6%;border-top:0;padding-top:63px}.tech-heading h3{font-size:clamp(31px,2.8vw,48px);margin-bottom:20px}.tech-heading p{font-size:16px;color:var(--ink-soft);max-width:28ch}.tech-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.tech-item{border-top:0;padding:25px 0 30px;display:flex;gap:16px}.tech-item:nth-child(-n+2){border-top:0;padding-top:0}.tech-symbol{font-family:var(--font-body);font-weight:700;font-size:13px;display:inline-grid;place-items:center;border:0;border-radius:6px;width:52px;height:44px;flex-shrink:0;color:var(--red-dark)}.tech-item h4{font-size:23px;margin:0 0 8px}.tech-item p{font-size:16px;color:var(--ink-soft);margin:0}.tech-note{max-width:80ch;font-size:13px;color:var(--ink-soft);margin:15px 0 65px}.franchise-panel{background:var(--ink);color:#fff7e7;border-radius:15px;padding:48px;display:grid;grid-template-columns:1.08fr .92fr;gap:8%;align-items:center}.franchise-panel h3{font-size:clamp(27px,3vw,42px);line-height:1.5;margin-bottom:13px}.franchise-panel .panel-text>p{font-size:16px;line-height:2;color:#f5dec9;max-width:44ch}.steps{display:flex;flex-wrap:wrap;gap:9px 25px;padding-left:22px;color:#f6dfc3;font-size:13px;margin:22px 0 0}.panel-actions{display:flex;flex-direction:column;gap:12px}.panel-actions .btn{width:100%;min-height:58px}.btn-line{background:var(--green);color:white}.btn-line:hover{background:#066a2e;transform:translateY(-2px)}.line-mark{background:white;color:#006d2d;border-radius:4px;font-size:13px;font-weight:700;padding:2px 5px}.btn-phone{background:transparent;color:#ffe7b9;border:0}.btn-phone:hover{background:#573828}.copy-phone{align-self:center;background:none;border:0;color:#ffe7b9;font-size:13px;text-decoration:underline;text-underline-offset:4px;padding:10px 15px}.copy-result{min-height:20px;font-size:13px;color:#d4f7c9;text-align:center;margin:0}
.articles-section{background:#fffdf8}.articles-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:44px}.articles-heading h2{margin:0}.articles-heading>p{max-width:25ch;color:var(--ink-soft)}.article-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.story-card{border-top:2px solid var(--red);padding:28px 2px 35px}.story-kicker{font:500 12px/1.5 var(--font-body);color:var(--red-dark)}.story-card h3{font-size:clamp(25px,2.3vw,35px);margin:16px 0 15px}.story-card>p{color:var(--ink-soft);font-size:16px}.story-card details{margin-top:23px}.story-card summary{color:var(--red-dark);font-size:16px;font-weight:600;cursor:pointer;display:inline-block;text-decoration:underline;text-underline-offset:5px}.story-card .article-body{white-space:pre-line;max-width:62ch;color:var(--ink-soft);font-size:16px;margin-top:18px}
.visit{background:#f6ecdc}.visit-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:12%;align-items:start}.visit h2{margin-bottom:30px}.visit-copy{position:relative}.store-info h3{font-size:26px;margin:0 0 9px}.store-info address{font-size:16px;color:var(--ink-soft);font-style:normal}.store-info p{color:var(--ink-soft);margin-top:8px}.store-info a{text-decoration:underline;text-underline-offset:4px;color:var(--red-dark)}.visit-stamp{display:block;width:112px;height:112px;object-fit:contain;margin-top:28px}.visit-links{border-top:0}.visit-link{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:0 15px;border-bottom:0;padding:21px 4px;transition:padding .2s,color .2s}.visit-link:hover{padding-left:15px;color:var(--red-dark)}.visit-link>span{grid-row:2;font-size:13px;color:var(--ink-soft)}.visit-link>strong{grid-row:1;font:400 29px/1.5 var(--font-soft);grid-column:1}.visit-link>b{grid-column:2;grid-row:1/3;align-self:center;font:400 26px/1 var(--font-soft);color:var(--red)}
.end-cta{background:#ffe4a8;padding:94px 0}.end-cta-inner{display:flex;gap:8%;align-items:center;justify-content:center}.end-cta img{width:min(24%,230px);height:auto;object-fit:contain}.end-cta h2{font-size:clamp(37px,4vw,58px);margin-bottom:14px}.end-cta p{color:var(--ink-soft);margin-bottom:24px}.end-cta .end-phone{margin-left:17px}
.footer{background:var(--ink);color:#fff8ea;padding:50px 0 28px}.footer .brand-logo{width:180px;height:70px;background:#fff9e9;border-radius:7px;padding:3px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-top p{font-size:13px;color:#e6caba;margin:0}.footer-links{display:flex;gap:30px;flex-wrap:wrap;padding:26px 0 36px;font-size:13px}.footer-links a:hover{color:#ffe198}.footer-bottom{border-top:0;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:15px}.footer-bottom small,.footer-admin{color:#e4c9bc;font-size:13px}.footer-admin{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1150px){.navlinks{gap:12px;font-size:13px}.brand-logo{width:165px}.hero-inner{gap:4%}.hero-photo{border-radius:20px 20px 95px 20px}.hero-art{height:455px}}
@media(max-width:900px){.shell{width:min(var(--max),calc(100% - 50px))}.menu-toggle{display:block;flex-shrink:0}.navlinks{display:none;position:absolute;left:0;right:0;top:100%;background:#fff9ea;border-bottom:0;padding:18px 25px 22px;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 100px);overflow-y:auto;box-shadow:none}.navlinks.open{display:flex}.navlinks>a{padding:12px 16px;font-size:16px}.navlinks .nav-cta{text-align:center;margin-top:10px}.hero-inner{min-height:600px}.hero h1{font-size:clamp(54px,7vw,80px)}.hero-art{height:410px}.section{padding-block:88px}.about-layout,.menu-layout{gap:5%}.about-content .long-copy{font-size:16px}.feature-list{gap:15px}.feature-row{display:block;padding-right:15px}.feature-row:not(:first-child){padding-left:15px}.feature-number{margin-bottom:20px}.franchise-intro{gap:5%}.franchise-panel{padding:35px}.visit-layout{gap:6%}}
@media(max-width:700px){html{scroll-padding-top:75px}.shell{width:calc(100% - 38px)}.announcement{gap:14px;font-size:13px;padding:6px 12px}.announcement span{white-space:nowrap}.nav{height:72px}.brand-logo{width:170px;height:62px}.hero-inner{grid-template-columns:1fr;gap:36px;padding-block:48px 58px;min-height:0}.hero-copy{max-width:580px}.hero-intro{font-size:13px;margin-bottom:18px}.hero h1{font-size:clamp(46px,9.4vw,68px);margin-bottom:22px}.hero-lead{font-size:16px;margin-bottom:24px}.actions{gap:11px}.btn{min-height:50px;padding:10px 17px;font-size:16px}.hero-art{max-width:520px;height:min(95vw,455px);margin:auto}.hero-photo{width:100%;height:100%;border-radius:16px 16px 75px 16px}.hero-stamp{width:85px;height:85px;right:-10px;top:-20px}.hero-image-note{font-size:18px;bottom:15px;left:-5px;padding:10px 14px}.hero-slogan .shell{gap:18px;justify-content:space-between;white-space:nowrap;overflow:hidden;min-height:56px;font-size:16px}.hero-slogan span:nth-child(3),.hero-slogan span:nth-child(4){display:none}.section{padding-block:76px}.about-layout,.menu-layout,.franchise-intro,.franchise-tech,.franchise-panel,.visit-layout{grid-template-columns:1fr;gap:38px}.section h2,.end-cta h2{font-size:clamp(36px,8vw,52px)}.about-figure{grid-row:2}.about-content .long-copy{max-width:100%}.menu-layout .menu-copy{max-width:600px}.menu-copy>p:not(.section-intro):not(.small-note){max-width:100%}.menu-board{width:100%}.features-heading{display:block;margin-bottom:27px}.features-heading .section-intro{max-width:none}.feature-list{grid-template-columns:1fr;gap:0}.feature-row,.feature-row:not(:first-child){display:flex;padding:21px 0;border-left:0;border-bottom:0}.feature-number{margin:0 8px 0 0}.feature-row h3{font-size:24px}.feature-row p{max-width:none;margin-bottom:0}.order-band{padding-block:50px}.order-band-inner{align-items:flex-start;flex-direction:column;gap:22px}.order-band h2{font-size:clamp(38px,7.5vw,56px)}.franchise-intro{margin-bottom:35px}.cost-callout{max-width:430px}.franchise-visual{margin-bottom:60px}.franchise-tech{padding-top:38px}.tech-grid{gap:6px 15px}.tech-item{padding-top:16px!important}.tech-note{margin-bottom:36px}.franchise-panel{padding:31px 25px}.articles-heading{display:block;margin-bottom:28px}.articles-heading>p{max-width:36ch;margin-top:14px}.article-grid{grid-template-columns:1fr;gap:0}.visit-stamp{margin-top:20px}.end-cta{padding-block:69px}.end-cta-inner{gap:21px}.end-cta img{width:94px;align-self:flex-start}.end-cta .end-phone{display:block;margin:14px 0 0;width:max-content}.footer-top{display:block}.footer-top p{margin-top:15px}.footer-links{gap:12px 22px}}
@media(max-width:400px){.shell{width:calc(100% - 32px)}.announcement{font-size:13px;gap:9px}.hero h1{font-size:44px}.hero-footnote{font-size:13px}.hero-photo{border-radius:16px 16px 65px 16px}.hero-art{height:330px}.menu-actions{gap:14px}.tech-grid{grid-template-columns:1fr}.tech-item:nth-child(2){border-top:0}.end-cta-inner{display:block}.end-cta img{float:right;width:85px;margin-left:10px}.navlinks{padding-inline:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Rounded print-shop refinement: tone and negative space replace ornamental rules. */
.feature-number{background:#fff2dc}
.tech-symbol{background:#fff0d8}
.hero-photo{background:#ffd978}
@keyframes gentle-arrival{from{opacity:.12;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.motion-enter{animation:gentle-arrival .7s cubic-bezier(.19,1,.22,1) both}
@media(min-width:701px) and (max-width:900px){.about-layout,.menu-layout{grid-template-columns:1fr;gap:32px}.about-content .long-copy{max-width:65ch}.menu-copy>p:not(.small-note){max-width:70ch}}
@media(prefers-reduced-motion:reduce){.motion-enter{animation:none}}
.tech-heading .tech-note{font-size:13px;line-height:1.8;margin:16px 0 0;max-width:40ch}
