:root {
  --sg-ink: #221512;
  --sg-green: #3a1613;
  --sg-green-dark: #2a1210;
  --sg-red: #e31c3d;
  --sg-red-dark: #c9152f;
  --sg-cream: #fffaf6;
  --sg-paper: #fff3ec;
  --sg-gold: #e8bd61;
  --sg-white: #fff;
  --sg-muted: #6f5d59;
  --sg-border: rgba(34, 21, 18, 0.1);
  --sg-shadow: 0 24px 70px rgba(56, 29, 24, 0.1);
  --sg-radius-sm: 12px;
  --sg-radius: 16px;
  --sg-radius-lg: 28px;
  --sg-container: min(1240px, calc(100vw - 40px));
  --sg-font-body: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --sg-font-display: "Berkshire Swash", Georgia, serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--sg-ink);
  background: var(--sg-cream);
  font-family: var(--sg-font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
[id^="tab-box-front-"] { display: none !important; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { line-height: 1.08; }
h1, h2 { letter-spacing: -0.035em; }
h1 { font-size: clamp(3rem, 7vw, 6.8rem); }
h2 { font-size: clamp(2.3rem, 5vw, 4.6rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); }
.site-container { width: var(--sg-container); margin-inline: auto; }
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
  z-index: 100000; top: 10px; left: 10px; width: auto; height: auto;
  clip: auto; padding: 12px 18px; color: var(--sg-white); background: var(--sg-green);
}
.button, button.button, input[type="submit"], .wp-element-button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 25px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--sg-red);
  color: var(--sg-white);
  font-weight: 800;
  line-height: 1.2;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.button:hover, button.button:hover, input[type="submit"]:hover { transform: translateY(-2px); background: var(--sg-red-dark); box-shadow: 0 12px 30px rgba(168, 40, 33, .24); }
