/* Inner-page design defaults. Elementor kits and explicit widget controls take
   precedence. Content rules are scoped away from the shared site shell. */
:where(html) {
  --e-global-typography-primary-font-family: 'Outfit';
  --e-global-typography-primary-font-weight: 400;
  --e-global-typography-secondary-font-family: 'Outfit';
  --e-global-typography-secondary-font-weight: 400;
  --e-global-typography-text-font-family: 'Inter';
  --e-global-typography-text-font-weight: 400;
  --e-global-typography-accent-font-family: 'Inter';
  --e-global-typography-accent-font-weight: 600;
}

body.stargate-inner {
  --ink: #170304;
  --cream: #F4F0EC;
  --red: #DB0000;
  --sg-accent: var(--e-global-color-accent, #DB0000);
  --sg-border: color-mix(in srgb, currentColor 22%, transparent);
  --sg-display: var(--e-global-typography-primary-font-family, 'Outfit'), -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --sg-text: var(--e-global-typography-text-font-family, 'Inter'), -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --heading_font: var(--sg-display);
  --content_font: var(--sg-text);
  --heading_font-weight: var(--e-global-typography-primary-font-weight, 400);
  font-family: var(--sg-text);
  font-size: 16px;
  line-height: 1.7;
}

.stargate-inner :where(#stargate-main) :where(#stargate-main, .page-title) :where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--sg-display);
  font-weight: var(--e-global-typography-primary-font-weight, 400);
  line-height: 1.15;
  letter-spacing: -.035em;
  color: inherit;
  overflow-wrap: break-word;
}

.stargate-inner :where(#stargate-main) :where(h1) { font-size: clamp(38px, 5vw, 72px); }
.stargate-inner :where(#stargate-main) :where(h2) { font-size: clamp(30px, 3.6vw, 52px); }
.stargate-inner :where(#stargate-main) :where(h3) { font-size: clamp(25px, 2.7vw, 38px); }
.stargate-inner :where(#stargate-main) :where(h4) { font-size: 24px; }
.stargate-inner :where(#stargate-main) :where(h5) { font-size: 21px; }
.stargate-inner :where(#stargate-main) :where(h6) { font-size: 18px; }

.stargate-inner :where(#stargate-main) :where(.post-content, .entry-content) {
  font-family: var(--sg-text);
  font-size: clamp(16px, 1.3vw, 18px);
  line-height: 1.8;
  overflow-wrap: break-word;
  min-width: 0;
}
.stargate-inner :where(#stargate-main) :where(.post-content, .entry-content) :where(p, ul, ol, blockquote) {
  margin-block: 0 1.4em;
}
.stargate-inner :where(#stargate-main) :where(.post-content, .entry-content) :where(h2, h3, h4, h5, h6) {
  margin-block: 1.4em .6em;
}
.stargate-inner :where(#stargate-main) :where(.post-content, .entry-content) :where(p, li) a {
  text-decoration: underline;
  text-underline-offset: .18em;
}
.stargate-inner :where(#stargate-main) :where(.post-content, .entry-content) blockquote {
  border-inline-start: 3px solid currentColor;
  padding: 1em clamp(20px, 3vw, 36px);
  font-family: var(--sg-display);
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1.45;
}
.stargate-inner :where(#stargate-main) :where(img, video) { max-width: 100%; height: auto; }
.stargate-inner :where(#stargate-main) :where(.post-content, .entry-content) pre { overflow-x: auto; }

/* Low-specificity defaults allow Elementor widget controls to remain useful. */
.stargate-inner :where(#stargate-main) :where(.elementor-widget-heading .elementor-heading-title) {
  font-family: var(--sg-display);
  font-weight: var(--e-global-typography-primary-font-weight, 400);
}
.stargate-inner :where(#stargate-main) :where(.elementor-widget-text-editor) { font-family: var(--sg-text); }
.stargate-inner :where(#stargate-main) :is(.elementor-button, .wp-block-button__link, .btn, input[type="submit"], input[type="reset"], button[type="submit"], .search-submit, .comment-form__submit, .wp-block-search__button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 17px 30px;
  border: 0;
  border-radius: 999px;
  background: var(--sg-accent);
  color: #fff;
  font-family: var(--sg-text);
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  letter-spacing: .005em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14);
  transition: color .4s, background-color .4s, transform .5s, box-shadow .5s;
}
.stargate-inner :where(#stargate-main) :is(.elementor-button, .wp-block-button__link, .btn, input[type="submit"], input[type="reset"], button[type="submit"], .search-submit, .comment-form__submit, .wp-block-search__button):where(:hover, :focus-visible) {
  background: #fff;
  color: var(--e-global-color-accent, #DB0000);
  box-shadow: 0 14px 34px -14px rgba(219,0,0,.6);
}
.stargate-inner :where(#stargate-main) :is(.elementor-button, .wp-block-button__link, .btn, input[type="submit"], input[type="reset"], button[type="submit"], .search-submit, .comment-form__submit, .wp-block-search__button):focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 4px;
}
/* In Elementor, add stargate-button-ink under Advanced > CSS Classes. */
.stargate-inner :where(#stargate-main) .stargate-button-ink .elementor-button {
  background: var(--ink);
  color: var(--cream);
}
.stargate-inner :where(#stargate-main) .stargate-button-ink .elementor-button:where(:hover, :focus-visible) {
  background: var(--ink);
  color: var(--cream);
}
@media (prefers-reduced-motion: reduce) {
  .stargate-inner :where(#stargate-main) :is(.elementor-button, .wp-block-button__link, .btn, input[type="submit"], input[type="reset"], button[type="submit"], .search-submit, .comment-form__submit, .wp-block-search__button) { transition: none; }
}

/* Homepage card proportions for standard grids; layout widgets retain their columns. */
.stargate-inner :where(#stargate-main) :where(.gt3c-blog[data-preset="grid"][data-variant="v1"], .gt3c-blog[data-preset="carousel"], .blog-archive) .post-card {
  margin-bottom: 0;
  border-radius: clamp(20px, 2.2vw, 28px);
  overflow: hidden;
  transition: transform .55s cubic-bezier(.16,1,.3,1), box-shadow .5s ease;
}
.stargate-inner :where(#stargate-main) :where(.gt3c-blog[data-preset="grid"][data-variant="v1"], .gt3c-blog[data-preset="carousel"], .blog-archive) .post-card:hover {
  transform: translateY(-5px);
}
.stargate-inner :where(#stargate-main) :where(.gt3c-blog[data-preset="grid"][data-variant="v1"], .gt3c-blog[data-preset="carousel"], .blog-archive) .post-card__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: clamp(20px, 2.1vw, 28px);
}
.stargate-inner :where(#stargate-main) :where(.gt3c-blog[data-preset="grid"][data-variant="v1"], .gt3c-blog[data-preset="carousel"], .blog-archive) .post-card__media {
  aspect-ratio: 415 / 250;
  overflow: hidden;
}
.stargate-inner :where(#stargate-main) :where(.post-card__media) > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Card spacing; typography is defined once in the article rules below. */
.stargate-inner :where(#stargate-main) :where(.post-card) :is(.title-md, .post-excerpt) { margin: 0; }
.stargate-inner :where(#stargate-main) :where(.post-card) .meta { margin-top: 2px; }
.stargate-inner :where(#stargate-main) :where(.post-card .meta) a { color: inherit; }
.stargate-inner :where(#stargate-main) :where(.post-card .meta-avatar) img { width: 30px; height: 30px; border-radius: 50%; }
.stargate-inner :where(#stargate-main) :where(.post-card) .post-cat {
  padding: 6px 11px;
  border-radius: 999px;
  font-family: var(--sg-text);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.stargate-inner :where(#stargate-main) :where(.post-card) .post-link,
.stargate-inner :where(#stargate-main) :where(.elementor-post) .elementor-post__read-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  font-family: var(--sg-text);
  font-size: 13.5px;
  font-weight: 600;
  text-transform: none;
  text-decoration: none;
}
.stargate-inner :where(#stargate-main) :where(.elementor-button) {
  background-color: var(--e-global-color-accent, #DB0000);
  font-family: var(--e-global-typography-accent-font-family, 'Inter'), sans-serif;
  font-weight: var(--e-global-typography-accent-font-weight, 600);
  letter-spacing: .005em;
}
.stargate-inner :where(#stargate-main) :where(.elementor-button):where(:hover, :focus-visible) {
  background-color: #fff;
  color: var(--e-global-color-accent, #DB0000);
}
@media (prefers-reduced-motion: reduce) {
  .stargate-inner :where(#stargate-main) .post-card { animation: none; opacity: 1; transition: none; }
  .stargate-inner :where(#stargate-main) .post-card:hover { transform: none; }
}

/* Shrift's split blog slider hardcodes Archivo instead of its heading token. */
.stargate-inner :where(#stargate-main) .gt3-blog-slider[data-layout=split] .post-slide .title-md {
  font-family: var(--e-global-typography-primary-font-family, 'Outfit'), sans-serif;
  font-weight: var(--e-global-typography-primary-font-weight, 400);
}

/* Match the homepage button icon spacing and arrow movement. */
.stargate-inner :where(#stargate-main) :where(.elementor-button-content-wrapper) { align-items: center; gap: 12px; }
.stargate-inner :where(#stargate-main) :where(.elementor-button-icon) {
  display: inline-flex;
  transition: transform .5s cubic-bezier(.16,1,.3,1);
}
.stargate-inner :where(#stargate-main) :where(.elementor-button:hover, .elementor-button:focus-visible) .elementor-button-icon {
  transform: translate(4px, -4px);
}
@media (prefers-reduced-motion: reduce) {
  .stargate-inner :where(#stargate-main) :where(.elementor-button-icon) { transition: none; }
}

/* Article typography shared by grids, related posts, featured lists and sliders.
   Colors inherit the section; article action links use the homepage accent.
   Elementor global tokens and widget-specific declarations can override defaults. */
.stargate-inner :where(#stargate-main) :is(.post-card, .post-slide, .related-card, .gt3-featured, .elementor-post, .widget) :is(.title-md, .related-card__title, .gt3-featured__title, .gt3-featured__item-title, .elementor-post__title, .wp-block-latest-posts__post-title) {
  font-family: var(--sg-display);
  font-size: clamp(18px, 1.6vw, 23px);
  font-weight: var(--e-global-typography-primary-font-weight, 400);
  line-height: 1.25;
  letter-spacing: -.02em;
  color: inherit;
  text-decoration: none;
}
.stargate-inner :where(#stargate-main) :is(.gt3-featured__title, .gt3-featured__item-title, .elementor-post__title) a {
  font-family: inherit;
  color: inherit;
  text-decoration: none;
}
.stargate-inner :where(#stargate-main) :is(.post-card, .post-slide, .related-card, .gt3-featured, .elementor-post) :is(.post-excerpt, .elementor-post__excerpt) {
  font-family: var(--sg-text);
  font-size: 14.5px;
  font-weight: var(--e-global-typography-text-font-weight, 400);
  line-height: 1.6;
  color: inherit;
  opacity: .72;
}
/* Apply opacity once when Elementor wraps excerpts in paragraphs. */
.stargate-inner :where(#stargate-main) .elementor-post__excerpt p { opacity: 1; }
.stargate-inner :where(#stargate-main) :is(.post-card, .post-slide, .related-card, .gt3-featured, .elementor-post) :is(.meta, .related-card__meta, .elementor-post__meta-data) {
  font-family: var(--sg-text);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  color: inherit;
  opacity: .55;
}
.stargate-inner :where(#stargate-main) :is(.post-card, .post-slide, .related-card, .gt3-featured, .elementor-post) :is(.post-link, .read-more, .elementor-post__read-more) {
  font-family: var(--sg-text);
  font-size: 13.5px;
  font-weight: var(--e-global-typography-accent-font-weight, 600);
  color: var(--e-global-color-accent, #FF3B21);
  text-decoration: none;
}
.stargate-inner :where(#stargate-main) :is(.post-card, .post-slide, .related-card, .gt3-featured, .elementor-post) :is(.post-link, .read-more, .elementor-post__read-more):where(:hover, :focus-visible) {
  color: var(--e-global-color-accent, #FF3B21);
}

/* Navigation controls are not CTA buttons. Match the homepage hnav geometry. */
.stargate-inner :where(#stargate-main) :is(.gt3-blog-slider__nav, .gt3c-blog__carousel-actions) { gap: 10px; }
.stargate-inner :where(#stargate-main) :is(.gt3-blog-slider__arrow, .gt3c-blog__carousel-actions .gt3c-blog__carousel-arrow, .gt3-posts-carousel__arrow, .elementor-swiper-button) {
  box-sizing: border-box;
  width: 46px;
  height: 46px;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: transparent;
  color: inherit;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 30%, transparent);
  line-height: 1;
  cursor: pointer;
  transition: background .35s, box-shadow .35s, scale .45s cubic-bezier(.16,1,.3,1);
}
.stargate-inner :where(#stargate-main) :is(.gt3-blog-slider__arrow, .gt3c-blog__carousel-actions .gt3c-blog__carousel-arrow, .gt3-posts-carousel__arrow, .elementor-swiper-button):hover {
  background: var(--sg-accent);
  color: #F4F0EC;
  box-shadow: inset 0 0 0 1px var(--sg-accent);
  scale: 1.07;
}
.stargate-inner :where(#stargate-main) :is(.gt3-blog-slider__arrow, .gt3c-blog__carousel-actions .gt3c-blog__carousel-arrow, .gt3-posts-carousel__arrow, .elementor-swiper-button):active { scale: .96; }
.stargate-inner :where(#stargate-main) .gt3-blog-slider__arrow-icon { width: 18px; height: 12px; max-width: none; }
.stargate-inner :where(#stargate-main) .gt3-blog-slider__arrow-progress { inset: 0; width: 100%; height: 100%; }
.stargate-inner :where(#stargate-main) .elementor-swiper-button :is(svg, i) { width: 18px; height: 18px; font-size: 18px; }
@media (max-width: 600px) {
  .stargate-inner :where(#stargate-main) :is(.gt3-blog-slider__arrow, .gt3c-blog__carousel-actions .gt3c-blog__carousel-arrow, .gt3-posts-carousel__arrow, .elementor-swiper-button) { width: 42px; height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  .stargate-inner :where(#stargate-main) :is(.gt3-blog-slider__arrow, .gt3c-blog__carousel-actions .gt3c-blog__carousel-arrow, .gt3-posts-carousel__arrow, .elementor-swiper-button) { transition: none; }
}

/* Carousel link: homepage btn + btn-sm appearance, without modal behavior. */
.stargate-inner :where(#stargate-main) .gt3c-blog__carousel-view-all {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: auto;
  height: auto;
  padding: 13px 22px;
  border: 0;
  border-radius: 999px;
  background: var(--sg-accent);
  color: #fff;
  font-family: var(--sg-text);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .005em;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  isolation: isolate;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14);
  transition: color .4s, box-shadow .5s;
}
.stargate-inner :where(#stargate-main) .gt3c-blog__carousel-view-all::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: #fff;
  transform: translateY(101%);
  transition: transform .55s cubic-bezier(.16,1,.3,1);
}
.stargate-inner :where(#stargate-main) .gt3c-blog__carousel-view-all:where(:hover, :focus-visible) {
  background: var(--sg-accent);
  color: var(--sg-accent);
  box-shadow: 0 14px 34px -14px rgba(219,0,0,.6);
}
.stargate-inner :where(#stargate-main) .gt3c-blog__carousel-view-all:where(:hover, :focus-visible)::before { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .stargate-inner :where(#stargate-main) .gt3c-blog__carousel-view-all,
  .stargate-inner :where(#stargate-main) .gt3c-blog__carousel-view-all::before { transition: none; }
}

/* Native widgets inherit these defaults; no section background is imposed. */
.stargate-inner :where(#stargate-main) :is(.widget, .site-content__sidebar, .post-comments) {
  font-family: var(--sg-text);
  font-size: 14.5px;
  line-height: 1.6;
  overflow-wrap: anywhere;
  min-width: 0;
}
.stargate-inner :where(#stargate-main) :is(.widget, .site-content__sidebar) :is(.widget-title, .wp-block-heading, h1, h2, h3, h4, h5, h6),
.stargate-inner :where(#stargate-main) .comment-form__title {
  font-family: var(--sg-display);
  font-size: clamp(20px, 1.65vw, 27px);
  font-weight: var(--e-global-typography-primary-font-weight, 400);
  line-height: 1.2;
  letter-spacing: -.015em;
  margin-block: 0 20px;
  color: inherit;
}
.stargate-inner :where(#stargate-main) .widget + .widget { margin-top: 32px; }
.stargate-inner :where(#stargate-main) :is(.widget_categories, .widget_archive, .widget_recent_entries, .widget_nav_menu) ul {
  list-style: none;
  padding-inline-start: 0;
}
.stargate-inner :where(#stargate-main) :is(.widget_categories, .widget_archive, .widget_recent_entries, .widget_nav_menu) li + li { margin-top: 12px; }
.stargate-inner :where(#stargate-main) :is(.widget_categories, .widget_archive, .widget_nav_menu) ul ul { padding-inline-start: 18px; margin-top: 12px; }
.stargate-inner :where(#stargate-main) .wp-block-categories li {
  font-family: var(--sg-text);
  font-size: 14.5px;
  line-height: 1.6;
  font-weight: 400;
  color: inherit;
}
.stargate-inner :where(#stargate-main) .widget a {
  text-underline-offset: .18em;
}
.stargate-inner :where(#stargate-main) .widget a:where(:hover, :focus-visible) { color: var(--sg-accent); }
.stargate-inner :where(#stargate-main) :is(.tagcloud, .wp-block-tag-cloud) .tag-cloud-link {
  font-family: var(--sg-text);
  font-weight: 600;
  letter-spacing: .1em;
  border: 1px solid var(--sg-border);
  border-radius: 999px;
  padding: 6px 11px;
  height: auto;
  background: transparent;
  color: inherit;
}
.stargate-inner :where(#stargate-main) :is(.tagcloud, .wp-block-tag-cloud) .tag-cloud-link:where(:hover, :focus-visible) {
  background: var(--sg-accent);
  color: #fff;
}
/* Low-specificity form defaults also cover new native form widgets.
   Checkbox, radio, file and range inputs keep their native interaction models. */
.stargate-inner :where(#stargate-main) :is(input, select, textarea, button) { font-family: var(--sg-text); }
.stargate-inner :where(#stargate-main) :is(input:not([type]), input[type="text"], input[type="email"], input[type="url"], input[type="tel"], input[type="search"], input[type="password"], input[type="number"], input[type="date"], select, textarea) {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  padding: 14px 18px;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  border: 1px solid var(--sg-border);
  border-radius: 12px;
  background-color: transparent;
  color: inherit;
}
.stargate-inner :where(#stargate-main) textarea { min-height: 130px; resize: vertical; }
.stargate-inner :where(#stargate-main) :is(input, textarea)::placeholder { color: currentColor; opacity: .6; }
.stargate-inner :where(#stargate-main) :is(input, select, textarea, button, a):focus-visible {
  outline: 2px solid var(--sg-accent);
  outline-offset: 3px;
}
.stargate-inner :where(#stargate-main) :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--sg-accent); }
.stargate-inner :where(#stargate-main) .wp-block-search__inside-wrapper {
  border-radius: 999px;
  border-color: var(--sg-border);
  background: transparent;
  flex-wrap: wrap;
}
.stargate-inner :where(#stargate-main) .wp-block-search__input { border: 0; flex: 1 1 120px; height: auto; }
.stargate-inner :where(#stargate-main) .wp-block-search__button { height: auto; margin: 0; }
.stargate-inner :where(#stargate-main) :is(.pagination, .comment-pagination, .gt3c-blog__pagination) .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid var(--sg-border);
  border-radius: 999px;
  font-family: var(--sg-text);
  font-size: 14px;
  line-height: 1.4;
  text-decoration: none;
  background: transparent;
  color: inherit;
  margin: 0 5px;
}
.stargate-inner :where(#stargate-main) :is(.pagination, .comment-pagination, .gt3c-blog__pagination) .page-numbers:where(.current, :hover, :focus-visible) {
  background: var(--sg-accent);
  color: #fff;
}
.stargate-inner :where(#stargate-main) :is(.post-content, .entry-content, .widget) table {
  width: 100%;
  border-collapse: collapse;
  font: inherit;
}
.stargate-inner :where(#stargate-main) :is(.post-content, .entry-content, .widget) :is(th, td) {
  padding: 10px;
  border-bottom: 1px solid var(--sg-border);
  text-align: start;
}
@media (prefers-reduced-motion: reduce) {
  .stargate-inner :where(#stargate-main) :is(button, input[type="submit"], .page-numbers, .tag-cloud-link) { transition: none; }
}

/* All theme carousel controls share the same icon and disabled treatment. */
.stargate-inner :where(#stargate-main) :is(.gt3c-blog__carousel-actions .gt3c-blog__carousel-arrow, .gt3-posts-carousel__arrow) svg {
  display: block;
  width: 18px;
  height: 12px;
  max-width: none;
  flex-shrink: 0;
  color: inherit;
}
.stargate-inner :where(#stargate-main) :is(.gt3-blog-slider__arrow, .gt3c-blog__carousel-actions .gt3c-blog__carousel-arrow, .gt3-posts-carousel__arrow, .elementor-swiper-button):is(:disabled, [aria-disabled="true"], .swiper-button-disabled) {
  opacity: .35;
  cursor: default;
  pointer-events: none;
  background: transparent;
  color: inherit;
  scale: 1;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 30%, transparent);
}


/* Hide post comment counts/icons and the separator immediately before them. */
.stargate-inner :where(#stargate-main) .meta-comments,
.stargate-inner :where(#stargate-main) .meta-sep:has(+ .meta-comments) { display:none !important; }

/* Testimonial person images. */
.tav-photo { overflow:hidden; }
.tav-photo img { width:100%; height:100%; display:block; object-fit:cover; border-radius:inherit; }
