/* Contact page only. Existing fonts, CF7 controls and consent behaviour. */
.contact-editorial{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px 88px;align-items:start;padding-block:70px 76px}
.contact-conversation{grid-column:1;grid-row:1;min-width:0}
.contact-conversation>.eyebrow{font-size:11px;letter-spacing:.14em;margin:0 0 25px}
.contact-conversation h1{font-family:var(--sans);font-size:clamp(42px,4.25vw,64px);font-weight:550;line-height:1.08;letter-spacing:-.055em}
.contact-conversation h1 em{display:inline-block;font-family:Literata,Georgia,serif;font-weight:400;font-size:.97em;line-height:1.23;letter-spacing:-.065em;margin-top:5px}
.contact-conversation>.lead{max-width:440px;margin-top:26px;font-size:17px;line-height:1.8}
.contact-jump{margin-top:18px;min-height:44px;font-size:14px}
.contact-direct{margin-top:38px;padding:29px 32px 30px;background:#63253b;color:#fff;position:relative}
.contact-direct .eyebrow{color:#ead6d9;font-size:11px;letter-spacing:.13em;margin-bottom:13px}
.contact-phone{display:inline-block;color:#fff;font-size:clamp(28px,2.8vw,40px);font-weight:500;line-height:1.3;letter-spacing:-.04em;padding-bottom:18px}
.contact-direct-details{border-top:1px solid #997180;padding-top:14px;display:flex;flex-direction:column;align-items:start;gap:3px}
.contact-direct-details a{color:#f8edf0;display:inline-block;min-height:35px;padding-block:5px;font-size:15px;overflow-wrap:anywhere;max-width:100%}
.contact-direct a:hover{text-decoration:underline;text-underline-offset:6px}
.contact-direct a:focus-visible{outline-color:#fff}
.contact-request{grid-column:2;grid-row:1 / span 2;min-width:0;padding:0;border-top:3px solid #63253b;background:#fff;box-shadow:0 12px 40px #38242a07}
.contact-request .contact-form{background:transparent;border-radius:0;padding:32px 34px 34px}
.contact-request .contact-form h2{font-size:30px;line-height:1.18;letter-spacing:-.045em;margin-bottom:12px;max-width:480px}
.contact-request .contact-form .form-notice{font-size:15px;line-height:1.7;padding:0 0 25px;margin:0 0 25px;border:0;border-bottom:1px solid #e2dada;background:transparent;color:#675d62}
.contact-request .form-grid{gap:0 22px}
.contact-request .contact-form label{font-size:14px;font-weight:500;line-height:1.6;margin-bottom:20px}
.contact-request .contact-form input:not([type=checkbox]):not([type=submit]),.contact-request .contact-form select,.contact-request .contact-form textarea{background:#fcfaf8;border:1px solid #9c9195;border-radius:2px;color:#29252a;font-size:16px;line-height:1.5;min-height:49px;margin-top:7px;padding:11px 12px;transition:border-color .18s,box-shadow .18s}
.contact-request .contact-form textarea{height:140px;min-height:110px}
.contact-request .contact-form input:focus-visible,.contact-request .contact-form select:focus-visible,.contact-request .contact-form textarea:focus-visible{outline:2px solid #63253b;outline-offset:2px}
.contact-request .contact-form .fine-print{font-size:14px;line-height:1.7;color:#675d62;margin:0 0 20px}
.contact-request .contact-form>label+.fine-print{margin-top:-9px}
.contact-request .contact-form .checkbox{border-top:1px solid #e2dada;padding-top:20px;margin-top:6px}
.contact-request .wpcf7-acceptance label{font-size:14px;font-weight:400;line-height:1.7;gap:2px}
.contact-request .wpcf7-acceptance input{width:18px;height:18px;min-width:18px}
.contact-request [data-bgl-captcha-gate]{padding:16px;margin:20px 0;background:#f3eeeb;border:1px solid #ded2d4}
.contact-request [data-bgl-captcha-gate] p{font-size:14px;line-height:1.7;margin:0 0 12px}
.contact-request [data-bgl-captcha-gate] .button{font-size:14px;min-height:44px;padding:11px 16px}
.contact-request .captcha-slot{margin-block:18px}
/* The existing consent loader selects Google's compact widget from this width.
   Keep one size across breakpoints so an already rendered widget fits on resize. */
.contact-request .cf7sr-g-recaptcha{width:164px;max-width:100%}
.contact-request .contact-form input[type=submit]{width:100%;min-height:54px;border-radius:2px;margin-top:22px;font-size:16px;text-align:center}
.contact-request .contact-form input[type=submit]:disabled{background:#e6dcde;color:#56464c;border-color:#98868c;cursor:not-allowed}
.contact-request .wpcf7-response-output{margin:0 34px 28px!important}
.contact-request .wpcf7-not-valid-tip{font-size:14px;line-height:1.5;margin-top:5px}
.contact-visit{grid-column:1;grid-row:2;min-width:0;padding-top:0}
.contact-visit h2{font-size:26px;line-height:1.2;margin:0 0 15px;font-weight:550}
.contact-visit address{font-style:normal;font-size:17px;line-height:1.75}
.contact-visit .text-link{min-height:44px;margin-top:8px;font-size:14px}
.contact-hours{margin-top:27px;padding-top:22px;border-top:1px solid #d9cecc}
.contact-hours h3{font-size:15px;font-weight:600;margin-bottom:12px}
.contact-hours dl{margin:0;font-size:14px;line-height:1.6;color:#675d62}
.contact-hours dl>div{display:flex;justify-content:space-between;gap:15px;padding-block:5px}
.contact-hours dd{margin:0;white-space:nowrap;color:#393137}
.contact-editorial+.bgl-map-section{border-top:1px solid #d9cecc;padding-block:48px 76px;display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:60px;align-items:start}
.contact-editorial+.bgl-map-section .section-heading{display:block;margin:0}
.contact-editorial+.bgl-map-section h2{font-size:clamp(30px,3vw,42px);line-height:1.14;max-width:330px}
.contact-editorial+.bgl-map-section .section-heading>p{margin-top:24px;font-size:17px}
.contact-editorial+.bgl-map-section .eyebrow{font-size:11px;margin-bottom:18px}
.contact-editorial+.bgl-map-section .bgl-map-shell{min-height:360px;border-color:#d9cecc}
.contact-editorial+.bgl-map-section .bgl-map-placeholder{min-height:360px;padding:30px 24px;gap:14px;background-color:#f0e9e6}
.contact-editorial+.bgl-map-section .bgl-map-placeholder h3{font-size:20px}
.contact-editorial+.bgl-map-section .bgl-map-placeholder p{font-size:14px;line-height:1.7;background:#f0e9e6}
.contact-editorial+.bgl-map-section iframe{height:380px}
@media(min-width:1001px){html[lang=ru] .contact-conversation h1{font-size:clamp(40px,3.5vw,54px)}html[lang=fr] .contact-conversation h1{font-size:clamp(40px,3.8vw,56px)}}
@media(max-width:1100px){.contact-editorial{column-gap:42px}.contact-request .contact-form{padding:28px}.contact-direct{padding:26px}.contact-editorial+.bgl-map-section{gap:36px}.contact-hours dl>div{flex-wrap:wrap;gap:3px 12px}.contact-request .form-grid{grid-template-columns:1fr}}
@media(max-width:800px){.contact-editorial{grid-template-columns:1fr;gap:32px;padding-block:38px 42px}.contact-conversation,.contact-request,.contact-visit{grid-column:1;grid-row:auto}.contact-conversation h1{font-size:clamp(38px,7vw,54px)}.contact-conversation>.eyebrow{font-size:10px;margin-bottom:20px}.contact-conversation>.lead{font-size:16px;max-width:540px;margin-top:20px}.contact-jump{margin-top:12px}.contact-direct{margin-top:25px;padding:24px}.contact-phone{font-size:32px}.contact-direct-details a{font-size:14px;min-height:40px}.contact-request .contact-form{padding:27px 24px}.contact-request .contact-form h2{font-size:28px}.contact-request .form-grid{grid-template-columns:1fr 1fr}.contact-visit{padding:12px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-hours{margin:0;padding:0;border:0}.contact-hours dl>div{display:block}.contact-hours dd{margin-top:2px}.contact-editorial+.bgl-map-section{grid-template-columns:1fr;gap:24px;padding-block:35px 45px}.contact-editorial+.bgl-map-section h2{max-width:none}.contact-editorial+.bgl-map-section .section-heading>p{margin-top:15px}.contact-editorial+.bgl-map-section .bgl-map-placeholder{padding:25px 18px}}
@media(max-width:480px){.contact-request .form-grid{grid-template-columns:1fr}.contact-request .contact-form{padding:25px 20px}.contact-request .contact-form h2{font-size:26px}.contact-visit{grid-template-columns:1fr;gap:25px}.contact-hours{border-top:1px solid #d9cecc;padding-top:20px}.contact-hours dl>div{display:flex}.contact-request .wpcf7-response-output{margin-inline:20px!important}.contact-direct{padding:23px 21px}.contact-phone{font-size:30px}}
@media(max-width:360px){.contact-request .contact-form{padding-inline:16px}.contact-direct{padding-inline:18px}.contact-phone{font-size:28px}.contact-conversation h1{font-size:36px}.contact-hours dl>div{display:block}}
@media(prefers-reduced-motion:reduce){.contact-request input,.contact-request select,.contact-request textarea{transition:none}}
@media(forced-colors:active){.contact-direct{border:1px solid CanvasText}.contact-request{border:1px solid CanvasText}.contact-direct a:focus-visible{outline-color:Highlight}}
