/* Fonts — only weights used on this page */
@font-face { font-family:'Fraunces'; font-weight:500; font-display:swap; src:url('../fonts/fraunces-500.woff2') format('woff2'); }
@font-face { font-family:'Fraunces'; font-weight:700; font-display:swap; src:url('../fonts/fraunces-700.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:400; font-display:swap; src:url('../fonts/inter-400.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:500; font-display:swap; src:url('../fonts/inter-500.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:600; font-display:swap; src:url('../fonts/inter-600.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:700; font-display:swap; src:url('../fonts/inter-700.woff2') format('woff2'); }

/* Base */
*, *::before, *::after { box-sizing: border-box; }
body { font-family:'Inter', system-ui, sans-serif; color:#05050a; background:#fff; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5,h6 { font-family:'Fraunces', Georgia, serif; font-weight:500; }
img { display:block; max-width:100%; }
picture { display:contents; } /* transparent wrapper — img inherits parent layout */

/* Desktop font sizes */
@media (min-width:992px) {
  .text-h1    { font-size:4.5rem; }
  .text-h2    { font-size:3.25rem; }
  .text-h3    { font-size:2.75rem; }
  .text-h4    { font-size:2.25rem; }
  .text-h5    { font-size:1.75rem; }
  .text-h6    { font-size:1.375rem; }
  .text-large  { font-size:1.375rem; }
  .text-medium { font-size:1.125rem; }
}

/* Container */
.container { max-width:80rem; margin-inline:auto; width:100%; }

/* Schemes */
.scheme-1 { background-color:#ffffff; color:#05050a; }
.scheme-2 { background-color:#f2f2f2; color:#05050a; }
.scheme-3 { background-color:#d9d9da; color:#05050a; }
.scheme-4 { background-color:#2a380e; color:#ffffff; }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.75rem 1.5rem; border-radius:6px; font-weight:500; font-size:1rem; line-height:1; cursor:pointer; transition:all .2s; white-space:nowrap; text-decoration:none; font-family:'Inter',sans-serif; }
.btn-dark         { background:#05050a; color:#fff; border:1px solid #05050a; }
.btn-dark:hover   { background:#1e1e22; border-color:#1e1e22; }
.btn-outline      { background:transparent; color:#05050a; border:1px solid rgba(5,5,10,.25); }
.btn-outline:hover{ background:rgba(5,5,10,.05); }
.btn-outline-white      { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.45); }
.btn-outline-white:hover{ background:rgba(255,255,255,.1); }
.btn-white      { background:#fff; color:#05050a; border:1px solid #fff; }
.btn-white:hover{ background:#f2f2f2; }
.btn-link { background:none; border:none; padding:0; color:inherit; display:inline-flex; align-items:center; gap:.375rem; font-weight:500; cursor:pointer; text-decoration:none; font-family:'Inter',sans-serif; }
.btn-link:hover { opacity:.7; }

/* Card */
.card { border:1px solid rgba(5,5,10,.15); border-radius:8px; overflow:hidden; background:#fff; }

/* Tabs: horizontal */
.tab-content           { display:none; }
.tab-content.active    { display:block; }
.tab-trigger           { border-bottom:1.5px solid transparent; transition:border-color .2s; background:transparent; border-top:none; border-left:none; border-right:none; cursor:pointer; font-family:'Inter',sans-serif; color:#05050a; }
.tab-trigger.active    { border-bottom-color:#05050a; }

/* Tabs: vertical */
.tab-trigger-v         { border-left:2px solid transparent; transition:border-color .2s; background:transparent; border-top:none; border-right:none; border-bottom:none; cursor:pointer; font-family:'Inter',sans-serif; color:#05050a; text-align:left; }
.tab-trigger-v.active  { border-left-color:#05050a; }

/* Accordion */
.accordion-body        { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.accordion-body.open   { max-height:800px; }
.accordion-icon        { transition:transform .3s ease; flex-shrink:0; }
.accordion-item.open .accordion-icon { transform:rotate(180deg); }

/* Mobile nav */
.mobile-nav        { max-height:0; overflow:hidden; transition:max-height .35s ease; }
.mobile-nav.open   { max-height:600px; }

/* No scrollbar */
.no-scrollbar::-webkit-scrollbar { display:none; }
.no-scrollbar { -ms-overflow-style:none; scrollbar-width:none; }

/* Aspect ratios */
.ratio-video  { aspect-ratio:16/9; }
.ratio-square { aspect-ratio:1/1; }

html { scroll-behavior:smooth; }

/* ── Lead Form Popup ─────────────────────────────────────── */
.popup-backdrop {
  position:fixed; inset:0; z-index:200;
  background:rgba(5,5,10,.55); backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center; padding:1rem;
  opacity:0; pointer-events:none; transition:opacity .25s ease;
}
.popup-backdrop.open { opacity:1; pointer-events:all; }
.popup-card {
  background:#fff; border-radius:12px; width:100%; max-width:480px;
  box-shadow:0 24px 64px rgba(5,5,10,.2);
  transform:translateY(24px) scale(.97); transition:transform .25s ease;
  overflow:hidden;
}
.popup-backdrop.open .popup-card { transform:none; }
.popup-header {
  background:#2a380e; color:#fff;
  padding:1.5rem 1.5rem 1.25rem;
  display:flex; align-items:flex-start; justify-content:space-between; gap:1rem;
}
.popup-close {
  background:none; border:none; color:rgba(255,255,255,.7); cursor:pointer;
  padding:.25rem; line-height:1; flex-shrink:0; margin-top:.1rem;
  transition:color .15s;
}
.popup-close:hover { color:#fff; }
.popup-body { padding:1.5rem; }
.form-group { margin-bottom:1rem; }
.form-label { display:block; font-size:.875rem; font-weight:600; margin-bottom:.375rem; }
.form-input {
  display:block; width:100%; padding:.625rem .875rem;
  border:1px solid rgba(5,5,10,.2); border-radius:6px;
  font-size:1rem; font-family:'Inter',sans-serif; color:#05050a;
  transition:border-color .15s; background:#fff;
}
.form-input:focus { outline:none; border-color:#6B8E23; box-shadow:0 0 0 3px rgba(107,142,35,.15); }
.form-input::placeholder { color:#9ca3af; }
textarea.form-input { resize:vertical; min-height:90px; }
.popup-submit {
  width:100%; padding:.75rem 1.5rem; background:#2a380e; color:#fff;
  border:none; border-radius:6px; font-size:1rem; font-weight:600;
  font-family:'Inter',sans-serif; cursor:pointer; transition:background .2s;
  margin-top:.5rem;
}
.popup-submit:hover { background:#3a4f12; }
.popup-submit:disabled { opacity:.6; cursor:not-allowed; }
.form-error {
  display:none; color:#c53030; background:#fff5f5; border:1px solid #fed7d7;
  border-radius:6px; padding:.625rem .875rem; font-size:.875rem;
  margin-bottom:.75rem; line-height:1.5;
}
.form-error.show { display:block; }
.recaptcha-notice { font-size:.7rem; color:#9ca3af; text-align:center; margin-top:.5rem; line-height:1.5; }
.recaptcha-notice a { color:#6b7280; text-decoration:underline; }
.popup-thanks { display:none; text-align:center; padding:2rem 1.5rem; }
.popup-thanks.show { display:block; }
.popup-form-inner { transition:opacity .2s; }
.popup-form-inner.hidden { opacity:0; pointer-events:none; height:0; overflow:hidden; }
