/* Family page only. Shared component sizing follows the home reference. */
.kf292{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:400}
.kf292 .kk-shared-lower{font-family:inherit;width:100%;max-width:1160px;padding:0;margin:40px auto}
.kf292 .compact-guides{padding:0;background:transparent;border:0;border-radius:0;margin:0 0 30px}
.kf292 #company{background:transparent;padding:0;border:0;border-radius:0}
.kf292 .company-panel{display:block}
.kf292 .company-panel p{grid-column:auto;grid-row:auto}
/* Shared three-column guide and company panel, based on the approved home reference. */
.kf292 .kk-shared-lower{max-width:1160px;width:calc(100% - 32px);margin:24px auto;color:#14263e}
.kf292 .kk-shared-lower *{box-sizing:border-box}
.kf292 .kk-shared-lower h2{font-size:26px;line-height:1.5;font-weight:800;color:#153e6b;margin:0 0 12px}
.kf292 .kk-shared-lower .compact-guides #guides-title{text-align:center}
.kf292 .kk-shared-lower .guide-intro{font-size:16px;line-height:1.7;margin:0 0 14px;text-align:left}
.kf292 .kk-shared-lower .guide-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kf292 .kk-shared-lower .guide-group{border:1px solid #83af96;border-radius:8px;overflow:hidden;background:#fff;min-width:0}
.kf292 .kk-shared-lower .guide-group--orange{border-color:#e5aa78}.kf292 .kk-shared-lower .guide-group--slate{border-color:#a6aeb9}
.kf292 .kk-shared-lower .guide-group h3{display:flex;align-items:center;gap:7px;background:#078843;color:white;padding:12px 10px;margin:0;font-size:17px;line-height:1.5;min-height:72px}
.kf292 .kk-shared-lower .guide-group--orange h3{background:#ee7600}.kf292 .kk-shared-lower .guide-group--slate h3{background:#424f68}
.kf292 .kk-shared-lower .guide-group h3 .icon{width:23px;height:25px;flex:0 0 23px}
.kf292 .kk-shared-lower .guide-group ul{list-style:none;margin:0;padding:0 9px}
.kf292 .kk-shared-lower .guide-group li+li{border-top:1px solid #d9dee5}
.kf292 .kk-shared-lower .guide-group a{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:13px 0;min-height:64px;color:#243348;font-size:16px;font-weight:600;line-height:1.6;text-decoration:none}
.kf292 .kk-shared-lower .guide-arrow{color:#12639c;font-size:23px;flex:0 0 auto}
.kf292 .kk-shared-lower .keep-line{white-space:normal}
.kf292 .kk-shared-lower #company{margin-top:30px}
.kf292 .kk-shared-lower .company-panel{background:#fff;border:1px solid #d8e1e7;border-radius:9px;padding:20px}
.kf292 .kk-shared-lower .company-panel h3{font-size:20px;margin:0 0 10px;line-height:1.5}
.kf292 .kk-shared-lower .company-panel p{font-size:16px;line-height:1.8;margin:8px 0}
.kf292 .kk-shared-lower .company-panel a{color:#1463a0;font-weight:700}
.kf292 .kk-shared-lower a:focus-visible{outline:2px solid #12639c;outline-offset:2px}
@media(max-width:700px){
.kf292 .kk-shared-lower{width:calc(100% - 24px);margin:20px auto}
.kf292 .kk-shared-lower h2{font-size:20px;margin-bottom:10px}.kf292 .kk-shared-lower .guide-intro{font-size:13px;margin-bottom:8px}
.kf292 .kk-shared-lower .guide-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.kf292 .kk-shared-lower .guide-group h3{font-size:12px;line-height:1.5;padding:8px 5px;gap:4px;min-height:54px}
.kf292 .kk-shared-lower .guide-group h3 .icon{width:17px;height:21px;flex-basis:17px}
.kf292 .kk-shared-lower .guide-group ul{padding:0 6px}
.kf292 .kk-shared-lower .guide-group a{font-size:12px;padding:10px 0;min-height:52px;line-height:1.6;gap:3px}
.kf292 .kk-shared-lower .guide-arrow{font-size:19px}
.kf292 .kk-shared-lower #company{margin-top:26px}.kf292 .kk-shared-lower .company-panel{padding:14px}
.kf292 .kk-shared-lower .company-panel h3{font-size:16px}.kf292 .kk-shared-lower .company-panel p{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
}

.kf292 .kk-shared-lower{width:100%;margin:40px auto}
.kf292 .kk-shared-lower .guide-group li a{padding:13px 0;font-size:16px;min-height:64px;word-break:normal;overflow-wrap:normal;font-weight:600}
.kf292 .kk-shared-lower .guide-group h3{font-weight:700}
.kf292 .kk-shared-lower .guide-group h3 .icon{height:25px;min-width:0}
.kf292 .kk-shared-lower .company-panel p{font-size:16px;font-weight:400;margin:12px 0;line-height:1.9}
.kf292 .kf-steps h3{word-break:normal;overflow-wrap:normal}
.kf292 .kf-steps p,.kf292 .kf-roles p{font-size:15px;line-height:1.8;word-break:normal;overflow-wrap:normal}
.kf292 .kf-role-head h3{font-size:16px;line-height:1.6}
/* Roomy form controls, including iOS date/select intrinsic-width containment. */
.kf292 .no-assessment{padding:30px;border:1px solid #eadbcc;border-radius:16px;background:#fffdfa;margin:30px 0}
.kf292 .no-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.kf292 .no-heading h2{font-size:40px;white-space:nowrap}
.kf292 .no-badge{font-size:14px;padding:10px;flex:0 1 190px}
.kf292 .no-badge span{display:block}
.kf292 .no-intro{font-size:16px;line-height:1.7;margin-bottom:24px;font-weight:400}
.kf292 .no-form{gap:24px}
.kf292 .assessment-form__grid,.kf292 .contact-fields__grid{gap:22px 24px}
.kf292 .form-field{gap:9px;min-width:0;font-weight:700}
.kf292 .form-field>span{font-size:17px}
.kf292 .form-field em,.kf292 .form-field i{font-size:12px;padding:2px 6px}
.kf292 input,.kf292 select,.kf292 textarea{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;height:58px;padding:12px;font-size:16px;font-weight:400;border:1px solid #cbd6e1;border-radius:9px;line-height:1.5}
.kf292 input[type=date]{appearance:none;-webkit-appearance:none;min-inline-size:0}
.kf292 input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
.kf292 textarea{height:108px}
.kf292 .form-field small{font-size:13px;line-height:1.6}
.kf292 .contact-fields{padding:22px;background:#f2f9fd;border:1px solid #d9e6ef;border-radius:13px}
.kf292 .contact-fields legend,.kf292 .kf-family-fields legend{font-size:18px;margin-bottom:15px}
.kf292 .contact-preference label{padding:14px;min-height:56px;font-size:16px}
.kf292 input[type=radio]{display:inline-block;width:22px;height:22px;padding:0;flex:0 0 22px}
.kf292 .contact-hours{font-size:14px}
.kf292 .no-form>.kf-family-fields{display:block}
.kf292 .kf-family-fields>.form-field{display:inline-flex;width:calc(50% - 14px);margin:0 24px 0 0}
.kf292 .kf-family-fields>.form-field:last-child{margin-right:0}
.kf292 .no-submit{font-size:23px;padding:20px 24px;min-height:68px}
.kf292 .no-note,.kf292 .no-privacy{font-size:13px;line-height:1.7}
/* Mobile hero is preserved. Desktop receives a separate wide composition. */
.kf-desktop-hero{display:none}
@media(min-width:1024px){
.kf292 .kf-hero294{max-width:none;background:linear-gradient(150deg,#92ddfa 0%,#d8f4fa 50%,#fff7df 100%)}
.kf-hero294-canvas{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
.kf-hero294-canvas .kf-hero-link{display:none}
.kf-desktop-hero{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;align-items:center;max-width:1240px;margin:auto;padding:32px 36px 18px}
.kf-desktop-copy{position:relative;z-index:1}
.kf292 .kf-desktop-badge{display:inline-block;background:#fff07f;border-radius:40px;padding:8px 24px;font-size:20px;font-weight:700;margin-bottom:14px}
.kf292 .kf-desktop-title{font-size:clamp(36px,3.5vw,48px);font-weight:900;line-height:1.3;letter-spacing:-.04em;color:#082957;white-space:nowrap}
.kf-desktop-title span{color:#ff7c0b}
.kf292 .kf-desktop-lead{font-size:23px;line-height:1.5;font-weight:700;margin:14px 0}
.kf292 .kf-desktop-support{font-size:16px;line-height:1.8}
.kf292 .kf-desktop-checks{font-size:16px;font-weight:700;color:#0868bd;margin:12px 0}
.kf-desktop-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kf-desktop-actions a{display:flex;align-items:center;justify-content:center;gap:14px;border-radius:99px;text-decoration:none;min-height:56px;font-size:17px;font-weight:700;padding:10px}
.kf-desktop-estimate{background:linear-gradient(100deg,#ff4471,#ff1957);color:#fff}
.kf-desktop-phone{background:#fff;color:#0064cf;border:2px solid #0879dd}
.kf-desktop-art{position:relative;width:100%;height:0;padding-top:46.875%;overflow:hidden;border-radius:30px;box-shadow:0 12px 36px #1278a21a}
.kf-desktop-art img{position:absolute;top:-106.25%;left:0;display:block;width:100%;height:auto;max-width:none}
.kf292 .kf-desktop-note{grid-column:1/-1;text-align:center;font-size:13px;line-height:1.6;margin-top:8px}
}
@media(max-width:1023px){
.kf292 .kf-steps{grid-template-columns:1fr;gap:10px}
.kf292 .kf-steps li{display:grid;grid-template-columns:78px minmax(0,1fr);padding:16px;gap:6px 16px;align-items:center}
.kf292 .kf-step-top{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;gap:8px;margin:0}
.kf292 .kf-steps h3{text-align:left;font-size:18px;margin:0}
.kf292 .kf-steps p{font-size:15px;grid-column:2}
.kf292 .kf-roles{grid-template-columns:1fr;gap:10px}
.kf292 .kf-roles article{padding:16px}
.kf292 .kf-role-head{display:flex;align-items:center;gap:16px;margin:0 0 10px}
.kf292 .kf-role-head .kf-art{width:64px;margin:0}
.kf292 .kf-role-head h3{font-size:17px}
.kf292 .kf-roles p{font-size:15px}
}
@media(max-width:700px){
.kf292 .kk-shared-lower .guide-group li a{font-size:12px;padding:10px 0;min-height:52px;line-height:1.6}
.kf292 .kk-shared-lower .guide-group h3 .icon{width:17px;height:21px;flex-basis:17px}
.kf292 .kk-shared-lower .company-panel p{font-size:14px;line-height:1.8;margin:10px 0}
.kf292 .no-assessment{padding:16px 12px;margin:24px 0}
.kf292 .no-heading{gap:8px;flex-wrap:wrap}
.kf292 .no-heading h2{font-size:30px}
.kf292 .no-badge{font-size:11px;flex:0 1 128px;padding:7px}
.kf292 .assessment-form__grid,.kf292 .contact-fields__grid{gap:20px 12px}
.kf292 .form-field>span{font-size:14px}
.kf292 .form-field em,.kf292 .form-field i{font-size:10px;margin-left:2px;padding:2px 4px}
.kf292 .contact-fields{padding:14px 10px}
.kf292 .contact-fields legend,.kf292 .kf-family-fields legend{font-size:16px}
.kf292 .kf-family-fields>.form-field{width:calc(50% - 8px);margin-right:12px}
.kf292 .kf-family-fields>.form-field:last-child{margin-right:0}
.kf292 .no-submit{font-size:20px;padding:18px 14px}
}
