/* EatCam: a photographic food diary in orange, cream and cocoa. */
.home-page{overflow-anchor:none}
.home-page .section h2{font-weight:700;font-size:clamp(36px,4.2vw,64px);letter-spacing:-2px;line-height:1.12;text-wrap:balance}
.home-page .text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;font-size:14px;font-weight:600}
.text-link>span:last-child{transition:transform .3s}
.text-link:hover>span:last-child{transform:translate(3px,-3px)}
.home-hero{position:relative;background:var(--brand-cream);overflow:clip;padding:68px 0 0}
.hero-layout{display:grid;grid-template-columns:.94fr 1.06fr;align-items:center;gap:40px;min-height:600px}
.hero-copy{position:relative;z-index:2;padding-bottom:30px}
.hero-intro{display:flex;align-items:center;gap:10px;color:var(--brand-brown);font-size:13px;margin:0 0 30px}
.camera-symbol{position:relative;width:22px;height:17px;border:1.5px solid currentColor;border-radius:5px;flex-shrink:0}
.camera-symbol::before{content:'';position:absolute;width:6px;height:6px;border:1.5px solid currentColor;border-radius:50%;top:4px;left:6px}
.camera-symbol::after{content:'';position:absolute;width:9px;height:3px;background:currentColor;top:-4px;left:5px;border-radius:2px 2px 0 0}
.hero-copy h1{font-size:clamp(56px,6.8vw,96px);font-weight:750;letter-spacing:-5px;line-height:1.03;margin:0 0 30px;overflow-wrap:normal}
.headline-line{display:block;overflow:clip;padding-bottom:.1em;margin-bottom:-.1em}
.headline-line>*{display:block}
.hero-copy h1 em{font-family:Georgia,'Songti SC',serif;font-weight:400;font-style:italic;color:var(--link);letter-spacing:-4px;line-height:1.08}
.hero-copy .lede{font-size:17px;line-height:1.75;max-width:430px;margin:0 0 30px}
.hero-copy .cta-row{gap:12px 24px;align-items:center}
.hero-copy .button{font-size:15px;padding:15px 25px;min-height:54px}
.hero-copy .fine{font-size:12px;margin-top:16px}
.hero-art{position:relative;min-width:0;width:100%;height:600px;isolation:isolate}
.hero-sun{position:absolute;inset:1% -7% 10% 7%;border-radius:50%;background:radial-gradient(circle at 28% 22%,var(--brand-yolk),var(--brand-orange) 52%,var(--brand-orange-deep));z-index:-2;box-shadow:inset -15px -18px 50px #b7481515}
.hero-orbit{position:absolute;inset:-5% -1% 8% 0;border:1px solid #b15f2540;border-radius:50%;transform:rotate(-22deg);z-index:-1}
.hero-orbit::before{content:'';position:absolute;top:18%;left:7%;width:10px;height:10px;border-radius:50%;background:var(--brand-orange-deep)}
.hero-photo-wrap{position:absolute;top:26px;left:0;width:88%;transform:rotate(-7deg);padding:9px;border-radius:23px;background:var(--brand-cream);box-shadow:0 24px 65px #65311325}
.meal-photo{position:relative;aspect-ratio:1.18;overflow:hidden;border-radius:16px;background:#be8a56;transform-origin:center;backface-visibility:hidden}
.meal-photo img{width:100%;height:100%;object-fit:cover}

.scan-light{position:absolute;inset:0 0 auto;height:28%;transform:translateY(-110%);background:linear-gradient(transparent,#fff0cb59);border-bottom:1px solid #fff0cb;opacity:0;pointer-events:none}
.camera-corners{position:absolute;inset:16px;border:1px solid #fff6eaaa;clip-path:polygon(0 0,15% 0,15% 1%,1% 1%,1% 15%,0 15%,0 0,100% 0,100% 15%,99% 15%,99% 1%,85% 1%,85% 0,100% 0,100% 100%,85% 100%,85% 99%,99% 99%,99% 85%,100% 85%,100% 100%,0 100%,0 85%,1% 85%,1% 99%,15% 99%,15% 100%,0 100%)}
.photo-marker{position:absolute;top:50%;left:28%;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;background:var(--brand-cream);padding:8px 12px;border-radius:20px;box-shadow:0 3px 20px #0002}
.photo-marker i{width:8px;height:8px;border-radius:50%;background:var(--brand-orange)}
.portion-demo{position:absolute;right:0;bottom:38px;width:min(330px,72%);padding:22px;background:var(--brand-cream);border:1px solid #f2ddc9;border-radius:23px;box-shadow:0 22px 55px #66301726}
.demo-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.demo-label{font-size:14px;font-weight:700}
.demo-example{font-size:9px;color:var(--muted)}
.demo-reading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 0 20px}
.demo-calories{display:flex;align-items:baseline;gap:8px;line-height:1.1}
.demo-calories strong{font-size:62px;letter-spacing:-3px;font-weight:650;font-variant-numeric:tabular-nums}
.demo-calories>span{font-size:12px;color:var(--muted)}
.demo-caption{display:block;font-size:10px;color:var(--muted);margin-top:6px}
.portion-ring{width:68px;flex-shrink:0;fill:none;stroke-width:5}
.portion-ring circle{transform:rotate(-90deg);transform-origin:50% 50%}
.ring-track{stroke:#f4e5d5}
.ring-value{stroke:var(--brand-orange);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:0}
.portion-ring path{stroke:var(--brand-brown);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.portion-picker{position:relative;display:none;grid-template-columns:1fr 1fr;padding:4px;background:var(--brand-butter);border-radius:999px;isolation:isolate}
.portion-picker button{background:none;border:0;border-radius:999px;color:var(--brand-brown);font-size:12px;min-height:40px;position:relative}
.portion-picker button[aria-pressed=true]{color:var(--brand-cocoa);font-weight:700}
.portion-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--brand-orange);transform:translateX(100%);z-index:-1}
.demo-note{font-size:9px;color:var(--muted);margin:12px 0 0;text-align:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:22px 0;color:var(--muted);font-size:11px;margin-top:10px}
.hero-bottom a{display:flex;align-items:center;gap:15px;min-height:44px}
.scroll-cue{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--control-border);border-radius:50%;color:var(--link);font-size:18px}
/* Library entry: a real search and an editorial index, not an ornamental gallery. */
.food-section{background:var(--brand-cream);overflow:clip}
.food-section .section-head{margin-bottom:50px;align-items:flex-end}
.food-section h2{max-width:740px}
.food-editorial{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:stretch}
.food-feature{position:relative;display:block;min-height:510px;border-radius:22px;overflow:hidden;background:var(--brand-apricot)}
.food-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.food-feature::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#24150bd9);pointer-events:none}
.food-feature-caption{position:absolute;inset:auto 28px 28px;color:#fffaf1;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;z-index:1}
.food-feature-caption small{display:block;font-size:12px;margin-bottom:10px}
.food-feature-caption strong{display:block;font-size:clamp(25px,3vw,42px);font-weight:550;line-height:1.2;letter-spacing:-1px}
.feature-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid #fff8;border-radius:50%;flex-shrink:0;transition:background .3s,transform .3s}
.food-feature:hover .feature-arrow{background:#fff2;transform:rotate(45deg)}
.food-index{min-width:0;display:flex;flex-direction:column}
.home-search label{display:block;font-size:20px;font-weight:650;margin:0 0 14px}
.home-search>div{display:flex;border-bottom:1px solid var(--control-border);gap:12px;padding-bottom:10px}
.home-search input[type=search]{min-width:0;width:100%;padding:10px 0;border:0;background:transparent;border-radius:0;color:var(--ink);font-size:16px;min-height:48px;-webkit-appearance:none;appearance:none}
.home-search input::placeholder{color:var(--muted);opacity:1}
.home-search button{width:48px;height:48px;flex-shrink:0;border:0;border-radius:50%;background:var(--brand-orange);font-size:23px;color:var(--brand-cocoa)}
.food-index-list{margin-top:20px}
.food-index-row{display:grid;grid-template-columns:76px 1fr auto 20px;gap:17px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}
.food-index-row img{width:76px;height:76px;object-fit:cover;border-radius:12px;transition:transform .3s}
.food-index-row strong{display:block;font-size:19px;font-weight:650}
.food-index-row small{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.index-energy{text-align:right;font-size:10px;white-space:nowrap}
.index-energy b{font-size:21px;font-weight:550}
.index-arrow{color:var(--link);transition:transform .3s}
.food-index-row:hover .index-arrow{transform:translate(3px,-3px)}
.food-index-row:hover img{transform:rotate(-3deg)}
.library-all{margin-top:18px;color:var(--link)}
.cuisine-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 26px;margin-top:50px}
.cuisine-index a{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);min-height:60px;padding:10px 0;font-size:14px;transition:color .2s}
.cuisine-index small{color:var(--muted);font-size:11px}
.cuisine-index a>span:last-child{margin-left:auto;color:var(--link);transition:transform .3s}
.cuisine-index a:hover{color:var(--link)}
.cuisine-index a:hover>span:last-child{transform:translate(3px,-3px)}
.library-caption{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:28px}
.library-caption p{max-width:740px;font-size:12px;line-height:1.7;color:var(--muted);margin:0}
.library-caption a{font-size:12px;flex-shrink:0;min-height:44px;align-content:center}
/* Quieter decision-making sections, then one decisive orange close. */
.home-page #pricing{background:var(--brand-butter)}
.home-page .plans{gap:0;background:var(--brand-cream);border:1px solid #ddc7ac;border-radius:24px;overflow:hidden}
.home-page .plan{border:0;border-radius:0;background:transparent;padding:42px}
.home-page .plan.pro{border-left:1px solid #ddc7ac;background:transparent}
.home-page .price{font-family:inherit;font-weight:550;font-size:56px;letter-spacing:-2px;color:var(--ink)}
.home-page #faq{background:var(--paper)}
.home-page .faq details{padding:22px 0}
.home-page .faq summary::after{font-size:24px;font-weight:300}
.home-page .download-section{position:relative;isolation:isolate;overflow:clip;background:var(--brand-orange);--muted:#4b2c1c;--line:#6f493240;--link:var(--brand-cocoa)}
.download-section::before{content:'';position:absolute;width:700px;height:700px;right:-170px;top:-330px;border:1px solid #65311325;border-radius:50%;z-index:-1}
.download-section::after{content:'';position:absolute;width:580px;height:580px;right:-110px;top:-270px;border:1px solid #65311325;border-radius:50%;z-index:-1}
.download-section .download-panel{background:transparent;border:0;border-radius:0;padding:0;gap:70px}
.download-section h2{max-width:760px;font-size:clamp(42px,6vw,84px)!important;letter-spacing:-3px;margin-bottom:28px}
.download-section .lede{margin:0 0 28px}
.download-section .button:not(.secondary){background:var(--brand-cocoa);border-color:var(--brand-cocoa);color:var(--brand-cream)}
.download-section .button:not(.secondary):hover{background:#493023;border-color:#493023}
.download-section .button.secondary{border-color:var(--brand-brown);color:var(--brand-cocoa)}
.download-section .button.secondary:hover{background:#fffbf42b}
.download-address{display:block;font-size:12px;margin-top:18px;color:#4b2c1c}
.download-section .qr-box{background:var(--brand-cream);padding:20px;border-radius:18px;flex-basis:240px;transform:none}
.download-section .qr-box p{font-size:11px}
.home-page .footer{background:var(--brand-cocoa);color:#dcc7b7;border-color:#ffe1bd26}
.home-page .footer a:hover{color:var(--brand-cream)}
.nav :focus-visible,.home-page .footer :focus-visible{outline-color:var(--brand-orange-light)}
.download-section :focus-visible{outline-color:var(--brand-cocoa)}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid #ffe1bd40;border-radius:50%;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:12px;color:var(--brand-cream)}
.menu-toggle span{display:block;width:18px;height:1px;background:currentColor;transition:transform .2s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}
.mobile-menu{position:absolute;top:100%;left:0;right:0;width:100%;margin:0;padding:16px max(18px,calc((100vw - 1240px)/2)) 28px;display:grid;gap:4px;background:var(--brand-cocoa);border-top:1px solid #ffe1bd26;box-shadow:0 20px 35px #0003}
.mobile-menu a{padding:12px 6px;min-height:48px;font-size:18px}
.mobile-menu a:hover{color:var(--brand-orange-light)}
html[lang^=zh] .hero-copy h1{font-size:clamp(43px,5.1vw,72px);letter-spacing:-2px;line-height:1.2}
html[lang^=zh] .hero-copy h1 em{font-family:inherit;font-style:normal;font-weight:600;letter-spacing:-2px}
html[lang^=zh] .home-page .section h2{font-weight:600;line-height:1.25}
@media(min-width:1500px){.hero-art{height:650px}.hero-layout{min-height:650px}.hero-copy h1{font-size:98px}.hero-photo-wrap{top:50px}.portion-demo{bottom:48px}}
@media(max-width:1100px){
.hero-layout{gap:28px;grid-template-columns:1fr 1fr;min-height:530px}
.hero-copy h1{font-size:clamp(48px,6.4vw,70px);letter-spacing:-3px}
.hero-copy h1 em{letter-spacing:-2px}
.hero-art{height:530px}
.hero-photo-wrap{top:34px;width:94%;transform:rotate(-5deg)}
.hero-sun{inset:10% -7% 16% 0}
.hero-orbit{inset:7% -1% 13% -6%}
.portion-demo{width:280px;max-width:83%;padding:18px;bottom:24px}
.demo-calories strong{font-size:52px}
.demo-example{font-size:8px}
.demo-label{font-size:12px}
.hero-copy .lede{font-size:15px}
.hero-intro{font-size:11px}
.hero-copy .cta-row{gap:8px 18px}
.food-editorial{gap:32px;grid-template-columns:.9fr 1.1fr}
.food-index-row{gap:12px;grid-template-columns:60px 1fr auto 16px}
.food-index-row img{width:60px;height:60px}
.food-index-row strong{font-size:17px}
.food-feature{min-height:475px}
.food-feature-caption{inset:auto 22px 24px}
}
@media(max-width:760px){
.home-page.has-home-ui .mobile-library{display:none}.has-home-ui .menu-toggle{display:flex}
.home-hero{padding-top:38px}
.hero-layout{display:flex;flex-direction:column;gap:12px;min-height:0}
.hero-copy{width:100%;padding-bottom:0}
.hero-intro{margin-bottom:22px;font-size:11px}
.hero-copy h1{font-size:clamp(48px,10.7vw,76px);letter-spacing:-3px;margin-bottom:24px}
.hero-copy h1 em{letter-spacing:-2.5px}
.hero-copy .lede{font-size:15px;max-width:480px;margin-bottom:24px}
.hero-copy .button{font-size:13px;padding:13px 19px;min-height:50px}
.hero-copy .text-link{font-size:12px;gap:8px}
.hero-copy .cta-row{gap:8px 18px}
.hero-copy .fine{font-size:10px;margin-top:12px}
.hero-art{width:min(490px,100%);height:500px;margin-top:20px}
.hero-photo-wrap{width:87%;top:20px;left:1%;padding:7px;border-radius:18px}
.meal-photo{border-radius:12px;aspect-ratio:1.12}

.hero-sun{inset:5% -6% 15% 4%}
.hero-orbit{inset:0 -1% 12% -2%}
.portion-demo{width:270px;max-width:82%;bottom:22px;padding:18px;border-radius:18px}
.demo-reading{padding:14px 0}
.demo-calories strong{font-size:48px;letter-spacing:-2px}
.portion-ring{width:54px}
.demo-caption{font-size:9px}
.demo-note{font-size:8px}
.photo-marker{font-size:10px;top:45%;left:20%;padding:7px 9px}
.hero-bottom{margin-top:0;padding:14px 0;font-size:10px}
.hero-bottom>span{max-width:45%}
.hero-bottom a{gap:8px}
.scroll-cue{width:30px;height:30px;font-size:15px}
.home-page .section h2{font-size:38px;letter-spacing:-1px}
.food-section .section-head{margin-bottom:30px}
.food-section .section-head p{font-size:14px}
.food-editorial{grid-template-columns:1fr;gap:30px}
.food-feature{min-height:0;aspect-ratio:1.12}
.food-feature-caption strong{font-size:26px}
.home-search label{font-size:19px}
.food-index-row{grid-template-columns:64px 1fr auto 16px;padding:16px 0}
.food-index-row img{width:64px;height:64px}
.food-index-row strong{font-size:17px}
.cuisine-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin-top:30px}
.cuisine-index a{font-size:13px;min-height:54px}
.library-caption{display:block;margin-top:24px}
.library-caption p{font-size:11px;margin-bottom:12px}
.home-page .plans{gap:0}.home-page .plan{padding:28px}
.home-page .plan.pro{border-left:0;border-top:1px solid #ddc7ac}
.home-page .price{font-size:46px}
.download-section .download-panel{padding:0;gap:30px}
.download-section h2{font-size:44px!important;letter-spacing:-1px}
html[lang^=zh] .hero-copy h1{font-size:clamp(38px,10vw,62px);line-height:1.22;letter-spacing:-1px}
html[lang^=zh] .hero-copy h1 em{letter-spacing:-1px}
}
@media(max-width:380px){
.hero-art{height:435px;margin-top:16px}.hero-photo-wrap{top:12px;width:91%}.hero-sun{inset:9% -4% 16% 0}.hero-orbit{inset:5% 0 13% -6%}
.portion-demo{padding:15px;max-width:84%;bottom:15px}.demo-reading{padding:12px 0}.demo-label{font-size:11px}.demo-calories strong{font-size:44px}.portion-ring{width:49px}
.hero-copy .cta-row{gap:8px 12px}.hero-copy .button{padding:12px 16px}.hero-copy .text-link{font-size:11px}
.hero-bottom{font-size:9px}.hero-bottom a{gap:5px}
.food-index-row{gap:10px;grid-template-columns:54px 1fr auto 12px}.food-index-row img{width:54px;height:54px}.food-index-row strong{font-size:15px}.index-energy b{font-size:19px}
.cuisine-index{gap:0 16px}.cuisine-index a{font-size:12px;gap:7px}
}
@media(prefers-reduced-motion:reduce){.home-page *, .home-page *::before,.home-page *::after{animation:none!important;transition:none!important}.scan-light{display:none}.hero-photo-wrap,.hero-orbit,.food-feature>img{will-change:auto}}

.has-home-ui .portion-picker{display:grid}
/* The enhanced library handles search; static readers retain all cuisine links. */
.home-search{display:none}
.has-home-ui .home-search{display:block}
