/* October 2026 review: readable copy, faithful app screens, trainer-led story. */
:root{--ink:#172d25;--muted:#45594c;--green:#244c39;--green-mid:#41664c;--line:#cddbcf}
body{color:var(--ink)}
.hero{grid-template-columns:minmax(0,1.16fr) minmax(326px,.84fr);gap:48px}
.hero h1{font-size:clamp(36px,3.65vw,53px);line-height:1.55;white-space:normal;letter-spacing:-.025em}
.hero h1 em{color:#285940;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero h1 em:after{display:none}
.hero-description{font-size:16px;color:#344c3d;line-height:2.1}
.hero-note,.hero-kicker,.demo-meta p{color:#4b6052}
.demo-caption{font-size:14px;color:#41664c;white-space:normal;text-align:center}
.hero-demo:before{max-width:100%}
.intro-line p span{font-size:13px;color:#445c4a}
.chapter-nav{gap:0;width:100%;max-width:420px;margin-inline:auto}
.chapter-nav a{width:16.666%;color:#4d6354;font-size:10px;padding-block:12px 3px}
.chapter-index{color:#3d7052}
.chapter h2{white-space:normal;font-size:clamp(27px,2.55vw,36px);line-height:1.6;letter-spacing:-.025em}
.chapter-subtitle{font-size:17px;color:#355a41}
.chapter-description{font-size:15px;line-height:2;color:#354c3d;max-width:42em}
.feature-copy{padding-top:18px}
.feature-copy h3{font-size:19px;line-height:1.5;color:#203b2c}
.feature-copy>.feature-headline{font-size:14px!important;line-height:1.8;font-weight:700;color:#294b35!important;margin-top:10px!important}
.feature-copy>p,.tools-section .feature-copy>p{font-size:13px;line-height:1.95;color:#415646}
.feature-copy>.feature-note{font-size:11px;line-height:1.8;color:#536248}
.feature-number{color:#526d56}
[data-feature-id="17"] .v2-player{min-height:64px;padding:8px 10px}
[data-feature-id="17"] .v2-player b{font-size:12px}
[data-feature-id="17"] .v2-note{padding:6px;margin-top:5px}
[data-feature-id="17"] .mini-app{height:192px;min-height:192px;flex-basis:192px}
[data-feature-id="17"] .feature-example{height:298px}
.shelf-label,.note,.section-heading>p,.start-description,.start-steps p,.voice-footer .note,.footer-note{color:#425847}
.tools-section .feature{flex-basis:calc((100% - 40px)/3);min-width:240px}
.voice-footer .note{font-size:12px;line-height:1.9}
.start-grid .button{max-width:100%;min-width:0;line-height:1.7;text-align:center;gap:16px;font-size:15px}
.consultation-link[aria-disabled=true]{opacity:1;background:#526b57;color:white;cursor:default}
.cta-review-note{color:#4b614e;font-size:12px}
.start-steps p{font-size:13px;line-height:1.9}
.trainer-section{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(0,1.15fr);gap:72px;padding-block:105px;align-items:start}
.trainer-portrait{position:sticky;top:125px}
.portrait-crop{aspect-ratio:350/262;position:relative;overflow:hidden;border-radius:20px;background:#e9eeea}
.portrait-crop img{position:absolute;width:263.142857%;max-width:none;height:auto;left:-4.571429%;top:-5.725191%;display:block}
.trainer-portrait>p{font-size:13px;color:#475d50;margin-top:14px;letter-spacing:.08em}
.trainer-bio h2{font-size:clamp(24px,2.1vw,31px);line-height:1.9;margin-top:14px;letter-spacing:-.025em}
.underlined{text-decoration:underline;text-decoration-color:#b5c9a8;text-decoration-thickness:5px;text-underline-offset:8px}
.trainer-name{font-size:23px;font-weight:700;margin-top:28px!important;color:#21442f}
.trainer-name span{font-size:15px;font-weight:500;margin-left:12px}
.trainer-bio>p{font-size:14px;line-height:2;margin-top:18px;color:#344e3e}
.trainer-bio .career-heading{font-size:12px;font-weight:700;margin-top:28px}
.career-list{list-style:none;padding:0;margin:9px 0 0;font-size:13px;line-height:2.2;color:#344e3e}
.career-list li:before{content:'―';color:#7f9a80;margin-right:10px}
.book-career a{color:#285c3f;text-decoration:underline;text-underline-offset:4px}
.about-juku{border-top:1px solid var(--line);padding-block:65px 90px;display:grid;grid-template-columns:74px 1fr;gap:30px}
.about-juku .brand-mark{width:64px;height:64px;margin-top:7px;font-size:30px}
.about-juku h2{font-size:28px;line-height:1.8;margin-top:12px}
.about-juku p:last-child{font-size:14px;line-height:2;max-width:760px;margin-top:22px;color:#3f5646}
.site-footer .footer-note{font-size:12px;line-height:2;max-width:900px}
/* Generous actual inputs. 16px also prevents mobile Safari focus zoom. */
#lens-demo input,#lens-demo .quantity-controls input,#lens-demo .quantity-controls select,#lens-demo .review-pfc input{font-size:16px;min-height:40px}
#lens-demo .quantity-controls button{width:34px;min-height:40px;font-size:20px}
#lens-demo .quantity-controls input{width:64px}
#lens-demo .quantity-controls select{width:61px;padding:0 3px}
#lens-demo .quantity{flex-wrap:wrap;row-gap:7px}
#lens-demo .quantity>label{font-size:12px;font-weight:700}
#lens-demo .review-pfc{padding:8px 6px;gap:4px}
#lens-demo .review-pfc input{width:42px}
#lens-demo .review-pfc label{font-size:11px}
#lens-demo .meal-composition,#lens-demo .estimate-note,#lens-demo .portion-note{font-size:10px;line-height:1.7;color:#425846}
#lens-demo .review-item>span{font-size:11px}
#lens-demo .review-content{padding-bottom:24px}
#lens-demo .record-button{min-height:44px;font-size:12px}
#lens-demo .input-error{font-size:11px}
/* Clearer contrast throughout the trainer demonstration. */
.coach-description{color:#334a38}
.coach-kicker,.coach-invitation,.coach-demo-note,.coach-flow,.coach-field-hint,.coach-private-note,.coach-home-date,.coach-text-button,.coach-back,.coach-feedback-heading>span,.coach-trainer time,.coach-original-note,.coach-bottom-nav,.coach-screen-description,.coach-eyebrow{color:#4c6147}
.coach-feedback-card,.coach-original-note p{color:#31472d}
.coach-memo-card textarea{font-size:16px;color:#2e4329;line-height:1.7;min-height:155px}
.coach-primary,.coach-save{min-height:44px;font-size:12px}
.coach-notification small,.coach-notification>span:nth-child(2)>span,.coach-meal small,.coach-meal i,.coach-nutrition,.coach-note-sent p{color:#4f6547}
.coach-notification b{color:#294a23}
.coach-screen-title{color:#253d20}
.coach-note-sent b,.coach-trainer b,.coach-nutrition b,.coach-meal b{color:#304c29}
.coach-card-top>span{color:#4b6735}
.coach-bottom-nav>span{width:20%;font-size:7px}
.coach-feedback-card{font-size:12px;line-height:1.85}
@media(min-width:1600px){.hero h1{font-size:53px}}
@media(max-width:1100px){.hero{gap:26px;grid-template-columns:minmax(0,1fr) 326px}.hero h1{font-size:37px}.hero-description{font-size:14px}.trainer-section{gap:40px}.feature-copy h3{font-size:18px}.chapter-description{font-size:14px}.tools-section .feature{flex-basis:280px}}
@media(max-width:900px) and (min-width:761px){.hero h1{font-size:32px}.hero .wide-break{display:none}.hero-description{font-size:13px}.journey{column-gap:30px}.chapter h2{font-size:25px}.chapter-subtitle{font-size:15px}}
@media(max-width:760px){
 .hero{display:block;padding-block:44px 54px}.hero h1{font-size:clamp(29px,7.7vw,48px);line-height:1.65;letter-spacing:-.02em}.hero-description{font-size:14px;line-height:2}.hero .wide-break{display:none}.hero-note{font-size:11px}.hero-demo{margin-top:33px}.demo-caption{font-size:12px;max-width:100%}
 .chapter h2{font-size:clamp(24px,6.8vw,32px);line-height:1.6}.chapter-description{font-size:14px}.chapter-subtitle{font-size:15px}.chapter-nav a{width:16.666%;font-size:9px}.feature-copy h3{font-size:19px}.feature-copy>p,.tools-section .feature-copy>p{font-size:13px}.tools-section .feature{min-width:0;flex-basis:85%;max-width:330px}.feature-copy>.feature-headline{font-size:14px!important}
 .trainer-section{display:flex;flex-direction:column;gap:32px;padding-block:65px}.trainer-portrait{position:static;width:min(100%,440px)}.trainer-bio h2{font-size:24px}.trainer-bio>p{font-size:14px}.career-list{font-size:12px}.about-juku{padding-block:45px 60px;grid-template-columns:1fr;gap:15px}.about-juku h2{font-size:25px}.about-juku .brand-mark{height:50px;width:50px;font-size:24px}.site-footer .footer-note{font-size:11px}.start-grid .button{font-size:13px;padding-inline:20px}.voice-footer .note{font-size:11px}
 .coach-demo-note{font-size:11px}.coach-memo-card{margin-top:12px}.coach-phone{max-width:100%}
}
@media(max-width:359px){.hero h1{font-size:27px}.hero-description{font-size:13px}.demo-caption{font-size:11px}#lens-demo .quantity-controls{gap:4px}#lens-demo .quantity-controls input{width:58px}#lens-demo .quantity-controls select{width:56px}#lens-demo .review-pfc label{gap:0;font-size:10px}#lens-demo .review-pfc input{width:39px}.trainer-bio h2{font-size:21px}}
