/* Full-source role images: no sprite viewport and no clipping. */
.kf292 .kf-role-head .kf-role-image296{display:block;position:static;width:88px;height:88px;max-width:100%;object-fit:contain;object-position:center;flex:0 0 88px;margin:0;border:0;background:white;border-radius:8px}

/* Restore embedded Japanese font on both mobile and desktop. */
body.family-design{--kk-font:'KF Noto','Noto Sans JP',sans-serif;font-family:var(--kk-font);font-weight:500}
body.family-design .kf292,body.family-design .site-header,body.family-design .site-footer{font-family:var(--kk-font);font-weight:500}
.family-design .kf292 input,.family-design .kf292 select,.family-design .kf292 textarea,.family-design .kf292 button{font-family:var(--kk-font);font-weight:500}
.family-design .kf292 h2,.family-design .kf292 h3,.family-design .kf-desktop-title{font-weight:900}
.family-design .kf292 p,.family-design .kf292 blockquote{font-weight:500}
.family-design .kf292 .kf-desktop-title{font-weight:900}

@media(min-width:1024px){
.family-design .kf292 .kf-hero294{position:relative;isolation:isolate;width:100%;max-width:none;background:#eaf7f4 url('../images/family-desktop296.png') center center / cover no-repeat}
.family-design .kf-desktop-hero{position:relative;display:block;max-width:1440px;min-height:440px;margin:auto;padding:28px 40px 18px;background:transparent}
.family-design .kf-desktop-copy{width:49%;max-width:650px}
.family-design .kf292 .kf-desktop-title{font-size:clamp(34px,3.1vw,48px);line-height:1.28;letter-spacing:-.04em}
.family-design .kf292 .kf-desktop-badge{font-size:18px;padding:7px 20px;margin-bottom:12px}
.family-design .kf292 .kf-desktop-lead{font-size:20px;margin:12px 0;line-height:1.5}
.family-design .kf292 .kf-desktop-support{font-size:15px;line-height:1.7}
.family-design .kf-desktop-support br{display:none}
.family-design .kf292 .kf-desktop-checks{font-size:15px;margin:10px 0}
.family-design .kf-desktop-actions{gap:10px}
.family-design .kf-desktop-actions a{font-size:15px;min-height:52px;padding:10px 8px;font-weight:900}
.family-design .kf292 .kf-desktop-note{font-size:12px;margin-top:14px;font-weight:500}
}

/* Decorative double stroke beside 30 seconds; no extra spoken text. */
.kf292 .no-heading .no-seconds{position:relative;display:inline-block;margin-right:.22em}
.kf292 .no-heading .no-seconds::before,.kf292 .no-heading .no-seconds::after{content:"";position:absolute;display:block;width:3px;height:10px;background:currentColor;border-radius:2px;top:-3px;pointer-events:none}
.kf292 .no-heading .no-seconds::before{right:7px;transform:rotate(20deg)}
.kf292 .no-heading .no-seconds::after{right:-2px;top:0;transform:rotate(48deg)}

/* Subtle stripes behind the quick-entry badge, on desktop and mobile. */
.kf292 .no-assessment .no-heading .no-badge{background-color:#fffaf5;background-image:repeating-linear-gradient(135deg,transparent 0,transparent 5px,rgba(235,144,68,.12) 5px,rgba(235,144,68,.12) 9px)}

/* Form typography matched to IMG_1725, retaining the shared Japanese font. */
.kf292 .no-assessment .no-heading h2{font-size:40px;line-height:1.3}
.kf292 .no-assessment .no-intro{font-size:16px;line-height:1.8}
.kf292 .no-assessment .form-field>span{font-size:16px;line-height:1.5}
.kf292 .no-assessment input,.kf292 .no-assessment select,.kf292 .no-assessment textarea{font-size:16px;line-height:1.5}
.kf292 .no-assessment .form-field small{font-size:13px;line-height:1.6}
.kf292 .no-assessment .form-field em,.kf292 .no-assessment .form-field i{font-size:11px}
@media(max-width:700px){
.kf292 .no-assessment .no-heading h2{font-size:32px}
.kf292 .no-assessment .no-heading .no-badge{font-size:11px;line-height:1.5}
.kf292 .no-assessment .form-field>span{font-size:14px}
.kf292 .no-assessment .form-field em,.kf292 .no-assessment .form-field i{font-size:10px}
}

/* 2.99: ownership reference form dimensions, scoped to the family page. */
.kf292 .no-assessment{padding:20px}
.kf292 .no-assessment .no-heading{padding-top:5px}
.kf292 .no-assessment .no-heading h2{font-size:46px;line-height:1.1;letter-spacing:-.045em}
.kf292 .no-assessment .no-intro{font-size:13px;line-height:1.6;margin-bottom:10px}
.kf292 .no-assessment .form-field{gap:5px}
.kf292 .no-assessment .form-field>span{font-size:13px;line-height:1.45;font-weight:700}
.kf292 .no-assessment .form-field input,.kf292 .no-assessment .form-field select,.kf292 .no-assessment .form-field textarea{font-size:14px;font-weight:400;height:44px;min-height:44px;padding:8px;line-height:1.5;letter-spacing:0}
.kf292 .no-assessment .form-field textarea{height:90px}
.kf292 .no-assessment .form-field em,.kf292 .no-assessment .form-field i{font-size:10px}
.kf292 .no-assessment .form-field small{font-size:12px;line-height:1.6}
.kf292 .no-assessment .assessment-form__grid,.kf292 .no-assessment .contact-fields__grid{gap:14px}
.kf292 .no-assessment .contact-fields legend,.kf292 .no-assessment .kf-family-fields legend{font-size:16px}
.kf292 .no-assessment .contact-fields .contact-preference legend{font-size:13px}
.kf292 .no-assessment .contact-preference label{font-size:14px}
.kf292 .no-assessment .no-submit{font-size:18px}
.kf292 .kf-document-types{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.kf292 .kf-document-types article{background:#fff;border-radius:12px;padding:16px}
.kf292 .kf-document-types h3{font-size:18px;margin-bottom:10px}
.kf292 .kf-document-types p{font-size:14px;line-height:1.8;margin:8px 0}
.kf292 .kf-case-facts{font-size:13px;line-height:1.7;border-top:1px solid #d7e7ee;padding-top:10px}
.kf292 .kf-case-facts dt{font-weight:900}.kf292 .kf-case-facts dd{margin:0 0 8px}
@media(max-width:700px){
.kf292 .no-assessment{padding:12px 10px}
.kf292 .no-assessment .no-heading h2{font-size:clamp(25px,6.8vw,38px)}
.kf292 .no-assessment .no-heading .no-badge{font-size:10px;padding:5px;flex:0 1 96px}
.kf292 .no-assessment .no-intro{font-size:12px}
.kf292 .no-assessment .no-form{gap:14px}
.kf292 .no-assessment .assessment-form__grid,.kf292 .no-assessment .contact-fields__grid{gap:12px 10px}
.kf292 .no-assessment .form-field>span{font-size:12px;gap:4px;white-space:normal;flex-wrap:wrap}
.kf292 .no-assessment .form-field input,.kf292 .no-assessment .form-field select,.kf292 .no-assessment .form-field textarea{font-size:13px;padding:8px 6px}
.kf292 .no-assessment .form-field select{padding-right:19px;text-overflow:ellipsis}
.kf292 .no-assessment .form-field textarea{height:78px}
.kf292 .no-assessment .form-field input:focus,.kf292 .no-assessment .form-field select:focus,.kf292 .no-assessment .form-field textarea:focus{font-size:16px}
.kf292 .no-assessment .form-field em,.kf292 .no-assessment .form-field i{font-size:9px;padding:1px 4px}
.kf292 .no-assessment .form-field small,.kf292 .no-assessment .contact-hours{font-size:11px}
.kf292 .no-assessment .contact-fields legend,.kf292 .no-assessment .kf-family-fields legend{font-size:14px}
.kf292 .no-assessment .contact-fields .contact-preference legend{font-size:12px}
.kf292 .no-assessment .contact-preference label{font-size:13px;min-height:44px;padding:9px}
.kf292 .no-assessment .no-submit{font-size:15px;min-height:48px;padding:10px 12px}
.kf292 .no-assessment .no-note{font-size:10px}
.kf292 .no-assessment .no-privacy{font-size:12px}
.kf292 .kf-document-types{grid-template-columns:1fr}
}

/* Each viewport exposes only its own hero and heading to assistive technology. */
.kf292 .kf-mobile-title{margin:0;padding:0;border:0;font-size:0;line-height:0}
@media(max-width:1023px){.kf292 .kf-desktop-hero{display:none}}
@media(min-width:1024px){.kf292 .kf-hero294-canvas{display:none}}
