/* Scoped contacts author-map pass. Shared components unchanged. */
.ct-main{max-width:1440px;margin:0 auto;padding:20px var(--gutter) 48px}
.ct-back{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;line-height:1.4;border-bottom:1px solid var(--line);padding-bottom:3px;margin-bottom:2px}
.ct-back:hover,.ct-location-link:hover{color:var(--blue)}
.ct-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"intro human" "contact human";column-gap:14px;align-items:center;padding:0 0 22px}
.ct-intro{grid-area:intro;min-width:0;align-self:end}
.ct-eyebrow{font-size:11px;line-height:1.5;letter-spacing:.12em;font-weight:650;color:var(--ink)}
.ct-intro h1{font-size:clamp(52px,5.3vw,76px);font-weight:500;line-height:1.07;letter-spacing:-.055em;margin:19px 0 22px;text-wrap:balance}
.ct-lead{font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--muted);max-width:585px}
.ct-lead-short{display:none}
.ct-contact-block{grid-area:contact;min-width:0;align-self:start}
.ct-phone{display:inline-block;max-width:100%;font-size:clamp(29px,3.1vw,44px);line-height:1.3;letter-spacing:-.035em;font-weight:550;margin:25px 0 23px;overflow-wrap:anywhere}
.ct-phone:hover{color:var(--blue)}
.ct-actions{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.ct-action{min-height:56px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 18px;font-size:16px;font-weight:550;border:1px solid transparent;transition:background .18s,color .18s,border-color .18s;max-width:100%;font-family:inherit;cursor:pointer}
.ct-action-max{background:var(--blue);color:#fff;min-width:260px;justify-content:center}
.ct-action-max:hover{background:var(--blue-dark)}
.ct-action-max img{width:24px;height:24px;object-fit:contain;filter:invert(1);flex:0 0 auto}
.ct-action .ct-arrow{font-size:23px;line-height:1}
.ct-action-question{border-color:#aeb8c7;background:transparent;color:var(--ink);min-width:188px}
.ct-action-question:hover{border-color:var(--ink);background:#fff}
.ct-brief{margin-top:28px;padding-top:19px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--muted)}
.ct-location-link{display:inline-flex;gap:12px;border-bottom:1px solid #aeb8c7;padding-bottom:3px;color:var(--ink)}
.ct-human{grid-area:human;min-width:0;width:100%;max-width:560px;justify-self:end;margin:0;align-self:center;position:relative;padding-bottom:52px}
.ct-human-image{position:relative;isolation:isolate;width:100%;aspect-ratio:1}
.ct-portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:center 50%;border-radius:0 0 12px 12px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 96%,transparent),linear-gradient(180deg,transparent,#000 5%,#000);mask-composite:intersect}
.ct-human-note{position:absolute;right:4%;top:0;width:31%;height:auto;z-index:1;pointer-events:none}
.ct-human figcaption{position:absolute;right:14px;bottom:0;display:flex;flex-direction:column;align-items:flex-start;width:max-content;max-width:calc(100% - 28px);margin:0;padding:10px 14px;border:1px solid rgba(255,255,255,.9);border-radius:11px;background:rgba(255,255,255,.84);box-shadow:0 7px 22px rgba(37,55,82,.07);backdrop-filter:blur(4px);font-size:13px;line-height:1.5;color:#5c6d85;text-align:left;z-index:2}
.ct-human figcaption>span:last-child{font-weight:550}
.ct-location{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.05fr);gap:28px;background:#edf1f6;border:1px solid #e2e7ed;border-radius:10px;padding:20px;margin-top:14px;scroll-margin-top:116px}
.ct-location-copy{min-width:0;padding:25px 15px 24px 21px;display:flex;flex-direction:column;align-items:flex-start}
.ct-location h2{font-size:clamp(30px,2.7vw,38px);line-height:1.15;letter-spacing:-.04em;font-weight:500;margin:11px 0 18px}
.ct-location address{font-style:normal;font-size:20px;line-height:1.55;letter-spacing:-.015em}
.ct-arrival-note{font-size:14px;line-height:1.6;color:var(--muted);margin-top:16px;max-width:320px}
.ct-route{display:inline-flex;align-items:center;justify-content:space-between;gap:23px;border:1px solid #9eadd6;border-radius:4px;padding:16px 20px;margin-top:25px;font-size:14px;font-weight:550;color:var(--blue-dark);background:#f9fbff;width:100%;max-width:288px;min-height:56px}
.ct-route>span:last-child{font-size:23px;line-height:1}
.ct-route:hover{border-color:var(--blue);background:#fff}
.ct-route-service{font-size:11px;color:var(--muted);margin-top:7px}
.ct-hours{font-size:15px;line-height:1.6;margin-top:24px}
.ct-hours>span{font-size:10px;line-height:1.5;letter-spacing:.09em;font-weight:650;color:var(--muted);display:block;margin-bottom:7px}
.ct-map{margin:0;min-width:0;align-self:center}
.ct-map picture,.ct-map img{display:block;width:100%}
.ct-map img{height:420px;object-fit:contain;background:#f3f6f8;border-radius:5px}
.ct-map figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px;font-size:11px;line-height:1.6;color:var(--muted);margin-top:10px;padding:0 2px}
.ct-map figcaption>a{color:var(--blue-dark);border-bottom:1px solid #aeb8c7}
.ct-support{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;background:#e9eef7;border-radius:10px;margin-top:30px;padding:30px 34px}
.ct-support>div{min-width:0;padding-right:26px;border-right:1px solid #d6dfed}
.ct-support>div:last-child{padding-right:0;border-right:0}
.ct-support .pictogram{width:38px;height:38px;margin-bottom:17px;color:var(--blue)}
.ct-support h2{font-size:18px;line-height:1.4;font-weight:550;letter-spacing:-.02em;margin:0 0 8px}
.ct-support p{font-size:14px;line-height:1.65;color:var(--muted);max-width:300px}
.contacts-page .desktop-nav>a[aria-current=page]{color:var(--ink)}

@media(min-width:701px) and (max-height:800px){.ct-human{max-width:500px}}
@media(max-width:1100px){.ct-hero{column-gap:24px}.ct-action{font-size:14px;padding-inline:14px}.ct-action-max{min-width:220px}.ct-action-question{min-width:170px}.ct-human{max-width:500px}.ct-location{gap:15px;padding:16px}.ct-location-copy{padding:22px 12px}.ct-location address{font-size:18px}}
@media(max-width:700px){
.ct-main{padding:19px var(--gutter) 32px}.ct-back{font-size:11px;margin-bottom:19px}
.ct-hero{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0 0 12px}.ct-eyebrow{font-size:10px}
.ct-intro h1{font-size:clamp(43px,12vw,57px);line-height:1.06;letter-spacing:-.045em;margin:14px 0 15px;text-wrap:initial}.ct-lead{font-size:16px;line-height:1.55}.ct-lead-wide{display:none}.ct-lead-short{display:inline}
.ct-human{align-self:stretch;display:block;width:100%;max-width:360px;margin:13px auto 0;padding-bottom:48px}
.ct-human-image{width:240px;max-width:100%;aspect-ratio:1;margin:0 auto}.ct-human-note{width:34%;right:0;top:0}
.ct-human figcaption{font-size:11px;line-height:1.5;right:max(4px,calc((100% - 240px)/2 + 4px));padding:8px 11px;border-radius:9px}

.ct-contact-block{align-self:stretch}.ct-phone{font-size:clamp(26px,7.65vw,33px);margin:17px 0 14px}.ct-actions{display:grid;grid-template-columns:1fr;gap:10px}.ct-action{font-size:15px;min-height:54px;padding:13px 18px}.ct-action-max,.ct-action-question{min-width:0;width:100%}.ct-brief{font-size:12px;margin-top:20px;padding-top:16px;gap:12px}
.ct-location{display:flex;flex-direction:column;gap:22px;padding:20px 16px 16px;margin-top:17px;border-radius:8px;scroll-margin-top:90px}.ct-location-copy{padding:3px 5px 0}.ct-location h2{font-size:31px;margin:10px 0 15px}.ct-location address{font-size:19px;line-height:1.5}.ct-location address br{display:none}.ct-arrival-note{font-size:13px;margin-top:12px}.ct-route{max-width:none;font-size:14px;min-height:55px;margin-top:21px;padding:15px 17px}.ct-hours{font-size:14px;margin-top:21px}.ct-map img{height:300px}.ct-map figcaption{font-size:10px;margin-top:12px;gap:7px}
.ct-support{display:flex;flex-direction:column;gap:22px;margin-top:23px;padding:25px 24px;border-radius:8px}.ct-support>div{padding:0 0 22px;border-right:0;border-bottom:1px solid #d6dfed}.ct-support>div:last-child{padding:0;border:0}.ct-support .pictogram{width:34px;height:34px;margin-bottom:10px}.ct-support h2{font-size:17px}.ct-support p{font-size:13px;max-width:290px}
}
@media(prefers-reduced-motion:reduce){.ct-action{transition:none}}
