.contact-page-body { background:#fff; }
.contact-page-main { overflow:hidden; }
.contact-page-hero { min-height:320px; display:flex; align-items:center; padding:72px 0; color:#fff; text-align:center; background:linear-gradient(90deg,rgba(11,13,16,.9),rgba(21,22,26,.72)),url("../img/gallery-webp/about1.webp") center 46%/cover no-repeat; }
.contact-page-hero > .container { display:flex; flex-direction:column; align-items:center; }
.contact-page-hero h1 { font-size:clamp(48px,5.2vw,66px); line-height:1; text-shadow:0 4px 20px #0007; }
.contact-breadcrumb { display:flex; align-items:center; gap:12px; margin-top:18px; font-size:14px; font-weight:700; }
.contact-breadcrumb a { color:#e3e5e7; }
.contact-breadcrumb a:hover,
.contact-breadcrumb span[aria-hidden="true"] { color:var(--red); }

.contact-quick-section { position:relative; z-index:2; background:#fff; }
.contact-quick-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:-34px; }
.contact-quick-card { min-width:0; display:grid; grid-template-columns:48px minmax(0,1fr) 18px; align-items:center; gap:14px; min-height:100px; padding:20px; border:1px solid #e6e2dc; border-radius:13px; background:#fff; color:#24272c; box-shadow:0 15px 34px #17191d12; transition:.23s ease; }
.contact-quick-card:hover { border-color:#d7192047; color:var(--red); box-shadow:0 19px 40px #17191d19; transform:translateY(-4px); }
.contact-quick-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:11px; background:#fff1f1; color:var(--red); }
.contact-quick-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.contact-quick-card > span:nth-child(2) { min-width:0; display:flex; flex-direction:column; gap:4px; }
.contact-quick-card small { color:#81868b; font-size:9px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.contact-quick-card strong { min-width:0; overflow-wrap:anywhere; font-size:12.5px; }
.contact-quick-card > b { color:#b9bdc1; font-size:18px; }

.contact-enquiry-section { scroll-margin-top:88px; padding:88px 0 100px; background:linear-gradient(135deg,#f8f7f3 0 74%,#f1eee8 74%); }
.contact-enquiry-layout { display:grid; grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr); gap:20px; align-items:stretch; }
.contact-support-panel { position:relative; overflow:hidden; padding:42px 37px; border-radius:17px; background:linear-gradient(145deg,rgba(19,21,25,.97),rgba(27,29,34,.93)),url("../img/gallery-webp/about2.webp") center/cover no-repeat; color:#fff; box-shadow:0 24px 58px #17191d2b; }
.contact-support-panel::after { content:""; position:absolute; right:-170px; bottom:-190px; width:370px; height:370px; border:70px solid #d719200b; border-radius:50%; }
.contact-support-panel > * { position:relative; z-index:1; }
.contact-page-kicker { display:flex; align-items:center; gap:11px; color:var(--red); font-size:9.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.contact-page-kicker::before { content:""; width:31px; height:2px; background:var(--red); }
.contact-support-panel h2 { max-width:420px; margin-top:15px; font-size:clamp(36px,3.4vw,48px); line-height:1; }
.contact-support-panel h2 span { display:block; color:#ff353d; }
.contact-support-panel > p { margin-top:18px; color:#b8bdc2; font-size:12px; line-height:1.75; }
.contact-support-list { display:grid; gap:10px; margin-top:28px; }
.contact-support-list > div { display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px; padding:13px 14px; border:1px solid #ffffff0e; border-left:3px solid transparent; background:#ffffff05; transition:border-color .22s ease,background .22s ease,transform .22s ease; }
.contact-support-list > div:hover { border-left-color:var(--red); background:#ffffff0a; transform:translateX(3px); }
.contact-support-list > div > span { width:31px; height:31px; display:grid; place-items:center; border:1px solid #d719205c; color:#ff4850; font:700 12px "Barlow Condensed",sans-serif; }
.contact-support-list p { display:flex; flex-direction:column; gap:4px; }
.contact-support-list b { font-size:12px; }
.contact-support-list small { color:#969ca2; font-size:9.5px; line-height:1.55; }
.contact-hours { display:grid; grid-template-columns:37px minmax(0,1fr); align-items:center; gap:12px; margin-top:25px; padding:15px; border:1px solid #d719203d; background:linear-gradient(90deg,#d7192012,#ffffff06); }
.contact-hours svg { width:29px; height:29px; fill:none; stroke:#ff454c; stroke-width:1.7; stroke-linecap:round; }
.contact-hours div { display:flex; flex-direction:column; gap:3px; }
.contact-hours small { color:#969ca2; font-size:8px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.contact-hours strong { font-size:10.5px; }

.contact-form-card { position:relative; overflow:hidden; padding:40px 42px; border:1px solid #e5e1db; border-radius:17px; background:#fff; box-shadow:0 24px 58px #17191d16; }
.contact-form-card::before { content:""; position:absolute; inset:0 0 auto; height:4px; background:linear-gradient(90deg,var(--red),#ff555b 55%,transparent); }
.contact-form-card::after { content:""; position:absolute; top:-145px; right:-125px; width:300px; height:300px; border-radius:50%; background:#d7192008; box-shadow:0 0 0 45px #d7192003; }
.contact-form-card > * { position:relative; z-index:1; }
.contact-form-heading { max-width:620px; margin-bottom:27px; }
.contact-form-heading h2 { margin-top:11px; color:#17191d; font-size:clamp(34px,3.2vw,45px); line-height:1; }
.contact-form-heading h2 span { color:var(--red); }
.contact-form-heading p { margin-top:12px; color:#747a80; font-size:11px; line-height:1.7; }
.contact-form-trust { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.contact-form-trust span { display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border:1px solid #e7e2dc; border-radius:20px; background:#fbfaf8; color:#555b61; font-size:8.5px; font-weight:700; }
.contact-form-trust i { width:16px; height:16px; display:grid; place-items:center; border-radius:50%; background:#d7192010; color:var(--red); font-style:normal; font-size:9px; }
.contact-page-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.contact-page-field { min-width:0; }
.contact-page-field--full { grid-column:1/-1; }
.contact-page-field label { display:block; margin-bottom:7px; color:#4c5157; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.contact-page-field input,
.contact-page-field select,
.contact-page-field textarea { width:100%; height:50px; padding:0 14px; border:1px solid #dfdcd6; border-radius:7px; outline:0; background:#fbfaf8; color:#24272c; font:500 12px "DM Sans",sans-serif; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.contact-page-field textarea { min-height:105px; padding-top:14px; resize:vertical; }
.contact-page-field input::placeholder,
.contact-page-field textarea::placeholder { color:#9ba0a4; }
.contact-page-field input:focus,
.contact-page-field select:focus,
.contact-page-field textarea:focus { border-color:var(--red); background:#fff; box-shadow:0 0 0 3px #d7192012; }
.contact-page-field input:hover,
.contact-page-field select:hover,
.contact-page-field textarea:hover { border-color:#c9c4bd; background:#fff; }
.contact-page-field select { cursor:pointer; }
.contact-submit { position:relative; width:100%; min-height:52px; display:flex; align-items:center; justify-content:center; gap:10px; overflow:hidden; border:1px solid var(--red); border-radius:7px; background:linear-gradient(100deg,#d71920,#ed2028); color:#fff; font:700 11px "DM Sans",sans-serif; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; box-shadow:0 12px 25px #d7192023; transition:.22s ease; }
.contact-submit::before { content:""; position:absolute; top:-40%; bottom:-40%; left:-28%; width:18%; background:#ffffff40; transform:skewX(-22deg); transition:left .42s ease; }
.contact-submit span,
.contact-submit svg { position:relative; z-index:1; }
.contact-submit svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .22s ease; }
.contact-submit:hover { background:#b91218; border-color:#b91218; transform:translateY(-2px); box-shadow:0 15px 30px #d7192030; }
.contact-submit:hover::before { left:115%; }
.contact-submit:hover svg { transform:translateX(4px); }
.contact-form-status { display:flex; align-items:center; gap:7px; margin:0; color:#777d82; font-size:9px; }
.contact-form-status span { color:#20b469; font-size:9px; }

.contact-map-section { padding:90px 0 100px; background:#fff; }
.contact-map-heading { margin-bottom:30px; text-align:center; }
.contact-map-heading .contact-page-kicker { justify-content:center; }
.contact-map-heading .contact-page-kicker::after { content:""; width:31px; height:2px; background:var(--red); }
.contact-map-heading h2 { margin-top:12px; color:#17191d; font-size:clamp(35px,4vw,48px); }
.contact-map-wrap { position:relative; height:470px; overflow:hidden; border:1px solid #e1ddd7; border-radius:18px; box-shadow:0 20px 48px #17191d13; }
.contact-map-wrap iframe { width:100%; height:100%; border:0; }
.contact-map-card { position:absolute; right:25px; bottom:25px; width:min(380px,calc(100% - 50px)); padding:24px 25px; border-left:4px solid var(--red); border-radius:10px; background:#17191df2; color:#fff; box-shadow:0 18px 42px #0005; backdrop-filter:blur(7px); }
.contact-map-card > span { color:#ff4249; font-size:9px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.contact-map-card p { margin-top:8px; color:#bdc1c5; font-size:10.5px; line-height:1.65; }
.contact-map-card a { display:inline-flex; align-items:center; gap:8px; margin-top:16px; color:#fff; font-size:10px; font-weight:700; text-transform:uppercase; }
.contact-map-card a:hover { color:#ff454c; }

@media (max-width:1000px) {
  .contact-quick-grid { grid-template-columns:1fr; width:min(650px,calc(100% - 40px)); }
  .contact-enquiry-layout { grid-template-columns:1fr; }
  .contact-support-panel, .contact-form-card { max-width:760px; width:100%; margin:auto; }
}
@media (max-width:650px) {
  .contact-page-hero { min-height:255px; padding:55px 0; }
  .contact-quick-grid { width:calc(100% - 28px); margin-top:25px; }
  .contact-quick-card { min-height:88px; padding:15px; }
  .contact-enquiry-section { padding:65px 0 74px; background:#f8f7f3; }
  .contact-enquiry-section > .container, .contact-map-section > .container { width:calc(100% - 28px); }
  .contact-support-panel { padding:31px 23px; }
  .contact-form-card { padding:30px 20px; }
  .contact-page-form { grid-template-columns:1fr; gap:14px; }
  .contact-page-field--full { grid-column:auto; }
  .contact-map-section { padding:66px 0 74px; }
  .contact-map-wrap { height:520px; }
  .contact-map-card { right:14px; bottom:14px; width:calc(100% - 28px); padding:20px; }
}
@media (max-width:420px) {
  .contact-quick-card { grid-template-columns:43px minmax(0,1fr); }
  .contact-quick-card > b { display:none; }
  .contact-quick-icon { width:43px; height:43px; }
}
