/* Lao inquiry form. Shares the service site's navy, blue and gold palette. */
.iq-page { background: #f3f6fb; color: #445570; }
.iq-page [hidden] { display: none !important; }
.iq-page .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.iq-header { background: #071831; border-bottom: 1px solid #ffffff1c; }
.iq-header-inner { display: flex; align-items: center; gap: 24px; min-height: 82px; }
.iq-back { margin-left: auto; color: #c3d3e9; font-size: .85rem; }
.iq-page .iq-whatsapp { border: 1px solid #4d8b75; background: #154538; color: #dbffef; font-size: .88rem; gap: 12px; }
.iq-page .iq-whatsapp:hover { background: #1b5948; }
.iq-hero { position: relative; overflow: hidden; background: radial-gradient(ellipse at 85% 60%, #184a7c99, transparent 55%), #071831; color: #b9c7de; }
.iq-hero-inner { display: grid; grid-template-columns: 1fr 270px; align-items: center; gap: 60px; padding-top: 44px; padding-bottom: 46px; }
.iq-eyebrow { font-size: .72rem; color: #91cfff; letter-spacing: .12em; margin-bottom: 16px; }
.iq-hero h1 { font-size: clamp(1.9rem, 3.1vw, 2.75rem); line-height: 1.65; margin-bottom: 16px; }
.iq-hero h1 span { color: #8fd0ff; }
.iq-hero p:not(.iq-eyebrow) { font-size: .92rem; max-width: 62ch; }
.iq-steps { display: flex; flex-wrap: wrap; gap: 12px 23px; margin-top: 28px; font-size: .79rem; color: #d4e1f4; }
.iq-steps li { display: flex; align-items: center; gap: 8px; }
.iq-steps span { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid #54749c; border-radius: 50%; color: #ffdb75; font: 600 10px system-ui, sans-serif; }
.iq-mobile-back { display: none; }
.iq-document { position: relative; margin: 8px 10px 8px 0; padding: 23px; background: #fff; border-radius: 13px; color: #153358; box-shadow: 15px 16px 0 #89bdfa14, 0 20px 40px #0003; transform: rotate(5deg); }
.iq-document-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; font: 700 18px system-ui, sans-serif; }
.iq-document-top em { color: #1878cd; font-style: normal; }
.iq-document-top > span { font-size: 10px; letter-spacing: .1em; padding: 5px 7px; background: #edf3ff; border-radius: 5px; color: #42628b; }
.iq-document p { font-weight: 700; font-size: 1rem !important; }
.iq-document-lines { margin: 14px 0; display: grid; gap: 6px; }
.iq-document-lines i { height: 4px; width: 90%; background: #e3ebf5; border-radius: 5px; }
.iq-document-lines i:last-child { width: 55%; }
.iq-document-row { font: 550 11px/2.3 system-ui, sans-serif; }
.iq-document-row span { color: #1878cd; margin-right: 6px; }
.iq-document-seal { margin: 15px -23px -23px; padding: 11px 20px; background: #ffda75; border-radius: 0 0 13px 13px; font-size: .75rem; display: flex; justify-content: space-between; }
.iq-workspace { padding: 38px 0 60px; }
.iq-layout { border: 0; display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 28px; align-items: start; min-width: 0; }
.iq-sections { display: grid; gap: 22px; }
.iq-section { border: 1px solid #dde5ef; border-radius: 20px; background: #fff; padding: 28px; box-shadow: 0 6px 24px #0b244703; }
.iq-section-heading { display: flex; align-items: start; gap: 13px; margin-bottom: 24px; }
.iq-number { flex: 0 0 36px; display: grid; place-items: center; height: 36px; border-radius: 11px; background: #eaf2ff; color: #1d57b9; font: 700 12px system-ui, sans-serif; }
.iq-page .iq-section h2 { color: #10233f; font-size: 1.2rem; line-height: 1.6; }
.iq-section-heading p { font-size: .78rem; margin-top: 3px; color: #5d6f88; }
.iq-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 17px 18px; }
.iq-full { grid-column: 1 / -1; }
.iq-field { display: flex; flex-direction: column; gap: 6px; }
.iq-field label { color: #203954; font-size: .86rem; font-weight: 600; }
.iq-optional { font-size: .77rem; color: #66768b; font-weight: 400; }
.iq-required { color: #b33633; }
.iq-field input, .iq-field textarea { width: 100%; border: 1px solid #c9d5e4; border-radius: 9px; background: #fcfdff; color: #10233f; font: inherit; font-size: 16px; line-height: 1.8; padding: 10px 12px; min-height: 47px; transition: border-color .15s, box-shadow .15s; }
.iq-field textarea { resize: vertical; }
.iq-field input::placeholder, .iq-field textarea::placeholder { color: #7c899a; font-size: .85rem; }
.iq-field :is(input, textarea):focus { border-color: #1d4ed8; outline: 2px solid #1d4ed825; outline-offset: 2px; background: #fff; }
.iq-field [aria-invalid="true"] { border-color: #b33633; }
.iq-error { font-size: .78rem; color: #b33633; }
.iq-error:empty { display: none; }
.iq-package-options { border: 0; }
#package-options { display: grid; gap: 10px; }
.iq-package { position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 16px; border: 1px solid #d4deeb; border-radius: 12px; cursor: pointer; transition: background .15s, border-color .15s, box-shadow .15s; }
.iq-package:hover, .iq-extra:hover { border-color: #749ace; background: #f8faff; }
.iq-package:has(input:checked), .iq-extra:has(input:checked) { border-color: #2460c5; box-shadow: inset 0 0 0 1px #2460c5; background: #f0f6ff; }
.iq-package input, .iq-extra input { position: absolute; left: 16px; top: 18px; width: 22px; height: 22px; opacity: 0; z-index: 1; cursor: pointer; }
.iq-choice-mark { display: block; width: 21px; height: 21px; border: 1.5px solid #a0b2ca; border-radius: 5px; background: #fff; margin-top: 3px; }
input:checked + .iq-choice-mark { background: #1d57bc; border-color: #1d57bc; }
input:checked + .iq-choice-mark::after { content: ''; display: block; width: 6px; height: 11px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); margin: 2px 0 0 6px; }
input:focus-visible + .iq-choice-mark { outline: 3px solid #f5b301; outline-offset: 4px; }
.iq-package-copy strong { display: block; font-size: .94rem; color: #163051; font-weight: 650; }
.iq-package-copy small { display: block; color: #5b6d86; font-size: .76rem; line-height: 1.7; margin-top: 3px; }
.iq-package-tag { display: inline-block; margin-top: 7px; border-radius: 4px; background: #e5ecf5; color: #4c6380; padding: 1px 6px; font-size: .65rem; }
.iq-package:first-child .iq-package-tag { background: #fff0c7; color: #795411; }
.iq-package-price { font-size: .87rem; color: #14345d; font-weight: 700; padding-top: 1px; white-space: nowrap; }
.iq-fee-notice { font-size: .76rem; line-height: 1.9; border-top: 1px solid #e1e7f0; margin-top: 20px; padding-top: 17px; color: #596b82; }
.iq-duns { color: #1b5196; font-size: .78rem; padding: 12px 14px; background: #eef5ff; border-radius: 8px; margin-top: 14px; }
.iq-extra { position: relative; display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 12px; cursor: pointer; padding: 16px; border: 1px solid #d4deeb; border-radius: 12px; margin-bottom: 10px; font-size: .9rem; color: #203954; }
.iq-extra strong { font-weight: 600; }
.iq-extra-price { font-size: .82rem; color: #4b6280; }
.iq-extra-details { background: #f4f7fc; border-radius: 10px; padding: 16px; margin-top: 12px; }
.iq-hint { font-size: .73rem; color: #64758c; }
.iq-notes { margin-top: 25px; }
.iq-summary { position: sticky; top: 24px; padding: 26px; background: linear-gradient(155deg, #0b2447, #0d2c4f); border: 1px solid #234970; color: #c9d9ed; border-radius: 20px; box-shadow: 0 18px 40px #12305916; }
.iq-summary-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.iq-summary-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #ffffff0d; color: #93d2ff; }
.iq-summary-icon svg { width: 24px; }
.iq-summary-badge { border-radius: 30px; padding: 4px 10px; border: 1px solid #517395; color: #b8dcff; font-size: .69rem; }
.iq-page .iq-summary h2 { font-size: 1.12rem; line-height: 1.65; }
.iq-summary-intro { font-size: .79rem; color: #a8c0dc; margin: 4px 0 22px; }
.iq-summary-lines { display: grid; gap: 13px; font-size: .81rem; }
.iq-summary-lines > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 3px 10px; }
.iq-summary-lines dt { flex: 1 1 120px; }
.iq-summary-lines dd { color: #fff; }
.iq-total { border-top: 1px solid #ffffff26; padding-top: 19px; margin-top: 22px; display: flex; flex-direction: column; }
.iq-total > span { font-size: .78rem; color: #c7d8eb; }
.iq-total output { font-size: 1.7rem; font-weight: 700; color: #ffcf53; line-height: 1.6; margin-top: 5px; letter-spacing: -.025em; }
.iq-total small { font-size: .74rem; }
.iq-summary-notice { font-size: .75rem; line-height: 1.9; color: #b6cce5; margin-top: 14px; }
#other-summary-note { padding: 10px 12px; border-left: 2px solid #ffcf53; background: #ffffff08; color: #ffdf8f; }
.iq-page .iq-download { width: 100%; margin-top: 22px; gap: 11px; font-size: .96rem; }
.iq-download svg { width: 20px; height: 20px; }
.iq-download:disabled { opacity: .7; cursor: wait; transform: none; }
.iq-summary-error { font-size: .8rem; color: #ffd4cc; margin-top: 16px; }
.iq-download-status { font-size: .78rem; color: #baf0d7; margin-top: 10px; }
.iq-download-status:empty { display: none; }
.iq-download-again { display: block; color: #a4d5ff; text-decoration: underline; margin-top: 8px; font-size: .8rem; }
.iq-privacy { font-size: .73rem; line-height: 1.9; text-align: center; color: #a6bfdc; margin-top: 14px; }
.iq-contact { border-top: 1px solid #ffffff26; margin-top: 24px; padding-top: 21px; text-align: center; }
.iq-contact p { font-size: .8rem; margin-bottom: 11px; }
.iq-contact .btn { width: 100%; }
.iq-contact small { font-size: .75rem; display: block; margin-top: 9px; color: #b1c8e3; }
.iq-footer { background: #eaf0f7; border-top: 1px solid #dce4ef; padding: 22px 0; font-size: .77rem; }
.iq-footer .container { display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: center; }
.iq-footer .container > span { margin-right: auto; }
.iq-footer a { color: #305e99; }
.iq-alert, .iq-load-message { margin-bottom: 20px; padding: 16px; border: 1px solid #d2dfef; border-radius: 12px; background: #fff; font-size: .9rem; }
@media (max-width: 1050px) { .iq-layout { grid-template-columns: minmax(0, 1fr) 310px; gap: 20px; } .iq-section, .iq-summary { padding: 22px; } .iq-package { grid-template-columns: 22px 1fr; } .iq-package-price { grid-column: 2; padding-top: 0; } .iq-hero-inner { gap: 35px; } }
@media (max-width: 820px) { .iq-layout { grid-template-columns: 1fr; } .iq-summary { position: static; } .iq-hero-inner { grid-template-columns: 1fr; } .iq-document { display: none; } .iq-back { display: none; } .iq-header .iq-whatsapp { margin-left: auto; } .iq-mobile-back { display: inline-block; color: #b0c8e5; font-size: .78rem; margin-bottom: 20px; } .iq-hero-inner { padding-top: 25px; padding-bottom: 32px; } .iq-package { grid-template-columns: 22px 1fr auto; } .iq-package-price { grid-column: auto; } .iq-summary { max-width: none; } }
@media (max-width: 520px) { .iq-header-inner { min-height: 72px; gap: 8px; } .iq-header .brand-name { font-size: 1rem; } .iq-header .brand-mark { width: 30px; height: 30px; } .iq-page .iq-header .btn { font-size: .73rem; padding: 8px 11px; min-height: 40px; } .iq-hero h1 { font-size: 1.75rem; } .iq-hero p:not(.iq-eyebrow) { font-size: .86rem; } .iq-steps { gap: 10px; font-size: .7rem; } .iq-steps span { width: 23px; height: 23px; } .iq-workspace { padding-top: 20px; padding-bottom: 35px; } .iq-section { padding: 20px 16px; border-radius: 15px; } .iq-fields { grid-template-columns: 1fr; } .iq-section-heading { gap: 10px; } .iq-page .iq-section h2 { font-size: 1.1rem; } .iq-package { grid-template-columns: 21px 1fr; padding: 14px; gap: 7px 11px; } .iq-package-price { grid-column: 2; } .iq-extra { grid-template-columns: 21px 1fr; padding: 14px; gap: 4px 11px; } .iq-extra-price { grid-column: 2; } .iq-summary { padding: 24px; } .iq-footer .container { flex-direction: column; align-items: start; gap: 8px; } }
@media (prefers-reduced-motion: reduce) { .iq-page * { scroll-behavior: auto !important; } }
