/* ================================================
   ALLIES PARTY — MAIN THEME STYLESHEET
   assets/css/theme.css
   Enqueued via functions.php after Google Fonts.
   Genesis 3.6.1 / WP Engine
================================================ */


/* ================================================
   1. DESIGN TOKENS
================================================ */

:root {

  /* Colors */
  --color-navy:        #1a2a3e;
  --color-slate:       #5B7C99;
  --color-slate-dark:  #4a6882;
  --color-ice:         #c8daea;
  --color-warm-white:  #f5f1ec;
  --color-border:      #e0dbd3;
  --color-border-light:#e6e0d8;
  --color-white:       #ffffff;
  --color-text:        #1a1a2e;
  --color-text-muted:  #6b6560;

  /* Typography */
  --font-serif: 'DM Serif Display', Georgia, serif;
  --font-sans:  'Josefin Sans', Arial, sans-serif;
  --font-script: 'Pinyon Script', cursive;

  /* Type scale */
  --text-xs:   10px;
  --text-sm:   11px;
  --text-nav:  13px;
  --text-base: 14px;
  --text-body: 16px;
  --text-md:   24px;
  --text-lg:   32px;
  --text-xl:   46px;
  --text-hero: 72px;

  /* Spacing */
  --space-xs:  8px;
  --space-sm:  16px;
  --space-md:  32px;
  --space-lg:  52px;
  --space-xl:  80px;
  --space-xxl: 120px;

  /* Layout */
  --nav-height: 150px;
  --max-content: 1280px;
}


/* ================================================
   2. RESET + BASE
================================================ */

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

body {
  font-family: var(--font-sans);
  color: var(--color-text);
  background: var(--color-white);
  font-size: var(--text-body);
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
	margin:0;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-serif);
  font-weight: 400;
  color: var(--color-text);
  line-height: 1.15;
}

a {
  color: var(--color-slate);
  text-decoration: none;
}

a:hover {
  color: var(--color-slate-dark);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}


/* ================================================
   3. GENESIS LAYOUT OVERRIDES
================================================ */

/* Full-width sitewide — no sidebar */
.site-container,
.content-sidebar-wrap,
.content {
  max-width: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
  float: none;
}

/* Remove Genesis default inner padding on content */
.entry {
  padding: 0;
  margin: 0;
}

.entry-content {
  padding: 0;
}

/* Remove Genesis post meta we don't use on pages */
.entry-header .entry-meta,
.entry-footer {
  display: none;
}

/* Remove Genesis site description tagline */
.site-description {
  display: none;
}

/* Remove breadcrumbs */
.breadcrumb {
  display: none;
}


/* ================================================
   4. ANNOUNCEMENT BANNER
================================================ */

.allies-announcement-wrap {
  background: var(--color-navy);
  color: rgba(255,255,255,0.85);
  text-align: center;
  padding: 8px 20px;
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.allies-announcement-wrap a {
  color: var(--color-ice);
  text-decoration: underline;
}


/* ================================================
   5. NAVIGATION
   Custom unified header — allies-header contains
   logo + nav in one flex row. Genesis header/nav
   output is suppressed via functions.php Section 8.
================================================ */

.allies-header {
  background: var(--color-slate);
  width: 100%;
  position: relative;
  z-index: 100;
}

.allies-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 52px;
  min-height: var(--nav-height);
}

/* ---- Logo ---- */
.allies-header-logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding: 16px 0;
}

.allies-header-logo a,
.allies-header-logo .custom-logo-link {
  display: block;
  line-height: 0;
}

.allies-header-logo img {
  display: block;
  height: 120px;
  width: auto;
}

.allies-header-logo .custom-logo-link,
.allies-header-logo .allies-site-name {
  position: relative;
  z-index: 1;
}

.allies-site-name {
  font-family: var(--font-serif);
  font-size: 20px;
  color: var(--color-white);
  text-decoration: none;
}

/* ---- Nav ---- */
.allies-header-nav {
  display: flex;
  align-items: center;
}

.allies-nav-menu {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.allies-nav-menu li {
  position: relative;
  margin: 0;
  padding: 0;
}

.allies-nav-menu a {
  font-family: var(--font-sans);
  font-size: var(--text-nav);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  padding: 0 16px;
  display: block;
  line-height: var(--nav-height);
  transition: color 0.15s ease;
  white-space: nowrap;
}

.allies-nav-menu > .menu-item-has-children > a {
  padding-right: 28px;
  position: relative;
}

.allies-nav-menu > .menu-item-has-children > a::after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid rgba(255,255,255,0.75);
  content: "";
  margin-top: -2px;
  position: absolute;
  right: 14px;
  top: 50%;
  transition: border-top-color 0.15s ease, transform 0.15s ease;
}

.allies-nav-menu > .menu-item-has-children:hover > a::after,
.allies-nav-menu > .menu-item-has-children:focus-within > a::after {
  border-top-color: var(--color-white);
  transform: rotate(180deg);
}

.allies-nav-menu > .menu-item-home > a {
  align-items: center;
  display: flex;
  font-size: 0;
  justify-content: center;
  min-width: 42px;
  padding: 0 14px;
}

.allies-nav-menu > .menu-item-home > a::before {
  background: currentColor;
  content: "";
  display: block;
  height: 19px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E") center / contain no-repeat;
  width: 19px;
}

.allies-nav-menu > .allies-nav-cart-menu > a {
  align-items: center;
  display: flex;
  font-size: 0;
  justify-content: center;
  min-width: 52px;
  padding: 0 28px 0 14px;
}

.allies-nav-menu > .allies-nav-cart-menu > a::before {
  background: currentColor;
  content: "";
  display: block;
  height: 20px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
  width: 20px;
}

.allies-nav-menu > .allies-nav-cart-menu > a::after {
  right: 10px;
}

.allies-nav-menu a:hover,
.allies-nav-menu .current-menu-item > a,
.allies-nav-menu .current-page-ancestor > a {
  color: var(--color-white);
}

/* ---- Sub-menus ---- */
.allies-nav-menu .sub-menu {
  display: none;
  position: absolute;
  top: calc(50% + 18px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-navy);
  border-top: 3px solid rgba(255,255,255,0.18);
  min-width: 180px;
  padding: 10px 0;
  z-index: 200;
  list-style: none;
  margin: 0;
  box-shadow: 0 18px 36px rgba(16, 27, 51, 0.18);
}

.allies-nav-menu .sub-menu::before {
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid var(--color-navy);
  content: "";
  left: 50%;
  position: absolute;
  top: -10px;
  transform: translateX(-50%);
}

.allies-nav-menu .sub-menu a {
  padding: 11px 20px;
  line-height: 1.5;
  font-size: var(--text-sm);
  color: rgba(255,255,255,0.75);
}

.allies-nav-menu .sub-menu a:hover {
  color: var(--color-white);
  background: rgba(255,255,255,0.05);
}

.allies-nav-menu li:hover > .sub-menu,
.allies-nav-menu li:focus-within > .sub-menu {
  display: block;
}

/* ---- Hamburger ---- */
.allies-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 8px;
  background: none;
  border: none;
  flex-shrink: 0;
}

.allies-hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: rgba(255,255,255,0.85);
  border-radius: 1px;
}

/* ---- Mobile ---- */
@media (max-width: 768px) {

  .allies-header-inner {
    padding: 0 20px;
    flex-wrap: wrap;
  }

  .allies-hamburger {
    display: flex;
  }

  .allies-header-nav {
    display: none;
    width: 100%;
    background: var(--color-navy);
    padding: 12px 0;
  }

  .allies-header-nav.open {
    display: block;
  }

  .allies-nav-menu {
    flex-direction: column;
    align-items: stretch;
  }

  .allies-nav-menu a {
    padding: 12px 20px;
    line-height: 1.5;
    font-size: 12px;
  }

  .allies-nav-menu > .menu-item-has-children > a {
    padding-right: 42px;
  }

  .allies-nav-menu > .menu-item-has-children > a::after {
    right: 22px;
  }

  .allies-nav-menu .sub-menu {
    box-shadow: none;
    display: block;
    left: auto;
    min-width: 0;
    padding: 0 0 8px 18px;
    position: static;
    transform: none;
  }

  .allies-nav-menu .sub-menu::before {
    display: none;
  }

  .allies-nav-menu > .allies-nav-cart-menu > a {
    font-size: 12px;
    justify-content: flex-start;
    min-width: 0;
    padding-left: 20px;
  }

  .allies-nav-menu > .allies-nav-cart-menu > a::before {
    margin-right: 10px;
  }

  .allies-nav-menu > .menu-item-home > a {
    font-size: 12px;
    justify-content: flex-start;
    min-width: 0;
    padding-left: 20px;
  }

  .allies-nav-menu > .menu-item-home > a::before {
    margin-right: 10px;
  }

}

/* ================================================
   6. RESERVED / LEGACY HOMEPAGE WIDGET WRAPPERS REMOVED
   Homepage is now block-based (see Section 13). Do not
   reintroduce genesis_after_header widget wrapper classes
   (.allies-hero-wrap, .allies-tiles-wrap, etc.) for
   homepage sections. Section number kept to avoid
   renumbering the rest of the file.
================================================ */


/* ================================================
   7. COMMON SECTION PATTERNS
================================================ */

/* Eyebrow / section label */
.allies-eyebrow {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--color-slate);
  margin-bottom: var(--space-sm);
}

/* Section title — DM Serif Display */
.allies-section-title {
  font-family: var(--font-serif);
  font-size: var(--text-xl);
  font-weight: 400;
  color: var(--color-text);
  line-height: 1.15;
  margin-bottom: var(--space-sm);
}

.allies-section-title em {
  font-style: italic;
  color: var(--color-slate);
}

/* Decorative rule */
.allies-rule {
  width: 44px;
  height: 1px;
  background: var(--color-slate);
  margin: 20px auto 0;
}

/* Buttons */
.allies-btn-primary {
  display: inline-block;
  background: var(--color-slate);
  color: var(--color-white);
  border: none;
  padding: 16px 36px;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 2px;
  text-decoration: none;
  transition: background 0.15s ease;
}

.allies-btn-primary:hover {
  background: var(--color-slate-dark);
  color: var(--color-white);
}

.allies-btn-ghost {
  display: inline-block;
  background: transparent;
  color: var(--color-white);
  border: 1px solid rgba(255,255,255,0.45);
  padding: 16px 36px;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 2px;
  text-decoration: none;
  transition: border-color 0.15s ease;
}

.allies-btn-ghost:hover {
  border-color: rgba(255,255,255,0.8);
  color: var(--color-white);
}

.allies-btn-white {
  display: inline-block;
  background: var(--color-white);
  color: var(--color-navy);
  border: none;
  padding: 18px 44px;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 2px;
  text-decoration: none;
  transition: background 0.15s ease;
}

.allies-btn-white:hover {
  background: #f0f4f8;
  color: var(--color-navy);
}


/* ----------------------------------------------------------
   7.1  SHARED SECTION PATTERNS (Tier 1)
   Reusable across pages. Defined unscoped so any page can
   consume by assigning the class to a Gutenberg block via
   Editor > Block > Advanced > Additional CSS Class.

   Locked conventions:
   - Layout (display:flex, display:grid, gap) goes on
     `> .wp-block-group__inner-container`, not the outer.
     Section-level styles (background, padding) stay on the
     outer wrapper.
   - Gutenberg button rules use a doubled-class selector
     (.wp-block-button.wp-block-button) to bump specificity
     above core wp-block-library defaults without !important.
   ---------------------------------------------------------- */


/* ---- Feature Strip ----
   Horizontal band of dot + label items. Used on Homepage;
   reusable on About / Services / category pages.
   Block class: .allies-feature-strip on outer Group block.
   Children: repeated Group blocks with class .feature-item,
   each containing a .feature-dot Group (empty, decorative)
   and a Paragraph. */

.allies-feature-strip {
  background: var(--color-warm-white);
  border-top: 1px solid var(--color-border-light);
  border-bottom: 1px solid var(--color-border-light);
}

.allies-feature-strip > .wp-block-group__inner-container {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  max-width: var(--max-content);
  margin: 0 auto;
}

.allies-feature-strip .feature-item {
  border-right: 1px solid var(--color-border-light);
  padding: 20px var(--space-md);
}

.allies-feature-strip .feature-item:last-child {
  border-right: none;
}

