@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Montserrat:wght@200;300;400;500&family=Cormorant+Garamond:ital,wght@1,300;1,400&display=swap');

:root {
  --navy:        #060e1e;
  --navy-mid:    #091428;
  --navy-light:  #0d1e3a;
  --gold:        #c49b4b;
  --gold-light:  #d4ae62;
  --gold-dim:    rgba(196,155,75,0.18);
  --gold-trace:  rgba(196,155,75,0.07);
  --ivory:       #ede8dc;
  --ivory-dim:   rgba(237,232,220,0.6);
  --ivory-ghost: rgba(237,232,220,0.12);
  --text-sub:    rgba(196,180,148,0.5);
  --page-bg:     #030609;
}

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

html { scroll-behavior: smooth; }

body {
  background: var(--page-bg);
  font-family: 'Montserrat', sans-serif;
  color: var(--ivory);
  overflow-x: hidden;
}

a { text-decoration: none; color: inherit; }

/* ── GRID OVERLAY ── */
.grid-bg {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(196,155,75,0.014) 1px, transparent 1px),
    linear-gradient(90deg, rgba(196,155,75,0.014) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
}

/* ── NAV ── */
.vst-nav {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 60px;
  border-bottom: 1px solid rgba(196,155,75,0.1);
  background: rgba(3,6,9,0.95);
  position: sticky; top: 0; z-index: 100;
  backdrop-filter: blur(8px);
}
.nav-logo { display: flex; align-items: center; gap: 14px; }
.nav-logo-text { font-family: 'Cinzel', serif; font-size: 11px; letter-spacing: 4px; color: var(--ivory-dim); text-transform: uppercase; line-height: 1.5; }
.nav-logo-sub  { font-size: 7px; letter-spacing: 5px; color: rgba(196,155,75,0.38); text-transform: uppercase; }
.nav-links { display: flex; gap: 36px; }
.nav-links a { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: rgba(196,180,148,0.45); transition: color .2s; }
.nav-links a:hover, .nav-links a.active { color: var(--gold-light); }
.nav-right { display: flex; align-items: center; gap: 12px; }
.nav-cta {
  font-family: 'Cinzel', serif; font-size: 9px; letter-spacing: 3px;
  color: var(--gold); border: 1px solid rgba(196,155,75,0.4);
  padding: 9px 22px; text-transform: uppercase; cursor: pointer;
  transition: background .2s;
}
.nav-cta:hover { background: rgba(196,155,75,0.08); }
.nav-hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; flex-shrink: 0; }
.nav-hamburger span { display: block; width: 24px; height: 1px; background: rgba(196,155,75,0.5); }
/* Lang toggle button in nav */
.lang-toggle { font-family:'Cinzel',serif; font-size:8px; letter-spacing:2px; background:none; border:1px solid rgba(196,155,75,.25); color:rgba(196,155,75,.6); padding:5px 12px; cursor:pointer; transition:all .2s; display:inline-flex; align-items:center; gap:5px; }
.lang-toggle:hover { color:var(--gold); border-color:rgba(196,155,75,.5); }
.lang-flag { font-size:12px; line-height:1; }
.lang-label { font-size:8px; letter-spacing:2px; }

/* ── SECTION COMMON ── */
.section { padding: 96px 60px; position: relative; }
.section-eyebrow { font-size: 8px; letter-spacing: 6px; color: rgba(196,155,75,0.3); text-transform: uppercase; margin-bottom: 14px; }
.section-title { font-family: 'Cinzel', serif; font-size: clamp(22px,3vw,38px); font-weight: 500; letter-spacing: 3px; color: var(--ivory); text-transform: uppercase; margin-bottom: 14px; line-height: 1.25; }
.section-title span { color: var(--gold); }
.section-rule { width: 40px; height: 1px; background: rgba(196,155,75,0.3); margin: 20px 0; }
.section-desc { font-size: 13px; font-weight: 300; color: var(--text-sub); line-height: 1.85; max-width: 560px; }

