.subpage-contact{
  position:relative;
  isolation:isolate;
  scroll-margin-top:var(--nav-h,72px);
  padding:clamp(42px,5vw,74px) 0 clamp(58px,7vw,98px);
  overflow:hidden;
  background-color:var(--paper,#f2f2f0);
  background-image:linear-gradient(rgba(242,242,240,.9),rgba(242,242,240,.96)),url("stelar-mark-pattern.png");
  background-size:auto,180px 160px;
  color:var(--text,var(--ink,#414246));
}

.subpage-contact-shell{
  display:grid;
  grid-template-columns:minmax(420px,5fr) minmax(0,7fr);
  min-height:620px;
  overflow:hidden;
  border:1px solid #a7a8ab;
  border-top:4px solid var(--accent,#ff8726);
  border-radius:var(--radius,4px);
  background:var(--canvas,#e6e6e4);
  box-shadow:0 26px 64px rgba(57,58,61,.16);
}

.subpage-contact-location{
  position:relative;
  min-width:0;
  isolation:isolate;
  overflow:hidden;
  border-right:1px solid #9c9da0;
  background:var(--ink-deep,#393a3d);
}

.subpage-contact-info{
  position:absolute;
  z-index:2;
  right:22px;
  bottom:22px;
  left:22px;
  padding:26px 28px 28px;
  border-left:4px solid var(--accent,#ff8726);
  border-radius:var(--radius,4px);
  background-color:rgba(57,58,61,.97);
  background-image:linear-gradient(rgba(57,58,61,.91),rgba(57,58,61,.91)),url("stelar-mark-pattern.png");
  background-size:auto,130px 116px;
  color:rgba(249,251,255,.9);
  box-shadow:0 18px 44px rgba(31,32,34,.3);
}

.subpage-contact-info h3{
  margin:0 0 20px;
  color:var(--white,#f9fbff);
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(34px,2.7vw,42px);
  font-weight:600;
  letter-spacing:-.035em;
  line-height:1;
}

.subpage-contact-addresses{display:grid;grid-template-columns:1fr 1fr;gap:16px 30px}
.subpage-contact-addresses strong{display:block;margin-bottom:4px;color:var(--accent,#ff8726);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.subpage-contact-addresses p{margin:0;color:rgba(249,251,255,.9);font-size:13px;line-height:1.48}
.subpage-contact-addresses a{color:var(--white,#f9fbff);text-decoration-thickness:1px;text-underline-offset:4px}
.subpage-contact-addresses a:hover,.subpage-contact-addresses a:focus-visible{text-decoration:underline;text-decoration-color:var(--accent,#ff8726)}

.subpage-contact-map{position:absolute;inset:0;min-height:0;overflow:hidden;background:var(--ink-mid,#4d4f53)}
.subpage-contact-map:after{content:"";position:absolute;z-index:1;inset:42% 0 0;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(35,36,39,.48))}
.subpage-contact-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.18) saturate(.62) contrast(.98)}

.subpage-contact-form{
  position:relative;
  display:grid;
  align-content:center;
  min-width:0;
  padding:clamp(38px,4.2vw,60px);
  background:linear-gradient(135deg,rgba(255,255,255,.42),transparent 38%),var(--paper,#f2f2f0);
}

.subpage-contact-form:before{content:"";position:absolute;top:54px;left:0;width:4px;height:96px;background:var(--accent,#ff8726)}
.subpage-contact-form h2{margin:0 0 30px;color:var(--ink,#393a3d);font-family:"Playfair Display",Georgia,serif;font-size:clamp(40px,3.3vw,52px);font-weight:600;letter-spacing:-.04em;line-height:1}
.subpage-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.subpage-contact-field{display:grid;gap:7px;min-width:0}
.subpage-contact-field.is-full{grid-column:1/-1}
.subpage-contact-field label{color:var(--text,var(--ink,#414246));font-size:13px;font-weight:700}
.subpage-contact-field input,.subpage-contact-field select,.subpage-contact-field textarea{
  width:100%;
  min-width:0;
  min-height:52px;
  padding:12px 13px;
  border:1px solid var(--control,#818287);
  border-radius:var(--radius,4px);
  background:var(--surface,#fafaf8);
  color:var(--text,var(--ink,#414246));
  font:inherit;
  box-shadow:inset 0 1px rgba(255,255,255,.72);
}

.subpage-contact-field input::placeholder,.subpage-contact-field textarea::placeholder{color:var(--muted,#65666b);opacity:1}
.subpage-contact-field textarea{min-height:110px;resize:vertical}
.subpage-contact-field input[type="file"]{padding:6px;font-size:12px}
.subpage-contact-field input[type="file"]::file-selector-button{min-height:38px;margin-right:10px;padding:0 14px;border:1px solid var(--ink-deep,#393a3d);border-radius:var(--radius,4px);background:var(--ink-deep,#393a3d);color:var(--white,#f9fbff);font-weight:700;cursor:pointer}
.subpage-contact-field input:focus-visible,.subpage-contact-field select:focus-visible,.subpage-contact-field textarea:focus-visible{border-color:var(--accent,#ff8726);outline:2px solid var(--ink-deep,#393a3d);outline-offset:2px;box-shadow:0 0 0 5px var(--accent,#ff8726)}
.subpage-contact-field small{color:var(--muted,#65666b);font-size:11px}
.subpage-contact-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px}
.subpage-contact-submit{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 23px;border:1px solid var(--accent,#ff8726);border-radius:var(--radius,4px);background:var(--accent,#ff8726);color:var(--ink-deep,#393a3d);font:inherit;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer;transition:transform .22s cubic-bezier(.16,1,.3,1),background .22s,color .22s,border-color .22s}
.subpage-contact-submit:hover,.subpage-contact-submit:focus-visible{border-color:var(--ink-deep,#393a3d);background:var(--ink-deep,#393a3d);color:var(--white,#f9fbff)}
.subpage-contact-submit:active{transform:translateY(1px) scale(.985)}
.subpage-contact-note{max-width:350px;margin:0;color:var(--muted,#65666b);font-size:12px}

@media(max-width:1400px) and (min-width:981px){
  .subpage-contact{padding:30px 0 46px}
  .subpage-contact-shell{min-height:570px}
  .subpage-contact-info{right:18px;bottom:18px;left:18px;padding:22px 24px 24px}
  .subpage-contact-form{padding:34px 40px}
  .subpage-contact-form h2{margin-bottom:22px;font-size:42px}
  .subpage-contact-grid{gap:14px 16px}
  .subpage-contact-field textarea{min-height:92px}
  .subpage-contact-actions{margin-top:18px}
}

@media(max-width:980px){
  .subpage-contact-shell{grid-template-columns:1fr;min-height:0}
  .subpage-contact-location{display:grid;grid-template-rows:auto 260px;border-right:0}
  .subpage-contact-info{position:relative;inset:auto;grid-row:1;border-left:0;border-bottom:4px solid var(--accent,#ff8726);border-radius:0;box-shadow:none}
  .subpage-contact-map{position:relative;inset:auto;grid-row:2;min-height:260px}
  .subpage-contact-map:after{display:none}
}

@media(max-width:640px){
  .subpage-contact{padding:24px 0 48px}
  .subpage-contact-location{grid-template-rows:auto 220px}
  .subpage-contact-info{padding:26px 24px 28px}
  .subpage-contact-addresses{grid-template-columns:1fr 1fr;gap:18px 20px}
  .subpage-contact-form{padding:30px 24px 34px}
  .subpage-contact-form:before{top:30px;height:68px}
  .subpage-contact-form h2{margin-bottom:24px;font-size:36px}
  .subpage-contact-grid{grid-template-columns:1fr;gap:17px}
  .subpage-contact-field.is-full{grid-column:auto}
  .subpage-contact-actions{align-items:flex-start;flex-direction:column}
}

@media(max-width:359px){
  .subpage-contact-location{grid-template-rows:auto 190px}
  .subpage-contact-info{padding:24px 20px}
  .subpage-contact-addresses{grid-template-columns:1fr;gap:16px}
  .subpage-contact-form{padding:26px 18px 30px}
  .subpage-contact-form h2{font-size:32px}
  .subpage-contact-submit{width:100%}
  .subpage-contact-field input[type="file"]{font-size:11px}
}

@media(prefers-reduced-motion:reduce){.subpage-contact-submit{transition:none}}

@media(prefers-contrast:more){
  .subpage-contact-shell{border:2px solid var(--ink-deep,#393a3d);border-top:5px solid var(--accent,#ff8726);box-shadow:none}
  .subpage-contact-field input,.subpage-contact-field select,.subpage-contact-field textarea{border:2px solid var(--ink-deep,#393a3d)}
}
