/* Swift Curve style: balanced rounded rectangles with a restrained
   white / grey / white frame. No decorative image masks or notches. */
:root{
  --navy-light:#163453;
  --swift-banner:linear-gradient(115deg,#0b1c33 30%,#163453);
  --curve-grey:#d4d9df;
  --curve-radius:56px;
}
.hero,.london-guide,.private-section,.people-section{background:var(--swift-banner)}
.footer{background:#071527}
.header .desktop-nav>a[aria-current=page]{background:transparent;box-shadow:inset 0 -2px 0 var(--red)}
.curve-style-hero .hero-image{
  inset:32px 32px 32px 50%;padding:4px;
  background:#fff;border:4px solid var(--curve-grey);
  border-radius:var(--curve-radius);box-shadow:0 0 0 4px #fff;
  overflow:hidden;
}
.curve-style-hero .hero-image img{border-radius:calc(var(--curve-radius) - 8px)}
.curve-style-hero .hero-image:after{inset:8px;border-radius:calc(var(--curve-radius) - 8px)}
.curve-style-hero .hero-label{left:calc(50% + 28px);bottom:64px;border-radius:14px}
.curve-style-hero .international-mark{display:block}
.curve-style-hero .hero-label .international-mark{
  width:36px;height:36px;stroke:var(--red);stroke-width:1.35;
}
.curve-style-hero .image-caption{z-index:2;right:30px;bottom:24px}
.curve-style-people{
  position:relative;grid-template-columns:1.2fr 1fr;border-radius:24px;
  box-shadow:0 12px 32px #0b1c3310;
}
.curve-style-people:after{
  content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px var(--curve-grey),inset 0 0 0 10px #fff;
}
.curve-style-people .people-photo{align-self:center;min-height:0;padding:38px 12px 38px 38px}
/* Keep the entire original photograph visible. The frame is outside it. */
.curve-style-people .people-photo-visual{
  position:relative;inset:auto;overflow:visible;padding:4px;
  background:#fff;border:4px solid var(--curve-grey);border-radius:12px;
  box-shadow:0 0 0 4px #fff;
}
.curve-style-people .people-photo img{
  position:static;inset:auto;display:block;width:100%;height:auto;
  max-height:none;object-fit:contain;object-position:center;border-radius:0;
}
.curve-style-people .photo-label{
  position:relative;left:auto;bottom:auto;display:block;max-width:none;
  margin-top:20px;padding:0;background:transparent;color:#fff;
  font-size:14px;font-weight:550;z-index:1;
}
.curve-style-people .people-copy{padding-left:38px}
@media(max-width:1150px){
  :root{--curve-radius:40px}
  .curve-style-hero .hero-image{inset:24px 24px 24px 50%}
  .curve-style-hero .hero-label{left:calc(50% + 24px);bottom:58px}
  .curve-style-people .people-copy{padding-left:28px}
}
@media(max-width:850px){
  .curve-style-hero .hero-image{inset:22px 20px 22px 50%}
  .curve-style-hero .hero-label{left:calc(50% + 18px);right:38px}
  .curve-style-hero .hero-label .international-mark{width:30px;height:30px}
  .curve-style-people{grid-template-columns:1fr}
  .curve-style-people .people-photo{padding:32px 32px 10px}
  .curve-style-people .people-copy{padding:24px 32px 38px}
}
@media(max-width:640px){
  :root{--curve-radius:28px}
  .curve-style-hero .hero-image{inset:auto;margin:0 20px 28px}
  .curve-style-hero .hero-label{
    left:36px;right:auto;bottom:52px;max-width:calc(100% - 72px);padding:14px 17px;
  }
  .curve-style-people .people-photo{padding:28px 25px 8px}
  .curve-style-people .people-copy{padding:27px 25px 36px}
}
