/* Premium visual layer */
body{
  background:#fff
}
.topbar{
  background:linear-gradient(90deg,#061f40,#0f4d93)
}
header{
  backdrop-filter:blur(15px);
  background:rgba(255,255,255,.92)
}
.nav nav>a{
  transition:color .2s
}
.nav nav>a:hover{
  color:#d71b2a
}
.hero-modern{
  position:relative;
  background:radial-gradient(circle at 78% 21%,#e6f5ff 0,transparent 30%),linear-gradient(120deg,#f9fcff 0%,#edf6ff 55%,#e4f0fa 100%)
}
.hero-modern:after{
  content:'';
  position:absolute;
  inset:auto 0 0;
  height:110px;
  background:linear-gradient(180deg,transparent,#fff);
  pointer-events:none
}
.hero-orbit{
  position:absolute;
  border:1px solid #0f4d9326;
  border-radius:50%;
  pointer-events:none
}
.orbit-one{
  width:630px;
  height:630px;
  right:-210px;
  top:-130px
}
.orbit-two{
  width:420px;
  height:420px;
  right:-94px;
  top:-25px;
  border-color:#d71b2a36
}
.hero h1{
  font-size:clamp(3.15rem,6vw,6rem);
  max-width:680px
}
.hero-copy{
  position:relative;
  z-index:1
}
.hero .eyebrow span{
  display:inline-block;
  width:5px;
  height:5px;
  background:var(--red);
  border-radius:50%;
  margin:0 8px 2px
}
.play-link{
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--navy);
  text-decoration:none;
  font-weight:700
}
.play-link b{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:1px solid #9eb6cf;
  border-radius:50%;
  font-weight:400
}
.hero-pills{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:42px
}
.hero-pills span{
  padding:8px 11px;
  border:1px solid #bfd1e2;
  border-radius:100px;
  background:#ffffff8c;
  color:#294663;
  font-size:.73rem;
  font-weight:700
}
.hero-photo .shape{
  background:linear-gradient(150deg,#072957,#104f96);
  box-shadow:inset 0 0 0 10px #ffffff1c
}
.photo-ring{
  position:absolute;
  width:78%;
  height:78%;
  border:1px solid #d71b2a70;
  border-radius:50%;
  top:8%;
  right:-7%;
  z-index:0
}
.hero-photo img{
  border-radius:0 0 100px 100px
}
.photo-caption{
  left:18px;
  border-radius:10px;
  border:1px solid #fff;
  backdrop-filter:blur(8px);
  background:#ffffffd9
}
.experience-card{
  position:absolute;
  right:-16px;
  top:135px;
  background:var(--red);
  color:#fff;
  padding:16px 19px;
  border-radius:10px;
  box-shadow:0 18px 35px #d71b2a47;
  z-index:2
}
.experience-card b,.experience-card span{
  display:block
}
.experience-card span{
  font-size:.72rem
}
.intro{
  position:relative
}
.intro:before{
  content:'"';
  position:absolute;
  left:3vw;
  top:20px;
  color:#e4eff9;
  font:14rem/1 'Playfair Display';
  z-index:-1
}
.signature-care{
  background:linear-gradient(160deg,#eef6fc,#f8fbfd)
}
.section-heading h2{
  max-width:760px
}
.cards article{
  border:0;
  border-radius:14px;
  box-shadow:0 15px 40px #163c6210;
  position:relative;
  overflow:hidden;
  transition:transform .25s,box-shadow .25s
}
.cards article:before{
  content:'';
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,#d71b2a,#ee7c84)
}
.cards article:hover{
  transform:translateY(-8px);
  box-shadow:0 22px 48px #163c6220
}
.cards article a{
  color:var(--navy);
  font-size:.82rem;
  text-decoration:none;
  font-weight:700
}
.card-icon{
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#fdecf0;
  color:var(--red);
  font-size:1.25rem;
  font-weight:700;
  margin:18px 0
}
.statement-photo{
  position:relative;
  height:520px
}
.statement-photo img{
  height:520px
}
.image-label{
  position:absolute;
  bottom:25px;
  left:25px;
  padding:13px 17px;
  background:#fff;
  border-radius:8px;
  color:var(--navy);
  font-size:.75rem;
  line-height:1.4
}
.image-label b{
  font-size:.96rem
}
.light-link{
  color:#fff;
  font-weight:700;
  text-decoration:none
}
.blog-preview{
  background:#fff
}
.blog-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  margin-bottom:35px
}
.blog-heading h2{
  margin-bottom:0
}
.blog-grid{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr;
  gap:18px
}
.blog-grid article{
  min-height:260px;
  padding:28px;
  border-radius:12px;
  border:1px solid #dce7f0;
  background:linear-gradient(145deg,#fff,#f6faff);
  display:flex;
  flex-direction:column;
  align-items:flex-start
}
.blog-grid article span,.article-grid article>span{
  font-size:.7rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--red);
  font-weight:700
}
.blog-grid h3{
  font:600 1.42rem/1.25 'Playfair Display';
  margin:18px 0
}
.blog-grid p{
  font-size:.9rem;
  color:var(--muted)
}
.blog-grid a,.article-grid a{
  margin-top:auto;
  color:var(--navy);
  font-weight:700;
  text-decoration:none;
  font-size:.83rem
}
.featured-blog{
  background:linear-gradient(140deg,#082d5c,#155495)!important;
  color:#fff;
  border:0!important
}
.featured-blog span{
  color:#f5a1a7!important
}
.featured-blog p{
  color:#dce9f8
}
.blog-hero{
  background:radial-gradient(circle at 80% 10%,#d4ebff,transparent 35%),linear-gradient(125deg,#f4f9ff,#edf3fa)
}
.article-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}
.article-grid article{
  min-height:310px;
  border-radius:14px;
  padding:30px;
  background:#f5f9fc;
  border:1px solid #dbe6ef;
  display:flex;
  flex-direction:column
}
.article-grid article:nth-child(2),.article-grid article:nth-child(5){
  background:#082d5c;
  color:#fff;
  border:0
}
.article-grid article:nth-child(2)>span,.article-grid article:nth-child(5)>span{
  color:#f5a1a7
}
.article-grid article:nth-child(2) p,.article-grid article:nth-child(5) p{
  color:#d5e2f0
}
.article-grid article:nth-child(2) a,.article-grid article:nth-child(5) a{
  color:#fff
}
.article-grid h2{
  font-size:1.55rem;
  margin:14px 0
}
.article-grid p{
  color:var(--muted);
  font-size:.92rem
}
@media(max-width:800px){
  .hero h1{
    font-size:3.25rem
  }
  .experience-card{
    right:0;
    top:80px
  }
  .blog-heading{
    align-items:start;
    gap:15px;
    flex-direction:column
  }
  .blog-grid,.article-grid{
    grid-template-columns:1fr
  }
  .statement-photo,.statement-photo img{
    height:380px
  }
  .hero-orbit{
    display:none
  }
}
