*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ── DESIGN TOKENS ── */
[data-theme="dark"] {
  --bg: #06060a;
  --surface: #0d0d13;
  --surface2: #121218;
  --surface3: #17171f;
  --border: rgba(255,255,255,0.07);
  --border-hover: rgba(255,255,255,0.14);
  --gold: #c8a56a;
  --gold-light: #dfc08a;
  --gold-dim: rgba(200,165,106,0.10);
  --white: #eceae3;
  --muted: rgba(236,234,227,0.65);
  --faint: rgba(236,234,227,0.32);
  --nav-bg: rgba(6,6,10,0.90);
  --shadow-card: 0 1px 3px rgba(0,0,0,0.55), 0 8px 32px rgba(0,0,0,0.4);
  --shadow-lift: 0 24px 64px rgba(0,0,0,0.55);
  --noise: 0.018;
  --photo-f: contrast(1.04) brightness(0.95) saturate(0.95);
}
[data-theme="light"] {
  --bg: #f4f1eb;
  --surface: #ffffff;
  --surface2: #eee9df;
  --surface3: #e5dfd3;
  --border: rgba(30,24,10,0.11);
  --border-hover: rgba(30,24,10,0.22);
  --gold: #8a5f28;
  --gold-light: #a87838;
  --gold-dim: rgba(138,95,40,0.10);
  --white: #1a1710;
  --muted: rgba(26,23,16,0.68);
  --faint: rgba(26,23,16,0.44);
  --nav-bg: rgba(244,241,235,0.92);
  --shadow-card: 0 1px 2px rgba(0,0,0,0.05), 0 6px 20px rgba(0,0,0,0.07);
  --shadow-lift: 0 20px 56px rgba(0,0,0,0.13);
  --noise: 0;
  --photo-f: contrast(1.02) brightness(1.0) saturate(0.97);
}

html { scroll-behavior: smooth; }

body {
  background: var(--bg);
  color: var(--white);
  /* DM Sans — geometric, neutral, close to Helvetica Now feel */
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  transition: background .4s ease, color .4s ease;
}

/* ── CURSOR ── */
.cur { width:8px;height:8px;background:var(--gold);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .15s,height .15s,opacity .15s; }
.cur-ring { width:32px;height:32px;border:1px solid rgba(200,165,106,.28);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%); }
@media (pointer:coarse) { .cur,.cur-ring { display:none; } }