.allies-feature-strip .feature-item > .wp-block-group__inner-container {
  display: flex;
  align-items: center;
  gap: 11px;
}

.allies-feature-strip .feature-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--color-slate);
  flex-shrink: 0;
}

.allies-feature-strip .feature-item p {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin: 0;
}


/* ---- CTA Band ----
   Dark navy band with headline + body + buttons.
   Used on Homepage; will be consumed by L1 CTA banner
   in the post-homepage refactor.

   Two layout variants:
   - default (centered): used when the band has stacked
     content meant to read center-aligned. Apply by giving
     the outer Cover block class .allies-cta-band only.
   - split (two-column): used when the band has text on
     left and a call-to-action on right. Apply by giving
     the outer Cover block classes .allies-cta-band
     .cta-band-split. */

.allies-cta-band {
  background: var(--color-navy);
  color: var(--color-white);
  padding: var(--space-xl) var(--space-lg);
	  text-align: center;
}

/* Default centered variant: inner content max-width and centered */
.allies-cta-band > .wp-block-group__inner-container,
.allies-cta-band > .wp-block-cover__inner-container {
  max-width: var(--max-content);
  margin: 0 auto;
  text-align: center;
}

/* Split variant override */
.allies-cta-band.cta-band-split > .wp-block-group__inner-container,
.allies-cta-band.cta-band-split > .wp-block-cover__inner-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-lg);
  text-align: left;
  flex-wrap: wrap;
}

.allies-cta-band h2 {
  color: var(--color-white);
  font-family: var(--font-serif);
  font-size: var(--text-xl);
  font-weight: 400;
  line-height: 1.15;
  margin: 0 0 var(--space-sm);
}

.allies-cta-band h2 em {
  font-style: italic;
  color: var(--color-ice);
}

.allies-cta-band p {
  color: rgba(255, 255, 255, 0.55);
  font-family: var(--font-sans);
  font-size: var(--text-body);
  /*font-weight: 300;*/
  line-height: 1.85;
  
  max-width: 480px;
	  margin: 0 auto var(--space-md);
}

/* In split variant, action column shrinks to content + sits right */
.allies-cta-band .cta-band-action {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 14px;
}

.allies-cta-band .cta-band-phone {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 0.1em;
  color: var(--color-white);
  margin-top: 10px;
  text-align: center;	
}

/* Gutenberg buttons inside CTA band: doubled-class specificity.
   Metrics match canonical .allies-btn-white (18px/44px padding). */
.allies-cta-band .wp-block-button.wp-block-button .wp-block-button__link {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 18px 44px;
  border-radius: 2px;
  text-decoration: none;
  background: var(--color-white);
  color: var(--color-navy);
  border: 1px solid var(--color-white);
  transition: background 0.15s ease, border-color 0.15s ease;
}

.allies-cta-band .wp-block-button.wp-block-button .wp-block-button__link:hover {
  background: #f0f4f8;
  border-color: #f0f4f8;
  color: var(--color-navy);
}


/* ---- Instagram Strip ----
   Warm-white band with title + handle + 5-up image grid.
   Used on Homepage; static placeholder grid until D5
   (Instagram handle + plugin choice) is resolved. When
   the plugin lands, replace .insta-grid contents with a
   plugin Shortcode block; the wrapper, head, and styling
   stay the same. */

.allies-insta-strip {
  background: var(--color-warm-white);
  padding: var(--space-xl) var(--space-lg);
}

.allies-insta-strip > .wp-block-group__inner-container {
  max-width: var(--max-content);
  margin: 0 auto;
}

.allies-insta-strip .insta-head > .wp-block-group__inner-container {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 28px;
}

.allies-insta-strip .insta-head h2 {
  font-family: var(--font-serif);
  font-size: 38px;
  font-weight: 400;
  color: var(--color-text);
  margin: 0;
}

.allies-insta-strip .insta-head h2 em {
  font-style: italic;
  color: var(--color-slate);
}

.allies-insta-strip .insta-handle {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-slate);
  margin: 0;
}

.allies-insta-strip .insta-grid > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
}

.allies-insta-strip .insta-grid .wp-block-image {
  margin: 0;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 2px;
}

.allies-insta-strip .insta-grid .wp-block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/* ---- Members Strip ----
   Slim band of chamber-of-commerce / association logos.
   Used on Homepage; reusable on Contact or About if
   credibility framing is useful there. */

.allies-members-strip {
  background: var(--color-white);
  border-top: 1px solid var(--color-border-light);
  padding: 20px var(--space-lg);
}

.allies-members-strip > .wp-block-group__inner-container {
  display: flex;
  align-items: center;
  max-width: var(--max-content);
  margin: 0 auto;
}

.allies-members-strip .members-label {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #b0a898;
  white-space: nowrap;
  margin: 0 24px 0 0;
}

.allies-members-strip .members-list > .wp-block-group__inner-container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
}

.allies-members-strip .members-list .wp-block-image {
  margin: 0;
  padding: 0 16px;
  border-right: 1px solid var(--color-border);
  height: 60px;
  display: flex;
  align-items: center;
}

.allies-members-strip .members-list .wp-block-image:last-child {
  border-right: none;
}

.allies-members-strip .members-list .wp-block-image img {
  height: 60px;
  width: auto;
  display: block;
}


/* ----- .allies-photo-break: full-bleed photo break ----- */
/* Supports either:
   1) Group block with Image inside, or
   2) Cover block with optional .photo-caption inside
*/

.allies-photo-break {
  width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
  overflow: hidden;
}

/* Image-wrapper Group version */
.allies-photo-break > .wp-block-group__inner-container {
  margin: 0;
  padding: 0;
}

.allies-photo-break .wp-block-image {
  width: 100%;
  margin: 0;
  display: block;
}

.allies-photo-break .wp-block-image img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  margin: 0;
}

/* Cover block version */
.allies-photo-break.wp-block-cover {
  width: 100%;
  min-height: auto !important;
  aspect-ratio: 16 / 9;
  position: relative;
  overflow: hidden;
  padding: 0;
  display: block;
}

/* Make Cover image fill the full photo area */
.allies-photo-break.wp-block-cover .wp-block-cover__image-background,
.allies-photo-break.wp-block-cover video.wp-block-cover__video-background {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Make Cover content layer fill the full photo area */
.allies-photo-break.wp-block-cover .wp-block-cover__inner-container {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
  z-index: 2;
}

/* Caption treatment */
.allies-photo-break .photo-caption {
  position: absolute;
  right: 28px;
  bottom: 22px;
  z-index: 3;

  margin: 0;
  max-width: 420px;
  padding: 8px 14px;

  background: rgba(26, 42, 62, 0.72);
  color: var(--color-white);
  font-family: var(--font-sans);
  font-size: 12px !important;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-align: right;
}

/* Small accent line above caption */
.allies-photo-break .photo-caption::before {
  content: '';
  display: block;
  width: 36px;
  height: 1px;
  background: var(--color-ice);
  margin: 0 0 6px auto;
}

@media (max-width: 768px) {
  .allies-photo-break .wp-block-image img,
  .allies-photo-break.wp-block-cover {
    aspect-ratio: 4 / 3;
  }

  .allies-photo-break .photo-caption {
    right: 16px;
    bottom: 16px;
    max-width: calc(100% - 32px);
    font-size: 11px !important;
  }
}
/* Override core Cover inner-container positioning for captioned photo breaks */
.allies-photo-break.photo-break-captioned.wp-block-cover > .wp-block-cover__inner-container {
  position: absolute !important;
  inset: 0;
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
  z-index: 2;
  display: block;
}

/* Keep the caption pinned to the actual photo area */
.allies-photo-break.photo-break-captioned.wp-block-cover .photo-caption {
  position: absolute !important;
  right: 28px;
  bottom: 22px;
  z-index: 3;
  margin: 0;
}
/* ── ALLIES SITEWIDE FOOTER ──────────────────────────────────
   Replaces previous .allies-footer markup.
   Renders inside Genesis's <footer class="site-footer"><div class="wrap">.
   ─────────────────────────────────────────────────────────── */

/* Override .wrap default constraints so the footer band can be
   full-bleed navy. Re-center the inner grid via .allies-footer-grid. */
.site-footer {
    background: var(--color-navy);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0;
}
.site-footer > .wrap {
    max-width: none;
    padding: 64px 52px 36px;
    margin: 0;
}

/* 4-column grid, centered, capped at 1100px */
.allies-footer-grid {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.8fr 1fr 1fr 1fr;
    gap: 48px;
    margin-bottom: 56px;
}

/* ── Column 1: Brand block ──────────────────────────────── */
.allies-footer-brand {
    color: rgba(255, 255, 255, 0.5);
}

.allies-footer-bear-mark {
    display: block;
    filter: grayscale(1);
    height: auto;
    margin: 0 auto;
    max-width: 118px;
    opacity: 0.58;
}

.allies-footer-logo-name {
    font-family: var(--font-script);
    font-size: 42px;
    color: #fff;
    line-height: 1.05;
    text-align: left;
    margin-bottom: 2px;
}

.allies-footer-logo-rule {
    width: 60px;
    height: 1px;
    background: rgba(255, 255, 255, 0.3);
    margin: 4px 0 5px;
}

.allies-footer-logo-sub {
    font-family: var(--font-sans);
    font-size: 8px;
    font-weight: 300;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
    line-height: 1.8;
    margin-bottom: 18px;
}

.allies-footer-tagline {
    font-family: var(--font-serif);
    font-style: italic;
    font-size: 17px;
    color: rgba(255, 255, 255, 0.45);
    line-height: 1.7;
    max-width: 240px;
    margin-bottom: 14px;
}

.allies-footer-body {
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.35);
    line-height: 1.85;
    max-width: 240px;
    margin-bottom: 22px;
    letter-spacing: 0.03em;
}

/* Social pill row */
.allies-footer-social {
    display: flex;
    gap: 10px;
}

.allies-footer-social-btn {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.15);
    padding: 8px 18px;
    border-radius: 2px;
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
    transition: background 150ms ease, color 150ms ease;
}
.allies-footer-social-btn:hover {
    background: rgba(255, 255, 255, 0.13);
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
}

/* ── Columns 2–4: Title + link list pattern ─────────────── */
.allies-footer-col-title {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
    margin-bottom: 22px;
}

/* wp_nav_menu output gets .allies-footer-menu on the <ul> */
.allies-footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}
.allies-footer-menu li {
    margin: 0 0 12px;
    padding: 0;
}
.allies-footer-menu li a {
    display: block;
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
    transition: color 150ms ease;
}
.allies-footer-menu li a:hover {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
}

/* ── Column 4: Contact ──────────────────────────────────── */
.allies-footer-contact-line {
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.5);
    margin: 0 0 10px;
    line-height: 1.65;
    letter-spacing: 0.03em;
}

.allies-footer-contact-emergency {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.28);
    line-height: 1.65;
    letter-spacing: 0.03em;
    margin: 2px 0 0;
}

.allies-footer-inquiry-btn {
    display: inline-block;
    margin-top: 18px;
    padding: 11px 24px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.2);
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    border-radius: 2px;
    transition: background 150ms ease, color 150ms ease;
}
.allies-footer-inquiry-btn:hover {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    text-decoration: none;
}

