/* Figma 419:3170. Keep contact anchors and the shared section reveal sequence. */
.contact-cta{padding-block:clamp(84px,7.291667vw,140px);color:#fff;background:linear-gradient(246.675deg,rgba(32,86,186,0) 8.3445%,rgba(32,86,186,.29) 98.46%),url('../pages/index/redesign/cta/background.png') center/cover no-repeat}
.contact-cta__inner{display:flex;align-items:flex-start;justify-content:space-between;gap:40px}
.contact-cta__copy{min-width:0}
.contact-cta h2{font:600 clamp(40px,3.75vw,72px)/1.1 Inter,sans-serif;letter-spacing:clamp(-3px,-.15625vw,-1.5px);white-space:nowrap}
.contact-cta__contact{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:clamp(48px,3.75vw,72px)}
.contact-cta__links{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.contact-cta__phone{font:600 clamp(48px,4.166667vw,80px)/.9 Inter,sans-serif;letter-spacing:-.4px;color:#ffadc1;white-space:nowrap}
.contact-cta__email{--email-icon-size:36px;--email-icon-gap:10px;display:flex;align-items:center;gap:var(--email-icon-gap);font:600 clamp(24px,1.770833vw,34px)/1.4 Inter,sans-serif;letter-spacing:-.4px;color:#fff}
.contact-cta__email img{width:var(--email-icon-size);height:var(--email-icon-size);flex:none}
.contact-cta__mobile{font:400 clamp(24px,1.770833vw,34px)/1.4 Inter,sans-serif;letter-spacing:-.4px;color:#FFCDD9;white-space:nowrap}
.contact-cta__hours{color:rgba(255,255,255,.82);font-family:'Pretendard',sans-serif;font-size:16px;font-style:normal;font-weight:500;line-height:170%;word-break:keep-all}
.contact-cta__links a{position:relative;text-decoration:none}
.contact-cta__links a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .3s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.contact-cta__links .contact-cta__email::after{left:calc(var(--email-icon-size) + var(--email-icon-gap))}
.contact-cta__links a:hover::after,.contact-cta__links a:focus-visible::after{transform:scaleX(1)}
.contact-offices{--office-open:480px;--office-closed:calc((100cqw - var(--office-gap)*2 - var(--office-open))/2);--office-gap:13px;--office-padding:clamp(18px,1.666667vw,32px);container-type:inline-size;display:flex;gap:var(--office-gap);flex:none;width:786px;max-width:100%;height:clamp(400px,31.875vw,612px)}
/* Every office keeps the same wide folded cards and portrait active card. */
.office-card{--office-media-width:var(--office-open);position:relative;flex:0 0 var(--office-closed);min-width:0;height:100%;overflow:hidden;border-radius:22px;isolation:isolate;transition:flex-basis .65s cubic-bezier(.22,.61,.36,1),border-radius .65s cubic-bezier(.22,.61,.36,1)}
.office-card:nth-child(1){--office-position:58% center;--office-origin:50% 45%;--office-zoom:1.12}
.office-card:nth-child(2){--office-position:70% bottom;--office-origin:60% 92%;--office-zoom:1.45}
.office-card:nth-child(3){--office-position:40% bottom;--office-origin:45% 82%;--office-zoom:1.3}
.office-card.is-active{flex-basis:calc(100% - var(--office-closed)*2 - var(--office-gap)*2);border-radius:clamp(28px,2.604167vw,50px)}
/* Constant image/caption widths prevent stretching and text reflow during opening. */
.office-card__photo{position:absolute;top:0;left:50%;width:var(--office-media-width);max-width:none;height:100%;object-fit:cover;object-position:var(--office-position);transform:translateX(-50%) scale(1);transform-origin:var(--office-origin);transition:transform .65s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.office-card.is-active .office-card__photo{transform:translateX(-50%) scale(var(--office-zoom))}
.office-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,13,0) 50%,rgba(0,0,0,.5));opacity:0;transition:opacity .45s;pointer-events:none}
.office-card.is-active::after{opacity:1}
.office-card__toggle{position:absolute;z-index:3;inset:0;width:100%;height:100%;padding:0;border-radius:inherit;background:transparent;color:inherit}
.office-card__toggle:focus-visible{outline-offset:-4px}
.office-card__label{position:absolute;top:24px;left:50%;transform:translateX(-50%);padding:12px 8px;border-radius:999px;background:rgba(21,26,33,.7);color:#fff;font-size:15px;font-weight:600;line-height:1;letter-spacing:3px;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;opacity:1;visibility:visible;transition:opacity .2s .25s,visibility 0s .25s}
.office-card.is-active .office-card__label{opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s}
.office-card__info{position:absolute;z-index:2;left:var(--office-padding);bottom:var(--office-padding);width:calc(var(--office-media-width) - var(--office-padding)*2);visibility:hidden;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s}
.office-card.is-active .office-card__info{visibility:visible;opacity:1;transform:translateY(0);transition:opacity .35s .22s,transform .35s .22s,visibility 0s}
.office-card__pin{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:rgba(255,255,255,.14);border-radius:50%}
.office-card__pin img{width:17.5px;height:21.5px}
.office-card__name{margin-top:16px;font-size:20px;font-weight:600;line-height:1.5;letter-spacing:0;color:rgba(255,255,255,.89)}
.office-card__address{margin-top:12px;font-size:22px;font-weight:600;line-height:1.4;color:#fff;word-break:keep-all;overflow-wrap:anywhere}
@media(max-width:1700px){
  .contact-cta__inner{flex-direction:column;gap:48px}
  .contact-cta h2{font-size:clamp(40px,5.625vw,60px)}
  .contact-offices{width:min(100%,786px);height:clamp(400px,55vw,560px)}
}
@media(max-width:768px){.contact-offices{--office-open:min(480px,calc((100cqw - var(--office-gap)*2)*.65))}}
@media(max-width:600px){
  .contact-cta{padding-block:72px}
  .contact-cta__inner{gap:40px}
  .contact-cta h2{font-size:clamp(27px,7.5vw,42px);letter-spacing:-1.2px}
  .contact-cta__contact{margin-top:36px;gap:20px}
  .contact-cta__phone{font-size:clamp(32px,10vw,56px)}
  .contact-cta__email{--email-icon-size:28px;--email-icon-gap:8px;font-size:clamp(20px,6.15vw,28px)}
  .contact-cta__mobile{font-size:clamp(20px,6.15vw,28px)}
  .contact-offices{--office-open:calc((100cqw - var(--office-gap)*2)*.6);--office-gap:10px;--office-padding:18px;height:430px}
  .office-card{border-radius:18px}
  .office-card__label{top:20px;font-size:14px;padding:10px 7px}
  .office-card__name{font-size:18px;margin-top:12px}
  .office-card__address{font-size:18px;margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.office-card,.office-card::after,.office-card__info,.office-card.is-active .office-card__info{transition:none;transform:none}.office-card__label,.office-card.is-active .office-card__label,.contact-cta__links a::after,.office-card__photo{transition:none}}