/* ── NOISE ── */
.noise { position:fixed;inset:0;pointer-events:none;z-index:901;opacity:var(--noise);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");transition:opacity .4s; }

/* ── NAV ── */
nav {
  position:fixed;top:0;left:0;right:0;z-index:300;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 52px;height:68px;
  transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;
}
nav.solid {
  background:var(--nav-bg);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  border-bottom:1px solid var(--border);
}
.nav-brand { display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0; }
.nav-avatar { width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:center top;border:1px solid var(--border);flex-shrink:0;transition:border-color .3s; }
.nav-name { font-size:.85rem;font-weight:600;color:var(--white);letter-spacing:-.015em;transition:color .3s;line-height:1.2; }
.nav-role { font-size:.72rem;color:var(--muted);letter-spacing:.01em;transition:color .3s;margin-top:1px; }
.nav-right { display:flex;align-items:center;gap:2px; }
.nav-links { display:flex;gap:2px;list-style:none; }
.nav-links a { padding:7px 13px;border-radius:6px;font-size:.78rem;font-weight:500;color:var(--white);opacity:.72;text-decoration:none;letter-spacing:-.01em;transition:all .18s; }
.nav-links a:hover { color:var(--white);opacity:1;background:rgba(128,128,128,.07); }
.nav-cta { background:var(--gold)!important;color:#fff!important;font-weight:600!important;border-radius:6px; }
[data-theme="dark"] .nav-cta { color:#06060a!important; }
.nav-cta:hover { background:var(--gold-light)!important;transform:translateY(-1px);box-shadow:0 4px 16px rgba(200,165,106,.22)!important; }

.nav-controls { display:flex;align-items:center;gap:6px;margin-left:10px; }
.icon-btn {
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:7px;
  border:1px solid var(--border);background:transparent;
  cursor:pointer;color:var(--muted);font-size:.95rem;
  transition:all .18s;flex-shrink:0;
}
.icon-btn:hover { border-color:var(--border-hover);color:var(--white);background:rgba(128,128,128,.06); }
.icon-sun { display:none; }
.icon-moon { display:block; }
[data-theme="light"] .icon-sun { display:block; }
[data-theme="light"] .icon-moon { display:none; }

/* HAMBURGER */
.hamburger { display:none;flex-direction:column;gap:4.5px;padding:9px; }
.hamburger span { display:block;width:16px;height:1.5px;background:var(--muted);border-radius:2px;transition:all .22s ease;transform-origin:center; }
.hamburger.open span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0;transform:scaleX(0); }
.hamburger.open span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

/* MOBILE MENU */
.mobile-menu {
  display:none;position:fixed;
  top:68px;left:0;right:0;z-index:299;
  background:var(--nav-bg);
  backdrop-filter:blur(24px) saturate(160%);
  -webkit-backdrop-filter:blur(24px) saturate(160%);
  border-bottom:1px solid var(--border);
  padding:12px 20px 20px;
  flex-direction:column;gap:2px;
  animation:slideDown .22s ease;
}
.mobile-menu.open { display:flex; }
.mobile-menu a { padding:11px 14px;border-radius:7px;font-size:.88rem;font-weight:500;color:var(--white);opacity:.75;text-decoration:none;transition:all .18s; }
.mobile-menu a:hover { color:var(--white);opacity:1;background:rgba(128,128,128,.07); }
.mob-divider { height:1px;background:var(--border);margin:8px 0; }
.mob-cta { background:var(--gold)!important;color:#fff!important;font-weight:600!important;text-align:center;margin-top:4px;border-radius:7px; }
[data-theme="dark"] .mob-cta { color:#06060a!important; }
@keyframes slideDown { from{opacity:0;transform:translateY(-6px)} to{opacity:1;transform:translateY(0)} }

/* ── HERO ── */
#hero {
  min-height:100vh;
  display:grid;grid-template-columns:1fr 448px;
  align-items:center;padding:116px 52px 80px;
  position:relative;overflow:hidden;gap:0;
}
.hero-glow1 { position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 60% at -5% 40%,rgba(200,165,106,.055) 0%,transparent 65%); }
.hero-glow2 { position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 50% 50% at 80% 80%,rgba(79,100,200,.025) 0%,transparent 60%); }
[data-theme="light"] .hero-glow1 { background:radial-gradient(ellipse 70% 60% at -5% 40%,rgba(154,111,56,.06) 0%,transparent 65%); }

.hero-left { position:relative;z-index:2;max-width:620px; }

.hero-badge {
  display:inline-flex;align-items:center;gap:10px;
  padding:6px 16px;
  border:1px solid var(--border);border-radius:100px;
  margin-bottom:30px;
  font-size:.72rem;font-weight:500;
  color:var(--gold);letter-spacing:.04em;
  background:var(--gold-dim);
  animation:fadeUp .6s ease .1s both;
}

.hero-h1 {
  font-family:'Instrument Serif',serif;
  font-size:clamp(3rem,6.2vw,5.4rem);
  font-weight:400;line-height:1.04;letter-spacing:-.03em;
  margin-bottom:24px;color:var(--white);
  animation:fadeUp .7s ease .18s both;
}
.hero-h1 em { font-style:italic;color:var(--gold); }

.hero-sub {
  font-size:1.1rem;color:var(--muted);line-height:1.78;
  max-width:500px;margin-bottom:44px;
  animation:fadeUp .7s ease .3s both;
}
.hero-sub strong { color:var(--white);font-weight:500; }

.hero-actions { display:flex;gap:10px;flex-wrap:wrap;animation:fadeUp .7s ease .42s both; }
.btn {
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 22px;border-radius:7px;
  font-size:.84rem;font-weight:600;text-decoration:none;
  transition:all .18s;letter-spacing:-.01em;cursor:pointer;border:none;
  font-family:inherit;
}
.btn-gold { background:var(--gold);color:#06060a; }
[data-theme="light"] .btn-gold { color:#fff; }
.btn-gold:hover { background:var(--gold-light);transform:translateY(-2px);box-shadow:0 6px 24px rgba(200,165,106,.2); }
.btn-outline { border:1px solid var(--border);color:var(--muted);background:transparent; }
.btn-outline:hover { border-color:var(--border-hover);color:var(--white);background:rgba(128,128,128,.05); }
.btn-arrow { transition:transform .18s; }
.btn:hover .btn-arrow { transform:translateX(3px); }

.hero-stats {
  display:flex;gap:0;margin-top:52px;
  padding-top:44px;border-top:1px solid var(--border);
  animation:fadeUp .7s ease .54s both;
}
.hero-stat { flex:1;padding-right:28px;border-right:1px solid var(--border);margin-right:28px; }
.hero-stat:last-child { border-right:none;padding-right:0;margin-right:0; }
.hero-stat-n {
  font-family:'Instrument Serif',serif;
  font-size:2.2rem;color:var(--white);line-height:1;
  letter-spacing:-.03em;margin-bottom:5px;
}
.hero-stat-n span { color:var(--gold); }
.hero-stat-l { font-size:.74rem;font-weight:500;color:var(--muted);letter-spacing:.01em;line-height:1.4; }

.hero-right { position:relative;z-index:2;display:flex;justify-content:flex-end;align-items:center; }
.hero-photo-wrap {
  position:relative;width:364px;
  animation:fadeIn .9s ease .5s both;
}
.photo-frame {
  position:absolute;inset:-1px;border-radius:14px;z-index:1;pointer-events:none;
  background:linear-gradient(140deg,rgba(200,165,106,.25) 0%,transparent 50%,rgba(200,165,106,.06) 100%);
}
[data-theme="light"] .photo-frame { background:linear-gradient(140deg,rgba(154,111,56,.18) 0%,transparent 50%,rgba(154,111,56,.04) 100%); }
.hero-photo { width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;border-radius:14px;display:block;filter:var(--photo-f);transition:filter .4s; }
.hero-photo-card {
  position:absolute;bottom:22px;left:-48px;z-index:3;
  background:var(--surface);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--border);border-radius:10px;
  padding:14px 18px;min-width:190px;
  box-shadow:var(--shadow-card);
  animation:fadeUp .7s ease .85s both;
  transition:background .4s,border-color .4s;
}
.pcard-label { font-size:.62rem;font-weight:600;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px; }
.pcard-val { font-size:.84rem;font-weight:600;color:var(--white);line-height:1.3; }
.pcard-sub { font-size:.72rem;color:var(--muted);margin-top:2px; }

/* ── MARQUEE ── */
.marquee-wrap {
  overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:15px 0;background:var(--surface);transition:background .4s;
}
.marquee-track { display:flex;width:max-content;animation:marquee 32s linear infinite; }
.marquee-item { display:flex;align-items:center;gap:12px;padding:0 28px;white-space:nowrap;font-size:.68rem;font-weight:500;color:var(--muted);letter-spacing:.1em;text-transform:uppercase; }
.msep { color:var(--gold);font-size:.4rem; }

/* ── SECTIONS ── */
section { padding:96px 52px;transition:background .4s,border-color .4s; }
.section-eyebrow {
  display:inline-flex;align-items:center;gap:8px;
  font-size:.72rem;font-weight:600;
  color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;
}
.section-eyebrow::before { content:'';width:18px;height:1px;background:var(--gold); }
.section-h2 {
  font-family:'Instrument Serif',serif;
  font-size:clamp(2.2rem,4vw,3.6rem);
  font-weight:400;line-height:1.08;letter-spacing:-.03em;
  margin-bottom:18px;color:var(--white);
}
.section-h2 em { font-style:italic;color:var(--gold); }
.section-lead { font-size:1rem;color:var(--muted);line-height:1.82;max-width:480px; }

/* ── ABOUT ── */
#about { border-top:1px solid var(--border); }
.about-grid { display:grid;grid-template-columns:1.1fr 0.9fr;gap:88px;align-items:start;margin-top:68px; }
.about-body p { font-size:1rem;color:var(--muted);line-height:1.88;margin-bottom:16px; }
.about-body p strong { color:var(--white);font-weight:600; }
.blockquote {
  margin:32px 0;padding:22px 26px;
  border-left:2px solid var(--gold);
  background:var(--gold-dim);
  border-radius:0 8px 8px 0;
}
[data-theme="light"] .blockquote {
  background:rgba(138,95,40,0.07);
  border-left-color:var(--gold);
}
.blockquote p {
  font-family:'Instrument Serif',serif;
  font-size:1.28rem;font-style:italic;
  color:var(--white)!important;line-height:1.52;margin:0!important;
}

.info-stack { display:flex;flex-direction:column;gap:1px; }
.info-card {
  background:var(--surface);border:1px solid var(--border);
  padding:22px 26px;transition:all .22s;cursor:default;
}
.info-card:first-child { border-radius:10px 10px 0 0; }
.info-card:last-child { border-radius:0 0 10px 10px; }
.info-card:hover { background:var(--surface2);border-color:var(--border-hover); }
.info-label { display: flex; gap: 8px; font-size:.63rem;font-weight:600;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px; }
.info-val { font-size:.9rem;color:var(--muted);line-height:1.72; }
.info-val strong { color:var(--white);display:block;font-weight:600;margin-bottom:1px; }

/* ── EXPERTISE ── */
#expertise { background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border); }
.two-col-header { display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:end;margin-bottom:60px; }
.expertise-grid {
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--border);border-radius:10px;overflow:hidden;
}
.exp-card {
  background:var(--surface2);padding:34px 28px;
  transition:background .22s;cursor:default;position:relative;overflow:hidden;
}
.exp-card::after { content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .28s ease; }
.exp-card:hover { background:var(--surface3); }
.exp-card:hover::after { transform:scaleX(1); }
.exp-icon { margin-bottom:18px;display:block;line-height:0; }
.exp-n { font-size:.6rem;font-weight:600;color:var(--faint);letter-spacing:.12em;margin-bottom:7px;text-transform:uppercase; }
.exp-title { font-size:.9rem;font-weight:600;margin-bottom:9px;color:var(--white);letter-spacing:-.01em; }
.exp-desc { font-size:.875rem;color:var(--muted);line-height:1.72; }

/* ── NUMBERS ── */
#numbers { background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border); }
.numbers-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border-radius:14px;overflow:hidden;margin-top:52px; }
.num-card { background:var(--surface2);padding:40px 32px;text-align:center;transition:background .22s;cursor:default; }
.num-card:hover { background:var(--surface3); }
.num-big {
  font-family:'Instrument Serif',serif;
  font-size:3.2rem;font-weight:400;line-height:1;
  color:var(--white);letter-spacing:-.04em;margin-bottom:10px;
}
.num-big em { font-style:italic;color:var(--gold); }
.num-label { font-size:.84rem;color:var(--muted);line-height:1.52; }