/* ── Bottom row: copyright + legal links ────────────────── */
.allies-footer-bottom {
    max-width: 1100px;
    margin: 0 auto;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 26px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

.allies-footer-bear-row {
    align-items: flex-end;
    display: flex;
    justify-content: center;
    margin: -16px auto 0;
    max-width: 1100px;
    min-height: 104px;
    overflow: hidden;
}

.allies-footer-copy {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 300;
    letter-spacing: 0.07em;
    color: rgba(255, 255, 255, 0.25);
    margin: 0;
}

.allies-footer-legal {
    display: flex;
    gap: 24px;
}

.allies-footer-legal a {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 300;
    letter-spacing: 0.07em;
    color: rgba(255, 255, 255, 0.25);
    text-decoration: none;
    transition: color 150ms ease;
}
.allies-footer-legal a:hover {
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
}

/* ── Responsive: tablet ─────────────────────────────────── */
@media (max-width: 1024px) {
    .allies-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
    .allies-footer-brand {
        grid-column: 1 / -1;
    }
}

/* ── Responsive: mobile ─────────────────────────────────── */
@media (max-width: 768px) {
    .site-footer > .wrap {
        padding: 48px 24px 32px;
    }
    .allies-footer-grid {
        grid-template-columns: 1fr;
        gap: 36px;
        margin-bottom: 40px;
    }
    .allies-footer-brand {
        grid-column: auto;
    }
    .allies-footer-bear-mark {
        max-width: 96px;
    }
    .allies-footer-bear-row {
        margin-top: -8px;
        min-height: 84px;
    }
    .allies-footer-tagline,
    .allies-footer-body {
        max-width: none;
    }
    .allies-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
    .allies-footer-legal {
        flex-wrap: wrap;
        gap: 16px 20px;
    }
}


/* ============================================================
   ---- DESTINATION: new section 7.2 (insert between 7.1 and 8) ----
   Tier 2 page-family scope: .allies-category
   Shared styles for category landing pages (L1, L2, L3, L4).
   Currently covers: Category Hero.
   ============================================================ */



/* Tier 1 mobile breakpoints */

@media (max-width: 960px) {

  .allies-cta-band {
    padding: var(--space-lg) var(--space-md);
  }

  .allies-cta-band.cta-band-split > .wp-block-group__inner-container,
  .allies-cta-band.cta-band-split > .wp-block-cover__inner-container {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-md);
  }

  .allies-cta-band .cta-band-action {
    align-items: stretch;
  }

  .allies-insta-strip .insta-grid > .wp-block-group__inner-container {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 640px) {

  .allies-feature-strip > .wp-block-group__inner-container {
    flex-direction: column;
  }

  .allies-feature-strip .feature-item {
    border-right: none;
    border-bottom: 1px solid var(--color-border-light);
  }

  .allies-feature-strip .feature-item:last-child {
    border-bottom: none;
  }

  .allies-cta-band h2 {
    font-size: var(--text-lg);
  }

  .allies-insta-strip {
    padding: var(--space-lg) var(--space-sm);
  }

  .allies-insta-strip .insta-head > .wp-block-group__inner-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .allies-insta-strip .insta-head h2 {
    font-size: 28px;
  }

  .allies-insta-strip .insta-grid > .wp-block-group__inner-container {
    grid-template-columns: repeat(3, 1fr);
  }

  .allies-members-strip {
    padding: 16px var(--space-sm);
    overflow-x: auto;
  }

  .allies-members-strip > .wp-block-group__inner-container {
    flex-wrap: nowrap;
  }
}


/* ============================================================
   7.2  TIER 2: CATEGORY PAGE SCOPE (.allies-category)
   Shared styles applied to every category landing page wrapper.
   Each category page also has a Tier 3 scope (e.g. .allies-lounge,
   .allies-farm-tables) for page-specific content sections.
   ============================================================ */

/* ----- Category Hero (Cover block inside the wrapper) ----- */
.allies-category > .wp-block-group__inner-container > .wp-block-cover {
  min-height: 520px;
  display: flex;
  align-items: center;
  margin: 0;
  position: relative;
}
.wp-block-cover.allies-cover-overlay-left-dark .wp-block-cover__background {
  background: linear-gradient(
    to right,
    rgba(20, 12, 5, 0.82) 0%,
    rgba(20, 12, 5, 0.55) 50%,
    rgba(20, 12, 5, 0.2) 100%
  ) !important;
  opacity: 1 !important;
}

.allies-category > .wp-block-group__inner-container > .wp-block-cover .wp-block-cover__inner-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 80px;
  width: 100%;
}

.allies-category .hero-content {
  max-width: 660px;
  position: relative;
  z-index: 2;
}

.allies-category .hero-content > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.allies-category .hero-content .allies-eyebrow {
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 18px;
}

.allies-category .hero-content h1 {
  font-family: var(--font-serif);
  font-size: 62px;
  font-weight: 400;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 22px;
}

.allies-category .hero-content h1 em {
  font-style: italic;
  color: rgba(255, 220, 160, 0.9);
}

.allies-category .hero-content p:not(.allies-eyebrow) {
  font-size: 16px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.7;
  margin: 0 0 36px;
  max-width: 480px;
}

/* Doubled-class button rules for Gutenberg buttons inside the hero */
.allies-category .hero-content .wp-block-button.wp-block-button .wp-block-button__link {
  background: var(--color-slate);
  color: #fff;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 14px 32px;
  border: none;
  border-radius: 0;
}

.allies-category .hero-content .wp-block-button.is-style-outline.wp-block-button .wp-block-button__link {
  background: transparent;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 400;
  border: 1px solid rgba(255, 255, 255, 0.4);
}

.allies-category .hero-content .wp-block-buttons {
  gap: 16px;
  margin: 0;
}

/* Responsive: Category Hero */
@media (max-width: 1024px) {
  .allies-category > .wp-block-group__inner-container > .wp-block-cover {
    min-height: 460px;
  }
  .allies-category .hero-content h1 {
    font-size: 48px;
  }
}

@media (max-width: 768px) {
  .allies-category > .wp-block-group__inner-container > .wp-block-cover .wp-block-cover__inner-container {
    padding: 0 32px;
  }
  .allies-category > .wp-block-group__inner-container > .wp-block-cover {
    min-height: 420px;
  }
  .allies-category .hero-content h1 {
    font-size: 38px;
  }
  .allies-category .hero-content p:not(.allies-eyebrow) {
    font-size: 15px;
  }
  .allies-category .hero-content .wp-block-buttons {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}


/* ============================================================
   ---- DESTINATION: end of theme.css (new section) ----
   Tier 3 page-specific scope: .allies-farm-tables
   ============================================================ */


/* ================================================
   8. FOOTER
   Replaced by sitewide footer rules in Section 7.1.
   Legacy .allies-footer markup removed from PHP.
================================================ */

/* ================================================
   9. INTERIOR PAGE BASE
================================================ */

.allies-page-hero {
  background: var(--color-warm-white);
  padding: var(--space-xl) var(--space-xxl);
  text-align: center;
}

.allies-page-hero h1 {
  font-family: var(--font-serif);
  font-size: var(--text-xl);
  font-weight: 400;
  color: var(--color-text);
  margin-bottom: var(--space-sm);
}

.allies-page-hero p {
  font-size: var(--text-body);
  font-weight: 300;
  color: var(--color-text-muted);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.85;
}

.allies-page-content {
  max-width: 900px;
  margin: 0 auto;
  padding: var(--space-xl) var(--space-md);
}


/* ================================================
   10. CONTACT PAGE
================================================ */

.allies-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(32px, 5vw, 72px);
  max-width: 1080px;
  margin: 0 auto;
  padding: var(--space-xl) var(--space-md);
}

.allies-contact-details {
  align-self: start;
  background: var(--color-warm-white);
  border: 1px solid var(--color-border);
  padding: clamp(28px, 4vw, 44px);
}

.allies-contact-details h2 {
  font-family: var(--font-serif);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 400;
  line-height: 1.08;
  margin: 0 0 var(--space-md);
}

.allies-contact-details p {
  color: var(--color-text-muted);
  font-size: var(--text-base);
  line-height: 1.75;
  margin: 0 0 var(--space-sm);
}

.allies-contact-form-wrap {
  width: 100%;
}

.allies-contact-form {
  display: grid;
  gap: var(--space-md);
}

.allies-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
}

.allies-form-field {
  display: grid;
  gap: 8px;
}

.allies-form-field label {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--color-text);
}

.allies-form-field input,
.allies-form-field textarea,
.allies-form-field select {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  border: 1px solid var(--color-border);
  border-radius: 2px;
  padding: 12px 16px;
  width: 100%;
  color: var(--color-text);
  background: var(--color-white);
  transition: border-color 0.15s ease;
}

.allies-form-field textarea {
  resize: vertical;
}

.allies-form-field input:focus,
.allies-form-field textarea:focus,
.allies-form-field select:focus {
  border-color: var(--color-slate);
  outline: none;
}

.allies-form-field.has-error input,
.allies-form-field.has-error textarea {
  border-color: #9f3f36;
}

.allies-form-error {
  color: #9f3f36;
  font-size: var(--text-sm);
  line-height: 1.5;
  margin: 0;
}

.allies-form-notice {
  border: 1px solid var(--color-border);
  font-size: var(--text-base);
  line-height: 1.6;
  margin-bottom: var(--space-md);
  padding: 14px 16px;
}

.allies-form-notice--success {
  background: #edf5ef;
  border-color: #b7d8bf;
  color: #274f32;
}

.allies-form-notice--error {
  background: #f8eeee;
  border-color: #e0b7b2;
  color: #7e342d;
}

.allies-form-submit {
  justify-self: start;
  background: var(--color-slate);
  color: var(--color-white);
  border: none;
  padding: 14px 36px;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border-radius: 2px;
  cursor: pointer;
  transition: background 0.15s ease;
}

.allies-form-submit:hover {
  background: var(--color-slate-dark);
}

.allies-form-field--trap {
  display: none;
}

@media (max-width: 860px) {
  .allies-contact-layout,
  .allies-form-grid {
    grid-template-columns: 1fr;
  }
}


/* ================================================
   11. UTILITIES
================================================ */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}


/* ===================================================================
   L1 :: LOUNGE FURNITURE LANDING PAGE
   Block-based build using core Gutenberg blocks + reusable Patterns.
   Scope: all selectors prefixed with .allies-lounge to prevent leakage.

   Block-to-class mapping (assigned via Editor > Block > Advanced > Additional CSS Class):
     Outer Group wrapper      .allies-lounge .allies-category
     Hero Cover block         shared via .allies-category
     Hero eyebrow Heading     .hero-eyebrow
     Intro band Group         .intro-band
     Set grid Group           .set-grid
     Set card Group           .set-card
     Set name Heading         .set-name
     CTA banner Cover         .cta-banner
     Why strip Columns        .why-strip
     Why list Group           .why-list

   Notes:
   - WordPress Group blocks render markup as
       <div class="wp-block-group YOUR-CLASS">
         <div class="wp-block-group__inner-container">
           ...children...
         </div>
       </div>
     For grid/flex layout to apply to the children, target the inner
     container, not the outer wrapper. Section-level styles
     (background, padding) stay on the outer wrapper.
   - Button rules use a doubled-class selector
     (.wp-block-button.wp-block-button) to bump specificity above
     Genesis/core wp-block-library defaults without !important.
   =================================================================== */


/* -------------------------------------------------------------------
   1. SCOPING WRAPPER
   ------------------------------------------------------------------- */

.allies-lounge {
  font-family: var(--font-sans);
  color: var(--color-text);
  font-size: var(--text-body);
  font-weight: 300;
  line-height: 1.7;
}

.allies-lounge h1,
.allies-lounge h2,
.allies-lounge h3,
.allies-lounge h4,
.allies-lounge h5,
.allies-lounge h6 {
  font-family: var(--font-serif);
  font-weight: 400;
  color: var(--color-text);
  line-height: 1.15;
}


/* -------------------------------------------------------------------
   2. CATEGORY HERO
   Moved to shared Tier 2 section 7.2 (.allies-category).
   L1 wrapper must include both classes: allies-lounge allies-category.
   ------------------------------------------------------------------- */
/* Hero: two-column split layout */
.allies-lounge .category-hero {
  background-color: #f7f4ef;
  padding: 52px 48px;
}

/* Inner columns — layout on the inner container, not the outer */
.allies-lounge .category-hero > .wp-block-columns__inner-container {
  align-items: center;
  gap: 32px;
}

/* Remove any existing Cover-based overlay rules for .category-hero */
/* (delete or comment out the old .category-hero cover-block rules) */

.allies-lounge .hero-image-col img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
}

/* Mobile: stack columns */
@media (max-width: 768px) {
  .allies-lounge .category-hero { padding: 36px 24px; }
  .allies-lounge .hero-image-col { display: none; } 
}
/* Sets section intro header (replaces standalone intro band) */
.allies-lounge .sets-intro {
  text-align: center;
  padding-bottom: 36px;
}

.allies-lounge .sets-intro .section-eyebrow {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-slate-dark);
  margin-bottom: 10px;
}

.allies-lounge .sets-intro h2 {
  font-family: var(--font-serif);
  font-size: 32px;
  font-weight: 400;
  margin: 0 0 10px;
}
/* -------------------------------------------------------------------
   3. INTRO BAND  (Group block, .intro-band)
   ------------------------------------------------------------------- */

