.request-brand-row,.request-footer{display:none}
.contact-request body.contact-page{background:#f7f7f4}
.contact-request .site-header,.contact-request .page-hero,.contact-request .contact-panel,.contact-request .site-footer{display:none}
.contact-request .contact-section{background:transparent!important;padding:clamp(16px,4vw,44px) 0!important}
.contact-request .contact-layout{display:block;width:min(800px,calc(100% - 32px))!important;margin-inline:auto}
.contact-request .contact-form{padding:clamp(22px,4vw,40px);border:1px solid #d2d8df;border-radius:0;box-shadow:none}
.contact-request .request-brand-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid #e1e4e8}
.contact-request .request-brand-row img{display:block;width:158px;height:auto;filter:none}
.contact-request .request-back-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#4c5665;font-size:.8rem;font-weight:600}
.contact-request .form-intro .kicker{display:none}
.contact-request .contact-form .form-intro :is(h1,h2){margin:0 0 10px;font-size:clamp(1.9rem,4.6vw,2.5rem);line-height:1.12;letter-spacing:-.045em;color:#142033}
.contact-request .contact-form>.form-intro{margin-bottom:24px}
.contact-request .contact-form>.form-intro p{color:#566171;font-size:.95rem;line-height:1.55}
.contact-request .form-grid{gap:18px 20px}
.contact-request .contact-form label{gap:6px;font-size:.86rem;font-weight:650}
.contact-request .contact-form input,.contact-request .contact-form select,.contact-request .contact-form textarea{min-height:46px;padding:10px 12px;border:1px solid #bcc6d2;border-radius:0;background:#fff;font-size:16px;font-weight:400;line-height:1.4}
.contact-request .contact-form textarea{min-height:112px}
.contact-request .contact-form input:focus,.contact-request .contact-form select:focus,.contact-request .contact-form textarea:focus{border-color:#245fe5!important;box-shadow:0 0 0 3px rgba(36,95,229,.13)}
.contact-request .contact-form>.form-note{margin:16px 0;color:#566171;font-size:.8rem}
.contact-request .contact-form button[type="submit"]{min-height:48px;padding:12px 22px;border:1px solid #245fe5;border-radius:0;background:#245fe5;box-shadow:none;color:#fff;font-size:.94rem;font-weight:700}
.contact-request .request-footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px;padding-top:18px;border-top:1px solid #e1e4e8;color:#657080;font-size:.75rem}
.contact-request .request-footer>div{display:flex;gap:18px}
.contact-request .request-footer a:hover,.contact-request .request-back-link:hover{color:#245fe5;text-decoration:underline;text-underline-offset:3px}
.contact-request a:focus-visible,.contact-request button:focus-visible{outline:3px solid #245fe5;outline-offset:4px}
@media(max-width:520px){
 .contact-request .contact-layout{width:calc(100% - 24px)!important}
 .contact-request .request-brand-row{gap:10px;margin-bottom:22px;padding-bottom:18px}
 .contact-request .request-brand-row img{width:132px}
 .contact-request .request-back-link{font-size:.72rem;gap:4px}
 .contact-request .form-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .contact-request .contact-form button[type="submit"]{width:100%}
}

/* The demo request uses the same frame with its existing four-step form. */
.demo-request body{min-height:100svh}
.demo-request .demo-form-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 24px}
.demo-request .demo-form-progress span{height:3px;background:#dde3ed}
.demo-request .demo-form-progress span.active{background:#245fe5}
.demo-request .demo-step{display:none;min-width:0}
.demo-request .demo-step.active{display:block}
.demo-request .demo-fieldset{min-width:0;border:0;padding:0;margin:0}
.demo-request .demo-fieldset legend{padding:0;margin:0 0 16px;color:#142033;font-size:1.12rem;font-weight:700;line-height:1.35}
.demo-request .demo-help{margin:0 0 14px;color:#566171;font-size:.88rem}
.demo-request .demo-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;min-width:0}
.demo-request .demo-input-grid .full{grid-column:1/-1}
.demo-request .demo-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.demo-request .contact-form .demo-choice{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #bcc6d2;cursor:pointer}
.demo-request .demo-choice:has(input:checked){border-color:#245fe5;background:#f4f7ff}
.demo-request .demo-choice input[type="radio"]{flex:0 0 18px;width:18px;min-height:18px;height:18px;margin:2px 0 0;padding:0;accent-color:#245fe5;box-shadow:none}
.demo-request .demo-choice input[type="radio"]:focus-visible{outline:2px solid #245fe5;outline-offset:3px}
.demo-request .demo-choice strong{display:block;font-size:.86rem;font-weight:650;line-height:1.4}
.demo-request .demo-choice small{display:block;color:#566171;font-size:.78rem;font-weight:400;line-height:1.4}
.demo-request .demo-form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.demo-request .demo-form-actions [hidden]{display:none!important}
.demo-request .demo-form-actions .btn{min-height:48px;font-size:.94rem;font-weight:700}
.demo-request .demo-form-actions .btn.secondary{color:#142033!important;background:#fff!important;border-color:#bcc6d2!important}
.demo-request .demo-status{margin-top:14px;color:#566171;font-size:.86rem;font-weight:600}
.demo-request .demo-status:empty{display:none}
.demo-request .demo-status.error{color:#b42318}
.demo-request .demo-status.success{color:#067647}
.demo-request .demo-success{display:none;padding:18px;border:1px solid #b7dccb;background:#f2fbf7;color:#064e3b}
.demo-request .demo-success.show{display:block}
.demo-request .demo-success strong{display:block;color:#064e3b;font-size:1.12rem}
.demo-request .demo-success p{margin:6px 0 0;color:#064e3b;font-size:.9rem}
.demo-request .demo-terms{margin:18px 0 0;padding-top:16px;border-top:1px solid #e1e4e8;color:#566171;font-size:.8rem;line-height:1.55}
@media(max-width:640px){
 .demo-request .demo-input-grid,.demo-request .demo-choice-grid{grid-template-columns:minmax(0,1fr)}
 .demo-request .demo-form-actions .btn{flex:1}
}

/* Invoice payments share the request frame; Square owns the card fields. */
.payment-request body{min-height:100svh}
.payment-request .site-payment-form{margin:0;gap:18px;min-width:0}
.payment-request #paymentAmountDisplay[hidden]{display:none!important}
.payment-request .payment-summary{display:grid;gap:8px;padding:16px;border:1px solid #d9e1eb;background:#f8fafc}
.payment-request .payment-summary-row{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#465366;font-size:.88rem}
.payment-request .payment-summary-value{color:#245fe5;font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}
.payment-request .payment-note{margin:0;padding:0;border:0;background:transparent;color:#566171;font-size:.8rem;line-height:1.5}
.payment-request .payment-form-grid{margin:0;min-width:0}
.payment-request .square-card-area>label{font-size:.86rem;font-weight:650}
.payment-request #card-container{min-height:116px;padding:12px;box-shadow:none}
.payment-request .site-payment-form>.form-note{margin:0;color:#566171;font-size:.8rem;line-height:1.55}
.payment-request #payButton{width:100%}
.payment-request #payButton:disabled{opacity:.65}
.payment-request .payment-status{min-height:0;font-size:.86rem}
.payment-request .payment-status.error{color:#b42318}
.payment-request .payment-status.success{color:#067647}
@media(max-width:640px){
 .payment-request .payment-form-grid{grid-template-columns:minmax(0,1fr)}
}

.payment-confirmation .confirmation-summary{margin:0 0 24px;padding:18px;border:1px solid #d9e1eb;background:#f8fafc}
.payment-confirmation .confirmation-summary>div{display:flex;align-items:center;justify-content:space-between;gap:16px}
.payment-confirmation .confirmation-summary dt{color:#465366;font-size:.9rem}
.payment-confirmation .confirmation-summary dd{margin:0;color:#245fe5;font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}
.payment-confirmation .confirmation-actions{display:flex;flex-wrap:wrap;gap:12px}
.payment-confirmation .confirmation-actions .btn{min-height:48px}
.payment-confirmation [hidden]{display:none!important}
@media(max-width:520px){.payment-confirmation .confirmation-actions .btn{width:100%}}
