/* A spacious editorial opening, with the original DLR emblem at its center. */
.signature-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#fff 22%,#f6f9ff 67%,#edf4fc);isolation:isolate}
.signature-hero .wrap{max-width:1440px}
.hero-stage{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:30px;align-items:center;min-height:650px;padding-top:70px;padding-bottom:64px}
.hero-editorial{position:relative;z-index:2;padding-bottom:4px}
.hero-kicker{display:flex;gap:13px;align-items:center;font-size:.75rem;font-weight:650;letter-spacing:.1em;margin:0 0 34px;color:#315b8c;line-height:1.6}
.kicker-rule{width:30px;height:2px;background:#d7ac48;flex:none}
.hero-editorial h1{font:600 clamp(3.5rem,6.4vw,6.3rem)/1.045 var(--sans);letter-spacing:-.065em;margin:0 0 29px}
.headline-line{display:block;transform-origin:left bottom}.headline-blue{color:#315fc2}
.hero-summary{font-size:1.08rem;line-height:1.8;max-width:455px;color:#526078;margin:0 0 32px}
.hero-primary-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.hero-appointment{background:#172d4d;color:white;gap:24px;padding:19px 23px;border-radius:8px;box-shadow:0 8px 18px #172d4d12;transition:transform .3s,background .3s,box-shadow .3s;min-height:60px;font-size:.9rem}
.hero-appointment:hover{background:#315fc2;transform:translateY(-3px);box-shadow:0 12px 25px #315fc224}
.hero-appointment:after,.office-directions:after{content:none}
.hero-appointment>span:last-child{font-size:1.3rem;font-weight:400;transition:transform .3s}.hero-appointment:hover>span:last-child{transform:translate(2px,-2px)}
.hero-services-link{display:flex;gap:17px;align-items:center;font-size:.9rem;font-weight:550;min-height:48px;border-bottom:1px solid #172d4d40;transition:border-color .3s,color .3s}.hero-services-link:hover{color:#315fc2;border-color:#315fc2}
.hero-human-note{display:flex;align-items:center;gap:13px;color:#58677a;font-size:.8rem;margin-top:31px;line-height:1.6}.language-pair{font-size:.71rem;letter-spacing:.05em;color:#172d4d;font-weight:700;white-space:nowrap;border-right:1px solid #c6d4e5;padding-right:13px}.language-pair span{color:#8b9aad;padding-inline:4px}
.hero-identity{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;perspective:1000px;padding-top:0}
.identity-halo{position:absolute;width:113%;aspect-ratio:1;top:48%;left:50%;transform:translate(-50%,-50%);border:1px solid #b3c9e742;border-radius:50%;background:radial-gradient(circle,#f8fbfe 30%,#e8f1fc85 68%,#eef5fd00 70%);z-index:-1;pointer-events:none}
.identity-halo:before,.identity-halo:after{content:"";position:absolute;inset:7%;border:1px solid #b3c9e759;border-radius:50%}.identity-halo:after{inset:-8%;border-color:#b3c9e729}
.identity-emblem{width:100%;max-width:485px;transform-style:preserve-3d;transition:transform 700ms cubic-bezier(.22,1,.36,1);will-change:auto}
.identity-emblem img{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 17px #172d4d0a)}
.identity-caption{text-align:center;margin-top:-26px;position:relative;z-index:1;display:grid;gap:7px}.identity-caption strong{font-size:1.08rem;letter-spacing:.26em;font-weight:650}.identity-caption>span{font-size:.625rem;letter-spacing:.23em;font-weight:550;color:#556986}
.hero-location-link{display:flex;align-items:center;gap:8px;margin-top:29px;font-size:.75rem;color:#566a85;min-height:36px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.hero-location-link:hover{color:#172d4d;border-color:#aebfd6}.hero-location-link svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6}.hero-location-link>span:last-child{margin-left:4px}
.hero-service-strip{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;align-items:center;padding-top:24px;padding-bottom:26px;gap:20px;border-top:1px solid #172d4d20;position:relative;z-index:2}.strip-label{font-size:.68rem;line-height:1.6;letter-spacing:.12em;font-weight:650;color:#61738c}.hero-service-strip a{display:flex;gap:15px;align-items:center;justify-content:space-between;font-size:.88rem;font-weight:550;padding:9px 24px 9px 0;border-right:1px solid #172d4d20;transition:color .2s}.hero-service-strip a:last-child{border-right:0;padding-right:0}.hero-service-strip a>span:last-child{color:#315fc2;transition:transform .3s}.hero-service-strip a:hover{color:#315fc2}.hero-service-strip a:hover>span:last-child{transform:translate(3px,-3px)}
.office-section{padding-block:95px 100px;scroll-margin-top:120px}.office-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:33px}.office-heading .eyebrow{max-width:220px;line-height:1.7;margin:0 0 7px}.office-heading h2{font-size:clamp(2.4rem,4vw,3.6rem);margin:0}
.office-experience{display:grid;grid-template-columns:minmax(290px,.72fr) minmax(0,1.45fr);min-height:555px;border-radius:18px;overflow:hidden;background:#172d4d;box-shadow:0 25px 65px #172d4d0b}
.office-information{padding:43px 37px 35px;color:white;display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.office-overline{font-size:.68rem;letter-spacing:.16em;color:#adbad0;font-weight:550}.office-information h3{font-size:clamp(1.6rem,2.35vw,2.2rem);font-weight:500;line-height:1.25;letter-spacing:-.04em;margin:26px 0 18px}.address-rule{display:block;width:37px;height:2px;background:#d7ac48;margin-top:21px}.office-information address{font-style:normal;font-size:.95rem;line-height:1.8;color:#d8e2f2}.office-information-bottom p{font-size:.9rem;color:#bdcce0;line-height:1.75;max-width:270px;margin:0 0 23px}.office-directions{display:flex;justify-content:space-between;background:white;color:#172d4d;font-size:.9rem;padding-inline:20px;border-radius:7px;min-height:53px;transition:background .2s,transform .2s}.office-directions:hover{background:#e4ecff;transform:translateY(-2px)}.office-directions>span:last-child{font-size:1.2rem}.office-appointment{display:block;text-align:center;color:#dbe6f6;font-size:.82rem;margin-top:14px;padding:8px;min-height:36px;text-decoration:underline;text-underline-offset:5px}
.office-map-panel{position:relative;background:#e4ecf2;min-height:555px;isolation:isolate}.office-map{position:absolute;inset:0}.office-map:focus-within{outline:3px solid #315fc2;outline-offset:-3px}.map-loading,.map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:16px;text-align:center;color:#526782;z-index:3;background:#eff4f9}.map-loading{font-size:.9rem}.map-loader-ring{width:28px;height:28px;border:2px solid #cbd7e8;border-top-color:#315fc2;border-radius:50%;animation:map-loading 1.2s linear infinite}.map-fallback strong{font-size:1.7rem;letter-spacing:-.035em;color:#172d4d;line-height:1.2;max-width:300px}.map-fallback p{font-size:1rem;line-height:1.7;max-width:340px;margin:0}.map-fallback .text-link{margin-top:6px}.map-toolbar{position:absolute;z-index:2;top:22px;left:22px;right:22px;display:flex;gap:9px;justify-content:space-between;pointer-events:none}.map-toolbar button{font:600 .78rem var(--sans);cursor:pointer;color:#172d4d;background:#fff;border:0;min-height:40px;pointer-events:auto}.map-view-toggle{display:flex;border-radius:8px;overflow:hidden;padding:4px;background:#fff;box-shadow:0 3px 12px #172d4d17}.map-view-toggle button{min-width:42px;min-height:32px;border-radius:5px}.map-view-toggle button[aria-pressed=true]{background:#172d4d;color:white}.map-reset{display:flex;align-items:center;gap:8px;box-shadow:0 3px 12px #172d4d17;border-radius:8px;padding:8px 12px}.map-reset svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.5}.map-hint{position:absolute;bottom:37px;left:50%;transform:translateX(-50%);max-width:90%;margin:0;background:#ffffffed;border:1px solid #d8e2ee;border-radius:30px;box-shadow:0 2px 10px #172d4d08;color:#405571;font-size:.71rem;padding:8px 14px;text-align:center;white-space:nowrap;pointer-events:none}.map-noscript{position:absolute;inset:0;margin:0;background:#eff4f9;display:grid;place-content:center;padding:40px;line-height:2;z-index:5}.map-noscript a{text-decoration:underline}
.office-map-panel [hidden]{display:none!important}.office-pin{display:flex;flex-direction:column;align-items:center;pointer-events:none}.office-pin-label{display:flex;gap:9px;align-items:center;border-radius:9px;background:#172d4d;color:#fff;padding:8px 14px 8px 9px;box-shadow:0 8px 25px #172d4d35;border:1px solid #ffffff8c;font:650 .82rem var(--sans);white-space:nowrap}.office-pin-label img{width:37px;height:37px;object-fit:contain;background:#fff;border-radius:50%;padding:2px}.office-pin-stem{height:29px;width:2px;background:#172d4d}.office-pin-dot{height:12px;width:12px;border:3px solid #fff;outline:2px solid #315fc2;border-radius:50%;background:#315fc2;box-shadow:0 0 0 9px #315fc21c}
.office-map .maplibregl-ctrl-top-right{top:79px;right:12px}.office-map .maplibregl-ctrl-group{border-radius:8px;box-shadow:0 3px 12px #172d4d17}.office-map .maplibregl-ctrl-group button{width:35px;height:35px}.office-map .maplibregl-ctrl-attrib{font-size:10px;background:#fffffff0}.office-map .maplibregl-canvas:focus-visible{outline:3px solid #315fc2;outline-offset:-3px}
.office-map-panel .office-map{height:100%;width:100%;margin:0;border:0;border-radius:0}
@keyframes map-loading{to{transform:rotate(360deg)}}
@media(min-width:1500px){.hero-stage{min-height:715px}}
@media(max-width:1100px){.hero-stage{grid-template-columns:1.15fr 1fr;min-height:580px;padding-block:55px;gap:18px}.hero-editorial h1{font-size:clamp(3.35rem,6.3vw,5.1rem)}.hero-kicker{font-size:.65rem;gap:10px;margin-bottom:28px}.hero-summary{font-size:1rem;max-width:410px}.hero-primary-actions{gap:18px}.hero-appointment{font-size:.8rem;padding-inline:17px;gap:13px}.hero-services-link{font-size:.8rem}.identity-caption{margin-top:-13px}.hero-location-link{font-size:.64rem}.office-information{padding:34px 27px}.office-heading{align-items:start}.office-heading h2{max-width:450px}.office-experience{grid-template-columns:.83fr 1.4fr}.hero-service-strip{grid-template-columns:1fr 1fr 1fr;gap:20px}.strip-label{display:none}}
@media(max-width:760px){.hero-stage{grid-template-columns:1fr;gap:14px;padding-top:43px;padding-bottom:29px}.hero-editorial h1{font-size:clamp(3rem,9.4vw,4.6rem);letter-spacing:-.06em;margin-bottom:24px}.hero-kicker{font-size:.62rem;letter-spacing:.06em;margin-bottom:23px}.kicker-rule{width:23px}.hero-summary{font-size:1rem;max-width:510px;line-height:1.75;margin-bottom:25px}.hero-primary-actions{gap:19px}.hero-appointment{font-size:.84rem;min-height:55px}.hero-services-link{font-size:.84rem}.hero-human-note{font-size:.72rem;margin-top:23px}.hero-identity{width:100%;max-width:410px;margin:0 auto;padding-top:0}.identity-halo{width:102%;top:46%}.identity-emblem{width:86%}.identity-caption{margin-top:-22px}.identity-caption strong{font-size:.95rem}.identity-caption>span{font-size:.6rem}.hero-location-link{font-size:.72rem;margin-top:13px}.hero-service-strip{grid-template-columns:1fr;gap:0;padding-top:7px;padding-bottom:13px;background:#ffffff70}.hero-service-strip a{border-right:0;border-bottom:1px solid #172d4d15;padding:16px 0;font-size:.9rem}.hero-service-strip a:last-child{border-bottom:0}.office-section{padding-block:60px}.office-heading{display:block;margin-bottom:26px}.office-heading .eyebrow{max-width:none;margin-bottom:16px;font-size:.7rem}.office-heading h2{font-size:2.4rem;max-width:none}.office-experience{grid-template-columns:1fr;border-radius:12px}.office-information{padding:29px;gap:28px}.office-information h3{font-size:2rem;margin-top:20px}.office-information h3 br{display:none}.office-information h3 br:after{content:' '}.office-information h3{max-width:310px}.office-information-bottom p{max-width:450px}.office-appointment{margin-bottom:-5px}.office-map-panel{min-height:440px}.map-toolbar{top:16px;left:16px;right:16px}.map-hint{font-size:.65rem;padding-inline:11px;bottom:41px}.map-fallback{padding:25px}.office-map .maplibregl-ctrl-top-right{top:73px;right:6px}}
@media(max-width:390px){.hero-primary-actions{gap:13px}.hero-primary-actions .hero-appointment{padding-inline:15px;font-size:.78rem}.hero-services-link{font-size:.8rem}.hero-identity{margin-top:5px}.hero-editorial h1{font-size:clamp(2.6rem,9.6vw,3.5rem)}.hero-kicker{font-size:.57rem}.hero-human-note{font-size:.67rem}.office-information{padding:25px}.office-information h3{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){.identity-emblem{transform:none!important}.map-loader-ring{animation:none}}
.hero-kicker,.strip-label,.identity-caption>span,.hero-location-link,.hero-human-note,.office-overline{font-size:.75rem}
.map-toolbar button{font-size:.875rem}.map-hint{font-size:.75rem;white-space:normal;width:max-content;max-width:calc(100% - 28px);line-height:1.4}
.hero-identity .identity-caption>span{letter-spacing:.15em}