.button--ghost { color: var(--sg-white); border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.button--ghost:hover { background: rgba(255,255,255,.18); }
.button--light { color: var(--sg-green-dark); background: var(--sg-white); }
.button--light:hover { color: var(--sg-white); background: var(--sg-red); }
.text-link { padding: 0; border: 0; border-bottom: 1px solid currentColor; background: none; color: var(--sg-green); font-weight: 800; cursor: pointer; }
.pill, .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  color: var(--sg-red);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.pill { padding: 7px 12px; border-radius: 999px; background: rgba(255,255,255,.14); color: var(--sg-white); letter-spacing: .08em; }
.section { padding: clamp(75px, 9vw, 135px) 0; }
.section--cream { background: var(--sg-cream); }
.section--paper { background: var(--sg-paper); }
.section-heading { max-width: 740px; margin-bottom: 50px; }
.section-heading h2 { margin-bottom: 18px; }
.section-heading > p:last-child { color: var(--sg-muted); font-size: 1.08rem; }
.section-heading--center { margin-inline: auto; text-align: center; }
.section-heading--split { display: flex; max-width: none; align-items: flex-end; justify-content: space-between; gap: 30px; }
.section-action { margin: 48px 0 0; text-align: center; }

/* Header */
.site-header {
  position: relative;
  z-index: 1000;
  border-bottom: 1px solid var(--sg-border);
  background: rgba(255,250,246,.94);
  backdrop-filter: blur(18px);
}
.santagram-front-page .site-header { position: absolute; inset: 0 0 auto; color: var(--sg-white); border-color: rgba(255,255,255,.22); background: linear-gradient(to bottom, rgba(10,27,22,.58), transparent); backdrop-filter: none; }
.site-header__inner { display: grid; min-height: 88px; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; }
.site-logo__text { display: inline-block; font-family: var(--sg-font-display); font-size: 2rem; line-height: 1; letter-spacing: -.04em; }
.site-logo__text span { color: var(--sg-red); }
.santagram-front-page .site-logo__text span { color: var(--sg-white); }
.custom-logo { width: auto; max-height: 54px; }
.site-nav__list { display: flex; align-items: center; gap: 34px; margin: 0; padding: 0; list-style: none; }
.site-nav a, .site-header__account { font-size: .9rem; font-weight: 700; }
.site-nav a:hover, .site-header__account:hover { color: var(--sg-red); }
.site-header__actions { display: flex; align-items: center; justify-content: flex-end; gap: 22px; }
.site-header__account { display: flex; align-items: center; gap: 8px; }
.site-header__account svg, .site-cart svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.site-cart { position: relative; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid currentColor; border-radius: 50%; }
.site-cart__count { position: absolute; top: -5px; right: -6px; display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; color: var(--sg-white); background: var(--sg-red); font-size: .68rem; font-weight: 800; }
.site-header .menu-toggle { display: none; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 10px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.menu-toggle > span:not(.screen-reader-text) { display: block; width: 100%; height: 2px; margin: 6px 0; background: currentColor; transition: transform .2s; }
.menu-toggle[aria-expanded="true"] > span:nth-last-child(2) { transform: translateY(4px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] > span:last-child { transform: translateY(-4px) rotate(-45deg); }
.mobile-menu { position: absolute; top: 100%; right: 0; left: 0; color: var(--sg-ink); background: var(--sg-cream); box-shadow: var(--sg-shadow); }
.mobile-menu__inner { display: grid; gap: 6px; padding: 20px 0 28px; }
.mobile-menu a:not(.button) { padding: 12px 0; border-bottom: 1px solid var(--sg-border); font-size: 1.15rem; font-weight: 700; }

/* Focused WooCommerce shell — mirrors the approved checkout prototype. */
.commerce-focus { background: var(--sg-cream); }
.commerce-header { border-bottom: 1px solid rgba(34,21,18,.08); background: var(--sg-white); }
.commerce-header__inner {
  display: flex;
  width: min(100%, 1100px);
  min-height: 67px;
  margin-inline: auto;
  padding: 16px 32px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.commerce-header__logo img { width: auto; height: 34px; }
.commerce-header__back { display: inline-flex; align-items: center; gap: 7px; color: var(--sg-muted); font-size: 13.5px; font-weight: 500; }
.commerce-header__back:hover { color: var(--sg-red); }
.commerce-header__back span { font-size: 18px; line-height: 1; }
.commerce-shell { width: min(100%, 1100px); padding-inline: 32px; }
.commerce-title h1 {
  margin: 0 0 20px;
  color: var(--sg-ink);
  font-family: var(--sg-font-display);
  font-size: clamp(26px, 3.4vw, 34px);
  font-weight: 400;
  letter-spacing: -.025em;
}

/* Hero */
.home-hero { position: relative; min-height: min(900px, 95vh); display: grid; align-items: center; overflow: hidden; color: var(--sg-white); background: #183c33; }
.home-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(90deg, rgba(8,30,23,.92) 0%, rgba(8,30,23,.68) 42%, rgba(8,30,23,.1) 74%), var(--hero-image); background-position: center; background-size: cover; transform: scale(1.01); }
.home-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 140px; background: linear-gradient(transparent, rgba(8,30,23,.42)); }
.home-hero__inner { position: relative; z-index: 2; padding-top: 130px; padding-bottom: 75px; }
.home-hero__content { width: min(760px, 70%); }
.home-hero h1 { max-width: 760px; margin-bottom: 24px; font-family: var(--sg-font-display); font-weight: 400; text-wrap: balance; }
.home-hero__lead { max-width: 650px; margin-bottom: 30px; color: rgba(255,255,255,.88); font-size: clamp(1.05rem, 1.6vw, 1.3rem); }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.home-hero__price { margin: 18px 0 6px; }
.home-hero__price strong { color: var(--sg-gold); }
.home-hero__trust { margin: 24px 0 0; color: var(--sg-gold); font-weight: 700; }
.home-hero__trust span { margin-left: 8px; color: rgba(255,255,255,.82); font-size: .9rem; font-weight: 500; }

/* Promo ticker */
.promo-bar { position: relative; display: flex; min-height: 58px; overflow: hidden; align-items: center; color: var(--sg-white); background: var(--sg-red); }
.promo-bar__track { display: flex; min-width: max-content; gap: 55px; padding-right: 250px; animation: sg-ticker 25s linear infinite; }
.promo-bar__track span { font-size: .86rem; font-weight: 600; letter-spacing: .02em; }
.promo-bar__track strong { margin-left: 4px; padding: 4px 8px; border: 1px dashed rgba(255,255,255,.7); border-radius: 5px; }
.promo-bar__copy { position: absolute; right: 0; align-self: stretch; padding: 0 28px; border: 0; border-left: 1px solid rgba(255,255,255,.28); color: var(--sg-white); background: var(--sg-red-dark); font-size: .78rem; font-weight: 800; cursor: pointer; }
@keyframes sg-ticker { to { transform: translateX(-33.33%); } }

/* Reactions */
.reactions__track { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.reaction-card { position: relative; min-height: 430px; overflow: hidden; border-radius: var(--sg-radius); color: var(--sg-white); background: var(--sg-green-dark); box-shadow: 0 14px 40px rgba(28,49,40,.12); }
.reaction-card::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(4,19,14,.82)); }
.reaction-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.reaction-card:hover img { transform: scale(1.04); }
.reaction-card div { position: absolute; z-index: 2; right: 18px; bottom: 17px; left: 18px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.reaction-card span { font-size: .8rem; opacity: .82; }

/* Product feature */
.feature-section { color: var(--sg-white); background: var(--sg-green-dark); }
.feature-section__grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(45px, 7vw, 100px); }
.feature-section__media { position: relative; overflow: hidden; border-radius: var(--sg-radius-lg); box-shadow: 0 30px 80px rgba(0,0,0,.25); }
.feature-section__media::before { content: ""; display: block; padding-top: 125%; }
.feature-section__media iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.feature-section h2 { margin-bottom: 25px; font-family: var(--sg-font-display); font-weight: 400; }
.feature-section__content > p:not(.pill) { color: rgba(255,255,255,.76); font-size: 1.05rem; }
.check-list { display: grid; gap: 14px; margin: 30px 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 34px; font-weight: 700; }
.check-list li::before { content: "✓"; position: absolute; left: 0; display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: var(--sg-green-dark); background: var(--sg-gold); font-size: .75rem; }

/* Benefits + steps */
.trust-strip { padding: 40px 0; background: var(--sg-paper); }
.trust-strip__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.trust-strip article { display: grid; grid-template-columns: auto 1fr; gap: 18px; }
.trust-strip__icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; color: var(--sg-white); background: var(--sg-red); font-size: 1.25rem; font-weight: 800; }
.trust-strip h3 { margin-bottom: 8px; font-size: 1rem; }
.trust-strip p { margin: 0; color: var(--sg-muted); font-size: .86rem; line-height: 1.55; }
.steps-section { background: var(--sg-cream); }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; counter-reset: steps; }
.step-card { position: relative; min-height: 330px; padding: 38px; overflow: hidden; border: 1px solid var(--sg-border); border-radius: var(--sg-radius); background: var(--sg-white); }
.step-card::after { content: ""; position: absolute; right: -50px; bottom: -70px; width: 180px; height: 180px; border-radius: 50%; background: var(--sg-paper); }
.step-card > span { display: grid; width: 50px; height: 50px; margin-bottom: 70px; place-items: center; border-radius: 50%; color: var(--sg-white); background: var(--sg-red); font-weight: 800; }
.step-card h3 { margin-bottom: 14px; }
.step-card p { position: relative; z-index: 1; margin: 0; color: var(--sg-muted); font-size: .94rem; }

