:root{--navy:#001f5b;--navy-deep:#001242;--yellow:#ffde16;--yellow-dark:#f0cf00;--ink:#1f2937;--muted:#64748b;--line:#d1d5db;--soft:#f1f5f9;color:var(--ink);font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*{box-sizing:border-box}body{background:0 0;margin:0}.ep-shell{flex-direction:column;gap:10px;max-width:880px;margin:0 auto;padding:12px 6px 28px;display:flex}.ep-masthead h1{color:var(--navy);margin:0;font-size:1.6rem}.ep-masthead p{color:var(--muted);margin:6px 0 0}.step-progress{flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none;display:flex}.step-progress__item{color:var(--muted);align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.step-progress__num{background:var(--line);color:#fff;border-radius:50%;place-items:center;width:1.6rem;height:1.6rem;font-size:.85rem;font-weight:800;display:grid}.step-progress__item.is-active .step-progress__num{background:var(--yellow);color:var(--navy)}.step-progress__item.is-done .step-progress__num{background:var(--navy);color:#fff}.step-progress__item.is-active .step-progress__label,.step-progress__item.is-done .step-progress__label{color:var(--navy)}.step{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px 12px;box-shadow:0 8px 24px #0f172a14}.step__title{color:var(--navy);margin:0 0 4px;font-size:1.2rem}.step__sub{color:var(--muted);margin:0 0 18px;font-weight:600}.back-btn{color:var(--navy);font:inherit;cursor:pointer;background:0 0;border:none;padding:0 0 4px;font-weight:700}.back-btn:hover{text-decoration:underline}.card-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:6px;display:grid}.card-grid--hero{grid-template-columns:repeat(3,1fr);gap:12px}.card-grid--hero .opt-card{gap:8px;padding:12px}.card-grid--hero .opt-card__media{aspect-ratio:3/2}.card-grid--hero .opt-card__label{font-size:.92rem}.card-grid--hero .opt-card__cta{font-size:.72rem}.opt-card{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:10px;padding:18px 16px;transition:border-color .18s,box-shadow .25s,transform .18s;display:flex}.opt-card:hover{border-color:var(--navy);transform:translateY(-4px);box-shadow:0 12px 26px #001f5b2e}.opt-card:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.opt-card:active{transition-duration:60ms;transform:translateY(-1px)scale(.97);box-shadow:0 4px 12px #001f5b29}.opt-card__media{aspect-ratio:4/3;background:var(--soft);border-radius:10px;width:100%;display:block;overflow:hidden}.opt-card__img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.opt-card__img--contain{object-fit:contain;background:#fff;padding:6px}.opt-card:hover .opt-card__img{transform:scale(1.07)}@media (prefers-reduced-motion:reduce){.opt-card,.opt-card__img{transition:none}.opt-card:hover,.opt-card:active,.opt-card:hover .opt-card__img{transform:none}}.opt-card__placeholder{width:100%;height:100%;color:var(--navy);place-items:center;display:grid}.opt-card__label{color:var(--navy);font-size:1.05rem;font-weight:800}.opt-card__cta{color:var(--navy);font-size:.82rem;font-weight:700}.opt-card--soft .opt-card__media{background:#f8fafc}.opt-card--soft .opt-card__placeholder{color:var(--muted)}.opt-card--soft .opt-card__label{color:var(--ink)}.opt-card--soft .opt-card__cta{color:var(--yellow-dark)}.metres{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.metres .floating-field{flex:240px}.request-quote{text-align:center;padding:12px 8px}.request-quote p{color:var(--muted);max-width:520px;margin:0 auto 20px}.request-quote strong{color:var(--navy)}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:9999px;padding:12px 26px;font-weight:800;text-decoration:none;display:inline-block}.btn--lg{padding:14px 34px;font-size:1.05rem}.btn--primary{background:var(--yellow);color:var(--navy)}.btn--primary:hover{background:var(--yellow-dark)}.btn--primary:disabled{opacity:.5;cursor:not-allowed}.btn--outline{border-color:var(--navy);color:var(--navy);background:#fff}.btn--outline:hover{background:var(--soft)}.floating-field{width:100%;position:relative}.floating-field small{color:#b91c1c;margin-top:6px;font-size:.78rem;display:block}.floating-field input{width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:10px;outline:none;padding:24px 14px 10px;font-size:1.1rem;font-weight:700}.floating-field label{color:var(--muted);pointer-events:none;background:#fff;padding:0 2px;font-size:1rem;transition:all .18s;position:absolute;top:16px;left:14px}.floating-field.is-filled label,.floating-field:focus-within label{color:#334155;font-size:.74rem;top:7px}.floating-field:focus-within input{border-color:var(--navy);box-shadow:0 0 0 2px #001f5b26}.floating-field.field-error input{border-color:#ef4444}.floating-field.field-error label{color:#ef4444}.required-asterisk{color:#ef4444;margin-left:2px}.address-suggestions{z-index:1300;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;margin:0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #0000001a}.address-suggestion-item{cursor:pointer;padding:10px 14px;font-size:.95rem}.address-suggestion-item:hover{background:var(--soft)}.meas-panel{margin-top:4px}.meas-title{text-align:center;color:var(--navy);margin:0 0 10px;font-size:1.3rem}.meas-lm__generate{white-space:nowrap;padding:9px 22px}.meas-lm{border:1px solid var(--navy);background:#fff;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:flex}.meas-lm label{color:var(--navy);flex:1;font-weight:700}.meas-lm input{border:1px solid var(--line);width:120px;font:inherit;text-align:right;appearance:textfield;border-radius:8px;outline:none;padding:9px 12px;font-weight:700}.meas-lm input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.meas-lm input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.meas-lm input:focus{border-color:var(--navy);box-shadow:0 0 0 2px #001f5b26}.meas-corners{margin-top:10px}.meas-lm__unit{width:100px;color:var(--muted);font-size:.9rem}.meas-list-title{color:var(--navy);margin:14px 0 2px;font-size:1.02rem}.meas-context{color:var(--muted);margin:0 0 12px;font-size:.85rem;font-weight:700}.material-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.88rem}.material-table th,.material-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:6px 8px}.material-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.material-table td{color:var(--ink);font-weight:400}.material-sku{color:var(--muted);font-size:.82em}.material-table tbody tr:hover{background:var(--soft)}.material-table th:nth-child(2),.material-table td:nth-child(2){width:56px}.material-table th:nth-child(3),.material-table td:nth-child(3){white-space:nowrap;width:144px}.ta-l{text-align:left!important}.ta-c{text-align:center!important}.price-skeleton{vertical-align:middle;background:linear-gradient(90deg, var(--soft) 25%, var(--line) 37%, var(--soft) 63%);background-size:400% 100%;border-radius:4px;width:68px;height:.9em;animation:1.2s ease-in-out infinite price-shimmer;display:inline-block}@keyframes price-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.price-skeleton{animation:none}}.meas-hint{color:var(--muted);padding:18px 0}.material-note{color:var(--muted);margin:14px 0 0;font-size:.78rem;line-height:1.5}.material-footer{margin-top:12px}.material-cta{background:var(--yellow);width:100%;color:var(--navy);cursor:pointer;border:none;border-radius:9999px;padding:14px 22px;font-size:1rem;font-weight:800}.material-cta:hover{background:var(--yellow-dark)}.quote-dialog-backdrop{z-index:1200;background:#00124280;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.quote-dialog{background:#fff;border:1px solid #cbd5e1;border-radius:14px;width:min(680px,100%);max-height:min(90vh,760px);padding:24px;overflow:auto}.quote-dialog h3{color:var(--navy);margin:0 0 14px;font-size:1.2rem}.quote-dialog-form{gap:12px;display:grid}.quote-dialog-note{color:var(--muted);margin:2px 0 0;font-size:.78rem}.quote-dialog-error{color:#b91c1c;margin:6px 0 0;font-size:.85rem}.quote-dialog-success{color:#15803d;margin:6px 0 0;font-size:.85rem;font-weight:600}.quote-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.quote-dialog-cancel,.quote-dialog-generate{cursor:pointer;border-radius:9999px;padding:12px 22px;font-size:1rem;font-weight:800}.quote-dialog-cancel{border:1px solid var(--navy);color:var(--navy);background:#fff}.quote-dialog-cancel:hover{background:var(--soft)}.quote-dialog-generate{background:var(--yellow);color:var(--navy);border:none}.quote-dialog-generate:hover{background:var(--yellow-dark)}.quote-dialog-generate:disabled{opacity:.6;cursor:default}@media (max-width:760px){.step{padding:16px 12px}.card-grid--hero{gap:8px}.card-grid--hero .opt-card{padding:9px}.meas-lm{flex-wrap:wrap}.material-table th:nth-child(3),.material-table td:nth-child(3){white-space:normal;width:110px}.quote-dialog-actions{flex-direction:column-reverse}.quote-dialog-cancel,.quote-dialog-generate{width:100%}}
