@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

:root {
  --black: #0C0C0C;
  --white: #FFFFFF;
  --off-white: #FAF9F7;
  --grey-100: #F2F0ED;
  --grey-200: #E8E5E0;
  --grey-400: #B5B0A8;
  --grey-600: #8A8478;
  --grey-800: #4A4740;
  --accent: #96785C;
  --accent-light: rgba(150,120,92,.08);
  --font-display: 'Instrument Serif', Georgia, serif;
  --font-body: 'Plus Jakarta Sans', sans-serif;
  --max-w: 1200px;
  --nav-h: 72px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--font-body); color:var(--black); background:var(--white); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }

/* ═══ NAVIGATION ═══ */
.nav { position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(255,255,255,.92); backdrop-filter:blur(20px); border-bottom:1px solid var(--grey-200); height:var(--nav-h); }
.nav-inner { max-width:var(--max-w); margin:0 auto; padding:0 40px; height:100%; display:flex; align-items:center; justify-content:space-between; }
.nav-logo { font-family:var(--font-body); font-size:15px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--black); }
.nav-logo span { color:var(--accent); font-weight:300; }
.nav-links { display:flex; align-items:center; gap:36px; }
.nav-links a { font-family:var(--font-body); font-size:13px; font-weight:500; letter-spacing:.5px; color:var(--grey-600); transition:color .3s; }
.nav-links a:hover, .nav-links a.active { color:var(--black); }
.nav-links a.active { position:relative; }
.nav-links a.active::after { content:''; position:absolute; bottom:-4px; left:0; right:0; height:1px; background:var(--accent); }
.nav-contact-btn { font-family:var(--font-body); font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--white); background:var(--black); padding:10px 24px; border-radius:4px; transition:all .3s; }
.nav-contact-btn:hover { background:var(--grey-800); }

/* Mobile menu */
.nav-toggle { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; }
.nav-toggle span { width:22px; height:1.5px; background:var(--black); transition:all .3s; }

/* ═══ HERO ═══ */
.hero { padding:calc(var(--nav-h) + 100px) 40px 100px; max-width:var(--max-w); margin:0 auto; }
.hero-label { display:inline-flex; align-items:center; gap:8px; margin-bottom:24px; }
.hero-label .line { width:40px; height:1px; background:var(--accent); }
.hero-label span { font-family:var(--font-body); font-size:11px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--accent); }
.hero h1 { font-family:var(--font-display); font-size:clamp(42px, 5.5vw, 76px); font-weight:400; line-height:1.1; color:var(--black); margin-bottom:32px; max-width:900px; }
.hero h1 em { font-style:italic; color:var(--accent); }
.hero-text { font-family:var(--font-body); font-size:18px; font-weight:300; line-height:1.8; color:var(--grey-600); max-width:560px; margin-bottom:48px; }
.hero-cta { display:inline-flex; align-items:center; gap:12px; font-family:var(--font-body); font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--white); background:var(--black); padding:16px 36px; border-radius:4px; transition:all .4s; }
.hero-cta:hover { background:var(--accent); transform:translateX(4px); }
.hero-cta .arrow { transition:transform .3s; }
.hero-cta:hover .arrow { transform:translateX(4px); }

/* ═══ SECTIONS ═══ */
.section { padding:100px 40px; max-width:var(--max-w); margin:0 auto; }
.section-dark { background:var(--black); color:var(--white); padding:100px 40px; }
.section-dark .section-inner { max-width:var(--max-w); margin:0 auto; }
.section-cream { background:var(--off-white); padding:100px 40px; }
.section-cream .section-inner { max-width:var(--max-w); margin:0 auto; }
.section-label { display:inline-flex; align-items:center; gap:8px; margin-bottom:20px; }
.section-label .line { width:30px; height:1px; background:var(--accent); }
.section-label span { font-family:var(--font-body); font-size:11px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--accent); }
.section-dark .section-label span { color:var(--accent); }
.section-dark .section-label .line { background:var(--accent); }
.section-title { font-family:var(--font-display); font-size:clamp(32px,4vw,56px); font-weight:400; line-height:1.15; margin-bottom:24px; }
.section-title em { font-style:italic; color:var(--accent); }
.section-dark .section-title { color:var(--white); }
.section-desc { font-family:var(--font-body); font-size:17px; font-weight:300; line-height:1.8; color:var(--grey-600); max-width:600px; }
.section-dark .section-desc { color:rgba(255,255,255,.5); }

