/* ── HERO ── */
#home {
   min-height: 100vh;
   background: url('../../images/background.jpg') no-repeat center center / cover;
   display: flex;
   align-items: center;
   text-align: center;
   position: relative;
   overflow: hidden;
   --gx: 50%; --gy: 50%;
}
#home::before {
   content: '';
   position: absolute; inset: 0;
   background: linear-gradient(160deg, rgba(0,30,60,0.92) 0%, rgba(0,50,82,0.75) 60%, rgba(0,66,107,0.60) 100%);
   z-index: 1;
}
#home::after {
   content: '';
   position: absolute; inset: 0;
   background: radial-gradient(ellipse 600px 400px at var(--gx) var(--gy), rgba(180,214,221,0.08) 0%, transparent 70%);
   z-index: 2;
   pointer-events: none;
}
.hero-content {
   position: relative; z-index: 3;
   animation: heroIn 1.1s cubic-bezier(0.22,1,0.36,1) both;
}
@keyframes heroIn {
   from { opacity: 0; transform: translateY(48px); }
   to   { opacity: 1; transform: translateY(0); }
}
.logo-hero {
   height: 180px;
   filter: brightness(0) invert(1);
   animation: logoPulse 4s ease-in-out infinite;
   margin-bottom: 2rem;
}
@keyframes logoPulse {
   0%,100% { filter: brightness(0) invert(1) drop-shadow(0 0 0 rgba(180,214,221,0)); }
   50%      { filter: brightness(0) invert(1) drop-shadow(0 0 20px rgba(180,214,221,0.4)); }
}
.hero-eyebrow {
   font-family: 'Montserrat', sans-serif;
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 4px;
   text-transform: uppercase;
   color: var(--accent);
   margin-bottom: 1rem;
   display: block;
}
.hero-title {
   font-family: 'Playfair Display', serif;
   font-size: clamp(2.2rem, 5vw, 3.8rem);
   color: var(--white);
   line-height: 1.15;
   margin-bottom: 1.25rem;
}
.hero-title em {
   font-style: italic;
   color: var(--accent);
}
.hero-sub {
   font-size: 15px;
   font-weight: 300;
   color: rgba(255,255,255,0.75);
   max-width: 500px;
   margin: 0 auto 2.5rem;
   line-height: 1.9;
}
.hero-line {
   width: 48px; height: 2px;
   background: var(--accent);
   margin: 0 auto 1.5rem;
}