.allies-lounge .intro-band {
  background: var(--color-white);
  padding: var(--space-xl) var(--space-lg);
  text-align: center;
}

.allies-lounge .intro-band > .wp-block-group__inner-container {
  max-width: 720px;
  margin: 0 auto;
}

.allies-lounge .intro-band h2 {
  font-size: var(--text-xl);
  margin-bottom: var(--space-sm);
}

.allies-lounge .intro-band p {
  font-size: 17px;
  line-height: 1.7;
  color: var(--color-text-muted);
  max-width: 640px;
  margin: 0 auto;
}


/* -------------------------------------------------------------------
   4. SET GRID + SET CARDS  (.set-grid Group, .set-card Group)
   ------------------------------------------------------------------- */

/* Section-level styles on outer wrapper */
.allies-lounge .set-grid {
  padding: 0 var(--space-lg) var(--space-xl);
  background: var(--color-white);
}

/* Grid layout on inner container (children sit here) */
.allies-lounge .set-grid > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  max-width: var(--max-content);
  margin: 0 auto;
}

/* Individual set cards */
.allies-lounge .set-card {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  padding: 0;
  transition: border-color 0.25s, transform 0.25s;
}

.allies-lounge .set-card:hover {
  border-color: var(--color-slate);
  transform: translateY(-2px);
}

/* Card content stacks naturally inside the inner container */
.allies-lounge .set-card > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
}

/* Set card image (top of card, edge-to-edge) */
.allies-lounge .set-card .wp-block-image {
  margin: 0;
}

.allies-lounge .set-card .wp-block-image img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
}

/* Set name */
.allies-lounge .set-name {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: var(--text-lg);
  line-height: 1.1;
  color: var(--color-text);
  padding: 28px 32px 12px;
  margin: 0;
}

/* Set description paragraph */
.allies-lounge .set-card p {
  font-size: 15px;
  line-height: 1.65;
  color: var(--color-text-muted);
  padding: 0 32px 20px;
  margin: 0;
}

/* Set card included-items list */
.allies-lounge .set-card ul {
  list-style: none;
  padding: 0 32px 32px;
  margin: 0;
}

.allies-lounge .set-card ul li {
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--color-text-muted);
  padding: 8px 0 8px 18px;
  border-top: 1px solid var(--color-border);
  position: relative;
}

.allies-lounge .set-card ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 8px;
  height: 1px;
  background: var(--color-slate);
}

.allies-lounge .set-card ul li:first-child {
  border-top: none;
}


/* -------------------------------------------------------------------
   5. CTA BANNER  (Cover block, .cta-banner)
   Used by both Mid-page and Bottom CTA patterns.
   ------------------------------------------------------------------- */

.allies-lounge .cta-banner {
  background: var(--color-navy);
  padding: var(--space-xl) var(--space-lg);
  text-align: center;
  color: var(--color-white);
}

.allies-lounge .cta-banner h2 {
  color: var(--color-white);
  font-size: var(--text-xl);
  line-height: 1.15;
  margin: 0 auto var(--space-sm);
  max-width: 720px;
}

.allies-lounge .cta-banner p {
  color: rgba(255, 255, 255, 0.85);
  font-size: 17px;
  margin: 0 auto var(--space-md);
  max-width: 560px;
}

.allies-lounge .cta-banner .wp-block-buttons {
  display: flex;
  justify-content: center;
  gap: var(--space-sm);
  flex-wrap: wrap;
}

/* CTA button base (matches canonical .allies-btn-white metrics) */
.allies-lounge .cta-banner .wp-block-button.wp-block-button .wp-block-button__link {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 18px 44px;
  border-radius: 2px;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

/* Primary CTA button: white fill */
.allies-lounge .cta-banner .wp-block-button.wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: var(--color-white);
  color: var(--color-navy);
  border: 1px solid var(--color-white);
}

.allies-lounge .cta-banner .wp-block-button.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: #f0f4f8;
  border-color: #f0f4f8;
  color: var(--color-navy);
}

/* Secondary CTA button: outline white */
.allies-lounge .cta-banner .wp-block-button.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--color-white);
  border: 1px solid rgba(255, 255, 255, 0.45);
}

.allies-lounge .cta-banner .wp-block-button.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--color-white);
  color: var(--color-navy);
  border-color: var(--color-white);
}


/* -------------------------------------------------------------------
   6. WHY ALLIE'S STRIP  (Columns block, .why-strip)
   ------------------------------------------------------------------- */

.allies-lounge .why-strip {
  background: var(--color-white);
  padding: var(--space-xl) var(--space-lg);
  align-items: center;
}

.allies-lounge .why-strip .wp-block-column .wp-block-image img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
}

.allies-lounge .why-strip h6 {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--color-slate);
  margin-bottom: var(--space-sm);
}

/* Why list: a Group block holding 4 stacked items.
   Stack layout applied to the inner container. */
.allies-lounge .why-strip .why-list > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Why Allie's reason items
   Current structure:
   .why-list
     .why-item
       heading
       paragraph
   Dot is decorative via ::before, no separate .why-dot block needed.
*/

.allies-lounge .why-strip .why-list .why-item {
  position: relative;
  display: block;
  padding-left: 22px;
  margin-bottom: 0px;
}

.allies-lounge .why-strip .why-list .why-item::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-slate);
}

.allies-lounge .why-strip .why-list .why-item h3,
.allies-lounge .why-strip .why-list .why-item h4,
.allies-lounge .why-strip .why-list .why-item h5 {
  font-family: var(--font-serif);
  font-size: 19px;
  line-height: 1.25;
  margin: 0 0 4px;
  color: var(--color-slate);
}

.allies-lounge .why-strip .why-list .why-item p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}
/* How It Works section */
.allies-lounge .how-it-works {
  background: var(--color-warm-white);
  padding: 72px 32px 84px;
  text-align: center;
}

.allies-lounge .hiw-header {
  text-align: center;
  margin-bottom: 48px;
}
.allies-lounge .hiw-header h2 {
  font-size: 28px;
  line-height: 1.2;
}
.allies-lounge .hiw-grid {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  gap: 40px;
  align-items: flex-start;
}

.allies-lounge .hiw-grid .hiw-step {
  flex: 1 1 0;
  max-width: 220px;
  text-align: center;
  padding: 0 8px;
}

.allies-lounge .hiw-step {
  text-align: center;
  padding: 0 8px;
}

/* Numbered circle */
.allies-lounge .hiw-num {
  width: 38px;
  height: 38px;
  border: 0.5px solid var(--color-slate);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 15px;
  color: var(--color-slate);
  margin: 0 auto 12px;
}

.allies-lounge .hiw-step h4 {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.35;
  margin: 0 0 10px;
  font-weight: 600;
}

.allies-lounge .hiw-step p {
  font-size: 13px;
  line-height: 1.65;
  color: var(--color-text-muted);
  margin: 0;
}

/* -------------------------------------------------------------------
   7. RESPONSIVE BREAKPOINTS
   ------------------------------------------------------------------- */

/* Tablet: ≤960px */
@media (max-width: 960px) {

  .allies-lounge .category-hero {
    padding: var(--space-lg) var(--space-md);
  }

  .allies-lounge .category-hero > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .allies-lounge .category-hero h1 {
    font-size: var(--text-xl);
  }

  .allies-lounge .intro-band {
    padding: var(--space-lg) var(--space-md);
  }

  .allies-lounge .intro-band h2 {
    font-size: var(--text-lg);
  }

  .allies-lounge .set-grid {
    padding: 0 var(--space-md) var(--space-lg);
  }

  .allies-lounge .set-grid > .wp-block-group__inner-container {
    gap: var(--space-md);
  }

  .allies-lounge .cta-banner {
    padding: var(--space-lg) var(--space-md);
  }

  .allies-lounge .cta-banner h2 {
    font-size: var(--text-lg);
  }

  .allies-lounge .why-strip {
    padding: var(--space-lg) var(--space-md);
  }

  .allies-lounge .why-strip .wp-block-column .wp-block-image img {
    height: 360px;
  }
}


/* Mobile: ≤640px */
@media (max-width: 640px) {

  .allies-lounge .category-hero {
    padding: var(--space-md) var(--space-sm);
  }

  .allies-lounge .category-hero h1 {
    font-size: 38px;
  }

  .allies-lounge .category-hero p {
    font-size: var(--text-body);
  }

  .allies-lounge .category-hero .wp-block-buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .allies-lounge .category-hero .wp-block-button {
    width: 100%;
  }

  .allies-lounge .category-hero .wp-block-button__link {
    display: block;
    text-align: center;
  }

  .allies-lounge .intro-band {
    padding: var(--space-md) var(--space-sm);
  }

  .allies-lounge .intro-band h2 {
    font-size: 26px;
  }

  /* Set grid collapses to single column on mobile */
  .allies-lounge .set-grid {
    padding: 0 var(--space-sm) var(--space-md);
  }

  .allies-lounge .set-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .allies-lounge .set-card .wp-block-image img {
    height: 240px;
  }

  .allies-lounge .set-name {
    font-size: 26px;
    padding: var(--space-sm) var(--space-sm) 12px;
  }

  .allies-lounge .set-card p,
  .allies-lounge .set-card ul {
    padding-left: var(--space-sm);
    padding-right: var(--space-sm);
  }

  .allies-lounge .cta-banner {
    padding: var(--space-md) var(--space-sm);
  }

  .allies-lounge .cta-banner h2 {
    font-size: 26px;
  }

  .allies-lounge .cta-banner .wp-block-buttons {
    flex-direction: column;
    align-items: stretch;
  }

  /* Why strip: stack columns and shrink image */
  .allies-lounge .why-strip {
    padding: var(--space-md) var(--space-sm);
  }

  .allies-lounge .why-strip .wp-block-columns {
    flex-direction: column;
    gap: var(--space-md);
  }

  .allies-lounge .why-strip .wp-block-column .wp-block-image img {
    height: 280px;
  }
}

/* Mobile: stack steps */
@media (max-width: 600px) {
  .allies-lounge .hiw-grid { flex-direction: column; }
}


/* -------------------------------------------------------------------
   END :: L1 LOUNGE FURNITURE
   ------------------------------------------------------------------- */


/* ===================================================================
   13. HOMEPAGE
   Block-based build using core Gutenberg blocks + reusable Patterns.
   Scope: page-unique selectors prefixed with .allies-home.

   Sitewide patterns used on this page (.allies-feature-strip,
   .allies-cta-band, .allies-insta-strip, .allies-members-strip)
   are defined in section 7.1 above and not redefined here.

   Block-to-class mapping (assigned via Editor > Block > Advanced >
   Additional CSS Class):
     Outer Group wrapper       .allies-home
     Hero Cover block          .home-hero
     Hero eyebrow Heading      .hero-eyebrow
     Tiles section Group       .home-tiles-section
     Tiles head Group          .home-tiles-head
     Tiles grid Group          .home-tiles
     Each tile Cover           .home-tile
     Tile eyebrow Heading      .tile-eyebrow
     Tile name Heading         .tile-name
     Tile link Paragraph       .tile-link
     CTA Band Cover            .allies-cta-band .cta-band-split

   Locked conventions (same as L1):
   - Layout (display:grid, display:flex) on
     `> .wp-block-group__inner-container`. Section styles on outer.
   - Gutenberg button rules use doubled-class specificity
     (.wp-block-button.wp-block-button) without !important.
   =================================================================== */


/* -------------------------------------------------------------------
   1. SCOPING WRAPPER
   ------------------------------------------------------------------- */

.allies-home {
  font-family: var(--font-sans);
  color: var(--color-text);
  font-size: var(--text-body);
  font-weight: 300;
  line-height: 1.7;
}

.allies-home h1,
.allies-home h2,
.allies-home h3,
.allies-home h4,
.allies-home h5,
.allies-home h6 {
  font-family: var(--font-serif);
  font-weight: 400;
  color: var(--color-text);
  line-height: 1.15;
}


/* -------------------------------------------------------------------
   2. HOME HERO  (Cover block, .home-hero)
   Full-bleed Cover block with hero photo + dark gradient overlay.
   Cover block's built-in dim-fill handles the overlay; set to ~60%
   in the editor. Background-image is set on the Cover block itself.
   ------------------------------------------------------------------- */

.allies-home .home-hero {
  min-height: 620px;
  padding: 0;
}

