/* Active local landing and catalogue styles. */
.callback-dialog { position: fixed; inset: 0px; width: min(520px, 100% - 32px); max-height: calc(-32px + 100svh); margin: auto; padding: 48px; border: 1px solid var(--line); border-radius: 2px; background: var(--paper); color: var(--ink); overflow: auto; box-shadow: rgba(48, 46, 41, 0.2) 0px 24px 90px; }
.callback-dialog::backdrop { background: rgba(48, 46, 41, 0.4); backdrop-filter: blur(5px); }
.callback-close { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; display: grid; place-items: center; border: 0px; 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: -0.035em; margin: 8px 0px 18px; padding-right: 12px; }
.callback-intro { font: 14px/1.65 var(--sans); color: var(--muted); margin: 0px 0px 32px; max-width: 330px; }
.callback-field { display: block; margin: 24px 0px 0px; font: 13px/1.4 var(--sans); }
.callback-field input { display: block; width: 100%; min-height: 44px; padding: 10px 0px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); border-radius: 0px; 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: 0.6; }
.callback-consent { font: 11px/1.8 var(--sans); color: var(--muted); margin: 26px 0px 0px; }
.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 0px; 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: rgb(255, 255, 255); font: 14px/1.4 var(--sans); text-decoration: none; cursor: pointer; }
.callback-submit { width: 100%; }
.callback-submit:disabled { opacity: 0.65; cursor: wait; }
.callback-submit:not(:disabled):hover,
.thanks-link:hover { background: rgb(67, 70, 77); border-color: rgb(67, 70, 77); }
.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(-86px + 100svh); display: grid; place-items: center; padding: 64px var(--gutter); }
.thanks-content { max-width: 760px; width: 100%; padding: clamp(32px, 6vw, 80px) 0px; 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: -0.04em; margin: 0px 0px 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 0px; }
.thanks-main { min-height: calc(-70px + 100svh); }
.thanks-link { width: 100%; gap: 14px; }
}
.privacy-dialog { position: fixed; inset: 0px; margin: auto; width: min(720px, 100% - 24px); height: min(750px, -24px + 100svh); max-height: calc(-24px + 100svh); padding: 48px 0px 0px; border: 1px solid var(--line); border-radius: 2px; background: var(--paper); color: var(--ink); overflow: hidden; box-shadow: rgba(48, 46, 41, 0.2) 0px 24px 90px; }
.privacy-dialog::backdrop { background: rgba(48, 46, 41, 0.3); backdrop-filter: blur(3px); }
.privacy-dialog iframe { display: block; width: 100%; height: 100%; border: 0px; }
.privacy-main { max-width: 760px; margin: 0px auto; padding: 50px 32px 64px; }
.privacy-main h1 { font: 400 clamp(32px,5vw,48px)/1.1 var(--serif); letter-spacing: -0.035em; margin: 0px 0px 18px; }
.privacy-main h2 { font: 400 23px/1.2 var(--serif); letter-spacing: -0.02em; margin: 28px 0px 10px; }
.privacy-main p { font: 14px/1.75 var(--sans); color: var(--muted); margin: 0px 0px 12px; overflow-wrap: anywhere; }
.privacy-main a { text-decoration: underline; text-underline-offset: 3px; }
.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; }
}
.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, 100% - 32px); padding: 40px; }
#brief-dialog #brief-form { padding: 0px; position: static; }
.brief-dialog .callback-intro { max-width: 440px; margin-bottom: 16px; }
.brief-dialog .callback-field { margin-top: 16px; }
.callback-field select,
.callback-field textarea { display: block; width: 100%; min-height: 44px; padding: 10px 0px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); border-radius: 0px; 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: 0.7; }
.brief-upload { margin-top: 22px; }
[data-remove-file]:focus-visible { outline: 2px solid var(--brand-brown,#69452d); outline-offset: 4px; }
.brief-file-input { overflow: hidden; clip-path: inset(50%); white-space: nowrap; position: absolute !important; width: 1px !important; height: 1px !important; padding: 0px !important; border: 0px !important; }
.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: 0px; flex: 1 1 0%; }
.brief-file-selected button { flex: 0 0 auto; width: 28px; height: 28px; padding: 0px; border: 0px; background: transparent; color: var(--ink); font: 22px/1 var(--sans); cursor: pointer; }
.brief-dialog .callback-consent { margin-top: 18px; }
.brief-dialog .callback-status { min-height: 0px; margin: 12px 0px; }
.brief-dialog .callback-status:empty { margin: 0px; }
.brief-dialog .callback-submit { margin-top: 22px; }
[data-brief-cta][hidden] { display: none; }
@media (max-width: 520px) {
.brief-dialog { padding: 36px 20px 20px; }
.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 0px; }
.brief-dialog .callback-field textarea { min-height: 70px; }
.brief-dialog .callback-consent { font-size: 10px; }
.brief-upload { margin-top: 16px; }
}
