/* Shared styles for every page (brand: navy / gold / white) */
html { scroll-behavior: smooth; }
body { background: #fff; color: #1f2937; -webkit-font-smoothing: antialiased; }
.eyebrow { font-family: Montserrat, sans-serif; font-size: .72rem; letter-spacing: .28em; text-transform: uppercase; font-weight: 500; }
.rule { width: 56px; height: 1px; background: #B8924A; }
.rule-c { margin-left: auto; margin-right: auto; }
.hero-bg { background-color: #0B2545; background-image: linear-gradient(180deg, rgba(6,23,46,.55) 0%, rgba(6,23,46,.35) 40%, rgba(6,23,46,.88) 100%), url('../images/hero.jpg'); background-size: cover; background-position: center; }
.page-hero { background: radial-gradient(120% 140% at 0% 0%, #13315C 0%, #0B2545 45%, #06172E 100%); }
.gray-grad { background: linear-gradient(180deg, #ffffff 0%, #F4F5F7 100%); }
.navy-grad { background: radial-gradient(120% 120% at 0% 0%, #13315C 0%, #0B2545 45%, #06172E 100%); }
.ph { background: linear-gradient(135deg, #E5E7EB 0%, #F4F5F7 50%, #D9DDE3 100%); }
.nav-solid { background: rgba(8,29,58,.97); box-shadow: 0 1px 0 rgba(255,255,255,.06); }
.field { width: 100%; border: 1px solid #D1D5DB; background: #fff; padding: .85rem 1rem; font-size: .95rem; border-radius: 2px; outline: none; transition: border-color .2s, box-shadow .2s; color: #111827; }
.field:focus { border-color: #0B2545; box-shadow: 0 0 0 3px rgba(11,37,69,.12); }
.field-dark { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.22); color: #fff; }
.field-dark::placeholder { color: rgba(255,255,255,.55); }
.field-dark:focus { border-color: #D6B87F; box-shadow: 0 0 0 3px rgba(214,184,127,.18); }
.field-dark option { color: #111827; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .95rem 1.75rem; font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 600; border-radius: 2px; transition: all .25s; cursor: pointer; }
.btn-gold { background: #B8924A; color: #fff; } .btn-gold:hover { background: #8E6E33; }
.btn-navy { background: #0B2545; color: #fff; } .btn-navy:hover { background: #13315C; }
.btn-ghost { border: 1px solid rgba(255,255,255,.7); color: #fff; } .btn-ghost:hover { background: #fff; color: #0B2545; }
.btn-outline { border: 1px solid #0B2545; color: #0B2545; } .btn-outline:hover { background: #0B2545; color: #fff; }
.card-lift { transition: transform .35s ease, box-shadow .35s ease; }
.card-lift:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -18px rgba(11,37,69,.35); }
.chip { border: 1px solid #D1D5DB; padding: .5rem 1rem; font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; transition: all .2s; }
.chip[aria-pressed="true"] { background: #0B2545; color: #fff; border-color: #0B2545; }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .8s ease, transform .8s ease; }
.reveal.in { opacity: 1; transform: none; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
[data-lang-btn][aria-pressed="true"] { background: #B8924A; color: #fff; border-color: #B8924A; }
[hidden] { display: none !important; }

/* Dropdown navigation */
.dd { position: relative; }
.dd.dd-static { position: static; }
.dd-panel { position: absolute; top: 100%; padding-top: .75rem; display: none; z-index: 60; }
.dd.open .dd-panel { display: block; }
@media (hover: hover) and (min-width: 1024px) { .dd:hover .dd-panel { display: block; } }
.dd-btn svg { transition: transform .2s; }
.dd.open .dd-btn svg { transform: rotate(180deg); }
.dd-link { display: block; padding: .55rem 1.25rem; font-size: .8rem; letter-spacing: .02em; text-transform: none; color: #0B2545; }
.dd-link:hover, .dd-link:focus { background: #F4F5F7; color: #8E6E33; outline: none; }
.mega-city { display: block; padding: .3rem 0; font-size: .82rem; color: #374151; letter-spacing: 0; text-transform: none; }
.mega-city:hover { color: #8E6E33; }
details.m-acc > summary { list-style: none; cursor: pointer; }
details.m-acc > summary::-webkit-details-marker { display: none; }
details.m-acc[open] > summary .chev { transform: rotate(180deg); }

/* Video / clip modal */
#siteModal { border: 0; padding: 0; background: transparent; max-width: min(92vw, 460px); width: 100%; }
#siteModal.wide { max-width: min(94vw, 760px); }
#siteModal::backdrop { background: rgba(6,23,46,.85); }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } html { scroll-behavior: auto; } }