/* Cover block content lives in __inner-container; align left + vertical-center */
.allies-home .home-hero > .wp-block-cover__inner-container,
.allies-home .home-hero > .wp-block-group__inner-container {
  max-width: var(--max-content);
  margin: 0 auto;
  width: 100%;
  padding: 0 var(--space-xl);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-height: 620px;
}

.allies-home .home-hero .hero-eyebrow {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  margin: 0 0 22px;
}

.allies-home .home-hero h1, h1.home-hero-heading {
  font-family: var(--font-serif) !important;
  font-size: var(--text-hero);
  font-weight: 400;
  color: var(--color-white) !important;
  line-height: 1.0;
  letter-spacing: -0.005em;
  margin: 0 0 30px;
  max-width: 700px;
}

/* Italic accent: select the phrase in the Heading block + Cmd/Ctrl+I.
   Gutenberg wraps it in <em>, styled here. */
.allies-home .home-hero h1 em {
  font-style: italic;
  color: var(--color-ice);
}

.allies-home .home-hero p {
  font-family: var(--font-sans);
  font-size: var(--text-body);
  font-weight: 300;
  letter-spacing: 0.05em;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.85;
  margin: 0 0 40px;
  max-width: 440px;
}

/* Buttons block layout inside hero */
.allies-home .home-hero .wp-block-buttons {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin: 0;
}

/* Hero button base (matches canonical .allies-btn-primary metrics) */
.allies-home .home-hero .wp-block-button.wp-block-button .wp-block-button__link {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 16px 36px;
  border-radius: 2px;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

/* Primary hero button: filled slate */
.allies-home .home-hero .wp-block-button.wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: var(--color-slate);
  color: var(--color-white);
  border: 1px solid var(--color-slate);
}

.allies-home .home-hero .wp-block-button.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: var(--color-slate-dark);
  border-color: var(--color-slate-dark);
  color: var(--color-white);
}

/* Secondary hero button: ghost/outline white (apply Outline style in editor) */
.allies-home .home-hero .wp-block-button.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--color-white);
  border: 1px solid rgba(255, 255, 255, 0.45);
}

.allies-home .home-hero .wp-block-button.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: transparent;
  color: var(--color-white);
  border-color: rgba(255, 255, 255, 0.85);
}


/* -------------------------------------------------------------------
   3. HOME CATEGORY TILES  (.home-tiles-section, .home-tiles, .home-tile)
   Section wrapper holds a centered head + a 4-up grid of Cover tiles.
   Each tile is a Cover block with a background photo, dark overlay,
   and content (eyebrow + name + link) anchored at the bottom.
   ------------------------------------------------------------------- */

/* Section padding */
.allies-home .home-tiles-section {
  padding: var(--space-xl) var(--space-lg);
  background: var(--color-white);
}

.allies-home .home-tiles-section > .wp-block-group__inner-container {
  max-width: var(--max-content);
  margin: 0 auto;
}

/* Centered head: eyebrow + title + decorative rule */
.allies-home .home-tiles-head {
  text-align: center;
  margin-bottom: 60px;
}

.allies-home .home-tiles-head > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.allies-home .home-tiles-head h6 {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--color-slate);
  margin: 0 0 16px;
}

.allies-home .home-tiles-head h2 {
  font-family: var(--font-serif);
  font-size: 46px;
  font-weight: 400;
  color: var(--color-text);
  line-height: 1.15;
  margin: 0;
}

.allies-home .home-tiles-head h2 em {
  font-style: italic;
  color: var(--color-slate);
}

/* Decorative rule under the title (Group block with class .allies-rule)
   Reuses the canonical .allies-rule defined in section 7. */

/* tile grid */
.allies-home .home-tiles > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 320px));
  justify-content: center;
  gap: 3px;
}

/* Individual tile (Cover block) */
.allies-home .home-tile {
  min-height: 370px;
  position: relative;
  overflow: hidden;
  padding: 0;
}

.allies-home .home-tile-clickable {
  cursor: pointer;
}

/* Hover scale on the Cover background image */
.allies-home .home-tile .wp-block-cover__image-background {
  transition: transform 0.5s ease;
}

.allies-home .home-tile:hover .wp-block-cover__image-background {
  transform: scale(1.04);
}

.allies-home .home-tile-clickable:focus {
  outline: 2px solid var(--color-slate);
  outline-offset: 5px;
}

.allies-home .home-tile-clickable:focus:not(:focus-visible) {
  outline: none;
}

.allies-home .home-tile-clickable:focus-visible .wp-block-cover__image-background {
  transform: scale(1.04);
}

/* Tile content anchored to bottom; Cover dim-fill handles the gradient.
   For a custom bottom-only gradient, configure Cover's gradient overlay
   in the editor (linear-gradient, transparent 35% to navy 100%). */
.allies-home .home-tile > .wp-block-cover__inner-container,
.allies-home .home-tile > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding: 30px 28px 28px;
  position: relative;
  z-index: 2;
}

.allies-home .home-tile .tile-eyebrow {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  margin: 0 0 8px;
}

.allies-home .home-tile .tile-name {
  font-family: var(--font-serif);
  font-size: 28px;
  font-weight: 400;
  color: var(--color-white);
  line-height: 1.15;
  margin: 0 0 14px;
}

.allies-home .home-tile .tile-link {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-ice);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 5px;
}

.allies-home .home-tile .tile-link::after {
  content: '→';
}

/* Home category tile bottom content band */
.home-tile {
  position: relative;
  overflow: hidden;
}

/* Bottom white panel over image */
.home-tile .tile-content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  background: rgba(255, 255, 255, 0.8);
  padding: 24px 28px 26px;
  z-index: 3;
}

/* Text colors inside white band */
.home-tile .tile-content .tile-eyebrow,
.home-tile .tile-content .tile-link {
  color: var(--color-slate, #5f7f9f);
}

.home-tile .tile-content .tile-name {
  color: var(--color-navy, #142033);
}

/* Optional: make link row feel more clickable */
.home-tile .tile-content .tile-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* -------------------------------------------------------------------
   4. RESPONSIVE BREAKPOINTS (homepage-specific)
   ------------------------------------------------------------------- */

/* Tablet: ≤960px */
@media (max-width: 960px) {

  .allies-home .home-hero {
    min-height: 520px;
  }

  .allies-home .home-hero > .wp-block-cover__inner-container,
  .allies-home .home-hero > .wp-block-group__inner-container {
    padding: 0 var(--space-md);
    min-height: 520px;
  }

  .allies-home .home-hero h1,
  h1.home-hero-heading {
    font-size: var(--text-xl);
  }

  .allies-home .home-tiles-section {
    padding: var(--space-lg) var(--space-md);
  }

  .allies-home .home-tiles-head h2 {
    font-size: var(--text-lg);
  }

  /* No grid-template override here.
     The base auto-fit grid controls 3-card / 4-card responsiveness. */
}


/* Mobile: ≤640px */
@media (max-width: 640px) {

  .allies-home .home-hero {
    min-height: 460px;
  }

  .allies-home .home-hero > .wp-block-cover__inner-container,
  .allies-home .home-hero > .wp-block-group__inner-container {
    padding: 0 var(--space-sm);
    min-height: 460px;
  }

  .allies-home .home-hero h1,
  h1.home-hero-heading {
    font-size: 38px;
  }

  .allies-home .home-hero p {
    font-size: var(--text-body);
  }

  .allies-home .home-hero .wp-block-buttons {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .allies-home .home-hero .wp-block-button {
    width: 100%;
  }

  .allies-home .home-hero .wp-block-button__link {
    display: block;
    text-align: center;
  }

  .allies-home .home-tiles-section {
    padding: var(--space-md) var(--space-sm);
  }

  .allies-home .home-tiles-head {
    margin-bottom: var(--space-md);
  }

  .allies-home .home-tiles-head h2 {
    font-size: 32px;
  }

  .allies-home .home-tiles > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    gap: var(--space-xs);
  }

  .allies-home .home-tile {
    min-height: 280px;
  }

  .allies-home .home-tile .tile-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
  }
}
/* -------------------------------------------------------------------
   END :: HOMEPAGE
   ------------------------------------------------------------------- */

/* ===================================================================
   14. ABOUT PAGE
   Block-based build using core Gutenberg blocks + unsynced Patterns.
   Scope: all selectors prefixed with .allies-about to prevent leakage.

   Block-to-class mapping:
     Outer Group wrapper           .allies-about
     Hero outer Group              .about-hero
     Hero inner container          .about-hero-inner
     Hero H1                       .about-hero-title
     Hero subhead Paragraph        .about-hero-sub
     Story section Group           .about-story
     Story Columns                 .about-story-grid
     Story H2                      .about-story-heading
     Story Quote                   .about-quote
     Story Image                   .about-story-photo
     Mission outer Group           .about-mission (+ alignfull)
     Mission Columns               .about-mission-inner
     Mission H2                    .about-mission-heading
     Mission body Paragraph        .about-mission-body
     Pillars outer Group           .about-pillars
     Pillars head Group            .about-pillars-head
     Pillars H2                    .about-pillars-heading
     Pillars sub Paragraph         .about-pillars-sub
     Pillars grid Group            .about-pillars-grid
     Each pillar card Group        .about-pillar
     Pillar flourish H4            .about-pillar-flourish
     Pillar title H3               .about-pillar-title
     Pillar body Paragraph         .about-pillar-body

   Locked conventions:
     - Layout properties on inner block containers where needed.
     - Section-level styles on outer wrappers.
     - Existing design tokens only; no new variables introduced.
   =================================================================== */

/* -------------------------------------------------------------------
   14.1  SCOPING WRAPPER
   ------------------------------------------------------------------- */

.allies-about {
  font-family: var(--font-sans);
  color: var(--color-text);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
}

.allies-about h1,
.allies-about h2,
.allies-about h3,
.allies-about h4 {
  font-family: var(--font-serif);
  font-weight: 400;
  color: var(--color-text);
  line-height: 1.15;
}


/* -------------------------------------------------------------------
   14.2  ABOUT PAGE HERO
   Centered dark band, eyebrow + serif headline + italic sub.
   ------------------------------------------------------------------- */

.allies-about .about-hero {
  background: var(--color-navy);
  text-align: center;
  padding: 56px 48px 48px;
  position: relative;
  overflow: hidden;
}

.allies-about .about-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.015) 0px,
    rgba(255, 255, 255, 0.015) 1px,
    transparent 1px,
    transparent 60px
  );
  pointer-events: none;
}

.allies-about .about-hero > .wp-block-group__inner-container {
  max-width: 880px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.allies-about .about-hero-inner {
  max-width: 880px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.allies-about .about-hero .allies-eyebrow {
  color: var(--color-ice);
  margin-bottom: 14px;
}

.allies-about .about-hero-title {
  font-family: var(--font-serif);
  font-size: 56px;
  color: var(--color-warm-white);
  line-height: 1.1;
  margin: 0 0 16px;
  font-weight: 400;
}

.allies-about .about-hero-sub {
  font-size: 16px;
  letter-spacing: 0.08em;
  color: rgba(245, 241, 236, 0.68);
  font-style: italic;
  margin: 0;
}


/* -------------------------------------------------------------------
   14.3  STORY SECTION
   Two-column 50/50: copy + pull quote on left, photo placeholder on right.
   ------------------------------------------------------------------- */

.allies-about .about-story {
  max-width: 1100px;
  margin: 0 auto;
  padding: 72px 48px;
}

.allies-about .about-story-grid > .wp-block-group__inner-container,
.allies-about .about-story-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}

.allies-about .about-story .allies-eyebrow {
  color: var(--color-slate-dark);
  margin-bottom: 16px;
}

.allies-about .about-story-heading {
  font-family: var(--font-serif);
  font-size: 40px;
  color: var(--color-text);
  line-height: 1.2;
  margin: 0 0 24px;
  font-weight: 400;
}

.allies-about .about-story p {
  font-size: 16px;
  line-height: 1.85;
  color: var(--color-text-muted);
  margin: 0 0 16px;
}

.allies-about .about-quote {
  border-left: 2px solid var(--color-slate);
  padding-left: 20px;
  margin-top: 28px;
  font-family: var(--font-serif);
  font-size: 20px;
  color: var(--color-text);
  line-height: 1.5;
  font-style: italic;
}

.allies-about .about-quote p {
  font-family: var(--font-serif);
  font-size: 20px;
  color: var(--color-text);
  margin: 0;
  font-style: italic;
}

.allies-about .about-quote cite {
  display: block;
  font-family: var(--font-sans);
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-slate-dark);
  margin-top: 10px;
  font-style: normal;
}

