/* MadeRight identity from the supplied visual reference. Loaded after design.css. */
:root{
  --accent:#2F4F3E;
  --accent-dark:#243F32;
  --ink:#27352D;
  --muted:#657369;
  --page:#F5F3EC;
  --paper:#FFFEFA;
  --wash:#ECE5D8;
  --wash-strong:#E4D7C3;
  --line:#D9D5C9;
  --soft-line:#E9E3D8;
  --radius:18px;
}
body{background:var(--page);color:var(--ink);font-family:"Noto Sans TC","PingFang TC",-apple-system,BlinkMacSystemFont,sans-serif}
header{background:rgba(245,243,236,.98);border-color:var(--line)}
.nav{min-height:80px}
.mark{width:49px;height:49px;border-radius:0;background:transparent}
.mark img{object-fit:contain}
.brand-text{font-size:17px;letter-spacing:.08em;color:var(--ink)}
.brand-text small{font-family:Montserrat,"Avenir Next",Arial,sans-serif;font-weight:600;letter-spacing:0;color:var(--accent)}
.descriptor{color:var(--muted);font-size:10px;letter-spacing:.025em}
.button,.nav .button{background:var(--accent);color:var(--page);border-radius:10px;box-shadow:none}
.button:hover,.nav .button:hover{background:var(--accent-dark);box-shadow:0 10px 22px #2F4F3E26}
.eyebrow{color:var(--accent);font-family:Montserrat,"Avenir Next",Arial,sans-serif}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:center;gap:clamp(32px,5vw,72px);min-height:0;padding:66px 0 0;text-align:left}
.hero-copy{max-width:650px;margin:0;padding:0;text-align:left}
.hero-brandline{margin-bottom:27px;color:#A7533B;font-size:11px;font-weight:700;letter-spacing:.09em;line-height:1.6}
.hero-brandline span{padding:0 5px;color:#C96546}
.hero .eyebrow{font-size:11px;letter-spacing:.16em}
.hero h1{margin-top:19px;font-size:clamp(43px,4.3vw,68px);line-height:1.22;letter-spacing:-.055em}
.hero h1 em{color:var(--accent)}
.hero h1 .hero-kicker{display:block;margin-bottom:19px;font-family:inherit;font-size:11px;font-weight:750;letter-spacing:.16em;line-height:1.5;white-space:normal}
.hero-copy>p{max-width:38em;margin:22px 0 27px;color:var(--muted);font-size:15px;line-height:1.9}
.hero .actions{justify-content:flex-start;gap:17px}
.hero .text-link{color:var(--accent)}
.brand-hero-art{position:relative;min-height:425px;overflow:hidden;border:1px solid #D8CBB6;border-radius:28px;background:linear-gradient(145deg,#EEE8DC 0%,#D9C5A8 100%);box-shadow:0 25px 55px #2F4F3E18;isolation:isolate}
.brand-hero-art::before{content:"";position:absolute;inset:auto -17% -47% auto;width:85%;aspect-ratio:1;border-radius:50%;background:#2F4F3E;opacity:.97;z-index:-1}
.brand-hero-orbit{position:absolute;display:block;border:1px solid #F5F3EC99;border-radius:50%;pointer-events:none}
.brand-hero-orbit-one{width:430px;height:430px;right:-120px;bottom:-240px}
.brand-hero-orbit-two{width:330px;height:330px;right:-70px;bottom:-190px}
.brand-hero-symbol{position:absolute;top:49px;left:48px;width:194px;height:194px;object-fit:contain}
.brand-hero-caption{position:absolute;left:54px;right:28px;bottom:48px;display:flex;align-items:end;justify-content:space-between;gap:12px}
.brand-hero-caption span{align-self:start;color:#27352D;font-size:15px;font-weight:700;letter-spacing:.13em}
.brand-hero-caption small{display:block;margin-top:3px;font-family:Montserrat,"Avenir Next",Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:0}
.brand-hero-caption strong{color:#F5F3EC;font-size:clamp(22px,2.1vw,30px);font-weight:600;line-height:1.45;letter-spacing:.08em;text-align:right}
.brand-hero-index{position:absolute;right:31px;top:31px;color:#58705D;font-family:Montserrat,"Avenir Next",Arial,sans-serif;font-size:9px;font-weight:600;letter-spacing:.13em}
.hero-product{grid-column:1/-1;width:100%;max-width:none;margin:13px auto 0;border-color:#D7CFBF;border-radius:20px;box-shadow:0 25px 55px #2F4F3E12}
.hero-product-top{background:var(--accent);color:var(--page)}
.hero-product-top span:last-child{color:#D9C5A8}
.hero-mockup{background:linear-gradient(135deg,#F3EEE4,#E9E1D4)}
.mockup-recipe,.mockup-result{border-color:#DAD2C3;box-shadow:0 18px 35px #2F4F3E10}
.mockup-status{background:#C96546;box-shadow:0 0 0 4px #F3E5D9}
.mockup-badge,.mockup-weight,.mockup-paper-foot span:last-child{background:#EFE8DD;color:var(--accent)}
.feature-strip{border-color:var(--line)}
.feature-strip b,.step-num,.pain-card .number{color:#A7533B}
.workflow{background:var(--wash)}
.tour{border-color:#CFC2AE}.tour-stage{border-color:#CFC2AE}.tour-detail{border-color:#C8B89D}
.promo-screen{min-height:315px;overflow:hidden;border:1px solid #D7CCBA;border-radius:15px;background:#FFFEFA;box-shadow:0 18px 36px #2F4F3E10}
.promo-screen-top{display:flex;align-items:center;gap:10px;padding:11px 17px;background:#2F4F3E;color:#F5F3EC;font-size:11px;letter-spacing:.04em}
.promo-screen-top small{margin-left:auto;color:#D9C5A8;font:600 9px Montserrat,"Avenir Next",Arial,sans-serif;letter-spacing:.08em}
.promo-screen-dot{width:8px;height:8px;border-radius:50%;background:#C96546}
.promo-screen-body{padding:25px 28px 29px}
.promo-screen-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}
.promo-screen-heading small,.promo-cost-heading small{color:#A7533B;font:700 9px Montserrat,"Avenir Next",Arial,sans-serif;letter-spacing:.14em}
.promo-screen-heading h4{margin:5px 0 0;color:#27352D;font-size:19px;line-height:1.35}
.promo-screen-action{flex:none;padding:8px 11px;border-radius:7px;background:#2F4F3E;color:#F5F3EC;font-size:10px;font-weight:700}
.promo-table{overflow:hidden;border:1px solid #E7E0D5;border-radius:9px}
.promo-row{display:grid;grid-template-columns:1.4fr .8fr .8fr;align-items:center;gap:8px;min-height:38px;padding:6px 15px;border-top:1px solid #EAE5DC;font-size:11px}
.promo-row:first-child{border-top:0}.promo-row-head{min-height:31px;background:#F3EEE5;color:#69756C;font-size:9px;font-weight:700}
.promo-row strong{color:#27352D}.promo-row span:not(:first-child){color:#69756C}
.promo-status{width:max-content;padding:4px 8px;border-radius:5px;background:#E8EFE9;color:#2F4F3E!important;font-size:9px}
.promo-recipe-grid{display:grid;grid-template-columns:1fr .8fr;gap:14px}
.promo-recipe-list,.promo-recipe-summary{overflow:hidden;border:1px solid #E7E0D5;border-radius:9px;background:#FFF}
.promo-recipe-list>div,.promo-recipe-summary>div{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;border-top:1px solid #EAE5DC;font-size:11px}
.promo-recipe-list>div:first-child{border-top:0}.promo-recipe-list strong,.promo-recipe-summary strong{color:#2F4F3E}
.promo-recipe-summary{padding-top:10px;background:#F4EEE4}.promo-recipe-summary>small{display:block;padding:0 14px 9px;color:#A7533B;font-size:10px;font-weight:700}
.promo-label{max-width:440px;margin:auto;padding:16px 20px;border:2px solid #27352D;background:#FFF;color:#27352D}
.promo-label-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:3px solid #27352D}.promo-label-title strong{font-size:17px}.promo-label-title span{font-size:10px}
.promo-label-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:6px 0;border-bottom:1px solid #BBC1BA;font-size:9px}.promo-label-row:first-of-type{font-weight:700}.promo-label-row strong{text-align:right;font-size:9px}
.promo-cost{min-height:220px;padding:22px;border:1px solid #D7CCBA;border-radius:12px;background:linear-gradient(135deg,#F9F5EC,#E8D8C0)}
.promo-cost-heading{display:flex;flex-direction:column;gap:7px}.promo-cost-heading strong{color:#27352D;font-size:16px}
.promo-cost-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}.promo-cost-steps>div{display:flex;flex-direction:column;gap:7px;min-height:107px;padding:13px 10px;border:1px solid #DFD1BC;border-radius:8px;background:#FFFEFA}.promo-cost-steps span{color:#A7533B;font:700 10px Montserrat,"Avenir Next",Arial,sans-serif}.promo-cost-steps strong{color:#2F4F3E;font-size:11px;line-height:1.4}.promo-cost-steps small{color:#69756C;font-size:9px;line-height:1.4}
.feature,.plan-card{border-color:var(--line);background:var(--paper)}
.feature:nth-child(1),.feature:nth-child(6){background:#EDE5D8}
.feature:nth-child(4){background:#F1ECE3}
.feature .icon{color:var(--accent)}
.tags span{background:#FFFEFA;border-color:#D9C5A8}
.notice{background:#F1E6D9;border-left-color:#C96546}
.plan-card.recommended{background:#EFE8DD;border-color:var(--accent)}
.plan-badge,.early-badge{color:var(--accent)}
.early-offer{background:#E9DBC6;border-color:#CBB392}
.early-status{border-color:#B99A76;color:var(--accent-dark)}
.final-cta{background:var(--accent);border-radius:24px}
.final-cta h2,.final-cta p{color:var(--page)}
.final-cta .button{background:var(--page);color:var(--accent)}
.final-cta .button:hover{background:#E9DBC6}
.faq{border-color:var(--line)}
.faq-list details{border-color:var(--line)}
footer{color:var(--muted)}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;gap:30px;padding-top:52px}
  .hero-copy{max-width:720px}
  .brand-hero-art{min-height:330px}
  .brand-hero-symbol{top:31px;width:165px;height:165px}
  .hero-product{margin-top:9px}
}
@media(max-width:520px){
  .nav{min-height:68px}.mark{width:42px;height:42px}
  .hero{gap:20px;padding-top:40px}
  .hero-brandline{margin-bottom:16px;font-size:9px;letter-spacing:.02em}
  .hero h1{font-size:clamp(36px,9.2vw,46px)}
  .hero-copy>p{font-size:13px;margin:17px 0 21px}
  .brand-hero-art{min-height:255px;border-radius:18px}
  .brand-hero-symbol{top:22px;left:23px;width:122px;height:122px}
  .brand-hero-caption{left:27px;right:19px;bottom:25px}
  .brand-hero-caption span{font-size:11px}.brand-hero-caption small{font-size:9px}
  .brand-hero-caption strong{font-size:19px}
  .brand-hero-index{right:17px;top:17px;font-size:7px}
  .brand-hero-art::before{width:90%;right:-25%;bottom:-55%}
  .hero-product{margin:4px -7px 0;width:calc(100% + 14px)}
  .final-cta{border-radius:18px}
  .promo-screen{min-height:0;border-radius:10px}.promo-screen-body{padding:18px 14px 20px}
  .promo-screen-heading{align-items:flex-start}.promo-screen-heading h4{font-size:14px}.promo-screen-action{padding:6px 7px;font-size:8px}
  .promo-row{grid-template-columns:1.3fr .75fr .75fr;gap:4px;padding:5px 8px;font-size:9px}
  .promo-recipe-grid{gap:7px}.promo-recipe-list>div,.promo-recipe-summary>div{padding:9px 7px;font-size:9px}.promo-recipe-summary>small{padding-left:7px}
  .promo-label{padding:12px}.promo-label-title strong{font-size:14px}.promo-label-row,.promo-label-row strong{font-size:8px}
  .promo-cost{padding:16px;min-height:0}.promo-cost-steps{grid-template-columns:1fr;margin-top:14px}.promo-cost-steps>div{min-height:0;display:grid;grid-template-columns:23px 1fr;align-items:center;gap:1px 8px;padding:9px}.promo-cost-steps small{grid-column:2}
}
/* 標示預覽與匯出：成分名稱去品牌示意 */
.rename-demo{margin:20px 0 0;min-width:0}
.rename-demo figcaption{margin-top:11px;color:var(--muted);font-size:11px}
.promo-rename{padding:22px;border:1px solid #D7CCBA;border-radius:12px;background:linear-gradient(135deg,#F9F5EC,#E8D8C0)}
.promo-rename-heading{display:flex;flex-direction:column;gap:7px}.promo-rename-heading small{color:#A7533B;font:700 9px Montserrat,"Avenir Next",Arial,sans-serif;letter-spacing:.14em}.promo-rename-heading strong{color:#27352D;font-size:16px}
.promo-rename-flow{display:grid;grid-template-columns:minmax(0,1.35fr) auto minmax(0,1fr);align-items:stretch;gap:10px;margin-top:18px}
.promo-rename-box{display:flex;flex-direction:column;gap:8px;padding:13px 14px;border:1px solid #DFD1BC;border-radius:8px;background:#FFFEFA}
.promo-rename-box small{color:#69756C;font-size:10px}
.feature .promo-rename-box p{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 3px;max-width:none;margin:0;font-size:15px;line-height:1.5}
.promo-rename-box s{color:#9AA39C;text-decoration-color:#C96546;text-decoration-thickness:2px}
.promo-rename-box b{color:#2F4F3E;font-weight:700}
.promo-rename-after{border-color:#2F4F3E;box-shadow:0 8px 18px #2F4F3E14}
.promo-rename-arrow{align-self:center;color:#A7533B;font-size:18px;font-weight:700}
.promo-rename-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.promo-rename-tags span{padding:4px 9px;border-radius:999px;background:#FFFEFA;color:#2F4F3E;font-size:10px;font-weight:600}
@media(max-width:520px){
  .promo-rename{padding:16px}.promo-rename-heading strong{font-size:14px}
  .promo-rename-flow{grid-template-columns:1fr;gap:6px;margin-top:14px}
  .promo-rename-arrow{justify-self:center;transform:rotate(90deg);font-size:15px}
  .feature .promo-rename-box p{font-size:13px}
}
/* 營養標示圖片辨識：照片帶入表單示意 */
.ocr-demo{margin:20px 0 0;min-width:0}
.ocr-demo figcaption{margin-top:11px;color:var(--muted);font-size:11px}
.promo-ocr{padding:22px;border:1px solid #D7CCBA;border-radius:12px;background:linear-gradient(135deg,#F4F1E8,#E3E9E1)}
.promo-ocr-heading{display:flex;flex-direction:column;gap:7px}.promo-ocr-heading small{color:#A7533B;font:700 9px Montserrat,"Avenir Next",Arial,sans-serif;letter-spacing:.14em}.promo-ocr-heading strong{color:#27352D;font-size:16px}
.promo-ocr-flow{display:grid;grid-template-columns:minmax(0,.8fr) auto minmax(0,1.2fr);align-items:center;gap:10px;margin-top:18px}
.promo-ocr-photo{position:relative;padding:12px;border-radius:10px;background:#27352D}
.promo-ocr-corner{position:absolute;width:12px;height:12px;border:2px solid #D9C5A8}
.promo-ocr-corner:nth-child(1){top:5px;left:5px;border-right:0;border-bottom:0}.promo-ocr-corner:nth-child(2){top:5px;right:5px;border-left:0;border-bottom:0}.promo-ocr-corner:nth-child(3){bottom:5px;left:5px;border-right:0;border-top:0}.promo-ocr-corner:nth-child(4){bottom:5px;right:5px;border-left:0;border-top:0}
.promo-ocr-pack{display:flex;flex-direction:column;gap:5px;padding:12px 11px;border-radius:6px;background:#F5F3EC}
.promo-ocr-pack b{color:#6E4E8F;font-size:14px;letter-spacing:.06em}.promo-ocr-pack small{color:#27352D;font-size:10px;font-weight:600}
.promo-ocr-pack i{display:block;height:4px;border-radius:2px;background:#D9D5C9}.promo-ocr-pack i:nth-of-type(2){width:80%}.promo-ocr-pack i:nth-of-type(3){width:60%}
.promo-ocr-pack em{margin-top:2px;color:#657369;font-size:9px;font-style:normal}
.promo-ocr-scan{position:absolute;left:12px;right:12px;top:66%;height:2px;background:#C96546;box-shadow:0 0 10px #C96546}
.promo-ocr-arrow{color:#A7533B;font-size:18px;font-weight:700}
.promo-ocr-form{display:flex;flex-direction:column;overflow:hidden;border:1px solid #DFD1BC;border-radius:8px;background:#FFFEFA}
.promo-ocr-form>div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:7px 11px;border-top:1px solid #EFE8DD;font-size:11px}
.promo-ocr-form>div:first-child{border-top:0}
.promo-ocr-form span{color:#69756C;white-space:nowrap}.promo-ocr-form strong{color:#2F4F3E;text-align:right}
.promo-ocr-form .is-new{background:#EEF3EE}.promo-ocr-form .is-new strong::after{content:"✓";margin-left:5px;color:#A7533B}
@media(max-width:520px){
  .promo-ocr{padding:16px}.promo-ocr-heading strong{font-size:14px}
  .promo-ocr-flow{grid-template-columns:1fr;gap:6px;margin-top:14px}
  .promo-ocr-photo{justify-self:center;width:min(100%,220px)}
  .promo-ocr-arrow{justify-self:center;transform:rotate(90deg);font-size:15px}
}
/* 過敏原與素食資訊：示範配方判定示意 */
.allergen-demo{margin:20px 0 0;min-width:0}
.allergen-demo figcaption{margin-top:11px;color:var(--muted);font-size:11px}
.promo-allergen{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid #D7CCBA;border-radius:12px;background:linear-gradient(135deg,#F9F5EC,#EDE5D8)}
.promo-allergen-heading{display:flex;flex-direction:column;gap:5px}.promo-allergen-heading small{color:#A7533B;font:700 9px Montserrat,"Avenir Next",Arial,sans-serif;letter-spacing:.14em}.promo-allergen-heading strong{color:#27352D;font-size:15px}
.feature .promo-allergen-heading p{margin:0;color:#69756C;font-size:11px;line-height:1.5}
.promo-allergen-group>small,.promo-allergen-output>small{display:block;margin-bottom:7px;color:#69756C;font-size:10px}
.promo-allergen-chips{display:flex;flex-wrap:wrap;gap:5px}
.promo-allergen-chips span{padding:3px 8px;border:1px solid #DFD1BC;border-radius:999px;background:#FFFEFA;color:#9AA39C;font-size:10.5px;line-height:1.5}
.promo-allergen-chips span.is-on{border-color:#C96546;background:#C96546;color:#FFFEFA;font-weight:600}
.promo-veg-chips span.is-on{border-color:#2F4F3E;background:#2F4F3E}
.promo-allergen-output{padding:11px 12px;border:1px solid #2F4F3E;border-radius:8px;background:#FFFEFA}
.feature .promo-allergen-output p{max-width:none;margin:0;color:#27352D;font-size:11.5px;line-height:1.6}
.feature .promo-allergen-output p+p{margin-top:3px}.promo-allergen-output b{color:#2F4F3E}
@media(max-width:520px){.promo-allergen{padding:15px}}
/* 原料成本分析：與過敏原示意圖同一套版型，放在內文正下方 */
.feature:nth-child(4){display:flex;flex-direction:column;justify-content:flex-start}
.feature:nth-child(4) h3{align-self:flex-start}.feature:nth-child(4)>p{margin-bottom:0}
.feature:nth-child(4) .cost-demo{width:100%;margin:20px 0 0;align-self:stretch}
.feature:nth-child(4) .cost-demo figcaption{margin-top:11px;color:var(--muted);font-size:11px}
.promo-costcard-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.promo-costcard-steps>div{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border:1px solid #DFD1BC;border-radius:8px;background:#FFFEFA}
.promo-costcard-steps>div>small{margin-bottom:4px;color:#A7533B;font-weight:600}
.promo-costcard-steps ul{display:flex;flex-direction:column;gap:3px;margin:0;padding:0;list-style:none}
.promo-costcard-steps li{display:flex;justify-content:space-between;gap:6px;color:#27352D;font-size:11.5px;line-height:1.5}
.promo-costcard-steps li em{color:#69756C;font-style:normal}
.feature .promo-costcard-steps p{max-width:none;margin:0;color:#27352D;font-size:11.5px;line-height:1.5}
.promo-costcard-steps b{color:#2F4F3E;font-size:20px;line-height:1.3}.promo-costcard-steps b.is-accent{color:#A7533B;font-size:16px}
.promo-costcard-steps i{position:relative;display:block;height:10px;margin:4px 0 2px;border-radius:5px;background:#A7533B;overflow:hidden}
.promo-costcard-steps i span{position:absolute;inset:0 60% 0 0;background:#D9C5A8}
.feature .promo-costcard-steps .promo-costcard-legend{display:flex;align-self:stretch;justify-content:space-between;color:#69756C;font-size:10px}
@media(max-width:520px){
  .promo-costcard-steps{grid-template-columns:1fr}
}
/* 示意方塊動態：motion.js 依 data-step 逐步加上 is-in／is-current；沒有 JS 或減少動態時維持完成畫面 */
.motion-ready{transition:opacity .45s ease}.motion-ready.is-resetting{opacity:.45}
.motion-ready .promo-allergen-heading span{margin:0 -2px;padding:0 2px;border-radius:4px;transition:background-color .3s,color .3s}
.motion-ready .promo-allergen-heading span.is-current{background:#C9654624;color:#A7533B}
.motion-ready .promo-allergen-chips span{transition:background-color .35s,border-color .35s,color .35s}
.motion-ready .promo-allergen-chips span.is-on:not(.is-in){border-color:#DFD1BC;background:#FFFEFA;color:#9AA39C}
.motion-ready .promo-allergen-chips span.is-current{animation:motion-pop .45s ease-out}
.motion-ready .promo-costcard-steps li,.motion-ready .promo-costcard-steps p[data-step],.motion-ready .promo-costcard-steps b[data-step],.motion-ready .promo-allergen-output[data-step],.motion-ready .promo-allergen-output p[data-step]:not([data-type]){transition:opacity .4s ease,transform .4s ease}
.motion-ready .promo-costcard-steps li:not(.is-in),.motion-ready .promo-costcard-steps p[data-step]:not(.is-in),.motion-ready .promo-costcard-steps b[data-step]:not(.is-in),.motion-ready .promo-allergen-output[data-step]:not(.is-in),.motion-ready .promo-allergen-output p[data-step]:not([data-type]):not(.is-in){opacity:0;transform:translateY(5px)}
.motion-ready [data-type] span{opacity:0;transition:opacity .15s}.motion-ready [data-type] span.is-typed{opacity:1}
.motion-ready .promo-costcard-steps i span{right:0;transition:right .9s cubic-bezier(.3,.7,.3,1)}.motion-ready .promo-costcard-steps i.is-in span{right:60%}
.motion-ready .promo-costcard-steps>div,.motion-ready .promo-allergen-output{transition:border-color .35s,box-shadow .35s,opacity .4s ease,transform .4s ease}
.motion-ready .promo-costcard-steps>div:has(.is-current){border-color:#C96546;box-shadow:0 0 0 3px #C965461F}
.motion-ready .promo-allergen-output:has(.is-current),.motion-ready .promo-allergen-output.is-current{box-shadow:0 0 0 3px #2F4F3E1F}
@keyframes motion-pop{0%{transform:scale(.88)}60%{transform:scale(1.08)}100%{transform:scale(1)}}
.motion-ready .promo-ocr-arrow.is-current,.motion-ready .promo-rename-arrow.is-current{animation:motion-nudge .55s ease-out}
.motion-ready .promo-ocr-corner{transition:border-color .3s}.motion-ready .promo-ocr-photo.is-current .promo-ocr-corner{border-color:#C96546}
.motion-ready .promo-ocr-scan{opacity:0}.motion-ready .promo-ocr-photo.is-current .promo-ocr-scan{animation:motion-scan 1.4s ease-in-out}
.motion-ready .promo-ocr-pack b,.motion-ready .promo-ocr-pack small,.motion-ready .promo-ocr-pack em{margin:0 -3px;padding:0 3px;border-radius:3px;transition:background-color .3s,box-shadow .3s}
.motion-ready .promo-ocr-pack .is-current{background:#C9654629;box-shadow:0 0 0 1px #C96546}
.motion-ready .promo-ocr-form>div{transition:background-color .35s}.motion-ready .promo-ocr-form>div:not(.is-in){background:#FFFEFA}
.motion-ready .promo-ocr-form>div.is-current{background:#F6E6DE}
.motion-ready .promo-ocr-form strong{transition:opacity .35s,transform .35s}.motion-ready .promo-ocr-form>div:not(.is-in) strong{opacity:0;transform:translateX(6px)}
.motion-ready .promo-rename-box s{transition:color .35s,text-decoration-color .35s}.motion-ready .promo-rename-box s:not(.is-in){color:#27352D;text-decoration-color:transparent}
.motion-ready .promo-rename-box b{transition:background-color .3s}.motion-ready .promo-rename-box b.is-current{border-radius:4px;background:#2F4F3E1A}
.motion-ready .promo-rename-after{transition:box-shadow .35s,border-color .35s}.motion-ready .promo-rename-after:not(:has(.is-in)){border-color:#DFD1BC;box-shadow:none}
.motion-ready .promo-rename-after b,.motion-ready .promo-rename-tags span{transition:opacity .4s,transform .4s}
.motion-ready .promo-rename-after b:not(.is-in),.motion-ready .promo-rename-tags span:not(.is-in){opacity:0;transform:translateY(5px)}
.motion-ready .promo-rename-tags span.is-current{animation:motion-pop .45s ease-out}
@keyframes motion-scan{0%{top:12%;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:88%;opacity:0}}
@keyframes motion-nudge{0%,100%{translate:0}50%{translate:4px}}
@keyframes motion-nudge-down{0%,100%{translate:0}50%{translate:0 4px}}
@media(max-width:520px){.motion-ready .promo-ocr-arrow.is-current,.motion-ready .promo-rename-arrow.is-current{animation-name:motion-nudge-down}}
/* 三步驟流程：原料逐列建立、配方克數跳動、營養標示逐列算出，最後按下動作按鈕 */
.motion-ready [data-reveal]{transition:opacity .4s ease,transform .4s ease,background-color .35s}
.motion-ready [data-reveal]:not(.is-in){opacity:0;transform:translateY(5px)}
.motion-ready .promo-row.is-current,.motion-ready .promo-recipe-list>div.is-current,.motion-ready .promo-recipe-summary>div.is-current{background:#F6E6DE}
.motion-ready .promo-label-row.is-current{background:#F4EEE4}
.motion-ready .promo-row .promo-status{transition:opacity .3s .25s}.motion-ready .promo-row.is-current .promo-status{opacity:0}
.motion-ready .promo-screen-action.is-current{animation:motion-press .5s ease-out}
.promo-label-title span{text-align:right;line-height:1.5}
.promo-label-sub>span{padding-left:1.2em}
@keyframes motion-press{0%,100%{transform:scale(1);box-shadow:none}40%{transform:scale(.93);box-shadow:0 0 0 4px #C9654640}}
/* 營養標示計算方式（SEO 內容區） */
#calculation .pain-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,5vw,64px)}
#calculation .pain-card:nth-last-child(2){border-bottom:1px solid var(--line)}
@media(max-width:520px){
  #calculation .pain-grid{grid-template-columns:1fr}
  #calculation .pain-card:nth-last-child(2){border-bottom:0}
}
