/* Approved second contact design; typography tokens and global font choice stay shared. */
.contact-page{ border-top:3px solid var(--red-core); }
.contact-page .header{ border-bottom:1px solid var(--line-soft); }
.contact-page__main{ position:relative; isolation:isolate; overflow:hidden; padding:62px 0 70px; }
.contact-page__main::before{ content:""; position:absolute; inset:0; z-index:-2; pointer-events:none; background-image:var(--contact-dots); background-size:850px auto; opacity:.42; mask-image:linear-gradient(90deg,#000,transparent 26%,transparent 74%,#000); }
.contact-page__corner{ position:absolute; z-index:-1; pointer-events:none; width:400px; height:auto; opacity:.72; }
.contact-page__corner--top{ left:-30px; top:-20px; transform:rotate(180deg); }
.contact-page__corner--bottom{ right:-20px; bottom:-20px; }
.contact-page__wrap{ max-width:1360px; }
.contact-page__intro{ text-align:center; margin:0 auto 66px; max-width:1000px; }
.contact-page__intro h1{ font-family:var(--f-body,var(--f-sans)); font-weight:600; font-size:clamp(42px,4.4vw,64px); letter-spacing:-.055em; line-height:1.13; margin:0; text-wrap:balance; }
.contact-page__intro h1 span{ display:block; color:var(--red-core); }
.contact-page__intro > p{ margin:20px auto 0; font-size:clamp(18px,1.7vw,25px); line-height:1.5; color:var(--ink-55); text-wrap:balance; }
.contact-page__layout{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1.05fr); gap:42px; align-items:start; }
.contact-page__form{ display:grid; gap:24px; min-width:0; padding-top:4px; }
.contact-page__fields{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
.contact-page__form .field{ gap:8px; min-width:0; }
.contact-page__form .field label{ font-family:var(--f-body,var(--f-sans)); font-size:16px; font-weight:400; color:var(--ink); letter-spacing:0; text-transform:none; }
.contact-page__form .field input,.contact-page__form .field textarea{ font-size:16px; line-height:1.4; border-color:#D2D4DC; border-radius:6px; padding:14px 18px; background:rgba(255,255,255,.86); }
.contact-page__form .field input::placeholder,.contact-page__form .field textarea::placeholder{ color:#737580; opacity:1; }
.contact-page__form .field textarea{ min-height:120px; }
.contact-page__form .field input:focus-visible,.contact-page__form .field textarea:focus-visible{ outline:2px solid var(--red-core); outline-offset:3px; }
.contact-page__submit{ width:100%; min-height:56px; justify-content:center; border-radius:8px; font-size:14px; letter-spacing:.11em; gap:24px; }
.contact-page__submit:disabled{ opacity:.65; cursor:not-allowed; }
.contact-page__privacy{ text-align:center; color:var(--ink-55); font-size:14px; line-height:1.5; margin-top:-6px; }
.contact-page__privacy a,.contact-page__fallback a,.contact-page__note a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
.contact-page__note,.contact-page__required,.contact-page__fallback{ color:var(--ink-55); font-size:13px; line-height:1.55; margin-top:-14px; }
.contact-page__required{ margin-top:-20px; }
.contact-page__error{ color:var(--red-deep); font-size:13px; line-height:1.45; }
.contact-page__sidebar{ min-width:0; border-left:1px solid #D7D8DD; padding-left:44px; }
.contact-page__mascot{ position:relative; display:flex; align-items:flex-start; justify-content:center; height:266px; min-height:266px; margin:-10px 0 0; }
.contact-page__mascot > img{ width:285px; height:285px; max-width:85%; object-fit:contain; }
.contact-page__mascot > p{ font-family:var(--f-mono); font-size:21px; font-weight:600; line-height:1.3; margin:36px 0 0 -30px; white-space:nowrap; }
.contact-page__mascot > p::after{ content:""; display:block; width:28px; height:2px; background:var(--red-core); margin:10px auto 0; }
.contact-page__details{ list-style:none; padding:0; margin:0; }
.contact-page__details > li{ display:grid; grid-template-columns:28px minmax(0,1fr); gap:24px; align-items:center; border-top:1px solid var(--line); min-height:62px; padding:12px 0; }
.contact-page__details > li:first-child{ border-top:0; }
.contact-page__details a{ font-size:16px; line-height:1.5; letter-spacing:-.02em; overflow-wrap:anywhere; }
.contact-page__details a:hover{ color:var(--red-core); }
.contact-page__icon{ display:block; width:26px; height:26px; background:var(--red-core); mask-image:var(--contact-icon); mask-repeat:no-repeat; mask-size:contain; }
.contact-page__footer{ margin-top:0; }
.contact-page__footer-in{ display:flex; align-items:flex-start; justify-content:space-between; gap:48px; padding-bottom:42px; }
.contact-page__footer-in img{ width:auto; height:52px; }
.contact-page__footer-in p{ max-width:46ch; margin-top:22px; color:var(--on-dark-70); font-size:14px; }
.contact-page__footer-details{ display:grid; justify-items:end; gap:12px; font-size:14px; color:var(--on-dark-70); text-align:right; }
.contact-page__footer-details .contact-phones{ align-items:flex-end; }
.contact-page a:focus-visible,.contact-page button:focus-visible{ outline:2px solid var(--red-core); outline-offset:5px; }
.contact-page__footer a:focus-visible{ outline-color:white; }
@media(min-width:1400px){ .contact-page__main{ padding-top:62px; }.contact-page__intro{ margin-bottom:66px; } }
@media(max-width:1100px){
  .contact-page__layout{ grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); gap:28px; }
  .contact-page__sidebar{ padding-left:24px; }
  .contact-page__mascot > img{ width:200px; height:220px; }
  .contact-page__mascot > p{ font-size:17px; margin-left:-44px; }
  .contact-page__details > li{ gap:16px; }
  .contact-page__details a{ font-size:15px; }
}
@media(max-width:800px){
  .contact-page__main{ padding:48px 0 48px; }
  .contact-page__intro{ margin-bottom:40px; }
  .contact-page__intro h1{ font-size:clamp(36px,6vw,48px); }
  .contact-page__intro > p{ font-size:18px; }
  .contact-page__layout{ grid-template-columns:1fr; gap:40px; }
  .contact-page__sidebar{ border-left:0; border-top:1px solid var(--line); padding:24px 0 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:20px; align-items:center; }
  .contact-page__mascot{ min-height:220px; align-items:flex-start; }
  .contact-page__mascot > p{ margin-left:-35px; }
  .contact-page__corner{ opacity:.35; width:220px; }
  .contact-page__corner--top{ left:-90px; top:-20px; }
  .contact-page__corner--bottom{ right:-50px; }
  .contact-page__footer-in{ flex-direction:column; gap:32px; }
  .contact-page__footer-details{ justify-items:start; text-align:left; }
  .contact-page__footer-details .contact-phones{ align-items:flex-start; }
}
@media(max-width:520px){
  .contact-page__intro h1{ font-size:clamp(32px,8.2vw,42px); }
  .contact-page__intro > p{ font-size:17px; }
  .contact-page__fields{ grid-template-columns:1fr; gap:24px; }
  .contact-page__sidebar{ grid-template-columns:1fr; gap:4px; }
  .contact-page__mascot{ justify-content:center; }
  .contact-page__mascot > img{ width:220px; height:240px; }
  .contact-page__mascot > p{ font-size:19px; margin-left:-20px; }
  .contact-page__details > li{ gap:20px; }
  .contact-page__details a{ font-size:16px; }
  .contact-page__submit{ font-size:12px; letter-spacing:.07em; gap:12px; padding-inline:12px; }
  .contact-page__corner{ width:200px; }
  .contact-page__corner--top{ left:-100px; }
}
@media(max-width:360px){ .contact-page .brand img{ height:34px; } }
@media(prefers-reduced-motion:reduce){ .contact-page *{ scroll-behavior:auto; } }
