/* ===== Page-specific styles: index ===== */

:root { --gold:#c9a84c; --gold-light:#e8d5a0; --navy:#1a4427; }
body { font-family:"Lato", sans-serif; }
h1, h2, h3, .font-display { font-family:"Playfair Display", serif; }
#main-nav { background:white; border-bottom:2px solid var(--gold); }
.nav-logo { font-family:"Playfair Display", serif; color:var(--navy); letter-spacing:.04em; white-space:nowrap; }
.nav-link { display:flex; align-items:center; gap:4px; padding:18px 10px; font-size:.88rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--navy); transition:color .2s; white-space:nowrap; }
.nav-link:hover { color:var(--gold); }
.dropdown { display:none; position:absolute; top:100%; left:0; background:white; min-width:210px; border-top:3px solid var(--gold); box-shadow:0 8px 32px rgba(0,0,0,.10); z-index:100; }
.dropdown a { display:block; padding:11px 20px; font-size:.84rem; color:var(--navy); border-bottom:1px solid #f3f0e8; transition:background .15s, color .15s; }
.dropdown a:hover { background:#fdf8ee; color:var(--gold); }
.sub-item { position:relative; }
.sub-dropdown { display:none; position:absolute; left:100%; top:0; background:white; min-width:200px; border-top:3px solid var(--gold); box-shadow:0 8px 32px rgba(0,0,0,.10); }
.sub-item:hover > .sub-dropdown { display:block; }
.sub-item > a { display:flex; justify-content:space-between; align-items:center; }
.sub-item > a::after { content:"›"; font-size:1.1rem; }
#hamburger { cursor:pointer; }
.mob-link { display:block; padding:13px 28px; font-size:.95rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--navy); border-bottom:1px solid #f0ebe0; cursor:pointer; }
.mob-sub { display:none; background:#fdf8ee; }
.mob-sub a { display:block; padding:10px 44px; font-size:.85rem; color:#4a5568; border-bottom:1px solid #ece8df; }
.hero { background:linear-gradient(135deg, #9de17b 0%, #fff 60%, #f0ebd8 100%); min-height:88vh; display:flex; align-items:center; position:relative; overflow:hidden; }
.hero::before { content:""; position:absolute; inset:0; background-image:radial-gradient(circle at 80% 20%, rgba(201,168,76,.12) 0%, transparent 55%), radial-gradient(circle at 10% 80%, rgba(26,39,68,.06) 0%, transparent 45%); }
.hero-badge { display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); border:1.5px solid var(--gold); padding:5px 16px; border-radius:20px; margin-bottom:22px; }
.hero-title { font-family:"Playfair Display", serif; color:var(--navy); line-height:1.12; }
.hero-subtitle { color:#6b7280; font-size:1.12rem; line-height:1.7; }
.hero-divider { width:60px; height:3px; background:var(--gold); margin:24px 0; }
.btn-primary { background:var(--navy); color:white; padding:14px 32px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:.82rem; border-radius:2px; transition:background .2s, transform .15s; }
.btn-primary:hover { background:var(--gold); transform:translateY(-2px); }
.btn-outline { border:2px solid var(--navy); color:var(--navy); padding:12px 28px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:.82rem; border-radius:2px; transition:all .2s; }
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }
.section-heading { font-family:"Playfair Display", serif; color:var(--navy); }
.section-line { width:50px; height:3px; background:var(--gold); margin:12px auto 0; }
.card { border-radius:4px; overflow:hidden; box-shadow:0 4px 18px rgba(0,0,0,.07); transition:transform .2s, box-shadow .2s; background:white; }
.card:hover { transform:translateY(-5px); box-shadow:0 12px 36px rgba(0,0,0,.12); }
.card-img { width:100%; height:180px; object-fit:cover; }
.card-img-placeholder { width:100%; height:180px; display:flex; align-items:center; justify-content:center; font-size:2.5rem; font-family:"Playfair Display", serif; }
.social-card { display:flex; align-items:center; gap:14px; padding:18px 22px; background:white; border-radius:4px; box-shadow:0 3px 14px rgba(0,0,0,.07); transition:transform .2s, box-shadow .2s; text-decoration:none; }
.social-card:hover { transform:translateY(-3px); box-shadow:0 8px 28px rgba(0,0,0,.12); }
.social-icon { width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0; }
.contact-row { display:flex; align-items:flex-start; gap:14px; padding:16px 0; border-bottom:1px solid #f0ebe0; }
.contact-icon { width:40px; height:40px; border-radius:50%; background:var(--gold-light); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--navy); }
.reveal { opacity:0; transform:translateY(30px); transition:opacity .55s, transform .55s; }
