:root{--ila-blue: #00aeef;--ila-blue-dark: #027ca8;--ila-ink: #1f2933;--ila-muted: #6c757d;--ila-line: #dee2e6;--ila-panel: #f8f9ff}*{box-sizing:border-box;font-family:Sarabun,Arial,Helvetica,sans-serif}body{min-width:320px;min-height:100vh;margin:0;color:var(--ila-ink);background:linear-gradient(180deg,#fff 0% 30%,#00aeef55 100% 100%);background-repeat:no-repeat;background-attachment:fixed}h1,.subheading{font-family:Garamond,serif}h1,h2,p{margin-top:0}h1{margin-bottom:.4rem;font-size:1.75rem;font-weight:500;line-height:1.2}h2{margin-bottom:1rem;color:#495057;font-size:1.1rem;font-weight:600;text-transform:uppercase}p{color:var(--ila-muted);line-height:1.45}.page-shell{width:min(1120px,100% - 1.5rem);margin:0 auto;min-height:calc(100vh - 7rem);padding:1.5rem 0 4rem}.intro{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.step-number{display:grid;flex:0 0 2.5rem;width:2.5rem;height:2.5rem;place-items:center;border:2px solid var(--ila-blue);border-radius:50%;color:#212529;font-size:1.45rem;font-weight:500}.buyflow-form,.form-section,.summary-card,.order-summary,.legal-copy{display:grid;gap:1rem}.summary-card,.order-summary,.notice{padding:1.5rem;border:1px solid var(--ila-line);border-radius:.5rem;background:transparent;box-shadow:0 2px 4px #0000001a}.form-section,.legal-copy{padding:0;border:0;border-radius:0;background:transparent}.form-section+.form-section,.legal-copy{border-top:2px solid var(--ila-blue);padding-top:1.75rem}label{display:grid;gap:.45rem;color:#212529;font-size:.95rem;font-weight:500}input,select{width:100%;min-height:2.35rem;border:1px solid #ced4da;border-radius:.375rem;padding:.45rem .75rem;font:inherit;font-size:1rem;background:#fff}input[aria-invalid=true],select[aria-invalid=true]{border-color:#ff4b4b}input:focus,select:focus,button:focus-visible,a:focus-visible{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.field-error{margin-top:.25rem;color:#dc3545;font-size:.875rem;font-weight:500;line-height:1.4}.helper-copy,.form-section .helper-copy{margin:-.25rem 0 0;font-size:.9rem;font-weight:400}.wide-field,.divider-field,.question-row,.claims-section h2{grid-column:1/-1}.divider-field{border-top:2px solid var(--ila-blue);padding-top:1rem}fieldset{margin:0;border:0;padding:0}legend{margin-bottom:.75rem;color:var(--ila-ink);font-size:.95rem;font-weight:400;line-height:1.5}.radio-row{display:inline-grid;grid-template-columns:1rem auto;align-items:center;gap:.45rem;margin-right:1rem;color:#212529;font-size:.95rem;font-weight:500;text-transform:uppercase}.radio-row input{width:1rem;min-height:1rem;margin:0;padding:0;accent-color:var(--ila-blue)}.check-row{display:grid;grid-template-columns:1.2rem 1fr;align-items:start;gap:.65rem;font-size:.95rem;font-weight:400}.check-row input{width:1rem;min-height:1rem;margin-top:.2rem;accent-color:var(--ila-blue)}.btn{min-height:2.5rem;border:1px solid var(--ila-line);border-radius:.375rem;padding:.5rem 1rem;font:inherit;font-size:.95rem;font-weight:700;cursor:pointer}.btn-primary{border-color:var(--ila-blue);color:#fff;background:var(--ila-blue)}.btn-primary:hover{border-color:var(--ila-blue-dark);background:var(--ila-blue-dark)}.btn-light{color:var(--ila-blue-dark);background:#fff}.coverage-grid,.summary-layout{display:grid;gap:1rem}.fine-print{margin:1rem 0 0;font-size:.9rem}.summary-card header{display:flex;justify-content:space-between;gap:1rem}.summary-card dl,.order-summary dl{display:grid;gap:.7rem;margin:0}.summary-card dl div,.order-summary dl div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #edf2f7;padding-bottom:.5rem}dt{color:var(--ila-muted)}dd{margin:0;font-weight:400;text-align:right}.total{color:var(--ila-ink);font-size:1.1rem;font-weight:600}.total dd{font-weight:600}@media(min-width:700px){.page-shell{width:min(1120px,100% - 3rem)}.form-section{grid-template-columns:repeat(2,minmax(0,1fr))}.form-section h2,.legal-copy,.form-section .check-row{grid-column:1/-1}.coverage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-layout,.payment-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);align-items:start}.payment-layout .intro,.payment-layout app-action-buttons{grid-column:1/-1}}@media(max-width:768px){h1{font-size:1.5rem}}@media(max-width:576px){h1{font-size:1.25rem}input,select{padding:.75rem}.btn{font-size:.9rem;padding:.75rem 1rem}}