/* ═══ STATS ═══ */
.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--grey-200); border:1px solid var(--grey-200); border-radius:8px; overflow:hidden; margin-top:60px; }
.stat { background:var(--white); padding:48px 32px; text-align:center; }
.stat-num { font-family:var(--font-display); font-size:clamp(36px,4vw,56px); color:var(--black); margin-bottom:8px; }
.stat-text { font-family:var(--font-body); font-size:13px; font-weight:500; letter-spacing:1px; text-transform:uppercase; color:var(--grey-600); }

/* ═══ CARDS ═══ */
.cards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:60px; }
.card { padding:40px 32px; border:1px solid var(--grey-200); border-radius:8px; transition:all .4s; }
.card:hover { border-color:var(--accent); transform:translateY(-4px); box-shadow:0 20px 40px rgba(0,0,0,.04); }
.card-num { font-family:var(--font-display); font-size:48px; color:var(--accent); opacity:.4; margin-bottom:16px; line-height:1; }
.card-title { font-family:var(--font-body); font-size:18px; font-weight:700; color:var(--black); margin-bottom:12px; }
.card-text { font-family:var(--font-body); font-size:14px; font-weight:400; line-height:1.7; color:var(--grey-600); }

/* Dark cards */
.cards-dark { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:60px; }
.card-dark { padding:40px 32px; border:1px solid rgba(255,255,255,.08); border-radius:8px; transition:all .4s; }
.card-dark:hover { border-color:var(--accent); background:rgba(255,255,255,.03); }
.card-dark-title { font-family:var(--font-body); font-size:17px; font-weight:600; color:var(--white); margin-bottom:10px; }
.card-dark-text { font-family:var(--font-body); font-size:14px; font-weight:300; line-height:1.7; color:rgba(255,255,255,.45); }

/* ═══ PARTNER ═══ */
.partner { display:flex; align-items:center; gap:48px; margin-top:60px; padding:48px; border:1px solid var(--grey-200); border-radius:8px; }
.partner-photo { width:120px; height:120px; border-radius:50%; overflow:hidden; flex-shrink:0; background:var(--grey-100); }
.partner-photo img { width:100%; height:100%; object-fit:cover; }
.partner-info { flex:1; }
.partner-name { font-family:var(--font-body); font-size:20px; font-weight:700; color:var(--black); margin-bottom:4px; }
.partner-role { font-family:var(--font-body); font-size:13px; font-weight:500; color:var(--accent); letter-spacing:.5px; margin-bottom:12px; }
.partner-desc { font-family:var(--font-body); font-size:15px; font-weight:300; line-height:1.7; color:var(--grey-600); }

/* ═══ DIVIDER ═══ */
.divider { display:flex; align-items:center; justify-content:center; gap:16px; padding:60px 0; }
.divider .line { width:60px; height:1px; background:var(--grey-200); }
.divider .dot { width:5px; height:5px; border:1px solid var(--accent); transform:rotate(45deg); }

/* ═══ CONTACT FORM ═══ */
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:40px; max-width:640px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group.full { grid-column:1/-1; }
.form-label { font-family:var(--font-body); font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--grey-600); }
.form-input, .form-textarea { font-family:var(--font-body); font-size:15px; font-weight:400; color:var(--black); background:var(--off-white); border:1px solid var(--grey-200); border-radius:4px; padding:14px 16px; transition:border-color .3s; outline:none; }
.form-input:focus, .form-textarea:focus { border-color:var(--accent); }
.form-textarea { min-height:140px; resize:vertical; }
.form-submit { grid-column:1/-1; display:inline-flex; align-items:center; justify-content:center; gap:10px; font-family:var(--font-body); font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--white); background:var(--black); padding:16px 36px; border:none; border-radius:4px; cursor:pointer; transition:all .3s; }
.form-submit:hover { background:var(--accent); }