/* ── CORNER MARKS ── */
.cm-wrap { position: absolute; inset: 0; pointer-events: none; }
.cm { position: absolute; width: 16px; height: 16px; }
.cm::before, .cm::after { content: ''; position: absolute; background: var(--gold); opacity: .35; }
.cm::before { width: 100%; height: 1px; top: 0; left: 0; }
.cm::after  { width: 1px; height: 100%; top: 0; left: 0; }
.cm-tl { top: 14px; left: 14px; }
.cm-tr { top: 14px; right: 14px; transform: scaleX(-1); }
.cm-bl { bottom: 14px; left: 14px; transform: scaleY(-1); }
.cm-br { bottom: 14px; right: 14px; transform: scale(-1); }

/* ── BUTTON ── */
.btn-primary {
  display: inline-block; font-family: 'Cinzel', serif;
  font-size: 10px; letter-spacing: 3px; color: var(--navy);
  background: var(--gold); padding: 14px 36px; text-transform: uppercase;
  cursor: pointer; border: none; transition: background .2s;
}
.btn-primary:hover { background: var(--gold-light); }
.btn-ghost {
  display: inline-block; font-family: 'Cinzel', serif;
  font-size: 10px; letter-spacing: 3px; color: var(--gold);
  border: 1px solid rgba(196,155,75,0.35); padding: 14px 36px;
  text-transform: uppercase; cursor: pointer; background: transparent;
  transition: background .2s;
}
.btn-ghost:hover { background: rgba(196,155,75,0.07); }

/* ── STATS BAR ── */
.stats-bar {
  display: grid; grid-template-columns: repeat(4,1fr);
  border-top: 1px solid rgba(196,155,75,0.08);
  border-bottom: 1px solid rgba(196,155,75,0.08);
}
.stat-cell { padding: 30px 40px; text-align: center; border-right: 1px solid rgba(196,155,75,0.07); }
.stat-cell:last-child { border-right: none; }
.stat-num   { font-family: 'Cinzel', serif; font-size: 32px; font-weight: 600; color: var(--gold); letter-spacing: 2px; }
.stat-label { font-size: 8px; letter-spacing: 4px; color: rgba(196,180,148,0.3); text-transform: uppercase; margin-top: 8px; }

/* ── SERVICES GRID ── */
.services-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 56px; border: 1px solid rgba(196,155,75,0.08); }
.service-card { background: rgba(196,155,75,0.018); padding: 40px 32px; border-right: 1px solid rgba(196,155,75,0.06); position: relative; transition: background .3s; }
.service-card:nth-child(3n) { border-right: none; }
.service-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,rgba(196,155,75,.18),transparent); }
.service-card:hover { background: rgba(196,155,75,0.04); }
.service-num  { font-family: 'Cinzel', serif; font-size: 8px; letter-spacing: 4px; color: rgba(196,155,75,0.22); margin-bottom: 14px; }
.service-name { font-family: 'Cinzel', serif; font-size: 15px; font-weight: 500; letter-spacing: 2px; color: var(--ivory); margin-bottom: 14px; text-transform: uppercase; }
.service-desc { font-size: 11px; font-weight: 300; color: var(--text-sub); line-height: 1.8; }
.service-tag  { display: inline-block; font-size: 7px; letter-spacing: 3px; color: rgba(196,155,75,0.32); border: 1px solid rgba(196,155,75,0.14); padding: 5px 12px; margin-top: 22px; text-transform: uppercase; }

