/* V4.27: OLINPA Contact — responsive, accessible, navy/gold. */
.olinpa-contact-layout {display:grid;grid-template-columns:minmax(250px,.85fr) minmax(320px,1.15fr);align-items:start;gap:clamp(22px,4vw,52px);padding-top:24px;padding-bottom:clamp(48px,6vw,94px)}
.olinpa-contact-details{margin:0;min-width:0;padding:clamp(22px,3vw,35px);border:1px solid rgba(229,183,83,.27);border-radius:16px;background:#0b253a;color:#f7f8fb}
.olinpa-contact-details h2{margin:0 0 20px;font-size:clamp(21px,2.3vw,29px);color:#fff}
.olinpa-contact-details p{margin:0 0 17px;color:#dbe4ed;line-height:1.75;overflow-wrap:anywhere}
.olinpa-contact-details a{color:#f2c56e;overflow-wrap:anywhere}
.olinpa-contact-panel{min-width:0;border:1px solid rgba(233,185,90,.28);border-radius:16px;padding:clamp(22px,3vw,38px);background:linear-gradient(145deg,#122c43,#071b2e 90%);box-shadow:0 12px 40px rgba(0,0,0,.12);color:#f9fafb}
.olinpa-contact-kicker{display:block;letter-spacing:.2em;color:#eabe65;font-weight:750;font-size:12px;margin-bottom:8px}
.olinpa-contact-panel h2{color:#fff;margin:0 0 10px;font-size:clamp(24px,3vw,34px);line-height:1.25}
.olinpa-contact-intro{color:#d7e0e9;margin:0 0 22px;line-height:1.65}
.olinpa-contact-form{display:grid;gap:17px}
.olinpa-contact-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.olinpa-contact-form label{display:flex;flex-direction:column;gap:9px;min-width:0;color:#f1f4f8;font-size:14px;font-weight:600}
.olinpa-contact-form label b{color:#f3bf61}
.olinpa-contact-form input:not([type=hidden]),.olinpa-contact-form textarea{appearance:none;border:1px solid #637c90;background:#f9fbfc;color:#0c2338;border-radius:9px;padding:13px 14px;line-height:1.5;width:100%;min-width:0;font:inherit;font-size:16px;box-sizing:border-box}
.olinpa-contact-form textarea{min-height:145px;resize:vertical}
.olinpa-contact-form input:focus-visible,.olinpa-contact-form textarea:focus-visible{outline:3px solid #e6bc67;outline-offset:2px;border-color:#e6bc67}
.olinpa-contact-privacy{font-size:12px;line-height:1.6;color:#cbd6df;margin:0}
.olinpa-contact-form .btn{justify-self:start;font-size:15px;cursor:pointer;border:none}
.olinpa-contact-hp{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.olinpa-contact-success,.olinpa-contact-error{padding:13px 16px;border-radius:9px;margin:0 0 18px;line-height:1.5}
.olinpa-contact-success{background:#e9f8ee;border:1px solid #66b784;color:#17512c}
.olinpa-contact-error{background:#fff0ed;border:1px solid #e4a199;color:#902b1d}
[dir=rtl] .olinpa-contact-form input,[dir=rtl] .olinpa-contact-form textarea{text-align:start}
@media(max-width:820px){.olinpa-contact-layout{grid-template-columns:minmax(0,1fr)}.olinpa-contact-details{order:2}.olinpa-contact-panel{order:1}}
@media(max-width:540px){.olinpa-contact-row{grid-template-columns:1fr}.olinpa-contact-layout{padding-top:18px}.olinpa-contact-form .btn{width:100%;justify-content:center}}

/* V4.28 — Contact page: move heading and form/cards upward without touching other pages.
   Loaded only when p=contact, after the shared site.css. */
.inner-top { padding-top: 30px; padding-bottom: 2px; }
.inner-top h1 { margin-top: 5px; margin-bottom: 7px; line-height: 1.14; }
.olinpa-contact-layout { padding-top: 8px; padding-bottom: clamp(35px, 4.5vw, 64px); }
@media (max-width: 820px) {
  .inner-top { padding-top: 22px; padding-bottom: 1px; }
  .inner-top h1 { margin-top: 4px; margin-bottom: 6px; }
  .olinpa-contact-layout { padding-top: 8px; gap: 18px; }
}
@media (max-width: 540px) {
  .inner-top { padding-top: 18px; }
  .olinpa-contact-layout { padding-top: 6px; }
}