/* Testimonials + CTA */
.testimonials__grid { display: grid; grid-template-columns: repeat(4, 1fr); align-items: start; gap: 22px; }
.testimonials__grid figure { margin: 0; overflow: hidden; border-radius: var(--sg-radius); background: var(--sg-white); box-shadow: 0 14px 45px rgba(38,45,41,.12); transform: rotate(-1.5deg); }
.testimonials__grid figure:nth-child(even) { margin-top: 35px; transform: rotate(1.5deg); }
.quote-cta { position: relative; min-height: 570px; display: grid; align-items: center; overflow: hidden; color: var(--sg-white); background: var(--sg-green-dark); }
.quote-cta::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(90deg, rgba(14,49,39,.96) 0%, rgba(14,49,39,.74) 50%, rgba(14,49,39,.12)), var(--quote-image); background-position: center; background-size: cover; }
.quote-cta__content { position: relative; z-index: 1; }
.quote-cta h2 { width: min(800px, 70%); margin-bottom: 18px; font-family: var(--sg-font-display); font-weight: 400; }
.quote-cta p { margin-bottom: 28px; font-size: 1.1rem; }

/* FAQ + SEO */
.faq-section { background: var(--sg-white); }
.faq-section__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(50px, 8vw, 130px); }
.faq-list details { border-top: 1px solid var(--sg-border); }
.faq-list details:last-child { border-bottom: 1px solid var(--sg-border); }
.faq-list summary { display: flex; padding: 25px 0; align-items: center; justify-content: space-between; gap: 20px; font-size: 1.05rem; font-weight: 800; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--sg-red); font-size: 1.6rem; font-weight: 400; transition: transform .2s; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { padding: 0 45px 25px 0; color: var(--sg-muted); }
.seo-section { background: var(--sg-cream); }
.seo-section h2 { font-family: var(--sg-font-display); font-weight: 400; }
.seo-section h3 { margin-top: 35px; }
.seo-section__content { position: relative; max-height: 175px; overflow: hidden; color: var(--sg-muted); transition: max-height .4s ease; }
.seo-section__content::after { content: ""; position: absolute; inset: auto 0 0; height: 80px; background: linear-gradient(transparent, var(--sg-cream)); transition: opacity .2s; }
.seo-section__content.is-open { max-height: 1200px; }
.seo-section__content.is-open::after { opacity: 0; }
.seo-section__toggle { margin-top: 18px; }

