
/* ===== Vogue Pro UI (core) ===== */
:root{
  --sn-ink:#0A0A0A; --sn-char:#4A4A4A; --sn-ivory:#FAFAFA; --sn-gold:#C5A46D;
  --sn-wrap: min(1240px, 92vw); --sn-gutter: clamp(16px, 2.6vw, 40px);
  --sn-h1: clamp(42px, 6vw, 82px); --sn-h2: clamp(28px, 4vw, 48px);
  --sn-body: clamp(18px, 2vw, 21px); /* local body scale for #sn blocks */
}
#sn{ font-family:"Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--sn-ink); }
#sn .sn-wrap{ width: var(--sn-wrap); margin-inline:auto; padding-inline: var(--sn-gutter); }
#sn .sn-rule{ height:1px; background:linear-gradient(90deg, var(--sn-gold), transparent); margin:28px 0 36px; }
#sn .sn-btn{ display:inline-block; padding:14px 22px; border-radius:999px; text-decoration:none; font-weight:700; font-size:15px; border:1px solid var(--sn-ink); color:var(--sn-ink); }
#sn .sn-btn.primary{ background:var(--sn-ink); color:#fff; border-color:var(--sn-ink); }
#sn .sn-frame{ background:#fff; border-radius:16px; padding:12px; box-shadow:0 16px 36px rgba(0,0,0,.12), inset 0 0 0 1px rgba(0,0,0,.05); position:relative; }
#sn .sn-frame::after{ content:""; position:absolute; inset:8px; border-radius:12px; border:1px solid rgba(197,164,109,.45); pointer-events:none; }
#sn .sn-quote-card{ background:#fff; border-radius:16px; padding:18px 22px; box-shadow:0 12px 28px rgba(0,0,0,.10), inset 0 0 0 1px rgba(0,0,0,.05); }
#sn .sn-grid{ display:grid; gap: var(--sn-gutter); }
#sn .sn-cols-2{ grid-template-columns:repeat(2,1fr); } #sn .sn-cols-3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:900px){ #sn .sn-cols-2, #sn .sn-cols-3{ grid-template-columns:1fr; } }
/* Hero */
#sn .sn-hero{ position:relative; width:100%; min-height:var(--min-h, 70vh); display:flex; align-items:center; justify-content:center; overflow:hidden; color:#FAFAFA; text-align:center; }
#sn .sn-hero::before{ content:""; position:absolute; inset:0; z-index:0; background:center/cover no-repeat; background-image:var(--hero-bg, none); }
#sn .sn-hero::after{ content:""; position:absolute; inset:0; z-index:1; background: linear-gradient(to bottom, rgba(0,0,0,.45), rgba(10,10,10,.6)); }
#sn .sn-hero .sn-wrap{ position:relative; z-index:2; padding-block: clamp(24px, 6vw, 80px); }
#sn .sn-hero .dek{ color: #F8F6F2; font-size: clamp(18px, 2.2vw, 22px); line-height:1.8; }

/* Header over hero */
.elementor-location-header{ position:sticky; top:0; z-index:999; background:transparent; transition: background .2s ease; }
.elementor-location-header.elementor-sticky--effects{ background: rgba(10,10,10,.85); }
.elementor-location-header a{ color:#FAFAFA; }

/* Utilities */
#sn .mt-0{ margin-top:0 !important; } #sn .mb-0{ margin-bottom:0 !important; }

/* ============== Vogue Pro — Global Typography Reset (Readable) ============== */
:root{
  --sn-font-sans: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --sn-font-serif:"Playfair Display", Georgia, serif;
  --sn-lh:1.8; /* increased line-height */
  --sn-h1-global: clamp(38px, 6vw, 72px);
  --sn-h2-global: clamp(28px, 4.6vw, 42px);
  --sn-h3-global: clamp(22px, 3.4vw, 30px);
  --sn-body-global: clamp(18px, 2vw, 21px); /* larger readable body */
}
html, body{
  font-family: var(--sn-font-sans);
  font-size:16px;
  color:var(--sn-ink);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
p, li, dd, td, th{ font-family: var(--sn-font-sans) !important; font-size: var(--sn-body-global); line-height: var(--sn-lh); color: var(--sn-char); }
h1, h2, h3, .elementor-widget-heading .elementor-heading-title.elementor-size-default{
  font-family: var(--sn-font-serif) !important; font-weight:700; line-height:1.1; letter-spacing:.01em; text-transform:none !important; color:var(--sn-ink);
}
h1, .elementor-widget-heading h1.elementor-heading-title{ font-size: var(--sn-h1-global) !important; }
h2, .elementor-widget-heading h2.elementor-heading-title{ font-size: var(--sn-h2-global) !important; }
h3, .elementor-widget-heading h3.elementor-heading-title{ font-size: var(--sn-h3-global) !important; }
h4, h5, h6{ font-family: var(--sn-font-sans) !important; font-weight:700; line-height:1.25; text-transform:none !important; }
a{ color:inherit; text-decoration-color: rgba(0,0,0,.25); }
a:hover{ text-decoration-color: rgba(0,0,0,.45); }
.elementor-location-header a,
.elementor-nav-menu a,
.elementor-nav-menu .sub-menu a{
  font-family: var(--sn-font-sans) !important; font-weight:600; font-size: clamp(14px,1.4vw,16px); text-transform:none !important;
}
.sn-btn, .elementor-button, .wp-block-button__link, button, input[type=submit], input[type=button]{
  font-family: var(--sn-font-sans) !important; font-weight:700; letter-spacing:0;
}
.elementor-widget-text-editor p, .elementor-widget-text-editor li{
  font-family: var(--sn-font-sans) !important; font-size: var(--sn-body-global); line-height: var(--sn-lh);
}
.elementor-form .elementor-field, input, select, textarea{
  font-family: var(--sn-font-sans) !important; font-size: clamp(16px,1.6vw,18px);
}
blockquote, q, .sn-quote-card blockquote{
  font-family: var(--sn-font-serif) !important; font-size: clamp(18px,2.4vw,24px); color: var(--sn-ink); line-height:1.6;
}
[class*="elementor-heading-title"], .elementor-widget-heading .elementor-heading-title, .elementor-nav-menu a{ text-transform:none !important; }
