html{background:#F3F5F8;scroll-behavior:auto}
body.mobile-inquiry #refundApplicationForm .consent-group .form-agree-all strong{font-size:14px;line-height:1.5}
body.mobile-inquiry #refundApplicationForm .consent-group .form-agree:not(.form-agree-all)>span{font-size:12px;line-height:1.5}
body.mobile-inquiry #refundApplicationForm .consent-group .form-agree>span>.agree-view{font-size:12px}
body.mobile-inquiry #refundApplicationForm .mobile-step .form-agree-all{display:flex}
body.mobile-inquiry[data-mobile-step='3'] .consent-group{margin-top:24px}
body.mobile-inquiry[data-mobile-step='3'] #refundApplicationForm .consent-group .form-agree{padding:8px 10px;gap:8px;min-height:48px}
body.mobile-inquiry #refundPolicy[aria-invalid='true']{outline:2px solid #E53935;outline-offset:3px}
/* Mobile type scale: readable copy, balanced fields, no viewport-height text scaling. */
@media(max-width:768px){
 body.mobile-inquiry #mobileIntro h1{font-size:clamp(24px,7vw,30px);line-height:1.38;letter-spacing:-.04em;word-break:keep-all;overflow-wrap:break-word}
 body.mobile-inquiry #mobileIntro>p{font-size:15px;line-height:1.7;color:#596779;word-break:keep-all;overflow-wrap:break-word}
 body.mobile-inquiry #mobileQuestion{font-size:clamp(23px,6.4vw,28px);line-height:1.4;letter-spacing:-.035em;word-break:keep-all;overflow-wrap:break-word}
 body.mobile-inquiry #mobileQuestionHint{font-size:15px;line-height:1.65;color:#596779}
 body.mobile-inquiry #refundApplicationForm input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
 body.mobile-inquiry #refundApplicationForm select{font-size:18px;line-height:1.4}
 body.mobile-inquiry #refundApplicationForm .field-hint{font-size:14px;line-height:1.65;color:#596779;word-break:keep-all;overflow-wrap:break-word}
 body.mobile-inquiry #refundApplicationForm .consent-group .form-agree{font-size:14px;line-height:1.6;color:#445268}
 body.mobile-inquiry #refundApplicationForm .consent-group .agree-view{font-size:13px}
 body.mobile-inquiry #refundApplicationForm .relatives-toggle{font-size:17px;line-height:1.5}
 body.mobile-inquiry #mobileStepError{font-size:14px;line-height:1.6;word-break:keep-all;overflow-wrap:break-word}
 body.mobile-inquiry .mobile-intro-dock small,body.mobile-inquiry .relative-editor-note{font-size:13px;line-height:1.55;color:#687588}
 body.mobile-inquiry .relative-editor-help{font-size:14px;line-height:1.6;color:#596779}
 body.mobile-inquiry #relativeEditorFields input,body.mobile-inquiry #relativeEditorFields select{font-size:17px}
}
body.mobile-inquiry #businessNumberUnknown{display:block;margin:16px 0 0;padding:12px 20px;min-height:48px;border:1px solid #CBD8EA;border-radius:12px;background:#F5F8FD;color:#2456B8;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
body.mobile-inquiry #businessNumberUnknown:focus-visible{outline:3px solid #3182F6;outline-offset:3px}
body.mobile-inquiry input[aria-invalid="true"],body.mobile-inquiry select[aria-invalid="true"],
body.mobile-inquiry input[aria-invalid="true"]:focus,body.mobile-inquiry select[aria-invalid="true"]:focus{
 border:2px solid #E53935!important;background:#FFF7F7!important;box-shadow:0 0 0 1px rgba(229,57,53,.12)!important
}
.mobile-inquiry #refundApplicationForm #relativeRows .is-saved-relative{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:10px 12px;margin-bottom:10px;align-items:center}
.mobile-inquiry #refundApplicationForm #relativeRows .is-saved-relative::before{content:'대상자' counter(relative-person);grid-column:1;grid-row:1;font-size:16px}
.mobile-inquiry #refundApplicationForm #relativeRows .is-saved-relative .saved-relative-summary{display:none}
.mobile-inquiry #refundApplicationForm #relativeRows .is-saved-relative .relative-edit-button{grid-column:2;grid-row:1;margin:0;padding:8px 10px;min-height:44px;font-size:14px}
.mobile-inquiry #refundApplicationForm #relativeRows .is-saved-relative .row-del{grid-column:3;grid-row:1;margin:0;padding:8px 10px;min-height:44px;font-size:14px}
@media(min-width:769px){
 html:has(body.mobile-inquiry){display:grid;min-height:100dvh;align-items:center}
 html body.mobile-inquiry[data-mobile-step]{margin:24px auto}
}
/* Desktop intro is content-sized, not stretched to the screen height. */
@media(min-width:769px){
 body.mobile-inquiry[data-mobile-step='0']{margin:clamp(24px,6vh,64px) auto;min-height:0}
 body.mobile-inquiry[data-mobile-step='0'] #mobileIntro{min-height:0}
 body.mobile-inquiry[data-mobile-step='0'] .mobile-shell{min-height:0;padding:24px}
 body.mobile-inquiry[data-mobile-step='0'] #mobileIntro h1{font-size:30px;margin:14px 0;line-height:1.3}
 body.mobile-inquiry[data-mobile-step='0'] #mobileIntro .mobile-brand-art{height:120px;margin:16px 0}
 body.mobile-inquiry[data-mobile-step='0'] #mobileIntro .mobile-brand-art img{width:96px;height:96px}
 body.mobile-inquiry[data-mobile-step='0'] #mobileIntro .mobile-intro-dock{margin-top:24px;padding-top:0}
}
@media(min-width:769px) and (max-height:700px){
 body.mobile-inquiry[data-mobile-step='0']{margin:20px auto}
 body.mobile-inquiry[data-mobile-step='0'] .mobile-shell{padding:16px 24px}
 body.mobile-inquiry[data-mobile-step='0'] #mobileIntro h1{font-size:26px;margin:8px 0}
 body.mobile-inquiry[data-mobile-step='0'] #mobileIntro .mobile-brand-art{height:72px;margin:8px 0}
 body.mobile-inquiry[data-mobile-step='0'] #mobileIntro .mobile-brand-art img{width:64px;height:64px}
 body.mobile-inquiry[data-mobile-step='0'] #mobileIntro .mobile-intro-dock{margin-top:16px}
}
@media(max-height:480px){
 .mobile-inquiry[data-mobile-step='0'] .mobile-shell{padding-bottom:190px!important}
 .mobile-inquiry #mobileIntro .mobile-intro-dock{position:fixed!important;left:50%;bottom:0;transform:translateX(-50%)!important;width:min(420px,100%);padding:10px 20px!important;margin:0!important;background:#FFF!important;z-index:35}
}
/* Initial screen adapts to both available height and width. Never scale text or disable zoom. */
.mobile-inquiry[data-mobile-step='0'] .mobile-shell{padding:20px 24px;min-height:0}
.mobile-inquiry #mobileIntro{display:flex;flex-direction:column;min-height:calc(100svh - 104px)}
.mobile-inquiry #mobileIntro h1{font-size:clamp(26px,4.2svh,36px);line-height:1.3;margin:clamp(10px,2svh,20px) 0 14px}
.mobile-inquiry #mobileIntro>p{font-size:15px;line-height:1.65;margin:0}
.mobile-inquiry #mobileIntro .mobile-brand-art{height:clamp(80px,calc(100svh - 580px),190px);min-height:80px;margin:12px 0}
.mobile-inquiry #mobileIntro .mobile-brand-art img{width:clamp(72px,15svh,132px);height:clamp(72px,15svh,132px);max-height:85%;max-width:85%;object-fit:contain;border-radius:24px}
.mobile-inquiry #mobileIntro .mobile-art-tag{bottom:0;padding:6px 14px;font-size:14px}
.mobile-inquiry #mobileIntro .mobile-assurance{font-size:13px;gap:16px}
.mobile-inquiry #mobileIntro .mobile-intro-dock{position:static;transform:none;width:100%;margin-top:auto;padding:16px 0 0;background:none}
.mobile-inquiry #mobileIntro .mobile-service-notice{font-size:14px;line-height:1.6;margin-bottom:12px}
@media(min-width:769px){
 body.mobile-inquiry{--desktop-gap:clamp(12px,3vh,40px)}
 body.mobile-inquiry[data-mobile-step]{margin:var(--desktop-gap) auto;min-height:min(700px,calc(100dvh - 2 * var(--desktop-gap)))}
 .mobile-inquiry #mobileIntro{min-height:calc(100svh - 104px - 2 * var(--desktop-gap));max-height:none}
 .mobile-inquiry[data-mobile-step='0'] .mobile-shell{padding-bottom:20px}
 .mobile-inquiry .mobile-shell{min-height:min(636px,calc(100dvh - 64px - 2 * var(--desktop-gap)))}
}
@media(max-height:640px){
 .mobile-inquiry #mobileIntro h1{font-size:26px;margin:8px 0}
 .mobile-inquiry #mobileIntro .mobile-brand-art{height:70px;min-height:70px;margin:8px 0}
 .mobile-inquiry #mobileIntro .mobile-art-tag{padding:3px 10px;font-size:12px}
 .mobile-inquiry #mobileIntro .mobile-intro-dock{padding-top:10px}
 .mobile-inquiry #mobileIntro .mobile-intro-dock small{margin-top:6px}
 .mobile-inquiry #mobileIntro .mobile-service-notice{font-size:13px;margin-bottom:8px}
}
/* Keep editor actions outside the scrolling fields, above the keyboard. */
.mobile-inquiry #relativeEditorDialog{position:fixed;top:calc(var(--editor-visible-top,0px) + 12px);bottom:auto;left:0;right:0;margin:0 auto;height:min(620px,calc(var(--editor-visible-height,100dvh) - 24px));max-height:calc(var(--editor-visible-height,100dvh) - 24px);padding:18px;overflow:hidden}
.mobile-inquiry #relativeEditorForm{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;height:100%;min-height:0;margin:0}
.mobile-inquiry .relative-editor-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 4px 12px;scroll-padding-block:12px}
.mobile-inquiry .relative-editor-header{margin-bottom:8px}
.mobile-inquiry .relative-editor-header h2{font-size:21px}
.mobile-inquiry .relative-editor-help{font-size:14px;margin-bottom:16px}
.mobile-inquiry #relativeEditorFields .relative-row{gap:16px}
.mobile-inquiry #relativeEditorFields label{font-size:16px;gap:6px}
.mobile-inquiry #relativeEditorFields input,.mobile-inquiry #relativeEditorFields select{height:48px;font-size:16px}
.mobile-inquiry .relative-editor-confirm{min-height:50px;margin:12px 0 8px;font-size:18px}
.mobile-inquiry .relative-editor-note{font-size:12px;line-height:1.5}
/* Mobile ergonomics: a consent bottom sheet, then focused one-question screens. */
@media(max-width:768px){
 .mobile-inquiry #refundApplicationForm input:focus,.mobile-inquiry #refundApplicationForm select:focus{outline:2px solid #3182F6;outline-offset:2px}
 .mobile-inquiry .mobile-step{scroll-margin-top:96px}
 .mobile-inquiry #mobileNext,.mobile-inquiry #refundSubmitButton{touch-action:manipulation}
}
@keyframes consent-sheet-enter{from{opacity:0;translate:0 32px}to{opacity:1;translate:0 0}}
.mobile-service-notice{font-size:16px;font-weight:650;line-height:1.6;text-align:center;color:#394B65;margin:0 0 14px}
.mobile-inquiry .mobile-step .form-agree-all{display:none}
.mobile-inquiry .mobile-shell{padding-bottom:250px}
@media(min-width:769px){
 .mobile-inquiry:has(#mobileIntro:not([hidden])) .mobile-shell{padding-bottom:24px}
 .mobile-inquiry #mobileIntro .mobile-intro-dock{position:static;transform:none;margin-top:28px;padding:0;background:none}
}
body.mobile-inquiry{background:#FFF;color:#191F28;max-width:520px;min-height:100dvh;margin:0 auto;font-family:Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 0 80px #152c5810}
.mobile-inquiry *{box-sizing:border-box}
.mobile-inquiry [hidden]{display:none!important}
.mobile-top{position:sticky;top:0;z-index:30;height:64px;display:flex;align-items:center;justify-content:center;background:#FFFFFFF5;padding:0 24px;border-bottom:1px solid #F2F4F6}
.mobile-brand{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:850;color:#172554;text-decoration:none}
.mobile-brand img{border-radius:9px}
#mobileBack,.mobile-exit{position:absolute;top:8px;width:48px;height:48px;display:grid;place-items:center;color:#6B7684;font-size:32px;text-decoration:none;background:none;border:0}
#mobileBack{left:8px}.mobile-exit{right:8px}
.mobile-shell{padding:28px 24px 140px}
.mobile-eyebrow{font-size:14px;color:#567294;font-weight:700}
.mobile-intro h1{margin:22px 0 20px;font-size:38px;font-weight:800;line-height:1.34;letter-spacing:-.06em;color:#191F28}
.mobile-intro h1 span{color:#3182F6}
.mobile-intro>p{font-size:16px;line-height:1.8;color:#6B7684}
.mobile-brand-art{height:220px;position:relative;display:grid;place-items:center;margin:14px 0;background:radial-gradient(ellipse,#E5F2FF,transparent 68%)}
.mobile-brand-art img{width:144px;height:144px;border-radius:40px;transform:rotate(-9deg);box-shadow:0 22px 42px #2673D630}
.mobile-art-tag{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#FFF;border:1px solid #E8EFF7;padding:10px 20px;border-radius:30px;color:#2272E4;font-size:16px;font-weight:800;box-shadow:0 8px 24px #1A4C9512}
.mobile-assurance{display:flex;justify-content:center;gap:22px;color:#63758C;font-size:14px}
.mobile-intro-dock,#mobileNavDock,.mobile-submit-dock{position:fixed;z-index:25;bottom:0;left:50%;transform:translateX(-50%);width:min(520px,100%);padding:16px 24px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(#FFFFFFF0,#FFF 25%)}
#mobileStart,#mobileNext,.mobile-inquiry #refundSubmitButton{width:100%;min-height:60px;border:0;border-radius:16px;background:#3182F6;box-shadow:none;color:white;font-size:19px;font-weight:750;font-family:inherit;cursor:pointer}
.mobile-intro-dock small{display:block;text-align:center;margin-top:12px;color:#8B95A1;font-size:12px;line-height:1.5}
.mobile-progress-meta{display:flex;justify-content:space-between;color:#8B95A1;font-size:13px;margin:4px 0 14px}
.mobile-progress-track{height:4px;border-radius:3px;background:#F2F4F6;overflow:hidden}
#mobileProgress{height:100%;background:#3182F6;border-radius:3px;transition:width .2s}
#mobileQuestion{font-size:29px;line-height:1.45;letter-spacing:-.045em;color:#191F28;margin:36px 0 14px;white-space:pre-line;outline:none}
#mobileQuestionHint{font-size:16px;line-height:1.75;color:#8B95A1;margin:0 0 32px}
.mobile-inquiry #apply{padding:0!important;background:none;overflow:visible;isolation:auto;scroll-margin:0}
.mobile-inquiry #apply::before,.mobile-inquiry #apply::after,.mobile-inquiry #apply>h2,.mobile-inquiry #apply>.apply-sub{display:none}
.mobile-inquiry #apply #refundApplicationForm{max-width:none;margin:0;padding:0;border:0;background:none;box-shadow:none;border-radius:0;backdrop-filter:none}
.mobile-inquiry #refundApplicationForm>.form-purpose,.mobile-inquiry #refundApplicationForm>.refund-wizard-head,.mobile-inquiry #refundApplicationForm>.refund-wizard-panel{display:none!important}
.mobile-inquiry #refundApplicationForm .mobile-step>.form-field{margin:0!important}
.mobile-inquiry #refundApplicationForm .mobile-step>.form-field>label,.mobile-inquiry #refundApplicationForm .mobile-step>.form-field>.field-description{display:none}
.mobile-inquiry #refundApplicationForm input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.mobile-inquiry #refundApplicationForm select{background:#F7F9FC;border:1.5px solid #E8EDF3;border-radius:14px;min-height:64px;font-size:21px;color:#191F28}
.mobile-inquiry #refundApplicationForm .segmented-number{gap:6px}
.mobile-inquiry #refundApplicationForm .segmented-number input{min-width:0;padding:4px}
.mobile-inquiry #refundApplicationForm .field-hint{font-size:14px;color:#8B95A1;line-height:1.7;margin-top:14px}
.mobile-inquiry #refundApplicationForm .pension-field{border:0!important;padding:0!important;margin:0!important}
.mobile-inquiry #refundApplicationForm #refundPensionYear{max-width:none}
.mobile-inquiry #refundApplicationForm .relatives-optional{margin:0!important;padding:0;border:0;overflow:visible;background:none}
.mobile-inquiry #refundApplicationForm .relative-presence-title,.mobile-inquiry #refundApplicationForm .relatives-optional>.field-description{display:none}
.mobile-inquiry #refundApplicationForm .relative-presence-options{grid-template-columns:1fr;gap:14px}
.mobile-inquiry #refundApplicationForm .relatives-toggle{padding:20px;background:#F7F9FC;border-color:#E8EDF3;font-size:18px}
.mobile-inquiry #refundApplicationForm .consent-group{margin:0;border:1px solid #E8EDF3;border-radius:18px}
#mobileStepError{color:#D84350;font-size:16px;line-height:1.65;margin-top:24px}
.mobile-inquiry #refundFormStatus{margin-top:24px}
.mobile-inquiry .relative-editor{width:min(480px,calc(100vw - 24px))}
@media(max-width:360px){.mobile-shell{padding-inline:20px}.mobile-intro h1{font-size:34px}#mobileQuestion{font-size:27px}.mobile-inquiry #refundApplicationForm input:not([type=checkbox]):not([type=radio]):not([type=hidden]){font-size:19px}.mobile-brand-art{height:190px}}
@media(prefers-reduced-motion:reduce){#mobileProgress{transition:none}}
/* Keep actions accessible when the mobile keyboard opens. */
#mobileNavDock,.mobile-submit-dock{bottom:var(--mobile-keyboard-inset,0px)}

/* Desktop: the same steps inside a spacious application card. */
@media(min-width:769px){
 html{background:#DFEBFF}
 body.mobile-inquiry{position:relative;width:420px;max-width:calc(100% - 64px);min-height:700px;margin:40px auto;border-radius:28px;box-shadow:0 16px 64px #31598D0A}
 .mobile-top{border-radius:28px 28px 0 0}
 .mobile-shell{min-height:636px;padding-bottom:150px}
 .mobile-inquiry #apply,.mobile-inquiry #refundFormHomeHost,.mobile-inquiry #apply #refundApplicationForm{position:static}
 .mobile-intro-dock,#mobileNavDock,.mobile-submit-dock{position:absolute;bottom:0;left:0;transform:none;width:100%;border-radius:0 0 28px 28px;padding:20px 24px 24px}
}

/* Compact consent typography, without shrinking the input controls. */
.mobile-inquiry #mobileQuestion{font-size:24px;line-height:1.5;margin:28px 0 12px}
.mobile-inquiry #mobileQuestionHint{font-size:14px;margin-bottom:28px}
.mobile-inquiry #refundApplicationForm .consent-group .form-agree{padding:18px 14px;font-size:13px;line-height:1.6;gap:10px;align-items:center}
.mobile-inquiry #refundApplicationForm .consent-group .form-agree>span{position:relative;display:block;flex:1;min-width:0;padding-right:48px;word-break:keep-all;overflow-wrap:anywhere}
.mobile-inquiry #refundApplicationForm .consent-group .form-agree>span>.agree-view{position:absolute;right:0;top:50%;transform:translateY(-50%);margin:0;font-size:12px;padding:6px;min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}
.mobile-inquiry #refundApplicationForm .consent-group .form-agree input{width:22px;height:22px;min-width:22px}
.mobile-inquiry #refundApplicationForm .consent-group .agree-view{font-size:13px;padding:6px 9px;min-height:36px}
.mobile-inquiry .mobile-shell{padding-bottom:150px}
.mobile-inquiry #mobileStart,.mobile-inquiry #mobileNext,.mobile-inquiry #refundSubmitButton{font-size:18px;min-height:56px}
@media(min-width:769px){.mobile-inquiry:has(#mobileIntro:not([hidden])) .mobile-shell{padding-bottom:24px}}

/* mobile-form-kb (2026-09-07) — 기준: G드라이브/홈페이지 제작/모바일_입력폼_구현과_리뷰방법.
   viewport 에 interactive-widget=resizes-content 를 넣어 키보드가 올라오면 화면 높이 자체가 줄어든다(≈400px).
   그 높이에서는 상단 브랜드바+진행바+질문이 290px 를 먹어 입력칸이 고정 '다음' 버튼 뒤에 숨는다(390x400 실측).
   → 질문 화면(단계 1 이상)만 상단을 압축해 입력칸과 버튼이 같이 보이게 한다. JS 0줄. 롤백 = 이 블록 삭제. */
@media(max-height:480px){
 html body.mobile-inquiry[data-mobile-step]:not([data-mobile-step='0']){margin:4px auto}
 .mobile-inquiry[data-mobile-step]:not([data-mobile-step='0']) .mobile-top{padding-top:2px;padding-bottom:2px;min-height:0}
 .mobile-inquiry[data-mobile-step]:not([data-mobile-step='0']) .mobile-top .mobile-brand-art,.mobile-inquiry[data-mobile-step]:not([data-mobile-step='0']) .mobile-top img{height:28px;width:28px;margin:0}
 .mobile-inquiry[data-mobile-step]:not([data-mobile-step='0']) .mobile-progress-meta{margin:4px 0}
 .mobile-inquiry[data-mobile-step]:not([data-mobile-step='0']) #mobileQuestion{font-size:19px;line-height:1.3;margin:8px 0 4px}
 .mobile-inquiry[data-mobile-step]:not([data-mobile-step='0']) #mobileQuestionHint{font-size:13px;line-height:1.4;margin:0 0 10px}
 .mobile-inquiry[data-mobile-step]:not([data-mobile-step='0']) #mobileNavDock,.mobile-inquiry .mobile-submit-dock{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
 /* 입력칸이 화면 밖에 있어 브라우저가 자동 스크롤할 때 고정 버튼 높이만큼 위에서 멈추게 */
 html:has(body.mobile-inquiry){scroll-padding-bottom:110px}
}