/* ── TIMELINE ── */
#timeline { border-top:1px solid var(--border); }
.tl-wrap { position:relative; }
.tl-wrap::before { content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,var(--gold) 0%,rgba(200,165,106,.1) 80%,transparent 100%); }
.tl-entry { display:grid;grid-template-columns:168px 1fr;gap:32px;padding:32px 0 32px 36px;border-bottom:1px solid var(--border);position:relative;transition:all .22s; }
.tl-entry:last-child { border-bottom:none; }
.tl-entry::before { content:'';position:absolute;left:-5px;top:42px;width:10px;height:10px;border-radius:50%;border:1px solid var(--border);background:var(--bg);transition:all .28s; }
.tl-entry:hover::before { background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-dim); }
.tl-date { font-size:.67rem;font-weight:600;color:var(--gold);letter-spacing:.07em;line-height:1.5;margin-bottom:5px;text-transform:uppercase; }
.tl-co { font-size:.73rem;color:var(--muted);letter-spacing:.02em; }
.tl-role { font-size:1.05rem;font-weight:600;margin-bottom:7px;letter-spacing:-.01em;color:var(--white); }
.tl-desc { font-size:.9rem;color:var(--muted);line-height:1.76;margin-bottom:13px; }
.tl-chips { display:flex;flex-wrap:wrap;gap:5px; }
.chip { font-size:.62rem;font-weight:500;padding:3px 9px;border:1px solid var(--border);border-radius:4px;color:var(--muted);letter-spacing:.04em;transition:all .18s; }
.tl-entry:hover .chip { border-color:rgba(200,165,106,.16);color:var(--muted); }