/* Blog */
.blog-section { background: var(--sg-white); }
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.post-grid--home { grid-template-columns: repeat(4, 1fr); }
.post-card { background: var(--sg-white); border: 1px solid var(--sg-border); border-radius: 18px; box-shadow: 0 10px 32px rgba(55,27,22,.05); display: flex; flex-direction: column; min-width: 0; overflow: hidden; transition: transform .25s ease,box-shadow .25s ease; }
.post-card:hover { box-shadow: 0 18px 44px rgba(55,27,22,.11); transform: translateY(-5px); }
.post-card__media { background: linear-gradient(145deg,#f7d7c4,#c88f78 52%,#6f4236); display: block; min-height: 210px; overflow: hidden; }
.post-card__media img,.post-card__media > span { display: block; height: 210px; object-fit: cover; transition: transform .35s ease; width: 100%; }
.post-card:hover .post-card__media img { transform: scale(1.04); }
.post-card__body { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.post-card__meta,.post-card__meta a { color: var(--sg-red); font-size: 10px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.post-card__meta { align-items: center; display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 11px; }
.post-card h2,.post-card h3 { font-size: 20px; line-height: 1.28; margin: 0 0 10px; }
.post-card h2 a,.post-card h3 a { color: var(--sg-ink); text-decoration: none; }
.post-card__excerpt { color: var(--sg-muted); display: -webkit-box; font-size: 13.5px; line-height: 1.6; margin: 0 0 20px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.post-card__cta { align-items: center; color: var(--sg-ink); display: inline-flex; font-size: 12px; font-weight: 800; gap: 10px; margin-top: auto; text-decoration: none; width: fit-content; }
.post-card__cta i { align-items: center; background: rgba(227,28,61,.09); border-radius: 50%; color: var(--sg-red); display: inline-flex; font-size: 10px; height: 30px; justify-content: center; transition: background .18s,color .18s,transform .18s; width: 30px; }
.post-card__cta:hover { color: var(--sg-red); }
.post-card__cta:hover i { background: var(--sg-red); color: #fff; transform: translateX(3px); }
.post-card--compact .post-card__media,.post-card--compact .post-card__media img,.post-card--compact .post-card__media > span { height: 176px; min-height: 176px; }
.post-card--compact .post-card__body { padding: 18px; }
.post-card--compact h3 { font-size: 18px; }
.post-card--compact .post-card__excerpt { font-size: 12.5px; line-height: 1.55; margin-bottom: 16px; -webkit-line-clamp: 2; }
.post-card--compact .post-card__cta i { height: 28px; width: 28px; }

/* Final CTA + dialog */
.final-cta { position: relative; display: grid; min-height: 590px; align-items: center; overflow: hidden; color: var(--sg-white); text-align: center; background: var(--sg-green-dark); }
.final-cta::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(8,31,24,.38), rgba(8,31,24,.82)), var(--cta-image); background-position: center; background-size: cover; }
.final-cta__content { position: relative; z-index: 1; }
.final-cta h2 { max-width: 850px; margin: 0 auto 20px; font-family: var(--sg-font-display); font-weight: 400; }
.final-cta p { margin-bottom: 28px; }
.film-dialog { width: min(940px, calc(100vw - 30px)); padding: 0; overflow: visible; border: 0; border-radius: var(--sg-radius); color: var(--sg-ink); background: var(--sg-white); box-shadow: 0 40px 120px rgba(0,0,0,.4); }
.film-dialog::backdrop { background: rgba(6,25,19,.82); backdrop-filter: blur(5px); }
.film-dialog__close { position: absolute; z-index: 2; top: -14px; right: -14px; display: grid; width: 44px; height: 44px; place-items: center; border: 0; border-radius: 50%; color: var(--sg-white); background: var(--sg-red); font-size: 1.5rem; cursor: pointer; }
.film-dialog__video { aspect-ratio: 16/9; overflow: hidden; border-radius: var(--sg-radius) var(--sg-radius) 0 0; background: #07130f; }
.film-dialog__video iframe { width: 100%; height: 100%; border: 0; }
.film-dialog__content { padding: 30px 35px 35px; }
.film-dialog__content h2 { font-size: clamp(2rem, 4vw, 3.3rem); }
.sticky-order { position: fixed; z-index: 900; right: 16px; bottom: 16px; left: 16px; display: none; justify-content: space-between; box-shadow: 0 15px 35px rgba(98,24,19,.35); }

/* Content pages */
.content-main { min-height: 65vh; padding: 40px 0 110px; }
.content-shell { max-width: 900px; }
.page-hero { padding: 80px 0 55px; }
.page-hero h1 { max-width: 1000px; margin: 0; font-family: var(--sg-font-display); font-size: clamp(2.7rem, 6vw, 5.5rem); font-weight: 400; }
.page-hero--article { text-align: center; }
.page-hero--article h1 { margin-inline: auto; }
.entry-meta { align-items: center; color: var(--sg-muted); display: flex; flex-wrap: wrap; font-size: 12px; gap: 9px 20px; justify-content: center; margin: 24px auto 0; }
.entry-meta span,.entry-meta > a { align-items: center; color: inherit; display: inline-flex; gap: 7px; text-decoration: none; }
.entry-meta i { color: var(--sg-red); font-size: 13px; }
.entry-meta a:hover { color: var(--sg-red); }
.entry__featured { margin-bottom: 50px; overflow: hidden; border-radius: var(--sg-radius); }
.entry-content { font-size: 1.07rem; }
.entry-content > * { max-width: 780px; margin-right: auto; margin-left: auto; }
.entry-content > .alignwide { max-width: 1240px; }
.entry-content > .alignfull { max-width: none; }
.entry-content h2 { margin-top: 2.2em; font-size: clamp(2rem, 4vw, 3.2rem); }
.entry-content h3 { margin-top: 1.8em; }
.entry-content a { color: var(--sg-red); text-decoration: underline; }
.post-navigation { margin-top: 60px; padding-top: 30px; border-top: 1px solid var(--sg-border); }
.entry-share { align-items: center; border-bottom: 1px solid var(--sg-border); border-top: 1px solid var(--sg-border); display: flex; gap: 24px; justify-content: space-between; margin: 54px auto 0; max-width: 780px; padding: 24px 0; }
.entry-share > div:first-child > span { color: var(--sg-red); display: block; font-size: 10px; font-weight: 800; letter-spacing: .1em; margin-bottom: 3px; text-transform: uppercase; }
.entry-share h2 { font-family: var(--sg-font-body); font-size: 16px; margin: 0; }
.entry-share__links { display: flex; flex: 0 0 auto; gap: 8px; }
.entry-share__links a { align-items: center; background: #fff; border: 1px solid var(--sg-border); border-radius: 50%; color: var(--sg-ink); display: inline-flex; height: 40px; justify-content: center; text-decoration: none; transition: background .18s,color .18s,transform .18s; width: 40px; }
.entry-share__links a:hover { background: var(--sg-red); border-color: var(--sg-red); color: #fff; transform: translateY(-2px); }
.related-posts { margin: 72px 50% 0; transform: translateX(-50%); width: min(1120px,calc(100vw - 40px)); }
.related-posts__header { margin-bottom: 26px; text-align: center; }
.related-posts__header .eyebrow { margin-bottom: 8px; }
.related-posts__header h2 { font-family: var(--sg-font-display); font-size: clamp(32px,4vw,48px); font-weight: 400; letter-spacing: -.025em; margin: 0; }
.related-posts__grid { display: grid; gap: 20px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.empty-state { max-width: 700px; padding: 120px 0; text-align: center; }
.empty-state h1 { font-family: var(--sg-font-display); font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 400; }
.navigation.pagination { margin-top: 45px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.page-numbers { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--sg-border); border-radius: 50%; text-decoration: none; }
.page-numbers.current { color: var(--sg-white); background: var(--sg-green); }
.page-numbers.prev,.page-numbers.next { border-color: transparent; color: var(--sg-red); font-size: 16px; }
.page-numbers.prev:hover,.page-numbers.next:hover { background: rgba(227,28,61,.08); }

/* Contact page — Gutenberg content wrapped around Contact Form 7. */
.santagram-contact-page .content-shell { max-width: 1160px; }
.santagram-contact-page .page-hero--compact { padding-bottom: 36px; text-align: center; }
.santagram-contact-page .page-hero--compact h1 { margin-inline: auto; }
.santagram-contact-page .entry-content > .sg-contact-layout { max-width: none; }
.sg-contact-layout { align-items: start; display: grid; gap: clamp(28px,5vw,72px); grid-template-columns: minmax(0,.78fr) minmax(440px,1.22fr); }
.sg-contact-intro { padding: 28px 0; }
.sg-contact-intro > h2 { font-family: var(--sg-font-display); font-size: clamp(32px,4vw,50px); font-weight: 400; letter-spacing: -.025em; line-height: 1.08; margin: 0 0 17px; }
.sg-contact-intro > p:not(.eyebrow) { color: var(--sg-muted); font-size: 15px; line-height: 1.7; margin: 0; }
.sg-contact-details { display: grid; gap: 10px; margin-top: 30px; }
.sg-contact-detail { align-items: center; background: rgba(255,243,236,.55); border: 1px solid rgba(34,21,18,.07); border-radius: 13px; display: grid; gap: 13px; grid-template-columns: 42px minmax(0,1fr); min-height: 88px; padding: 12px 14px; }
.sg-contact-detail__icon { align-items: center; background: #fff; border-radius: 50%; color: var(--sg-red); display: inline-flex; font-size: 17px; height: 42px; justify-content: center; width: 42px; }
.sg-contact-detail > .wp-block-group { align-self: center; display: flex; flex-direction: column; gap: 3px; justify-content: center; margin: 0; min-height: 42px; padding: 0 !important; }
.sg-contact-detail h3 { font-family: var(--sg-font-body); font-size: 13px; margin: 0 !important; }
.sg-contact-detail p { color: var(--sg-muted); font-size: 11.5px; line-height: 1.45; margin: 0 !important; }
.sg-contact-detail a { color: var(--sg-red); font-weight: 700; }
.sg-contact-form-card { background: #fff; border: 1px solid rgba(34,21,18,.1); border-radius: 18px; box-shadow: 0 18px 55px rgba(55,27,22,.08); padding: clamp(22px,4vw,36px); }
.sg-contact-form-card > h2 { font-family: var(--sg-font-display); font-size: clamp(27px,3vw,36px); font-weight: 400; margin: 0 0 7px; }
.sg-contact-form-card > p { color: var(--sg-muted); font-size: 13px; margin: 0 0 25px; }
.sg-contact-form__grid { display: grid; gap: 17px 14px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.sg-contact-form__field { color: var(--sg-ink); display: block; font-size: 12.5px; font-weight: 700; margin: 0; }
.sg-contact-form__field--wide { grid-column: 1 / -1; }
.sg-contact-form__field small { color: var(--sg-muted); font-size: 10px; font-weight: 500; }
.sg-contact-form__field .wpcf7-form-control-wrap { display: block; margin-top: 7px; }
.sg-contact-form-card input:not([type="checkbox"]):not([type="submit"]),.sg-contact-form-card textarea { background: #fcfaf8; border: 1px solid #d9ccc5; border-radius: 11px; box-shadow: none; box-sizing: border-box; color: var(--sg-ink); font: inherit; font-size: 14px; min-height: 48px; outline: 0; padding: 11px 13px; transition: border-color .18s,box-shadow .18s,background .18s; width: 100%; }
.sg-contact-form-card textarea { min-height: 145px; resize: vertical; }
.sg-contact-form-card input:focus,.sg-contact-form-card textarea:focus { background: #fff; border-color: var(--sg-red); box-shadow: 0 0 0 3px rgba(227,28,61,.1); }
.sg-contact-form__file input[type="file"] { background: #fff9f5; border-style: dashed; cursor: pointer; font-size: 11px; padding: 9px; }
.sg-contact-form__consent .wpcf7-list-item { margin: 0; }
.sg-contact-form__consent label { align-items: flex-start; cursor: pointer; display: flex; font-size: 11px; font-weight: 500; gap: 8px; line-height: 1.5; }
.sg-contact-form__consent input { accent-color: var(--sg-red); flex: 0 0 auto; height: 17px; margin: 0; width: 17px; }
.sg-contact-form__consent a { color: var(--sg-red); font-weight: 700; }
.sg-contact-form__submit { align-items: center; display: flex; flex-wrap: wrap; gap: 10px 14px; }
.sg-contact-form__submit input[type="submit"] { align-items: center; background: var(--sg-red); border: 0; border-radius: 999px; box-shadow: 0 10px 24px rgba(227,28,61,.25); color: #fff; cursor: pointer; display: inline-flex; font-family: var(--sg-font-display); font-size: 16px; justify-content: center; min-height: 50px; padding: 13px 25px; }
.sg-contact-form__submit input[type="submit"]:hover { background: var(--sg-red-dark); }
.sg-contact-form__submit small { color: var(--sg-muted); font-size: 10px; }
.sg-contact-form-card .wpcf7-spinner { margin: 0; }
.sg-contact-form-card .wpcf7-not-valid-tip { color: var(--sg-red); font-size: 10px; margin-top: 5px; }
.sg-contact-form-card .wpcf7-response-output { border: 1px solid rgba(13,107,54,.18) !important; border-radius: 10px; color: #4a3a37; font-size: 12px; margin: 18px 0 0 !important; padding: 11px 13px !important; }
.sg-contact-form-card form.invalid .wpcf7-response-output,.sg-contact-form-card form.failed .wpcf7-response-output { background: rgba(227,28,61,.06); border-color: rgba(227,28,61,.18) !important; }

/* Footer */
.site-footer { padding: 80px 0 0; color: rgba(255,255,255,.78); background: #102f27; }
.site-footer__grid { display: grid; grid-template-columns: 1.7fr .7fr .8fr; gap: 80px; padding-bottom: 60px; }
.site-footer .site-logo__text { color: var(--sg-white); }
.site-footer .site-logo__text span { color: var(--sg-red); }
.site-footer__brand > p { max-width: 500px; margin: 24px 0; }
.site-footer h2 { color: var(--sg-white); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.site-footer ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.site-footer a:hover { color: var(--sg-white); }
.site-footer__socials { display: flex; flex-wrap: wrap; gap: 18px; font-size: .8rem; font-weight: 800; text-transform: uppercase; }
.site-footer__bottom { display: flex; padding: 24px 0; border-top: 1px solid rgba(255,255,255,.12); align-items: center; justify-content: space-between; gap: 20px; font-size: .78rem; }
.site-footer__bottom p { margin: 0; }

@media (max-width: 860px) {
  .sg-contact-layout { grid-template-columns: minmax(0,1fr); }
  .sg-contact-intro { padding: 0; }
  .related-posts__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 600px) {
  .sg-contact-form__grid { grid-template-columns: minmax(0,1fr); }
  .sg-contact-form__field { grid-column: 1; }
  .sg-contact-form__submit { align-items: stretch; flex-direction: column; }
  .sg-contact-form__submit input[type="submit"] { width: 100%; }
  .entry-meta { align-items: center; flex-direction: column; }
  .entry-share { align-items: flex-start; flex-direction: column; }
  .related-posts { margin-top: 54px; width: min(100%,calc(100vw - 28px)); }
  .related-posts__grid { grid-template-columns: minmax(0,1fr); }
  .post-card--compact { display: grid; grid-template-columns: 112px minmax(0,1fr); }
  .post-card--compact .post-card__media,.post-card--compact .post-card__media img,.post-card--compact .post-card__media > span { height: 100%; min-height: 168px; }
  .post-card--compact .post-card__body { padding: 16px; }
  .post-card--compact h3 { font-size: 16px; }
  .post-card--compact .post-card__excerpt { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (max-width: 1024px) {
  .site-header__inner { grid-template-columns: 1fr auto; }
  .site-nav, .site-header__account { display: none; }
  .site-header .menu-toggle { display: block; }
  .home-hero__content { width: min(700px, 82%); }
  .reactions__track { grid-template-columns: repeat(2, 1fr); }
  .feature-section__grid { grid-template-columns: 1fr 1fr; gap: 45px; }
  .post-grid--home { grid-template-columns: repeat(2, 1fr); }
  .testimonials__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  :root { --sg-container: min(100% - 30px, 1240px); }
  h1 { font-size: clamp(2.75rem, 15vw, 4.8rem); }
  h2 { font-size: clamp(2.15rem, 11vw, 3.5rem); }
  .site-header__inner { min-height: 72px; }
  .site-logo__text { font-size: 1.7rem; }
  .site-header__actions { gap: 10px; }
  .site-cart { width: 40px; height: 40px; }
  .section { padding: 75px 0; }
  .section-heading { margin-bottom: 35px; }
  .section-heading--split { display: block; }
  .section-heading--split .text-link { display: inline-block; margin-top: 12px; }
  .home-hero { min-height: 820px; align-items: end; }
  .home-hero::before { background-image: linear-gradient(0deg, rgba(8,30,23,.97) 0%, rgba(8,30,23,.68) 48%, rgba(8,30,23,.05) 78%), var(--hero-image); background-position: 62% center; }
  .home-hero__inner { padding-top: 125px; padding-bottom: 55px; }
  .home-hero__content { width: 100%; }
  .home-hero h1 { margin-bottom: 18px; }
  .home-hero__lead { font-size: 1rem; }
  .home-hero__actions .button { flex: 1; padding-inline: 18px; }
  .home-hero__trust { font-size: .82rem; }
  .home-hero__trust span { display: block; margin: 5px 0 0; }
  .promo-bar__copy { padding: 0 16px; }
  .promo-bar__track { padding-right: 170px; }
  .reactions__track { display: flex; margin-right: calc((100vw - var(--sg-container)) / -2); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .reaction-card { min-width: 74vw; min-height: 430px; scroll-snap-align: start; }
  .feature-section__grid, .faq-section__grid { grid-template-columns: 1fr; }
  .feature-section__media::before { padding-top: 100%; }
  .feature-section__content { order: -1; }
  .trust-strip__grid, .steps-grid { grid-template-columns: 1fr; }
  .trust-strip article { padding: 10px 0; }
  .step-card { min-height: auto; }
  .step-card > span { margin-bottom: 42px; }
  .testimonials__grid { display: flex; margin-right: calc((100vw - var(--sg-container)) / -2); overflow-x: auto; scroll-snap-type: x mandatory; }
  .testimonials__grid figure, .testimonials__grid figure:nth-child(even) { min-width: 76vw; margin-top: 0; transform: none; scroll-snap-align: start; }
  .quote-cta { min-height: 630px; align-items: end; }
  .quote-cta::before { background-image: linear-gradient(0deg, rgba(14,49,39,.98), rgba(14,49,39,.28)), var(--quote-image); background-position: center; }
  .quote-cta__content { padding-bottom: 60px; }
  .quote-cta h2 { width: 100%; }
  .faq-section__grid { gap: 15px; }
  .post-grid, .post-grid--home { grid-template-columns: 1fr; }
  .final-cta { min-height: 620px; }
  .site-footer { padding-top: 60px; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 40px 25px; }
  .site-footer__brand { grid-column: 1 / -1; }
  .site-footer__bottom { display: block; padding-bottom: 90px; }
  .site-footer__bottom p + p { margin-top: 8px; }
  .sticky-order { display: flex; }
  .film-dialog__content { padding: 24px; }
  .content-main { padding-bottom: 75px; }
  .page-hero { padding: 55px 0 35px; }
  .commerce-header__inner { min-height: 64px; padding: 14px 20px; }
  .commerce-header__logo img { height: 31px; }
  .commerce-header__back { font-size: 12.5px; }
  .commerce-shell { padding-inline: 20px; }
}

/* Approved global header and footer. The front page uses the same source
   components from reference.css; inner pages only switch the header to white. */
.site-header.site-header--solid {
  position: relative;
  inset: auto;
  z-index: 20;
  display: flex;
  min-height: 0;
  padding: 28px clamp(20px, 5vw, 64px) 24px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(34,21,18,.08);
  color: var(--sg-ink);
  background: #fff;
  backdrop-filter: none;
}
.site-header--solid .logo { display: inline-block; line-height: 0; transition: opacity .15s ease; }
.site-header--solid .logo:hover { opacity: .85; }
.site-header--solid .logo img { width: auto; height: 44px; }
.site-header--solid .nav { display: flex; align-items: center; gap: 32px; color: var(--sg-ink); font-size: 15px; font-weight: 500; text-shadow: none; }
.site-header--solid .nav a { opacity: .92; transition: opacity .2s ease; }
.site-header--solid .nav a:hover { opacity: 1; color: var(--sg-red); text-decoration: underline; text-underline-offset: 4px; }
.site-header--solid .nav .account-icon { display: inline-flex; width: 22px; height: 22px; align-items: center; justify-content: center; }
.site-header--solid .nav .account-icon:hover { text-decoration: none; }
.site-header--solid .cart-icon { position: relative; display: inline-flex; width: 22px; align-items: center; justify-content: center; }
.site-header--solid .nav-toggle { display: none; width: 34px; height: 34px; padding: 0; flex-direction: column; justify-content: center; gap: 5px; border: 0; border-radius: 0; background: none; box-shadow: none; }
.site-header--solid .nav-toggle span { display: block; width: 22px; height: 2px; border-radius: 2px; background: var(--sg-ink); transition: transform .22s ease, opacity .18s ease; }
.site-header--solid .nav-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-header--solid .nav-toggle.is-open span:nth-child(2) { opacity: 0; }
.site-header--solid .nav-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
#mobileMenu.mobile-menu { position: fixed; inset: 0; z-index: 19; display: flex; padding: 90px 24px 40px; align-items: center; justify-content: center; flex-direction: column; gap: 26px; color: #fff; background: linear-gradient(160deg,#2a1210 0%,#3a1613 55%,#200d0b 100%); }
#mobileMenu.mobile-menu[hidden] { display: none; }
#mobileMenu.mobile-menu a { padding: 0; border: 0; color: rgba(255,255,255,.9); font-family: var(--sg-font-display); font-size: 24px; font-weight: 400; }
#mobileMenu.mobile-menu .btn-primary { margin-top: 6px; padding: 16px 38px; border-radius: 999px; color: #fff; background: var(--sg-red); font-size: 20px; box-shadow: 0 10px 24px rgba(227,28,61,.45); }
#mobileMenu.mobile-menu .mobile-account { display: inline-flex; align-items: center; gap: 10px; }
#mobileMenu.mobile-menu .mobile-account svg { width: 22px; height: 22px; }

.site-footer { padding: 0; color: rgba(255,255,255,.72); background: linear-gradient(160deg,#2a1210 0%,#3a1613 55%,#200d0b 100%); }
.footer-inner { display: grid; max-width: 1140px; margin: 0 auto; padding: 64px 24px 0; grid-template-columns: 1.5fr 1fr 1fr; gap: 48px; }
.footer-brand img { width: auto; height: 42px; margin-bottom: 18px; }
.footer-brand p { max-width: 320px; margin: 0 0 20px; color: rgba(255,255,255,.6); font-size: 14px; line-height: 1.7; }
.footer-socials { display: flex; gap: 10px; }
.footer-socials a { display: flex; width: 34px; height: 34px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; color: rgba(255,255,255,.8); background: rgba(255,255,255,.08); transition: background .18s,color .18s,transform .18s; }
.footer-socials a:hover { transform: translateY(-2px); border-color: transparent; color: #fff; background: var(--sg-red); }
.footer-socials i { display: block; font-size: 16px; line-height: 1; }
.footer-socials img { display: block; height: 17px; object-fit: contain; width: 17px; }
.footer-col h4 { margin: 0 0 16px; color: #fff; font-family: var(--sg-font-display); font-size: 17px; font-weight: 400; }
.footer-col ul { display: flex; margin: 0; padding: 0; flex-direction: column; gap: 11px; list-style: none; }
.footer-col a { color: rgba(255,255,255,.66); font-size: 14px; transition: color .15s; }
.footer-col a:hover { color: #fff; }
.footer-note { margin: 18px 0 0; color: rgba(255,255,255,.55); font-size: 13.5px; line-height: 1.7; }
.footer-bottom { display: flex; max-width: 1140px; margin: 48px auto 0; padding: 28px 24px 34px; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.5); font-size: 13px; }
.footer-bottom__right .footer-bottom-widget,
.footer-bottom__right .widget,
.footer-bottom__right p { margin: 0; }

@media (max-width: 800px) {
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 36px; }
  .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .site-header.site-header--solid { padding: 16px 20px 14px; }
  .site-header--solid .logo img { height: 40px; }
  .site-header--solid .nav { gap: 16px; }
  .site-header--solid .nav .nav-label { display: none; }
  .site-header--solid .nav-toggle { display: flex; }
}
@media (max-width: 520px) {
  .footer-inner { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { justify-content: center; text-align: center; }
}

