/* ===== WordPress-only additions (loaded after style.css / about.css) ===== */

/* keep the fixed nav below the admin bar when logged in */
.admin-bar .nav{top:32px}
@media(max-width:782px){.admin-bar .nav{top:46px}}

/* sticky header on phones: no top link row, so balance the logo's spacing top and bottom */
@media(max-width:980px){.nav.is-scrolled .nav__main .nav__inner{padding-top:10px}}

/* current page in the nav (About has its own rule in about.css) */
.nav__menu a.is-current{color:#fff}
.nav__menu a.is-current::after{width:100%}

/* gold pill button */
.btn--gold{background:var(--gold);border-color:var(--gold);color:var(--navy-900)}
.btn--gold:hover{background:var(--gold-2);border-color:var(--gold-2);transform:translateY(-3px)}

/* ===== Performance: lazy backgrounds (js/lazy.js) ===== */
/* the contact section's stylesheet background is held back until the section is near */
.contact.lazy-bg:not(.lazy-in){background-image:none}
/* ocean videos load lazily (preload=metadata) — reserve their exact shape so the page never jumps */
.ocean__video{aspect-ratio:1080/1882}

/* ===== Contact form ===== */
.field--hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact__status{padding:14px 18px;border-radius:12px;font-size:.96rem;font-weight:500}
.contact__status--ok{background:#e7f6ee;color:#14532d;border:1px solid #9fd8b6}
.contact__status--err{background:#fdecec;color:#7f1d1d;border:1px solid #f1b0b0}
.contact__form button[disabled]{opacity:.6;cursor:wait}

/* ===== Coming Soon / 404 ===== */
.cs-hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;padding:150px 0 90px;background:var(--navy-900)}
.cs-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.cs-hero__overlay{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 50% 40%,rgba(4,24,43,.35),rgba(4,24,43,.8) 70%),linear-gradient(180deg,rgba(4,24,43,.55),rgba(4,24,43,.25) 40%,rgba(4,24,43,.9))}
.cs-hero__content{position:relative;z-index:2;width:min(760px,92vw);display:flex;flex-direction:column;align-items:center;animation:cs-rise 1.1s var(--ease) both}
.cs-hero__logo{height:clamp(110px,14vw,170px);width:auto;margin-bottom:26px}
.cs-hero__eyebrow{font-size:20px;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--gold-2);margin-bottom:12px}
.cs-hero__title{font-size:clamp(2.8rem,8vw,5.625rem);font-weight:600;line-height:1.2;letter-spacing:-.02em}
.cs-hero__rule{display:block;width:80px;height:2px;background:var(--gold);margin:26px auto}
.cs-hero__text{font-size:18px;font-weight:400;line-height:1.5em;color:rgba(255,255,255,.85);max-width:560px}
.cs-hero__cta{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:36px}
@keyframes cs-rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}

/* ===== Generic page / post fallback ===== */
.pg-hero{position:relative;padding:200px 0 90px;color:#fff;background:var(--navy-800);overflow:hidden}
.pg-hero::before{content:"";position:absolute;inset:0;background-image:var(--bg);background-size:cover;background-position:center;opacity:.5}
.pg-hero .container{position:relative;z-index:1}
.pg-hero__title{font-size:clamp(2.2rem,5vw,5.625rem);font-weight:600;line-height:1.2;letter-spacing:-.02em}
.pg-body{padding:80px 0 110px;background:#fff}
.pg-body__inner{max-width:860px}
.pg-content>*+*{margin-top:1em}
.pg-content h2,.pg-content h3{line-height:1.2;margin-top:1.6em}
.pg-content a,.pg-item a{color:var(--blue-500);text-decoration:underline}
.pg-content ul,.pg-content ol{padding-left:1.4em}
.pg-content img{height:auto;border-radius:var(--radius)}
.pg-item{padding:28px 0;border-bottom:1px solid var(--line)}
.pg-item h2{font-size:1.5rem}
.pg-item__date{color:var(--muted);font-size:.9rem;margin:4px 0 10px}
