:root{font-family:"Noto Sans TC",sans-serif;color:#143c5c;background:#fbf9f2;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure{margin:0}
a:focus-visible{outline:3px solid #da581f;outline-offset:5px}
.container{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.site-nav{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo{font-size:32px;line-height:1;font-weight:900;letter-spacing:-.07em;color:#153c5b;white-space:nowrap}
.logo span{display:inline-block;margin-left:14px;padding-left:14px;border-left:1px solid #cbd4d4;font-size:16px;letter-spacing:.08em;font-weight:700;vertical-align:middle}
.site-nav nav{display:flex;align-items:center;gap:32px;font-size:16px;font-weight:600;color:#526778}
.site-nav nav a:hover{color:#d65b27}
.login-link{font-size:16px;font-weight:700;border:1px solid #c7d4db;border-radius:8px;padding:11px 17px;display:flex;gap:25px;align-items:center}
.login-link:hover{background:#e9f2f7}
.welcome{position:relative;overflow:hidden;border-radius:30px;background:#d9effc;text-align:center;padding-top:44px}
.welcome-heading{position:relative;z-index:1}
.overline{display:inline-flex;align-items:center;gap:9px;background:#c3e3f6;border-radius:99px;padding:8px 14px;color:#295574;font-size:16px;font-weight:600;letter-spacing:.025em}
.overline>span{width:6px;height:6px;border-radius:50%;background:#377fab}
h1{font-size:clamp(38px,4.7vw,62px);font-weight:900;letter-spacing:-.045em;line-height:1.18;margin-top:22px}
h1 em{font-style:normal;color:#2586c2}
.welcome-text{font-size:16px;color:#4d6b7e;line-height:1.8;margin-top:17px;font-weight:400}
.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:35px;min-height:46px;padding:12px 24px;background:#174765;color:white;border-radius:8px;font-size:16px;font-weight:700;margin-top:23px;transition:background .15s}
.primary-action:hover{background:#286187}
.visual-stage{position:relative;width:min(760px,90%);height:310px;margin:22px auto 0;overflow:hidden;border-radius:28px 28px 0 0}
.visual-stage img{width:100%;height:100%;object-fit:cover;object-position:78% 62%}
.welcome-caption{display:flex;justify-content:center;align-items:center;gap:18px;min-height:46px;font-size:16px;font-weight:500;color:#4f7290;background:#cce6f7}
.welcome-caption i{width:3px;height:3px;background:#6f95ae;border-radius:50%}
.choose{padding:65px 0}
.section-intro{text-align:center}
.eyebrow{font-size:16px;font-weight:700;letter-spacing:.14em;color:#7190a1;margin-bottom:13px}
h2{font-size:clamp(25px,3vw,36px);font-weight:800;letter-spacing:-.025em;line-height:1.3}
.subtle-link{display:inline-block;font-size:16px;font-weight:600;margin-top:18px;color:#466a82;text-decoration:underline;text-underline-offset:5px}
.mobile-break{display:none}
.choice-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:26px;margin-top:33px;align-items:stretch}
.choice-panel{display:flex;flex-direction:column;border-radius:19px;padding:29px 30px 23px;background:#143f5d;color:white;overflow:hidden;min-width:0}
.panel-index{font-size:16px;color:#93bdd7;font-weight:600;letter-spacing:.06em}
h3{font-size:27px;line-height:1.25;letter-spacing:-.03em;font-weight:800;margin-top:15px}
.panel-copy p{font-size:16px;font-weight:400;line-height:1.75;color:#bad0de;margin-top:13px}
.meal-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:25px -15px 32px;align-items:center}
.meal-trio img{width:100%;height:auto;aspect-ratio:1;max-height:240px;object-fit:contain;background:transparent;border-radius:0;transform:scale(1.12)}
.meal-panel{padding-bottom:25px}
.texture-panel{margin-top:0}
.panel-link{border-top:1px solid #3b627d;padding-top:18px;display:flex;justify-content:space-between;font-size:16px;font-weight:600;margin-top:auto}
.texture-panel{background:#e7edf0;color:#183f5c}
.texture-panel .panel-index{color:#718b9c}
.texture-panel p{color:#677f8e}
.texture-list{display:flex;gap:9px;flex-wrap:wrap;margin:23px 0}
.texture-list span{display:flex;align-items:center;justify-content:center;min-height:45px;padding:8px 18px;background:#f9fbfc;border:1px solid #d0dce3;border-radius:7px;font-size:16px;font-weight:700}
.texture-panel .panel-link{border-color:#c6d5de}
.journal{display:grid;grid-template-columns:1fr 1.35fr;gap:65px;align-items:center;border-top:1px solid #d9dfdf;padding:35px 0 56px}
.journal h2{font-size:29px}
.journal-links>a{display:grid;grid-template-columns:90px 1fr 20px;gap:18px;align-items:center;padding:23px 0;border-bottom:1px solid #d9dfdf}
.journal-links>a:last-child{border-bottom:0}
.journal-links span{font-size:16px;color:#7b909a}
.journal-links strong{font-size:16px;font-weight:600}
.journal-links b{font-weight:500}
footer{background:#153b55;color:#c5d6df}
.footer-inner{display:flex;align-items:center;gap:30px;flex-wrap:wrap;padding:35px 0}
footer .logo{color:white}
footer .logo span{color:#bcd0dc;border-color:#527084}
.footer-inner>div{display:flex;gap:20px;margin-left:auto;font-size:16px}
.footer-inner>a:not(.logo),.footer-inner small{font-size:16px}
@media(min-width:1500px){.visual-stage{height:335px}.welcome{padding-top:50px}}
@media(max-width:760px){
.container{width:calc(100% - 32px)}
.site-nav{min-height:78px;gap:16px;flex-wrap:wrap;padding-top:20px;padding-bottom:15px}
.logo{font-size:28px}.logo span{font-size:16px;margin-left:10px;padding-left:10px}
.site-nav nav{order:3;width:100%;justify-content:center;gap:30px;font-size:16px;padding-top:3px}
.login-link{font-size:16px;padding:9px 13px;gap:13px}
.welcome{border-radius:21px;padding-top:28px}
.overline{font-size:16px;padding:7px 11px}
h1{font-size:clamp(35px,8.5vw,48px);margin-top:19px}
.welcome-text{font-size:16px;margin-top:15px}
.primary-action{margin-top:20px}
.visual-stage{width:100%;height:255px;margin-top:22px;border-radius:0}
.visual-stage img{object-position:80% center}
.welcome-caption{font-size:16px;gap:10px;min-height:42px}
.choose{padding:45px 0}
h2{font-size:28px}.mobile-break{display:block}
.choice-grid{grid-template-columns:1fr;gap:16px;margin-top:26px}
.texture-panel{margin-top:0}
.choice-panel{padding:25px 24px 20px}
h3{font-size:25px}.meal-trio img{max-height:200px}
.journal{grid-template-columns:1fr;gap:16px;padding:30px 0 35px}.journal h2{font-size:26px}
.journal-links>a{grid-template-columns:75px 1fr 16px;gap:9px}
.journal-links strong{font-size:16px}
.footer-inner{gap:22px;padding:28px 0}.footer-inner>div{width:100%;margin:0;font-size:16px;gap:15px}
}
@media(prefers-reduced-motion:reduce){.primary-action{transition:none}}
