:root{--cream:#faf9f8;--sand:#f0eee8;--ink:#2b2b2b;--green:#35a93e;--muted:#545454;--white:#fff}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Avenir,Avenir Next,Segoe UI,sans-serif;background:var(--cream);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.nav{display:flex;justify-content:space-between;align-items:center;padding:20px 48px;background:var(--sand)}.logo{height:36px;width:auto;display:block}.nav a,.nav-link{margin-left:24px;font-weight:600;background:none;border:0;color:inherit;cursor:pointer;padding:0}.hero{min-height:640px;padding:48px 64px;background:linear-gradient(180deg,#8c70e1,#91c798);color:var(--white);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,380px);align-items:center;grid-gap:40px;gap:40px}.hero-copy h1{margin:8px 0 0;font-size:clamp(36px,4.2vw,58px);line-height:.98;max-width:640px}.hero-copy h1 span{display:block;margin-top:8px;font-size:.62em;line-height:1.05}.eyebrow{margin:0;font-size:14px;letter-spacing:.04em;opacity:.9}.lead{font-size:22px;font-weight:700;margin:18px 0 0}.lead,.support{max-width:520px}.support{font-size:18px;margin:8px 0 0;line-height:1.35}.hero-phone{width:100%;max-height:520px;object-fit:contain;justify-self:end}.hero-simple{grid-template-columns:1fr;min-height:420px}.cta{display:inline-block;margin-top:28px;background:var(--green);color:var(--white);border:0;border-radius:999px;padding:14px 28px;font-weight:700;cursor:pointer}.modal-backdrop{position:fixed;inset:0;background:hsla(0,0%,8%,.55);display:flex;align-items:center;justify-content:center;padding:24px;z-index:20}.modal{position:relative;width:min(560px,100%);max-height:min(88vh,820px);overflow:auto;color:var(--ink);border-radius:20px;padding:0 24px 32px}.modal,.modal-bar{background:var(--white)}.modal-bar{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;justify-content:flex-end;margin:0 -24px;padding:12px 16px 8px}.modal-close{width:36px;height:36px;border:0;border-radius:50%;background:var(--sand);color:var(--ink);font-size:24px;line-height:1;cursor:pointer}.flow h2{margin:0 0 8px;font-size:24px}.flow-lead{margin:0 0 16px;color:var(--muted)}.stepper{display:flex;list-style:none;margin:4px 0 20px;padding:0}.stepper li{position:relative;flex:1 1;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--muted);font-size:12px}.stepper li:not(:last-child):after{content:"";position:absolute;top:13px;left:calc(50% + 18px);width:calc(100% - 36px);height:2px;background:#e4e1da}.stepper .dot{width:28px;height:28px;border-radius:50%;border:2px solid #ddd;background:var(--white);display:grid;place-items:center;font-weight:700;z-index:1}.stepper .on{color:var(--ink);font-weight:700}.stepper .on .dot{border-color:var(--green);background:var(--green);color:#fff}.stepper .done{color:var(--ink)}.stepper .done .dot{border-color:var(--green);color:var(--green)}.stepper .done:not(:last-child):after{background:var(--green)}@media (max-width:800px){.hero{grid-template-columns:1fr;padding:32px 20px 40px;min-height:0}.hero-phone{max-height:320px;justify-self:center}.footer,.nav,.section{padding-left:20px;padding-right:20px}}.section{padding:64px 48px;max-width:960px}.section h2{margin-top:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:20px;gap:20px}.card{background:var(--white);border-radius:20px;padding:24px;box-shadow:0 8px 24px rgba(0,0,0,.06)}.card h3{margin-top:0}label{display:block;margin:12px 0 6px;font-weight:600}label.invalid{color:#dc3545}input,select{width:100%;border:1px solid #ddd;border-radius:12px;padding:12px 14px;background:var(--white)}input.invalid,select.invalid{border:1px solid #dc3545;background:#fff5f5;box-shadow:0 0 0 3px rgba(220,53,69,.12)}input.invalid:focus,select.invalid:focus{outline:none;border-color:#dc3545}.error{color:#dc3545;font-weight:600}.error,.help{margin:4px 0 0;font-size:13px}.help{color:var(--muted)}.quote{background:var(--sand);border-radius:12px;padding:12px 14px}.pay{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.pay h3{margin:4px 0 0}.pay-lead{margin:0;max-width:36ch}.pay .quote{width:100%;text-align:left}.qr-frame{display:flex;justify-content:center;align-items:center;width:100%;margin:8px 0}.qr{display:block;width:240px;height:240px;object-fit:contain;background:#fff;border-radius:16px;padding:12px;border:1px solid #eee}.pay-link{font-weight:700;color:var(--green)}.footer{padding:24px 48px 40px;color:var(--muted)}