/* V49 · visual QA refinements; scoped to Korean public UI to avoid changing English or portal business rules. */
.skypine-ko{font-family:system-ui,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:15px;line-height:1.58;letter-spacing:-.012em;font-weight:400}
.skypine-ko em{font-style:normal}
.skypine-ko :is(h1,h2,h3,h4){font-family:inherit;letter-spacing:-.025em;overflow-wrap:break-word}
.skypine-ko :is(.ko-h1,.k37-interior-hero .ko-h1,.k37-portfolio .ko-h1){font-size:clamp(25px,2.55vw,35px)!important;line-height:1.3;font-weight:650}
.skypine-ko :is(.k37-hero h1,.page-heading h1,.dark-heading h1){font-size:clamp(27px,2.95vw,39px)!important;line-height:1.3;font-weight:650}
.skypine-ko :is(.ko-h2,.k38-section-heading h2,.k37-section-head h2){font-size:clamp(21px,2vw,27px)!important;line-height:1.34;font-weight:650}
.skypine-ko :is(.ko-h3,.k38-card-copy h3,.k37-service-card h3,.k41-gallery-heading h3,.k44-fee-card h3,.k44-pricing-heading h3){font-size:clamp(16px,1.55vw,20px);font-weight:650;line-height:1.38}
.skypine-ko :is(.ko-intro,.k37-interior-hero .ko-intro,.page-subhead){font-size:15px!important;line-height:1.65}
.skypine-ko :is(.ko-section,.k37-interior-hero,.k38-page-hero){padding-top:32px;padding-bottom:32px}
.skypine-ko .ko-section:is(.k37-services,.k37-process,.k37-showcase){padding-block:39px}
.skypine-ko .k37-final-cta{padding-block:43px}
.skypine-ko .k37-footer{padding-top:34px;padding-bottom:17px}
.skypine-ko .k37-footer-bottom{margin-top:24px;padding-top:13px}
.skypine-ko :is(.k37-service-grid,.k38-service-grid,.k41-catalog-grid){gap:15px}
.skypine-ko :is(.ko-card,.k37-service-card,.k41-info-card){padding:18px}
.skypine-ko .k38-service-card .k38-card-copy{padding:15px 17px 17px}
.skypine-ko .k38-service-card .k38-card-copy p{font-size:14px;line-height:1.58}
.skypine-ko :is(.k37-button,.k37-button-ghost){min-height:42px;padding:9px 16px;gap:9px;font-size:14px;font-weight:600}
.skypine-ko .k37-hero-grid{gap:22px}
.skypine-ko .k37-hero-facts{margin-top:15px}
.skypine-ko .ko-kicker{font-size:12px;font-weight:600}
.skypine-ko .k44-fee-heading{margin-bottom:19px}
.skypine-ko .k44-fee-card{padding:20px 21px;border-radius:13px}
.skypine-ko .k44-fee-card h3{margin:10px 0 7px}
.skypine-ko .k44-fee-card dl{margin:10px 0 13px}
.skypine-ko .k44-fee-card dl>div{padding:9px 0;line-height:1.5}
.skypine-ko .k44-fee-tag{padding:9px 12px;font-weight:500}
.skypine-ko .k44-pricing-heading{margin:22px 0 12px}
.skypine-ko .k44-rental-table tr>*{padding:10px 11px;line-height:1.42}
.skypine-ko .k44-rental-table thead th{padding:14px 9px}
.skypine-ko .k44-rental-table thead strong{font-size:1.4rem;font-weight:650}
.skypine-ko .k44-fee-note{margin-top:15px;padding:10px 13px}
.skypine-ko .k44-fee-actions{margin-top:16px}
.skypine-ko .k44-fee-overline{font-size:13px;gap:9px}
.skypine-ko .k44-fee-icon{width:29px;height:29px;font-weight:650}
.skypine-ko .k37-process-timeline article{padding-bottom:25px;gap:15px}
.skypine-ko .k37-process-timeline h2{font-size:18px}
.skypine-ko .k37-process-timeline p{font-size:14px;line-height:1.65}
/* Forms: reclaim excess whitespace without shrinking touch targets below a practical size. */
.skypine-ko .page-heading{padding-top:26px;padding-bottom:27px}
.skypine-ko .section-pad{padding-top:29px;padding-bottom:34px}
.skypine-ko .form-layout{gap:26px}
.skypine-ko .form-layout aside h2{font-size:clamp(20px,1.9vw,25px);line-height:1.35;font-weight:650;margin:7px 0 12px}
.skypine-ko .form-layout aside p,.skypine-ko .request-form p,.skypine-ko .request-form label{font-size:14px;line-height:1.53}
.skypine-ko .request-form :is(h2,h3,h4){font-weight:650}
.skypine-ko .request-form{padding:clamp(14px,1.8vw,23px);min-width:0}
.skypine-ko .request-form form>label:not(.form-consent){margin-bottom:11px}
.skypine-ko .request-form .form-row{gap:12px;margin-bottom:10px}
.skypine-ko .request-form label{font-weight:500;letter-spacing:0}
.skypine-ko .request-form input:not([type=checkbox]):not([type=radio]):not([type=file]),
.skypine-ko .request-form select{height:40px;min-height:40px;max-height:40px;padding:7px 11px;font-size:14px;font-weight:400;line-height:1.35;border-radius:7px}
.skypine-ko .request-form textarea{height:auto;min-height:80px;padding:9px 11px;font-size:14px;line-height:1.5;border-radius:7px;resize:vertical}
.skypine-ko .request-form textarea[rows="3"]{min-height:68px}
.skypine-ko .request-form textarea[rows="4"]{min-height:88px}
.skypine-ko .request-form input[type=file]{padding:8px 0;font-size:13px}
.skypine-ko .request-form input[type=checkbox]{width:16px;height:16px;min-width:16px;accent-color:#1676a1}
.skypine-ko .request-form .form-consent input[type=checkbox]{width:18px;height:18px;flex:0 0 18px}
.skypine-ko .request-form .form-consent{gap:11px;padding:11px 13px}
.skypine-ko .request-form fieldset[style]{margin:11px 0!important}
.skypine-ko .request-form fieldset[style] legend{font-weight:600!important;font-size:14px}
.skypine-ko .request-form .form-kicker{font-size:11px;letter-spacing:.035em;font-weight:600;margin-bottom:12px}
.skypine-ko .notice-card{padding:13px 15px;margin-bottom:13px}
.skypine-ko .notice-card p{margin-bottom:0}
.skypine-ko .request-form :is(input,select,textarea):focus-visible{outline:2px solid #2b83b4;outline-offset:1px}
/* V48 ownership/rental picker compacted without changing its field names, server workflow, or prices. */
.skypine-ko .k48-model-picker{padding:13px 15px;margin:0 0 14px;border-radius:10px}
.skypine-ko .k48-model-picker legend{font-size:14px;font-weight:650}
.skypine-ko .k48-model-picker p{font-size:13px;margin-bottom:9px;line-height:1.5}
.skypine-ko .k48-mode-choices{gap:7px}
.skypine-ko .k48-mode-choices label{padding:9px 10px;border-radius:8px;gap:10px}
.skypine-ko .k48-mode-choices input[type=radio]{width:16px;height:16px;min-width:16px;margin-top:2px}
.skypine-ko .k48-mode-choices strong{font-size:14px;font-weight:650;line-height:1.35}
.skypine-ko .k48-mode-choices small{font-size:12px;line-height:1.45;margin-top:2px;font-weight:400}
.skypine-ko .k48-custom-panel,.skypine-ko .k48-rental-panel{padding:12px 15px;margin:12px 0;border-radius:9px}
.skypine-ko .k48-custom-panel h3,.skypine-ko .k48-rental-panel h3{font-size:15px;font-weight:650;margin-bottom:5px}
.skypine-ko .k48-custom-panel p,.skypine-ko .k48-rental-panel p{margin:2px 0 7px;line-height:1.5;font-size:13px}
.skypine-ko .k48-rental-snapshot{padding:8px 10px;margin:9px 0;font-size:13px}
.skypine-ko .k48-rental-snapshot strong{font-weight:600}
.skypine-ko .k48-small-note{font-size:12px!important;line-height:1.48}
.skypine-ko .request-form label small{display:block;font-size:12px;line-height:1.45;font-weight:400;margin:3px 0 0}
.skypine-ko .request-form :is(.button,.ko-btn){min-height:42px;padding:9px 16px;font-size:14px;font-weight:600}
.skypine-ko [hidden]{display:none!important}
@media(min-width:980px){
 .skypine-ko .form-layout{display:grid;grid-template-columns:minmax(240px,.68fr) minmax(0,1.6fr);align-items:start;gap:26px}
 .skypine-ko .request-form .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:979px){.skypine-ko .form-layout{grid-template-columns:1fr}}
@media(max-width:680px){
 .skypine-ko .ko-section{padding-top:27px;padding-bottom:27px}
 .skypine-ko .form-layout{gap:17px}
 .skypine-ko .request-form{padding:14px}
 .skypine-ko .request-form .form-row{grid-template-columns:1fr}
 .skypine-ko .k44-fee-card{padding:16px}
 .skypine-ko .k48-model-picker{padding:12px}
 .skypine-ko .k48-custom-panel,.skypine-ko .k48-rental-panel{padding:11px}
}
