/* Detailed companion page; the main promo stays concise. */
.features-page { background:#fff; }
.features-intro,.feature-chapter,.features-end { width:min(1200px,calc(100% - 56px)); margin-inline:auto; }
.features-intro { padding:46px 0 42px; }
.features-back { display:inline-flex; align-items:center; gap:9px; color:#00855b; font-size:14px; font-weight:700; text-decoration:none; }
.features-back svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; transform:rotate(180deg); }
.features-back:hover { text-decoration:underline; text-underline-offset:4px; }
.features-intro h1 { font-size:clamp(40px,4.6vw,62px); line-height:1.08; letter-spacing:-.035em; max-width:850px; margin:34px 0 22px; }
.features-intro>p { font-size:20px; line-height:1.65; color:#526174; max-width:720px; margin:0; }
.features-contents { display:flex; flex-wrap:wrap; gap:14px 28px; padding-top:30px; margin-top:30px; border-top:1px solid #dce6df; }
.features-contents a { color:#00855b; font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:5px; min-height:38px; padding-block:8px; }
.feature-chapter { padding-top:42px; padding-bottom:44px; border-top:1px solid #dce6df; }
.feature-chapter>h2 { font-size:34px; line-height:1.2; letter-spacing:-.025em; margin:0 0 32px; }
.feature-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; align-items:center; padding:34px 0 56px; }
.feature-row+.feature-row { border-top:1px solid #e6eee9; padding-top:56px; }
.feature-copy h3 { font-size:38px; line-height:1.15; letter-spacing:-.025em; margin:0 0 23px; max-width:520px; }
.feature-copy p { font-size:18px; line-height:1.7; color:#526174; margin:0 0 18px; max-width:510px; }
.feature-copy p:last-child { margin-bottom:0; }
.feature-copy li { font-size:16px; line-height:1.65; margin-bottom:10px; }
.feature-visual { width:100%; margin:0; min-width:0; display:grid; justify-items:center; }
.feature-phone { display:block; width:280px; max-width:100%; height:auto; border-radius:22px; }
.feature-pair { display:flex; justify-content:center; align-items:flex-start; gap:18px; }
.feature-pair>img { width:calc(50% - 9px); max-width:240px; height:auto; border-radius:16px; }
.feature-pair>img+img { margin-top:40px; }
.feature-paper-visual { display:block; border-radius:12px; overflow:hidden; background:#f5f8f7; }
.feature-app-bar { display:flex; align-items:center; gap:9px; min-height:58px; background:#18231f; color:white; padding:16px 22px; font-size:14px; font-weight:750; }
.feature-app-bar>span { margin-left:auto; color:#c4d9cd; font-size:11px; font-weight:500; }
.feature-app-bar img { flex:none; }
.signing-preview,.egrn-preview { padding:28px; }
.signing-preview h4,.egrn-preview h4 { font-size:25px; margin:0 0 10px; letter-spacing:-.025em; }
.signing-preview>p { font-size:13px; color:#526174; margin:0 0 28px; }
.signing-person { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px 0; border-top:1px solid #dce6df; font-size:15px; }
.signing-person small { display:block; font-size:12px; color:#526174; margin-top:6px; }
.signing-person b { display:flex; align-items:center; gap:5px; color:#00855b; font-size:12px; }
.feature-paper-visual svg,.condition-preview svg { display:block; flex:none; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; }
.feature-success { display:flex; align-items:center; gap:9px; background:#dff6ea; color:#006744; padding:16px; border-radius:8px; font-size:13px; line-height:1.5; font-weight:750; }
.signing-preview .signing-download { display:flex; align-items:center; gap:9px; margin:25px 0 0; font-size:12px; }
.egrn-preview .feature-success { margin-top:22px; }
.egrn-preview dl { font-size:13px; margin:24px 0 0; }
.egrn-preview dl>div { display:flex; justify-content:space-between; gap:16px; padding:13px 0; border-top:1px solid #dce6df; }
.egrn-preview dt { color:#526174; }
.egrn-preview dd { text-align:right; margin:0; font-weight:650; }
.egrn-preview>p { color:#526174; font-size:12px; line-height:1.6; margin:18px 0 0; }
.features-page .template-window { width:100%; margin:0; }
.features-page .template-window-body { padding:24px; }
.features-page .template-name { font-size:13px; }
.features-page .template-row { min-height:54px; }
.condition-preview { display:block; border-radius:12px; overflow:hidden; background:#f5f8f7; }
.condition-preview>img { display:block; width:100%; height:320px; object-fit:cover; }
.condition-preview figcaption { display:flex; align-items:center; gap:13px; padding:22px; color:#355a46; }
.condition-preview strong { display:block; font-size:15px; }
.condition-preview small { display:block; margin-top:6px; color:#526174; font-size:12px; }
.features-page .test-instruction-stage { width:100%; margin:0; padding:0; }
.features-page .test-instruction-phone { width:300px; max-width:100%; margin:auto; }
.features-page .test-instruction-stage>figcaption { font-size:12px; text-align:center; }
.problem-preview { background:#f5f8f7; border-radius:12px; overflow:hidden; }
.problem-preview .feature-app-bar { width:100%; }
.problem-preview>img { display:block; width:calc(100% - 48px); max-width:354px; height:auto; margin:24px; }
.feature-mini-scene { width:360px; max-width:100%; }
.feature-mini-scene .journey-visual-scene { height:350px; padding:25px; }
.feature-mini-scene .scene-app-title { font-size:20px; }
.feature-mini-scene .scene-calendar-month { font-size:14px; margin-top:25px; }
.feature-mini-scene .scene-calendar>span { font-size:13px; padding:13px 3px; }
.feature-mini-scene .scene-calendar b { font-size:27px; }
.feature-mini-scene .scene-times>span { font-size:13px; padding:12px 3px; }
.feature-mini-scene .scene-confirm { font-size:13px; padding:13px 6px; }
.feature-mini-scene .scene-date-label { font-size:13px; margin-top:30px; }
.feature-mini-scene .scene-departure-date { gap:13px; padding-top:14px; padding-bottom:28px; }
.feature-mini-scene .scene-departure-date>b { font-size:48px; }
.feature-mini-scene .scene-departure-date>span { font-size:17px; }
.feature-mini-scene .scene-departure-date small { font-size:13px; }
.feature-mini-scene .scene-final { font-size:13px; }
.feature-to-top { color:#00855b; font-weight:650; font-size:13px; text-underline-offset:4px; }
.features-end { display:flex; align-items:center; justify-content:space-between; gap:45px; padding-block:65px; }
.features-end h2 { margin:0; font-size:35px; line-height:1.15; letter-spacing:-.025em; }
.features-end p { font-size:17px; line-height:1.6; color:#526174; max-width:500px; margin:16px 0 0; }
.features-end>div:last-child { display:grid; justify-items:center; gap:18px; }
@media(max-width:1000px) {
 .feature-row { gap:40px; }
 .feature-copy h3 { font-size:32px; }
 .feature-copy p { font-size:16px; }
}
@media(max-width:760px) {
 .features-intro,.feature-chapter,.features-end { width:calc(100% - 44px); }
 .features-intro { padding:30px 0 32px; }
 .features-intro h1 { font-size:38px; margin-top:26px; }
 .features-intro>p { font-size:17px; line-height:1.65; }
 .features-contents { gap:8px 20px; padding-top:20px; margin-top:24px; }
 .features-contents a { font-size:13px; min-height:44px; }
 .feature-chapter { padding-top:30px; padding-bottom:30px; }
 .feature-chapter>h2 { font-size:27px; margin-bottom:14px; }
 .feature-row { grid-template-columns:minmax(0,1fr); gap:28px; padding:24px 0 34px; }
 .feature-row+.feature-row { padding-top:34px; }
 .feature-copy h3 { font-size:29px; margin-bottom:17px; }
 .feature-copy p { font-size:16px; line-height:1.7; }
 .feature-app-bar { padding:15px 17px; font-size:13px; }
 .feature-app-bar>span { font-size:10px; }
 .signing-preview,.egrn-preview { padding:22px 18px; }
 .signing-person { font-size:14px; gap:10px; }
 .signing-person b { font-size:11px; }
 .feature-success { font-size:12px; padding:13px 10px; }
 .egrn-preview dl { font-size:11px; }
 .features-page .template-window-body { padding:22px 17px; }
 .feature-pair { gap:12px; }
 .feature-pair>img { width:calc(50% - 6px); }
 .condition-preview>img { height:230px; }
 .features-end { display:grid; gap:28px; padding-block:45px; }
 .features-end h2 { font-size:30px; }
 .features-end>div:last-child { justify-items:stretch; }
 .features-end .features-back { justify-content:center; }
}
.feature-paper-visual { justify-items:stretch; }
.feature-app-bar { width:100%; }

.contract-prep-body { padding:28px; }
.contract-prep-body h4 { font-size:25px; margin:0 0 22px; letter-spacing:-.025em; }
.contract-prep-body dl { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin:0 0 26px; }
.contract-prep-body dl>div { min-width:0; padding:13px 15px; background:#fff; border:1px solid #d8e5de; border-radius:8px; }
.contract-prep-body dt { font-size:11px; color:#526174; margin-bottom:8px; }
.contract-prep-body dd { font-size:13px; line-height:1.5; margin:0; font-weight:650; }
.contract-prep-status { display:flex; align-items:center; gap:9px; font-size:13px; color:#006b47; margin-top:12px; }
.contract-prep-body>p { padding-top:20px; margin:22px 0 0; border-top:1px solid #d8e5de; color:#526174; font-size:13px; line-height:1.6; }
@media(max-width:760px) {
 .contract-prep-body { padding:22px 18px; }
 .contract-prep-body h4 { font-size:22px; }
 .contract-prep-body dl { grid-template-columns:1fr; gap:10px; }
}