.allies-about .about-story-photo {
  aspect-ratio: 4 / 5;
  background: var(--color-border-light);
  border-radius: 4px;
  overflow: hidden;
}

.allies-about .about-story-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/* -------------------------------------------------------------------
   14.4  MISSION BAND
   Full-bleed dark band, two-column with eyebrow + heading on left,
   body on right.
   ------------------------------------------------------------------- */

.allies-about .about-mission {
  background: var(--color-navy);
  padding: 72px 48px;
  margin: 0;
}

.allies-about .about-mission-inner > .wp-block-group__inner-container,
.allies-about .about-mission-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: start;
}

.allies-about .about-mission .allies-eyebrow {
  color: var(--color-ice);
  margin-bottom: 16px;
}

.allies-about .about-mission-heading {
  font-family: var(--font-serif);
  font-size: 40px;
  color: var(--color-warm-white);
  line-height: 1.2;
  margin: 0;
  font-weight: 400;
}

.allies-about .about-mission-body {
  font-size: 16px;
  line-height: 1.85;
  color: rgba(245, 241, 236, 0.74);
  padding-top: 8px;
  margin: 0;
}


/* -------------------------------------------------------------------
   14.5  PILLARS
   Centered intro head, 2x2 grid of cards. Each card: DM Serif Display
   italic flourish above all-caps title.
   ------------------------------------------------------------------- */

.allies-about .about-pillars {
  max-width: 1100px;
  margin: 0 auto;
  padding: 72px 48px 96px;
}

.allies-about .about-pillars-head > .wp-block-group__inner-container,
.allies-about .about-pillars-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 56px;
}

.allies-about .about-pillars-head .allies-eyebrow {
  color: var(--color-slate-dark);
  margin-bottom: 12px;
  text-align: center;
}

.allies-about .about-pillars-heading {
  font-family: var(--font-serif);
  font-size: 40px;
  color: var(--color-text);
  line-height: 1.2;
  margin: 0 0 8px;
  font-weight: 400;
  text-align: center;
}

.allies-about .about-pillars-sub {
  font-size: 16px;
  color: var(--color-text-muted);
  line-height: 1.7;
  margin: 0;
  text-align: center;
}

.allies-about .about-pillars-grid {
  max-width: 1100px;
  margin: 0 auto;
  width: 100%;
}

.allies-about .about-pillars-grid > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
}

.allies-about .about-pillar {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 4px;
  padding: 36px;
}

.allies-about .about-pillar > .wp-block-group__inner-container {
  display: block;
}

.allies-about .about-pillar-flourish {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 28px;
  font-weight: 400;
  color: var(--color-slate);
  line-height: 1;
  margin: 0 0 14px;
  text-transform: none;
  letter-spacing: 0;
}

.allies-about .about-pillar-title {
  font-family: var(--font-sans);
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text);
  margin: 0 0 12px;
  font-weight: 600;
  line-height: 1.4;
}

.allies-about .about-pillar-body {
  font-size: 15px;
  line-height: 1.8;
  color: var(--color-text-muted);
  margin: 0;
}


/* -------------------------------------------------------------------
   14.6  RESPONSIVE BREAKPOINTS
   ------------------------------------------------------------------- */

@media (max-width: 960px) {

  .allies-about .about-hero {
    padding: 48px 32px 40px;
  }

  .allies-about .about-hero-title {
    font-size: 44px;
  }

  .allies-about .about-story {
    padding: 56px 32px;
  }

  .allies-about .about-story-grid > .wp-block-group__inner-container,
  .allies-about .about-story-grid {
    gap: 48px;
  }

  .allies-about .about-story-heading,
  .allies-about .about-mission-heading,
  .allies-about .about-pillars-heading {
    font-size: 34px;
  }

  .allies-about .about-mission {
    padding: 56px 32px;
  }

  .allies-about .about-mission-inner > .wp-block-group__inner-container,
  .allies-about .about-mission-inner {
    gap: 40px;
  }

  .allies-about .about-pillars {
    padding: 56px 32px 72px;
  }

}

@media (max-width: 640px) {

  .allies-about .about-hero {
    padding: 40px 24px 36px;
  }

  .allies-about .about-hero-title {
    font-size: 34px;
    line-height: 1.15;
  }

  .allies-about .about-hero-sub {
    font-size: 14px;
  }

  .allies-about .about-story {
    padding: 48px 24px;
  }

  .allies-about .about-story-grid > .wp-block-group__inner-container,
  .allies-about .about-story-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .allies-about .about-story-heading,
  .allies-about .about-mission-heading,
  .allies-about .about-pillars-heading {
    font-size: 28px;
  }

  .allies-about .about-quote {
    font-size: 18px;
  }

  .allies-about .about-mission {
    padding: 48px 24px;
  }

  .allies-about .about-mission-inner > .wp-block-group__inner-container,
  .allies-about .about-mission-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .allies-about .about-pillars {
    padding: 48px 24px 64px;
  }

  .allies-about .about-pillars-head {
    margin-bottom: 40px;
  }

.allies-about .about-pillars-grid > .wp-block-group__inner-container {
  grid-template-columns: 1fr;
  gap: 16px;
}
  .allies-about .about-pillar {
    padding: 28px;
  }

}


/* ============================================================
   15  TIER 3: FARM TABLES PAGE (.allies-farm-tables)
   Page-specific content sections for the L2 Farm Tables landing page.
   Order: Why grid → Features split → Pairing Band → Uses grid.
   Hero styles live in section 7.2 (.allies-category).
   ============================================================ */

/* ----- Section utility classes used inside the page ----- */
.allies-farm-tables .allies-section {
  padding: 80px;
}

.allies-farm-tables .allies-section.section-white {
  background: var(--color-white);
}

.allies-farm-tables .allies-section.section-offwhite {
  background: var(--color-warm-white);
}

.allies-farm-tables .allies-section > .wp-block-group__inner-container > .section-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.allies-farm-tables .section-inner > .wp-block-group__inner-container {
  display: block;
}

/* Section title + intro inside each Tier 3 section */
.allies-farm-tables .allies-section .allies-section-title {
  font-family: var(--font-serif);
  font-size: 46px;
  font-weight: 400;
  line-height: 1.15;
  color: var(--color-navy);
  margin: 0 0 18px;
}

.allies-farm-tables .allies-section .allies-section-intro,
.allies-farm-tables .allies-section .section-inner > .wp-block-group__inner-container > p {
  font-size: 16px;
  font-weight: 300;
  color: var(--color-text-muted);
  line-height: 1.75;
  max-width: 560px;
  margin: 0;
}

/* ----- Why Farm Tables: 3-up bordered numbered cards ----- */
.allies-farm-tables .why-grid {
  margin-top: 56px;
  background: var(--color-border);
  border: 1px solid var(--color-border);
  gap: 1px !important; /* override Columns block gap to a 1px lattice */
}

.allies-farm-tables .why-grid > .wp-block-group__inner-container,
.allies-farm-tables .why-grid.wp-block-columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
}

.allies-farm-tables .why-card {
  background: var(--color-white);
  padding: 44px 36px;
}

.allies-farm-tables .why-card > .wp-block-group__inner-container > p:first-child,
.allies-farm-tables .why-card .wp-block-column > p:first-child {
  font-family: var(--font-serif);
  font-size: 48px;
  font-style: italic;
  color: var(--color-slate);
  opacity: 0.35;
  line-height: 1;
  margin: 0 0 16px;
}

.allies-farm-tables .why-card h3 {
  font-family: var(--font-serif);
  font-size: 24px;
  font-weight: 400;
  color: var(--color-navy);
  margin: 0 0 12px;
  line-height: 1.2;
}

.allies-farm-tables .why-card p:last-child {
  font-size: 15px;
  font-weight: 300;
  color: var(--color-text-muted);
  line-height: 1.75;
  margin: 0;
}

/* ----- Features split: copy column + text feature list column ----- */
.allies-farm-tables .features-split > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  margin-top: 56px;
}

.allies-farm-tables .features-split .allies-rule {
  width: 48px;
  height: 1px;
  background: var(--color-slate);
  margin: 20px 0;
  border: none;
}

.allies-farm-tables .feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.allies-farm-tables .feature-list > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

/* No-icon version: stack heading over paragraph */
.allies-farm-tables .feature-item > .wp-block-group__inner-container {
  display: block;
}

.allies-farm-tables .feature-item h4 {
  font-family: var(--font-serif);
  font-size: 20px;
  font-weight: 400;
  color: var(--color-navy);
  margin: 0 0 6px;
  line-height: 1.2;
}

.allies-farm-tables .feature-item p {
  font-size: 15px;
  font-weight: 300;
  color: var(--color-text-muted);
  line-height: 1.7;
  margin: 0;
}

/* ----- Pairing Band: slate two-column band ----- */
.allies-farm-tables .pairing-band {
  background: var(--color-slate);
  padding: 48px 80px;
}

.allies-farm-tables .pairing-band > .wp-block-group__inner-container > .pairing-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.allies-farm-tables .pairing-inner > .wp-block-group__inner-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.allies-farm-tables .pairing-copy h3 {
  font-family: var(--font-serif);
  font-size: 32px;
  font-weight: 400;
  color: #fff;
  margin: 0 0 10px;
}

.allies-farm-tables .pairing-copy p {
  font-size: 15px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.72);
  max-width: 520px;
  line-height: 1.7;
  margin: 0;
}

/* Doubled-class rule for Pairing Band's white button */
.allies-farm-tables .pairing-band .wp-block-button.wp-block-button .wp-block-button__link {
  background: #fff;
  color: var(--color-navy);
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 14px 32px;
  border: none;
  border-radius: 0;
  white-space: nowrap;
}

/* ----- Creative Uses: 3-up bordered cards with image ----- */
.allies-farm-tables .uses-grid {
  margin-top: 48px;
}

.allies-farm-tables .uses-grid > .wp-block-group__inner-container,
.allies-farm-tables .uses-grid.wp-block-columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.allies-farm-tables .use-card {
  border: 1px solid var(--color-border);
  background: var(--color-white);
  padding: 0;
  overflow: hidden;
}

.allies-farm-tables .use-card-image,
.allies-farm-tables .use-card .wp-block-image {
  margin: 0 0 24px;
}

.allies-farm-tables .use-card-image img,
.allies-farm-tables .use-card .wp-block-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

/* Text padding */
.allies-farm-tables .use-card h4,
.allies-farm-tables .use-card p {
  padding-left: 28px;
  padding-right: 28px;
}

.allies-farm-tables .use-card h4 {
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 400;
  color: var(--color-navy);
  margin: 0 0 10px;
}

.allies-farm-tables .use-card p {
  font-size: 14px;
  font-weight: 300;
  color: var(--color-text-muted);
  line-height: 1.7;
  margin: 0;
  padding-bottom: 28px;
}

