/* Contact uses the accepted site typography, chrome and colour tokens. */
.contact-page { --surface: var(--panel); --text: var(--ink); --border: var(--line); --accent: var(--link); }
.contact-page .container { max-width:1440px; margin-inline:auto; padding-inline:64px; }
.contact-hero { background:var(--hero); color:#fff; }
.contact-hero__inner { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:40px; padding-block:32px; }
.contact-hero__inner--text { grid-template-columns:1fr; padding-block:48px; }
.contact-hero h1 { max-width:10ch; font-size:clamp(42px,4.6vw,64px); line-height:1.08; }
.contact-hero__copy>p { margin-top:20px; max-width:45ch; font-size:18px; line-height:1.6; color:#eef8ff; }
.contact-hero__art { display:block; width:100%; max-width:560px; justify-self:end; }
.contact-hero__art img { display:block; width:100%; height:auto; }
.contact-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.contact-hero__actions .primary { background:#fff; color:#005a96; }
.contact-hero__actions .secondary { background:transparent; border-color:#b1dcf7; color:#fff; }
.contact-hero__actions .secondary:hover { background:#ffffff17; }
.contact-hero :focus-visible { outline-color:#fff; }
.contact-page .section { padding-block:52px; }
.contact-page #contact { scroll-margin-top:20px; }
.contact-page .contact { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto auto; gap:32px; align-items:stretch; }
.contact-page .contact__intro { grid-column:1/-1; grid-row:1; }
.contact-page .contact__intro h2 { font-size:36px; }
.contact-page .contact__intro .lede { margin-top:12px; max-width:65ch; color:var(--muted); font-size:17px; }
.contact-page .contact__form { grid-column:1; grid-row:2; padding:28px; background:var(--soft); border-radius:12px; min-width:0; display:flex; }
.contact-page .contact__form form { display:flex; flex-direction:column; width:100%; min-width:0; }
.contact-page .formgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto auto auto 1fr; gap:20px 18px; flex:1; }
.contact-page .formfield { display:flex; flex-direction:column; gap:8px; min-width:0; }
.contact-page .formfield--wide { grid-column:1/-1; }
.contact-page .formfield>span { font-size:15px; font-weight:600; line-height:1.5; }
.contact-page .formfield i { font-style:normal; font-size:13px; font-weight:400; color:var(--muted); }
.contact-page .formfield input,.contact-page .formfield textarea,.contact-page .formfield select { width:100%; border:1px solid var(--line); border-radius:6px; padding:12px 14px; min-height:48px; color:var(--ink); background:var(--paper); font:inherit; font-size:16px; caret-color:var(--link); }
.contact-page .formfield textarea { resize:vertical; min-height:128px; line-height:1.5; flex:1; }
.contact-page .formfield :is(input,select,textarea):focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.contact-page .formfield [aria-invalid=true] { border-color:var(--contact-error); }
.contact-page .formfield em { font-style:normal; line-height:1.5; }
.contact-page .formactions { margin-top:24px; }
.contact-page .formactions button { min-height:52px; border:0; border-radius:6px; padding:12px 26px; font:inherit; font-size:16px; font-weight:600; background:var(--link); color:var(--paper); }
.contact-page .formactions button:hover { filter:brightness(.93); }
.contact-page .formactions button:disabled { opacity:.65; cursor:wait; }
.contact-page .formnote { font-size:14px; margin-top:14px; }
.contact-page .formnote--fine { color:var(--muted); font-size:13px; }
.contact-page .formnote--bad { color:var(--contact-error); }
.contact-page .formnote--ok { color:var(--ink); }
.contact-page .formturnstile { margin-top:20px; }
.contact-page .hp { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.contact-page .contact__list { display:grid; gap:0; }
.contact-page .contact__list-head { font-weight:600; margin:0 0 12px; font-size:16px; }
.contact-page .contact__list>div { padding-block:12px; border-top:1px solid var(--line); }
.contact-page .contact__list dt { font-size:13px; color:var(--muted); margin-bottom:6px; }
.contact-page .contact__list dd { margin:0; font-size:15px; }
.contact-page .contact__list a { display:inline-flex; align-items:center; min-height:44px; padding:8px 14px; border:1px solid var(--line); border-radius:6px; color:var(--link); text-decoration:none; overflow-wrap:anywhere; }
.contact-page .contact__list a:hover { background:var(--soft); border-color:var(--link); }
.contact-page .contact-details { grid-column:2; grid-row:2; min-width:0; display:flex; flex-direction:column; gap:24px; padding:28px; background:var(--soft); border-radius:12px; }
.contact-page .contact-details h3 { font-size:18px; line-height:1.4; margin:0 0 12px; }
.contact-page .contact-details .contact__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0; }
.contact-page .contact-details .contact__list>div { min-width:0; padding:0; border:0; }
.contact-page .contact-details .contact__list dt { margin-bottom:8px; }
.contact-page .contact-details .contact__list dd { display:flex; flex-direction:column; gap:8px; }
.contact-page .contact-details .contact__list-group { grid-column:1/-1; }
.contact-page .contact-details .contact__list-group dd { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.contact-page .contact-details .contact__list a { width:100%; justify-content:center; padding:8px; background:var(--paper); font-size:14px; }
.contact-page .contact-details .contact__list a:hover { border-color:var(--link); }
.contact-page .contact-office { display:flex; flex-direction:column; gap:20px; flex:1; min-width:0; }
.contact-page .contact-office__details { display:flex; gap:20px; align-items:flex-start; justify-content:space-between; }
.contact-page .contact-office__map { display:block; width:100%; height:240px; min-height:240px; flex:1; border:1px solid var(--line); border-radius:6px; color-scheme:light; }
.contact-page .contact-office h3 { font-size:24px; margin-bottom:8px; }
.contact-page .contact-office address { font-style:normal; color:var(--muted); font-size:15px; line-height:1.6; margin:0; max-width:36ch; }
.contact-page .contact-office .secondary { min-height:44px; padding:9px 14px; font-size:14px; flex-shrink:0; }
.contact-page .contact-social__links { display:flex; flex-wrap:wrap; gap:10px; }
.contact-page .contact-social .secondary { min-height:44px; padding:9px 15px; font-size:14px; }
@media(min-width:900px) and (max-width:1199px), (max-width:700px) { .contact-page .contact-office__details { flex-direction:column; gap:12px; } }
@media(max-width:500px) { .contact-page .contact-details .contact__list,.contact-page .contact-details .contact__list-group dd { grid-template-columns:1fr; }.contact-page .contact-details .contact__list-group dd { gap:8px; } }
.contact-page #faq { border-top:1px solid var(--line); padding-block:36px 48px; }
.contact-page #faq .section-head { margin-bottom:24px; }
.contact-page #faq h2 { font-size:32px; }
.contact-page .faq-layout { display:block; }
.contact-page .faq { width:100%; }
.contact-page .faq__item { border-bottom:1px solid var(--line); }
.contact-page .faq__item:first-child { border-top:1px solid var(--line); }
.contact-page .faq__q { min-height:64px; padding:18px 0; display:flex; gap:24px; align-items:center; justify-content:space-between; font-size:17px; font-weight:600; cursor:pointer; list-style:none; }
.contact-page .faq__q::-webkit-details-marker { display:none; }
.contact-page .faq__icon { flex-shrink:0; color:var(--link); }
.contact-page .faq__item[open] .faq__icon { transform:rotate(45deg); }
.contact-page .faq__a { max-width:78ch; color:var(--muted); padding:0 0 22px; font-size:16px; }
.contact-page .hosting-footer { border-top:1px solid var(--line); padding-block:36px 20px; color:var(--muted); font-size:14px; }
.contact-page .footer-top { display:grid; grid-template-columns:1.2fr 1fr .75fr 1fr; gap:32px; }
.contact-page .footer-brand>p { margin:12px 0; }
.contact-page .footer-group h2 { font:600 15px/1.5 Plex,sans-serif; color:var(--ink); margin:12px 0; }
.contact-page .footer-group address { font-style:normal; }
.contact-page .footer-top a:not(.brand) { display:block; padding-block:8px; text-decoration:none; }
.contact-page .footer-top a:hover { color:var(--link); text-decoration:underline; }
.contact-page .footer-bottom { display:flex; gap:24px; justify-content:space-between; margin-top:24px; padding-top:18px; border-top:1px solid var(--line); font-size:12px; }
.contact-page .footer-bottom a { min-height:44px; display:inline-flex; align-items:center; }
[dir=rtl] .contact-hero h1 { font-size:clamp(38px,4.5vw,58px); max-width:12ch; line-height:1.4; }
[dir=rtl] .contact-page .footer-group h2 { font-family:Cairo,sans-serif; }
@media(max-width:1100px) { .contact-page .container { padding-inline:40px; }.contact-hero__inner { gap:24px; }.contact-page .footer-top { grid-template-columns:1.2fr 1fr; } }
@media(max-width:899px) { .contact-page .contact { display:flex; flex-direction:column; align-items:stretch; gap:24px; }.contact-page .contact__intro { display:block; }.contact-page .contact__intro .lede { max-width:60ch; }.contact-page .contact__form { order:1; }.contact-page .contact-details { order:2; }.contact-page .contact__form,.contact-page .contact-details { padding:24px; }.contact-page .contact-office__map { flex:none; } }
@media(max-width:700px) { .contact-page .container { padding-inline:20px; }.contact-hero__inner { grid-template-columns:1fr; padding-block:30px 18px; gap:8px; }.contact-hero__copy>p { font-size:16px; margin-top:16px; }.contact-hero__art { max-width:330px; justify-self:center; }.contact-hero h1 { max-width:15ch; font-size:42px; }.contact-hero__actions { margin-top:20px; }.contact-hero__actions :is(.primary,.secondary) { width:auto; min-height:48px; padding:10px 16px; font-size:14px; }.contact-page .section { padding-block:32px; }.contact-page .contact__intro h2 { font-size:30px; }.contact-page .contact__intro .lede { font-size:16px; margin-top:12px; }.contact-page .contact__form,.contact-page .contact-details { padding:20px 16px; }.contact-page .formgrid { grid-template-columns:1fr; grid-template-rows:none; gap:18px; }.contact-page .formactions button { width:100%; }.contact-page #faq { padding-block:28px 36px; }.contact-page #faq h2 { font-size:28px; }.contact-page .faq__q { font-size:16px; }.contact-page .footer-top { grid-template-columns:1fr 1fr; gap:24px; }.contact-page .footer-brand { grid-column:1/-1; }.contact-page .footer-bottom { display:block; }.contact-page .footer-bottom a { margin-top:8px; } }
@media(prefers-reduced-motion:reduce) { .contact-page { scroll-behavior:auto; } }
