/* —— RWA × Laos · Partnership application form (shared by index.html popup and apply.html) ——
   Ported from the Next.js ApplyForm.tsx. Every selector is scoped to .apply-root so it
   never collides with host-page styles. Modal chrome (.apply-overlay/.apply-dialog/.apply-close)
   lives in index.html; this file is the page-neutral form. */
.apply-root{--rwa-paper:#fff;--rwa-bg:#f7f7f8;--rwa-bg-2:#f4f5f7;--rwa-ink:#111418;--rwa-ink-soft:#3a4047;--rwa-muted:#6b7178;--rwa-muted-2:#9aa0ae;--rwa-line:#e2e2e5;--rwa-line-2:#eaeaec;--rwa-accent:#111418;--rwa-accent-soft:#f0f0f2;--rwa-required:#e5484d;--rwa-danger:#b4381f;--rwa-code-bg:#0e0f12;--radius:2px;--radius-lg:4px;--shadow-sm:0 6px 16px -8px rgba(17,20,24,.18),0 1px 2px rgba(17,20,24,.06);--shadow-lg:0 24px 48px -16px rgba(17,20,24,.18),0 4px 12px -4px rgba(17,20,24,.08);--sans:'Pretendard','Inter Tight','IBM Plex Sans KR',-apple-system,system-ui,sans-serif;font-family:var(--sans);color:var(--rwa-ink);background:var(--rwa-bg);line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.apply-root *{box-sizing:border-box;}
.apply-root .apply-wrap{max-width:1160px;margin:0 auto;padding:clamp(28px,4.5vw,60px) clamp(20px,5vw,40px) 72px;}
.apply-root .layout{display:grid;grid-template-columns:minmax(0,1fr) 332px;gap:28px;align-items:start;}
.apply-root .form-col{min-width:0;}
.apply-root .aside-col{position:sticky;top:8px;display:flex;flex-direction:column;gap:16px;}
.apply-root .aside-card{background:var(--rwa-paper);border:1px solid var(--rwa-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:26px 24px;}
.apply-root .aside-card .eyebrow{margin:0 0 20px;}
.apply-root .why-item{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--rwa-line-2);}
.apply-root .why-item:last-child{padding-bottom:0;margin-bottom:0;border-bottom:none;}
.apply-root .why-item h4{font-size:15px;font-weight:600;letter-spacing:-.012em;line-height:1.45;margin:0 0 5px;}
.apply-root .why-item p{font-size:13.5px;font-weight:400;color:var(--rwa-muted);line-height:1.65;margin:0;}
.apply-root .get-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px;}
.apply-root .get-list li{display:flex;gap:11px;align-items:flex-start;font-size:14px;font-weight:400;letter-spacing:-.01em;color:var(--rwa-ink-soft);line-height:1.5;}
.apply-root .get-list svg{flex:none;margin-top:2px;color:var(--rwa-ink);}
.apply-root .contact-card{background:var(--rwa-code-bg);border-color:var(--rwa-code-bg);}
.apply-root .contact-card .label{font-size:13px;color:rgba(255,255,255,.62);margin:0 0 8px;}
.apply-root .contact-card a{font-family:var(--sans);font-size:14.5px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:1px;transition:border-color .15s ease;}
.apply-root .contact-card a:hover{border-color:#fff;}
.apply-root .hero{margin-bottom:clamp(28px,4vw,48px);display:block;min-height:0;padding:0;text-align:left;align-items:flex-start;justify-content:flex-start;background:transparent;position:static;overflow:visible;}
.apply-root .eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#1008a9;margin:0 0 20px;}
.apply-root .eyebrow::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:#1008a9;animation:applyEyebrowPulse 3.2s ease infinite;}
@keyframes applyEyebrowPulse{0%{box-shadow:rgba(16,8,169,.6) 0 0 0 0;}70%{box-shadow:rgba(16,8,169,0) 0 0 0 5.6px;}100%{box-shadow:rgba(16,8,169,0) 0 0 0 0;}}
.apply-root .hero .eyebrow{color:#1008a9;font-weight:500;margin-bottom:12px;}
@media (prefers-reduced-motion:reduce){.apply-root .eyebrow::before{animation:none;}}
.apply-root .hero h1{font-family:var(--sans);font-weight:300;font-size:clamp(26px,3.4vw,36px);line-height:1.2;letter-spacing:-.03em;margin:0 0 24px;}
.apply-root .hero h1 em{font-style:normal;color:var(--rwa-accent);font-weight:500;}
.apply-root .hero p{max-width:62ch;font-size:clamp(15px,1.6vw,17px);font-weight:300;line-height:1.7;color:var(--rwa-muted);margin:0;}
.apply-root .meta{display:flex;flex-wrap:wrap;gap:8px;}
.apply-root .pill{font-family:var(--sans);font-size:11.5px;letter-spacing:.06em;color:var(--rwa-ink-soft);border:1px solid var(--rwa-line);background:var(--rwa-paper);border-radius:999px;padding:6px 12px;}
.apply-root form{margin:0;}
.apply-root .section{background:var(--rwa-paper);border:1px solid var(--rwa-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:clamp(24px,3.4vw,40px);margin-bottom:20px;}
.apply-root .section-head{display:flex;gap:18px;align-items:baseline;padding-bottom:22px;margin-bottom:26px;border-bottom:1px solid var(--rwa-line-2);}
.apply-root .section-no{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--rwa-accent);letter-spacing:0;flex:none;padding-top:2px;}
.apply-root .section-head h2{font-size:clamp(19px,2.2vw,22px);font-weight:500;letter-spacing:-.025em;line-height:1.4;margin:0 0 5px;}
.apply-root .section-head p{margin:0;font-size:14.5px;font-weight:400;line-height:1.7;letter-spacing:-.01em;color:var(--rwa-muted);}
.apply-root .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 24px;}
.apply-root .field{display:flex;flex-direction:column;gap:8px;min-width:0;}
.apply-root .field.full{grid-column:1 / -1;}
.apply-root label{font-size:13px;font-weight:500;color:var(--rwa-ink-soft);display:flex;align-items:center;gap:6px;}
.apply-root .req{color:var(--rwa-required);font-size:14px;font-weight:700;line-height:1;}
.apply-root .opt{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--rwa-muted-2);}
.apply-root .hint{font-size:12px;color:var(--rwa-muted);margin:2px 0 0;}
.apply-root input[type="text"],.apply-root input[type="email"],.apply-root input[type="tel"],.apply-root input[type="url"],.apply-root select,.apply-root textarea{width:100%;font-family:var(--sans);font-size:14.5px;color:var(--rwa-ink);background:var(--rwa-paper);border:1px solid var(--rwa-line);border-radius:var(--radius);padding:12px 14px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;appearance:none;}
.apply-root input::placeholder,.apply-root textarea::placeholder{color:var(--rwa-muted-2);}
.apply-root input:hover,.apply-root select:hover,.apply-root textarea:hover{border-color:var(--rwa-muted-2);}
.apply-root input:focus,.apply-root select:focus,.apply-root textarea:focus{outline:none;border-color:var(--rwa-accent);box-shadow:0 0 0 3px var(--rwa-accent-soft);}
.apply-root textarea{resize:vertical;min-height:120px;line-height:1.6;}
.apply-root select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7184' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;cursor:pointer;}
.apply-root select:invalid{color:var(--rwa-muted-2);}
.apply-root .check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.apply-root .check{position:relative;display:flex;align-items:center;gap:11px;border:1px solid var(--rwa-line);border-radius:var(--radius);padding:13px 15px;cursor:pointer;font-size:14px;color:var(--rwa-ink-soft);transition:border-color .15s ease,background .15s ease;user-select:none;}
.apply-root .check:hover{border-color:var(--rwa-muted-2);}
.apply-root .check input{position:absolute;opacity:0;pointer-events:none;}
.apply-root .check .box{flex:none;width:18px;height:18px;border:1.5px solid var(--rwa-line);border-radius:var(--radius);display:grid;place-items:center;transition:all .15s ease;}
.apply-root .check .box svg{width:11px;height:11px;opacity:0;transform:scale(.6);transition:all .15s ease;}
.apply-root .check input:checked ~ .box{background:var(--rwa-accent);border-color:var(--rwa-accent);}
.apply-root .check input:checked ~ .box svg{opacity:1;transform:scale(1);}
.apply-root .check input:checked ~ .label-txt{color:var(--rwa-ink);font-weight:500;}
.apply-root .check:has(input:checked){border-color:var(--rwa-accent);background:var(--rwa-accent-soft);}
.apply-root .check input:focus-visible ~ .box{box-shadow:0 0 0 3px var(--rwa-accent-soft);}
.apply-root .dropzone{border:1.5px dashed var(--rwa-line);border-radius:var(--radius-lg);background:var(--rwa-bg);padding:26px 20px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease;}
.apply-root .dropzone:hover,.apply-root .dropzone.drag{border-color:var(--rwa-accent);background:var(--rwa-accent-soft);}
.apply-root .dropzone svg{display:block;margin:0 auto 10px;color:var(--rwa-muted);}
.apply-root .dropzone strong{font-size:14px;font-weight:600;color:var(--rwa-ink);}
.apply-root .dropzone span{display:block;font-size:12px;color:var(--rwa-muted);margin-top:4px;}
.apply-root .filelist{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
.apply-root .filelist li{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--sans);font-size:12px;color:var(--rwa-ink-soft);border:1px solid var(--rwa-line);border-radius:var(--radius);padding:9px 12px;background:var(--rwa-paper);}
.apply-root .filelist button{border:none;background:none;color:var(--rwa-muted);cursor:pointer;font-size:16px;line-height:1;padding:0 2px;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;}
.apply-root .filelist button:hover{color:var(--rwa-danger);}
.apply-root .consent{display:flex;gap:13px;align-items:flex-start;background:var(--rwa-bg);border:1px solid var(--rwa-line);border-radius:var(--radius-lg);padding:18px 20px;cursor:pointer;}
.apply-root .consent input{position:absolute;opacity:0;pointer-events:none;}
.apply-root .consent .box{flex:none;margin-top:1px;width:18px;height:18px;border:1.5px solid var(--rwa-line);border-radius:var(--radius);display:grid;place-items:center;transition:all .15s ease;}
.apply-root .consent .box svg{width:11px;height:11px;opacity:0;transform:scale(.6);transition:all .15s ease;}
.apply-root .consent input:checked ~ .box{background:var(--rwa-accent);border-color:var(--rwa-accent);}
.apply-root .consent input:checked ~ .box svg{opacity:1;transform:scale(1);}
.apply-root .consent span:last-child{font-size:13px;line-height:1.6;color:var(--rwa-ink-soft);font-weight:400;}
.apply-root .actions{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.apply-root .actions .note{font-size:12.5px;color:var(--rwa-muted);max-width:46ch;}
.apply-root .btn{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:-.01em;color:#fff;background:var(--rwa-ink);border:1px solid var(--rwa-ink);border-radius:var(--radius);padding:14px 28px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:transform .12s ease,background .15s ease,box-shadow .15s ease;}
.apply-root .btn:hover{background:#000;box-shadow:var(--shadow-lg);transform:translateY(-1px);}
.apply-root .btn:active{transform:translateY(0);}
.apply-root .btn svg{transition:transform .15s ease;}
.apply-root .btn:hover svg{transform:translateX(3px);}
.apply-root .field.error input,.apply-root .field.error select,.apply-root .field.error textarea{border-color:var(--rwa-danger);box-shadow:0 0 0 3px rgba(180,56,31,.1);}
.apply-root .err-msg{font-size:12px;color:var(--rwa-danger);display:none;}
.apply-root .field.error .err-msg{display:block;}
.apply-root .done{display:none;text-align:center;background:var(--rwa-paper);border:1px solid var(--rwa-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:clamp(40px,6vw,72px) 32px;}
.apply-root .done.show{display:block;}
.apply-root .done .mark{width:56px;height:56px;margin:0 auto 22px;border-radius:50%;background:var(--rwa-accent-soft);display:grid;place-items:center;color:var(--rwa-accent);}
.apply-root .done h2{font-size:24px;font-weight:500;margin:0 0 10px;letter-spacing:-.025em;}
.apply-root .done p{color:var(--rwa-muted);margin:0;font-size:15px;font-weight:400;line-height:1.7;}
@media (max-width:980px){.apply-root .layout{grid-template-columns:1fr;}.apply-root .aside-col{position:static;top:auto;}}
@media (max-width:680px){.apply-root .grid,.apply-root .check-grid{grid-template-columns:1fr;}.apply-root .actions{flex-direction:column;align-items:stretch;}.apply-root .actions .btn{justify-content:center;}
/* Prevent iOS Safari auto-zoom on focus: form controls must be >=16px */
.apply-root input[type="text"],.apply-root input[type="email"],.apply-root input[type="tel"],.apply-root input[type="url"],.apply-root select,.apply-root textarea{font-size:16px;}}