/* ── PROCESS ── */
.process-section { background: rgba(196,155,75,0.015); border-top: 1px solid rgba(196,155,75,0.07); border-bottom: 1px solid rgba(196,155,75,0.07); }
.process-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; margin-top: 60px; position: relative; }
.process-steps::before { content:''; position:absolute; top:20px; left:12%; right:12%; height:1px; background:linear-gradient(90deg,transparent,rgba(196,155,75,.18) 20%,rgba(196,155,75,.18) 80%,transparent); }
.process-step { padding-right: 24px; }
.step-dot { width:40px; height:40px; border:1px solid rgba(196,155,75,.25); display:flex; align-items:center; justify-content:center; margin-bottom:22px; background:var(--page-bg); }
.step-dot-inner { width:8px; height:8px; background:var(--gold); opacity:.7; transform:rotate(45deg); }
.step-num   { font-family:'Cinzel',serif; font-size:8px; letter-spacing:3px; color:rgba(196,155,75,.28); margin-bottom:8px; }
.step-title { font-family:'Cinzel',serif; font-size:14px; font-weight:500; letter-spacing:1.5px; color:var(--ivory); margin-bottom:10px; text-transform:uppercase; }
.step-desc  { font-size:11px; font-weight:300; color:var(--text-sub); line-height:1.75; }

/* ── WHY VST ── */
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.why-points { display:flex; flex-direction:column; gap:26px; margin-top:36px; }
.why-point  { display:flex; gap:18px; align-items:flex-start; }
.why-tick   { width:18px; height:18px; border:1px solid rgba(196,155,75,.28); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; }
.why-tick-inner { width:6px; height:6px; background:var(--gold); opacity:.7; transform:rotate(45deg); }
.why-point-title { font-family:'Cinzel',serif; font-size:12px; letter-spacing:2px; color:var(--ivory); margin-bottom:5px; text-transform:uppercase; }
.why-point-desc  { font-size:11px; font-weight:300; color:var(--text-sub); line-height:1.7; }

/* ── PORTFOLIO ── */
.portfolio-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:52px; }
.port-card { border:1px solid rgba(196,155,75,.1); background:rgba(196,155,75,.02); overflow:hidden; cursor:pointer; }
.port-thumb { height:200px; display:flex; align-items:center; justify-content:center; background:var(--navy-light); position:relative; overflow:hidden; }
.port-overlay { position:absolute; inset:0; background:rgba(196,155,75,.08); opacity:0; transition:opacity .3s; display:flex; align-items:center; justify-content:center; }
.port-card:hover .port-overlay { opacity:1; }
.port-overlay-txt { font-family:'Cinzel',serif; font-size:9px; letter-spacing:3px; color:var(--gold); border:1px solid rgba(196,155,75,.3); padding:8px 18px; text-transform:uppercase; }
.port-info { padding:20px 24px; }
.port-tag   { font-size:7px; letter-spacing:3px; color:rgba(196,155,75,.3); text-transform:uppercase; margin-bottom:8px; }
.port-title { font-family:'Cinzel',serif; font-size:13px; letter-spacing:1.5px; color:var(--ivory); text-transform:uppercase; }
.port-desc  { font-size:11px; font-weight:300; color:var(--text-sub); margin-top:8px; line-height:1.6; }

/* ── TESTIMONIALS ── */
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:52px; }
.testi-card { border:1px solid rgba(196,155,75,.08); background:rgba(196,155,75,.018); padding:36px 28px; position:relative; }
.testi-quote { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:15px; color:rgba(237,232,220,.55); line-height:1.75; margin-bottom:28px; }
.testi-rule { width:24px; height:1px; background:rgba(196,155,75,.3); margin-bottom:16px; }
.testi-name  { font-family:'Cinzel',serif; font-size:11px; letter-spacing:2px; color:var(--ivory); text-transform:uppercase; }
.testi-role  { font-size:9px; letter-spacing:2px; color:rgba(196,155,75,.35); text-transform:uppercase; margin-top:4px; }
.testi-mark  { position:absolute; top:24px; right:24px; font-family:'Cinzel',serif; font-size:48px; color:rgba(196,155,75,.06); line-height:1; }

