/* All geometry belongs to this page. Content can grow beyond the viewport. */
#top.consultation-page{
 --application-header-height:104px;
 --application-space:calc(100dvh - var(--application-header-height));
 --application-gutter:clamp(2rem,8.333333vw,10rem);
 --application-pad:clamp(1rem,calc(1rem + (var(--application-space) - 680px)*.108),3rem);
 --application-field-gap:clamp(.625rem,calc(.625rem + (var(--application-space) - 680px)*.045),1.5rem);
 --application-control:clamp(2.75rem,calc(2.75rem + (var(--application-space) - 680px)*.04),3.5rem);
 --application-input-pad:clamp(.375rem,calc(.375rem + (var(--application-space) - 680px)*.027),.875rem);
 --application-label-gap:clamp(.25rem,calc(.25rem + (var(--application-space) - 680px)*.0135),.5rem);
 --application-art:clamp(10rem,calc(10rem + (var(--application-space) - 680px)*.54),21.5rem);
}
#top.consultation-page .site-header{position:relative;background:#fff}
.consultation-layout{display:grid;grid-template-columns:52.239583% minmax(0,1fr);min-height:var(--application-space);align-items:stretch}
.consultation-promo{position:relative;isolation:isolate;background:#e5f2ff;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(.75rem,calc(.75rem + (var(--application-space) - 680px)*.04),1.375rem);min-width:0}
.consultation-background{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
.consultation-background img{width:100%;max-width:none;height:auto;mask-image:linear-gradient(#000 0 55%,transparent 68%)}
.consultation-promo-copy{position:relative;padding:var(--application-pad) clamp(1.5rem,2.6vw,3.125rem) 0 var(--application-gutter)}
#top.consultation-page main .consultation-kicker{color:#246dff;font-size:clamp(1rem,calc(1rem + (var(--application-space) - 680px)*.00676),1.125rem);line-height:1.5;margin:0 0 clamp(.75rem,calc(.75rem + (var(--application-space) - 680px)*.04),1.5rem)}
#top.consultation-page main #consultation-promo-title{font-family:var(--type-font);font-size:min(clamp(2.5rem,calc(2.5rem + (var(--application-space) - 680px)*.0676),3.75rem),clamp(2.5rem,3.125vw,3.75rem));font-weight:600;line-height:1.2;letter-spacing:0;text-wrap:initial;max-width:10.666em;background:linear-gradient(105deg,#07172d 0%,#0f2566 44%,#203bd4 100%);background-clip:text;-webkit-background-clip:text;color:transparent;margin:0 0 clamp(.75rem,calc(.75rem + (var(--application-space) - 680px)*.04),1.5rem)}
#top.consultation-page main .consultation-description{font-size:clamp(1rem,calc(1rem + (var(--application-space) - 680px)*.00676),1.125rem);line-height:1.7;color:#44679f;margin:0 0 clamp(1.25rem,calc(1.25rem + (var(--application-space) - 680px)*.068),2.5rem)}
.consultation-features{display:grid;gap:clamp(1rem,calc(1rem + (var(--application-space) - 680px)*.04),1.75rem)}
.consultation-features article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1rem,1.354167vw,1.625rem);align-items:center}
.consultation-feature-icon{width:clamp(3.25rem,calc(3.25rem + (var(--application-space) - 680px)*.095),5rem);aspect-ratio:1;border-radius:50%;background:#c2ddff;display:grid;place-items:center}
.consultation-feature-icon img{width:50%;height:50%;object-fit:contain}
#top.consultation-page main .consultation-features h3{font-size:clamp(1.25rem,calc(1.25rem + (var(--application-space) - 680px)*.0203),1.625rem);font-weight:600;line-height:1.4;color:#152746;margin:0 0 .375rem;text-wrap:initial}
#top.consultation-page main .consultation-features p{font-size:1rem;color:#44679f;margin:0;line-height:1.65}
/* Original artwork's lower 340px contains the entire illustration. Only the
   unused blank text area is outside this image slot; never clip the artwork. */
.consultation-illustration{position:relative;flex:none;align-self:center;width:min(100%,calc(var(--application-art)*1003/340));aspect-ratio:1003/340;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,#000 12%)}
.consultation-illustration img{position:absolute;bottom:0;left:0;width:100%;max-width:none;height:auto}
.consultation-request{padding:var(--application-pad) var(--application-gutter) clamp(1rem,calc(1rem + (var(--application-space) - 680px)*.1486),3.75rem) clamp(2.5rem,9.635417vw,11.5625rem);background:#fff;min-width:0}
.consultation-form-wrap{max-width:35.5rem;margin:0 auto}
#top.consultation-page main #consultation-form-title{font-family:var(--type-font);font-size:clamp(2rem,calc(2rem + (var(--application-space) - 680px)*.0135),2.25rem);font-weight:600;line-height:1.35;color:#10204b;margin:0 0 clamp(.5rem,calc(.5rem + (var(--application-space) - 680px)*.0135),.75rem);text-wrap:initial}
#top.consultation-page main .consultation-form-intro{font-size:clamp(1rem,calc(1rem + (var(--application-space) - 680px)*.00676),1.125rem);font-weight:400;line-height:1.65;color:#7a859a;margin:0 0 clamp(.75rem,calc(.75rem + (var(--application-space) - 680px)*.0473),1.625rem)}
.consultation-fields{display:grid;gap:var(--application-field-gap)}
.consultation-fields label{display:block;font-size:1rem;font-weight:600;line-height:1.5;color:#152746}
.consultation-required{color:#dc2626}
.consultation-fields :is(input,select,textarea){display:block;width:100%;min-height:var(--application-control);margin-top:var(--application-label-gap);border:1px solid #cddbf1;border-radius:5px;padding:var(--application-input-pad) 1.375rem;background:#fff;color:#152746;font:400 1rem/1.5 var(--type-font);box-shadow:0 0 0 1px #e8eef855}
.consultation-fields textarea{min-height:clamp(4.5rem,calc(4.5rem + (var(--application-space) - 680px)*.027),5rem);resize:vertical}
.consultation-fields select{appearance:none;padding-right:3rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23bbcae3' stroke-width='2' d='m4 7 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.375rem center}
.consultation-fields ::placeholder{color:#93a0b6;opacity:1}
.consultation-fields :is(input,select,textarea):focus-visible{outline:2px solid #2674ff;outline-offset:2px}
.consultation-fields [aria-invalid=true]{border-color:#b42318}
.consultation-privacy{display:flex;align-items:start;flex-wrap:wrap;column-gap:.375rem;margin:clamp(.75rem,calc(.75rem + (var(--application-space) - 680px)*.04),1.5rem) 0 clamp(.5rem,calc(.5rem + (var(--application-space) - 680px)*.0203),.875rem);font-size:1rem;line-height:1.6;color:#7a859a}
.consultation-privacy input{width:1.375rem;height:1.375rem;flex:none;margin:.125rem .625rem 0 0;accent-color:#246dff;cursor:pointer}
.consultation-privacy label{cursor:pointer}.consultation-privacy a{color:#246dff;text-decoration:none}.consultation-privacy a:hover{text-decoration:underline}
.consultation-submit{display:block;width:100%;border:0;border-radius:5px;min-height:clamp(2.75rem,calc(2.75rem + (var(--application-space) - 680px)*.054),3.75rem);padding:var(--application-input-pad) 1.375rem;background:#076aff;color:#fff;font:400 1rem/1.5 var(--type-font)}
.consultation-submit:hover{background:#1353ec}.consultation-submit:disabled{opacity:.65;cursor:default}
#top.consultation-page main .consultation-field-error{display:block;color:#b42318;font-size:.875rem;line-height:1.5;font-weight:400;margin:.5rem 0 0}
#top.consultation-page main .consultation-status{font-size:.875rem;line-height:1.6;margin:.75rem 0;overflow-wrap:anywhere}
#top.consultation-page main .consultation-status[data-state=error]{color:#b42318}#top.consultation-page main .consultation-status[data-state=success]{color:#126738}
@media(min-width:1101px) and (max-width:1500px){.consultation-request{padding-left:clamp(2.5rem,4vw,3.5rem)}.consultation-promo-copy{padding-right:2rem}}
@media(min-width:701px) and (max-width:1100px){.consultation-promo-copy{padding-inline:1.5rem}.consultation-request{padding-inline:2rem}#top.consultation-page main #consultation-promo-title{font-size:2.25rem}.consultation-features article{gap:.875rem}}
@media(max-width:700px){
 #top.consultation-page{--application-header-height:72px;--application-space:auto;--application-control:3rem;--application-input-pad:.75rem;--application-label-gap:.5rem}
 .consultation-layout{display:flex;flex-direction:column;min-height:0}.consultation-request{order:-1;padding:1.875rem 1.25rem 2.5rem}
 #top.consultation-page main #consultation-form-title{font-size:1.75rem;margin-bottom:.75rem}#top.consultation-page main .consultation-form-intro{font-size:1rem;margin-bottom:1.5rem}
 .consultation-fields{gap:1.125rem}.consultation-fields :is(input,select,textarea){padding:.75rem .875rem;min-height:3rem;font-size:1rem}.consultation-fields textarea{min-height:6.25rem}
 .consultation-privacy{font-size:.875rem;column-gap:.25rem;margin:1.5rem 0 .875rem}.consultation-privacy input{width:1.25rem;height:1.25rem;margin-right:.375rem}.consultation-submit{min-height:3.125rem}
 .consultation-promo{gap:1.25rem}.consultation-promo-copy{padding:1.875rem 1.25rem 0}#top.consultation-page main .consultation-kicker{font-size:.875rem;margin-bottom:1rem}#top.consultation-page main #consultation-promo-title{font-size:1.875rem;max-width:10.666em;margin-bottom:1.5rem}
 #top.consultation-page main .consultation-description{font-size:1rem;margin-bottom:1.625rem}.consultation-features{gap:1.375rem}.consultation-features article{grid-template-columns:3rem minmax(0,1fr);gap:1rem}.consultation-feature-icon{width:3rem}
 #top.consultation-page main .consultation-features h3{font-size:1.125rem}#top.consultation-page main .consultation-features p{font-size:.875rem}.consultation-illustration{width:100%;height:auto}
}
@media(forced-colors:active){#top.consultation-page main #consultation-promo-title{color:CanvasText;background:none}}

/* Three intent tabs share the existing form and validation. */
.consultation-mode-tabs{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:#f3f6fb;border-radius:8px;padding:6px;margin:0 0 24px}
.consultation-has-tabs .consultation-mode-tabs{display:grid}.consultation-has-tabs .consultation-type-field{display:none}
.consultation-mode-tabs button{font:inherit;font-size:16px;line-height:1.5;min-height:44px;padding:8px 10px;background:transparent;border:0;border-radius:5px;color:#6e7d92;cursor:pointer;white-space:nowrap}
.consultation-mode-tabs button[aria-selected=true]{color:#296aff;background:white;box-shadow:0 2px 8px #19365a0a}.consultation-mode-tabs button:hover:not(:disabled){color:#296aff}.consultation-mode-tabs button:focus-visible{outline:2px solid #296aff;outline-offset:2px}
@media(max-width:640px){.consultation-mode-tabs{gap:4px;margin-bottom:20px}.consultation-mode-tabs button{font-size:14px;padding-inline:5px}}

/* Quote fields only; existing tabs, navigation and promo retain their rules. */
#consultation-form[data-intent=quote] .consultation-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
#consultation-form[data-intent=quote] .consultation-fields>label{grid-column:1/-1;font-weight:400}
#consultation-form[data-intent=quote] .consultation-fields>label:is([for=application-name],[for=application-phone]){grid-column:auto}
#consultation-form[data-intent=quote] .consultation-fields :is(input,textarea){min-height:44px;padding:9px 14px}
#consultation-form[data-intent=quote] .consultation-fields textarea{min-height:66px}
.quote-products{grid-column:1/-1;min-width:0;padding:0;margin:0;border:0}
.quote-products legend{font-size:1rem;line-height:1.5;margin-bottom:6px;padding:0;color:#152746}
.quote-products legend span,.quote-optional{font-size:.875rem;font-weight:400}
.quote-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
#consultation-form .quote-product-grid label{display:flex;align-items:center;gap:12px;min-height:44px;border:1px solid #cddbf1;border-radius:5px;padding:9px 12px;font-size:.9375rem;font-weight:400;cursor:pointer}
#consultation-form .quote-product-grid input{width:18px;height:18px;min-height:0;padding:0;margin:0;box-shadow:none;flex:none;accent-color:#076aff}
.quote-product-grid label:has(:checked){border-color:#076aff;background:#f3f7ff}
#top.consultation-page main .quote-submit-note{font-size:.875rem;line-height:1.6;font-weight:400;color:#7a859a;text-align:center;margin:10px 0 0}
.consultation-success{max-width:35.5rem;margin:auto;text-align:center;padding:clamp(20px,7vh,80px) 0 20px;outline:none}
.consultation-success img{display:block;width:280px;max-width:75%;height:auto;margin:0 auto 8px}
#top.consultation-page main #quote-success-title{font:600 clamp(2rem,3vw,2.75rem)/1.35 var(--type-font);color:#10204b;margin:0 0 20px}
#top.consultation-page main .quote-success-copy{font-size:1.25rem;line-height:1.8;font-weight:400;color:#44608a;margin:0}
#top.consultation-page main :is(.quote-success-note,.quote-success-thanks){font-size:.875rem;line-height:1.6;font-weight:400;color:#7a859a;margin:24px 0 0}
.quote-success-actions{display:flex;justify-content:center;gap:16px;margin-top:36px}
.quote-success-actions a{flex:1;max-width:196px;border:1px solid #076aff;border-radius:6px;padding:13px 10px;font-size:1rem;line-height:1.5;color:#076aff;text-decoration:none}
.quote-success-actions a:first-child{background:#076aff;color:#fff}
.quote-success-actions a:focus-visible{outline:2px solid #076aff;outline-offset:3px}
#top.consultation-page main .quote-success-thanks{margin-top:44px;padding-top:24px;position:relative}
.quote-success-thanks:before{content:"";position:absolute;top:0;left:calc(50% - 48px);width:96px;border-top:1px solid #e0e8f4}
.consultation-request [hidden]{display:none!important}
@media(max-width:400px){#consultation-form[data-intent=quote] .consultation-fields{grid-template-columns:1fr}.quote-product-grid{grid-template-columns:1fr}.quote-success-actions{gap:10px}.consultation-success{padding-top:12px}}
#consultation-form[data-intent=quote] .quote-product-grid input{min-height:0;padding:0;width:18px;height:18px}
