/* Career-only layout. Shared Loft Thai chrome and typography stay in site CSS. */
.lt-career-page .pl-main .pl-hero { height:auto; min-height:500px; padding-top:calc(var(--pl-header-offset) + 48px); padding-bottom:40px; }
.lt-career-page.v2-migration-page .pl-main .pl-hero .pl-hero__content { transform:none; }
.lt-career-page .pl-hero__intro { max-width:720px; }
.lt-career-language { position:absolute; top:calc(var(--pl-header-offset) + 16px); right:max(20px, calc((100% - 1180px)/2)); display:flex; gap:8px; }
.lt-career-language button { min-height:40px; padding:8px 14px; border:1px solid rgba(201,168,108,.6); background:transparent; color:#fff; font:600 12px var(--sans,Arial,sans-serif); cursor:pointer; }
.lt-career-language button[aria-pressed=true] { background:#c9a86c; color:#111; }
.lt-career-page .lt-career-roles { padding:64px 0; scroll-margin-top:0; }
.lt-career-roles .pl-section-head { gap:40px; margin-bottom:24px; padding-bottom:24px; }
.lt-career-roles .pl-heading h2 { font-size:clamp(34px,3.3vw,46px); }
.lt-career-roles .pl-heading h2 em { display:block; }
.lt-career-roles .pl-card { min-height:0; padding:26px; }
.lt-career-roles .pl-card__number { margin-bottom:20px; }
.lt-career-roles .pl-card h3 { font-size:30px; line-height:1.15; }
.lt-career-roles .pl-card p { flex:1; }
.lt-career-roles .pl-card a { align-self:flex-start; display:inline-flex; align-items:center; gap:12px; min-height:44px; margin-top:12px; color:#9b7338; font-size:13px; font-weight:700; text-underline-offset:5px; }
.lt-career-page :is(.lt-career-language button,.lt-career-roles a):focus-visible { outline:3px solid #c9a86c; outline-offset:4px; }

.lt-career-application { --ink:#1c1c1c; --muted:#68635c; --paper:#faf8f4; --gold:#9b7338; --line:#e5dfd5; background:var(--paper); color:var(--ink); font-family:var(--sans,"Raleway",Arial,sans-serif); line-height:1.6; }
.lt-career-application * { box-sizing:border-box; }
.lt-career-application [hidden] { display:none!important; }
.lt-career-application .apply { display:grid; grid-template-columns:260px minmax(0,1fr); align-items:start; gap:48px; padding:64px 0; scroll-margin-top:0; }
.lt-career-application aside { position:sticky; top:calc(var(--pl-header-offset) + 24px); }
.lt-career-application .eyebrow { margin:0 0 16px; color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.lt-career-application h2 { margin:0 0 20px; font:400 44px/1.12 var(--serif,"Cormorant Garamond",Georgia,serif); }
.lt-career-application aside p { margin:0 0 20px; font-size:15px; }
.lt-career-application aside ol { margin:24px 0; padding:16px 0 16px 20px; border-block:1px solid var(--line); }
.lt-career-application aside li { padding:5px 0; font-size:14px; }
.lt-career-application aside p.small { font-size:13px; }
.lt-career-application .apply form { min-width:0; margin:0; padding:32px; background:#fff; border:1px solid var(--line); box-shadow:0 8px 24px rgba(39,28,18,.035); }
.lt-career-application .small { margin:0 0 24px; font-size:13px; line-height:1.6; color:var(--muted); }
.lt-career-application h3 { margin:0 0 24px; font:400 32px/1.2 var(--serif,"Cormorant Garamond",Georgia,serif); scroll-margin-top:calc(var(--pl-header-offset) + 24px); }
.lt-career-application h3:focus { outline:none; }
.lt-career-application .progress { margin:0 0 12px; color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.lt-career-application .application-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding-bottom:24px; margin:0 0 28px; border-bottom:1px solid var(--line); }
.lt-career-application .application-steps button { display:flex; align-items:center; justify-content:flex-start; gap:8px; min-height:44px; padding:8px; border:0; border-bottom:2px solid var(--line); font-size:12px; line-height:1.35; text-align:left; color:var(--muted); }
.lt-career-application .application-steps span { display:grid; place-items:center; flex:none; width:23px; height:23px; border:1px solid var(--line); border-radius:50%; font-size:11px; }
.lt-career-application .application-steps [aria-current=step] { color:var(--ink); border-color:#c9a86c; background:var(--paper); font-weight:700; }
.lt-career-application .application-steps [aria-current=step] span { background:#c9a86c; border-color:#c9a86c; }
.lt-career-application button,.lt-career-application input,.lt-career-application select,.lt-career-application textarea { font:inherit; touch-action:manipulation; }
.lt-career-application button { min-height:48px; padding:12px 20px; border:1px solid var(--line); background:transparent; color:var(--ink); cursor:pointer; }
.lt-career-application button:disabled { cursor:default; }
.lt-career-application #send:disabled { cursor:wait; opacity:.7; }
.lt-career-application .button { display:inline-flex; align-items:center; justify-content:center; gap:24px; background:#c9a86c; border-color:#c9a86c; color:#111; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; }
.lt-career-application .button:hover { background:#dfbd7a; border-color:#dfbd7a; }
.lt-career-application :focus-visible { outline:3px solid #a78237; outline-offset:3px; }
.lt-career-application .fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.lt-career-application .field { display:flex; flex-direction:column; min-width:0; margin:0; }
.lt-career-application .wide { grid-column:1/-1; }
.lt-career-application label { display:block; margin:0 0 8px; font-size:14px; line-height:1.5; }
.lt-career-application .field>label { flex:1; }
.lt-career-application input:not([type=checkbox]),.lt-career-application select,.lt-career-application textarea { width:100%; min-height:48px; padding:11px 12px; border:1px solid #d8d0c3; border-radius:2px; background:#fff; color:var(--ink); font-size:16px; line-height:1.5; scroll-margin-block:calc(var(--pl-header-offset) + 24px); }
.lt-career-application textarea { resize:vertical; min-height:104px; }
.lt-career-application #role { margin-bottom:28px; }
.lt-career-application fieldset { min-width:0; border:0; padding:0; margin:0; }
.lt-career-application legend { padding:0; margin-bottom:12px; font-size:14px; line-height:1.5; }
.lt-career-application .role-questions>legend { margin-bottom:24px; color:var(--gold); font-size:16px; font-weight:600; }
.lt-career-application .check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.lt-career-application .check-grid label,.lt-career-application .consent { display:flex; align-items:flex-start; gap:10px; margin:0; padding:12px; background:var(--paper); border:1px solid transparent; cursor:pointer; }
.lt-career-application .check-grid label:has(:checked) { border-color:#c9a86c; background:#f5efdf; }
.lt-career-application input[type=checkbox] { width:18px; height:18px; margin:2px 0 0; flex:none; accent-color:#9b7338; }
.lt-career-application details { margin-top:28px; padding:20px 0 0; border-top:1px solid var(--line); }
.lt-career-application summary { min-height:32px; font-size:14px; font-weight:600; cursor:pointer; }
.lt-career-application details[open]>summary { margin-bottom:16px; }
.lt-career-application details p { margin:0 0 16px; color:var(--muted); font-size:13px; }
.lt-career-application .wizard-nav { display:flex; justify-content:space-between; gap:16px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.lt-career-application .wizard-nav #next { margin-left:auto; }
.lt-career-application .error { margin:6px 0 0; color:#a22620; font-size:13px; }
.lt-career-application .error:empty { display:none; }
.lt-career-application .error-summary { padding:18px; margin-bottom:24px; border:1px solid #a22620; background:#fff2ef; }
.lt-career-application .error-summary a { color:#86221f; text-underline-offset:3px; }
.lt-career-application .honey { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.lt-career-application .consent { margin:24px 0; }
.lt-career-application dl { margin:0; font-size:14px; }
.lt-career-application dt { padding-top:16px; font-weight:600; }
.lt-career-application dd { margin:6px 0 0; padding-bottom:16px; border-bottom:1px solid var(--line); color:var(--muted); white-space:pre-wrap; overflow-wrap:anywhere; }
.lt-career-application .success { padding:12px 20px; border-left:4px solid #9b7338; }
.lt-career-application .success h2 { font-size:30px; }
.lt-career-page.lt-career-form-active .contact-rail { visibility:hidden; pointer-events:none; }
html[lang=th] .lt-career-page :is(h1,h2,h3) { font-family:var(--sans,"Tahoma",sans-serif); line-height:1.45; letter-spacing:0; }
html[lang=th] .lt-career-page .pl-hero h1 { font-size:clamp(30px,4vw,46px); }
html[lang=th] .lt-career-application h3 { font-size:26px; }
html[lang=th] .lt-career-roles .pl-card h3 { font-size:24px; }
@media(max-width:980px) {
 .lt-career-roles .pl-section-head { gap:20px; }
 .lt-career-roles .pl-card-grid { gap:16px; }
 .lt-career-roles .pl-card { padding:24px; }
 .lt-career-roles .pl-card__number { margin-bottom:12px; }
 .lt-career-application .apply { grid-template-columns:1fr; gap:28px; }
 .lt-career-application aside { position:static; }
 .lt-career-application aside h2 br { display:none; }
 .lt-career-application aside h2 { font-size:36px; }
 .lt-career-application aside ol { display:none; }
 .lt-career-application aside p { margin-bottom:12px; }
 .lt-career-application aside p:last-child { margin-bottom:0; }
}
@media(max-width:760px) {
 .lt-career-page .pl-main .pl-hero { min-height:470px; padding-top:calc(var(--pl-header-offset) + 80px); padding-bottom:28px; }
 .lt-career-page .lt-career-roles { padding:40px 0; }
 .lt-career-roles .pl-card h3 { font-size:28px; }
 .lt-career-roles .pl-card a { margin-top:8px; }
 .lt-career-application .apply { padding:40px 0 48px; }
}
@media(max-width:600px) {
 .lt-career-application .apply form { padding:24px 18px; }
 .lt-career-application .fields { grid-template-columns:1fr; gap:20px; }
 .lt-career-application .check-grid { grid-template-columns:1fr; }
 .lt-career-application .application-steps { gap:6px; padding-bottom:20px; margin-bottom:24px; }
 .lt-career-application .application-steps button { flex-direction:column; gap:6px; padding:8px 2px; font-size:11px; text-align:center; }
 .lt-career-application .wizard-nav button { flex:1; padding-inline:12px; }
 .lt-career-application #send { width:100%; }
 .lt-career-application h3 { font-size:30px; }
 .lt-career-application .small { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .lt-career-page * { scroll-behavior:auto!important; } }
/* Keep the shared footer within the tablet viewport on this page. */
@media(min-width:641px) and (max-width:1280px) {
 .lt-career-page .lt-footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
 .lt-career-page .lt-footer-locations { grid-column:1/-1; min-width:0; }
}
.lt-career-page.lt-career-form-active .site-header { transform:none; transition:none; }

/* Optional CV, kept within the existing application form. */
.lt-career-application .cv-upload { margin-top:28px; padding:20px; border:1px solid var(--line); background:var(--paper); }
.lt-career-application .cv-upload>label:first-child { font-weight:600; }
.lt-career-application .cv-upload .small { margin-bottom:12px; }
.lt-career-application input[type=file] { font-size:14px; background:white; padding:10px; }
.lt-career-application input[type=file]::file-selector-button { margin-right:12px; padding:8px 10px; border:1px solid var(--line); background:var(--paper); color:var(--ink); cursor:pointer; }
.lt-career-application .cv-remove { display:flex; gap:10px; align-items:flex-start; margin-top:12px; }
.lt-career-application #cv-clear { margin-top:12px; font-size:13px; }