/* ── CONTACT FORM ── */
.contact-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:80px; align-items:start; }
.contact-info { }
.contact-details { display:flex; flex-direction:column; gap:24px; margin-top:40px; }
.contact-detail-row { display:flex; gap:16px; align-items:flex-start; }
.c-icon { width:36px; height:36px; border:1px solid rgba(196,155,75,.2); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.c-key   { font-size:7px; letter-spacing:3px; color:rgba(196,155,75,.32); text-transform:uppercase; margin-bottom:4px; }
.c-val   { font-size:12px; font-weight:300; color:var(--text-sub); }

.contact-form { }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.form-group { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
.form-group label { font-size:8px; letter-spacing:4px; color:rgba(196,155,75,.32); text-transform:uppercase; }
.form-group input,
.form-group select,
.form-group textarea {
  background: rgba(196,155,75,.025);
  border: 1px solid rgba(196,155,75,.15);
  color: var(--ivory);
  font-family: 'Montserrat', sans-serif;
  font-size: 12px; font-weight: 300;
  padding: 12px 16px;
  outline: none;
  transition: border-color .2s;
  width: 100%;
  resize: none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color: rgba(196,155,75,.4); }
.form-group select option { background: var(--navy-mid); }
.form-submit { width: 100%; margin-top: 8px; }
.form-note { font-size:9px; font-weight:300; color:rgba(196,180,148,.25); margin-top:12px; letter-spacing:.5px; }
.form-success { display:none; text-align:center; padding:40px; border:1px solid rgba(196,155,75,.2); }
.form-success-title { font-family:'Cinzel',serif; font-size:18px; letter-spacing:3px; color:var(--gold); margin-bottom:12px; text-transform:uppercase; }
.form-success-msg { font-size:12px; font-weight:300; color:var(--text-sub); line-height:1.7; }

/* ── CTA BANNER ── */
.cta-section { padding:96px 60px; text-align:center; background:rgba(196,155,75,.015); border-top:1px solid rgba(196,155,75,.08); position:relative; overflow:hidden; }
.cta-tagline { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(16px,2.5vw,26px); color:rgba(196,155,75,.6); margin-bottom:28px; letter-spacing:2px; position:relative; z-index:1; }
.cta-title   { font-family:'Cinzel',serif; font-size:clamp(22px,4vw,46px); font-weight:600; letter-spacing:4px; color:var(--ivory); text-transform:uppercase; margin-bottom:14px; position:relative; z-index:1; }
.cta-title span { color:var(--gold); }
.cta-sub    { font-size:12px; font-weight:300; color:var(--text-sub); margin-bottom:48px; position:relative; z-index:1; letter-spacing:.5px; }
.cta-btns   { display:flex; gap:20px; justify-content:center; position:relative; z-index:1; }

/* ── FOOTER ── */
.vst-footer { padding:56px 60px 36px; border-top:1px solid rgba(196,155,75,.08); }
.footer-top { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; margin-bottom:56px; }
.footer-brand { }
.footer-logo { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.footer-brand-name { font-family:'Cinzel',serif; font-size:11px; letter-spacing:4px; color:var(--ivory-dim); text-transform:uppercase; line-height:1.5; }
.footer-brand-sub  { font-size:7px; letter-spacing:5px; color:rgba(196,155,75,.35); text-transform:uppercase; }
.footer-tagline { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:13px; color:rgba(196,155,75,.4); line-height:1.6; }
.footer-col-title { font-family:'Cinzel',serif; font-size:9px; letter-spacing:4px; color:rgba(196,155,75,.35); text-transform:uppercase; margin-bottom:20px; }
.footer-links { display:flex; flex-direction:column; gap:12px; }
.footer-links a { font-size:11px; font-weight:300; color:rgba(196,180,148,.3); transition:color .2s; letter-spacing:.5px; }
.footer-links a:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid rgba(196,155,75,.07); padding-top:24px; display:flex; justify-content:space-between; align-items:center; }
.footer-copy  { font-size:8px; letter-spacing:2px; color:rgba(154,154,154,.18); text-transform:uppercase; }
.footer-social { display:flex; gap:24px; }
.footer-social a { font-size:8px; letter-spacing:2px; color:rgba(196,180,148,.2); text-transform:uppercase; transition:color .2s; }
.footer-social a:hover { color:var(--gold); }

/* ── PAGE HERO (inner pages) ── */
.page-hero { padding:100px 60px 72px; position:relative; overflow:hidden; border-bottom:1px solid rgba(196,155,75,.08); }
.page-hero-eyebrow { font-size:8px; letter-spacing:6px; color:rgba(196,155,75,.3); text-transform:uppercase; margin-bottom:16px; }
.page-hero-title { font-family:'Cinzel',serif; font-size:clamp(28px,5vw,56px); font-weight:600; letter-spacing:5px; color:var(--ivory); text-transform:uppercase; line-height:1.15; margin-bottom:12px; }
.page-hero-title span { color:var(--gold); }
.page-hero-sub  { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(14px,1.8vw,20px); color:rgba(196,155,75,.55); letter-spacing:2px; }

/* ── ABOUT ── */
.about-intro { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-visual { display:flex; align-items:center; justify-content:center; }
.about-text p { font-size:13px; font-weight:300; color:var(--text-sub); line-height:1.9; margin-bottom:18px; }
.about-text p:first-child { font-size:15px; color:rgba(237,232,220,.65); }

.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:52px; }
.team-card { border:1px solid rgba(196,155,75,.1); background:rgba(196,155,75,.02); overflow:hidden; }
.team-photo { height:200px; background:var(--navy-light); display:flex; align-items:center; justify-content:center; }
.team-initials { font-family:'Cinzel',serif; font-size:36px; font-weight:600; color:rgba(196,155,75,.3); letter-spacing:4px; }
.team-info { padding:24px; }
.team-name  { font-family:'Cinzel',serif; font-size:14px; letter-spacing:2px; color:var(--ivory); text-transform:uppercase; margin-bottom:4px; }
.team-role  { font-size:9px; letter-spacing:2px; color:rgba(196,155,75,.4); text-transform:uppercase; margin-bottom:12px; }
.team-bio   { font-size:11px; font-weight:300; color:var(--text-sub); line-height:1.7; }

.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; border:1px solid rgba(196,155,75,.08); margin-top:52px; }
.value-cell { background:rgba(196,155,75,.018); padding:36px 28px; border-right:1px solid rgba(196,155,75,.06); }
.value-cell:last-child { border-right:none; }
.value-num   { font-family:'Cinzel',serif; font-size:8px; letter-spacing:4px; color:rgba(196,155,75,.2); margin-bottom:14px; }
.value-title { font-family:'Cinzel',serif; font-size:14px; letter-spacing:1.5px; color:var(--ivory); text-transform:uppercase; margin-bottom:10px; }
.value-desc  { font-size:11px; font-weight:300; color:var(--text-sub); line-height:1.75; }

/* ── MOBILE ── */
@media (max-width: 900px) {
  .vst-nav { padding: 16px 24px; gap: 0; }
  .nav-links, .nav-cta, .nav-login { display: none; }
  .nav-right { display: none !important; }
  .nav-hamburger { display: flex; margin-left: auto; }
  .mobile-menu {
    display: none; flex-direction: column; gap: 20px;
    position: fixed; top: 61px; left: 0; right: 0; bottom: 0;
    background: rgba(3,6,9,.97); padding: 40px 24px; z-index: 99;
  }
  .mobile-menu.open { display: flex; }
  .mobile-menu a { font-size: 14px; letter-spacing: 4px; text-transform: uppercase; color: rgba(196,180,148,.5); font-family:'Cinzel',serif; padding: 12px 0; border-bottom:1px solid rgba(196,155,75,.08); }

  .section { padding: 60px 24px; }
  .page-hero { padding: 60px 24px 48px; }
  .stats-bar { grid-template-columns: repeat(2,1fr); }
  .stat-cell { border-bottom: 1px solid rgba(196,155,75,.07); }
  .services-grid { grid-template-columns: 1fr; }
  .service-card { border-right: none; border-bottom: 1px solid rgba(196,155,75,.06); }
  .process-steps { grid-template-columns: 1fr; gap: 36px; }
  .process-steps::before { display: none; }
  .why-grid, .contact-grid, .about-intro { grid-template-columns: 1fr; gap: 40px; }
  .why-visual, .about-visual { display: none; }
  .portfolio-grid, .testi-grid, .team-grid { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom { flex-direction: column; gap: 16px; text-align: center; }
  .cta-btns { flex-direction: column; align-items: center; }
  .values-grid { grid-template-columns: repeat(2,1fr); }
  .form-row { grid-template-columns: 1fr; }
  .cta-section { padding: 60px 24px; }
  .vst-footer { padding: 40px 24px 24px; }
}

/* ── LOGIN NAV BUTTON ── */
.nav-login {
  font-family: 'Cinzel', serif; font-size: 9px; letter-spacing: 3px;
  color: rgba(196,155,75,0.55); text-transform: uppercase;
  padding: 8px 18px; border: 1px solid rgba(196,155,75,0.2);
  transition: all .2s;
}
.nav-login:hover { color: var(--gold); border-color: rgba(196,155,75,0.5); background: rgba(196,155,75,0.05); }

/* ── MOBILE MENU ── */
.mobile-menu {
  display: none; flex-direction: column;
  background: rgba(3,6,9,0.98); border-bottom: 1px solid rgba(196,155,75,0.1);
  padding: 20px 32px 28px; gap: 0;
}
.mobile-menu.open { display: flex; }
.mobile-menu a {
  font-size: 10px; letter-spacing: 3px; text-transform: uppercase;
  color: rgba(196,180,148,0.5); padding: 14px 0;
  border-bottom: 1px solid rgba(196,155,75,0.05);
  transition: color .2s;
}
.mobile-menu a:last-child { border-bottom: none; }
.mobile-menu a:hover { color: var(--gold); }
.mobile-lang-row { padding: 0 0 14px; border-bottom: 1px solid rgba(196,155,75,.08); margin-bottom: 4px; }

/* ── RESPONSIVE OVERRIDES ── */
@media (max-width: 900px) {
  .vst-nav { padding: 18px 24px; }
  .nav-links { display: none; }
  .nav-right { display: none !important; }
  .nav-login { display: none; }
  .nav-cta { display: none; }
  .nav-hamburger { display: flex; margin-left: auto; }
  .section { padding: 64px 24px; }
  .stats-bar { grid-template-columns: 1fr 1fr; }
  .services-grid { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: 1fr 1fr; gap: 32px; }
  .testi-grid { grid-template-columns: 1fr; }
  .portfolio-grid { grid-template-columns: 1fr 1fr; }
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .cta-section { padding: 72px 24px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 32px; }
  .why-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 560px) {
  .stats-bar { grid-template-columns: 1fr 1fr; }
  .portfolio-grid { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; }
}

/* ── CTA SECTION ── */
.cta-section { padding:96px 60px; text-align:center; position:relative; overflow:hidden; background:rgba(196,155,75,0.018); border-top:1px solid rgba(196,155,75,0.07); border-bottom:1px solid rgba(196,155,75,0.07); }
.cta-tagline { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:16px; color:rgba(196,155,75,0.4); letter-spacing:3px; margin-bottom:20px; }
.cta-title { font-family:'Cinzel',serif; font-size:clamp(24px,4vw,46px); font-weight:500; letter-spacing:4px; color:var(--ivory); text-transform:uppercase; margin-bottom:20px; }
.cta-title span { color:var(--gold); }
.cta-sub { font-size:13px; font-weight:300; color:var(--text-sub); margin-bottom:44px; }
.cta-btns { display:flex; gap:20px; align-items:center; justify-content:center; flex-wrap:wrap; }

/* ── FOOTER ── */
.vst-footer { background:rgba(196,155,75,0.012); border-top:1px solid rgba(196,155,75,0.08); padding:0; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:60px; padding:64px 60px 48px; }
.footer-brand { }
.footer-logo { display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.footer-brand-name { font-family:'Cinzel',serif; font-size:11px; letter-spacing:4px; color:rgba(237,232,220,.45); text-transform:uppercase; line-height:1.5; }
.footer-brand-sub  { font-size:7px; letter-spacing:5px; color:rgba(196,155,75,.3); text-transform:uppercase; }
.footer-tagline { font-size:11px; font-weight:300; color:rgba(196,180,148,.3); line-height:1.8; max-width:280px; }
.footer-col-title { font-family:'Cinzel',serif; font-size:8px; letter-spacing:4px; color:rgba(196,155,75,.28); text-transform:uppercase; margin-bottom:20px; }
.footer-links { display:flex; flex-direction:column; gap:10px; }
.footer-links a { font-size:11px; font-weight:300; color:rgba(196,180,148,.3); transition:color .2s; }
.footer-links a:hover { color:var(--gold); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; padding:20px 60px; border-top:1px solid rgba(196,155,75,.06); flex-wrap:wrap; gap:12px; }
.footer-copy { font-size:9px; letter-spacing:1.5px; color:rgba(196,155,75,.12); text-transform:uppercase; }
.footer-social { display:flex; gap:24px; }
.footer-social a { font-size:9px; letter-spacing:2px; color:rgba(196,155,75,.18); text-transform:uppercase; transition:color .2s; }
.footer-social a:hover { color:var(--gold); }

@media(max-width:900px){
  .footer-top { padding:48px 24px 36px; }
  .footer-bottom { padding:16px 24px; flex-direction:column; text-align:center; }
}

/* ── LANGUAGE TOGGLE ── */
.lang-toggle {
  display: flex; align-items: center; gap: 6px;
  background: rgba(196,155,75,0.06);
  border: 1px solid rgba(196,155,75,0.22);
  padding: 6px 14px; cursor: pointer;
  transition: all .2s; border-radius: 0;
  font-family: 'Cinzel', serif;
}
.lang-toggle:hover { background: rgba(196,155,75,0.14); border-color: rgba(196,155,75,0.5); }
.lang-flag { font-size: 16px; line-height: 1; }
.lang-label {
  font-size: 9px; letter-spacing: 3px; text-transform: uppercase;
  color: rgba(196,155,75,0.7); font-family: 'Cinzel', serif;
}
/* Slide-in animation when language changes */
[data-i18n] { transition: opacity 0.15s ease; }
.lang-changing [data-i18n] { opacity: 0; }

/* ── PWA / IOS / ANDROID MOBILE FIXES ── */
@supports (padding-top: env(safe-area-inset-top)) {
  .vst-nav {
    padding-left: max(60px, env(safe-area-inset-left));
    padding-right: max(60px, env(safe-area-inset-right));
  }
  body { padding-bottom: env(safe-area-inset-bottom); }
}
/* Touch-friendly tap targets */
.nav-links a, .nav-cta, .nav-login, .lang-toggle,
.btn-primary, .btn-ghost, .nav-hamburger { min-height: 44px; display: inline-flex; align-items: center; }
.nav-hamburger { min-height: 44px; justify-content: center; flex-direction: column; }
/* Smooth scrolling on iOS */
html { -webkit-overflow-scrolling: touch; }
/* Prevent font size inflation on iOS */
body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
/* Remove tap highlight on mobile */
* { -webkit-tap-highlight-color: transparent; }
/* Better mobile form inputs */
input, select, textarea, button {
  -webkit-appearance: none; appearance: none;
  border-radius: 0;
}