/* ═══ FOOTER ═══ */
.footer { background:var(--black); padding:60px 40px 32px; }
.footer-inner { max-width:var(--max-w); margin:0 auto; }
.footer-top { display:flex; justify-content:space-between; align-items:flex-start; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.06); margin-bottom:32px; }
.footer-brand { font-family:var(--font-body); font-size:14px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--white); margin-bottom:12px; }
.footer-brand span { color:var(--accent); font-weight:300; }
.footer-tagline { font-family:var(--font-body); font-size:13px; font-weight:300; color:rgba(255,255,255,.35); max-width:280px; line-height:1.6; }
.footer-col { display:flex; flex-direction:column; gap:10px; }
.footer-col-title { font-family:var(--font-body); font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.3); margin-bottom:4px; }
.footer-col a { font-family:var(--font-body); font-size:13px; font-weight:400; color:rgba(255,255,255,.45); transition:color .3s; }
.footer-col a:hover { color:var(--accent); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-copy { font-family:var(--font-body); font-size:11px; color:rgba(255,255,255,.2); }
.footer-legal-links { display:flex; gap:20px; flex-wrap:wrap; }
.footer-legal-links a { font-family:var(--font-body); font-size:11px; color:rgba(255,255,255,.2); transition:color .3s; }
.footer-legal-links a:hover { color:rgba(255,255,255,.4); }

/* ═══ PAGE HEADER ═══ */
.page-header { padding:calc(var(--nav-h) + 80px) 40px 60px; max-width:var(--max-w); margin:0 auto; border-bottom:1px solid var(--grey-200); margin-bottom:0; }
.page-header h1 { font-family:var(--font-display); font-size:clamp(36px,4.5vw,60px); font-weight:400; line-height:1.15; color:var(--black); margin-bottom:16px; }
.page-header h1 em { font-style:italic; color:var(--accent); }
.page-header p { font-family:var(--font-body); font-size:17px; font-weight:300; line-height:1.7; color:var(--grey-600); max-width:600px; }

/* ═══ LEGAL ═══ */
.legal-content { max-width:760px; padding:60px 40px 100px; margin:0 auto; }
.legal-content h2 { font-family:var(--font-body); font-size:20px; font-weight:700; color:var(--black); margin:40px 0 12px; }
.legal-content h2:first-child { margin-top:0; }
.legal-content p { font-family:var(--font-body); font-size:15px; font-weight:400; line-height:1.8; color:var(--grey-600); margin-bottom:12px; }
.legal-content strong { font-weight:600; color:var(--grey-800); }

/* ═══ ANIMATIONS ═══ */
@keyframes fadeUp { from{opacity:0;transform:translateY(32px)} to{opacity:1;transform:translateY(0)} }
.fade-up { animation:fadeUp .8s ease-out both; }
.fade-up-d1 { animation-delay:.1s; }
.fade-up-d2 { animation-delay:.2s; }
.fade-up-d3 { animation-delay:.3s; }
.fade-up-d4 { animation-delay:.4s; }

/* ═══ RESPONSIVE ═══ */
@media(max-width:900px) {
  .stats { grid-template-columns:1fr; }
  .cards-grid { grid-template-columns:1fr; }
  .cards-dark { grid-template-columns:1fr; }
  .partner { flex-direction:column; text-align:center; gap:24px; }
  .footer-top { flex-direction:column; gap:32px; }
}

@media(max-width:640px) {
  .nav-inner { padding:0 20px; }
  .nav-links { display:none; position:fixed; top:var(--nav-h); left:0; right:0; bottom:0; background:var(--white); flex-direction:column; align-items:center; justify-content:center; gap:28px; }
  .nav-links.open { display:flex; }
  .nav-links a { font-size:16px; }
  .nav-toggle { display:flex; }
  .nav-contact-btn { display:none; }
  .hero { padding:calc(var(--nav-h) + 48px) 20px 60px; }
  .hero-text { font-size:16px; }
  .section { padding:60px 20px; }
  .section-dark { padding:60px 20px; }
  .section-cream { padding:60px 20px; }
  .page-header { padding:calc(var(--nav-h) + 48px) 20px 40px; }
  .form-grid { grid-template-columns:1fr; }
  .legal-content { padding:40px 20px 60px; }
  .footer { padding:40px 20px 24px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
}
