/* Local review: the selected Miami footage, with the existing Terrain layout. */
.hero-image img,.hero-image .hero-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:54% 50%;animation:none;transform:none;will-change:auto;
}
.hero-image .hero-video{opacity:0;transition:opacity 1.1s ease;pointer-events:none}
.hero-image .hero-video.is-ready{opacity:1}
.hero-shade{
  background:linear-gradient(90deg,rgba(9,19,34,.80) 0,rgba(9,19,34,.70) calc(var(--hero-left) + 530px),rgba(9,19,34,.59) calc(var(--hero-left) + 740px),rgba(9,19,34,.13) 100%),linear-gradient(0deg,rgba(9,19,34,.73),transparent 43%);
}
.hero h1{color:#fff}
.hero h1 em{color:#d2e3fa}
.hero-description{color:#eef3fa}
.hero .eyebrow,.hero-audience{color:#e2ebf7}
@media(max-width:899px){
  .hero-image img,.hero-image .hero-video{object-position:48% 50%}
  .hero-shade{background:linear-gradient(90deg,rgba(9,19,34,.78),rgba(9,19,34,.61)),linear-gradient(0deg,rgba(9,19,34,.77),transparent 60%)}
}
@media(prefers-reduced-motion:reduce){.hero-image .hero-video{display:none}}

/* A standalone Terrain mark above the footage; the header lockup stays intact. */
.hero-terrain-mark{position:absolute;z-index:2;right:max(5.55vw,calc((100vw - 1440px)/2));top:48px;width:clamp(110px,11vw,180px);height:auto;fill:#b3cbed;filter:drop-shadow(0 2px 12px rgba(9,19,34,.35));pointer-events:none}
.nav-search{display:inline-flex;align-items:center;gap:8px;border:0;background:none;color:inherit;font:inherit;cursor:pointer;padding:10px 0;white-space:nowrap}
.nav-search svg{width:16px;height:16px;flex:none}
.nav-search:hover{color:var(--sky)}
.mobile-nav .nav-search{width:100%;padding:17px 0;font-size:18px;border-bottom:1px solid var(--dark-line)}
#site-search{box-sizing:border-box;width:min(660px,calc(100vw - 32px));max-height:85svh;margin:8svh auto auto;padding:32px;border:1px solid #cbd7e6;background:#f5f7fb;color:#151c29;overflow:auto;box-shadow:0 24px 90px #09132266}
#site-search::backdrop{background:rgba(9,19,34,.72);backdrop-filter:blur(5px)}
.search-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
#site-search h2{font-family:inherit;font-size:28px;line-height:1.2;margin:0;letter-spacing:-.03em}
.search-close{width:44px;height:44px;border:1px solid #cbd7e6;background:transparent;color:#151c29;font:30px/1 sans-serif;cursor:pointer;flex:none}
#site-search label{display:block;font-size:13px;margin-bottom:10px;color:#52647b}
#site-search-input{box-sizing:border-box;width:100%;border:1px solid #95a9c5;background:#fff;color:#151c29;padding:15px;font:16px/1.4 inherit;border-radius:0;font-family:inherit;font-size:16px}
#site-search :focus-visible,.nav-search:focus-visible{outline:2px solid #6589b8;outline-offset:4px}
.search-status{font-size:12px;color:#52647b;margin:20px 0 8px}
#site-search-results{list-style:none;margin:0;padding:0}
#site-search-results li{border-bottom:1px solid #d5dfea}
#site-search-results a{display:block;padding:16px 8px;text-decoration:none;color:inherit}
#site-search-results a:hover{background:#e7eef7}
#site-search-results strong{display:block;font-size:16px;font-weight:500}
#site-search-results span{display:block;font-size:13px;line-height:1.6;color:#52647b;margin-top:5px}
@media(min-width:900px) and (max-width:1199px){.desktop-nav{gap:20px}.desktop-nav .nav-contact{margin-left:0;gap:14px}}
@media(max-width:899px){.hero-terrain-mark{width:78px;top:25px;right:6vw}.hero-content{padding-top:112px}}
@media(max-width:649px){#site-search{padding:22px;max-height:88svh;margin-top:4svh}.search-heading{margin-bottom:20px}#site-search h2{font-size:24px}.hero-terrain-mark{width:64px;top:22px}}

/* Across your firm: one clear sentence and three practical starting points. */
#applications .section-heading{grid-template-columns:1fr}
#applications .fn-panels{align-self:center}
#applications .concise-panel{padding:38px 36px 30px;min-height:0}
#applications .concise-panel h3{font-size:clamp(30px,3.2vw,46px);line-height:1.12;margin-top:24px;max-width:100%;overflow-wrap:normal}
#applications .concise-panel .application-description{font-size:16px;line-height:1.75;margin-top:25px;min-height:84px}
.function-highlights{list-style:none;margin:26px 0 0;padding:0}
.function-highlights li{position:relative;padding:17px 0 17px 18px;border-top:1px solid #64758d66;font-size:15px;line-height:1.55;color:#edf2fa}
.function-highlights li::before{content:'•';position:absolute;left:0;color:#b3cbed}
.function-highlights li:last-child{border-bottom:1px solid #64758d66}
.function-hint{font-size:12px;line-height:1.6;color:#b7c5d9;margin-top:24px}
.concise-panel:focus-visible{outline:2px solid #b3cbed;outline-offset:5px}
@media(max-width:1099px){#applications .concise-panel{padding:30px}#applications .concise-panel .application-description{min-height:0}}
@media(max-width:649px){#applications .concise-panel{padding:27px 23px}#applications .concise-panel h3{font-size:32px}#applications .concise-panel .application-description{font-size:15px;margin-top:20px}.function-highlights{margin-top:23px}.function-highlights li{font-size:14px;padding-block:15px}.function-hint{font-size:11px;margin-top:21px}}

/* Revised hero: direct implementation positioning in two upright lines. */
.hero h1{font-size:clamp(52px,5.4vw,88px);line-height:1.08;max-width:1000px;letter-spacing:-.05em}
.hero-tailored{display:block;color:#d2e3fa}
.hero-description{max-width:660px}
@media(max-width:899px){.hero h1{font-size:clamp(46px,6.4vw,66px)}}
@media(max-width:649px){.hero h1{font-size:clamp(31px,7.8vw,46px);letter-spacing:-.045em}.hero .eyebrow{font-size:9px;letter-spacing:.12em}.hero-description{max-width:420px}.hero-actions{flex-wrap:wrap;row-gap:22px}}