@media (max-width: 768px) {
  .allies-farm-tables .uses-grid > .wp-block-group__inner-container,
  .allies-farm-tables .uses-grid.wp-block-columns {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .allies-farm-tables .use-card-image img,
  .allies-farm-tables .use-card .wp-block-image img {
    aspect-ratio: 4 / 3;
  }
}

/* ============================================================
   Responsive breakpoints: Farm Tables
   ============================================================ */

@media (max-width: 1024px) {
  .allies-farm-tables .allies-section {
    padding: 64px 48px;
  }

  .allies-farm-tables .features-split > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .allies-farm-tables .pairing-band {
    padding: 40px 48px;
  }
}

@media (max-width: 768px) {
  .allies-farm-tables .allies-section {
    padding: 48px 28px;
  }

  .allies-farm-tables .allies-section .allies-section-title {
    font-size: 34px;
  }

  .allies-farm-tables .why-grid > .wp-block-group__inner-container,
  .allies-farm-tables .why-grid.wp-block-columns {
    grid-template-columns: 1fr;
    gap: 1px;
  }

  .allies-farm-tables .why-card {
    padding: 36px 28px;
  }

  .allies-farm-tables .uses-grid > .wp-block-group__inner-container,
  .allies-farm-tables .uses-grid.wp-block-columns {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .allies-farm-tables .pairing-band {
    padding: 36px 28px;
  }

  .allies-farm-tables .pairing-inner > .wp-block-group__inner-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }

  .allies-farm-tables .pairing-copy h3 {
    font-size: 26px;
  }

  .allies-farm-tables .feature-list,
  .allies-farm-tables .feature-list > .wp-block-group__inner-container {
    gap: 24px;
  }
}

/* ============================================================
   16  TIER 3: TENTS & CANOPIES PAGE (.allies-tents)
   Page-specific content sections for the L3 Tents landing page.
   Hero styles live in section 7.2 (.allies-category).
   Paste this block at the END of theme.css, after Section 15
   (Farm Tables / .allies-farm-tables).
   ============================================================ */

/* ----- Scoping wrapper ----- */
.allies-tents {
  font-family: var(--font-sans);
  color: var(--color-text);
  font-size: var(--text-body);
  font-weight: 300;
  line-height: 1.7;
}

.allies-tents h1,
.allies-tents h2,
.allies-tents h3,
.allies-tents h4 {
  font-family: var(--font-serif);
  font-weight: 400;
  color: var(--color-text);
}

/* ----- Section utility helpers ----- */
.allies-tents .tent-family-section,
.allies-tents .addons-section {
  padding: 80px;
}

.allies-tents .tent-family-section.section-white {
  background: var(--color-white);
}

.allies-tents .tent-family-section.section-offwhite {
  background: var(--color-warm-white);
}

.allies-tents .tent-family-section > .wp-block-group__inner-container {
  max-width: 1100px;
  margin: 0 auto;
}

/* ----- Family intro: 2-col split with border-bottom ----- */
.allies-tents .family-intro {
  margin-bottom: 56px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--color-border);
}

.allies-tents .family-intro > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

.allies-tents .family-intro h2 {
  font-size: 42px;
  line-height: 1.12;
  margin: 0 0 14px;
}

.allies-tents .family-intro p {
  font-size: 16px;
  font-weight: 300;
  color: var(--color-text-muted);
  line-height: 1.75;
}

.allies-tents .family-badge {
  display: inline-flex;
  align-items: center;
  background: var(--color-warm-white);
  border: 1px solid var(--color-border);
  padding: 8px 16px;
  margin-bottom: 20px;
}

.allies-tents .family-badge p {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-slate);
  margin: 0;
}

.allies-tents .family-key-point {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 20px;
}

.allies-tents .family-key-point > .wp-block-group__inner-container {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.allies-tents .family-key-point-dot {
  width: 6px;
  height: 6px;
  background: var(--color-slate);
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 8px;
}

.allies-tents .family-key-point p {
  font-size: 15px;
  color: var(--color-text-muted);
  line-height: 1.65;
  margin: 0;
}
/* Left-align decorative rules inside L3 content sections */
.allies-tents .family-intro .allies-rule,
.allies-tents .draping-section .allies-rule {
  margin: 20px 0;
}

/* Nudge family key points down without fully bottom-aligning the column */
.allies-tents .family-intro > .wp-block-group__inner-container > .wp-block-group:last-child {
  padding-top: 72px;
}

/* ----- Tent grid + tent cards ----- */
.allies-tents .tent-grid {
  background: var(--color-border);
  border: 1px solid var(--color-border);
  gap: 1px !important; /* override Columns block gap to 1px lattice */
}

.allies-tents .tent-grid.wp-block-columns,
.allies-tents .tent-grid > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
}

.allies-tents .tent-card {
  background: var(--color-white);
  padding: 40px 36px;
  display: flex;
  flex-direction: column;
}

.allies-tents .tent-card > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.allies-tents .tent-card h3 {
  font-size: 26px;
  line-height: 1.15;
  color: var(--color-navy);
  margin: 0 0 14px;
}

.allies-tents .tent-card-desc {
  font-size: 15px;
  font-weight: 300;
  color: var(--color-text-muted);
  line-height: 1.72;
  margin: 0 0 20px;
}

.allies-tents .tent-card-goodfor {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 24px;
}

.allies-tents .tent-card-goodfor > .wp-block-group__inner-container {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.allies-tents .tent-card-goodfor p {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: var(--color-text-muted);
  background: var(--color-warm-white);
  padding: 4px 10px;
  margin: 0;
}

.allies-tents .tent-card-footer {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--color-border);
}

.allies-tents .tent-card-footer > .wp-block-group__inner-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.allies-tents .tent-card-surface {
  font-size: 12px;
  color: var(--color-text-muted);
  letter-spacing: 0.04em;
  margin: 0;
}

.allies-tents .tent-card-surface strong {
  font-weight: 600;
  color: var(--color-text);
}
/* Force tent cards into a true 2x2 grid instead of Gutenberg's flex Columns row */
.allies-tents .tent-grid.wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1px !important;
  background: var(--color-border);
  border: 1px solid var(--color-border);
  align-items: stretch;
}

/* Prevent individual WP columns from holding onto flex sizing */
.allies-tents .tent-grid.wp-block-columns > .wp-block-column {
  flex-basis: auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
}

/* Make the card fill its grid cell */
.allies-tents .tent-grid.wp-block-columns > .wp-block-column > .tent-card {
  height: 100%;
}

/* Keep tent grid constrained even if Gutenberg tries to stretch it */
.allies-tents .tent-grid.wp-block-columns {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

/* Prevent good-for tags from stretching vertically */
.allies-tents .tent-card-goodfor,
.allies-tents .tent-card-goodfor > .wp-block-group__inner-container {
  align-items: flex-start;
  align-content: flex-start;
}

/* Keep each tag sized to its own content */
.allies-tents .tent-card-goodfor p {
  display: inline-flex;
  width: auto;
  max-width: max-content;
  align-self: flex-start;
}

/* Stack tent card footer content so surface notes do not get squeezed */
.allies-tents .tent-card-footer > .wp-block-group__inner-container {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}

.allies-tents .tent-card-footer .wp-block-buttons {
  margin-top: 14px;
}

.allies-tents .tent-card-footer .wp-block-button,
.allies-tents .tent-card-footer .wp-block-button__link {
  width: 100%;
}

.allies-tents .tent-card-footer .wp-block-button__link {
  text-align: center;
}

.allies-tents .tent-card-surface {
  display: block;
  width: 100%;
}
/* "View in Catalog" button — slate ghost variant for light backgrounds.
   Doubled-class specificity bumps above wp-block-library defaults. */
.allies-tents .tent-card-footer .wp-block-button.wp-block-button .wp-block-button__link {
  background: transparent;
  color: var(--color-slate);
  border: 1px solid var(--color-slate);
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 10px 22px;
  border-radius: 0;
  white-space: nowrap;
}

.allies-tents .tent-card-footer .wp-block-button.wp-block-button .wp-block-button__link:hover {
  background: var(--color-slate);
  color: #fff;
}

/* ----- Draping section (navy) ----- */
.allies-tents .draping-section {
  background: var(--color-navy);
  padding: 80px;
}

.allies-tents .draping-section > .wp-block-group__inner-container {
  max-width: 1100px;
  margin: 0 auto;
}

.allies-tents .draping-split.wp-block-columns,
.allies-tents .draping-split > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

/* Override heading colors inside navy draping section */
.allies-tents .draping-section h2 {
  color: #fff;
  font-size: 46px;
  margin: 0 0 16px;
}

.allies-tents .draping-section .allies-eyebrow {
  color: rgba(255,255,255,0.5);
}

.allies-tents .draping-section .allies-rule {
  background: rgba(255,255,255,0.3);
}

.allies-tents .draping-section p {
  color: rgba(255,255,255,0.65);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.75;
  margin: 0 0 36px;
}

.allies-tents .draping-points {
  display: flex;
  flex-direction: column;
  gap: 28px;
  margin-top: 8px;
}

.allies-tents .draping-points > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.allies-tents .draping-point {
  border-left: 2px solid rgba(255,255,255,0.2);
  padding-left: 20px;
}

.allies-tents .draping-point h4 {
  color: #fff;
  font-size: 20px;
  margin: 0 0 4px;
}

.allies-tents .draping-point p {
  font-size: 15px;
  color: rgba(255,255,255,0.65);
  margin: 0;
  line-height: 1.7;
}

.allies-tents .draping-photo {
  width: 100%;
  aspect-ratio: 4 / 5;
  min-height: 400px;
  overflow: hidden;
}

/* ----- Add-ons section ----- */
.allies-tents .addons-section {
  background: var(--color-white);
}

.allies-tents .addons-section > .wp-block-group__inner-container {
  max-width: 1100px;
  margin: 0 auto;
}

.allies-tents .addons-intro {
  max-width: 640px;
  margin-bottom: 48px;
}

.allies-tents .addons-intro h2 {
  font-size: 46px;
  color: var(--color-navy);
  margin: 0 0 16px;
}

.allies-tents .addons-intro p {
  font-size: 16px;
  font-weight: 300;
  color: var(--color-text-muted);
  line-height: 1.75;
  margin: 0;
}

.allies-tents .addons-grid {
  background: var(--color-border);
  border: 1px solid var(--color-border);
  gap: 1px !important;
}

.allies-tents .addons-grid.wp-block-columns,
.allies-tents .addons-grid > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
}

.allies-tents .addon-card {
  background: var(--color-warm-white);
  padding: 32px 28px;
}

.allies-tents .addon-card h4 {
  font-size: 20px;
  color: var(--color-navy);
  margin: 0 0 8px;
}

.allies-tents .addon-card p {
  font-size: 14px;
  font-weight: 300;
  color: var(--color-text-muted);
  line-height: 1.7;
  margin: 0;
}

/* ----- Why section (navy, 2x2 card grid) ----- */
.allies-tents .why-section {
  background: var(--color-navy);
  padding: 80px;
}

.allies-tents .why-section > .wp-block-group__inner-container {
  max-width: 1100px;
  margin: 0 auto;
}

.allies-tents .why-section h2 {
  color: #fff;
  font-size: 46px;
  margin: 0;
}

.allies-tents .why-section .allies-eyebrow {
  color: rgba(255,255,255,0.5);
}

.allies-tents .why-grid {
  margin-top: 48px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.1);
  gap: 1px !important;
}

.allies-tents .why-grid.wp-block-columns,
.allies-tents .why-grid > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
}

.allies-tents .why-card {
  background: rgba(255,255,255,0.04);
  padding: 40px 36px;
}

.allies-tents .why-card-num {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 40px;
  color: rgba(255,255,255,0.12);
  line-height: 1;
  margin: 0 0 14px;
  display: block;
}

.allies-tents .why-card h3 {
  color: #fff;
  font-size: 24px;
  margin: 0 0 10px;
  line-height: 1.2;
}

.allies-tents .why-card p {
  font-size: 15px;
  font-weight: 300;
  color: rgba(255,255,255,0.6);
  line-height: 1.72;
  margin: 0;
}

/* ============================================================
   Responsive breakpoints: Tents & Canopies
   ============================================================ */

@media (max-width: 1024px) {
  .allies-tents .tent-family-section,
  .allies-tents .draping-section,
  .allies-tents .addons-section,
  .allies-tents .why-section {
    padding: 64px 48px;
  }

  .allies-tents .family-intro > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .allies-tents .draping-split.wp-block-columns,
  .allies-tents .draping-split > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}

@media (max-width: 768px) {
  .allies-tents .tent-family-section,
  .allies-tents .draping-section,
  .allies-tents .addons-section,
  .allies-tents .why-section {
    padding: 48px 28px;
  }

  .allies-tents .family-intro h2 {
    font-size: 32px;
  }

  .allies-tents .tent-grid.wp-block-columns,
  .allies-tents .tent-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }

  .allies-tents .addons-grid.wp-block-columns,
  .allies-tents .addons-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr 1fr;
  }

  .allies-tents .why-grid.wp-block-columns,
  .allies-tents .why-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    gap: 1px;
  }

  .allies-tents .why-section h2,
  .allies-tents .addons-intro h2 {
    font-size: 34px;
  }
}

