/* Approved homepage design, 2026-09-09; loaded only on homepages. */

.concept-bar{background:#213d32;color:#fff;padding:10px 20px;display:flex;align-items:center;justify-content:center;gap:20px;font-size:14px;flex-wrap:wrap}
.concept-bar a{text-decoration:underline;text-underline-offset:4px;color:#fff}.concept-bar strong{font-weight:600}
.home-concept .section{padding:64px 0}.home-concept .hero{padding:56px 0}.home-concept .hero h1{font-size:clamp(2.15rem,3.4vw,3.25rem)}
.home-concept .hero .lede{font-size:1.05rem}.home-concept .hero-photo-frame{max-width:390px;margin-left:auto}
.home-concept .section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}
.home-concept .section-heading h2{font-size:clamp(1.7rem,3vw,2.5rem);max-width:760px}.home-concept .section-heading p{max-width:720px;margin:12px 0 0}
.home-concept .text-link{color:var(--color-primary);font-weight:600;white-space:nowrap;font-size:16px;display:inline-flex;gap:8px;align-items:center;min-height:44px}
.home-concept .overline{display:block;font-size:14px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--color-primary);margin-bottom:12px}
.start-nav{padding:24px 0 0!important}.start-nav .grid{gap:12px;margin-top:16px!important}.start-nav .card{padding:18px;background:transparent;box-shadow:none;border-width:0 0 1px;border-radius:0}
.start-nav .card h3{font-family:var(--font-sans);font-size:17px;line-height:1.35}.start-nav .card p{font-size:15px;margin:0}.start-nav h2{font-size:1.7rem}
.start-nav .process-fold{margin-top:20px;border-top:1px solid var(--color-border);padding:16px 0}.process-fold summary{font-size:16px;color:var(--color-primary);font-weight:600;cursor:pointer}.process-fold .iol-process-strip{margin:20px 0}
.lens-comparison{background:#f3efe6}.lens-comparison .intro{color:var(--color-text-muted);font-size:18px;max-width:780px}
.distance-board{border:1px solid #dfd8c9;border-radius:22px;background:#fff;overflow:hidden}
.day-illustration{margin:0;background:#faf7f0;position:relative}.day-illustration img{width:100%;aspect-ratio:3/1;object-fit:cover}
.distance-labels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px 24px 20px;background:#faf7f0;border-bottom:1px solid var(--color-border);text-align:center}
.distance-labels strong{display:block;font-size:19px}.distance-labels span{font-size:15px;color:var(--color-text-muted)}
.distance-labels i{margin-right:6px;color:var(--color-primary);font-size:22px}
.comparison-caption{padding:16px 24px;margin:0;font-size:15px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}
.lens-row{display:grid;grid-template-columns:200px minmax(0,1fr) 255px;gap:22px;padding:24px;align-items:center;border-bottom:1px solid #e9e6df}
.lens-row:last-of-type{border-bottom:0}.lens-title h3{font-size:20px;margin:0 0 8px;line-height:1.3}.lens-title a{display:inline-flex;gap:8px;align-items:center;color:var(--color-primary);font-size:14px;font-weight:600;min-height:32px}
.task-cells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}
.task-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px 6px;border-radius:10px;background:#f4f3ee;color:#585e59;min-height:92px;font-size:14px;line-height:1.35}
.task-cell i{font-size:25px;margin-bottom:5px}.task-cell.focus{background:#e1eee6;color:#21573d}.task-cell.extra{background:#edf2ec;color:#356147}
.task-cell b{display:block;font-size:13px;font-weight:500;margin-bottom:5px}.task-cell span{font-weight:600}.lens-note{font-size:15px;line-height:1.5;margin:0;color:#545951}
.lens-note strong{color:var(--color-text);font-weight:600}.comparison-note{padding:18px 24px;background:#f8f7f3;font-size:14px;line-height:1.6;color:#5b605a;margin:0}.comparison-note a{text-decoration:underline;text-underline-offset:3px}
.vision-quality{background:#fff}.vision-quality .section-heading{align-items:start}.quality-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;margin-top:36px}
.quality-item{border-top:1px solid #deded4;padding-top:20px}.quality-item .quality-icon{display:flex;width:54px;height:54px;align-items:center;justify-content:center;border-radius:50%;background:#eaf1eb;color:#2f6b4f;font-size:29px;margin-bottom:20px}
.quality-item:nth-child(2) .quality-icon{background:#f5e8de;color:#925533}.quality-item:nth-child(3) .quality-icon{background:#e9edf4;color:#465e7b}.quality-item:nth-child(4) .quality-icon{background:#f5eed9;color:#876827}
.quality-item h3{font-family:var(--font-sans);font-size:17px;line-height:1.35;min-height:46px}.quality-item p{font-size:15px;line-height:1.6;margin-bottom:16px;color:#63636b}.quality-item .quality-more{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--color-primary);font-weight:600;min-height:34px}
.questionnaire-strip{padding:30px 0!important}.questionnaire-strip .container{max-width:var(--max-width)!important;display:flex;gap:32px;align-items:center;text-align:left}.questionnaire-strip h2{font-size:1.6rem}.questionnaire-strip p.lede{font-size:16px;max-width:730px;margin-bottom:0}.questionnaire-strip .btn{white-space:nowrap}.questionnaire-strip .tool-note{font-size:14px;color:var(--color-text-muted);margin:8px 0 0}
.guide-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:28px}.featured-guide{background:#e9f0e9;border-radius:18px;display:flex;flex-direction:column;overflow:hidden}.featured-guide .guide-text{padding:25px 28px}.featured-guide h3{font-size:1.7rem}.featured-guide p{font-size:16px;margin:12px 0}.featured-guide img{width:100%;height:220px;object-fit:cover;object-position:center 48%}.featured-guide .overline{margin-bottom:10px}
.guide-list{display:flex;flex-direction:column;justify-content:center}.guide-compact{display:grid;grid-template-columns:58px 1fr 24px;gap:18px;align-items:center;padding:25px 0;border-bottom:1px solid #dcd7ca}.guide-compact:first-child{border-top:1px solid #dcd7ca}.guide-compact>.ri-arrow-right-up-line{color:var(--color-primary);font-size:24px}.guide-mini-icon{width:58px;height:58px;border-radius:12px;background:#efe9dd;display:flex;align-items:center;justify-content:center;font-size:28px;color:#46634e}.guide-compact h3{font-size:20px;line-height:1.3;margin:0 0 8px}.guide-compact p{font-size:15px;line-height:1.5;color:#63636b;margin:0}
.home-concept .library-preview{padding-top:20px}.author-context{padding-top:24px!important;padding-bottom:32px!important}.author-context p,.author-context li{font-size:16px}.author-context .card{padding:24px;box-shadow:none;background:#f3efe6;border:0}
.consultation-block{padding-top:24px!important;background:var(--color-bg)}.consultation-inner{display:grid;grid-template-columns:1.3fr 1fr;border-radius:22px;overflow:hidden;background:#e5eee6}
.consultation-copy{padding:42px}.consultation-copy h2{font-size:clamp(1.8rem,3vw,2.5rem);max-width:520px}.consultation-copy>p{font-size:17px;margin:20px 0;max-width:520px}.consultation-photo{margin:0;display:flex;flex-direction:column;background:#d8c8aa}.consultation-photo img{width:100%;height:100%;min-height:340px;object-fit:cover;object-position:center 34%}.consultation-photo figcaption{background:#f5f3ec;padding:15px 22px;font-size:14px;color:#445248}.consultation-photo figcaption strong{display:block;font-size:17px}
.consultation-steps{list-style:none;padding:0;margin:22px 0 28px;display:grid;gap:10px}.consultation-steps li{font-size:16px;display:flex;align-items:start;gap:10px;margin:0}.consultation-steps i{color:#2f6b4f;font-size:21px}.consultation-copy .consultation-scope{font-size:14px;color:#57625a;margin-bottom:0}.home-concept a:focus-visible,.home-concept summary:focus-visible{outline:3px solid #b76a33;outline-offset:5px}
@media(min-width:960px){.start-nav .grid{grid-template-columns:repeat(4,1fr)}.home-concept .site-header .container{max-width:1360px}}
@media(max-width:1000px){.lens-row{grid-template-columns:160px minmax(0,1fr);gap:16px}.lens-note{grid-column:2}.quality-grid{gap:16px}.quality-item h3{font-size:16px}.consultation-copy{padding:30px}.home-concept .text-link{white-space:normal}.questionnaire-strip .container{align-items:start;flex-direction:column;gap:20px}}
@media(max-width:700px){.home-concept .section{padding:42px 0}.home-concept .hero{padding:32px 0}.home-concept .hero-photo-frame{max-width:300px;margin:12px auto 0}.home-concept .section-heading{display:block}.home-concept .section-heading .text-link{margin-top:10px}.distance-labels{padding:14px 10px;gap:8px}.distance-labels strong{font-size:16px}.distance-labels span{font-size:14px}.distance-labels i{display:block;margin:0 0 4px}.comparison-caption{padding:14px 18px}.lens-row{display:block;padding:22px 18px}.lens-title{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:14px}.lens-title h3{font-size:19px;margin:0}.lens-title a{white-space:nowrap}.task-cell{padding:10px 5px;min-height:97px;font-size:14px}.task-cell b{font-size:13px}.lens-note{margin-top:14px;font-size:15px}.comparison-note{padding:18px}.quality-grid{grid-template-columns:repeat(2,1fr);gap:25px 18px;margin-top:22px}.quality-item{padding-top:15px}.quality-item h3{min-height:0;font-size:17px}.quality-item .quality-icon{margin-bottom:15px}.quality-item:last-child{grid-column:1/-1;display:grid;grid-template-columns:54px 1fr;gap:0 16px}.quality-item:last-child .quality-icon{grid-row:1/4}.quality-item:last-child p{margin-bottom:3px}.guide-layout{grid-template-columns:1fr;gap:25px}.featured-guide img{height:190px}.featured-guide .guide-text{padding:23px}.guide-compact{gap:15px;padding:22px 0}.guide-compact h3{font-size:19px}.consultation-inner{grid-template-columns:1fr}.consultation-copy{padding:28px 24px}.consultation-photo img{height:330px;min-height:0;object-position:center 32%}.consultation-copy>p{font-size:16px}.concept-bar{gap:8px 20px;font-size:13px}.day-illustration img{aspect-ratio:2.6/1}.start-nav .card{padding:14px 6px}.start-nav .card h3{font-size:16px}.start-nav .card p{font-size:14px}.home-concept .author-context .grid{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


.support-heading{max-width:790px;margin-bottom:28px}.support-heading h2{font-size:clamp(1.85rem,3vw,2.55rem);line-height:1.15}.support-heading>p{font-size:18px;color:#62675f;margin:18px 0 0;max-width:720px}
.support-options{display:grid;grid-template-columns:1fr 1fr;gap:28px}.support-option{border:1px solid #dedbce;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;background:#fff}.support-option.guide-option{background:#edf2eb}
.support-visual{height:260px;background:#f4efe4;overflow:hidden}.support-visual img{display:block;width:100%;height:100%;object-fit:cover}.guide-option .support-visual img{object-fit:contain}.consult-option .support-visual img{object-position:center 14%}
.support-copy{padding:28px;display:flex;flex:1;flex-direction:column;align-items:flex-start}.support-copy h3{font-size:26px;line-height:1.2}.support-copy>p{font-size:17px;line-height:1.55;margin:16px 0 22px}.support-copy .btn{margin-top:auto;max-width:100%;white-space:normal;text-align:center}.support-copy p.support-note{font-size:14px;margin:14px 0 0;color:#596258}.support-copy .overline{font-size:13px}
.comparison-concept .compare-intro{padding:42px 0 0}.compare-intro h1{font-size:clamp(2.05rem,4vw,3rem);max-width:940px}.compare-intro .lede{max-width:880px;font-size:19px;margin-top:20px}.compare-content{padding:28px 0 56px}
.comparison-article{width:100%;min-width:0}.distance-reminder{margin:0 0 42px;background:#f7f2e8;border-radius:22px;overflow:hidden;border:1px solid #e3dccf}.distance-reminder>a{display:block}.distance-reminder img{display:block;width:100%;height:auto;max-height:390px;object-fit:contain}.distance-reminder figcaption{font-size:14px;line-height:1.5;color:#5e635b;padding:14px 24px 18px;text-align:center}.reminder-labels{display:none}
.comparison-panel h2,.comparison-reading h2{font-size:clamp(1.7rem,2.9vw,2.25rem);line-height:1.2}.comparison-panel>p{font-size:17px;max-width:880px;margin:16px 0 22px}.dots-legend{display:flex;gap:28px;background:#f0f1e9;padding:20px 24px;border-radius:12px;margin-top:25px}.dots-legend>div{flex:1;font-size:14px;line-height:1.45}.visual-dots{display:flex;gap:6px;margin-bottom:10px;height:13px}.visual-dot{width:13px;height:13px;border-radius:50%;background:#dddcd6;border:1px solid #c8c7c0;display:block;flex:none}.visual-dot.filled{background:#2f6b4f;border-color:#2f6b4f}.comparison-panel p.dots-explanation{font-size:14px;color:#64685f;line-height:1.55;margin:14px 0 24px;max-width:900px}
.comparison-desktop{border:1px solid #dcd8cb;border-radius:16px;overflow:hidden;background:#fff}.dots-table{width:100%;border-collapse:collapse;table-layout:fixed}.dots-table caption{text-align:left;padding:16px 20px;font-size:15px;color:#535b52;background:#f5f2ea}.dots-table th,.dots-table td{padding:22px 18px;border-bottom:1px solid #e5e0d5;border-right:1px solid #e5e0d5;vertical-align:top}.dots-table th:last-child,.dots-table td:last-child{border-right:0}.dots-table tr:last-child th,.dots-table tr:last-child td{border-bottom:0}.dots-table thead{background:#edf2eb}.dots-table thead th{font-family:var(--font-serif);font-size:20px;font-weight:600;line-height:1.25;text-align:left}.dots-table th:first-child{width:20%}.dots-table th a{color:#224e39}.dots-table tbody th{font-size:16px;font-weight:600;text-align:left;background:#faf8f3}.dots-table th i{display:block;font-size:25px;color:#426651;margin-bottom:9px}.dots-table th small{display:block;font-size:13px;color:#64695f;line-height:1.4;margin-top:6px;font-weight:400}.dot-description{font-size:15px;line-height:1.45;display:block}.comparison-panel p.enhanced-note{font-size:15px;line-height:1.55;max-width:850px;margin-top:17px}
.comparison-mobile{display:none}.comparison-reading{max-width:820px;margin:52px auto 0;font-size:18px;line-height:1.65}.comparison-reading a{text-decoration:underline;text-underline-offset:3px;color:#24583f}.comparison-reading h2{margin-top:40px}.comparison-reading h2:first-child{margin-top:0}.comparison-quality>p{margin-top:18px}.quality-notes{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px;margin-top:24px}.quality-notes>div{border-top:1px solid #dadbce;padding:20px 0}.quality-notes h3{font-size:21px;line-height:1.25;margin:0 0 12px}.quality-notes p{font-size:16px;line-height:1.6;margin:0}.comparison-reading .author-note{padding:24px;margin:34px 0}.comparison-reading .author-note h2{font-family:var(--font-sans);font-size:18px}.comparison-reading .author-note p{font-size:16px;margin-bottom:0}.comparison-reading .disclaimer{font-size:14px}
.comparison-concept a:focus-visible{outline:3px solid #b76a33;outline-offset:4px}
@media(max-width:900px){.dots-table thead th{font-size:17px}.dots-table th,.dots-table td{padding:18px 12px}.dots-table .dot-description{font-size:14px}}
@media(max-width:700px){.support-options{grid-template-columns:1fr;gap:22px}.support-heading>p{font-size:16px}.support-visual{height:240px}.support-copy{padding:24px}.support-copy h3{font-size:24px}.support-copy>p{font-size:16px}.support-heading{margin-bottom:23px}.comparison-concept .compare-intro{padding-top:28px}.compare-intro .lede{font-size:17px}.compare-content{padding-top:22px}.distance-reminder{margin-bottom:32px;border-radius:14px}.distance-reminder img{margin-top:-12px;margin-bottom:-12px}.distance-reminder figcaption{font-size:13px;padding:14px 16px}.reminder-labels{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 12px 0}.reminder-labels strong{font-size:13px;display:block;line-height:1.3}.reminder-labels span{display:block;font-size:12px;line-height:1.4;margin-top:5px}.dots-legend{display:grid;gap:16px;padding:20px}.dots-legend>div{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:14px;font-size:14px}.dots-legend .visual-dots{margin:0}.comparison-desktop{display:none}.comparison-mobile{display:grid;gap:18px}.mobile-lens{background:#fff;border:1px solid #dcd8cb;border-radius:14px;overflow:hidden}.mobile-lens h3{margin:0;background:#edf2eb;padding:20px;font-size:21px;line-height:1.25}.mobile-lens h3 a{display:flex;gap:14px;justify-content:space-between;color:#234f39}.mobile-lens dl{margin:0;padding:0 20px}.mobile-lens dl>div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid #e5e0d5}.mobile-lens dl>div:last-child{border:0}.mobile-lens dt{font-size:15px;font-weight:600;line-height:1.4}.mobile-lens dd{margin:0;font-size:15px;line-height:1.45}.comparison-panel>p{font-size:16px}.comparison-reading{margin-top:38px;font-size:17px}.quality-notes{grid-template-columns:1fr;gap:0}.quality-notes>div{padding:19px 0}.comparison-reading h2{margin-top:32px}}
