/* SEHAT ONLINE theme v1.0.39 · Cohesive public intake form language.
   Authentication, registration and clinical portal forms are not restyled. */
.so-forms-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0;border-radius:26px;overflow:hidden;background:#fff;border:1px solid #e3e6e8;box-shadow:0 15px 55px #243b5610}
.so-forms-story{display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;min-width:0;min-height:630px;padding:clamp(36px,4vw,70px);background:radial-gradient(ellipse at 105% 25%,#527da0a8,transparent 53%),linear-gradient(132deg,#142e49,#254965 60%,#416781);color:#fff}
.so-forms-story:after{content:"";position:absolute;pointer-events:none;border:1px solid #b9d5e330;box-shadow:0 0 0 50px #b9d5e310,0 0 0 104px #b9d5e307;width:480px;height:480px;border-radius:50%;bottom:-320px;left:-330px}
.so-forms-story-number,.so-forms-story-kicker,.so-forms-kicker{font-size:11px!important;letter-spacing:.17em;font-weight:850;text-transform:uppercase}
.so-forms-story-number,.so-forms-story-kicker{color:#bcd7e7!important}
.so-forms-story :is(h2,h3){font-family:'DM Sans',system-ui,sans-serif!important;font-size:clamp(43px,4.2vw,72px)!important;line-height:1.09!important;letter-spacing:-.055em!important;color:#fff!important;margin:15px 0 29px!important}
.so-forms-story :is(h2,h3) span{color:#f4c89e!important}
.so-forms-story>div>p:last-child{font-size:clamp(14px,1.2vw,17px);line-height:1.76;color:#deebf4!important;max-width:460px}
.so-forms-story-bottom{border-top:1px solid #d5e5ec44;padding-top:23px;position:relative;z-index:1}
.so-forms-story-bottom strong{font-size:11px;letter-spacing:.15em;font-weight:850;color:#e1edf4}.so-forms-story-bottom p{font-size:12px;line-height:1.8;color:#c9dbe9;max-width:390px}
.so-forms-right{padding:clamp(34px,4.7vw,77px);min-width:0;background:#fff}
.so-forms-logo{max-width:255px;min-height:50px;display:flex;align-items:center;margin-bottom:34px}
.so-forms-logo :is(img,svg){max-width:100%;max-height:75px;height:auto;width:auto;object-fit:contain}
.so-forms-kicker{color:#6286a5!important;margin:0 0 16px!important}
.so-forms-right>h3{font-family:'DM Sans',system-ui,sans-serif!important;color:#183450!important;font-size:clamp(29px,3vw,45px)!important;letter-spacing:-.045em!important;margin:0 0 13px!important;line-height:1.18!important}
.so-forms-subtitle{font-size:14px;color:#61788d;line-height:1.7;margin:0 0 23px}
.so-forms-right .so-intern-public{margin:0!important;max-width:none!important;width:100%!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;min-width:0!important;color:#183450!important}
.so-forms-right .so-intern-public h2{font-family:'DM Sans',sans-serif;font-size:24px!important;line-height:1.2!important;letter-spacing:-.035em;color:#193750!important;margin:0 0 13px!important}
.so-forms-right .so-intern-public>p{color:#62758a!important;line-height:1.7;font-size:13px}
.so-forms-right form:not(.so-login-form){display:flex;flex-direction:column;gap:12px;width:100%;min-width:0}
.so-forms-right form:not(.so-login-form)>p{margin:0 0 8px}
.so-forms-right form:not(.so-login-form) label{display:block;color:#26435f;font-size:12px;font-weight:800;line-height:1.55}
.so-forms-right form:not(.so-login-form) :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){display:block;box-sizing:border-box;min-height:51px;width:100%!important;max-width:100%!important;min-width:0!important;margin:8px 0 0!important;padding:13px 15px!important;background:#f4f6f8!important;color:#183a56!important;border:1px solid #e6edf2!important;border-radius:11px!important;font:inherit;font-size:13px!important;outline:0}
.so-forms-right form:not(.so-login-form) :is(input,select,textarea):focus-visible{border-color:#6485a6!important;box-shadow:0 0 0 3px #cbdae17a!important}
.so-forms-right form:not(.so-login-form) textarea{resize:vertical;min-height:115px}
.so-forms-right form:not(.so-login-form) input[type=checkbox]{width:18px;height:18px;accent-color:#466f91;vertical-align:middle;margin-right:6px}
.so-forms-right form:not(.so-login-form) button[type=submit]{border:0!important;background:linear-gradient(110deg,#315e84,#668baa)!important;color:#fff!important;border-radius:11px!important;cursor:pointer!important;padding:14px 22px!important;min-height:52px;font:inherit;font-size:14px;font-weight:800!important;margin-top:7px;width:100%}
.so-forms-right form:not(.so-login-form) button[type=submit]:hover{filter:brightness(.94)}
.so-forms-right .so-wide-integration,.so-forms-right .so-v138-internship-form{max-width:100%!important;margin:0!important;min-width:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
.so-forms-right .so-integration-notice{margin-top:12px}
/* Career uses the identical approved split layout but retains its existing form handler. */
.so-join-form-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:0!important;border-radius:26px;overflow:hidden;background:white;border:1px solid #e3e6e8;box-shadow:0 15px 55px #243b5610}
.so-join-form-grid>div:first-child{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(38px,4.5vw,73px)!important;min-height:570px;background:radial-gradient(ellipse at 105% 25%,#527da0a8,transparent 53%),linear-gradient(132deg,#142e49,#254965 60%,#416781);color:#fff}
.so-join-form-grid>div:first-child .eyebrow{color:#c7dfed!important;letter-spacing:.18em}
.so-join-form-grid>div:first-child h2{font-family:'DM Sans',sans-serif!important;color:#fff!important;font-size:clamp(42px,4.2vw,71px)!important;line-height:1.13!important;letter-spacing:-.055em!important;margin:25px 0!important}
.so-join-form-grid>div:first-child p{color:#d9e9f2!important;line-height:1.7}
.so-join-form-grid>.so-v138-career-form{min-width:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:clamp(34px,4.5vw,77px)!important}
.so-join-form-grid .so-v138-career-form>h3{font-size:clamp(28px,3vw,42px)!important;color:#183450!important;margin:14px 0!important}
.so-join-form-grid .so-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:15px;row-gap:11px}
.so-join-form-grid .so-contact-form>label{grid-column:1 / -1}
.so-join-form-grid .so-contact-form>input,.so-join-form-grid .so-contact-form>select,.so-join-form-grid .so-contact-form>textarea,.so-join-form-grid .so-contact-form>button{grid-column:1 / -1}
.so-join-form-grid .so-contact-form :is(input,select,textarea){min-width:0!important;box-sizing:border-box;background:#f4f6f8!important;border:1px solid #e4edf3!important;border-radius:11px!important;min-height:49px!important}
.so-join-form-grid .so-contact-form>button{background:linear-gradient(110deg,#315e84,#668baa)!important;border:0!important;border-radius:11px!important;min-height:53px!important;color:white!important;font-weight:800}
/* Caller code vs phone number: compensate for theme-wide form input rules. */
.so-forms-right form .so-phone-enhanced{display:grid!important;grid-template-columns:90px minmax(0,1fr)!important;gap:10px!important}
.so-forms-right form .so-phone-enhanced input.so-dial-code{grid-column:1;width:90px!important;max-width:90px!important;margin:8px 0 0!important;padding:10px!important;text-align:center;font-weight:800!important}
.so-forms-right form .so-phone-enhanced input[type=tel]{grid-column:2;min-width:0!important;width:100%!important;margin:8px 0 0!important}
.so-join-form-grid .so-phone-enhanced input.so-dial-code{max-width:90px!important;width:90px!important}
.so-join-form-grid .so-phone-enhanced input[type=tel]{width:100%!important;min-width:0!important}
/* Contact-page phone and residence: restore a full-width residence row, no squeezed number. */
.so-c30-form .so-phone-enhanced{grid-template-columns:90px minmax(0,1fr)!important;width:100%!important}
.so-c30-form .so-phone-enhanced input.so-dial-code{width:90px!important;max-width:90px!important;grid-column:1}
.so-c30-form .so-phone-enhanced input[type=tel]{width:100%!important;min-width:0!important;grid-column:2}
.so-c30-form .so-country-residence-inline{width:100%;min-width:0;box-sizing:border-box}
/* Standalone plugin application routes use a full-width page frame. */
.so-forms-standalone{margin:55px auto 90px;width:min(1260px,calc(100% - 32px))}
.so-forms-standalone-content .so-intern-public>h2{margin:0 0 15px!important}
@media(max-width:920px){.so-forms-split,.so-join-form-grid{grid-template-columns:1fr!important}.so-forms-story,.so-join-form-grid>div:first-child{min-height:340px!important}.so-forms-story>div{margin:32px 0}.so-forms-story :is(h2,h3){font-size:clamp(36px,7vw,57px)!important}.so-forms-right,.so-join-form-grid>.so-v138-career-form{padding:clamp(25px,5vw,43px)!important}}
@media(max-width:500px){.so-forms-story,.so-join-form-grid>div:first-child{min-height:280px!important;padding:29px!important}.so-forms-right,.so-join-form-grid>.so-v138-career-form{padding:25px 20px!important}.so-forms-logo{margin-bottom:19px}.so-join-form-grid .so-contact-form{grid-template-columns:1fr}}

/* Reserve extra width for the actual phone number without changing the approved two-column arrangement. */
@media(min-width:760px){.so-c30-form .so-c30-contact-row{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}}
@media(max-width:470px){.so-c30-form .so-c30-fields-two{grid-template-columns:1fr!important}}
/* On medium screens the contact panel itself is narrow: stack Email and Phone
   rather than squeeze the actual phone-number field. */
@media(min-width:561px) and (max-width:1199px){.so-c30-form .so-c30-contact-row{grid-template-columns:1fr!important}}