@media (max-width: 480px) {
  .allies-tents .addons-grid.wp-block-columns,
  .allies-tents .addons-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   16.1  TENTS & CANOPIES GUTENBERG GRID PATCH
   Group-first patterns for new Tent & Canopy sections.
   Keep Columns only as legacy markup; new grids should be Groups.
   ============================================================ */

.allies-tents p {
  max-width: 68ch;
}

.allies-tents .draping-section,
.allies-tents .why-section {
  padding: var(--space-xl);
}

.allies-tents .tent-family-section > .wp-block-group__inner-container,
.allies-tents .draping-section > .wp-block-group__inner-container,
.allies-tents .addons-section > .wp-block-group__inner-container,
.allies-tents .why-section > .wp-block-group__inner-container {
  max-width: 1100px;
  margin: 0 auto;
}

.allies-tents .tent-split > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-xl);
  align-items: start;
}

.allies-tents .tent-split--lower-right > .wp-block-group__inner-container > :last-child {
  padding-top: 72px;
}

.allies-tents .tent-card-grid {
  max-width: 1100px;
  margin: 0 auto;
  background: var(--color-border);
  border: 1px solid var(--color-border);
}

.allies-tents .tent-card-grid > .wp-block-group__inner-container {
  display: grid;
  gap: 1px;
  align-items: stretch;
}

.allies-tents .tent-card-grid--two > .wp-block-group__inner-container {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.allies-tents .tent-card-grid--three > .wp-block-group__inner-container {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.allies-tents .tent-card {
  min-width: 0;
}

.allies-tents .tent-card,
.allies-tents .tent-card > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.allies-tents .tent-card-tags,
.allies-tents .tent-card-tags > .wp-block-group__inner-container {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  gap: 6px;
  margin-bottom: 24px;
}

.allies-tents .tent-card-tags p {
  display: inline-flex;
  width: auto;
  max-width: max-content;
  align-self: flex-start;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: var(--color-text-muted);
  background: var(--color-warm-white);
  padding: 4px 10px;
  margin: 0;
}

.allies-tents .tent-card-footer > .wp-block-group__inner-container {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 14px;
}

.allies-tents .tent-card-footer .wp-block-buttons,
.allies-tents .tent-card-footer .wp-block-button,
.allies-tents .tent-card-footer .wp-block-button__link {
  width: 100%;
}

.allies-tents .tent-card-footer .wp-block-button__link {
  text-align: center;
}

.allies-tents .tent-card-surface {
  background: var(--color-warm-white);
  padding: 10px 12px;
}

.allies-tents .why-grid.tent-card-grid {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.1);
}

.allies-tents .allies-cta-band h2 {
  color: var(--color-white);
}

.allies-tents .allies-cta-band h2 em {
  color: var(--color-ice);
}

.allies-tents .allies-cta-band p {
  color: rgba(255, 255, 255, 0.55);
}

.allies-tents .tents-photo-break .wp-block-image img {
  aspect-ratio: 21 / 7;
}

.allies-tents .draping-photo .wp-block-image {
  width: 100%;
  height: 100%;
  margin: 0;
}

/* ----- Tents polish: stronger text, key points, and bottom sections ----- */
.allies-tents .family-intro p,
.allies-tents .tent-card-desc,
.allies-tents .draping-section p,
.allies-tents .addon-card p,
.allies-tents .why-card p {
  font-weight: 400;
}

.allies-tents .family-intro p {
  font-size: 16.5px;
  line-height: 1.78;
}

.allies-tents .family-key-points > .wp-block-group__inner-container {
  gap: 0;
}

.allies-tents .family-key-point {
  margin-top: 0;
}

.allies-tents .family-key-point > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 16px;
  padding: 16px 0 16px 18px;
  border-left: 2px solid rgba(91, 124, 153, 0.42);
  border-bottom: 1px solid var(--color-border-light);
}

.allies-tents .family-key-point:last-child > .wp-block-group__inner-container {
  border-bottom: 0;
}

.allies-tents .family-key-point-dot {
  position: relative;
  width: 22px;
  height: 22px;
  margin-top: 2px;
  background: var(--color-warm-white);
  border: 1px solid rgba(91, 124, 153, 0.45);
  border-radius: 50%;
}

.allies-tents .family-key-point-dot::after {
  content: '';
  position: absolute;
  inset: 6px;
  background: var(--color-slate);
  border-radius: 50%;
}

.allies-tents .family-key-point p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.72;
  color: var(--color-text);
}

.allies-tents .draping-photo {
  margin-top: 64px;
}

.allies-tents .draping-point p,
.allies-tents .why-card p {
  font-size: 16px;
}

.allies-tents .why-grid.tent-card-grid {
  margin: 38px auto 0;
}

.allies-tents .why-card {
  position: relative;
  padding-top: 38px;
}

.allies-tents .why-card::before {
  content: '';
  display: block;
  width: 44px;
  height: 2px;
  margin-bottom: 22px;
  background: var(--color-ice);
  opacity: 0.48;
}

.allies-tents .why-card-num {
  display: none;
}

.allies-tents .family-key-points > .wp-block-group__inner-container,
.allies-tents .draping-points > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
}

.allies-tents .family-key-points > .wp-block-group__inner-container {
  gap: 0;
}

.allies-tents .draping-points > .wp-block-group__inner-container {
  gap: 28px;
}

.allies-tents .draping-photo img {
  width: 100%;
  height: 100%;
  min-height: 400px;
  object-fit: cover;
}

@media (max-width: 1024px) {
  .allies-tents .tent-split > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .allies-tents .tent-split--lower-right > .wp-block-group__inner-container > :last-child {
    padding-top: 0;
  }

  .allies-tents .draping-photo {
    margin-top: 0;
  }
}

@media (max-width: 768px) {
  .allies-tents .tent-card-grid--two > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }

  .allies-tents .tent-card-grid--three > .wp-block-group__inner-container {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .allies-tents .tent-card-grid--three > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   17  TIER 3: LINEN SIZING GUIDE (.allies-linen-sizing)
   The guide remains ordinary Gutenberg groups and Table blocks.
   These rules only supply the theme's existing section, card, and
   table treatments within the Linen page scope.
   ============================================================ */

/* ----- Measuring guide: full-bleed warm surface, constrained copy ----- */
.allies-linen-sizing .allies-section {
  padding: 72px 48px;
}

.allies-linen-sizing .allies-section.section-offwhite {
  background: var(--color-warm-white);
}

.allies-linen-sizing .allies-section > .wp-block-group__inner-container {
  max-width: 1100px;
  margin: 0 auto;
}

.allies-linen-sizing .linen-eyebrow {
  margin: 0 0 14px;
  color: var(--color-slate);
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.35;
  text-transform: uppercase;
}

.allies-linen-sizing .allies-section h2,
.allies-linen-sizing .linen-chart-section h2,
.allies-linen-sizing .linen-topcloth-section h2 {
  margin: 0 0 14px;
  color: var(--color-navy);
  font-family: var(--font-serif);
  font-size: 34px;
  font-weight: 400;
  line-height: 1.2;
}

.allies-linen-sizing .allies-section > .wp-block-group__inner-container > p:not(.linen-eyebrow),
.allies-linen-sizing .linen-chart-section > .wp-block-group__inner-container > p:not(.linen-eyebrow),
.allies-linen-sizing .linen-topcloth-section > .wp-block-group__inner-container > p:not(.linen-eyebrow) {
  max-width: 800px;
  margin: 0;
  color: var(--color-text-muted);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.72;
}

.allies-linen-sizing .linen-measuring-cards {
  margin-top: 34px;
}

.allies-linen-sizing .linen-measuring-cards > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.allies-linen-sizing .linen-measuring-card {
  min-width: 0;
  min-height: 100%;
  border: 1px solid var(--color-border);
  background: var(--color-white);
  padding: 30px;
}

.allies-linen-sizing .linen-measuring-card h3,
.allies-linen-sizing .linen-formula h3,
.allies-linen-sizing .linen-topcloth-card h3,
.allies-linen-sizing .linen-note-section h3 {
  margin: 0 0 14px;
  color: var(--color-navy);
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.25;
}

.allies-linen-sizing .linen-measuring-card p,
.allies-linen-sizing .linen-formula p,
.allies-linen-sizing .linen-topcloth-card p,
.allies-linen-sizing .linen-note-section p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
}

.allies-linen-sizing .linen-formula {
  max-width: 690px;
  margin-top: 24px;
  border-left: 3px solid #b19060;
  background: var(--color-white);
  padding: 28px 32px;
}

.allies-linen-sizing .linen-formula p + p {
  margin-top: 12px;
}

.allies-linen-sizing .linen-formula strong {
  color: var(--color-navy);
}

/* ----- Reference tables ----- */
.allies-linen-sizing .linen-chart-section,
.allies-linen-sizing .linen-topcloth-section,
.allies-linen-sizing .linen-note-section {
  max-width: 1100px;
  margin: 0 auto;
  padding: 72px 48px 0;
}

.allies-linen-sizing .linen-round-matrix {
  width: 100%;
  margin: 30px 0 0;
  overflow-x: auto;
  border: 1px solid var(--color-border);
  background: var(--color-white);
}

.allies-linen-sizing .linen-round-matrix table {
  width: 100%;
  min-width: 760px;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  table-layout: fixed;
}

.allies-linen-sizing .linen-round-matrix th,
.allies-linen-sizing .linen-round-matrix td {
  border: 0;
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  padding: 17px 14px;
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  text-align: center;
  vertical-align: middle;
}

.allies-linen-sizing .linen-round-matrix thead th {
  border-color: var(--color-navy);
  background: var(--color-navy);
  color: var(--color-white);
  font-size: 13px;
  font-weight: 600;
}

.allies-linen-sizing .linen-round-matrix tbody tr:nth-child(odd) td {
  background: var(--color-warm-white);
}

.allies-linen-sizing .linen-round-matrix tbody td:first-child {
  color: var(--color-navy);
  font-weight: 600;
  text-align: left;
}

.allies-linen-sizing .linen-round-matrix tbody tr:nth-child(8) td {
  background: var(--color-white);
  color: var(--color-navy);
  font-weight: 600;
  text-align: left;
}

.allies-linen-sizing .linen-round-matrix tr > :last-child {
  border-right: 0;
}

.allies-linen-sizing .linen-round-matrix tbody tr:last-child td {
  border-bottom: 0;
}

/* ----- Square linen recommendations ----- */
.allies-linen-sizing .linen-topcloth-cards {
  margin-top: 30px;
}

.allies-linen-sizing .linen-topcloth-cards > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.allies-linen-sizing .linen-topcloth-card {
  min-width: 0;
  border: 1px solid var(--color-border);
  border-top: 3px solid #b19060;
  background: var(--color-white);
  padding: 28px;
}

.allies-linen-sizing .linen-topcloth-card p + p {
  margin-top: 14px;
}

.allies-linen-sizing .linen-topcloth-card p:first-of-type {
  display: inline-block;
  background: var(--color-warm-white);
  padding: 7px 10px;
}

.allies-linen-sizing .linen-note-section {
  padding-bottom: 72px;
}

.allies-linen-sizing .linen-note-section > .wp-block-group__inner-container {
  max-width: 920px;
  border-left: 3px solid #b19060;
  background: var(--color-warm-white);
  padding: 26px 30px;
}

/* ----- Responsive behavior: preserve usable native tables on phones ----- */
@media (max-width: 768px) {
  .allies-linen-sizing .allies-section {
    padding: 48px 28px;
  }

  .allies-linen-sizing .linen-chart-section,
  .allies-linen-sizing .linen-topcloth-section,
  .allies-linen-sizing .linen-note-section {
    padding: 48px 28px 0;
  }

  .allies-linen-sizing .linen-note-section {
    padding-bottom: 48px;
  }

  .allies-linen-sizing .allies-section h2,
  .allies-linen-sizing .linen-chart-section h2,
  .allies-linen-sizing .linen-topcloth-section h2 {
    font-size: 30px;
  }

  .allies-linen-sizing .linen-measuring-cards > .wp-block-group__inner-container,
  .allies-linen-sizing .linen-topcloth-cards > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .allies-linen-sizing .linen-measuring-card,
  .allies-linen-sizing .linen-topcloth-card {
    padding: 26px;
  }

  .allies-linen-sizing .linen-formula {
    padding: 24px;
  }

  .allies-linen-sizing .linen-round-matrix {
    margin-top: 24px;
  }

  .allies-linen-sizing .linen-round-matrix th,
  .allies-linen-sizing .linen-round-matrix td {
    padding: 14px 12px;
    font-size: 13px;
  }
}
