:root{--ink:#0D1B2A;--green:#17A593;--line:#DFE5E8}*{box-sizing:border-box}body{margin:0;background:#F4F6F8;color:var(--ink);font:16px/1.6 'Work Sans',sans-serif}header,main{max-width:1020px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center}header img{object-fit:contain}h1,h2,h3{font-family:Montserrat,sans-serif;line-height:1.25}h1{font-size:clamp(28px,5vw,42px);max-width:740px}h2{font-size:23px}h3{font-size:18px}.lead{font-size:18px;color:#526170;max-width:720px}.card{background:white;border:1px solid var(--line);border-radius:20px;padding:24px;margin:18px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0}input,select,textarea,button,.button{font:inherit;border-radius:10px;min-height:48px;padding:11px 16px}input,select,textarea{border:1px solid #AAB6BE;background:white;width:100%}input[type=checkbox],input[type=radio]{width:22px;min-height:22px;accent-color:var(--green);flex-shrink:0}.check{display:flex;align-items:flex-start;gap:12px;padding:12px 0}.check input{margin-top:4px}button,.button{border:0;background:var(--green);color:#fff;font-weight:600;cursor:pointer;display:inline-block;text-decoration:none}.secondary{background:#E5F4F0;color:#087D6E}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0;align-items:center}button:disabled{opacity:.5;cursor:wait}a{color:#087D6E}small,.muted{color:#586775;font-size:14px}small{display:block}.price{font:700 28px Montserrat,sans-serif;color:#087D6E}.line{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line)}.progress{display:flex;gap:8px;list-style:none;padding:0;margin:28px 0}.progress li{flex:1;border-top:4px solid #D6E0E3;padding-top:8px;font-size:12px}.progress li.active{border-color:var(--green);color:#087D6E;font-weight:600}.error{color:#9F342B;padding:12px 0;font-weight:600}.badge{background:#E5F4F0;color:#087D6E;border-radius:20px;padding:5px 12px;font-size:13px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #EDB342;outline-offset:3px}.selected{border:2px solid var(--green)}@media(max-width:540px){header,main{padding:18px}.card{padding:18px}.progress li{font-size:10px}.actions button{flex:1}.grid{grid-template-columns:1fr}}
