.phone-contact { width: min(100%, var(--phone-content-width)); margin: 0 auto; background: #f5f8fc; }
.phone-contact h1, .phone-contact h2, .phone-contact h3, .phone-contact p { margin: 0; }
.phone-contact-hero { min-height: clamp(260px, 61vw, 458px); padding: clamp(105px, 24vw, 180px) clamp(20px, 5.5vw, 42px) clamp(38px, 8vw, 60px); background: radial-gradient(circle at 84% 8%, rgba(151, 222, 255, .72), transparent 38%), linear-gradient(145deg, #f8fafc 0%, #eff7ff 58%, #e8f5ff 100%); text-align: center; }
.phone-contact-hero h1 { color: #1e2739; font-size: clamp(29px, 6.5vw, 49px); font-weight: 700; line-height: 1.25; }
.phone-contact-hero p { margin-top: clamp(17px, 4vw, 30px); color: #465268; font-size: clamp(15px, 3.467vw, 26px); line-height: 1.5; }
.phone-contact-hero a { display: inline-block; margin-top: clamp(20px, 4.5vw, 34px); color: var(--phone-blue); font-size: clamp(16px, 3.6vw, 27px); font-weight: 500; line-height: 1.4; text-decoration: none; }
.phone-contact-offices { padding: clamp(16px, 4vw, 30px) 0 clamp(18px, 4.5vw, 34px); overflow: hidden; }
.phone-contact-office-track { display: flex; gap: clamp(10px, 2.7vw, 20px); padding: 0 clamp(18px, 4vw, 30px) 8px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; touch-action: auto; -webkit-overflow-scrolling: touch; }
.phone-contact-office-track::-webkit-scrollbar { display: none; }
.phone-contact-office-card { display: flex; min-width: 0; flex: 0 0 min(78vw, 585px); flex-direction: column; overflow: hidden; padding: clamp(20px, 4.8vw, 36px); border: 1px solid rgba(238, 244, 252, .92); border-radius: clamp(17px, 4vw, 30px); background: #fff; box-shadow: 0 8px 30px rgba(59, 102, 149, .05); scroll-snap-align: start; scroll-snap-stop: always; }
.phone-contact-office-card h2 { color: var(--phone-blue); font-size: clamp(17px, 3.867vw, 29px); font-weight: 600; line-height: 1.35; }
.phone-contact-office-card p { min-height: clamp(77px, 18vw, 135px); margin-top: clamp(16px, 3.8vw, 28px); color: #778193; font-size: clamp(14px, 3.2vw, 24px); line-height: 1.7; }
.phone-contact-office-card img { display: block; width: calc(100% + clamp(40px, 9.6vw, 72px)); aspect-ratio: 1 / 1; margin: clamp(17px, 4vw, 30px) calc(clamp(20px, 4.8vw, 36px) * -1) calc(clamp(20px, 4.8vw, 36px) * -1); object-fit: cover; object-position: center; }
.phone-contact-channels { margin: 0 clamp(18px, 4vw, 30px) clamp(22px, 5vw, 38px); padding: clamp(28px, 6.4vw, 48px) clamp(18px, 4vw, 30px); border-radius: clamp(18px, 4.2vw, 32px); background: linear-gradient(145deg, #dbeaff 0%, #f0f7ff 100%); }
.phone-contact-section-heading { text-align: center; }
.phone-contact-section-heading h2 { color: #2e3a50; font-size: clamp(22px, 4.8vw, 36px); font-weight: 500; line-height: 1.35; }
.phone-contact-section-heading p { margin-top: 10px; color: #788497; font-size: clamp(14px, 3.2vw, 24px); line-height: 1.55; }
.phone-contact-channel-list { display: grid; gap: clamp(12px, 3vw, 22px); margin-top: clamp(24px, 5.3vw, 40px); }
.phone-contact-channel-card { padding: clamp(20px, 4.6vw, 35px); border-radius: clamp(8px, 2vw, 15px); background: #fff; }
.phone-contact-channel-card h3 { color: #313c51; font-size: clamp(18px, 4vw, 30px); font-weight: 600; line-height: 1.35; }
.phone-contact-channel-card p { margin-top: 10px; color: #7a8494; font-size: clamp(14px, 3.2vw, 24px); line-height: 1.55; }
.phone-contact-channel-card strong { display: block; margin-top: clamp(17px, 3.8vw, 28px); color: #4a5569; font-size: clamp(14px, 3.2vw, 24px); font-weight: 600; line-height: 1.7; }
.phone-contact-channel-card a { display: inline-flex; max-width: 100%; align-items: center; justify-content: center; margin-top: 13px; padding: 9px clamp(14px, 3.4vw, 26px); border-radius: 7px; background: #e4f4ff; color: var(--phone-blue); font-size: clamp(14px, 3.2vw, 24px); line-height: 1.4; text-align: center; text-decoration: none; }
.phone-contact-channel-card em { display: block; margin-top: 3px; color: var(--phone-blue); font-size: clamp(14px, 3vw, 22px); font-style: normal; line-height: 1.5; }

@media (max-width: 359px) {
  .phone-contact-hero p br { display: none; }
  .phone-contact-office-card { flex-basis: 82vw; }
  .phone-contact-channel-card { padding: 18px; }
}
