.quote-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr);gap:clamp(2rem,6vw,6rem);width:var(--container);margin-inline:auto;padding-block:clamp(3rem,6vw,5.5rem) clamp(2rem,4vw,3.5rem)}.quote-intro h1{max-width:13ch;margin-bottom:1.2rem;font-size:clamp(2.55rem,5.1vw,5rem)}.quote-intro__copy{max-width:62ch;margin-bottom:0;color:#102f43d6;font-size:clamp(1rem,1.35vw,1.16rem);line-height:1.65}.quote-trust{align-self:end;margin:0;padding:0;border-top:2px solid var(--color-terracotta);list-style:none}.quote-trust li{display:grid;grid-template-columns:1.25rem 1fr;gap:.65rem;padding-block:.8rem;border-bottom:1px solid var(--color-border);color:#102f43d6;font-size:.83rem;line-height:1.35}.quote-trust li:before{color:var(--color-terracotta);font-size:.55rem;content:"◆";transform:translateY(.18rem)}.quote-shell{display:grid;grid-template-columns:minmax(15.5rem,.36fr) minmax(0,1fr);width:var(--container);margin:0 auto clamp(4rem,7vw,7rem);border:1px solid var(--color-border);background:var(--color-surface)}.quote-progress{position:relative;grid-column:1;grid-row:1;min-width:0;padding:2.5rem 2rem;overflow:hidden;color:#fff;background:var(--color-ink)}.quote-progress:after{position:absolute;right:-4rem;bottom:-4rem;width:12rem;height:12rem;border:1px solid rgb(255 255 255 / 18%);content:"";transform:rotate(45deg)}.quote-progress :focus-visible{outline-color:var(--color-paper)}.quote-progress__kicker{margin:0 0 2.5rem;color:var(--color-sand);font-size:.7rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.quote-progress__steps{position:relative;z-index:1;margin:0;padding:0;list-style:none}.quote-progress__steps button{display:grid;grid-template-columns:2.3rem 1fr;gap:.75rem;align-items:center;width:100%;min-height:64px;padding-block:.9rem;border:0;border-bottom:1px solid rgb(255 255 255 / 17%);color:#ffffff9e;text-align:left;background:transparent}.quote-progress__steps button:not(:disabled){cursor:pointer}.quote-progress__steps button:disabled{cursor:not-allowed;opacity:.64}.quote-progress__steps button[aria-current=step]{color:#fff}.quote-progress__steps button span{color:#ffffff85;font-size:.76rem;font-weight:850;letter-spacing:.08em}.quote-progress__steps button[aria-current=step] span{color:var(--color-sand)}.quote-progress__steps button strong{font-size:.82rem;font-weight:760;letter-spacing:.015em;line-height:1.3}.quote-progress__note{position:relative;z-index:1;max-width:25ch;margin:2.5rem 0 0;color:#ffffffa8;font-size:.78rem;line-height:1.55}.quote-mobile-progress{display:none}.quote-form{grid-column:2;grid-row:1;min-width:0;padding:clamp(2rem,4.5vw,4.5rem)}.quote-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.quote-step[hidden],.quote-form__error-summary[hidden],.quote-surface-panel[hidden],.quote-routing[hidden],.quote-routing [hidden],[data-timeline-details][hidden]{display:none}.quote-step__meta{display:flex;align-items:center;gap:.8rem;margin:0 0 1.5rem;color:var(--color-terracotta);font-size:.72rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.quote-step__meta:before{width:2rem;height:1px;background:var(--color-terracotta);content:""}.quote-step h2{max-width:19ch;margin-bottom:.9rem;font-size:clamp(2rem,3.3vw,3.4rem)}.quote-step__intro{max-width:58ch;margin:0 0 2rem;color:#102f43b3;line-height:1.55}.quote-form fieldset{min-width:0;margin:0 0 2rem;padding:0;border:0}.quote-form legend,.quote-field-title{display:block;width:100%;margin-bottom:.8rem;padding:0;font-size:.8rem;font-weight:820;letter-spacing:.055em;text-transform:uppercase}.quote-form legend span,.quote-field label span{color:var(--color-terracotta)}.quote-field-help{margin:-.3rem 0 .8rem;color:#102f43a8;font-size:.76rem;line-height:1.45}.quote-choices{display:grid;gap:.65rem}.quote-choices--three{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-choices--two{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-choices--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-choice{position:relative;min-width:0}.quote-choice>input{position:absolute;width:1px;height:1px;opacity:0}.quote-choice>label{display:flex;align-items:center;gap:.75rem;min-height:70px;padding:.8rem .85rem;border:1px solid var(--color-border);color:#102f43d6;font-size:.86rem;font-weight:680;line-height:1.25;background:#fff;cursor:pointer}.quote-choice>label:before{display:grid;flex:0 0 1.35rem;width:1.35rem;height:1.35rem;border:1px solid var(--color-blue);place-items:center;content:""}.quote-choice>input[type=radio]+label:before{border-radius:50%}.quote-choice>input:checked+label{border-color:var(--color-ink);color:var(--color-ink);background:var(--color-blue-soft)}.quote-choice>input:checked+label:before{border-color:var(--color-terracotta);color:#fff;background:var(--color-terracotta);content:"✓"}.quote-choice>input:focus-visible+label{outline:3px solid var(--color-focus);outline-offset:3px}.quote-surface-tabs{display:flex;gap:.5rem;margin-bottom:1.35rem;padding-bottom:.75rem;overflow-x:auto;border-bottom:1px solid var(--color-border)}.quote-surface-tabs button{flex:0 0 auto;min-height:44px;padding:.55rem .85rem;border:1px solid var(--color-border);color:#102f43ad;font-size:.74rem;font-weight:800;background:transparent;cursor:pointer}.quote-surface-tabs button[aria-selected=true]{border-color:var(--color-ink);color:#fff;background:var(--color-ink)}.quote-surface-panel__title{margin:0 0 1.5rem;color:var(--color-blue);font-size:.76rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.quote-routing{display:grid;grid-template-columns:auto 1fr;gap:1rem;margin:1rem 0 2rem;padding:1.2rem;border-left:3px solid var(--color-terracotta);background:#f4e7df}.quote-routing>span{display:grid;width:2rem;height:2rem;color:#fff;font-weight:850;background:var(--color-terracotta);place-items:center}.quote-routing strong{display:block;margin-bottom:.35rem}.quote-routing p{margin:0;font-size:.84rem;line-height:1.5}.quote-add-surface{min-height:44px;margin:-.5rem 0 2rem;padding:.4rem 0;border:0;border-bottom:1px solid currentColor;color:var(--color-terracotta-dark);font-size:.75rem;font-weight:850;text-transform:uppercase;background:transparent;cursor:pointer}.quote-fields-grid,.quote-utility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:2rem}.quote-utility-grid fieldset{margin-bottom:0}.quote-field{display:grid;align-content:start;gap:.55rem}.quote-field--full{grid-column:1 / -1}.quote-field>label{font-size:.78rem;font-weight:780;letter-spacing:.04em;text-transform:uppercase}.quote-form :where(input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea){width:100%;min-height:52px;padding:.8rem .9rem;border:1px solid var(--color-border);border-radius:0;color:var(--color-ink);font:inherit;background:#fff}.quote-form textarea{min-height:112px;resize:vertical}.quote-area-input{display:grid;grid-template-columns:auto minmax(5rem,1fr) auto;align-items:center;border:1px solid var(--color-border);background:#fff}.quote-area-input input{min-width:0;border:0!important;text-align:right}.quote-area-input span{padding-inline:.75rem;color:#102f43a3;font-size:.8rem}.quote-photo-field{margin-bottom:2rem}.quote-dropzone{display:grid;min-height:180px;padding:1.5rem;border:1px dashed var(--color-blue);text-align:center;background:linear-gradient(135deg,#dbe3e48c,#fbfaf6cc);place-items:center;cursor:pointer}.quote-dropzone input{position:absolute;width:1px;height:1px;opacity:0}.quote-dropzone>span{display:grid;width:3rem;height:3rem;margin:0 auto .8rem;border:1px solid var(--color-ink);color:var(--color-terracotta);font-size:1.4rem;font-weight:300;place-items:center}.quote-dropzone strong,.quote-dropzone small{display:block}.quote-dropzone strong{margin-bottom:.35rem}.quote-dropzone small{max-width:52ch;color:#102f43a8;font-size:.8rem;line-height:1.5}.quote-dropzone:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:3px}.quote-photo-list{display:grid;gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none}.quote-photo-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.55rem .75rem;border:1px solid var(--color-border);font-size:.78rem;background:#fff}.quote-photo-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-photo-list button{min-height:44px;padding-inline:.5rem;border:0;color:var(--color-terracotta-dark);font-size:.7rem;font-weight:850;text-transform:uppercase;background:transparent}.quote-privacy-note,.quote-submit-note{color:#102f43a8;font-size:.75rem;line-height:1.45}.quote-summary{margin-bottom:2rem;border-top:2px solid var(--color-ink)}.quote-summary>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding-block:.65rem;border-bottom:1px solid var(--color-border);font-size:.83rem}.quote-summary span{color:#102f43b3}.quote-summary button{min-height:44px;padding-inline:.35rem;border:0;color:var(--color-terracotta-dark);font-size:.7rem;font-weight:850;text-transform:uppercase;background:transparent;cursor:pointer}.quote-consent{display:grid;grid-template-columns:1.25rem 1fr;gap:.75rem;align-items:start;margin-bottom:.25rem;font-size:.78rem;line-height:1.5}.quote-consent input{width:1.15rem;height:1.15rem;margin:.15rem 0 0;accent-color:var(--color-terracotta)}.quote-consent a{color:var(--color-terracotta-dark)}.quote-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.quote-actions--end{justify-content:flex-end}.quote-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.78rem 1.25rem;border:1px solid var(--color-ink);border-radius:0;color:var(--color-ink);font-size:.74rem;font-weight:850;letter-spacing:.045em;text-decoration:none;text-transform:uppercase;background:transparent;cursor:pointer}.quote-button--primary{border-color:var(--color-terracotta);color:#fff;background:var(--color-terracotta)}.quote-button--primary:hover{border-color:var(--color-terracotta-dark);background:var(--color-terracotta-dark)}.quote-button--text{padding-inline:0;border-color:transparent;border-bottom-color:var(--color-ink)}.quote-button:disabled{cursor:wait;opacity:.65}.quote-field-error{min-height:0;margin:.45rem 0 0;color:#7d2d1d;font-size:.76rem;font-weight:720;line-height:1.4}.quote-field-error:empty{display:none}.quote-form__error-summary{margin-bottom:2rem;padding:1rem 1.15rem;border:2px solid #7d2d1d;color:#612214;background:#f7e8e2}.quote-form__error-summary p{margin:.25rem 0 0;font-size:.85rem}.quote-submit-status{min-height:1.5rem;margin-bottom:0;color:#102f43bd;font-size:.8rem}.quote-success{padding-block:clamp(1rem,4vw,3rem)}.quote-success__mark{display:grid;width:4rem;height:4rem;margin-bottom:1.5rem;color:#fff;font-size:1.8rem;background:var(--color-blue);place-items:center}.quote-actions--success{justify-content:flex-start}.quote-noscript{padding:1rem;border-left:3px solid var(--color-terracotta);background:#f4e7df}@media(max-width:62rem){.quote-intro{grid-template-columns:1fr minmax(15rem,.55fr)}.quote-form{padding:2.2rem}.quote-choices--three{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-utility-grid{grid-template-columns:1fr}}@media(max-width:50rem){.quote-intro{grid-template-columns:1fr;width:min(100% - 2rem,42rem);padding-block:2.7rem 2rem}.quote-intro h1{font-size:clamp(2.45rem,12vw,4.2rem)}.quote-trust{align-self:auto}.quote-shell{grid-template-columns:minmax(0,1fr);width:min(100% - 2rem,42rem)}.quote-progress{display:none}.quote-mobile-progress{display:block;grid-column:1;grid-row:1;padding:1rem 1.25rem;color:#fff;background:var(--color-ink)}.quote-mobile-progress p{display:flex;justify-content:space-between;gap:1rem;margin:0 0 .7rem;font-size:.73rem}.quote-mobile-progress strong{color:var(--color-sand);text-transform:uppercase}.quote-mobile-progress>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.3rem}.quote-mobile-progress>div span{height:3px;background:#ffffff3d}.quote-mobile-progress>div span.active{background:var(--color-terracotta)}.quote-form{grid-column:1;grid-row:2;padding:1.5rem}}@media(max-width:36rem){.quote-choices--three,.quote-choices--two,.quote-fields-grid{grid-template-columns:1fr}.quote-choice>label{min-height:58px}.quote-actions{display:grid;grid-template-columns:1fr}.quote-actions .quote-button{width:100%}.quote-actions--end .quote-button--primary,.quote-actions .quote-button--primary{grid-row:1}.quote-actions .quote-button--text{grid-row:2}.quote-actions--success .quote-button{grid-row:auto}}@media(max-width:22rem){.quote-intro,.quote-shell{width:min(100% - 1rem,42rem)}.quote-form{padding:1.1rem}.quote-mobile-progress{padding-inline:1rem}.quote-choices--compact{grid-template-columns:1fr}}
