/* Callback form and thank-you page share the solution palette. */
.callback-dialog{position:fixed;inset:0;width:min(520px,calc(100% - 32px));max-height:calc(100svh - 32px);margin:auto;padding:48px;border:1px solid var(--line);border-radius:2px;background:var(--paper);color:var(--ink);overflow:auto;box-shadow:0 24px 90px #302e2933}
.callback-dialog::backdrop{background:#302e2966;backdrop-filter:blur(5px)}
.callback-close{position:absolute;top:14px;right:14px;width:36px;height:36px;display:grid;place-items:center;border:0;background:transparent;color:var(--ink);font:300 32px/1 var(--sans);cursor:pointer}
.callback-dialog h2{font:400 clamp(32px,4vw,42px)/1.05 var(--serif);letter-spacing:-.035em;margin:8px 0 18px;padding-right:12px}
.callback-intro{font:14px/1.65 var(--sans);color:var(--muted);margin:0 0 32px;max-width:330px}
.callback-field{display:block;margin:24px 0 0;font:13px/1.4 var(--sans)}
.callback-field input{display:block;width:100%;min-height:44px;padding:10px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:16px/1.5 var(--sans);outline:none}
.callback-field input:focus{border-color:var(--brand-brown,#69452d);box-shadow:0 1px 0 var(--brand-brown,#69452d)}
.callback-field input::placeholder{color:var(--muted);opacity:.6}
.callback-consent{font:11px/1.8 var(--sans);color:var(--muted);margin:26px 0 0}
.callback-consent a{display:inline-block;text-decoration:underline;text-underline-offset:3px}
.callback-status{font:12px/1.6 var(--sans);min-height:20px;margin:12px 0;color:var(--brand-brown,#69452d)}
.callback-submit,.thanks-link{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:54px;padding:15px 22px;border:1px solid var(--brand-brown,#69452d);border-radius:2px;background:var(--brand-brown,#69452d);color:#fff;font:14px/1.4 var(--sans);text-decoration:none;cursor:pointer}
.callback-submit{width:100%}.callback-submit:disabled{opacity:.65;cursor:wait}
.callback-submit:not(:disabled):hover,.thanks-link:hover{background:#43464d;border-color:#43464d}
.callback-submit:focus-visible,.callback-close:focus-visible,.callback-consent a:focus-visible,.thanks-link:focus-visible{outline:2px solid var(--brand-brown,#69452d);outline-offset:4px}
.callback-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.thanks-main{min-height:calc(100svh - 86px);display:grid;place-items:center;padding:64px var(--gutter)}
.thanks-content{max-width:760px;width:100%;padding:clamp(32px,6vw,80px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.thanks-content h1{font:400 clamp(42px,6vw,76px)/1.05 var(--serif);letter-spacing:-.04em;margin:0 0 28px;max-width:700px}
.thanks-content>p:not(.solution-kicker){max-width:440px;font:15px/1.8 var(--sans);color:var(--muted);margin-bottom:36px}
.thanks-link{display:inline-flex;font-size:13px}
@media(max-width:520px){.callback-dialog{padding:36px 20px 20px}.callback-dialog h2{font-size:30px}.callback-intro{font-size:13px;line-height:1.6;margin-bottom:16px}.callback-field{margin-top:16px}.callback-consent{font-size:10px;line-height:1.65;margin-top:20px}.callback-status{min-height:16px;margin:8px 0}.thanks-main{min-height:calc(100svh - 70px)}.thanks-link{width:100%;gap:14px}}

.privacy-dialog{position:fixed;inset:0;margin:auto;width:min(720px,calc(100% - 24px));height:min(750px,calc(100svh - 24px));max-height:calc(100svh - 24px);padding:48px 0 0;border:1px solid var(--line);border-radius:2px;background:var(--paper);color:var(--ink);overflow:hidden;box-shadow:0 24px 90px #302e2933}
.privacy-dialog::backdrop{background:#302e294d;backdrop-filter:blur(3px)}
.privacy-dialog iframe{display:block;width:100%;height:100%;border:0}
.privacy-main{max-width:760px;margin:0 auto;padding:50px 32px 64px}
.privacy-main h1{font:400 clamp(32px,5vw,48px)/1.1 var(--serif);letter-spacing:-.035em;margin:0 0 18px}
.privacy-main h2{font:400 23px/1.2 var(--serif);letter-spacing:-.02em;margin:28px 0 10px}
.privacy-main p{font:14px/1.75 var(--sans);color:var(--muted);margin:0 0 12px;overflow-wrap:anywhere}
.privacy-main a{text-decoration:underline;text-underline-offset:3px}
.privacy-footer{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}
.privacy-footer p{font-size:11px}
.privacy-embedded .solution-header{display:none}.privacy-embedded .privacy-main{padding-top:12px}
@media(max-width:520px){.privacy-main{padding:32px 22px 40px}.privacy-main h2{font-size:22px}.privacy-main p{font-size:13px}.privacy-embedded .privacy-main{padding-top:8px}}

/* The landing brief and the solution brief use the callback form's visual language. */
.callback-dialog,.privacy-dialog{--paper:#f3f0eb;--ink:#302e29;--muted:#6d6961;--line:#c8c0b6;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
.brief-dialog{width:min(560px,calc(100% - 32px));padding:40px}
#brief-dialog #brief-form{padding:0;position:static}
.brief-dialog .callback-intro{max-width:440px;margin-bottom:16px}
.brief-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.brief-dialog .callback-field{margin-top:16px}
.callback-field select,.callback-field textarea{display:block;width:100%;min-height:44px;padding:10px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:15px/1.5 var(--sans);outline:none}
.callback-field textarea{resize:vertical;min-height:84px;max-height:220px}
.callback-field select{padding-right:20px}
.callback-field textarea:focus,.callback-field select:focus{border-color:var(--brand-brown,#69452d);box-shadow:0 1px 0 var(--brand-brown,#69452d)}
.callback-field textarea::placeholder{color:var(--muted);font-size:13px;opacity:.7}
.brief-upload{margin-top:22px}
.brief-add-file{display:inline-flex;align-items:center;gap:9px;padding:0;min-height:32px;border:0;background:transparent;color:var(--brand-brown,#69452d);font:13px/1.5 var(--sans);cursor:pointer}
.brief-add-file>span:first-child{font-size:20px;font-weight:300}
.brief-add-file:focus-visible,[data-remove-file]:focus-visible{outline:2px solid var(--brand-brown,#69452d);outline-offset:4px}
.brief-file-help{font:11px/1.65 var(--sans);color:var(--muted);margin:6px 0 0}
.brief-file-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.brief-file-selected{display:flex;align-items:center;gap:10px;margin-top:10px;padding:8px 10px;border:1px solid var(--line);font:12px/1.5 var(--sans)}
.brief-file-selected[hidden]{display:none}.brief-file-selected>span{overflow-wrap:anywhere;min-width:0;flex:1}
.brief-file-selected button{flex:none;width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--ink);font:22px/1 var(--sans);cursor:pointer}
.brief-file-error{font:12px/1.6 var(--sans);color:var(--brand-brown,#69452d);margin:6px 0 0}.brief-file-error:empty{display:none}
.brief-dialog .callback-consent{margin-top:18px}
.brief-dialog .callback-status{min-height:0;margin:12px 0}.brief-dialog .callback-status:empty{margin:0}
.brief-dialog .callback-submit{margin-top:22px}
.solution-cta-actions{display:flex;align-items:center;justify-content:center;gap:20px;max-width:100%;margin-top:48px}
.solution-cta .solution-cta-or{flex:none;margin:0;color:var(--muted);font:14px/1.5 var(--sans);text-transform:lowercase}
/* Light pill buttons follow the supplied CTA reference. */
.solution-cta :is([data-solution-cta],.solution-brief-button){display:inline-flex;align-items:center;justify-content:center;gap:9px;width:auto;max-width:100%;min-height:44px;padding:11px 18px;border:1px solid var(--brand-slate,#83888e);border-radius:999px;background:#f5f3ef;color:var(--brand-graphite,#43464d);font:400 13px/1.5 var(--sans);letter-spacing:normal;text-decoration:none;box-shadow:none;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;transform:none}
.solution-cta-actions svg{display:block;flex:none}
.solution-cta :is([data-solution-cta],.solution-brief-button):hover{background:#fff;border-color:var(--brand-graphite,#43464d);box-shadow:none;transform:none}
.solution-cta :is([data-solution-cta],.solution-brief-button):focus-visible{outline:2px solid var(--brand-brown,#69452d);outline-offset:4px}
@media(max-width:600px){.solution-cta-actions{flex-direction:column;gap:12px;margin-top:32px}.solution-cta :is([data-solution-cta],.solution-brief-button){width:min(100%,300px)}}
[data-brief-cta][hidden]{display:none}
@media(max-width:520px){.brief-dialog{padding:36px 20px 20px}.brief-contact-fields{grid-template-columns:1fr;gap:0}.brief-dialog .callback-intro{font-size:12px}.brief-dialog .callback-field{margin-top:14px}.brief-dialog .callback-field input,.brief-dialog .callback-field select{min-height:40px;padding:8px 0}.brief-dialog .callback-field textarea{min-height:70px}.brief-dialog .callback-consent{font-size:10px}.brief-upload{margin-top:16px}}

/* Landing callback: neutral greys distinguish it from the order form. */
.landing-callback-dialog{--paper:#e4e5e6;--ink:#43464d;--muted:#62676e;--line:#afb3b7;--brand-brown:#43464d;box-shadow:0 24px 90px #43464d33}
.landing-callback-dialog::backdrop{background:#43464d66}
.landing-callback-dialog .callback-submit:not(:disabled):hover{background:#565b63;border-color:#565b63}
