html{background:#f4f5f1}#root{min-height:100vh}:root{--ink:#10282c;--muted:#607278;--paper:#f4f5f1;--line:#dce3df;--accent:#e5a33f;--green:#174f4c;--white:#fff;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Inter,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea{font:inherit}.portal-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:78px;padding:0 max(24px,50vw - 590px);display:flex}.wordmark{color:var(--ink);letter-spacing:-.03em;align-items:center;gap:11px;font-weight:850;text-decoration:none;display:flex}.wordmark span{background:var(--green);color:#fff;border-radius:11px;place-items:center;width:35px;height:35px;display:grid}.secure{color:var(--muted);align-items:center;gap:8px;font-size:.83rem;display:flex}.secure i{background:#4e9d77;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #4e9d7720}.content{flex:1;width:min(1180px,100% - 40px);margin:0 auto;padding:72px 0 96px}.content.narrow{width:min(820px,100% - 40px)}.eyebrow{text-transform:uppercase;letter-spacing:.17em;color:#9b6415;font-size:.72rem;font-weight:800}.content h1,.state h1{letter-spacing:-.05em;margin:14px 0 22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.55rem,7vw,5.15rem);font-weight:500;line-height:.95}.intro{max-width:710px;color:var(--muted);font-size:1.13rem;line-height:1.6}.panel{border:1px solid var(--line);background:#fff;border-radius:22px;box-shadow:0 18px 55px #183f3510}.steps{grid-template-columns:repeat(4,1fr);gap:10px;margin:54px 0 20px;padding:0;list-style:none;display:grid}.steps li{color:#8a9797;align-items:center;gap:9px;font-size:.82rem;display:flex}.steps b{background:#e8ece8;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.steps .active{color:var(--green);font-weight:750}.steps .active b{background:var(--green);color:#fff}.form-panel{padding:34px}.step-caption{margin-bottom:25px;font-weight:800}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-grid label,.summary form>label{gap:8px;font-size:.9rem;font-weight:720;display:grid}.upload{grid-column:1/-1}.form-grid label:has(textarea){grid-column:1/-1}input,textarea{color:var(--ink);background:#fcfcfa;border:1px solid #cbd6d2;border-radius:10px;outline:none;padding:13px 14px}input:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #174f4c18}textarea{resize:vertical;min-height:126px}.upload{text-align:center;background:#fafbf8;border:1px dashed #9baba5;border-radius:14px;place-items:center;gap:9px;padding:24px;display:grid!important}.upload input{opacity:0;pointer-events:none;position:absolute}.upload span{color:var(--green);font-weight:850}.upload small{color:var(--muted)}button,.open-preview{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;min-height:49px;padding:0 21px;font-weight:800;text-decoration:none;display:inline-flex}button:hover{filter:brightness(1.08)}button:disabled{opacity:.45;cursor:not-allowed}.secondary{color:var(--green);background:#e9eeeb}.form-actions{justify-content:flex-end;gap:12px;margin-top:30px;display:flex}.autosave{text-align:center;color:var(--muted);font-size:.82rem}.confirmations{gap:12px;display:grid}.check{align-items:flex-start;line-height:1.45;grid-template-columns:none!important;gap:11px!important;font-weight:500!important;display:flex!important}.check input{width:20px;height:20px;accent-color:var(--green);flex:none}.quote-layout{grid-template-columns:minmax(0,1.5fr) minmax(320px,.72fr);align-items:start;gap:40px;display:grid}.line-items{margin-top:42px;overflow:hidden}.line{border-bottom:1px solid var(--line);grid-template-columns:32px 1fr auto;align-items:center;gap:13px;padding:21px 24px;display:grid}.line:last-child{border:0}.line input{width:19px;height:19px;accent-color:var(--green)}.line small{color:var(--muted);margin-top:2px;font-weight:500;display:block}.included{color:#388362;font-weight:900}.summary{padding:31px;position:sticky;top:28px}.summary-label{text-transform:uppercase;letter-spacing:.15em;color:var(--muted);font-size:.72rem;font-weight:800}.total{letter-spacing:-.05em;margin:8px 0;font-family:Georgia,serif;font-size:3.25rem}.summary>p{color:var(--muted)}dl{border-block:1px solid var(--line);margin:24px 0;padding:13px 0}dl div{justify-content:space-between;padding:6px 0;display:flex}dt{color:var(--muted)}dd{margin:0;font-weight:800}.summary form{gap:17px;display:grid}.summary button{width:100%}.legal-note{color:var(--muted);margin-top:16px;line-height:1.45;display:block}.preview-card{margin-top:42px;overflow:hidden}.browser{background:#e9eeeb;align-items:center;gap:7px;height:48px;padding:0 17px;display:flex}.browser i{background:#aebbb5;border-radius:50%;width:10px;height:10px}.browser span{color:var(--muted);margin-left:10px;font-size:.75rem}iframe{background:#fff;border:0;width:100%;height:460px}.open-preview{float:right;margin:16px}.feedback{margin-top:20px;padding:30px}.feedback h2{margin-top:0;font-family:Georgia,serif;font-size:2rem}.feedback textarea{width:100%}.state{text-align:center;flex:1;place-content:center;justify-items:center;padding:60px 20px;display:grid}.state p{max-width:530px;color:var(--muted);font-size:1.05rem}.state-icon{color:#9b6415;background:#fff1df;border-radius:22px;place-items:center;width:70px;height:70px;font-size:2rem;font-weight:900;display:grid}.state-icon.success{color:#277250;background:#e2f1e9}.loader{border:4px solid var(--line);border-top-color:var(--green);border-radius:50%;width:42px;height:42px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}footer{text-align:center;border-top:1px solid var(--line);color:var(--muted);padding:25px;font-size:.78rem}footer a{color:inherit}@media (width<=800px){.topbar{height:66px}.secure span{display:none}.content{padding:45px 0 70px}.steps span{display:none}.steps{margin-top:35px}.form-panel{padding:22px}.form-grid,.quote-layout{grid-template-columns:1fr}.summary{position:static}.quote-layout{gap:22px}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.content h1,.state h1{font-size:3rem}.line{padding:17px}.total{font-size:2.75rem}iframe{height:380px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}
