/* M/Y FOX — my-fox.com */
@font-face { font-family:'Cormorant'; src:url('fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'Cormorant'; src:url('fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2'); font-weight:500; font-display:swap; }
@font-face { font-family:'Cormorant'; src:url('fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2'); font-weight:600; font-display:swap; }
@font-face { font-family:'Jost'; src:url('fonts/jost-latin-300-normal.woff2') format('woff2'); font-weight:300; font-display:swap; }
@font-face { font-family:'Jost'; src:url('fonts/jost-latin-400-normal.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'Jost'; src:url('fonts/jost-latin-500-normal.woff2') format('woff2'); font-weight:500; font-display:swap; }

:root {
  --navy:#0e1b26; --navy2:#152634; --ink:#1c2b38;
  --gold:#b99a5b; --gold-light:#d8c08a;
  --cream:#f4f1ea; --body:#43525f;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Jost',sans-serif; color:var(--ink); background:#fff; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }

.kicker { font-weight:400; letter-spacing:0.32em; text-transform:uppercase; font-size:0.72rem; color:var(--gold); }
h1,h2,h3 { font-family:'Cormorant',serif; font-weight:500; }
.container { max-width:1200px; margin:0 auto; padding:0 24px; }

/* NAV */
nav { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:18px 32px; transition:background .3s; background:linear-gradient(to bottom, rgba(8,16,24,0.75), rgba(8,16,24,0)); }
nav.solid { background:var(--navy); box-shadow:0 2px 12px rgba(0,0,0,0.25); padding:12px 32px; }
.nav-brand { font-family:'Cormorant',serif; font-size:1.6rem; letter-spacing:0.35em; color:#fff; font-weight:500; }
.nav-links { display:flex; gap:34px; align-items:center; }
.nav-links a { color:#e9e5da; font-size:0.78rem; letter-spacing:0.22em; text-transform:uppercase; font-weight:400; padding:4px 0; border-bottom:1px solid transparent; transition:all .2s; }
.nav-links a:hover, .nav-links a.active { color:var(--gold-light); border-bottom-color:var(--gold-light); }
.nav-toggle { display:none; background:none; border:none; color:#fff; font-size:1.6rem; cursor:pointer; }
@media (max-width:820px) {
  .nav-toggle { display:block; }
  .nav-links { display:none; position:absolute; top:100%; left:0; right:0; background:var(--navy); flex-direction:column; gap:0; padding:10px 0; }
  .nav-links.open { display:flex; }
  .nav-links a { padding:14px 32px; width:100%; }
}

/* HERO */
.hero { position:relative; height:100vh; min-height:560px; display:flex; align-items:flex-end; color:#fff; overflow:hidden; }
.hero .bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero .shade { position:absolute; inset:0; background:linear-gradient(to top, rgba(8,16,24,0.78) 0%, rgba(8,16,24,0.18) 45%, rgba(8,16,24,0.25) 100%); }
.hero-inner { position:relative; width:100%; max-width:1200px; margin:0 auto; padding:0 32px 72px; }
.hero h1 { font-size:clamp(4rem, 10vw, 7.5rem); letter-spacing:0.14em; line-height:0.95; font-weight:500; }
.hero .sub { margin-top:14px; font-weight:300; letter-spacing:0.24em; text-transform:uppercase; font-size:clamp(0.8rem, 1.6vw, 1rem); color:#e9e2d2; }
.hero .kicker { color:var(--gold-light); margin-bottom:10px; }
.page-hero { height:56vh; min-height:380px; }

/* SECTIONS */
section { padding:96px 0; }
.section-head { margin-bottom:48px; }
.section-head h2 { font-size:clamp(2rem, 4vw, 3rem); margin-top:10px; color:var(--navy); }
.split { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
@media (max-width:820px){ .split { grid-template-columns:1fr; gap:32px; } }
.split .body, .body-text { font-weight:300; font-size:1.02rem; line-height:1.8; color:var(--body); }
.split .body p, .body-text p { margin-bottom:18px; }
.dark { background:var(--navy); color:#e9e5da; }
.dark .section-head h2 { color:#fff; }
.dark .body-text, .dark .split .body { color:#c3cbd2; }
.cream { background:var(--cream); }

.statbar { display:grid; grid-template-columns:repeat(6,1fr); gap:24px; padding:40px 0; border-top:1px solid rgba(216,192,138,0.35); border-bottom:1px solid rgba(216,192,138,0.35); }
@media (max-width:820px){ .statbar { grid-template-columns:repeat(3,1fr); } }
.stat .v { font-family:'Cormorant',serif; font-size:2rem; font-weight:600; color:#fff; }
.stat .l { font-size:0.66rem; letter-spacing:0.2em; text-transform:uppercase; color:#8fa0ad; margin-top:4px; }

.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
@media (max-width:820px){ .card-grid { grid-template-columns:1fr; } }
.card { position:relative; overflow:hidden; aspect-ratio:4/3; }
.card img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.card:hover img { transform:scale(1.04); }
.card .label { position:absolute; left:20px; bottom:16px; color:#fff; letter-spacing:0.22em; text-transform:uppercase; font-size:0.75rem; text-shadow:0 1px 8px rgba(0,0,0,0.6); }
.card::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(8,16,24,0.45), transparent 45%); }

.btn { display:inline-block; padding:14px 36px; border:1px solid var(--gold); color:var(--gold); letter-spacing:0.22em; text-transform:uppercase; font-size:0.75rem; font-weight:400; transition:all .25s; }
.btn:hover { background:var(--gold); color:var(--navy); }
.btn.light { border-color:var(--gold-light); color:var(--gold-light); }
.btn.light:hover { background:var(--gold-light); color:var(--navy); }

/* GALLERY */
.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
@media (max-width:820px){ .gallery-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .gallery-grid { grid-template-columns:1fr; } }
.gallery-grid a { display:block; aspect-ratio:3/2; overflow:hidden; }
.gallery-grid img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.gallery-grid a:hover img { transform:scale(1.05); }
.gal-section { padding:56px 0 0; }
.gal-section h3 { font-size:1.7rem; color:var(--navy); margin-bottom:20px; }

/* LIGHTBOX */
.lightbox { position:fixed; inset:0; background:rgba(8,16,24,0.94); z-index:200; display:none; align-items:center; justify-content:center; }
.lightbox.open { display:flex; }
.lightbox img { max-width:92vw; max-height:88vh; object-fit:contain; }
.lightbox button { position:absolute; background:none; border:none; color:#fff; font-size:2.4rem; cursor:pointer; opacity:0.7; }
.lightbox button:hover { opacity:1; }
.lb-close { top:18px; right:28px; }
.lb-prev { left:18px; top:50%; transform:translateY(-50%); }
.lb-next { right:18px; top:50%; transform:translateY(-50%); }

/* SPEC TABLE */
table.spec { width:100%; border-collapse:collapse; }
table.spec td { padding:16px 0; border-bottom:1px solid rgba(233,229,218,0.18); font-size:0.95rem; }
table.spec td:first-child { color:#9fb0bd; letter-spacing:0.16em; text-transform:uppercase; font-size:0.72rem; }
table.spec td:last-child { text-align:right; color:#fff; font-weight:400; }
.features li { list-style:none; padding:12px 0 12px 28px; position:relative; font-weight:300; line-height:1.6; color:var(--body); border-bottom:1px solid #e5e0d4; }
.features li::before { content:''; position:absolute; left:0; top:22px; width:12px; height:1px; background:var(--gold); }

/* CONTACT */
.contact-card { display:flex; gap:36px; align-items:center; flex-wrap:wrap; }
.contact-card img { height:110px; }
.contact-lines { font-weight:300; letter-spacing:0.12em; }
.contact-lines .name { font-family:'Cormorant',serif; font-size:1.8rem; font-weight:500; color:#fff; letter-spacing:0.06em; }
.contact-lines .role { font-size:0.75rem; text-transform:uppercase; letter-spacing:0.24em; color:var(--gold-light); margin:4px 0 14px; }
.contact-lines a { display:block; color:#e9e5da; margin:6px 0; font-size:1.02rem; }
.contact-lines a:hover { color:var(--gold-light); }
form .field { margin-bottom:18px; }
form label { display:block; font-size:0.72rem; letter-spacing:0.2em; text-transform:uppercase; color:#9fb0bd; margin-bottom:8px; }
form input, form textarea, form select { width:100%; padding:13px 14px; background:rgba(255,255,255,0.06); border:1px solid rgba(233,229,218,0.25); color:#fff; font-family:'Jost',sans-serif; font-weight:300; font-size:0.95rem; }
form input:focus, form textarea:focus, form select:focus { outline:none; border-color:var(--gold-light); }
form button { cursor:pointer; background:none; }

/* FOOTER */
footer { background:#0a141d; color:#8fa0ad; padding:56px 0 40px; }
.footer-inner { display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap; }
.footer-inner img { height:64px; }
.footer-meta { font-size:0.75rem; font-weight:300; letter-spacing:0.08em; line-height:1.9; }
.footer-meta a { color:#c3cbd2; }
.footer-meta a:hover { color:var(--gold-light); }
