/* tapsight 서비스별 도입 문의 — 폼 공통 스타일 + 모달
   (independent page inquiry.php 와 다른 페이지의 모달에서 공용) */
.iq-form .diag-card-head{align-items:flex-start}
.iq-kicker{margin:0 0 8px;color:var(--blue-deep,#0D3FF2);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.iq-form .diag-card-head h2{font-size:22px;line-height:1.35;letter-spacing:-.02em}
.iq-form .diag-card-head p{margin:8px 0 0;color:#5a6480;font-size:13.5px;line-height:1.6}
.iq-form .diag-field>label small.iq-help{display:block;margin-top:6px;color:#8b96b4;font-size:12px;font-weight:500;line-height:1.55;white-space:pre-line}
.iq-form .diag-input textarea{min-height:124px}
.iq-privacy{margin-top:2px;font-size:12.5px;color:#7a8399}
.iq-privacy summary{cursor:pointer;color:#5a6480;font-weight:700;list-style:none;display:inline-flex;align-items:center;gap:6px}
.iq-privacy summary::-webkit-details-marker{display:none}
.iq-privacy summary:before{content:"";width:6px;height:6px;border:2px solid #8b96b4;border-top:0;border-left:0;transform:rotate(45deg);transition:transform .2s}
.iq-privacy[open] summary:before{transform:rotate(225deg)}
.iq-privacy>div{margin-top:10px;padding:14px 16px;border-radius:12px;background:#F4F7FF;line-height:1.75}
.iq-privacy b{display:inline-block;min-width:118px;color:#39435f;font-weight:700}
.iq-form.is-sending .diag-submit{opacity:.7;pointer-events:none}
.iq-done{display:grid;justify-items:center;gap:10px;padding:34px 20px 14px;text-align:center}
.iq-done[hidden]{display:none}
.iq-done-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(140deg,var(--blue-deep,#0D3FF2),var(--blue,#2E5BFC) 50%,var(--mint,#4ed4d1));color:#fff;font-size:28px;font-weight:800;box-shadow:0 16px 34px rgba(46,91,252,.3)}
.iq-done h3{margin:8px 0 0;font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--navy,#071a3b)}
.iq-done p{margin:0 0 14px;color:#5a6480;font-size:14.5px;line-height:1.7}
.iq-form.is-done>*:not(.iq-done){display:none}
.iq-form.is-done .iq-done{display:grid}

/* 서비스 선택 화면 */
.iq-chooser{padding:40px 44px 44px}
.iq-chooser.is-modal{padding:0}
.iq-chooser-head{margin-bottom:22px}
.iq-chooser-head h2{margin:0;font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--navy,#071a3b)}
.iq-chooser-head p{margin:8px 0 0;color:#5a6480;font-size:14px;line-height:1.6}
.iq-chooser-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.iq-choice{position:relative;display:grid;gap:5px;padding:18px 44px 18px 20px;border:1px solid #dde4f5;border-radius:16px;background:rgba(255,255,255,.92);color:inherit;text-decoration:none;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.iq-choice b{color:var(--navy,#071a3b);font-size:15.5px;font-weight:800;letter-spacing:-.015em}
.iq-choice span{color:#6b7590;font-size:12.5px;line-height:1.5}
.iq-choice i{position:absolute;right:16px;top:50%;display:grid;place-items:center;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:#E7EDFF;color:var(--blue-deep,#0D3FF2);font-size:13px;font-style:normal;font-weight:800;transition:background .25s,color .25s,transform .25s}
.iq-choice:hover{transform:translateY(-3px);border-color:#BAC8FE;box-shadow:0 16px 34px rgba(8,34,83,.12);text-decoration:none}
.iq-choice:hover i{background:linear-gradient(135deg,var(--blue-deep,#0D3FF2),var(--mint,#4ed4d1));color:#fff;transform:translateX(2px)}

/* 모달 */
.iq-modal{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:24px 16px}
.iq-modal.is-open{display:flex}
.iq-modal-backdrop{position:absolute;inset:0;background:rgba(7,26,59,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .25s ease}
.iq-modal.is-open .iq-modal-backdrop{opacity:1}
.iq-modal-panel{position:relative;width:min(820px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.9);border-radius:28px;background:#fff;box-shadow:0 40px 90px rgba(8,34,83,.35);opacity:0;transform:translateY(18px) scale(.985);transition:opacity .3s ease,transform .35s cubic-bezier(.2,.72,.25,1);overflow:hidden}
.iq-modal.is-open .iq-modal-panel{opacity:1;transform:none}
.iq-modal-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 14px 26px;border-bottom:1px solid #eef1f8}
.iq-modal-bar b{display:inline-flex;align-items:center;gap:8px;color:var(--navy,#071a3b);font-size:13px;font-weight:800;letter-spacing:.02em}
.iq-modal-bar b:before{content:"";width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--blue,#2E5BFC),var(--mint,#4ed4d1))}
.iq-modal-tools{display:flex;align-items:center;gap:6px}
.iq-modal-tools a,.iq-modal-tools button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 12px;border:1px solid #e2e8f6;border-radius:999px;background:#fff;color:#39435f;font:inherit;font-size:12px;font-weight:700;cursor:pointer;text-decoration:none;transition:background .2s,color .2s}
.iq-modal-tools a:hover,.iq-modal-tools button:hover{background:#E7EDFF;color:var(--blue-deep,#0D3FF2);text-decoration:none}
.iq-modal-tools .iq-x{width:34px;padding:0;font-size:16px;line-height:1}
.iq-modal-body{overflow:auto;padding:24px 26px 28px;-webkit-overflow-scrolling:touch}
.iq-modal-body .diag-card{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.iq-modal-body .diag-card:before{display:none}
.iq-modal-body .diag-field{opacity:1;transform:none;transition:none}
.iq-modal-body .diag-fields{gap:14px;margin-top:20px}
.iq-modal-body .diag-field{grid-template-columns:168px 1fr;gap:14px}
.iq-modal-body .diag-field>label{padding-top:13px;font-size:13.5px}
.iq-modal-body .diag-msel-panel{max-height:240px}
.iq-modal-body .diag-submit-row{margin-top:24px}
.iq-modal-loading{display:grid;place-items:center;min-height:220px;color:#8b96b4;font-size:13.5px;font-weight:600}
.iq-modal-loading i{width:28px;height:28px;margin-bottom:12px;border:3px solid #E7EDFF;border-top-color:var(--blue,#2E5BFC);border-radius:50%;animation:iq-spin .8s linear infinite}
@keyframes iq-spin{to{transform:rotate(360deg)}}
body.iq-modal-open{overflow:hidden}
@media (max-width:760px){
  .iq-modal{padding:0;align-items:flex-end}
  .iq-modal-panel{width:100%;max-height:92vh;border-radius:24px 24px 0 0}
  .iq-modal-body{padding:18px 18px 26px}
  .iq-modal-body .diag-field{grid-template-columns:1fr;gap:8px}
  .iq-modal-body .diag-field>label{padding-top:0}
  .iq-chooser{padding:28px 20px 30px}
  .iq-chooser-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .iq-form .diag-card-head{flex-direction:column;align-items:flex-start;gap:12px}
}

/* ───── 폼 공통 스타일 (contact.html 의 .diag-* 에서 추출, 모달이 뜨는 다른 페이지용) ───── */
.diag-card{position:relative;padding:44px 48px 40px;border:1px solid rgba(255,255,255,.9);border-radius:32px;background:rgba(255,255,255,.88);box-shadow:0 30px 66px rgba(8,34,83,.12),inset 0 1px 0 rgba(255,255,255,1);overflow:hidden}
.diag-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,transparent,var(--blue-deep) 24%,var(--mint) 76%,transparent)}
.diag-card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px dashed #cfd8ee}
.diag-card-head h2{margin:0;font-size:24px;font-weight:700;letter-spacing:-.02em}
.diag-card-head p{margin:8px 0 0;color:var(--muted);font-size:13.5px;line-height:1.6}
.diag-required{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;background:var(--blue-soft);color:var(--blue-deep);font-size:11.5px;font-weight:700;white-space:nowrap}
.diag-required em{color:#e5484d;font-style:normal}
.diag-fields{display:grid;gap:18px;margin-top:26px}
.diag-field{display:grid;grid-template-columns:150px 1fr;align-items:start;gap:20px;opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .6s cubic-bezier(.2,.72,.25,1)}
.diag-field>label{padding-top:15px;color:var(--ink);font-size:14.5px;font-weight:700;letter-spacing:-.012em;line-height:1.45;word-break:keep-all}
.diag-field>label em{margin-left:3px;color:#e5484d;font-style:normal}
.diag-field>label small{display:block;margin-top:4px;color:#8b96b4;font-size:12px;font-weight:500;line-height:1.5}
.diag-field.is-choice>label{padding-top:10px}
.diag-input{position:relative}
.diag-input input,.diag-input textarea{width:100%;padding:15px 18px;border:1px solid #dde4f5;border-radius:14px;background:rgba(255,255,255,.9);color:var(--ink);font-size:14px;line-height:1.6;outline:0;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}
.diag-input textarea{min-height:118px;resize:vertical}
.diag-input input::placeholder,.diag-input textarea::placeholder{color:#a3aec6}
.diag-input input:hover,.diag-input textarea:hover{border-color:#BAC8FE}
.diag-input input:focus,.diag-input textarea:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(46,91,252,.14),0 10px 24px rgba(8,34,83,.08)}
.diag-input:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--blue-deep),var(--mint));transform:scaleX(0);transform-origin:center;transition:transform .35s cubic-bezier(.2,.72,.25,1)}
.diag-input:focus-within:after{transform:scaleX(1)}
.ct-choices{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.ct-choice{position:relative}
.ct-choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ct-choice span{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 16px;border:1px solid #dde4f5;border-radius:14px;background:rgba(255,255,255,.9);color:#3d4a6b;font-size:14px;font-weight:600;transition:border-color .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease,transform .25s ease;pointer-events:none}
.ct-choice span:before{content:"";position:relative;width:18px;height:18px;border:1px solid #cbd5ee;border-radius:50%;background:#fff;transition:border-color .22s ease,background .22s ease}
.ct-choice.is-multi span:before{border-radius:6px}
.ct-choice input:hover+span{border-color:#BAC8FE;transform:translateY(-1px)}
.ct-choice input:focus-visible+span{box-shadow:0 0 0 4px rgba(46,91,252,.14)}
.ct-choice input:checked+span{border-color:var(--blue);background:#fff;color:var(--blue-deep);box-shadow:0 0 0 4px rgba(46,91,252,.14),0 10px 24px rgba(8,34,83,.08)}
.ct-choice input:checked+span:before{border-color:transparent;background:linear-gradient(140deg,var(--blue-deep),var(--blue) 48%,var(--mint)) padding-box}
.ct-choice input:checked+span:after{content:"";position:absolute;left:22px;top:50%;width:4px;height:8px;margin-top:-6px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(42deg)}
.ct-other{display:none;margin-top:10px}
.ct-other.is-on{display:block}
.ct-error{display:none;margin:8px 0 0;color:#e5484d;font-size:12.5px;font-weight:700}
.diag-field.is-error .ct-error{display:block}
.diag-field.is-error .diag-input input,.diag-field.is-error .diag-input textarea{border-color:#e5484d;box-shadow:0 0 0 4px rgba(229,72,77,.12)}
.diag-field.is-error .ct-choice span{border-color:rgba(229,72,77,.55)}
.diag-select{position:relative}
.diag-select select{width:100%;min-height:52px;padding:13px 46px 13px 18px;border:1px solid #dde4f5;border-radius:14px;background:rgba(255,255,255,.9);color:var(--ink);font:inherit;font-size:14px;line-height:1.6;outline:0;appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}
.diag-select select.is-empty{color:#a3aec6}
.diag-select select option{color:var(--ink)}
.diag-select select:hover{border-color:#BAC8FE}
.diag-select select:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(46,91,252,.14),0 10px 24px rgba(8,34,83,.08)}
.diag-select:after,.diag-msel-btn:after{content:"";position:absolute;right:20px;top:50%;width:8px;height:8px;margin-top:-6px;border:2px solid #7d8699;border-top:0;border-left:0;transform:rotate(45deg);pointer-events:none;transition:transform .25s ease,border-color .25s ease,margin .25s ease}
.diag-select:focus-within:after{border-color:var(--blue)}
.diag-msel{position:relative}
.diag-msel-btn{position:relative;display:flex;align-items:center;width:100%;min-height:52px;margin:0;padding:13px 46px 13px 18px;border:1px solid #dde4f5;border-radius:14px;background:rgba(255,255,255,.9);color:var(--ink);font:inherit;font-size:14px;line-height:1.6;text-align:left;cursor:pointer;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}
.diag-msel-btn:hover{border-color:#BAC8FE}
.diag-msel-btn:focus-visible,.diag-msel.is-open .diag-msel-btn{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(46,91,252,.14),0 10px 24px rgba(8,34,83,.08);outline:0}
.diag-msel.is-open .diag-msel-btn:after{margin-top:-2px;border-color:var(--blue);transform:rotate(225deg)}
.msel-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msel-text.is-empty{color:#a3aec6}
.msel-count{flex:0 0 auto;margin-left:10px;padding:2px 8px;border-radius:999px;background:var(--blue-soft);color:var(--blue-deep);font-size:11px;font-weight:800}
.diag-msel-panel{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 8px);display:none;max-height:300px;padding:8px;border:1px solid #dde4f5;border-radius:16px;background:#fff;box-shadow:0 24px 54px rgba(8,34,83,.16),0 2px 6px rgba(8,34,83,.06);overflow:auto}
.diag-msel.is-open .diag-msel-panel{display:grid;gap:2px}
.msel-opt{position:relative;display:flex;align-items:center;gap:11px;margin:0;padding:11px 12px;border-radius:10px;color:#3d4a6b;font-size:14px;font-weight:600;cursor:pointer;transition:background .18s ease,color .18s ease}
.msel-opt:hover{background:#F4F7FF}
.msel-opt input{position:absolute;opacity:0;width:0;height:0}
.msel-opt i{position:relative;flex:0 0 20px;width:20px;height:20px;border:1px solid #cbd5ee;border-radius:7px;background:#fff;transition:border-color .22s ease,background .22s ease}
.msel-opt i:after{content:"";position:absolute;left:6px;top:2.5px;width:5px;height:10px;border:2px solid #fff;border-top:0;border-left:0;opacity:0;transform:rotate(42deg) scale(.6);transition:opacity .2s ease,transform .22s cubic-bezier(.34,1.4,.5,1)}
.msel-opt input:checked+i{border-color:transparent;background:linear-gradient(140deg,var(--blue-deep),var(--blue) 48%,var(--mint))}
.msel-opt input:checked+i:after{opacity:1;transform:rotate(42deg) scale(1)}
.msel-opt input:checked~span{color:var(--blue-deep)}
.msel-opt input:focus-visible+i{box-shadow:0 0 0 4px rgba(46,91,252,.18)}
.diag-field.has-open{z-index:45}
.diag-msel.is-single .msel-opt i{border-radius:50%}
.diag-msel.is-single .msel-opt i:after{left:5px;top:5px;width:8px;height:8px;border:0;border-radius:50%;background:#fff;transform:scale(.4)}
.diag-msel.is-single .msel-opt input:checked+i:after{transform:scale(1)}
.diag-field.is-error .diag-select select,.diag-field.is-error .diag-msel-btn{border-color:#e5484d;box-shadow:0 0 0 4px rgba(229,72,77,.12)}
.diag-card{overflow:visible}
.diag-card:before{left:28px;right:28px;border-radius:0 0 4px 4px}
.diag-submit-row{justify-content:flex-end}
.diag-agree{display:grid;gap:11px;margin-top:26px;padding-top:24px;border-top:1px dashed #cfd8ee}
.diag-check{display:flex;align-items:center;gap:11px;color:#3d4a6b;font-size:13.5px;cursor:pointer}
.diag-check input{position:absolute;opacity:0;width:0;height:0}
.diag-check i{position:relative;flex:0 0 20px;width:20px;height:20px;border:1px solid #cbd5ee;border-radius:7px;background:#fff;transition:border-color .22s ease,background .22s ease,transform .22s ease}
.diag-check i:after{content:"";position:absolute;left:6px;top:2.5px;width:5px;height:10px;border:2px solid #fff;border-top:0;border-left:0;opacity:0;transform:rotate(42deg) scale(.6);transition:opacity .2s ease,transform .22s cubic-bezier(.34,1.4,.5,1)}
.diag-check input:checked + i{border-color:transparent;background:linear-gradient(140deg,var(--blue-deep),var(--blue) 48%,var(--mint))}
.diag-check input:checked + i:after{opacity:1;transform:rotate(42deg) scale(1)}
.diag-check input:focus-visible + i{box-shadow:0 0 0 4px rgba(46,91,252,.18)}
.diag-check b{color:var(--blue-deep);font-weight:700}
.diag-check span{color:#7a8399}
.diag-check a{color:var(--blue-deep);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.diag-agree.is-error .diag-check i{border-color:#e5484d;box-shadow:0 0 0 4px rgba(229,72,77,.12)}
.diag-agree .ct-error{margin-top:0}
.diag-agree.is-error .ct-error{display:block}
.diag-submit-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px}
.diag-submit-note{color:#8b96b4;font-size:12.5px;line-height:1.6}
.diag-submit{position:relative;display:inline-flex;align-items:center;gap:9px;min-height:56px;padding:0 34px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:linear-gradient(140deg,var(--blue-deep),var(--blue) 50%,var(--mint));color:#fff;font-size:15px;font-weight:800;letter-spacing:-.01em;overflow:hidden;cursor:pointer;box-shadow:0 16px 34px rgba(46,91,252,.34),inset 0 1px 0 rgba(255,255,255,.45);transition:transform .24s ease,box-shadow .24s ease}
.diag-submit:before{content:"";position:absolute;top:-60%;bottom:-60%;left:-75%;width:38%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.85),transparent);transform:skewX(-22deg);transition:left .6s cubic-bezier(.3,.7,.3,1);pointer-events:none}
.diag-submit:hover{transform:translateY(-3px);box-shadow:0 26px 48px rgba(46,91,252,.42),inset 0 1px 0 rgba(255,255,255,.6)}
.diag-submit:hover:before{left:135%}
.diag-submit em{font-style:normal;transition:transform .25s ease}
.diag-submit:hover em{transform:translateX(4px)}
@media (max-width:960px){
  .diag-card{padding:36px 30px 32px}
  .diag-field{grid-template-columns:1fr;gap:9px}
  .diag-field>label,.diag-field.is-choice>label{padding-top:0}
}
@media (max-width:720px){
  .diag-card{padding:28px 20px 26px;border-radius:24px}
  .diag-card-head{display:block}
  .diag-required{margin-top:14px}
  .diag-submit-row{display:block}
  .diag-submit{width:100%;justify-content:center;margin-top:18px}
}
@media (prefers-reduced-motion:reduce){
  .diag-field{opacity:1;transform:none}
  .diag-submit:before{display:none}
}
.hp-field{position:absolute!important;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
.diag-submit.is-sending,.nl-submit.is-sending{opacity:.7;pointer-events:none}

/* ───── 구글폼 스타일 (2026-10-19) : 커버 → 제목 카드 → 질문 카드 → 제출 ───── */
.gf{position:relative;width:100%;max-width:760px;margin:0 auto;color:#202124;font-size:14px;letter-spacing:-.005em}
.gf-cover{position:relative;display:grid;place-items:center;height:170px;border:1px solid #dadce0;border-radius:8px;overflow:hidden;background:radial-gradient(520px 220px at 50% 50%,rgba(255,255,255,.95),rgba(255,255,255,0) 70%),radial-gradient(420px 260px at 8% 10%,rgba(46,91,252,.16),transparent 60%),radial-gradient(420px 260px at 92% 90%,rgba(78,212,209,.22),transparent 60%),linear-gradient(120deg,#E7EDFF 0%,#F4F7FF 48%,#E6F9F8 100%)}
.gf-cover img{position:relative;z-index:2;height:64px;width:auto;filter:drop-shadow(0 10px 22px rgba(8,34,83,.14))}
.gf-cover-text{position:relative;z-index:2;color:#071a3b;font-size:40px;font-weight:800;letter-spacing:-.04em}
.gf-ring{position:absolute;left:50%;top:50%;width:300px;height:300px;border:1px solid rgba(46,91,252,.16);border-radius:50%;transform:translate(-50%,-50%)}
.gf-ring.r2{width:460px;height:460px;border-color:rgba(46,91,252,.11)}
.gf-ring.r3{width:620px;height:620px;border-color:rgba(78,212,209,.16)}
.gf-spark{position:absolute;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#2E5BFC,#4ed4d1);box-shadow:0 0 14px rgba(46,91,252,.45)}
.gf-spark.s1{left:22%;top:30%;width:6px;height:6px}.gf-spark.s2{left:72%;top:22%}.gf-spark.s3{left:32%;top:74%;width:5px;height:5px;opacity:.7}.gf-spark.s4{left:80%;top:70%;width:6px;height:6px;opacity:.8}
.gf-card{position:relative;margin-top:12px;padding:22px 24px 24px;border:1px solid #dadce0;border-radius:8px;background:#fff}
.gf-title{padding:30px 24px 26px}
.gf-title:before{content:"";position:absolute;left:0;right:0;top:0;height:10px;border-radius:8px 8px 0 0;background:linear-gradient(90deg,#0D3FF2,#2E5BFC 55%,#4ed4d1)}
.gf-title .iq-kicker{margin:0 0 6px}
.gf-title h2{margin:0;font-size:28px;font-weight:700;line-height:1.35;letter-spacing:-.02em;color:#202124}
.gf-title>p{margin:10px 0 0;color:#5f6368;font-size:14px;line-height:1.65}
.gf-title .gf-req{margin:18px -24px 0;padding:14px 24px 0;border-top:1px solid #dadce0;color:#d93025;font-size:13.5px}
.gf-q h3{margin:0;color:#202124;font-size:16px;font-weight:600;line-height:1.5;word-break:keep-all}
.gf-q h3 em{margin-left:5px;color:#d93025;font-style:normal;font-weight:500}
.gf-help{margin:6px 0 0;color:#5f6368;font-size:13.5px;line-height:1.65;white-space:pre-line}
.gf-privacy{margin:14px 0 2px;color:#3c4043;font-size:13.5px;line-height:1.7}
.gf-privacy p{margin:0 0 10px}
.gf-privacy b{display:block;font-weight:600;color:#3c4043}
.gf-privacy b:before{content:"▶ "}
.gf-input{margin-top:18px}
.gf-input input,.gf-input textarea{display:block;width:100%;max-width:440px;padding:7px 0 8px;border:0;border-bottom:1px solid #dadce0;border-radius:0;background:transparent;color:#202124;font:inherit;font-size:14px;line-height:1.5;outline:0;transition:border-color .2s,box-shadow .2s}
.gf-input textarea{max-width:none;min-height:54px;resize:vertical}
.gf-input input::placeholder,.gf-input textarea::placeholder{color:#70757a}
.gf-input input:hover,.gf-input textarea:hover{border-bottom-color:#9aa0a6}
.gf-input input:focus,.gf-input textarea:focus{border-bottom-color:#2E5BFC;box-shadow:0 1px 0 0 #2E5BFC}
.gf-select{margin-top:18px;max-width:300px}
.gf-select .diag-msel-btn{min-height:46px;padding:10px 40px 10px 14px;border:1px solid #dadce0;border-radius:4px;background:#fff;color:#202124;font-size:14px;line-height:1.5;box-shadow:none}
.gf-select .diag-msel-btn:after{right:14px;width:7px;height:7px;border-color:#5f6368}
.gf-select .diag-msel-btn:hover{border-color:#9aa0a6}
.gf-select.is-open .diag-msel-btn,.gf-select .diag-msel-btn:focus-visible{border-color:#2E5BFC;box-shadow:0 0 0 2px rgba(46,91,252,.18)}
.gf-select .msel-text.is-empty{color:#70757a}
.gf-select .diag-msel-panel{top:calc(100% + 4px);border-radius:6px;padding:6px}
.gf-select .msel-opt{padding:10px 12px;border-radius:4px;font-weight:500;color:#202124}
.gf-options{display:grid;gap:14px;margin-top:18px}
.gf-opt{position:relative;display:inline-flex;align-items:center;gap:14px;margin:0;color:#202124;font-size:14px;line-height:1.5;cursor:pointer}
.gf-opt input{position:absolute;opacity:0;width:0;height:0}
.gf-opt i{position:relative;flex:0 0 20px;width:20px;height:20px;border:2px solid #5f6368;border-radius:3px;background:#fff;transition:border-color .2s,background .2s}
.gf-opt.is-radio i{border-radius:50%}
.gf-opt i:after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:2px solid #fff;border-top:0;border-left:0;opacity:0;transform:rotate(42deg)}
.gf-opt.is-radio i:after{left:4px;top:4px;width:8px;height:8px;border:0;border-radius:50%;background:#fff;transform:none}
.gf-opt input:checked+i{border-color:#2E5BFC;background:#2E5BFC}
.gf-opt input:checked+i:after{opacity:1}
.gf-opt input:focus-visible+i{box-shadow:0 0 0 6px rgba(46,91,252,.16)}
.gf-opt:hover i{border-color:#2E5BFC}
.gf-opt-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gf-other{display:none;align-items:center;gap:10px;margin-top:14px;color:#202124}
.gf-other.is-on{display:flex}
.gf-other>span{flex:0 0 auto;font-size:14px}
.gf-other input,.gf-other-inline input{flex:1;min-width:0;max-width:360px;padding:6px 0 7px;border:0;border-bottom:1px solid #dadce0;background:transparent;color:#202124;font:inherit;font-size:14px;outline:0}
.gf-other input:focus,.gf-other-inline input:focus{border-bottom-color:#2E5BFC;box-shadow:0 1px 0 0 #2E5BFC}
.gf-other-inline{display:none;flex:1;min-width:160px}
.gf-other-inline.is-on{display:block}
.gf .ct-error{display:none;margin:12px 0 0;color:#d93025;font-size:13px;font-weight:500}
.gf [data-field].is-error{border-color:#d93025}
.gf [data-field].is-error .ct-error{display:block}
.gf [data-field].is-error .gf-input input,.gf [data-field].is-error .gf-input textarea{border-bottom-color:#d93025}
.gf [data-field].is-error .gf-select .diag-msel-btn{border-color:#d93025}
/* 개인정보 동의 : 기존 체크박스 한 줄 방식 (.diag-agree/.diag-check 재사용), 카드 없이 점선 아래 */
.gf .diag-agree{gap:10px;margin-top:24px;padding:22px 4px 0;border-top:1px dashed #c3cde6}
.gf .diag-check{font-size:14px}
.gf .diag-check span{color:#3c4043}
.gf .diag-agree.is-error{border-top-color:#d93025}
.gf .iq-privacy>div{background:#fff;border:1px solid #dadce0;border-radius:8px}
.gf-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:18px}
.gf-submit em{margin-left:6px;font-style:normal}
.gf-submit{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 26px;border:0;border-radius:4px;background:#2E5BFC;color:#fff;font:inherit;font-size:14px;font-weight:600;letter-spacing:.01em;cursor:pointer;text-decoration:none;box-shadow:0 1px 2px rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15);transition:background .2s,box-shadow .2s}
.gf-submit:hover{background:#0D3FF2;box-shadow:0 1px 3px rgba(60,64,67,.3),0 4px 8px 3px rgba(60,64,67,.15);text-decoration:none}
.gf.is-sending .gf-submit{opacity:.7;pointer-events:none}
.gf-reset{flex:0 0 auto;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:#2E5BFC;font:inherit;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}
.gf-reset:hover{background:rgba(46,91,252,.08)}
.gf-note{margin:14px 0 0;color:#70757a;font-size:12px;line-height:1.6}
.gf .iq-done{margin-top:12px;padding:40px 24px 34px;text-align:center}
.gf .iq-done h3{font-size:22px}
.gf.is-done>*:not(.iq-done){display:none}
.gf.is-done .iq-done{display:grid}
/* 독립 페이지 : 히어로 숨기고 폼 폭에 맞춤 */
body.iq-page .diag-hero{display:none}
body.iq-page .diag-form-sec{padding:36px 0 70px}
body.iq-page .diag-form-sec>.container{max-width:760px}
body.iq-page .iq-chooser.diag-card{padding:34px 32px 36px}
/* 모달 안 */
.iq-modal-body{background:#F4F7FF}
.iq-modal-body .gf{max-width:none}
.iq-modal-body .gf-cover{height:128px}
.iq-modal-body .gf-cover img{height:52px}
.iq-modal-body .gf-title h2{font-size:22px}
@media (max-width:760px){
  .gf-cover{height:130px}
  .gf-cover img{height:50px}
  .gf-card{padding:18px 18px 20px;border-radius:8px}
  .gf-title h2{font-size:22px}
  .gf-title .gf-req{margin:16px -18px 0;padding:12px 18px 0}
  .gf-select{max-width:none}
  .gf-input input{max-width:none}
  .gf-actions{gap:10px}
  .gf-submit{flex:1 1 auto;min-width:0;padding:0 14px}
  .gf .diag-agree{padding-left:0;padding-right:0}
  .iq-modal-body .gf-cover{height:104px}
}