.quote-page{--quote-surface:#f7f8f7e8;--quote-error:#b02c1f;z-index:1;background:radial-gradient(circle at 16% 18%,#fff 0,#0000 30%),radial-gradient(circle at 82% 26%,#d7e5e8 0,#0000 32%),linear-gradient(145deg,#edf1f1 0%,#cbd5d7 100%);min-height:100vh;position:relative}.quote-page:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(115deg,#0000 0 48%,#ffffff29 48% 49%,#0000 49%),radial-gradient(circle at 74% 78%,#9cabb08c 0,#0000 24%);position:fixed;inset:0}body:has(.digital-landscape--quote) .quote-page{background:0 0}body:has(.digital-landscape--quote) .quote-page:before{opacity:.18}.digital-landscape--quote{background:radial-gradient(circle at 48% 34%,#fff 0 10%,#edf3f2d6 34%,#0000 66%),linear-gradient(145deg,#f3f7f6,#cad8db)}.digital-landscape--quote:before{background:linear-gradient(90deg,#f7f9f729 0%,#0000 14% 86%,#f7f9f729 100%),radial-gradient(at 49% 45%,#ffffff42 0 12%,#0000 52%)}.digital-landscape--quote:after{background:linear-gradient(#fbfcfc4d 0%,#0000 18% 68%,#d8e3e58a 100%)}.digital-landscape--quote canvas{filter:saturate(.78)contrast(1.02)}.quote-main{padding:0 clamp(1rem,3vw,3.5rem) clamp(6rem,10vw,10rem)}.quote-intro{flex-direction:column;justify-content:center;min-height:min(78svh,820px);padding:clamp(8rem,15vh,11rem) 0 clamp(3rem,6vw,5rem);display:flex}.quote-intro h1{color:#111719;letter-spacing:-.064em;text-align:center;text-wrap:balance;text-shadow:0 1px #fff9,0 16px 48px #eaf0ef73;width:min(100%,1520px);margin:0 auto;font-size:clamp(3.8rem,6.9vw,8.2rem);font-weight:500;line-height:.9}.quote-intro h1 i{letter-spacing:-.058em;width:fit-content;max-width:calc(100% - 9rem);margin:.18em auto 0;font-size:.74em;font-weight:400;line-height:.96;display:block;transform:translate(clamp(1.5rem,4vw,4.5rem))}.quote-intro-copy{color:#172023;letter-spacing:-.025em;text-align:center;text-shadow:0 1px 18px #ffffffc7;width:min(100%,780px);max-width:none;margin:3rem auto 0;font-size:clamp(1.08rem,1.45vw,1.48rem);line-height:1.48}.quote-workspace{grid-template-columns:minmax(280px,3fr) minmax(440px,7fr);align-items:start;gap:clamp(1rem,2vw,1.5rem);display:grid}.quote-guidance,.quote-calculator{background:var(--quote-surface);border:1px solid #ffffffa8;border-radius:clamp(1.4rem,2vw,2rem);padding:clamp(1.5rem,3vw,3rem);box-shadow:0 28px 80px #24313712}.quote-guidance{grid-template-rows:auto auto;align-self:start;padding:0;display:grid;position:sticky;top:88px;overflow:hidden}.quote-guidance-label{font:500 .56rem var(--font-utility);letter-spacing:.08em;text-transform:uppercase;display:block}.quote-guidance-light{flex-direction:column;min-height:0;padding:clamp(1.2rem,2vw,1.8rem);display:flex}.quote-guidance-light h2{letter-spacing:-.052em;text-wrap:balance;margin:clamp(1rem,1.8vw,1.4rem) 0 0;font-size:clamp(1.55rem,2vw,2.15rem);font-weight:500;line-height:1}.quote-guidance-light>p:not(.quote-guidance-meta){opacity:.64;margin:.85rem 0 0;font-size:.74rem;line-height:1.48}.quote-guidance-steps{border-bottom:1px solid var(--line);margin:clamp(.85rem,1.5vw,1.2rem) 0 0;padding:0;list-style:none}.quote-guidance-steps li{border-top:1px solid var(--line);min-height:48px}.quote-guidance-steps button{width:100%;min-height:48px;color:inherit;text-align:left;transition:background-color var(--motion-duration) var(--motion-ease), color var(--motion-duration) var(--motion-ease), opacity var(--motion-duration) var(--motion-ease);background:0 0;border:0;grid-template-columns:1.5rem .8rem minmax(0,1fr) auto;align-items:center;gap:.12rem .35rem;padding:.35rem .3rem;display:grid}.quote-guidance-steps button>span,.quote-guidance-steps button>i{font:500 .53rem var(--font-utility);letter-spacing:.06em;opacity:.46;grid-row:1/span 2;font-style:normal}.quote-guidance-steps button>strong{letter-spacing:-.01em;grid-area:1/3;font-size:.7rem;font-weight:500;line-height:1.4}.quote-guidance-steps button>em{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;opacity:.52;grid-area:2/3;font-size:.7rem;font-style:normal;line-height:1.3;overflow:hidden}.quote-guidance-steps small{color:var(--accent);font:500 .53rem var(--font-utility);letter-spacing:.055em;text-transform:uppercase;grid-area:1/4/span 2;align-items:center;gap:.28rem;display:inline-flex}.quote-guidance-steps small svg{width:.72rem;height:.72rem}.quote-guidance-steps li[data-state=completed] button{cursor:pointer}.quote-guidance-steps li[data-state=completed] button>span,.quote-guidance-steps li[data-state=completed] button>strong,.quote-guidance-steps li[data-state=completed] button>em{opacity:1}.quote-guidance-steps li[data-state=completed] button>span{color:var(--accent)}.quote-guidance-steps li[data-state=current] button{box-shadow:inset 2px 0 0 var(--ink);opacity:1;background:#1720230a}.quote-guidance-steps li[data-state=current] button>span,.quote-guidance-steps li[data-state=current] button>strong,.quote-guidance-steps li[data-state=current] button>em{opacity:1}.quote-guidance-steps li[data-state=upcoming] button{opacity:.42}.quote-guidance-steps li[data-state=completed] button:hover,.quote-guidance-steps li[data-state=completed] button:focus-visible{background:#ff624712;outline:0}.quote-guidance-meta{font:500 .5rem/1.5 var(--font-utility);letter-spacing:.065em;text-transform:uppercase;opacity:.52;text-align:center;margin:auto 0 0;padding-top:clamp(.75rem,1.4vw,1rem)}.quote-guidance-meta span{margin-inline:.3rem}.quote-guidance-result{background:var(--ink);min-height:0;color:var(--paper);flex-direction:column;padding:clamp(1rem,1.6vw,1.4rem) clamp(1.2rem,2vw,1.8rem);display:flex}.quote-guidance-controls,.quote-guidance-final-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.quote-guidance-final-actions{grid-template-columns:.72fr minmax(0,1fr)}.quote-guidance-control{min-width:0;min-height:52px;color:var(--paper);font:500 .52rem var(--font-utility);letter-spacing:.055em;text-transform:uppercase;cursor:pointer;transition:border-color var(--motion-duration) var(--motion-ease), background-color var(--motion-duration) var(--motion-ease), color var(--motion-duration) var(--motion-ease);background:0 0;border:1px solid #ffffff5c;justify-content:space-between;align-items:center;gap:.55rem;padding:.75rem .85rem;text-decoration:none;display:inline-flex}.quote-guidance-control svg{flex:none;width:.9rem;height:.9rem}.quote-guidance-control--primary{border-color:var(--paper);background:var(--paper);color:var(--ink)}.quote-guidance-control:not(:disabled):hover,.quote-guidance-control:not(:disabled):focus-visible{border-color:var(--accent);background:var(--accent);color:#fff;outline:0}.quote-guidance-control:disabled{cursor:not-allowed;opacity:.28}.quote-calculator{align-self:start;display:block;overflow:hidden}.quote-step-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:clamp(1.25rem,2.5vw,2rem);padding-bottom:clamp(.85rem,1.5vw,1.15rem);display:flex}.quote-step-heading>span{font:500 .56rem var(--font-utility);letter-spacing:.07em;text-transform:uppercase;opacity:.48;flex:none}.quote-step-heading h2{letter-spacing:-.045em;text-align:right;text-wrap:balance;margin:0;font-size:clamp(1.55rem,2vw,2.15rem);font-weight:500;line-height:1}.quote-step{animation:quote-step-enter .42s var(--motion-ease) both;padding-top:0}.quote-visually-hidden,.quote-card-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.quote-service-grid,.quote-scope-grid,.quote-materials-grid{border:0;gap:.75rem;margin:0;padding:0;display:grid}.quote-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-scope-grid--packages,.quote-materials-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-service-card,.quote-scope-card,.quote-material-card{cursor:pointer;min-width:0}.quote-scope-card,.quote-service-card{height:100%;display:block}.quote-service-card-shell{border:1px solid var(--line);height:100%;color:var(--ink);transition:border-color var(--motion-duration) var(--motion-ease), background-color var(--motion-duration) var(--motion-ease), color var(--motion-duration) var(--motion-ease), transform var(--motion-duration) var(--motion-ease);background:#ffffff24;flex-direction:column;padding:clamp(1rem,1.6vw,1.2rem);display:flex}.quote-service-card:hover .quote-service-card-shell,.quote-card-input:focus-visible+.quote-service-card-shell,.quote-scope-card:hover .quote-scope-card-shell,.quote-card-input:focus-visible+.quote-scope-card-shell,.quote-material-card:hover .quote-material-card-shell,.quote-card-input:focus-visible+.quote-material-card-shell{border-color:var(--ink)}.quote-card-input:focus-visible+.quote-service-card-shell,.quote-card-input:focus-visible+.quote-scope-card-shell,.quote-card-input:focus-visible+.quote-material-card-shell{outline:2px solid var(--accent);outline-offset:3px}.quote-card-input:checked+.quote-service-card-shell,.quote-card-input:checked+.quote-scope-card-shell,.quote-card-input:checked+.quote-material-card-shell{border-color:var(--ink);background:var(--ink);color:var(--paper)}.quote-service-card-head{grid-template-columns:48px minmax(0,1fr) 1.65rem;align-items:start;gap:.75rem;display:grid}.quote-service-card-icon{border:1px solid;place-items:center;width:48px;height:48px;display:grid}.quote-service-card-icon svg{width:24px;height:24px}.quote-service-card-head>strong{letter-spacing:-.035em;align-self:center;max-width:18ch;font-size:clamp(1.12rem,1.65vw,1.42rem);font-weight:500;line-height:1.05}.quote-service-card-copy{opacity:.58;margin-top:.75rem;font-size:.72rem;line-height:1.5}.quote-service-card-head>i,.quote-scope-card-shell i,.quote-material-card-shell i{background:var(--accent);color:#fff;opacity:0;width:1.65rem;height:1.65rem;transition:opacity var(--motion-duration) var(--motion-ease), transform var(--motion-duration) var(--motion-ease);border-radius:50%;flex:none;place-items:center;font-size:.72rem;font-style:normal;display:grid;transform:scale(.7)}.quote-card-input:checked+.quote-service-card-shell .quote-service-card-head>i,.quote-card-input:checked+.quote-scope-card-shell i,.quote-card-input:checked+.quote-material-card-shell i{opacity:1;transform:scale(1)}.quote-scope-card-shell{border:1px solid var(--line);height:100%;min-height:96px;color:var(--ink);transition:border-color var(--motion-duration) var(--motion-ease), background-color var(--motion-duration) var(--motion-ease), color var(--motion-duration) var(--motion-ease), transform var(--motion-duration) var(--motion-ease);background:#ffffff24;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.15rem;display:grid;position:relative}.quote-scope-card-copy{flex-direction:column;min-width:0;display:flex}.quote-scope-card-title{align-items:center;gap:.7rem;display:flex}.quote-scope-card-icon{border:1px solid;flex:none;place-items:center;width:34px;height:34px;display:grid}.quote-scope-card-icon svg{width:18px;height:18px}.quote-scope-card-copy strong{letter-spacing:-.02em;font-size:.95rem;font-weight:500;line-height:1.25}.quote-scope-card-shell[data-detailed]{align-items:stretch;min-height:140px}.quote-scope-card-shell[data-detailed] .quote-scope-card-copy small{opacity:.58;margin-top:.55rem;font-size:.72rem;line-height:1.45}.quote-scope-card-shell[data-detailed] .quote-scope-card-copy b{font:500 .62rem var(--font-utility);letter-spacing:.045em;text-transform:uppercase;margin-top:auto;padding-top:1rem}.quote-scope-card-shell i{grid-column:2;align-self:center}.quote-scope-card-shell[data-detailed] i{align-self:start}.quote-budget{border:1px solid var(--line);margin:clamp(.5rem,3vw,1rem) 0 0;padding:clamp(1.1rem,2vw,1.5rem)}.quote-budget legend{font:500 .56rem var(--font-utility);letter-spacing:.07em;text-transform:uppercase;padding:0 .45rem}.quote-budget-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.quote-budget-heading>span{opacity:.58;font-size:.78rem}.quote-budget-heading output{letter-spacing:-.045em;text-align:right;font-size:clamp(1.55rem,2.6vw,2.6rem);font-weight:500;line-height:1}.quote-budget>input[type=range]{width:100%;height:28px;accent-color:var(--accent);cursor:pointer;margin:1rem 0 0}.quote-budget-scale{font:500 .55rem var(--font-utility);letter-spacing:.04em;opacity:.48;justify-content:space-between;gap:1rem;display:flex}.quote-budget-estimate{border-top:1px solid var(--line);cursor:pointer;grid-template-columns:1.15rem minmax(0,1fr);align-items:start;gap:.75rem;margin-top:1rem;padding-top:1rem;display:grid}.quote-budget-estimate input{width:1.15rem;height:1.15rem;accent-color:var(--accent);cursor:pointer;margin:.1rem 0 0}.quote-budget-estimate>span{gap:.25rem;display:grid}.quote-budget-estimate strong{font-size:.78rem;font-weight:500}.quote-budget-estimate small{opacity:.58;font-size:.72rem;line-height:1.45}.quote-budget[data-disabled] .quote-budget-heading,.quote-budget[data-disabled]>input[type=range],.quote-budget[data-disabled] .quote-budget-scale{opacity:.35}.quote-budget>input[type=range]:disabled{cursor:not-allowed}.quote-custom-scope{border:1px solid var(--line);background:#ffffff24;gap:.8rem;margin:clamp(.5rem,3vw,1rem) 0 0;padding:clamp(1.1rem,2vw,1.5rem);display:grid}.quote-custom-scope>span{gap:.25rem;display:grid}.quote-custom-scope>span strong{letter-spacing:-.02em;font-size:.9rem;font-weight:500}.quote-custom-scope>span small{opacity:.58;font-size:.72rem;line-height:1.45}.quote-custom-scope textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:120px;color:var(--ink);font:inherit;background:#ffffff38;outline:0;padding:.85rem;font-size:.78rem;line-height:1.5}.quote-custom-scope textarea:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.quote-custom-scope[data-invalid]{border-color:var(--quote-error)}.quote-custom-scope[data-invalid] textarea{border-color:var(--quote-error);outline:1px solid var(--quote-error);outline-offset:1px}.quote-budget-assessment{background:var(--ink);box-shadow:inset 3px 0 0 var(--accent);color:var(--paper);grid-template-columns:48px minmax(0,1fr);align-items:start;gap:1rem;margin:clamp(.5rem,3vw,1rem) 0 0;padding:clamp(1.1rem,2vw,1.5rem);display:grid}.quote-budget-assessment-icon{border:1px solid #ffffff52;place-items:center;width:48px;height:48px;display:grid}.quote-budget-assessment-icon svg{width:24px;height:24px}.quote-budget-assessment>div{min-width:0}.quote-budget-assessment>div>span{font:500 .7rem var(--font-utility);letter-spacing:.07em;text-transform:uppercase;opacity:.58;margin-bottom:.45rem;display:block}.quote-budget-assessment h3{letter-spacing:-.035em;margin:0;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:500;line-height:1.08}.quote-budget-assessment p{opacity:.62;margin:.65rem 0 0;font-size:.76rem;line-height:1.5}.quote-material-card-shell{border:1px solid var(--line);min-height:190px;color:var(--ink);transition:border-color var(--motion-duration) var(--motion-ease), background-color var(--motion-duration) var(--motion-ease), color var(--motion-duration) var(--motion-ease), transform var(--motion-duration) var(--motion-ease);background:#ffffff24;flex-direction:column;padding:1.2rem;display:flex}.quote-material-card-shell strong{letter-spacing:-.025em;max-width:15ch;font-size:1.05rem;font-weight:500;line-height:1.1}.quote-material-card-shell>span{opacity:.58;margin-top:.7rem;font-size:.72rem;line-height:1.5}.quote-material-card-shell i{align-self:flex-end;margin-top:auto}.quote-materials-grid[data-invalid]>.quote-required-message{grid-column:1/-1;margin-bottom:.15rem}.quote-materials-grid[data-invalid] .quote-material-card-shell{border-color:var(--quote-error)}.quote-material-brief{gap:.65rem;display:grid}.quote-material-section{border:1px solid var(--line);background:#ffffff18}.quote-material-section[data-invalid]{border-color:var(--quote-error);box-shadow:inset 0 0 0 1px var(--quote-error)}.quote-material-section[data-invalid]>summary{background:#b02c1f0a}.quote-material-section>summary{cursor:pointer;grid-template-columns:2rem minmax(0,1fr) 1.15rem;align-items:center;gap:.75rem;min-height:62px;padding:.8rem 1rem;list-style:none;display:grid}.quote-material-section>summary::-webkit-details-marker{display:none}.quote-material-section>summary>span{font:500 .7rem var(--font-utility);letter-spacing:.055em;opacity:.46}.quote-material-section>summary>strong{letter-spacing:-.018em;font-size:.9rem;font-weight:500}.quote-material-section>summary>svg{width:1.05rem;height:1.05rem;transition:transform var(--motion-duration) var(--motion-ease)}.quote-material-section[open]>summary{border-bottom:1px solid var(--line)}.quote-material-section[open]>summary>svg{transform:rotate(180deg)}.quote-material-section-content{padding:clamp(.85rem,1.6vw,1.2rem)}.quote-material-section-content>:first-child{margin-top:0}.quote-material-section-content>:last-child{margin-bottom:0}.quote-material-section-intro{opacity:.62;margin:0 0 1rem;font-size:.72rem;line-height:1.55}.quote-material-subgroup{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1.25rem}.quote-material-subgroup:first-child{border-top:0;margin-top:0;padding-top:0}.quote-material-subgroup h3{margin:0 0 .75rem;font-size:.82rem;font-weight:500}.quote-material-subgroup>p{opacity:.58;margin:-.25rem 0 .8rem;font-size:.72rem;line-height:1.45}.quote-material-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.quote-material-option{border:1px solid var(--line);min-height:52px;color:var(--ink);cursor:pointer;transition:border-color var(--motion-duration) var(--motion-ease), background-color var(--motion-duration) var(--motion-ease), color var(--motion-duration) var(--motion-ease);background:#ffffff24;grid-template-columns:minmax(0,1fr) 1.35rem;align-items:center;gap:.65rem;padding:.75rem .8rem;display:grid;position:relative}.quote-material-option input{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.quote-material-option>span{font-size:.74rem;line-height:1.35}.quote-material-option>i{opacity:.28;border:1px solid;border-radius:50%;place-items:center;width:1.35rem;height:1.35rem;font-style:normal;display:grid}.quote-material-option>i svg{opacity:0;width:.75rem;height:.75rem}.quote-material-option:hover{border-color:var(--ink)}.quote-material-option:has(input:focus-visible){border-color:var(--ink)}.quote-material-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.quote-material-option:has(input:checked){border-color:var(--ink);background:var(--ink);color:var(--paper)}.quote-material-option:has(input:checked)>i{border-color:var(--accent);background:var(--accent);color:#fff;opacity:1}.quote-material-option:has(input:checked)>i svg{opacity:1}.quote-material-upload{border:1px dashed var(--ink);text-align:center;cursor:pointer;background:#ffffff24;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;min-height:220px;padding:clamp(1.2rem,2.5vw,2rem);display:flex}.quote-material-upload>svg{width:1.75rem;height:1.75rem}.quote-material-upload>strong{font-size:.9rem;font-weight:500}.quote-material-upload>span{opacity:.58;max-width:56ch;font-size:.72rem;line-height:1.5}.quote-material-upload>b,.quote-material-inline-field>button,.quote-material-add-row{border:1px solid var(--ink);background:var(--ink);min-height:42px;color:var(--paper);font:500 .7rem var(--font-utility);letter-spacing:.055em;text-transform:uppercase;justify-content:center;align-items:center;gap:.45rem;padding:.7rem .9rem;display:inline-flex}.quote-material-upload>b{margin-top:.35rem}.quote-material-upload input[type=file]{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.quote-material-upload:has(input:focus-visible){border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.quote-material-upload[data-invalid],.quote-material-required-group[data-invalid] .quote-material-option{border-color:var(--quote-error)}.quote-material-required-group{gap:.65rem;display:grid}.quote-material-hint,.quote-material-error,.quote-material-notice{opacity:.58;margin:.7rem 0 0;font-size:.7rem;line-height:1.5}.quote-material-error{color:var(--quote-error);opacity:1}.quote-required-message{color:var(--quote-error);font:600 .7rem/1.3 var(--font-utility);letter-spacing:.04em;text-transform:uppercase;opacity:1;margin:0}.quote-material-notice{border-left:2px solid var(--accent);opacity:.72;background:#ff68460d;padding:.75rem .85rem}.quote-material-files{gap:.6rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.quote-material-files>li{border:1px solid var(--line);padding:.65rem}.quote-material-file-head{grid-template-columns:minmax(0,1fr) minmax(11rem,14rem) auto 2rem;align-items:center;gap:.6rem;display:grid}.quote-material-file-name{align-items:baseline;gap:.5rem;min-width:0;display:flex}.quote-material-file-head strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.76rem;font-weight:500;overflow:hidden}.quote-material-file-name small{flex:none}.quote-material-file-head small,.quote-material-file-head em{opacity:.52;font-size:.7rem;font-style:normal}.quote-material-file-head em{color:#3a7453;opacity:1}.quote-material-file-category{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.45rem;min-width:0;display:grid}.quote-material-file-category>span{font-size:.7rem;font-weight:500}.quote-material-file-category select{border:1px solid var(--line);width:100%;min-width:0;min-height:36px;color:var(--ink);font:inherit;background:#ffffff38;border-radius:0;outline:0;padding:.45rem .6rem;font-size:.72rem}.quote-material-file-category select:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.quote-material-file-head button,.quote-brand-colors button,.quote-reference-list button{border:1px solid var(--line);width:2rem;height:2rem;color:inherit;cursor:pointer;background:0 0;place-items:center;display:grid}.quote-material-file-head button svg,.quote-brand-colors button svg,.quote-reference-list button svg{width:.9rem;height:.9rem}.quote-material-file-fields,.quote-material-text-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.75rem;display:grid}.quote-material-file-fields{grid-template-columns:minmax(0,1fr)}.quote-material-file-fields label,.quote-material-text-grid label,.quote-material-inline-field label,.quote-reference-list label,.quote-material-long-field{gap:.4rem;display:grid}.quote-material-file-fields label>span,.quote-material-text-grid label>span,.quote-material-inline-field label>span,.quote-reference-list label>span,.quote-material-long-field>span{font-size:.7rem;font-weight:500;line-height:1.4}.quote-material-file-fields input,.quote-material-file-fields select,.quote-material-text-grid input,.quote-material-inline-field input,.quote-reference-list input,.quote-material-long-field input,.quote-material-long-field textarea{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);font:inherit;background:#ffffff38;border-radius:0;outline:0;padding:.7rem .75rem;font-size:.76rem}.quote-material-long-field textarea{resize:vertical;min-height:130px;line-height:1.5}.quote-material-file-fields input:focus,.quote-material-file-fields select:focus,.quote-material-text-grid input:focus,.quote-material-inline-field input:focus,.quote-reference-list input:focus,.quote-material-long-field input:focus,.quote-material-long-field textarea:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.quote-brand-colors{flex-wrap:wrap;gap:.45rem;display:flex}.quote-brand-colors>span{border:1px solid var(--line);min-height:38px;font:500 .7rem var(--font-utility);align-items:center;gap:.45rem;padding-left:.55rem;display:inline-flex}.quote-brand-colors>span>i{border:1px solid var(--line);width:1rem;height:1rem}.quote-brand-colors button{border-width:0 0 0 1px;margin-left:.15rem}.quote-material-inline-field{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.55rem;margin-top:.65rem;display:grid}.quote-material-inline-field>button,.quote-material-add-row{cursor:pointer}.quote-material-inline-field>button svg,.quote-material-add-row svg{width:.9rem;height:.9rem}.quote-material-add-row{color:var(--ink);background:0 0;margin-top:.65rem}.quote-material-add-row:disabled{cursor:not-allowed;opacity:.3}.quote-material-long-field+.quote-material-subgroup,.quote-material-option-grid+.quote-material-subgroup,.quote-material-conditional,.quote-material-subgroup+.quote-material-long-field{margin-top:1rem}.quote-reference-list{gap:.55rem;display:grid}.quote-reference-list>div{border:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr) 2rem;align-items:end;gap:.55rem;padding:.7rem;display:grid}.quote-material-subgroup:nth-of-type(2) .quote-reference-list>div{grid-template-columns:minmax(0,1fr) 2rem}.quote-step-actions{justify-content:space-between;align-items:center;gap:.75rem;margin-top:clamp(1.5rem,3vw,2.5rem);display:flex}.quote-step-actions--end{justify-content:flex-end}.quote-step-back,.quote-step-next{border:1px solid var(--ink);min-height:56px;font:500 .56rem var(--font-utility);letter-spacing:.055em;text-transform:uppercase;cursor:pointer;transition:border-color var(--motion-duration) var(--motion-ease), background-color var(--motion-duration) var(--motion-ease), color var(--motion-duration) var(--motion-ease);justify-content:space-between;align-items:center;gap:1.5rem;padding:.85rem 1.1rem;display:inline-flex}.quote-step-back{color:var(--ink);background:0 0}.quote-step-next{background:var(--ink);min-width:min(100%,250px);color:var(--paper)}.quote-step-back:hover,.quote-step-back:focus-visible,.quote-step-next:not(:disabled):hover,.quote-step-next:not(:disabled):focus-visible{border-color:var(--accent);background:var(--accent);color:#fff;outline:0}.quote-step-next:disabled{cursor:not-allowed;opacity:.34}.quote-extras{border:0;margin:0;padding:0}.quote-extras legend{font:500 .56rem var(--font-utility);letter-spacing:.07em;text-transform:uppercase;margin-bottom:.75rem;display:block}.quote-extras>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.quote-extra{border:1px solid var(--line);min-height:58px;color:var(--ink);cursor:pointer;transition:border-color var(--motion-duration) var(--motion-ease), background-color var(--motion-duration) var(--motion-ease), color var(--motion-duration) var(--motion-ease);justify-content:flex-start;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.quote-extra:hover,.quote-extra:focus-within{border-color:var(--accent);background:var(--accent);color:#fff}.quote-extra:has(input:checked){border-color:var(--accent);background:var(--accent);color:#fff}.quote-extra span{align-items:center;gap:.65rem;font-size:.78rem;display:flex}.quote-extra input{accent-color:var(--accent)}.quote-empty{opacity:.58;grid-column:1/-1;margin:0;font-size:.82rem}.quote-web-features{gap:.8rem;display:grid}.quote-web-features-status{border:1px solid var(--line);background:#ffffff24;justify-content:space-between;align-items:center;gap:1rem;min-height:48px;padding:.8rem 1rem;display:flex}.quote-web-features-status span{font-size:.76rem;font-weight:500}.quote-web-features-status strong{font:500 .7rem var(--font-utility);letter-spacing:.045em;text-transform:uppercase;flex:none}.quote-ux-features-description{border-left:2px solid var(--accent);opacity:.72;background:#ffffff24;margin:0;padding:.9rem 1rem;font-size:.76rem;line-height:1.6}.quote-web-included{border:1px solid var(--ink);background:var(--ink);color:var(--paper)}.quote-web-included>div{border-bottom:1px solid #ffffff2e;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.quote-web-included>div>span{font:500 .72rem var(--font-utility);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.55rem;display:inline-flex}.quote-web-included>div svg{width:1rem;height:1rem}.quote-web-included>div small{opacity:.56;font-size:.7rem}.quote-web-included ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;margin:0;padding:1rem;list-style:none;display:grid}.quote-web-included li{grid-template-columns:1rem minmax(0,1fr);align-items:start;gap:.55rem;min-width:0;font-size:.72rem;line-height:1.4;display:grid}.quote-web-included li svg{width:.9rem;height:.9rem;color:var(--accent);margin-top:.05rem}.quote-web-accordions{gap:.65rem;display:grid}.quote-web-accordion{border:1px solid var(--line);background:#ffffff18}.quote-web-accordion[data-invalid],.quote-web-final-question[data-invalid]{border-color:var(--quote-error);box-shadow:inset 0 0 0 1px var(--quote-error)}.quote-web-accordion[data-invalid]>summary{background:#b02c1f0a}.quote-web-accordion summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 1.15rem;align-items:center;gap:1rem;min-height:62px;padding:.8rem 1rem;list-style:none;display:grid}.quote-web-accordion summary::-webkit-details-marker{display:none}.quote-web-accordion summary>span:first-child{gap:.18rem;display:grid}.quote-web-accordion summary strong{letter-spacing:-.015em;font-size:.88rem;font-weight:500}.quote-web-accordion summary small,.quote-web-accordion-status{opacity:.52;font-size:.7rem;line-height:1.35}.quote-web-accordion summary .quote-required-message{color:var(--quote-error);opacity:1}.quote-web-accordion-status{font-family:var(--font-utility);letter-spacing:.04em;text-transform:uppercase}.quote-web-accordion summary>svg{width:1.05rem;height:1.05rem;transition:transform var(--motion-duration) var(--motion-ease)}.quote-web-accordion[open] summary{border-bottom:1px solid var(--line)}.quote-web-accordion[open] summary>svg{transform:rotate(180deg)}.quote-web-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.8rem;display:grid}.quote-web-option{border:1px solid var(--line);min-height:52px;color:var(--ink);cursor:pointer;transition:border-color var(--motion-duration) var(--motion-ease), background-color var(--motion-duration) var(--motion-ease), color var(--motion-duration) var(--motion-ease);background:#ffffff24;grid-template-columns:minmax(0,1fr) 1.35rem;align-items:center;gap:.65rem;padding:.75rem .8rem;display:grid;position:relative}.quote-web-option input{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.quote-web-option>span{font-size:.74rem;line-height:1.35}.quote-web-option>i{opacity:.28;border:1px solid;border-radius:50%;place-items:center;width:1.35rem;height:1.35rem;font-style:normal;display:grid}.quote-web-option>i svg{opacity:0;width:.75rem;height:.75rem}.quote-web-option:hover{border-color:var(--ink)}.quote-web-option:has(input:focus-visible){border-color:var(--ink)}.quote-web-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.quote-web-option:has(input:checked){border-color:var(--ink);background:var(--ink);color:var(--paper)}.quote-web-option:has(input:checked)>i{border-color:var(--accent);background:var(--accent);color:#fff;opacity:1}.quote-web-option:has(input:checked)>i svg{opacity:1}.quote-web-option[data-disabled]{cursor:not-allowed;opacity:.3}.quote-web-option[data-disabled]:hover{border-color:var(--line)}.quote-web-detail{gap:.55rem;margin:0 .8rem .8rem;display:grid}.quote-web-detail>span{font-size:.74rem;font-weight:500}.quote-web-detail textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:112px;color:var(--ink);font:inherit;background:#ffffff38;outline:0;padding:.8rem;font-size:.78rem;line-height:1.5}.quote-web-detail textarea:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.quote-web-detail[data-invalid] textarea{border-color:var(--quote-error);outline:1px solid var(--quote-error);outline-offset:1px}.quote-web-detail>.quote-required-message{margin-top:-.15rem}.quote-web-final-question{border:1px solid var(--ink);margin:0;padding:0}.quote-web-final-question legend{margin-left:.8rem;padding:0 .45rem;font-size:.82rem;font-weight:500}.quote-web-final-question legend .quote-required-message{margin-left:.65rem;display:inline-block}.quote-web-final-question .quote-web-options{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-web-final-question--optional .quote-web-options{grid-template-columns:1fr}.quote-final-overview{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.quote-final-overview>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);align-content:space-between;gap:.75rem;min-height:98px;padding:1rem;display:grid}.quote-final-overview dt{font:500 .52rem var(--font-utility);letter-spacing:.07em;text-transform:uppercase;opacity:.46}.quote-final-overview dd{letter-spacing:-.015em;margin:0;font-size:.82rem;font-weight:500;line-height:1.4}.quote-step-actions--summary{justify-content:flex-start}@keyframes quote-step-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.quote-summary{background:var(--ink);color:var(--paper);border-radius:0 0 clamp(1.4rem,2vw,2rem) clamp(1.4rem,2vw,2rem);grid-template-columns:.65fr 1fr;gap:1.25rem 2rem;margin:clamp(2.5rem,5vw,4.5rem) calc(-1*clamp(1.5rem,3vw,3rem)) calc(-1*clamp(1.5rem,3vw,3rem));padding:clamp(1.5rem,3vw,3rem);display:grid}.quote-summary-label{font:500 .55rem var(--font-utility);letter-spacing:.07em;text-transform:uppercase;align-content:start;gap:.35rem;display:grid}.quote-summary-label small{opacity:.46}.quote-summary output{letter-spacing:-.065em;text-align:right;justify-self:end;font-size:clamp(2.8rem,5vw,5.7rem);font-weight:500;line-height:.9}.quote-summary>p{opacity:.62;max-width:46ch;margin:auto 0 0;font-size:.76rem;line-height:1.65}.quote-submit{border:1px solid var(--paper);min-height:54px;font:500 .56rem var(--font-utility);letter-spacing:.06em;text-transform:uppercase;transition:border-color var(--motion-duration) var(--motion-ease), background-color var(--motion-duration) var(--motion-ease), color var(--motion-duration) var(--motion-ease);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;text-decoration:none;display:flex}.quote-submit:hover,.quote-submit:focus-visible{border-color:var(--accent);background:var(--accent);color:#fff}.quote-final-layout{border:1px solid var(--line);grid-template-columns:minmax(0,1.18fr) minmax(18rem,.82fr);display:grid;overflow:hidden}.quote-final-brief,.quote-contact-panel{min-width:0;padding:clamp(1.15rem,2.2vw,1.8rem)}.quote-final-brief{background:#ffffff1f}.quote-contact-panel{background:var(--ink);box-shadow:inset 3px 0 0 var(--accent);color:var(--paper);flex-direction:column;align-self:start;display:flex}.quote-final-panel-head{margin-bottom:1.35rem}.quote-final-panel-head h3{letter-spacing:-.045em;margin:0;font-size:clamp(1.45rem,2.3vw,2rem);font-weight:500;line-height:1}.quote-final-panel-head p{opacity:.6;max-width:44ch;margin:.7rem 0 0;font-size:.76rem;line-height:1.55}.quote-final-brief-groups{gap:1.35rem;display:grid}.quote-final-brief-group>header{margin-bottom:.55rem}.quote-final-brief-group>header h4{letter-spacing:-.015em;margin:0;font-size:.9rem;font-weight:500}.quote-final-brief-list{border-top:1px solid var(--line);margin:0}.quote-final-brief-list>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(7.5rem,.38fr) minmax(0,.62fr);gap:.7rem 1rem;padding:.8rem 0;display:grid}.quote-final-brief-list dt{font:500 .7rem/1.4 var(--font-utility);letter-spacing:.055em;text-transform:uppercase;opacity:.48}.quote-final-brief-list dd{white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:.78rem;font-weight:500;line-height:1.55}.quote-final-feature-groups,.quote-final-feature-groups ul{margin:0;padding:0;list-style:none}.quote-final-feature-groups{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding-top:.65rem;display:grid}.quote-final-feature-groups>li{border:1px solid var(--line);background:#ffffff29;min-width:0;padding:.7rem}.quote-final-feature-groups>li:only-child{grid-column:1/-1}.quote-final-feature-groups>li>header{justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:.55rem;display:flex}.quote-final-feature-groups h5{font:500 .7rem/1.35 var(--font-utility);letter-spacing:.045em;text-transform:uppercase;margin:0}.quote-final-feature-groups>li>header span{border:1px solid var(--line);min-width:1.45rem;font:600 .65rem/1 var(--font-utility);text-align:center;opacity:.56;border-radius:99px;flex:none;padding:.15rem .35rem}.quote-final-feature-groups ul{flex-wrap:wrap;gap:.35rem;display:flex}.quote-final-feature-groups ul li{border:1px solid var(--line);overflow-wrap:anywhere;background:#ffffff52;max-width:100%;padding:.28rem .42rem;font-size:.7rem;font-weight:500;line-height:1.3}.quote-final-disclaimer{opacity:.56;max-width:58ch;margin:1rem 0 0;font-size:.7rem;line-height:1.55}.quote-contact-fields{gap:.75rem;display:grid}.quote-contact-fields>label{gap:.35rem;display:grid}.quote-contact-fields label>span,.quote-contact-method legend{font:500 .7rem/1.4 var(--font-utility);letter-spacing:.05em;text-transform:uppercase}.quote-contact-fields label>span small{font:inherit;letter-spacing:0;text-transform:none;opacity:.46;margin-left:.35rem}.quote-contact-fields input{width:100%;min-height:44px;color:var(--paper);font:inherit;background:#ffffff0d;border:1px solid #ffffff42;border-radius:0;outline:0;padding:.7rem .75rem;font-size:.78rem}.quote-contact-fields input:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.quote-contact-fields label[data-invalid] input{border-color:#ff8b74;outline:1px solid #ff8b74}.quote-contact-error{color:#ff9c87;font:500 .7rem/1.4 var(--font-utility)}.quote-contact-method{border:0;margin:1rem 0 0;padding:0}.quote-contact-method legend{margin-bottom:.5rem}.quote-contact-method>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.quote-contact-method label{cursor:pointer;min-width:0;position:relative}.quote-contact-method input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.quote-contact-method label>span{min-height:40px;font:500 .7rem var(--font-utility);text-align:center;transition:border-color var(--motion-duration) var(--motion-ease), background-color var(--motion-duration) var(--motion-ease), color var(--motion-duration) var(--motion-ease);border:1px solid #ffffff42;place-items:center;padding:.55rem;display:grid}.quote-contact-method label:hover>span{border-color:var(--paper)}.quote-contact-method label:has(input:focus-visible)>span{border-color:var(--paper)}.quote-contact-method label:has(input:focus-visible)>span{outline:2px solid var(--accent);outline-offset:2px}.quote-contact-method label:has(input:checked)>span{border-color:var(--paper);background:var(--paper);color:var(--ink)}.quote-contact-consent{cursor:pointer;grid-template-columns:1.1rem minmax(0,1fr);align-items:start;gap:.65rem;margin-top:1rem;display:grid;position:relative}.quote-contact-consent input{width:1.1rem;height:1.1rem;accent-color:var(--accent);margin:0}.quote-contact-consent span{opacity:.72;font-size:.72rem;line-height:1.5}.quote-contact-consent[data-invalid]{color:#ff9c87}.quote-final-send{border:1px solid var(--paper);background:var(--paper);width:100%;min-height:54px;color:var(--ink);font:600 .7rem var(--font-utility);letter-spacing:.055em;text-transform:uppercase;cursor:pointer;transition:border-color var(--motion-duration) var(--motion-ease), background-color var(--motion-duration) var(--motion-ease), color var(--motion-duration) var(--motion-ease);grid-template-columns:1rem minmax(0,1fr) 1rem;align-items:center;gap:.7rem;margin-top:1.1rem;padding:.8rem .9rem;display:grid}.quote-final-send svg{width:1rem;height:1rem}.quote-final-send:not(:disabled):hover,.quote-final-send:not(:disabled):focus-visible{border-color:var(--accent);background:var(--accent);color:#fff}.quote-final-send:disabled{cursor:not-allowed;opacity:.45}.quote-final-send+.quote-contact-error{margin-top:.7rem;display:block}.quote-contact-note{opacity:.5;margin:.7rem 0 0;font-size:.7rem;line-height:1.5}@media (max-width:1100px){.quote-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-guidance-final-actions{grid-template-columns:1fr}}@media (max-width:900px){.quote-intro h1{text-align:left;font-size:clamp(3.25rem,10vw,5.6rem)}.quote-intro h1 i{width:auto;max-width:18ch;margin-left:7vw;margin-right:0;font-size:.8em;transform:none}.quote-workspace{grid-template-columns:1fr}.quote-guidance{grid-template-rows:auto auto;position:static;top:auto}.quote-final-layout{grid-template-columns:minmax(0,1.08fr) minmax(18rem,.92fr)}}@media (max-width:620px){.quote-main{padding-inline:.75rem}.quote-intro{min-height:720px;padding:7rem .25rem 4rem}.quote-intro h1{letter-spacing:-.06em;font-size:clamp(2.8rem,12.5vw,3.05rem);line-height:.9}.quote-intro h1 i{max-width:12ch;margin-top:.2em;margin-left:5vw;font-size:.82em;line-height:.98}.quote-intro-copy{margin-top:2rem;font-size:1rem;line-height:1.5}.quote-calculator{border-radius:1.25rem;padding:1.4rem}.quote-guidance{border-radius:1.25rem;padding:0}.quote-guidance-light,.quote-guidance-result{padding:1.2rem}.quote-guidance-light h2{font-size:clamp(1.75rem,8vw,2.2rem)}.quote-guidance-steps li,.quote-guidance-steps button{min-height:48px}.quote-guidance-final-actions{grid-template-columns:1fr}.quote-guidance-control{min-height:52px}.quote-step-heading{flex-direction:column;align-items:flex-start;gap:.55rem}.quote-step-heading h2{text-align:left}.quote-step{padding-top:0}.quote-service-grid,.quote-scope-grid,.quote-materials-grid{grid-template-columns:1fr}.quote-budget-heading{flex-direction:column;align-items:stretch}.quote-budget-heading output{text-align:left}.quote-step-actions{flex-direction:column-reverse;align-items:stretch}.quote-step-actions--end{flex-direction:column}.quote-step-back,.quote-step-next{width:100%;min-width:0}.quote-extras>div{grid-template-columns:1fr}.quote-web-features-status,.quote-web-included>div{flex-direction:column;align-items:flex-start}.quote-web-included ul,.quote-web-options,.quote-web-final-question .quote-web-options{grid-template-columns:1fr}.quote-web-accordion summary{grid-template-columns:minmax(0,1fr) 1.15rem;gap:.7rem}.quote-web-accordion-status{grid-area:2/1}.quote-web-accordion summary>svg{grid-area:1/2/span 2}.quote-material-option-grid,.quote-material-file-fields,.quote-material-text-grid,.quote-materials-grid,.quote-material-inline-field{grid-template-columns:1fr}.quote-material-inline-field>button{width:100%}.quote-material-file-head{grid-template-columns:minmax(0,1fr) 2rem}.quote-material-file-category{grid-area:2/1}.quote-material-file-head em{grid-area:3/1}.quote-material-file-head button{grid-area:1/2/span 3}.quote-reference-list>div,.quote-material-subgroup:nth-of-type(2) .quote-reference-list>div{grid-template-columns:minmax(0,1fr) 2rem}.quote-reference-list>div>label:nth-child(2){grid-column:1}.quote-reference-list>div>button{grid-area:1/2/span 2}.quote-final-overview,.quote-final-layout{grid-template-columns:1fr}.quote-contact-panel{box-shadow:inset 0 3px 0 var(--accent)}.quote-final-brief-list>div,.quote-final-feature-groups,.quote-contact-method>div{grid-template-columns:1fr}.quote-summary{border-radius:0 0 1.25rem 1.25rem;grid-template-columns:1fr;margin:2.5rem -1.4rem -1.4rem}.quote-summary output{text-align:left;justify-self:start}}@media (prefers-reduced-motion:reduce){.quote-step{animation:none}}
