/* Contact page: retain editable blocks and the site's chosen accent color. */
.page-contact{background:radial-gradient(ellipse at 95% 0,rgba(var(--primary-rgb),.08),transparent 48%),linear-gradient(#f5f8fc,#fff);padding:32px 0 72px;color:#183b56}
.page-contact .public-block-grid{gap:24px}
.page-contact .public-block-grid>.public-block:first-child{position:relative;padding:32px 36px;border-radius:24px;background:#fff;border:1px solid #e2eaf0;box-shadow:0 8px 32px #183b5608;overflow:hidden}
.page-contact .public-block-grid>.public-block:first-child h1{font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.6;margin:0 0 12px;max-width:calc(100% - 100px);color:#183b56}
.page-contact .public-block-grid>.public-block:first-child .block-rich{max-width:65ch;margin-bottom:0;padding-inline-end:76px}
.contact-decoration{position:absolute;inset-inline-end:30px;top:30px;display:grid;place-items:center;width:76px;height:76px;background:rgba(var(--primary-rgb),.09);border:1px solid rgba(var(--primary-rgb),.12);border-radius:24px;transform:rotate(-8deg)}
.contact-decoration img{width:38px;height:38px;transform:rotate(8deg)}
.page-contact .block-rich{color:#475569;font-size:1rem;line-height:2;overflow-wrap:anywhere}
.page-contact .block-rich p{margin:0 0 12px}.page-contact .block-rich a{color:#164e63;text-underline-offset:4px}
.page-contact .block-card{border-radius:22px;padding:26px;background:linear-gradient(135deg,#fff,#f7fafc);border:1px solid #dfe7ef;box-shadow:0 3px 5px #183b5605,0 14px 30px #183b5608}
.page-contact .block-card h2{font-size:1.25rem;line-height:1.7;color:#183b56;margin-bottom:16px}
.page-contact .block-card .block-rich{font-size:1rem;margin-bottom:0}
.contact-card-icon{display:grid;place-items:center;width:48px;height:48px;background:rgba(var(--primary-rgb),.09);border:1px solid rgba(var(--primary-rgb),.1);border-radius:15px;margin-bottom:18px}
.contact-card-icon img{width:25px;height:25px}
.page-contact .block-contactform{border-radius:24px;padding:32px;background:#fff;box-shadow:0 3px 6px #183b5605,0 20px 45px #183b560a;border:1px solid #dfe7ef}
.page-contact .block-contactform>h2{font-size:1.65rem;line-height:1.7;color:#183b56;margin:0 0 16px}
.page-contact .block-contactform>.block-rich:empty{display:none}
.contact-form-intro{color:#526176;font-size:.9375rem;line-height:1.9;margin:0 0 24px}
.block-contact-form .field{margin-bottom:20px;min-width:0}
.block-contact-form label{display:block;font-size:.9375rem;font-weight:600;color:#243b53;margin-bottom:9px;line-height:1.8}
.block-contact-form label .muted{font-weight:400;font-size:.875rem;color:#526176}
.contact-input{position:relative}.contact-input>img{position:absolute;inset-inline-start:14px;top:17px;width:20px;height:20px;opacity:.7;pointer-events:none}
.block-contact-form .contact-input>input{padding-inline-start:44px}
.block-contact-form input,.block-contact-form select,.block-contact-form textarea{font-size:1rem;color:#183b56;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;padding:13px 15px;width:100%;min-height:52px;line-height:1.6}
.block-contact-form input::placeholder,.block-contact-form textarea::placeholder{color:#64748b;opacity:1}
.block-contact-form textarea{min-height:160px;resize:vertical}
.block-contact-form :is(input,select,textarea):focus{outline:3px solid rgba(var(--primary-rgb),.18);outline-offset:2px;border-color:var(--primary);background:#fff}
.block-contact-form [aria-invalid=true]{border-color:#b42318}
.contact-field-error{color:#b42318;font-size:.875rem;margin:7px 0 0;line-height:1.8}
.contact-submit-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:4px}
.contact-submit-row .btn{min-height:52px;gap:10px;padding-inline:25px;font-size:1rem}
.contact-submit-icon{width:20px;height:20px;background:currentColor;mask:url('microsoft-icons/send.svg') center/contain no-repeat;-webkit-mask:url('microsoft-icons/send.svg') center/contain no-repeat}
.contact-submit-note{font-size:.875rem;color:#526176;margin:0;line-height:1.9;max-width:32ch}
@media(min-width:1000px){
 .page-contact .contact-paired{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
 .page-contact .contact-paired>.public-card-group{grid-column:1/5;grid-row:2;grid-template-columns:minmax(0,1fr);gap:20px}
 .page-contact .contact-paired>.block-contactform{grid-column:5/-1;grid-row:2}
}
@media(min-width:640px) and (max-width:999px){.page-contact .public-card-group{grid-template-columns:repeat(2,minmax(0,1fr))}.page-contact .block-card{padding:24px}}
@media(max-width:639px){
 .page-contact{padding:18px 0 40px}.page-contact .public-block-grid{gap:18px}
 .page-contact .public-block-grid>.public-block:first-child{padding:25px 20px}.page-contact .public-block-grid>.public-block:first-child h1{max-width:calc(100% - 54px);font-size:1.75rem}
 .page-contact .public-block-grid>.public-block:first-child .block-rich{padding-inline-end:0;margin-top:18px}
 .contact-decoration{width:46px;height:46px;top:26px;inset-inline-end:18px;border-radius:15px}.contact-decoration img{width:25px;height:25px}
 .page-contact .public-card-group{grid-template-columns:minmax(0,1fr);gap:18px}.page-contact .block-card,.page-contact .block-contactform{padding:24px 20px;border-radius:20px}
 .block-contact-form .form-grid{grid-template-columns:minmax(0,1fr);gap:0}.contact-submit-row{align-items:stretch;flex-direction:column;gap:12px}.contact-submit-row .btn{width:100%}.contact-submit-note{max-width:none;text-align:center}
}
/* A restrained toolbar surface; icon geometry is Microsoft's original SVG. */
.block-editor .ck.ck-toolbar,.builder-fields .ck.ck-toolbar{background:#f8f9fb;border-color:#d5dce5;padding:7px;border-radius:9px 9px 0 0}
.ck.ck-toolbar .ck-button{border-radius:4px;min-height:34px;min-width:34px;color:#242424}
.ck.ck-toolbar .ck-button.ck-on{background:#e7effa;color:#174a80;border-color:#b4cbe8}
.ck.ck-toolbar .ck-button:not(.ck-disabled):hover{background:#edf1f5}
.ck.ck-toolbar .ck-toolbar__separator{margin-inline:7px;background:#d6dce5}
.ck .ck-icon path[fill]{fill:currentColor}

.block-contact-form .contact-input>input[dir=ltr]{padding-left:14px;padding-right:44px}
