/* V20: restrained layout and input sizing; no changes to auth or dual session logic. */
:root{--sk-v20-input-height:42px}
.site-page .form-row,.site-page .form-layout,.site-page .detail-grid,.site-page .contact-grid,.site-page .section-heading,.site-page .site-admin-grid{min-width:0}
.site-page .form-row>* , .site-page .form-layout>*,.site-page .detail-grid>*,.site-page .contact-grid>*,.site-page .section-heading>*,.site-page .site-admin-grid>*{min-width:0}
.site-page .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.6vw,16px)}
.site-page .form-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(26px,4.4vw,68px)}
.site-page .request-form{padding:clamp(19px,2.5vw,32px)}
.site-page .request-form label{margin-bottom:14px;font-weight:650}
.site-page .request-form :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select),
.site-page .login-panel input,
.site-page :is(.admin-form,.staff-form,.client-form) :is(input:not([type=checkbox]),select),
.site-page .ind-console input{min-height:var(--sk-v20-input-height);height:auto;padding:10px 12px;line-height:1.4;margin-top:6px;max-width:100%}
.site-page .request-form :is(textarea){padding:10px 12px;line-height:1.48;margin-top:6px;max-width:100%;resize:vertical}
.site-page .request-form textarea[name="sample_websites"]{min-height:0;height:auto}
.site-page .request-form input[type=file]{padding:9px 10px;max-width:100%;font-size:.9rem}
.site-page .request-form :is(input[type=checkbox],input[type=radio]){width:auto;min-height:0;flex-shrink:0}
.site-page .request-form .form-kicker{margin-bottom:19px}
.site-page .request-form .button{min-height:44px;padding:12px 18px}
.site-page .notice-card,.site-page .site-admin-card,.site-page .admin-shell-inner,.site-page .request-form{overflow-wrap:anywhere}
.site-page :is(img,video,iframe,svg){max-width:100%}
.site-page .container,.site-page .admin-shell-inner{max-width:100%}
.site-page .section-pad{padding-top:clamp(58px,5.8vw,90px);padding-bottom:clamp(58px,5.8vw,90px)}
.site-page .page-heading{padding-top:clamp(62px,6vw,88px);padding-bottom:clamp(63px,6vw,94px)}
.site-page .page-heading h1{font-size:clamp(42px,5.5vw,79px)}
.site-page .section-heading h2,.site-page .form-layout h2{font-size:clamp(32px,3.8vw,52px)}
.site-page .site-admin-grid .site-admin-card{min-width:0}
.site-page .site-admin-card h2,.site-page .project-card h3{overflow-wrap:anywhere}
.site-page .up-wrap,.site-page .up-panel{max-width:100%;min-width:0}
.site-page .up-wrap input:not([type=file]),.site-page .up-wrap select{min-height:42px;padding:10px 12px;max-width:100%}
.site-page .up-wrap textarea{padding:10px 12px;max-width:100%}
.site-page .up-history-scroll{max-width:100%;overflow-x:auto}
.site-page .skypine-up-home{color:inherit;text-decoration:none;cursor:pointer}
.site-page .skypine-up-home:focus-visible{outline:2px solid #478ca5;outline-offset:3px}
@media(max-width:1400px){.site-page .hero-copy h1{white-space:normal;overflow-wrap:normal}}
@media(max-width:900px){.site-page .form-layout{grid-template-columns:minmax(0,1fr);gap:26px}}
@media(max-width:650px){
 .site-page .form-row{grid-template-columns:minmax(0,1fr)}
 .site-page .request-form{padding:19px}
 .site-page .section-pad{padding-top:52px;padding-bottom:52px}
 .site-page .page-heading{padding-top:56px;padding-bottom:57px}
 .site-page .page-heading h1{font-size:clamp(35px,9vw,54px)}
 .site-page .hero-copy h1{white-space:normal}
 .site-page .request-form :is(input:not([type=checkbox]):not([type=radio]),select){min-width:0}
}