/* ── MÍDIA ── */
#midia { background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border); }
/* CAROUSEL */
.midia-carousel-wrap { position:relative;margin-top:0;margin-left:-52px;margin-right:-52px;padding:8px 0 4px; }
.midia-carousel { display:flex;gap:20px;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scroll-padding-left:52px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:4px 52px 8px;scrollbar-width:none;cursor:grab; }
.midia-carousel.dragging { cursor:grabbing;scroll-behavior:auto;user-select:none; }
.midia-carousel::-webkit-scrollbar { display:none; }
.midia-card {
  flex:0 0 340px;scroll-snap-align:start;scroll-snap-stop:normal;
  background:var(--surface2);border:1px solid var(--border);border-radius:10px;
  overflow:hidden;display:flex;flex-direction:column;
  text-decoration:none;color:inherit;
  transition:border-color .25s,box-shadow .25s;
}
.midia-card:hover { border-color:rgba(200,165,106,.3);box-shadow:0 0 0 2px rgba(200,165,106,.18); }
.carousel-nav { display:flex;gap:10px;margin-top:28px;justify-content:center;align-items:center; }
.carousel-btn {
  width:48px;height:48px;border-radius:50%;
  border:1px solid var(--border);
  background:var(--surface);cursor:pointer;color:var(--white);
  display:flex;align-items:center;justify-content:center;
  transition:all .22s;flex-shrink:0;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.carousel-btn:hover { border-color:var(--gold);color:var(--gold);background:var(--gold-dim);transform:scale(1.06);box-shadow:0 4px 16px rgba(0,0,0,.22); }
[data-theme="light"] .carousel-btn { box-shadow:0 2px 8px rgba(0,0,0,.08); }
@media(max-width:720px) { .midia-card { flex:0 0 288px; } }
.midia-thumb {
  width:100%;aspect-ratio:16/9;position:relative;overflow:hidden;flex-shrink:0;
}
.midia-thumb-inner {
  width:100%;height:100%;transition:transform .4s ease;
  display:flex;align-items:center;justify-content:center;
}
.midia-card:hover .midia-thumb-inner { transform:scale(1.04); }
/* Styled placeholder gradients per card */
.thumb-1 { background:linear-gradient(135deg,#1a1a2e 0%,#16213e 40%,#0f3460 100%); }
.thumb-2 { background:linear-gradient(135deg,#0d1117 0%,#161b22 40%,#1c2128 100%); }
.thumb-3 { background:linear-gradient(135deg,#1a0a2e 0%,#2d1b69 50%,#1a0a2e 100%); }
.thumb-4 { background:linear-gradient(135deg,#0a2818 0%,#1a4a2e 50%,#0d3320 100%); }
.thumb-5 { background:linear-gradient(135deg,#2a1506 0%,#5c3317 50%,#2a1506 100%); }
.thumb-6 { background:linear-gradient(135deg,#1a1006 0%,#3d2c0f 50%,#1a1006 100%); }
[data-theme="light"] .thumb-1 { background:linear-gradient(135deg,#dce8f8 0%,#c5d9f2 40%,#aecaec 100%); }
[data-theme="light"] .thumb-2 { background:linear-gradient(135deg,#e8e8ec 0%,#d5d5de 40%,#c2c2ce 100%); }
[data-theme="light"] .thumb-3 { background:linear-gradient(135deg,#ede0f8 0%,#ddc7f4 50%,#cdb0ef 100%); }
[data-theme="light"] .thumb-4 { background:linear-gradient(135deg,#d5f0e2 0%,#b8e4cd 50%,#9dd8b8 100%); }
[data-theme="light"] .thumb-5 { background:linear-gradient(135deg,#fce8d5 0%,#f8d4b0 50%,#f4c08c 100%); }
[data-theme="light"] .thumb-6 { background:linear-gradient(135deg,#f5edd5 0%,#ede0b8 50%,#e4d39c 100%); }
.thumb-icon {
  font-size:2rem;opacity:.35;
  transition:opacity .25s;
  filter:grayscale(0.2);
}
.midia-card:hover .thumb-icon { opacity:.55; }
.midia-body { padding:20px; flex:1; display:flex; flex-direction:column; gap:8px; background:var(--surface2); transition:background .4s; }
.midia-source { display:inline-flex;align-items:center;gap:5px;font-size:.62rem;font-weight:600;color:var(--gold);letter-spacing:.09em;text-transform:uppercase; }
.midia-source::before { content:'';width:4px;height:4px;border-radius:50%;background:var(--gold);flex-shrink:0; }
.midia-title { font-size:.95rem;font-weight:600;line-height:1.42;color:var(--white); }
.midia-desc { font-size:.84rem;color:var(--muted);line-height:1.65;flex:1; }
.midia-link { display:inline-flex;align-items:center;gap:5px;font-size:.76rem;font-weight:600;color:var(--gold);margin-top:2px;transition:gap .18s;letter-spacing:-.005em; }
.midia-card:hover .midia-link { gap:9px; }

/* ── RECOGNITION ── */
#recognition { border-top:1px solid var(--border); }
.rec-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border-radius:10px;overflow:hidden;margin-top:52px; }
.rec-card { background:var(--surface);padding:28px 26px;display:flex;gap:18px;align-items:flex-start;transition:background .22s; }
.rec-card:hover { background:var(--surface2); }
.rec-ico { flex-shrink:0;margin-top:2px;width:44px;height:44px;border-radius:10px;border:1px solid rgba(200,165,106,.3);background:var(--gold-dim);display:flex;align-items:center;justify-content:center; }
.rec-ico svg { width:22px;height:22px; }
.rec-title { font-size:.88rem;font-weight:600;margin-bottom:5px;line-height:1.38;color:var(--white); }
.rec-org { font-size:.63rem;font-weight:600;color:var(--gold);letter-spacing:.1em;text-transform:uppercase; }
.rec-desc { font-size:.85rem;color:var(--muted);margin-top:7px;line-height:1.62; }
.certs-flex { display:flex;flex-wrap:wrap;gap:7px;margin-top:44px; }
.cert { display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--border);border-radius:100px;font-size:.76rem;font-weight:500;color:var(--white);transition:all .18s; }
.cert:hover { border-color:rgba(200,165,106,.28);color:var(--white); }
.cert-dot { width:4px;height:4px;border-radius:50%;background:var(--gold);flex-shrink:0; }

/* ── CONTACT ── */
#contact { border-top:1px solid var(--border);position:relative;overflow:hidden;padding:112px 52px; }
.contact-glow { position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 55% 65% at 50% 105%,rgba(200,165,106,.055) 0%,transparent 70%); }
.contact-inner { max-width:1060px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:start;position:relative; }
.contact-sub { font-size:1rem;color:var(--muted);line-height:1.82;margin-bottom:36px; }
.contact-info { display:flex;flex-direction:column;gap:10px; }
.cinfo-item { display:flex;align-items:center;gap:13px;padding:14px 18px;border:1px solid var(--border);border-radius:9px;background:var(--surface);text-decoration:none;color:var(--muted);font-size:.84rem;transition:all .22s; }
.cinfo-item:hover { border-color:rgba(200,165,106,.22);color:var(--white);background:var(--surface2); }
.cinfo-icon { font-size:1.1rem;flex-shrink:0; }
.cinfo-label { font-size:.6rem;font-weight:600;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:2px; }

/* FORM */
.contact-form { display:flex;flex-direction:column;gap:14px; }
.form-group { display:flex;flex-direction:column;gap:5px; }
.form-label { font-size:.63rem;font-weight:600;color:var(--gold);letter-spacing:.12em;text-transform:uppercase; }
.form-input,.form-select,.form-textarea {
  background:var(--surface);border:1px solid var(--border);
  border-radius:7px;padding:11px 14px;
  font-family:inherit;font-size:.9rem;
  color:var(--white);outline:none;
  transition:border-color .2s,box-shadow .2s,background .4s;
  appearance:none;-webkit-appearance:none;width:100%;
}
.form-input::placeholder,.form-textarea::placeholder { color:var(--faint); }
.form-input:focus,.form-select:focus,.form-textarea:focus { border-color:rgba(200,165,106,.4);box-shadow:0 0 0 3px var(--gold-dim); }
.form-select {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23c8a56a' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;
  padding-right:36px;cursor:pointer;
}
[data-theme="light"] .form-select {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238a5f28' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}
.form-select option { background:var(--surface2);color:var(--white); }
[data-theme="light"] .form-select option { background:#f0ece4;color:#1a1710; }
.form-textarea { resize:vertical;min-height:112px;line-height:1.65; }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.btn-submit {
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 24px;background:var(--gold);color:#06060a;
  border:none;border-radius:7px;font-family:inherit;
  font-size:.84rem;font-weight:700;cursor:pointer;
  transition:all .18s;letter-spacing:-.01em;
}
[data-theme="light"] .btn-submit { color:#fff; }
.btn-submit:hover { background:var(--gold-light);transform:translateY(-2px);box-shadow:0 6px 24px rgba(200,165,106,.2); }
.btn-submit:disabled { opacity:.45;cursor:not-allowed;transform:none; }
.form-success { display:none;padding:16px 20px;background:var(--gold-dim);border:1px solid rgba(200,165,106,.22);border-radius:8px;font-size:.85rem;color:var(--gold);text-align:center;line-height:1.5; }
.form-success.show { display:block; }

/* ── FOOTER ── */
footer { padding:24px 52px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center; }
.ft-left { font-size:.64rem;font-weight:500;color:var(--muted);letter-spacing:.07em; }
.ft-right { font-size:.64rem;font-weight:500;color:var(--muted);display:flex;gap:22px; }
.ft-right a { color:inherit;text-decoration:none;transition:color .18s; }
.ft-right a:hover { color:var(--muted); }

/* ── ANIMATIONS ── */
@keyframes fadeUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
@keyframes marquee { to{transform:translateX(-50%)} }

.reveal { opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease; }
.reveal.in { opacity:1;transform:none; }
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}

/* ── RESPONSIVE ── */
@media(max-width:1060px) {
  #hero { grid-template-columns:1fr;padding:110px 36px 72px; }
  .hero-right { display:none; }
  .about-grid,.two-col-header { grid-template-columns:1fr;gap:44px; }
  .expertise-grid { grid-template-columns:1fr 1fr; }
  .numbers-grid { grid-template-columns:1fr 1fr; }
  .rec-grid { grid-template-columns:1fr; }
  .midia-carousel { gap:12px;padding:4px 22px 8px;scroll-padding-left:22px; }
  .midia-carousel-wrap { margin-left:-22px;margin-right:-22px;padding:8px 0 4px; }
  .carousel-nav { padding:0; }
  .contact-inner { grid-template-columns:1fr;gap:44px; }
}
@media(max-width:720px) {
  nav { padding:0 20px; }
  nav.solid { padding:0 20px; }
  .nav-links { display:none; }
  .hamburger { display:flex; }
  section { padding:72px 22px; }
  #hero { padding:96px 22px 68px; }
  .hero-stats { flex-wrap:wrap;gap:0; }
  .hero-stat { min-width:40%;margin-bottom:16px; }
  .expertise-grid { grid-template-columns:1fr; }
  .numbers-grid { grid-template-columns:1fr 1fr; }
  .tl-entry { grid-template-columns:1fr;gap:3px;padding-left:26px; }
  .tl-date,.tl-co { display:inline; }
  .tl-co::before { content:' · '; }

  .form-row { grid-template-columns:1fr; }
  footer { padding:20px 22px;flex-direction:column;gap:8px;text-align:center; }
  .ft-right { gap:14px;flex-wrap:wrap;justify-content:center; }
}

/* ── ORNAMENTS ── */
.orn { position:absolute;pointer-events:none;opacity:.12;transition:opacity .4s; }
.orn-cross { width:20px;height:20px; }
.orn-cross line { stroke:var(--gold);stroke-width:1; }
.orn-ring { border-radius:50%;border:1px solid var(--gold); }
.orn-dots { display:grid;grid-template-columns:repeat(4,1fr);gap:5px; }
.orn-dot-item { width:3px;height:3px;border-radius:50%;background:var(--gold); }
[data-theme="light"] .orn { opacity:.22; }

/* Section top ornament lines */
.section-orn-line {
  display:inline-flex;align-items:center;gap:12px;margin-bottom:10px;
}
.section-orn-line::before, .section-orn-line::after {
  content:'';flex:0 0 40px;height:1px;
  background:linear-gradient(to right, transparent, var(--gold));
  opacity:.35;
}
.section-orn-line::after { background:linear-gradient(to left, transparent, var(--gold)); }
.section-orn-line span { font-size:.55rem;color:var(--gold);letter-spacing:.2em;opacity:.6; }

/* Hero corner ornaments */
.hero-orn-tl { position:absolute;top:72px;left:0;pointer-events:none;opacity:.08; }
.hero-orn-br { position:absolute;bottom:0;right:480px;pointer-events:none;opacity:.06; }
[data-theme="light"] .hero-orn-tl { opacity:.14; }
[data-theme="light"] .hero-orn-br { opacity:.09; }

/* ── LIGHT THEME SPECIFIC OVERRIDES ── */
[data-theme="light"] .exp-card { background:var(--surface2); }
[data-theme="light"] .exp-card:hover { background:var(--surface3); }
[data-theme="light"] .num-card { background:var(--surface2); }
[data-theme="light"] .num-card:hover { background:var(--surface3); }
[data-theme="light"] .rec-card { background:var(--surface); }
[data-theme="light"] .rec-card:hover { background:var(--surface2); }
[data-theme="light"] .info-card { background:var(--surface); }
[data-theme="light"] .info-card:hover { background:var(--surface2); }
[data-theme="light"] .cinfo-item { background:var(--surface); }
[data-theme="light"] .cinfo-item:hover { background:var(--surface2); }
[data-theme="light"] .form-input,
[data-theme="light"] .form-select,
[data-theme="light"] .form-textarea { background:var(--surface);color:var(--white); }
[data-theme="light"] .form-input::placeholder,
[data-theme="light"] .form-textarea::placeholder { color:var(--faint); }
[data-theme="light"] .form-input:focus,
[data-theme="light"] .form-select:focus,
[data-theme="light"] .form-textarea:focus {
  border-color:rgba(138,95,40,.4);
  box-shadow:0 0 0 3px rgba(138,95,40,.08);
}
[data-theme="light"] .btn-outline { border-color:var(--border);color:var(--white);opacity:.75; }
[data-theme="light"] .btn-outline:hover { opacity:1;border-color:var(--border-hover);background:rgba(0,0,0,.04); }
[data-theme="light"] .chip { border-color:var(--border);color:var(--muted); }
[data-theme="light"] .cert { border-color:var(--border);color:var(--white); }
[data-theme="light"] .hero-photo-card { background:rgba(255,255,255,.95); }
[data-theme="light"] .mobile-menu a { color:var(--white);opacity:.75; }
[data-theme="light"] .mobile-menu a:hover { opacity:1; }
[data-theme="light"] .nav-links a { color:var(--white);opacity:.7; }
[data-theme="light"] .nav-links a:hover { opacity:1; }
[data-theme="light"] .ft-left,
[data-theme="light"] .ft-right { color:var(--faint); }
[data-theme="light"] .ft-right a:hover { color:var(--muted); }
[data-theme="light"] .tl-entry::before { background:var(--surface); }
[data-theme="light"] .midia-card { background:var(--surface);border-color:var(--border); }
[data-theme="light"] .midia-card:hover { border-color:rgba(138,95,40,.3); }
[data-theme="light"] .hero-badge { border-color:rgba(138,95,40,.3);background:rgba(138,95,40,.07); }
[data-theme="light"] .marquee-wrap { background:var(--surface2); }
[data-theme="light"] #expertise,
[data-theme="light"] #numbers,
[data-theme="light"] #midia { background:var(--surface); }
[data-theme="light"] .expertise-grid { background:var(--border); }
[data-theme="light"] .numbers-grid { background:var(--border); }
[data-theme="light"] .rec-grid { background:var(--border); }
[data-theme="light"] .form-success { background:rgba(138,95,40,.08);border-color:rgba(138,95,40,.2);color:var(--gold); }
[data-theme="light"] .carousel-btn { background:var(--surface);color:var(--white); }
[data-theme="light"] .carousel-btn:hover { background:rgba(138,95,40,.08);border-color:var(--gold);color:var(--gold); }

/* ── ACCESSIBILITY: Focus states ── */
:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 4px;
}
button:focus-visible,
a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
