/*!
Theme Name: Gazebo Insider
Theme URI: https://github.com/MuhammadSaudFarooq/gazebo-insider
Author: Muhammad Saud Farooque
Author URI: https://github.com/MuhammadSaudFarooq
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: gazebo-insider
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Gazebo Insider is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Custom Properties (theme variables / design tokens)
--------------------------------------------------------------*/
:root {
  /* Brand greens */
  --green: #1F4D1A;
  --green2: #2E6B27;
  --green3: #4A9040;
  --green-lt: #6AB85E;
  --green-accent: #8CC87A;

  /* Gold accents */
  --gold: #C8882A;
  --gold2: #E8A840;

  /* Surfaces & neutrals */
  --cream: #F6F2EA;
  --warm: #EDE8DC;
  --text: #1A2318;
  --muted: #6B7465;
  --white: #FFFFFF;
  --dark: #0A160A;
  --border-color: #ccc;

  /* RGB triplets — composed inside rgba() for alpha variants */
  --green-rgb: 31, 77, 26;
  --white-rgb: 255, 255, 255;
  --gold-rgb: 200, 136, 42;
  --accent-rgb: 140, 200, 122;
  --dark-rgb: 8, 22, 6;

  /* Shape & elevation */
  --radius: 12px;
  --shadow: 0 4px 24px rgba(var(--green-rgb), 0.10);
  --shadow-lg: 0 8px 40px rgba(var(--green-rgb), 0.14);
}

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
  color: #404040;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}

p {
  margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", courier, monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
  background: #fff;
}

hr {
  background-color: var(--border-color);
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li>ul,
li>ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

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

figure {
  margin: 1em 0;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/* Links
--------------------------------------------- */
a {
  color: #4169e1;
}

a:visited {
  color: var(--cream);
}

a:hover,
a:focus,
a:active {
  color: var(--cream);
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: 1px solid;
  border-color: var(--border-color) var(--border-color) #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  line-height: 1;
  padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #666;
  border: 1px solid var(--border-color);
  border-radius: 3px;
  padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 1px solid var(--border-color);
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/* Global container — single, reusable width system used by the header,
   nav, every front-page section, inner-page content, and the footer.
   Full-bleed backgrounds stay edge-to-edge; only the inner content is
   constrained to this width and centred. */
.container {
  width: 100%;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

/* Inner pages (everything except the full-bleed front page) share the
   same container width without needing markup changes. */
body:not(.home) .site-main {
  width: 100%;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */

/*
 * NOTE: The default _s dropdown menu (.main-navigation / .menu-toggle) was
 * removed — this theme ships a custom fixed nav (.nav) defined in the
 * "Site Design" section below and in header.php. Only the WordPress
 * post/comment pagination styles remain here.
 */
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
  display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  text-align: end;
  flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block;
}

.post,
.page {
  margin: 0;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
  margin: 0 0 1.5em;
}

.widget select {
  max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

  /*rtl:ignore*/
  float: left;

  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {

  /*rtl:ignore*/
  float: right;

  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
# Site Design
----------------------------------------------------------------
Ported from the GazeboInsider HTML template. Drives the fixed site
nav, the footer, and every front-page section. Colors are sourced
from the :root custom properties at the top of this file.
Responsive overrides live in assets/css/responsive.css.
--------------------------------------------------------------*/

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

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Outfit', sans-serif;
  background: var(--cream);
  color: var(--text);
  line-height: 1.65;
  overflow-x: hidden;
}

/* Push inner-page content clear of the fixed nav. The front page (.home)
   has its own hero padding so it is excluded. */
body:not(.home) #page {
  padding-top: 66px;
}

/* —— NAV —— */
.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  height: 66px;
  background: rgba(246, 242, 234, 0.85);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
  backdrop-filter: saturate(140%) blur(14px);
  border-bottom: 1px solid rgba(var(--green-rgb), 0.08);
  transition: box-shadow .3s ease, background .3s ease, height .3s ease;
}

/* Three-zone nav: logo left, menu centred, CTA right. The 1fr/auto/1fr grid
   keeps the centre column dead-centre in the bar regardless of logo width. */
.nav-inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 100%;
}

.nav-logo {
  grid-column: 1;
  justify-self: start;
}

.hamburger {
  grid-column: 3;
  justify-self: end;
}

.nav.scrolled {
  background: rgba(246, 242, 234, 0.96);
  box-shadow: 0 4px 24px rgba(var(--green-rgb), 0.10);
}

/* Logo — static brandmark, flush-left. No hover movement or colour shift. */
.nav-logo {
  display: inline-flex;
  align-items: baseline;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  color: var(--green);
  text-decoration: none;
  letter-spacing: .3px;
  white-space: nowrap;
  transition: none;
}

.nav-logo span {
  color: var(--gold);
}

/* Keep the logo completely static on hover / focus */
.nav-logo:hover,
.nav-logo:focus,
.nav-logo:active,
.nav-logo:hover span,
.nav-logo:focus span {
  color: var(--green);
  transform: none;
  opacity: 1;
}

.nav-logo:hover span,
.nav-logo:focus span {
  color: var(--gold);
}

/* Centre column of the bar — the dynamic menu links. */
.nav-links {
  grid-column: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  gap: 2.2rem;
  list-style: none;
  padding: 0;
}

.nav-links>li {
  position: relative;
  display: flex;
  align-items: center;
}

.nav-links a {
  position: relative;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: var(--text);
  font-size: .9rem;
  font-weight: 500;
  letter-spacing: .2px;
  padding: .35rem 0;
  transition: color .25s ease;
}

/* Animated underline that grows from the centre on hover / active */
.nav-links>li>a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 2px;
  border-radius: 2px;
  background: var(--green);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .28s ease;
}

.nav-links>li>a:hover,
.nav-links>li.current-menu-item>a,
.nav-links>li.current_page_item>a,
.nav-links>li.current-menu-ancestor>a,
.nav-links a.active {
  color: var(--green);
}

.nav-links>li>a:hover::after,
.nav-links>li.current-menu-item>a::after,
.nav-links>li.current_page_item>a::after,
.nav-links>li.current-menu-ancestor>a::after,
.nav-links>li>a.active::after {
  transform: scaleX(1);
}

/* Caret indicator for items that have a submenu */
.nav-links>li.menu-item-has-children>a::before {
  content: '';
  position: absolute;
  right: -.85rem;
  top: 50%;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-65%) rotate(45deg);
  opacity: .65;
  transition: transform .25s ease, opacity .2s ease;
}

.nav-links>li.menu-item-has-children {
  margin-right: .85rem;
}

.nav-links>li.menu-item-has-children:hover>a::before {
  transform: translateY(-35%) rotate(225deg);
  opacity: 1;
}

/* —— DROPDOWN / SUBMENU —— */
.nav-links .sub-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  min-width: 210px;
  margin: 0;
  padding: .5rem;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: .1rem;
  background: var(--white);
  border: 1px solid rgba(var(--green-rgb), 0.10);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(10px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 210;
}

.nav-links>li:hover>.sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.nav-links .sub-menu li {
  position: relative;
}

.nav-links .sub-menu a {
  display: block;
  width: 100%;
  padding: .55rem .8rem;
  border-radius: 8px;
  font-size: .85rem;
  font-weight: 500;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease;
}

.nav-links .sub-menu a::after {
  display: none;
}

.nav-links .sub-menu a:hover,
.nav-links .sub-menu li.current-menu-item>a {
  background: var(--cream);
  color: var(--green);
}

.nav-cta {
  grid-column: 3;
  justify-self: end;
  background: var(--green);
  color: var(--white);
  padding: .48rem 1.3rem;
  border-radius: 50px;
  font-size: .85rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .2s;
}

.nav-cta:hover {
  background: var(--green2);
  transform: translateY(-1px);
}

.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 4px;
}

.hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--text);
  border-radius: 2px;
  transition: all .3s;
}

.mobile-menu {
  display: none;
  position: fixed;
  top: 66px;
  left: 0;
  right: 0;
  background: var(--white);
  border-bottom: 1px solid rgba(var(--green-rgb), 0.1);
  z-index: 199;
  padding: 1.5rem 0;
}

.mobile-menu.open {
  display: block;
}

.mobile-menu ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin: 0 0 1.5rem;
  padding: 0;
}

.mobile-menu a {
  text-decoration: none;
  color: var(--text);
  font-size: 1rem;
  font-weight: 500;
  transition: color .2s ease;
}

.mobile-menu a:hover,
.mobile-menu li.current-menu-item>a,
.mobile-menu li.current_page_item>a,
.mobile-menu a.active {
  color: var(--green);
}

/* Nested submenu inside the mobile drawer */
.mobile-menu .sub-menu {
  margin: .9rem 0 0;
  padding-left: 1rem;
  gap: .9rem;
  border-left: 2px solid rgba(var(--green-rgb), 0.12);
}

.mobile-menu .sub-menu a {
  font-size: .92rem;
  font-weight: 400;
  color: var(--muted);
}

.mobile-menu .nav-cta {
  display: inline-block;
  text-align: center;
}

/* —— HERO —— */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  padding-top: 66px;
}

.hero-bg {
  position: absolute;
  inset: 0;
  background: url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?w=1800&q=85') center/cover no-repeat;
  animation: kenburns 20s ease-in-out infinite alternate;
}

@keyframes kenburns {
  0% {
    transform: scale(1.03);
  }

  100% {
    transform: scale(1.10) translate(-1%, -1%);
  }
}

/* Video background variant — fills the hero, no ken-burns pan */
.hero-bg--video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: none;
}

/* Optional hero description + cards (only render when ACF provides them) */
.hero-desc {
  max-width: 640px;
  margin: 0 auto 1.5rem;
  color: rgba(var(--white-rgb), 0.78);
  font-size: 1rem;
  line-height: 1.6;
}

.hero-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin: 1.5rem 0;
}

.hero-card {
  background: rgba(var(--white-rgb), 0.09);
  border: 1px solid rgba(var(--white-rgb), 0.18);
  border-radius: var(--radius);
  padding: 1rem 1.3rem;
  max-width: 240px;
  text-align: left;
  color: var(--white);
}

.hero-card h3 {
  font-size: 1rem;
  margin: 0 0 .3rem;
}

.hero-card p {
  font-size: .82rem;
  color: rgba(var(--white-rgb), 0.7);
  margin: 0;
}

/* Reviews reuse the experts slider chrome — equalise review-card heights */
.experts-slider .swiper-slide .review-card {
  height: 100%;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(var(--dark-rgb), 0.5) 0%, rgba(10, 26, 8, 0.65) 45%, rgba(10, 26, 8, 0.80) 100%);
}

.hero-glow {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 70%;
  height: 250px;
  background: radial-gradient(ellipse at bottom, rgba(var(--green-rgb), 0.30) 0%, transparent 70%);
  pointer-events: none;
}

.hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 780px;
  padding: 0 1.5rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hero-tag {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(var(--gold-rgb), 0.18);
  border: 1px solid rgba(232, 168, 64, 0.45);
  color: var(--gold2);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  padding: .4rem 1.1rem;
  border-radius: 50px;
  margin-bottom: 1.4rem;
  animation: fadeUp .7s ease .1s both;
}

.hero h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 5.5vw, 3.8rem);
  font-weight: 700;
  color: var(--white);
  line-height: 1;
  letter-spacing: -.3px;
  margin-bottom: 1.2rem;
  animation: fadeUp .7s ease .25s both;
}

.hero h1 em {
  font-style: normal;
  color: var(--green-accent);
}

.hero-sub {
  font-size: clamp(.9rem, 1.8vw, 1.08rem);
  color: rgba(var(--white-rgb), 0.72);
  font-weight: 300;
  line-height: 1.8;
  max-width: 560px;
  margin-bottom: 2rem;
  animation: fadeUp .7s ease .4s both;
}

.btn-row {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 3rem;
  animation: fadeUp .7s ease .55s both;
}

.btn-gold {
  background: var(--gold);
  color: var(--white);
  padding: .82rem 2rem;
  border-radius: 50px;
  font-family: 'Outfit', sans-serif;
  font-size: .92rem;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: .3px;
  box-shadow: 0 6px 20px rgba(var(--gold-rgb), 0.38);
  transition: all .25s;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
}

.btn-gold:hover {
  background: var(--gold2);
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(var(--gold-rgb), 0.45);
}

.btn-ghost-w {
  background: rgba(var(--white-rgb), 0.09);
  border: 1.5px solid rgba(var(--white-rgb), 0.38);
  color: var(--white);
  padding: .82rem 2rem;
  border-radius: 50px;
  font-family: 'Outfit', sans-serif;
  font-size: .92rem;
  font-weight: 500;
  text-decoration: none;
  letter-spacing: .3px;
  backdrop-filter: blur(4px);
  transition: all .25s;
}

.btn-ghost-w:hover {
  background: rgba(var(--white-rgb), 0.16);
  border-color: rgba(var(--white-rgb), 0.65);
  transform: translateY(-3px);
}

/* hero stats pill bar */
.hero-stats {
  display: flex;
  background: rgba(var(--white-rgb), 0.08);
  border: 1px solid rgba(var(--white-rgb), 0.13);
  border-radius: 16px;
  backdrop-filter: blur(10px);
  overflow: hidden;
  animation: fadeUp .7s ease .7s both;
}

.stat-item {
  padding: .95rem 1.8rem;
  text-align: center;
  flex: 1;
  border-right: 1px solid rgba(var(--white-rgb), 0.09);
  transition: background .2s;
}

.stat-item:last-child {
  border-right: none;
}

.stat-item:hover {
  background: rgba(var(--white-rgb), 0.06);
}

.stat-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--green-accent);
  line-height: 1;
  margin-bottom: .2rem;
}

.stat-label {
  font-size: .68rem;
  color: rgba(var(--white-rgb), 0.5);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  font-weight: 500;
}

.scroll-hint {
  position: absolute;
  bottom: 1.8rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4rem;
  animation: fadeIn 1s ease 1.6s both;
}

.scroll-hint span {
  font-size: .66rem;
  color: rgba(var(--white-rgb), 0.35);
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.scroll-line {
  width: 1px;
  height: 36px;
  background: linear-gradient(to bottom, rgba(var(--white-rgb), 0.45), transparent);
  animation: scrollPulse 2s ease infinite;
}

@keyframes scrollPulse {

  0%,
  100% {
    opacity: .3;
  }

  50% {
    opacity: 1;
  }
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* —— SECTION SHARED —— */
section {
  padding: 5rem 0;
}

.section-tag {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--green-lt);
  margin-bottom: .75rem;
}

.section-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.9rem, 3.5vw, 2.8rem);
  font-weight: 700;
  color: var(--text);
  line-height: 1.2;
}

.section-title span {
  color: var(--green);
}

.section-sub {
  color: var(--muted);
  font-size: 1rem;
  margin-top: .75rem;
  max-width: 560px;
  line-height: 1.75;
}

.center-head {
  text-align: center;
}

.center-head .section-sub {
  margin-left: auto;
  margin-right: auto;
}

/* —— TRUST —— */
.trust {
  background: var(--white);
}

.trust-text {
  color: var(--muted);
  max-width: 580px;
  margin: .6rem auto 2.5rem;
  font-size: .95rem;
  text-align: center;
}

.badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .85rem;
}

.badge-pill {
  display: flex;
  align-items: center;
  gap: .5rem;
  background: var(--cream);
  border: 1px solid rgba(var(--green-rgb), 0.14);
  padding: .55rem 1.15rem;
  border-radius: 50px;
  font-size: .83rem;
  font-weight: 600;
  color: var(--text);
  transition: all .2s;
}

.badge-pill:hover {
  border-color: var(--green3);
  color: var(--green);
  transform: translateY(-2px);
}

/* —— INTRO —— */
.intro {
  background: var(--cream);
}

.intro-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

.intro-text .section-sub {
  margin-bottom: 2rem;
}

.features-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.feat-card {
  background: var(--white);
  border-radius: var(--radius);
  padding: 1.4rem;
  box-shadow: var(--shadow);
  transition: transform .2s, box-shadow .2s;
  border: 1px solid rgba(var(--green-rgb), 0.06);
}

.feat-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lg);
}

.feat-icon {
  font-size: 1.7rem;
  margin-bottom: .6rem;
}

.feat-card h4 {
  font-size: .93rem;
  font-weight: 700;
  color: var(--green);
  margin-bottom: .3rem;
}

.feat-card p {
  font-size: .82rem;
  color: var(--muted);
}

/* —— ABOUT —— */
.about {
  background: var(--green);
  color: var(--white);
  position: relative;
  overflow: hidden;
}

.about::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('https://images.unsplash.com/photo-1588880331179-bc9b93a8cb5e?w=1200&q=60') center/cover;
  opacity: .07;
}

.about-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

.about .section-tag {
  color: var(--green-accent);
}

.about .section-title {
  color: var(--white);
}

.about-desc {
  color: rgba(var(--white-rgb), 0.72);
  margin: .8rem 0 0;
  font-size: .95rem;
  line-height: 1.75;
}

.about-list {
  list-style: none;
  margin: 1.5rem 0 2rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.about-list li {
  display: flex;
  align-items: center;
  gap: .75rem;
  font-size: .93rem;
  color: rgba(var(--white-rgb), 0.85);
}

.about-list li::before {
  content: '\2713';
  background: rgba(var(--accent-rgb), 0.22);
  color: var(--green-accent);
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: .75rem;
  flex-shrink: 0;
}

.btn-white {
  background: var(--white);
  color: var(--green);
  padding: .75rem 1.8rem;
  border-radius: 50px;
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  display: inline-block;
  transition: all .2s;
}

.btn-white:hover {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22);
  transform: translateY(-2px);
  color: var(--green);
}

.about-img {
  border-radius: var(--radius);
  overflow: hidden;
  height: 380px;
}

.about-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* —— TEAM —— */
.team {
  background: var(--white);
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}

.team-card {
  background: var(--cream);
  border-radius: var(--radius);
  padding: 2rem 1.5rem;
  text-align: center;
  transition: transform .2s, box-shadow .2s;
  border: 1px solid rgba(var(--green-rgb), 0.07);
}

.team-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lg);
}

.team-avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--green-lt), var(--green));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--white);
  margin: 0 auto 1rem;
  overflow: hidden;
}

/* Featured image (when an expert has one) fills the avatar circle */
.team-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.team-card h3 {
  font-size: .98rem;
  font-weight: 700;
}

.team-card .role {
  font-size: .75rem;
  color: var(--green-lt);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: .25rem 0 .5rem;
}

.team-card p {
  font-size: .82rem;
  color: var(--muted);
}

/* —— EXPERTS SLIDER (Swiper, shown when > 3 experts) —— */
.experts-slider {
  margin-top: 2.5rem;
}

/* Arrows sit BESIDE the viewport (flex siblings) — never overlap cards */
.experts-slider__row {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* The actual Swiper viewport — only this clips/scrolls the slides */
.experts-slider__viewport {
  flex: 1 1 auto;
  min-width: 0;
  /* allow the flex item to shrink instead of overflowing */
  overflow: hidden;
}

/* Equal-height cards regardless of bio length */
.experts-swiper .swiper-slide {
  height: auto;
}

.experts-swiper .swiper-slide .team-card {
  height: 100%;
}

/* —— Navigation arrows (outside the cards) —— */
.experts-nav {
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 50%;
  background: var(--white);
  color: var(--green);
  border: 1px solid rgba(var(--green-rgb), 0.20);
  box-shadow: var(--shadow);
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, opacity .2s ease;
}

.experts-nav:hover {
  background: var(--green);
  color: var(--white);
  border-color: var(--green);
  transform: translateY(-2px);
}

.experts-nav:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 2px;
}

.experts-nav svg {
  display: block;
}

/* Swiper adds this class at the ends when loop is off */
.experts-nav.swiper-button-disabled {
  opacity: .35;
  cursor: default;
  pointer-events: none;
  transform: none;
}

/* —— Pagination dots (below the slider) —— */
.experts-pagination {
  position: static;
  margin-top: 1.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .5rem;
}

.experts-pagination .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  margin: 0 !important;
  background: rgba(var(--green-rgb), 0.25);
  opacity: 1;
  transition: background .2s ease, width .2s ease, border-radius .2s ease;
}

.experts-pagination .swiper-pagination-bullet-active {
  background: var(--green);
  width: 22px;
  border-radius: 5px;
}

/* —— Responsive —— */


/* —— REVIEWS —— */
.reviews {
  background: var(--cream);
}

.reviews-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 2.5rem;
  flex-wrap: wrap;
  gap: 1rem;
}

.rating-big {
  font-family: 'Cormorant Garamond', serif;
  font-size: 3.5rem;
  font-weight: 900;
  color: var(--green);
  line-height: 1;
}

.stars {
  color: var(--gold);
  font-size: 1.2rem;
}

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
}

.review-card {
  background: var(--white);
  border-radius: var(--radius);
  padding: 1.6rem;
  box-shadow: var(--shadow);
  border: 1px solid rgba(var(--green-rgb), 0.06);
  transition: transform .2s;
}

.review-card:hover {
  transform: translateY(-4px);
}

.review-stars {
  color: var(--gold);
  font-size: .95rem;
  margin-bottom: .6rem;
}

.review-text {
  font-size: .88rem;
  color: var(--text);
  font-style: italic;
  margin-bottom: .8rem;
  line-height: 1.7;
}

.reviewer {
  font-size: .78rem;
  font-weight: 600;
  color: var(--muted);
}

/* —— BLOG CATS —— */
.blog-cats {
  background: var(--white);
}

.cats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.2rem;
  margin-top: 2.5rem;
}

.cat-card {
  border-radius: var(--radius);
  overflow: hidden;
  position: relative;
  height: 200px;
  cursor: pointer;
}

.cat-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}

.cat-card:hover img {
  transform: scale(1.06);
}

.cat-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(var(--dark-rgb), 0.85) 0%, transparent 55%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.2rem;
}

.cat-overlay h3 {
  color: var(--white);
  font-size: .98rem;
  font-weight: 600;
}

.cat-overlay p {
  color: rgba(var(--white-rgb), 0.65);
  font-size: .76rem;
  margin-top: .2rem;
}

/* —— FEATURED ARTICLES —— */
.featured {
  background: var(--cream);
}

.articles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}

.article-card {
  background: var(--white);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: transform .2s;
  border: 1px solid rgba(var(--green-rgb), 0.06);
}

.article-card:hover {
  transform: translateY(-5px);
}

.article-img {
  height: 175px;
  overflow: hidden;
}

.article-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}

.article-card:hover .article-img img {
  transform: scale(1.05);
}

.article-body {
  padding: 1.3rem;
}

.article-tag {
  font-size: .7rem;
  font-weight: 700;
  color: var(--green-lt);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.article-body h3 {
  font-size: .97rem;
  font-weight: 700;
  margin: .4rem 0 .5rem;
  line-height: 1.35;
  color: var(--text);
}

.article-body p {
  font-size: .82rem;
  color: var(--muted);
  margin-bottom: 1rem;
  line-height: 1.6;
}

.read-more {
  font-size: .82rem;
  font-weight: 700;
  color: var(--green);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
}

.read-more::after {
  content: '\2192';
  transition: transform .2s;
}

.read-more:hover::after {
  transform: translateX(4px);
}

/* —— FAQ —— */
.faq {
  background: var(--white);
}

.faq-inner {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 4rem;
  align-items: start;
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.faq-item {
  border-bottom: 1px solid rgba(var(--green-rgb), 0.10);
}

.faq-q {
  width: 100%;
  background: none;
  border: none;
  text-align: left;
  padding: 1.15rem 0;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'Outfit', sans-serif;
  font-size: .93rem;
  font-weight: 600;
  color: var(--text);
}

.faq-q .icon {
  font-size: 1.2rem;
  color: var(--green);
  transition: transform .3s;
  flex-shrink: 0;
}

.faq-a {
  font-size: .87rem;
  color: var(--muted);
  padding-bottom: 1rem;
  display: none;
  line-height: 1.7;
}

.faq-item.open .faq-q .icon {
  transform: rotate(45deg);
}

.faq-item.open .faq-a {
  display: block;
}

/* —— CONTACT —— */
.contact {
  background: var(--cream);
}

.contact-inner {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 4rem;
}

.contact-info .section-sub {
  margin-bottom: 2rem;
}

.info-item {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  margin-bottom: 1.2rem;
}

.info-icon {
  width: 40px;
  height: 40px;
  background: var(--green);
  color: var(--white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1rem;
}

.info-item p {
  font-size: .86rem;
  color: var(--muted);
  margin-top: .15rem;
}

.info-item strong {
  display: block;
  font-size: .9rem;
  color: var(--text);
}

.contact-form {
  background: var(--white);
  border-radius: var(--radius);
  padding: 2rem;
  box-shadow: var(--shadow);
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  margin-bottom: 1rem;
}

.form-group label {
  font-size: .8rem;
  font-weight: 600;
  color: var(--text);
}

.form-group input,
.form-group textarea {
  border: 1.5px solid rgba(var(--green-rgb), 0.18);
  border-radius: 8px;
  padding: .68rem 1rem;
  font-family: 'Outfit', sans-serif;
  font-size: .88rem;
  color: var(--text);
  background: var(--cream);
  outline: none;
  transition: border .2s;
}

.form-group input:focus,
.form-group textarea:focus {
  border-color: var(--green);
}

.form-group textarea {
  resize: vertical;
  min-height: 110px;
}

.btn-green {
  background: var(--green);
  color: var(--white);
  border: none;
  padding: .85rem 2rem;
  border-radius: 50px;
  font-family: 'Outfit', sans-serif;
  font-size: .93rem;
  font-weight: 700;
  cursor: pointer;
  /* Desktop / tablet: size to content and push to the right of the form.
     Goes full width on mobile (see responsive.css). */
  display: block;
  width: auto;
  margin-left: auto;
  transition: all .2s;
}

.btn-green:hover {
  background: var(--green2);
  transform: translateY(-2px);
}

/* —— FINAL CTA —— */
.final-cta {
  background: linear-gradient(135deg, #0d2409 0%, var(--green) 55%, var(--green2) 100%);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.final-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(var(--accent-rgb), 0.12) 0%, transparent 70%);
}

.final-cta-inner {
  position: relative;
  z-index: 1;
  max-width: 700px;
  margin: 0 auto;
}

.final-cta .section-title {
  color: var(--white);
}

.final-cta .section-tag {
  color: var(--green-accent);
}

.final-cta .section-sub {
  color: rgba(var(--white-rgb), 0.68);
  margin: .8rem auto 2.5rem;
}

.final-btns {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.btn-outline-w {
  background: transparent;
  color: var(--white);
  border: 1.5px solid rgba(var(--white-rgb), 0.4);
  padding: .78rem 1.8rem;
  border-radius: 50px;
  font-weight: 600;
  font-size: .88rem;
  text-decoration: none;
  transition: all .2s;
}

.btn-outline-w:hover {
  border-color: var(--white);
  background: rgba(var(--white-rgb), 0.08);
}

/* —— FOOTER —— */
.site-footer-main {
  position: relative;
  background: var(--dark);
  color: rgba(var(--white-rgb), 0.62);
  padding: 4rem 0 0;
  font-size: .9rem;
  line-height: 1.6;
}

/* Soft gold/green hairline at the very top of the footer */
.site-footer-main::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--green2), var(--gold), var(--green-lt));
  opacity: .9;
}

.site-footer-main a {
  color: rgba(var(--white-rgb), 0.62);
  text-decoration: none;
  transition: color .2s ease;
}

.site-footer-main a:hover {
  color: var(--white);
}

/* —— Top grid: brand | links | contact —— */
.footer-top {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1.2fr;
  gap: 3rem;
  padding-bottom: 3rem;
}

.footer-brand {
  max-width: 380px;
}

.footer-logo {
  display: inline-block;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1;
  color: var(--white);
  letter-spacing: .3px;
}

.footer-logo:hover {
  color: var(--white);
}

.footer-logo span {
  color: var(--gold2);
}

.footer-tagline {
  margin: 1rem 0 1.5rem;
  color: rgba(var(--white-rgb), 0.55);
  font-size: .88rem;
  line-height: 1.7;
}

/* —— Social icons —— */
.footer-social {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: rgba(var(--white-rgb), 0.75);
  background: rgba(var(--white-rgb), 0.06);
  border: 1px solid rgba(var(--white-rgb), 0.10);
  transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}

.footer-social a:hover {
  color: var(--dark);
  background: var(--gold2);
  border-color: var(--gold2);
  transform: translateY(-3px);
}

/* —— Column headings —— */
.footer-heading {
  margin: 0 0 1.2rem;
  color: var(--white);
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: .4px;
}

/* —— Quick links column —— */
.footer-links {
  display: block;
}

/* WordPress menu (ID 3) output — vertical link list */
.footer-menu {
  display: flex;
  flex-direction: column;
  gap: .7rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-menu li {
  position: relative;
}

.footer-menu a {
  display: inline-block;
  font-size: .88rem;
  transition: color .2s ease, transform .2s ease;
}

.footer-menu>li>a:hover {
  transform: translateX(4px);
}

/* Nested footer items, if the menu defines any */
.footer-menu .sub-menu {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin: .6rem 0 0 .8rem;
  padding: 0;
  list-style: none;
}

/* —— Contact column —— */
.footer-contact-list {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: .88rem;
}

.footer-contact-list li {
  display: flex;
  align-items: center;
  gap: .65rem;
}

.footer-contact-list svg {
  flex: 0 0 auto;
  color: var(--gold2);
  opacity: .9;
}

/* —— Bottom bar —— */
.footer-bottom {
  padding: 1.4rem 0;
  margin-top: 1rem;
  border-top: 1px solid rgba(var(--white-rgb), 0.08);
  text-align: center;
}

.footer-copy {
  margin: 0;
  font-size: .8rem;
  color: rgba(var(--white-rgb), 0.45);
}

.footer-copy-link {
  color: rgba(var(--white-rgb), 0.65);
  font-weight: 600;
}

.footer-copy-link:hover {
  color: var(--white);
}

.footer-menu .sub-menu a {
  font-size: .8rem;
  opacity: .85;
}

/*--------------------------------------------------------------
# Blog (Template: Blog)
----------------------------------------------------------------
Listing page — page hero banner, category filters, post grid, and
sidebar widgets. Shares the global :root tokens and .container width.
Responsive rules live in assets/css/responsive.css.
--------------------------------------------------------------*/

/* Blog main mirrors the homepage: the wrapper is NOT width-capped, so each
   child can be full-bleed (page-hero) or container-constrained (blogs-wrap).
   Overrides the global inner-page cap in body:not(.home) .site-main. */
body:not(.home) .site-main--blog {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

/* —— PAGE HERO BANNER —— */
.page-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #0d2409 0%, var(--green) 55%, var(--green2) 100%);
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* Cover image with the same Ken Burns + cover handling as the homepage hero */
.page-hero-bg {
  position: absolute;
  inset: 0;
  background: url('https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1600&q=70') center/cover no-repeat;
  animation: kenburns 20s ease-in-out infinite alternate;
}

/* Same dark overlay gradient the homepage hero uses for text legibility */
.page-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(var(--dark-rgb), 0.5) 0%, rgba(10, 26, 8, 0.65) 45%, rgba(10, 26, 8, 0.80) 100%);
}

.page-hero-glow {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 160px;
  background: radial-gradient(ellipse at bottom, rgba(var(--green-rgb), .35) 0%, transparent 70%);
}

.page-hero-content {
  position: relative;
  z-index: 2;
  padding: 3.5rem 0;
}

.page-hero-tag {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(var(--gold-rgb), .18);
  border: 1px solid rgba(232, 168, 64, .4);
  color: var(--gold2);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  padding: .38rem 1rem;
  border-radius: 50px;
  margin-bottom: 1.2rem;
}

.page-hero h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.2rem, 5vw, 3.4rem);
  font-weight: 700;
  color: var(--white);
  line-height: 1.15;
  margin-bottom: .9rem;
}

.page-hero h1 em {
  font-style: normal;
  color: var(--green-accent);
}

.page-hero p {
  color: rgba(var(--white-rgb), .70);
  font-size: 1rem;
  font-weight: 300;
  max-width: 520px;
  margin: 0 auto 1.5rem;
}

/* breadcrumb */
.breadcrumb {
  display: flex;
  align-items: center;
  gap: .5rem;
  justify-content: center;
  font-size: .78rem;
  color: rgba(var(--white-rgb), .50);
}

.breadcrumb a {
  color: rgba(var(--white-rgb), .65);
  text-decoration: none;
  transition: color .2s;
}

.breadcrumb a:hover {
  color: var(--white);
}

.breadcrumb span {
  color: rgba(var(--white-rgb), .35);
}

.breadcrumb-current {
  color: rgba(var(--white-rgb), .75);
}

/* —— BLOG LAYOUT —— */
.blogs-wrap {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 3rem;
  align-items: start;
  padding-top: 4rem;
  padding-bottom: 5rem;
}

/* —— CATEGORY FILTER TABS —— */
.cat-filter-wrap {
  margin-bottom: 2.5rem;
}

.cat-filter-label {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 1rem;
  display: block;
}

.cat-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}

.cat-tab {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: var(--white);
  border: 1.5px solid rgba(var(--green-rgb), .15);
  color: var(--text);
  padding: .42rem 1rem;
  border-radius: 50px;
  font-size: .82rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .2s;
  text-decoration: none;
}

.cat-tab:hover {
  border-color: var(--green);
  color: var(--green);
}

.cat-tab.active {
  background: var(--green);
  color: var(--white);
  border-color: var(--green);
}

.cat-tab .count {
  font-size: .7rem;
  background: rgba(var(--white-rgb), .25);
  padding: .1rem .45rem;
  border-radius: 50px;
  font-weight: 700;
}

.cat-tab:not(.active) .count {
  background: rgba(var(--green-rgb), .1);
  color: var(--green);
}

/* —— POSTS HEADER —— */
.posts-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.8rem;
  flex-wrap: wrap;
  gap: 1rem;
}

.posts-count {
  font-size: .85rem;
  color: var(--muted);
}

.posts-count strong {
  color: var(--text);
}

.sort-select {
  border: 1.5px solid rgba(var(--green-rgb), .18);
  border-radius: 8px;
  padding: .42rem .9rem;
  font-family: 'Outfit', sans-serif;
  font-size: .82rem;
  color: var(--text);
  background: var(--white);
  cursor: pointer;
  outline: none;
}

/* —— FEATURED POST —— */
.post-featured {
  background: var(--white);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  margin-bottom: 2rem;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  border: 1px solid rgba(var(--green-rgb), .07);
  transition: box-shadow .2s;
}

.post-featured:hover {
  box-shadow: var(--shadow-lg);
}

.post-featured .pf-img {
  overflow: hidden;
  height: 100%;
  min-height: 280px;
}

.post-featured .pf-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s;
}

.post-featured:hover .pf-img img {
  transform: scale(1.05);
}

.post-featured .pf-body {
  padding: 2.2rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.feat-badge {
  display: inline-block;
  background: rgba(var(--gold-rgb), .15);
  color: var(--gold);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: .28rem .75rem;
  border-radius: 50px;
  margin-bottom: 1rem;
  width: fit-content;
}

.pf-body h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--text);
  margin-bottom: .75rem;
}

.pf-body h2 a {
  text-decoration: none;
  color: inherit;
  transition: color .2s;
}

.pf-body h2 a:hover {
  color: var(--green);
}

.pf-body p {
  font-size: .88rem;
  color: var(--muted);
  line-height: 1.75;
  margin-bottom: 1.2rem;
}

.post-meta {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: .75rem;
  color: var(--muted);
  margin-bottom: 1.2rem;
  flex-wrap: wrap;
}

.post-meta span {
  display: flex;
  align-items: center;
  gap: .3rem;
}

.post-cat-pill {
  display: inline-block;
  background: rgba(var(--green-rgb), .08);
  color: var(--green);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: .22rem .7rem;
  border-radius: 50px;
}

.read-more {
  font-size: .85rem;
  font-weight: 700;
  color: var(--green);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  transition: gap .2s;
}

.read-more:hover {
  gap: .7rem;
  color: var(--gold);
}

.read-more::after {
  content: '\2192';
}

/* —— POSTS GRID —— */
.posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}

.post-card {
  background: var(--white);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  border: 1px solid rgba(var(--green-rgb), .06);
  transition: transform .2s, box-shadow .2s;
}

.post-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lg);
}

.pc-img {
  height: 185px;
  overflow: hidden;
  position: relative;
}

.pc-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}

.post-card:hover .pc-img img {
  transform: scale(1.06);
}

.pc-cat {
  position: absolute;
  top: .85rem;
  left: .85rem;
  background: var(--green);
  color: var(--white);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  padding: .25rem .7rem;
  border-radius: 50px;
}

.pc-body {
  padding: 1.3rem;
}

.pc-body h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: .5rem;
}

.pc-body h3 a {
  text-decoration: none;
  color: var(--text);
  transition: color .2s;
}

.pc-body h3 a:hover {
  color: var(--green);
}

.pc-body p {
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.65;
  margin-bottom: 1rem;
}

.pc-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(var(--green-rgb), .08);
  padding-top: .85rem;
}

.pc-author {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .75rem;
  color: var(--muted);
}

.pc-author-av {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--green-lt), var(--green));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .62rem;
  font-weight: 700;
  color: var(--white);
  flex-shrink: 0;
}

.pc-date {
  font-size: .73rem;
  color: var(--muted);
}

/* —— PAGINATION —— */
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  margin-top: 2rem;
}

.pg-btn {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer;
  border: 1.5px solid rgba(var(--green-rgb), .18);
  background: var(--white);
  color: var(--text);
  text-decoration: none;
  transition: all .2s;
}

.pg-btn:hover {
  border-color: var(--green);
  color: var(--green);
}

.pg-btn.active {
  background: var(--green);
  color: var(--white);
  border-color: var(--green);
}

.pg-btn.arrow {
  font-size: 1rem;
}

.pg-ellipsis {
  color: var(--muted);
  font-size: .85rem;
  padding: 0 .3rem;
}

/* WordPress paginate_links() output reuses the .pg-btn look. */
.pagination ul.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pagination .page-numbers {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .85rem;
  font-weight: 600;
  border: 1.5px solid rgba(var(--green-rgb), .18);
  background: var(--white);
  color: var(--text);
  text-decoration: none;
  transition: all .2s;
}

.pagination a.page-numbers:hover {
  border-color: var(--green);
  color: var(--green);
}

.pagination .page-numbers.current {
  background: var(--green);
  color: var(--white);
  border-color: var(--green);
}

.pagination .page-numbers.dots {
  border: none;
  background: none;
  color: var(--muted);
}

/* —— SIDEBAR —— */
.sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
  position: sticky;
  top: 86px;
}

.sidebar-widget {
  background: var(--white);
  border-radius: var(--radius);
  padding: 1.6rem;
  box-shadow: var(--shadow);
  border: 1px solid rgba(var(--green-rgb), .07);
}

.widget-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 1.2rem;
  padding-bottom: .75rem;
  border-bottom: 2px solid var(--cream);
}

/* search */
.search-bar {
  display: flex;
  gap: .5rem;
}

.search-bar input {
  flex: 1;
  border: 1.5px solid rgba(var(--green-rgb), .18);
  border-radius: 8px;
  padding: .6rem .9rem;
  font-family: 'Outfit', sans-serif;
  font-size: .85rem;
  color: var(--text);
  background: var(--cream);
  outline: none;
  transition: border .2s;
}

.search-bar input:focus {
  border-color: var(--green);
}

.search-bar button {
  background: var(--green);
  color: var(--white);
  border: none;
  border-radius: 8px;
  padding: .6rem .9rem;
  cursor: pointer;
  font-size: .9rem;
  transition: background .2s;
}

.search-bar button:hover {
  background: var(--green2);
}

/* categories list */
.cat-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
}

.cat-list li {
  margin: 0;
}

.cat-list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .65rem 0;
  border-bottom: 1px solid rgba(var(--green-rgb), .07);
  text-decoration: none;
  font-size: .87rem;
  font-weight: 500;
  color: var(--text);
  transition: color .2s;
}

.cat-list li:last-child a {
  border-bottom: none;
}

.cat-list li a:hover {
  color: var(--green);
}

.cat-list li a:hover .cl-num {
  background: var(--green);
  color: var(--white);
}

.cl-num {
  background: rgba(var(--green-rgb), .08);
  color: var(--green);
  font-size: .7rem;
  font-weight: 700;
  padding: .18rem .6rem;
  border-radius: 50px;
  transition: all .2s;
}

/* Categories as plain text (no links): same row layout as the old anchors. */
.cat-list li .cat-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .65rem 0;
  border-bottom: 1px solid rgba(var(--green-rgb), .07);
  font-size: .87rem;
  font-weight: 500;
  color: var(--text);
}

.cat-list li:last-child .cat-row {
  border-bottom: none;
}

/* Button resets so AJAX filter tabs / pagination match the old anchors. */
.cat-tab,
.pg-btn {
  font-family: inherit;
}

.pg-btn {
  padding: 0;
}

/* Subtle dim while an AJAX request is in flight. */
#gziPosts.is-loading {
  opacity: .45;
  pointer-events: none;
  transition: opacity .2s ease;
}

/* recent posts */
.recent-post {
  display: flex;
  gap: .85rem;
  padding: .85rem 0;
  border-bottom: 1px solid rgba(var(--green-rgb), .07);
}

.recent-post:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.recent-post img,
.rp-img {
  width: 60px;
  height: 60px;
  min-width: 60px;
  aspect-ratio: 1 / 1;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
  display: block;
}

.rp-info h4 {
  font-size: .82rem;
  font-weight: 600;
  line-height: 1.35;
  margin-bottom: .3rem;
}

.rp-info h4 a {
  text-decoration: none;
  color: var(--text);
  transition: color .2s;
}

.rp-info h4 a:hover {
  color: var(--green);
}

.rp-date {
  font-size: .72rem;
  color: var(--muted);
}

/* tags cloud */
.tags-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.tag {
  background: var(--cream);
  border: 1px solid rgba(var(--green-rgb), .14);
  color: var(--text);
  font-size: .75rem;
  font-weight: 500;
  padding: .3rem .8rem;
  border-radius: 50px;
  text-decoration: none;
  transition: all .2s;
}

.tag:hover {
  background: var(--green);
  color: var(--white);
  border-color: var(--green);
}

/* newsletter */
.newsletter-widget {
  background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
  border-radius: var(--radius);
  padding: 1.6rem;
}

.newsletter-widget .widget-title {
  color: var(--white);
  border-bottom-color: rgba(var(--white-rgb), .15);
}

.newsletter-widget p {
  font-size: .83rem;
  color: rgba(var(--white-rgb), .72);
  margin-bottom: 1.1rem;
  line-height: 1.65;
}

.nl-form {
  display: flex;
  flex-direction: column;
  gap: .6rem;
}

.nl-form input {
  border: none;
  border-radius: 8px;
  padding: .65rem .9rem;
  font-family: 'Outfit', sans-serif;
  font-size: .85rem;
  outline: none;
  background: rgba(var(--white-rgb), .15);
  color: var(--white);
}

.nl-form input::placeholder {
  color: rgba(var(--white-rgb), .5);
}

.nl-form button {
  background: var(--gold);
  color: var(--white);
  border: none;
  border-radius: 8px;
  padding: .65rem;
  font-family: 'Outfit', sans-serif;
  font-size: .85rem;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s;
}

.nl-form button:hover {
  background: var(--gold2);
}

/* —— CONTACT FORM (AJAX) helpers —— */

/* Inline success / error feedback */
.gzi-form-msg {
  display: none;
  margin: 1rem 0 0;
  padding: .8rem 1rem;
  border-radius: 10px;
  font-size: .88rem;
  line-height: 1.5;
}

.gzi-form-msg.is-success {
  background: rgba(var(--green-rgb), 0.10);
  border: 1px solid rgba(var(--green-rgb), 0.30);
  color: var(--green);
}

.gzi-form-msg.is-error {
  background: rgba(220, 50, 50, 0.08);
  border: 1px solid rgba(220, 50, 50, 0.30);
  color: #c0392b;
}

/* Invalid field highlight (added by contact.js) */
.gzi-contact-form .gzi-invalid {
  border-color: #e55 !important;
  box-shadow: 0 0 0 2px rgba(220, 50, 50, 0.12);
}

.gzi-contact-form [type="submit"]:disabled {
  opacity: .65;
  cursor: progress;
}

.contact-email a {
  color: var(--muted);
  text-decoration: none;
}


/* ============================================================
   About Us Page Styles
   ============================================================ */

		/* ─── ABOUT PAGE SCOPED STYLES ─── */
		.site-main--about{
			--green:#1F4D1A; --green2:#2E6B27; --green3:#4A9040; --green-lt:#6AB85E;
			--gold:#C8882A;  --gold2:#E8A840;
			--cream:#F6F2EA; --warm:#EDE8DC;
			--text:#1A2318;  --muted:#6B7465; --white:#FFFFFF;
			--radius:12px;
			--shadow:0 4px 24px rgba(31,77,26,.10);
			--shadow-lg:0 8px 40px rgba(31,77,26,.15);
		}

		/* ─── FULL-BLEED WRAPPER ─── */
		body:not(.home) .site-main--about{max-width:none;padding-left:0;padding-right:0}

		/* ─── PAGE HERO ─── */
		.site-main--about .page-hero-bg{background-image:var(--about-hero-bg,none)}

		/* ─── SHARED UTILITIES ─── */
		.site-main--about .section-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--green-lt);margin-bottom:.75rem}
		.site-main--about .section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,3.5vw,2.8rem);font-weight:700;color:var(--text);line-height:1.2}
		.site-main--about .section-title span{color:var(--green)}
		.site-main--about .section-sub{color:var(--muted);font-size:1rem;margin-top:.75rem;line-height:1.8}
		.site-main--about .center-head{text-align:center}
		.site-main--about .center-head .section-sub{margin-left:auto;margin-right:auto;max-width:580px}
		.site-main--about .btn-green{display:inline-flex;align-items:center;gap:.5rem;background:var(--green);color:var(--white);padding:.8rem 1.9rem;border-radius:50px;font-weight:600;font-size:.92rem;text-decoration:none;transition:all .25s;box-shadow:0 4px 16px rgba(31,77,26,.22)}
		.site-main--about .btn-green:hover{background:var(--green2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(31,77,26,.3)}
		.site-main--about .btn-outline-g{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--green);border:2px solid var(--green);padding:.78rem 1.8rem;border-radius:50px;font-weight:600;font-size:.92rem;text-decoration:none;transition:all .25s}
		.site-main--about .btn-outline-g:hover{background:var(--green);color:var(--white)}

		/* ─── STORY SECTION ─── */
		.site-main--about .story{padding:5.5rem 5%}
		.site-main--about .story-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
		.site-main--about .story-imgs{position:relative;height:480px}
		.site-main--about .story-img-main{position:absolute;top:0;left:0;width:72%;height:380px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg)}
		.site-main--about .story-img-main img{width:100%;height:100%;object-fit:cover}
		.site-main--about .story-img-sub{position:absolute;bottom:0;right:0;width:52%;height:240px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);border:4px solid var(--cream)}
		.site-main--about .story-img-sub img{width:100%;height:100%;object-fit:cover}
		.site-main--about .story-badge{
			position:absolute;top:50%;left:58%;transform:translate(-50%,-50%);
			background:var(--green);color:var(--white);
			width:90px;height:90px;border-radius:50%;
			display:flex;flex-direction:column;align-items:center;justify-content:center;
			box-shadow:0 6px 24px rgba(31,77,26,.35);z-index:2;
			border:3px solid var(--white);text-align:center;
		}
		.site-main--about .story-badge .yr{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:900;line-height:1}
		.site-main--about .story-badge .since{font-size:.58rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.75);margin-top:.1rem}
		.site-main--about .story-text .section-sub{margin-bottom:1.8rem}
		.site-main--about .story-text p{font-size:.97rem;color:var(--text);line-height:1.85;margin-bottom:1.1rem}
		.site-main--about .story-btns{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}

		/* ─── STATS BAND ─── */
		.site-main--about .stats-band{background:var(--green);padding:3.5rem 5%}
		.site-main--about .stats-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
		.site-main--about .stat-col{text-align:center;padding:1.5rem 1rem;border-right:1px solid rgba(255,255,255,.12)}
		.site-main--about .stat-col:last-child{border-right:none}
		.site-main--about .stat-num{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:900;color:#8CC87A;line-height:1;margin-bottom:.4rem}
		.site-main--about .stat-label{font-size:.82rem;color:rgba(255,255,255,.65);text-transform:uppercase;letter-spacing:1.2px;font-weight:500}
		.site-main--about .stat-desc{font-size:.78rem;color:rgba(255,255,255,.4);margin-top:.3rem}

		/* ─── MISSION / VALUES ─── */
		.site-main--about .mission{padding:5.5rem 5%;background:var(--white)}
		.site-main--about .mission-inner{max-width:1200px;margin:0 auto}
		.site-main--about .mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;margin-bottom:4.5rem}
		.site-main--about .mission-text p{font-size:.97rem;color:var(--text);line-height:1.85;margin-top:.9rem}
		.site-main--about .mission-img{border-radius:var(--radius);overflow:hidden;height:360px;box-shadow:var(--shadow-lg)}
		.site-main--about .mission-img img{width:100%;height:100%;object-fit:cover}
		.site-main--about .values-heading{text-align:center;margin-bottom:2.5rem}
		.site-main--about .values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
		.site-main--about .value-card{
			background:var(--cream);border-radius:var(--radius);
			padding:2rem 1.6rem;text-align:center;
			border:1px solid rgba(31,77,26,.08);
			transition:transform .25s,box-shadow .25s;
		}
		.site-main--about .value-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
		.site-main--about .val-icon{
			width:60px;height:60px;border-radius:16px;
			background:linear-gradient(135deg,rgba(31,77,26,.12),rgba(31,77,26,.06));
			display:flex;align-items:center;justify-content:center;
			font-size:1.6rem;margin:0 auto 1.1rem;
			border:1px solid rgba(31,77,26,.12);
		}
		.site-main--about .value-card h3{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:700;color:var(--green);margin-bottom:.5rem}
		.site-main--about .value-card p{font-size:.87rem;color:var(--muted);line-height:1.72}

		/* ─── TEAM SECTION ─── */
		/* The "Our Experts" section now uses the shared, global .team styles
		   (template-parts/section-experts.php) so Home and About match exactly. */

		/* ─── PROCESS / HOW WE WORK ─── */
		.site-main--about .process{padding:5.5rem 5%;background:var(--green);position:relative;overflow:hidden}
		.site-main--about .process::before{content:'';position:absolute;inset:0;background:var(--about-process-bg,none) center/cover;opacity:.06}
		.site-main--about .process-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}
		.site-main--about .process .section-tag{color:#8CC87A}
		.site-main--about .process .section-title{color:var(--white)}
		.site-main--about .process .section-sub{color:rgba(255,255,255,.65);max-width:580px}
		.site-main--about .steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem;position:relative}
		.site-main--about .steps-grid::before{content:'';position:absolute;top:28px;left:calc(12.5% + 8px);right:calc(12.5% + 8px);height:2px;background:linear-gradient(90deg,rgba(255,255,255,.15),rgba(255,255,255,.3),rgba(255,255,255,.15));z-index:0}
		.site-main--about .step-card{text-align:center;position:relative;z-index:1}
		.site-main--about .step-num{
			width:56px;height:56px;border-radius:50%;
			background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.25);
			display:flex;align-items:center;justify-content:center;
			font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:700;
			color:var(--white);margin:0 auto 1.2rem;
			backdrop-filter:blur(4px);transition:all .2s;
		}
		.site-main--about .step-card:hover .step-num{background:var(--gold);border-color:var(--gold)}
		.site-main--about .step-card h3{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:.5rem}
		.site-main--about .step-card p{font-size:.84rem;color:rgba(255,255,255,.60);line-height:1.7}

		/* ─── TIMELINE ─── */
		.site-main--about .timeline-section{padding:5.5rem 5%;background:var(--white)}
		.site-main--about .timeline-inner{max-width:900px;margin:0 auto}
		.site-main--about .timeline{position:relative;margin-top:3rem;padding-left:2.5rem}
		.site-main--about .timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--green),var(--green-lt),rgba(31,77,26,.1))}
		.site-main--about .tl-item{position:relative;padding:0 0 2.8rem 2rem}
		.site-main--about .tl-item:last-child{padding-bottom:0}
		.site-main--about .tl-dot{
			position:absolute;left:-2.5rem;top:.1rem;
			width:18px;height:18px;border-radius:50%;
			background:var(--white);border:3px solid var(--green);
			transition:background .2s;
		}
		.site-main--about .tl-item:hover .tl-dot{background:var(--green)}
		.site-main--about .tl-year{font-size:.72rem;font-weight:700;color:var(--green-lt);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:.4rem}
		.site-main--about .tl-item h3{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:700;color:var(--text);margin-bottom:.4rem}
		.site-main--about .tl-item p{font-size:.9rem;color:var(--muted);line-height:1.75}

		/* ─── TRUST / AWARDS ─── */
		.site-main--about .trust-section{padding:5rem 5%;background:var(--cream)}
		.site-main--about .trust-inner{max-width:1200px;margin:0 auto}
		.site-main--about .trust-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2.5rem}
		.site-main--about .trust-badge{
			display:flex;align-items:center;gap:.65rem;
			background:var(--white);border:1.5px solid rgba(31,77,26,.12);
			padding:.85rem 1.4rem;border-radius:var(--radius);
			font-size:.88rem;font-weight:600;color:var(--text);
			box-shadow:var(--shadow);transition:all .2s;
		}
		.site-main--about .trust-badge:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:var(--shadow-lg)}
		.site-main--about .trust-badge .tb-icon{font-size:1.5rem}
		.site-main--about .trust-badge .tb-text small{display:block;font-size:.7rem;font-weight:400;color:var(--muted)}

		/* ─── CTA ─── */
		.site-main--about .cta-section{padding:5.5rem 5%;background:linear-gradient(135deg,#0d2409 0%,#1F4D1A 55%,#2E6B27 100%);text-align:center;position:relative;overflow:hidden}
		.site-main--about .cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(140,200,122,.12) 0%,transparent 70%)}
		.site-main--about .cta-inner{position:relative;z-index:1;max-width:680px;margin:0 auto}
		.site-main--about .cta-section .section-tag{color:#8CC87A}
		.site-main--about .cta-section .section-title{color:var(--white)}
		.site-main--about .cta-section .section-sub{color:rgba(255,255,255,.68);margin:.8rem auto 2.5rem}
		.site-main--about .cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
		.site-main--about .btn-gold{background:var(--gold);color:var(--white);padding:.82rem 2rem;border-radius:50px;font-weight:600;font-size:.92rem;text-decoration:none;box-shadow:0 6px 20px rgba(200,136,42,.38);transition:all .25s}
		.site-main--about .btn-gold:hover{background:var(--gold2);transform:translateY(-3px);box-shadow:0 10px 28px rgba(200,136,42,.45)}
		.site-main--about .btn-outline-w{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.38);padding:.8rem 2rem;border-radius:50px;font-weight:600;font-size:.92rem;text-decoration:none;transition:all .25s}
		.site-main--about .btn-outline-w:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.65)}

		/* ─── RESPONSIVE ─── */


/* ============================================================
   Contact Us Page Styles
   ============================================================ */

		/* ─── CONTACT PAGE SCOPED STYLES ─── */
		.site-main--contact {
			--green: #1F4D1A;
			--green2: #2E6B27;
			--green3: #4A9040;
			--green-lt: #6AB85E;
			--gold: #C8882A;
			--gold2: #E8A840;
			--cream: #F6F2EA;
			--warm: #EDE8DC;
			--text: #1A2318;
			--muted: #6B7465;
			--white: #FFFFFF;
			--radius: 14px;
			--radius-lg: 20px;
			--shadow: 0 4px 24px rgba(31, 77, 26, .10);
			--shadow-lg: 0 12px 48px rgba(31, 77, 26, .16);
			--shadow-xl: 0 24px 80px rgba(31, 77, 26, .20);
		}

		/* Drop the global inner-page width cap so the hero is full-bleed, like Blogs. */
		body:not(.home) .site-main--contact {
			max-width: none;
			padding-left: 0;
			padding-right: 0
		}

		/* Hero layout/spacing/overlay/responsive inherited from theme .page-hero*;
		   only the background image is swapped in. */
		

		/* ─── CONTACT MAIN AREA ─── */
		.site-main--contact .contact-area {
			padding: 5rem 5% 6rem;
			max-width: 1240px;
			margin: 0 auto
		}

		/* — TOP CONTACT CARDS — */
		.site-main--contact .contact-cards {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 1.4rem;
			margin-bottom: 4rem
		}

		.site-main--contact .ccard {
			background: var(--white);
			border-radius: var(--radius-lg);
			padding: 2.2rem 1.8rem;
			text-align: center;
			border: 1px solid rgba(31, 77, 26, .07);
			box-shadow: var(--shadow);
			transition: transform .3s, box-shadow .3s;
			position: relative;
			overflow: hidden;
		}

		.site-main--contact .ccard::before {
			content: '';
			position: absolute;
			inset: 0;
			background: linear-gradient(135deg, rgba(31, 77, 26, .04), transparent);
			opacity: 0;
			transition: opacity .3s
		}

		.site-main--contact .ccard:hover {
			transform: translateY(-8px);
			box-shadow: var(--shadow-xl)
		}

		.site-main--contact .ccard:hover::before {
			opacity: 1
		}

		.site-main--contact .ccard-icon-wrap {
			width: 64px;
			height: 64px;
			border-radius: 18px;
			background: linear-gradient(135deg, rgba(31, 77, 26, .1), rgba(31, 77, 26, .05));
			border: 1.5px solid rgba(31, 77, 26, .12);
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 1.6rem;
			margin: 0 auto 1.2rem;
			transition: all .3s;
		}

		.site-main--contact .ccard:hover .ccard-icon-wrap {
			background: linear-gradient(135deg, var(--green), var(--green2));
			border-color: transparent;
			transform: scale(1.08)
		}

		.site-main--contact .ccard h3 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.2rem;
			font-weight: 700;
			color: var(--text);
			margin-bottom: .4rem
		}

		.site-main--contact .ccard p {
			font-size: .85rem;
			color: var(--muted);
			margin-bottom: .9rem;
			line-height: 1.65
		}

		.site-main--contact .ccard-link {
			font-size: .88rem;
			font-weight: 700;
			color: var(--green);
			text-decoration: none;
			display: inline-flex;
			align-items: center;
			gap: .35rem;
			transition: gap .2s
		}

		.site-main--contact .ccard-link:hover {
			gap: .6rem
		}

		.site-main--contact .ccard-link::after {
			content: '→'
		}

		.site-main--contact .ccard-sub {
			font-size: .75rem;
			color: var(--muted);
			margin-top: .25rem
		}

		/* — MAIN FORM + INFO GRID — */
		.site-main--contact .form-info-grid {
			display: grid;
			grid-template-columns: 1.35fr 1fr;
			gap: 2.5rem;
			align-items: start
		}

		/* FORM PANEL */
		.site-main--contact .form-panel {
			background: var(--white);
			border-radius: var(--radius-lg);
			padding: 2.8rem 2.5rem;
			box-shadow: var(--shadow-lg);
			border: 1px solid rgba(31, 77, 26, .07);
			position: relative;
			overflow: hidden;
		}

		.site-main--contact .form-panel::before {
			content: '';
			position: absolute;
			top: -60px;
			right: -60px;
			width: 200px;
			height: 200px;
			border-radius: 50%;
			background: radial-gradient(circle, rgba(31, 77, 26, .06) 0%, transparent 70%);
			pointer-events: none;
		}

		.site-main--contact .form-panel-header {
			margin-bottom: 2rem
		}

		.site-main--contact .form-panel-header .section-tag {
			display: inline-block;
			font-size: .7rem;
			font-weight: 700;
			letter-spacing: 2px;
			text-transform: uppercase;
			color: var(--green-lt);
			margin-bottom: .6rem
		}

		.site-main--contact .form-panel-header h2 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.85rem;
			font-weight: 700;
			color: var(--text);
			line-height: 1.25
		}

		.site-main--contact .form-panel-header p {
			font-size: .88rem;
			color: var(--muted);
			margin-top: .5rem;
			line-height: 1.7
		}

		/* subject tabs */
		.site-main--contact .subject-tabs {
			display: flex;
			gap: .55rem;
			flex-wrap: wrap;
			margin-bottom: 1.8rem
		}

		.site-main--contact .sub-tab {
			background: var(--cream);
			border: 1.5px solid rgba(31, 77, 26, .14);
			color: var(--muted);
			font-size: .78rem;
			font-weight: 600;
			padding: .42rem 1rem;
			border-radius: 50px;
			cursor: pointer;
			transition: all .2s;
			white-space: nowrap;
			font-family: 'Outfit', sans-serif;
		}

		.site-main--contact .sub-tab:hover {
			border-color: var(--green);
			color: var(--green)
		}

		.site-main--contact .sub-tab.active {
			background: var(--green);
			color: var(--white);
			border-color: var(--green)
		}

		/* form fields */
		.site-main--contact .form-row {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 1.1rem
		}

		.site-main--contact .fg {
			display: flex;
			flex-direction: column;
			gap: .4rem;
			margin-bottom: 1.1rem
		}

		.site-main--contact .fg label {
			font-size: .78rem;
			font-weight: 700;
			color: var(--text);
			letter-spacing: .3px
		}

		.site-main--contact .fg label .req {
			color: var(--gold);
			margin-left: .2rem
		}

		.site-main--contact .fg input,
		.site-main--contact .fg select,
		.site-main--contact .fg textarea {
			border: 1.5px solid rgba(31, 77, 26, .18);
			border-radius: 10px;
			padding: .75rem 1rem;
			font-family: 'Outfit', sans-serif;
			font-size: .9rem;
			color: var(--text);
			background: var(--cream);
			outline: none;
			transition: border .25s, box-shadow .25s;
			appearance: none;
			-webkit-appearance: none;
		}

		.site-main--contact .fg input:focus,
		.site-main--contact .fg select:focus,
		.site-main--contact .fg textarea:focus {
			border-color: var(--green);
			box-shadow: 0 0 0 4px rgba(31, 77, 26, .08);
			background: var(--white);
		}

		.site-main--contact .fg input::placeholder,
		.site-main--contact .fg textarea::placeholder {
			color: var(--muted);
			opacity: .7
		}

		.site-main--contact .fg textarea {
			resize: vertical;
			min-height: 120px;
			line-height: 1.6
		}

		.site-main--contact .fg select {
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7465' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
			background-repeat: no-repeat;
			background-position: right 1rem center;
			padding-right: 2.5rem;
			cursor: pointer
		}

		/* char counter */
		.site-main--contact .fg-footer {
			display: flex;
			align-items: center;
			justify-content: space-between;
			margin-top: .3rem
		}

		.site-main--contact .char-count {
			font-size: .72rem;
			color: var(--muted)
		}

		/* checkbox */
		.site-main--contact .checkbox-row {
			display: flex;
			align-items: flex-start;
			gap: .75rem;
			margin-bottom: 1.5rem
		}

		.site-main--contact .checkbox-row input[type=checkbox] {
			width: 18px;
			height: 18px;
			accent-color: var(--green);
			flex-shrink: 0;
			margin-top: .15rem;
			cursor: pointer
		}

		.site-main--contact .checkbox-row label {
			font-size: .82rem;
			color: var(--muted);
			cursor: pointer;
			line-height: 1.6
		}

		.site-main--contact .checkbox-row label a {
			color: var(--green);
			text-decoration: none;
			font-weight: 600
		}

		/* submit */
		.site-main--contact .submit-btn {
			width: 100%;
			background: var(--green);
			color: var(--white);
			border: none;
			border-radius: 50px;
			padding: 1rem 2rem;
			font-family: 'Outfit', sans-serif;
			font-size: .97rem;
			font-weight: 700;
			cursor: pointer;
			transition: all .25s;
			display: flex;
			align-items: center;
			justify-content: center;
			gap: .6rem;
			box-shadow: 0 6px 20px rgba(31, 77, 26, .28);
			position: relative;
			overflow: hidden;
		}

		.site-main--contact .submit-btn::before {
			content: '';
			position: absolute;
			inset: 0;
			background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .12), transparent);
			transform: translateX(-100%);
			transition: transform .5s
		}

		.site-main--contact .submit-btn:hover::before {
			transform: translateX(100%)
		}

		.site-main--contact .submit-btn:hover {
			background: var(--green2);
			transform: translateY(-2px);
			box-shadow: 0 10px 28px rgba(31, 77, 26, .35)
		}

		.site-main--contact .submit-btn .btn-arrow {
			font-size: 1.1rem;
			transition: transform .2s
		}

		.site-main--contact .submit-btn:hover .btn-arrow {
			transform: translateX(4px)
		}

		/* success state */
		.site-main--contact .success-msg {
			display: none;
			text-align: center;
			padding: 2.5rem 1.5rem
		}

		.site-main--contact .success-msg .success-icon {
			font-size: 3.5rem;
			margin-bottom: 1rem;
			animation: contact-pop .5s cubic-bezier(.36, .07, .19, .97)
		}

		@keyframes contact-pop {
			0% {
				transform: scale(0)
			}

			80% {
				transform: scale(1.15)
			}

			100% {
				transform: scale(1)
			}
		}

		.site-main--contact .success-msg h3 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.6rem;
			font-weight: 700;
			color: var(--green);
			margin-bottom: .5rem
		}

		.site-main--contact .success-msg p {
			font-size: .9rem;
			color: var(--muted)
		}

		/* — INFO PANEL — */
		.site-main--contact .info-panel {
			display: flex;
			flex-direction: column;
			gap: 1.5rem
		}

		.site-main--contact .info-card {
			background: var(--white);
			border-radius: var(--radius-lg);
			padding: 1.8rem;
			box-shadow: var(--shadow);
			border: 1px solid rgba(31, 77, 26, .07);
			transition: transform .2s;
		}

		.site-main--contact .info-card:hover {
			transform: translateY(-3px)
		}

		.site-main--contact .info-card-header {
			display: flex;
			align-items: center;
			gap: .9rem;
			margin-bottom: 1.3rem
		}

		.site-main--contact .ic-icon {
			width: 46px;
			height: 46px;
			border-radius: 12px;
			background: linear-gradient(135deg, rgba(31, 77, 26, .1), rgba(31, 77, 26, .05));
			border: 1.5px solid rgba(31, 77, 26, .12);
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 1.2rem;
			flex-shrink: 0;
		}

		.site-main--contact .info-card-header h3 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.1rem;
			font-weight: 700;
			color: var(--text)
		}

		.site-main--contact .ic-row {
			display: flex;
			align-items: flex-start;
			gap: .75rem;
			padding: .75rem 0;
			border-bottom: 1px solid rgba(31, 77, 26, .07)
		}

		.site-main--contact .ic-row:last-child {
			border-bottom: none;
			padding-bottom: 0
		}

		.site-main--contact .ic-dot {
			width: 8px;
			height: 8px;
			border-radius: 50%;
			background: var(--green-lt);
			flex-shrink: 0;
			margin-top: .55rem
		}

		.site-main--contact .ic-row-text strong {
			display: block;
			font-size: .88rem;
			font-weight: 600;
			color: var(--text)
		}

		.site-main--contact .ic-row-text span {
			font-size: .8rem;
			color: var(--muted)
		}

		/* hours status */
		.site-main--contact .hours-status {
			display: inline-flex;
			align-items: center;
			gap: .4rem;
			background: rgba(74, 144, 64, .12);
			color: var(--green);
			font-size: .72rem;
			font-weight: 700;
			padding: .22rem .7rem;
			border-radius: 50px;
			margin-top: .3rem
		}

		.site-main--contact .hours-status .dot {
			width: 6px;
			height: 6px;
			border-radius: 50%;
			background: var(--green-lt);
			animation: contact-pulse 2s ease infinite
		}

		@keyframes contact-pulse {

			0%,
			100% {
				opacity: 1
			}

			50% {
				opacity: .4
			}
		}

		/* social card */
		.site-main--contact .social-card {
			background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
			border-radius: var(--radius-lg);
			padding: 1.8rem;
			box-shadow: 0 8px 32px rgba(31, 77, 26, .25);
		}

		.site-main--contact .social-card h3 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.1rem;
			font-weight: 700;
			color: var(--white);
			margin-bottom: .4rem
		}

		.site-main--contact .social-card p {
			font-size: .82rem;
			color: rgba(255, 255, 255, .65);
			margin-bottom: 1.3rem;
			line-height: 1.6
		}

		.site-main--contact .social-links {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: .65rem
		}

		.site-main--contact .slink {
			display: flex;
			align-items: center;
			gap: .6rem;
			background: rgba(255, 255, 255, .12);
			border: 1px solid rgba(255, 255, 255, .18);
			border-radius: 10px;
			padding: .65rem .9rem;
			text-decoration: none;
			color: var(--white);
			font-size: .82rem;
			font-weight: 600;
			transition: all .2s;
			backdrop-filter: blur(4px);
		}

		.site-main--contact .slink:hover {
			background: rgba(255, 255, 255, .22);
			transform: translateY(-2px)
		}

		.site-main--contact .slink .sl-icon {
			font-size: 1rem
		}

		/* — MAP SECTION — */
		.site-main--contact .map-section {
			margin-top: 4rem
		}

		.site-main--contact .map-header {
			margin-bottom: 1.5rem
		}

		.site-main--contact .map-header .section-tag {
			display: inline-block;
			font-size: .7rem;
			font-weight: 700;
			letter-spacing: 2px;
			text-transform: uppercase;
			color: var(--green-lt);
			margin-bottom: .5rem
		}

		.site-main--contact .map-header h2 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.7rem;
			font-weight: 700;
			color: var(--text)
		}

		.site-main--contact .map-wrap {
			border-radius: var(--radius-lg);
			overflow: hidden;
			box-shadow: var(--shadow-lg);
			position: relative;
			background: var(--warm);
			height: 320px;
			border: 1px solid rgba(31, 77, 26, .08);
			display: flex;
			align-items: center;
			justify-content: center;
		}

		.site-main--contact .map-placeholder {
			text-align: center;
			padding: 2rem
		}

		.site-main--contact .map-placeholder .map-icon {
			font-size: 3rem;
			margin-bottom: .8rem
		}

		.site-main--contact .map-placeholder h3 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.3rem;
			font-weight: 700;
			color: var(--green);
			margin-bottom: .4rem
		}

		.site-main--contact .map-placeholder p {
			font-size: .88rem;
			color: var(--muted);
			margin-bottom: 1.2rem
		}

		.site-main--contact .map-placeholder a {
			display: inline-flex;
			align-items: center;
			gap: .5rem;
			background: var(--green);
			color: var(--white);
			padding: .65rem 1.5rem;
			border-radius: 50px;
			font-size: .85rem;
			font-weight: 600;
			text-decoration: none;
			transition: all .2s
		}

		.site-main--contact .map-placeholder a:hover {
			background: var(--green2);
			transform: translateY(-2px)
		}

		.site-main--contact .map-pin {
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%)
		}

		/* — FAQ STRIP — */
		.site-main--contact .faq-strip {
			margin-top: 4rem
		}

		.site-main--contact .faq-strip-header {
			text-align: center;
			margin-bottom: 2.5rem
		}

		.site-main--contact .faq-strip-header .section-tag {
			display: inline-block;
			font-size: .7rem;
			font-weight: 700;
			letter-spacing: 2px;
			text-transform: uppercase;
			color: var(--green-lt);
			margin-bottom: .6rem
		}

		.site-main--contact .faq-strip-header h2 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.8rem;
			font-weight: 700;
			color: var(--text)
		}

		.site-main--contact .faq-grid {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 1.1rem
		}

		.site-main--contact .faq-item {
			background: var(--white);
			border-radius: var(--radius);
			border: 1px solid rgba(31, 77, 26, .08);
			overflow: hidden;
			box-shadow: var(--shadow);
		}

		.site-main--contact .faq-q {
			width: 100%;
			background: none;
			border: none;
			text-align: left;
			padding: 1.15rem 1.4rem;
			cursor: pointer;
			display: flex;
			justify-content: space-between;
			align-items: center;
			font-family: 'Outfit', sans-serif;
			font-size: .92rem;
			font-weight: 600;
			color: var(--text);
			gap: 1rem;
		}

		.site-main--contact .faq-icon {
			width: 28px;
			height: 28px;
			border-radius: 50%;
			background: rgba(31, 77, 26, .08);
			color: var(--green);
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 1.1rem;
			flex-shrink: 0;
			transition: all .3s;
		}

		.site-main--contact .faq-item.open .faq-icon {
			background: var(--green);
			color: var(--white);
			transform: rotate(45deg)
		}

		.site-main--contact .faq-a {
			font-size: .86rem;
			color: var(--muted);
			padding: 0 1.4rem 1.2rem;
			display: none;
			line-height: 1.72
		}

		.site-main--contact .faq-item.open .faq-a {
			display: block
		}

		/* ─── RESPONSIVE ─── */


/* ============================================================
   Disclaimer Page Styles
   ============================================================ */

		/* ─── LEGAL PAGE SCOPED STYLES (Disclaimer — gold accent) ─── */
		.site-main--disclaimer {
			--green: #1F4D1A;
			--green2: #2E6B27;
			--green3: #4A9040;
			--green-lt: #6AB85E;
			--gold: #C8882A;
			--gold2: #E8A840;
			--cream: #F6F2EA;
			--warm: #EDE8DC;
			--text: #1A2318;
			--muted: #6B7465;
			--white: #FFFFFF;
			--radius: 12px;
			--shadow: 0 4px 24px rgba(31, 77, 26, .10);
			--shadow-lg: 0 8px 40px rgba(31, 77, 26, .14);
		}

		/* Drop the global inner-page width cap so the hero is full-bleed, like Blogs. */
		body:not(.home) .site-main--disclaimer {
			max-width: none;
			padding-left: 0;
			padding-right: 0
		}

		/* Hero layout/spacing/overlay/responsive inherited from theme .page-hero*;
		   only the background image is swapped in. */
		

		/* ─── LAYOUT ─── */
		.site-main--disclaimer .content-wrap {
			display: grid;
			grid-template-columns: 1fr 300px;
			gap: 3rem;
			max-width: 1160px;
			margin: 0 auto;
			padding: 3.5rem 5% 5rem
		}

		/* ─── ARTICLE ─── */
		.site-main--disclaimer .policy-article {
			min-width: 0
		}

		.site-main--disclaimer .intro-box {
			background: linear-gradient(135deg, rgba(200, 136, 42, 0.07) 0%, rgba(232, 168, 64, 0.05) 100%);
			border: 1px solid rgba(200, 136, 42, 0.18);
			border-left: 4px solid var(--gold);
			border-radius: var(--radius);
			padding: 1.5rem 1.8rem;
			margin-bottom: 2.5rem;
		}

		.site-main--disclaimer .intro-box p {
			font-size: .95rem;
			color: var(--text);
			line-height: 1.8
		}

		.site-main--disclaimer .intro-box strong {
			color: var(--gold)
		}

		.site-main--disclaimer .policy-section {
			margin-bottom: 2.8rem
		}

		.site-main--disclaimer .policy-section h2 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.65rem;
			font-weight: 700;
			color: var(--green);
			margin-bottom: 1rem;
			display: flex;
			align-items: center;
			gap: .6rem;
			padding-bottom: .6rem;
			border-bottom: 2px solid rgba(31, 77, 26, 0.1);
		}

		.site-main--disclaimer .policy-section h2 .num {
			background: var(--gold);
			color: var(--white);
			width: 28px;
			height: 28px;
			border-radius: 50%;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			font-size: .8rem;
			font-family: 'Outfit', sans-serif;
			font-weight: 700;
			flex-shrink: 0;
		}

		.site-main--disclaimer .policy-section h3 {
			font-size: 1.05rem;
			font-weight: 700;
			color: var(--text);
			margin: 1.5rem 0 .6rem
		}

		.site-main--disclaimer .policy-section p {
			color: var(--muted);
			font-size: .95rem;
			line-height: 1.85;
			margin-bottom: .9rem
		}

		.site-main--disclaimer .policy-section ul {
			list-style: none;
			margin: .6rem 0 1rem;
			padding: 0
		}

		.site-main--disclaimer .policy-section ul li {
			padding: .45rem 0 .45rem 1.6rem;
			position: relative;
			color: var(--muted);
			font-size: .93rem;
			border-bottom: 1px solid rgba(31, 77, 26, 0.05);
		}

		.site-main--disclaimer .policy-section ul li:last-child {
			border-bottom: none
		}

		.site-main--disclaimer .policy-section ul li::before {
			content: '✦';
			position: absolute;
			left: 0;
			color: var(--gold);
			font-size: .6rem;
			top: .6rem
		}

		.site-main--disclaimer .highlight-box {
			background: rgba(200, 136, 42, 0.07);
			border: 1px solid rgba(200, 136, 42, 0.2);
			border-radius: var(--radius);
			padding: 1.2rem 1.5rem;
			margin: 1.2rem 0;
		}

		.site-main--disclaimer .highlight-box p {
			color: var(--text);
			margin: 0;
			font-size: .9rem
		}

		.site-main--disclaimer .highlight-box strong {
			color: var(--gold)
		}

		.site-main--disclaimer .green-box {
			background: rgba(31, 77, 26, 0.04);
			border: 1px solid rgba(31, 77, 26, 0.12);
			border-radius: var(--radius);
			padding: 1.2rem 1.5rem;
			margin: 1.2rem 0;
		}

		.site-main--disclaimer .green-box p {
			margin: 0;
			font-size: .9rem
		}

		/* ─── CALLOUT CARDS ─── */
		.site-main--disclaimer .callout-grid {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 1rem;
			margin: 1.5rem 0
		}

		.site-main--disclaimer .callout-card {
			background: var(--white);
			border: 1px solid rgba(31, 77, 26, 0.08);
			border-radius: var(--radius);
			padding: 1.3rem;
			box-shadow: var(--shadow)
		}

		.site-main--disclaimer .callout-card .icon {
			font-size: 1.6rem;
			margin-bottom: .6rem
		}

		.site-main--disclaimer .callout-card h4 {
			font-size: .92rem;
			font-weight: 700;
			color: var(--green);
			margin-bottom: .4rem
		}

		.site-main--disclaimer .callout-card p {
			font-size: .83rem;
			color: var(--muted);
			line-height: 1.65
		}

		/* ─── SIDEBAR ─── */
		.site-main--disclaimer .sidebar {
			position: sticky;
			top: 90px;
			height: fit-content;
			display: flex;
			flex-direction: column;
			gap: 1.5rem
		}

		.site-main--disclaimer .sidebar-card {
			background: var(--white);
			border-radius: var(--radius);
			padding: 1.5rem;
			box-shadow: var(--shadow);
			border: 1px solid rgba(31, 77, 26, 0.07)
		}

		.site-main--disclaimer .sidebar-card h4 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.1rem;
			font-weight: 700;
			color: var(--green);
			margin-bottom: 1rem;
			padding-bottom: .6rem;
			border-bottom: 2px solid rgba(31, 77, 26, 0.1)
		}

		.site-main--disclaimer .toc-list {
			list-style: none;
			margin-left: 0;
		}

		.site-main--disclaimer .toc-list li {
			margin-bottom: .5rem
		}

		.site-main--disclaimer .toc-list a {
			text-decoration: none;
			color: var(--muted);
			font-size: .85rem;
			display: flex;
			align-items: center;
			gap: .5rem;
			padding: .35rem .6rem;
			border-radius: 6px;
			transition: all .2s
		}

		.site-main--disclaimer .toc-list a:hover {
			background: rgba(31, 77, 26, 0.06);
			color: var(--green)
		}

		.site-main--disclaimer .toc-list a .toc-num {
			background: rgba(200, 136, 42, 0.12);
			color: var(--gold);
			width: 20px;
			height: 20px;
			border-radius: 50%;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			font-size: .7rem;
			font-weight: 700;
			flex-shrink: 0
		}

		.site-main--disclaimer .contact-card {
			background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
			color: var(--white);
			border-radius: var(--radius);
			padding: 1.5rem;
			text-align: center
		}

		.site-main--disclaimer .contact-card h4 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.2rem;
			font-weight: 700;
			color: var(--white);
			margin-bottom: .6rem
		}

		.site-main--disclaimer .contact-card p {
			font-size: .83rem;
			color: rgba(255, 255, 255, 0.68);
			margin-bottom: 1.2rem;
			line-height: 1.65
		}

		.site-main--disclaimer .contact-card a {
			background: var(--gold);
			color: var(--white);
			text-decoration: none;
			padding: .6rem 1.4rem;
			border-radius: 50px;
			font-size: .83rem;
			font-weight: 600;
			display: inline-block;
			transition: all .2s
		}

		.site-main--disclaimer .contact-card a:hover {
			background: var(--gold2);
			transform: translateY(-2px)
		}

		.site-main--disclaimer .update-card p {
			font-size: .85rem;
			color: var(--muted);
			margin-bottom: .5rem
		}

		.site-main--disclaimer .update-card strong {
			color: var(--green);
			font-size: .9rem
		}

		.site-main--disclaimer .pages-list {
			list-style: none;
			margin-left: 0;
		}

		.site-main--disclaimer .pages-list li {
			margin-bottom: .4rem
		}

		.site-main--disclaimer .pages-list a {
			text-decoration: none;
			color: var(--muted);
			font-size: .85rem;
			display: flex;
			align-items: center;
			gap: .5rem;
			padding: .35rem .5rem;
			border-radius: 6px;
			transition: all .2s
		}

		.site-main--disclaimer .pages-list a:hover {
			background: rgba(31, 77, 26, 0.06);
			color: var(--green)
		}

		.site-main--disclaimer .pages-list a::before {
			content: '→';
			color: var(--green-lt);
			font-size: .8rem
		}

		.site-main--disclaimer .trust-badges {
			display: flex;
			flex-direction: column;
			gap: .6rem
		}

		.site-main--disclaimer .trust-badge {
			display: flex;
			align-items: center;
			gap: .7rem;
			background: var(--cream);
			border: 1px solid rgba(31, 77, 26, 0.1);
			border-radius: 8px;
			padding: .6rem .9rem;
			font-size: .8rem;
			font-weight: 600;
			color: var(--text)
		}

		.site-main--disclaimer .trust-badge .badge-icon {
			font-size: 1.1rem
		}

		/* ─── RESPONSIVE ─── */


/* ============================================================
   Privacy Policy Page Styles
   ============================================================ */

		/* ─── LEGAL PAGE SCOPED STYLES (Privacy Policy) ─── */
		.site-main--privacy {
			--green: #1F4D1A;
			--green2: #2E6B27;
			--green3: #4A9040;
			--green-lt: #6AB85E;
			--gold: #C8882A;
			--gold2: #E8A840;
			--cream: #F6F2EA;
			--warm: #EDE8DC;
			--text: #1A2318;
			--muted: #6B7465;
			--white: #FFFFFF;
			--radius: 12px;
			--shadow: 0 4px 24px rgba(31, 77, 26, .10);
			--shadow-lg: 0 8px 40px rgba(31, 77, 26, .14);
		}

		/* Drop the global inner-page width cap so the hero is full-bleed, like Blogs. */
		body:not(.home) .site-main--privacy {
			max-width: none;
			padding-left: 0;
			padding-right: 0
		}

		/* Hero layout/spacing/overlay/responsive inherited from theme .page-hero*;
		   only the background image is swapped in. */
		

		/* ─── LAYOUT ─── */
		.site-main--privacy .content-wrap {
			display: grid;
			grid-template-columns: 1fr 300px;
			gap: 3rem;
			max-width: 1160px;
			margin: 0 auto;
			padding: 3.5rem 5% 5rem
		}

		/* ─── ARTICLE ─── */
		.site-main--privacy .policy-article {
			min-width: 0
		}

		.site-main--privacy .intro-box {
			background: linear-gradient(135deg, rgba(31, 77, 26, 0.06) 0%, rgba(106, 184, 94, 0.08) 100%);
			border: 1px solid rgba(31, 77, 26, 0.12);
			border-left: 4px solid var(--green);
			border-radius: var(--radius);
			padding: 1.5rem 1.8rem;
			margin-bottom: 2.5rem;
		}

		.site-main--privacy .intro-box p {
			font-size: .95rem;
			color: var(--text);
			line-height: 1.8
		}

		.site-main--privacy .intro-box strong {
			color: var(--green)
		}

		.site-main--privacy .policy-section {
			margin-bottom: 2.8rem
		}

		.site-main--privacy .policy-section h2 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.65rem;
			font-weight: 700;
			color: var(--green);
			margin-bottom: 1rem;
			display: flex;
			align-items: center;
			gap: .6rem;
			padding-bottom: .6rem;
			border-bottom: 2px solid rgba(31, 77, 26, 0.1);
		}

		.site-main--privacy .policy-section h2 .num {
			background: var(--green);
			color: var(--white);
			width: 28px;
			height: 28px;
			border-radius: 50%;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			font-size: .8rem;
			font-family: 'Outfit', sans-serif;
			font-weight: 700;
			flex-shrink: 0;
		}

		.site-main--privacy .policy-section h3 {
			font-size: 1.05rem;
			font-weight: 700;
			color: var(--text);
			margin: 1.5rem 0 .6rem
		}

		.site-main--privacy .policy-section p {
			color: var(--muted);
			font-size: .95rem;
			line-height: 1.85;
			margin-bottom: .9rem
		}

		.site-main--privacy .policy-section ul {
			list-style: none;
			margin: .6rem 0 1rem;
			padding: 0
		}

		.site-main--privacy .policy-section ul li {
			padding: .45rem 0 .45rem 1.6rem;
			position: relative;
			color: var(--muted);
			font-size: .93rem;
			border-bottom: 1px solid rgba(31, 77, 26, 0.05);
		}

		.site-main--privacy .policy-section ul li:last-child {
			border-bottom: none
		}

		.site-main--privacy .policy-section ul li::before {
			content: '✓';
			position: absolute;
			left: 0;
			color: var(--green3);
			font-weight: 700
		}

		.site-main--privacy .highlight-box {
			background: rgba(200, 136, 42, 0.06);
			border: 1px solid rgba(200, 136, 42, 0.18);
			border-radius: var(--radius);
			padding: 1.2rem 1.5rem;
			margin: 1.2rem 0;
		}

		.site-main--privacy .highlight-box p {
			color: var(--text);
			margin: 0;
			font-size: .9rem
		}

		.site-main--privacy .highlight-box strong {
			color: var(--gold)
		}

		.site-main--privacy .green-box {
			background: rgba(31, 77, 26, 0.04);
			border: 1px solid rgba(31, 77, 26, 0.12);
			border-radius: var(--radius);
			padding: 1.2rem 1.5rem;
			margin: 1.2rem 0;
		}

		.site-main--privacy .green-box p {
			margin: 0;
			font-size: .9rem
		}

		/* ─── SIDEBAR ─── */
		.site-main--privacy .sidebar {
			position: sticky;
			top: 90px;
			height: fit-content;
			display: flex;
			flex-direction: column;
			gap: 1.5rem
		}

		.site-main--privacy .sidebar-card {
			background: var(--white);
			border-radius: var(--radius);
			padding: 1.5rem;
			box-shadow: var(--shadow);
			border: 1px solid rgba(31, 77, 26, 0.07)
		}

		.site-main--privacy .sidebar-card h4 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.1rem;
			font-weight: 700;
			color: var(--green);
			margin-bottom: 1rem;
			padding-bottom: .6rem;
			border-bottom: 2px solid rgba(31, 77, 26, 0.1)
		}

		.site-main--privacy .toc-list {
			list-style: none;
			margin-left: 0;
		}

		.site-main--privacy .toc-list li {
			margin-bottom: .5rem
		}

		.site-main--privacy .toc-list a {
			text-decoration: none;
			color: var(--muted);
			font-size: .85rem;
			display: flex;
			align-items: center;
			gap: .5rem;
			padding: .35rem .6rem;
			border-radius: 6px;
			transition: all .2s
		}

		.site-main--privacy .toc-list a:hover {
			background: rgba(31, 77, 26, 0.06);
			color: var(--green)
		}

		.site-main--privacy .toc-list a .toc-num {
			background: var(--cream);
			color: var(--green3);
			width: 20px;
			height: 20px;
			border-radius: 50%;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			font-size: .7rem;
			font-weight: 700;
			flex-shrink: 0
		}

		.site-main--privacy .contact-card {
			background: var(--green);
			color: var(--white);
			border-radius: var(--radius);
			padding: 1.5rem;
			text-align: center
		}

		.site-main--privacy .contact-card h4 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.2rem;
			font-weight: 700;
			color: var(--white);
			margin-bottom: .6rem
		}

		.site-main--privacy .contact-card p {
			font-size: .83rem;
			color: rgba(255, 255, 255, 0.68);
			margin-bottom: 1.2rem;
			line-height: 1.65
		}

		.site-main--privacy .contact-card a {
			background: var(--gold);
			color: var(--white);
			text-decoration: none;
			padding: .6rem 1.4rem;
			border-radius: 50px;
			font-size: .83rem;
			font-weight: 600;
			display: inline-block;
			transition: all .2s
		}

		.site-main--privacy .contact-card a:hover {
			background: var(--gold2);
			transform: translateY(-2px)
		}

		.site-main--privacy .update-card p {
			font-size: .85rem;
			color: var(--muted);
			margin-bottom: .5rem
		}

		.site-main--privacy .update-card strong {
			color: var(--green);
			font-size: .9rem
		}

		.site-main--privacy .pages-list {
			list-style: none;
			margin-left: 0;
		}

		.site-main--privacy .pages-list li {
			margin-bottom: .4rem
		}

		.site-main--privacy .pages-list a {
			text-decoration: none;
			color: var(--muted);
			font-size: .85rem;
			display: flex;
			align-items: center;
			gap: .5rem;
			padding: .35rem .5rem;
			border-radius: 6px;
			transition: all .2s
		}

		.site-main--privacy .pages-list a:hover {
			background: rgba(31, 77, 26, 0.06);
			color: var(--green)
		}

		.site-main--privacy .pages-list a::before {
			content: '→';
			color: var(--green-lt);
			font-size: .8rem
		}

		/* ─── RESPONSIVE ─── */


/* ============================================================
   Terms & Conditions Page Styles
   ============================================================ */

		/* ─── LEGAL PAGE SCOPED STYLES (Terms & Conditions) ─── */
		.site-main--terms {
			--green: #1F4D1A;
			--green2: #2E6B27;
			--green3: #4A9040;
			--green-lt: #6AB85E;
			--gold: #C8882A;
			--gold2: #E8A840;
			--cream: #F6F2EA;
			--warm: #EDE8DC;
			--text: #1A2318;
			--muted: #6B7465;
			--white: #FFFFFF;
			--radius: 12px;
			--shadow: 0 4px 24px rgba(31, 77, 26, .10);
			--shadow-lg: 0 8px 40px rgba(31, 77, 26, .14);
		}

		/* Drop the global inner-page width cap so the hero is full-bleed, like Blogs. */
		body:not(.home) .site-main--terms {
			max-width: none;
			padding-left: 0;
			padding-right: 0
		}

		/* Hero layout/spacing/overlay/responsive inherited from theme .page-hero*;
		   only the background image is swapped in. */
		

		/* ─── LAYOUT ─── */
		.site-main--terms .content-wrap {
			display: grid;
			grid-template-columns: 1fr 300px;
			gap: 3rem;
			max-width: 1160px;
			margin: 0 auto;
			padding: 3.5rem 5% 5rem
		}

		/* ─── ARTICLE ─── */
		.site-main--terms .policy-article {
			min-width: 0
		}

		.site-main--terms .intro-box {
			background: linear-gradient(135deg, rgba(31, 77, 26, 0.06) 0%, rgba(106, 184, 94, 0.08) 100%);
			border: 1px solid rgba(31, 77, 26, 0.12);
			border-left: 4px solid var(--green);
			border-radius: var(--radius);
			padding: 1.5rem 1.8rem;
			margin-bottom: 2.5rem;
		}

		.site-main--terms .intro-box p {
			font-size: .95rem;
			color: var(--text);
			line-height: 1.8
		}

		.site-main--terms .intro-box strong {
			color: var(--green)
		}

		.site-main--terms .policy-section {
			margin-bottom: 2.8rem
		}

		.site-main--terms .policy-section h2 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.65rem;
			font-weight: 700;
			color: var(--green);
			margin-bottom: 1rem;
			display: flex;
			align-items: center;
			gap: .6rem;
			padding-bottom: .6rem;
			border-bottom: 2px solid rgba(31, 77, 26, 0.1);
		}

		.site-main--terms .policy-section h2 .num {
			background: var(--green);
			color: var(--white);
			width: 28px;
			height: 28px;
			border-radius: 50%;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			font-size: .8rem;
			font-family: 'Outfit', sans-serif;
			font-weight: 700;
			flex-shrink: 0;
		}

		.site-main--terms .policy-section h3 {
			font-size: 1.05rem;
			font-weight: 700;
			color: var(--text);
			margin: 1.5rem 0 .6rem
		}

		.site-main--terms .policy-section p {
			color: var(--muted);
			font-size: .95rem;
			line-height: 1.85;
			margin-bottom: .9rem
		}

		.site-main--terms .policy-section ul {
			list-style: none;
			margin: .6rem 0 1rem;
			padding: 0
		}

		.site-main--terms .policy-section ul li {
			padding: .45rem 0 .45rem 1.6rem;
			position: relative;
			color: var(--muted);
			font-size: .93rem;
			border-bottom: 1px solid rgba(31, 77, 26, 0.05);
		}

		.site-main--terms .policy-section ul li:last-child {
			border-bottom: none
		}

		.site-main--terms .policy-section ul li::before {
			content: '✓';
			position: absolute;
			left: 0;
			color: var(--green3);
			font-weight: 700
		}

		.site-main--terms .highlight-box {
			background: rgba(200, 136, 42, 0.06);
			border: 1px solid rgba(200, 136, 42, 0.18);
			border-radius: var(--radius);
			padding: 1.2rem 1.5rem;
			margin: 1.2rem 0;
		}

		.site-main--terms .highlight-box p {
			color: var(--text);
			margin: 0;
			font-size: .9rem
		}

		.site-main--terms .highlight-box strong {
			color: var(--gold)
		}

		.site-main--terms .warning-box {
			background: rgba(180, 50, 30, 0.05);
			border: 1px solid rgba(180, 50, 30, 0.15);
			border-left: 4px solid #c0392b;
			border-radius: var(--radius);
			padding: 1.2rem 1.5rem;
			margin: 1.2rem 0;
		}

		.site-main--terms .warning-box p {
			color: var(--text);
			margin: 0;
			font-size: .9rem
		}

		.site-main--terms .green-box {
			background: rgba(31, 77, 26, 0.04);
			border: 1px solid rgba(31, 77, 26, 0.12);
			border-radius: var(--radius);
			padding: 1.2rem 1.5rem;
			margin: 1.2rem 0;
		}

		.site-main--terms .green-box p {
			margin: 0;
			font-size: .9rem
		}

		/* ─── SIDEBAR ─── */
		.site-main--terms .sidebar {
			position: sticky;
			top: 90px;
			height: fit-content;
			display: flex;
			flex-direction: column;
			gap: 1.5rem
		}

		.site-main--terms .sidebar-card {
			background: var(--white);
			border-radius: var(--radius);
			padding: 1.5rem;
			box-shadow: var(--shadow);
			border: 1px solid rgba(31, 77, 26, 0.07)
		}

		.site-main--terms .sidebar-card h4 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.1rem;
			font-weight: 700;
			color: var(--green);
			margin-bottom: 1rem;
			padding-bottom: .6rem;
			border-bottom: 2px solid rgba(31, 77, 26, 0.1)
		}

		.site-main--terms .toc-list {
			list-style: none;
			margin-left: 0;
		}

		.site-main--terms .toc-list li {
			margin-bottom: .5rem
		}

		.site-main--terms .toc-list a {
			text-decoration: none;
			color: var(--muted);
			font-size: .85rem;
			display: flex;
			align-items: center;
			gap: .5rem;
			padding: .35rem .6rem;
			border-radius: 6px;
			transition: all .2s
		}

		.site-main--terms .toc-list a:hover {
			background: rgba(31, 77, 26, 0.06);
			color: var(--green)
		}

		.site-main--terms .toc-list a .toc-num {
			background: var(--cream);
			color: var(--green3);
			width: 20px;
			height: 20px;
			border-radius: 50%;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			font-size: .7rem;
			font-weight: 700;
			flex-shrink: 0
		}

		.site-main--terms .contact-card {
			background: var(--green);
			color: var(--white);
			border-radius: var(--radius);
			padding: 1.5rem;
			text-align: center
		}

		.site-main--terms .contact-card h4 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.2rem;
			font-weight: 700;
			color: var(--white);
			margin-bottom: .6rem
		}

		.site-main--terms .contact-card p {
			font-size: .83rem;
			color: rgba(255, 255, 255, 0.68);
			margin-bottom: 1.2rem;
			line-height: 1.65
		}

		.site-main--terms .contact-card a {
			background: var(--gold);
			color: var(--white);
			text-decoration: none;
			padding: .6rem 1.4rem;
			border-radius: 50px;
			font-size: .83rem;
			font-weight: 600;
			display: inline-block;
			transition: all .2s
		}

		.site-main--terms .contact-card a:hover {
			background: var(--gold2);
			transform: translateY(-2px)
		}

		.site-main--terms .update-card p {
			font-size: .85rem;
			color: var(--muted);
			margin-bottom: .5rem
		}

		.site-main--terms .update-card strong {
			color: var(--green);
			font-size: .9rem
		}

		.site-main--terms .pages-list {
			list-style: none;
			margin-left: 0
		}

		.site-main--terms .pages-list li {
			margin-bottom: .4rem
		}

		.site-main--terms .pages-list a {
			text-decoration: none;
			color: var(--muted);
			font-size: .85rem;
			display: flex;
			align-items: center;
			gap: .5rem;
			padding: .35rem .5rem;
			border-radius: 6px;
			transition: all .2s
		}

		.site-main--terms .pages-list a:hover {
			background: rgba(31, 77, 26, 0.06);
			color: var(--green)
		}

		.site-main--terms .pages-list a::before {
			content: '→';
			color: var(--green-lt);
			font-size: .8rem
		}

		/* ─── RESPONSIVE ─── */


/* ============================================================
   Sitemap Page Styles
   ============================================================ */
/* Sitemap: full-bleed hero + a plain centred, link-only list. */
body:not(.home) .site-main--sitemap {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.site-main--sitemap .page-hero-bg {
	background-size: cover;
	background-position: center;
}

.site-main--sitemap .sitemap-links-wrap {
	max-width: 680px;
	margin: 0 auto;
	padding: 4rem 5% 5rem;
}

.site-main--sitemap .sitemap-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-main--sitemap .sitemap-links li {
	margin: 0 0 1rem;
}

.site-main--sitemap .sitemap-links li:last-child {
	margin-bottom: 0;
}

.site-main--sitemap .sitemap-links a {
	color: var(--green);
	text-decoration: none;
	font-size: 1.05rem;
}

.site-main--sitemap .sitemap-links a:hover {
	text-decoration: underline;
}


/* ============================================================
   Blog Detail (Single Post) Page Styles
   ============================================================ */
/* Full-bleed wrapper so the hero spans the viewport, like the Blogs page. */
		body:not(.home) .site-main--single{max-width:none;padding-left:0;padding-right:0}

		/* Hero meta row (date / author / category) shown under the title. */
		.site-main--single .page-hero .post-meta{justify-content:center;color:rgba(var(--white-rgb),.75);margin:1.1rem 0 1.3rem}
		.site-main--single .page-hero .post-meta a{color:rgba(var(--white-rgb),.85);text-decoration:none}
		.site-main--single .page-hero .post-meta a:hover{color:var(--white)}

		/* —— ARTICLE BODY —— */
		.site-main--single .post-detail{
			background:var(--white);border-radius:var(--radius);
			box-shadow:var(--shadow);border:1px solid rgba(var(--green-rgb),.07);
			padding:2.5rem 2.5rem 2.8rem;overflow:hidden;
		}
		.site-main--single .post-detail .featured-img{
			margin:-2.5rem -2.5rem 2rem;height:auto;max-height:460px;overflow:hidden;
		}
		.site-main--single .post-detail .featured-img img{width:100%;height:100%;object-fit:cover;display:block}
		.site-main--single .entry-content{font-size:1rem;line-height:1.85;color:var(--text)}
		.site-main--single .entry-content > *{margin-bottom:1.2rem}
		.site-main--single .entry-content h2{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:700;color:var(--green);line-height:1.25;margin:2rem 0 .9rem}
		.site-main--single .entry-content h3{font-size:1.2rem;font-weight:700;color:var(--text);margin:1.6rem 0 .6rem}
		.site-main--single .entry-content h4{font-size:1.02rem;font-weight:700;color:var(--text);margin:1.3rem 0 .5rem}
		.site-main--single .entry-content p{color:var(--muted);line-height:1.9}
		.site-main--single .entry-content a{color:var(--green);text-decoration:underline;text-underline-offset:2px}
		.site-main--single .entry-content ul,.site-main--single .entry-content ol{padding-left:1.4rem;color:var(--muted)}
		.site-main--single .entry-content li{margin-bottom:.5rem;line-height:1.8}
		.site-main--single .entry-content img{max-width:100%;height:auto;border-radius:var(--radius)}
		.site-main--single .entry-content blockquote{
			border-left:4px solid var(--green);background:rgba(var(--green-rgb),.04);
			padding:1rem 1.4rem;border-radius:0 var(--radius) var(--radius) 0;color:var(--text);font-style:italic;
		}
		.site-main--single .entry-content figure{margin:1.4rem 0}

		/* tags */
		.site-main--single .post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:2rem;padding-top:1.6rem;border-top:1px solid rgba(var(--green-rgb),.1)}
		.site-main--single .post-tags .tags-label{font-size:.78rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-right:.3rem}
		.site-main--single .post-tags a{background:rgba(var(--green-rgb),.07);color:var(--green);font-size:.76rem;font-weight:600;padding:.3rem .8rem;border-radius:50px;text-decoration:none;transition:all .2s}
		.site-main--single .post-tags a:hover{background:var(--green);color:var(--white)}

		/* author box */
		.site-main--single .author-box{
			display:flex;gap:1.2rem;align-items:flex-start;
			background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);
			border:1px solid rgba(var(--green-rgb),.07);padding:1.8rem;margin-top:1.8rem;
		}
		.site-main--single .author-box .ab-avatar img{width:64px;height:64px;border-radius:50%;display:block}
		.site-main--single .author-box .ab-name{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:700;color:var(--text);margin-bottom:.2rem}
		.site-main--single .author-box .ab-role{font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--green-lt);margin-bottom:.5rem}
		.site-main--single .author-box .ab-bio{font-size:.86rem;color:var(--muted);line-height:1.7}

		/* post navigation */
		.site-main--single .post-navigation{margin-top:1.8rem}
		.site-main--single .post-navigation .nav-links{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
		.site-main--single .post-navigation a{
			background:var(--white);border:1px solid rgba(var(--green-rgb),.12);border-radius:var(--radius);
			padding:.9rem 1.2rem;text-decoration:none;color:var(--text);box-shadow:var(--shadow);max-width:48%;transition:all .2s;
		}
		.site-main--single .post-navigation a:hover{border-color:var(--green);transform:translateY(-2px)}
		.site-main--single .post-navigation .nav-subtitle{display:block;font-size:.7rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--green-lt);margin-bottom:.25rem}
		.site-main--single .post-navigation .nav-title{font-size:.9rem;font-weight:600;color:var(--text)}

		
		
		/* —— PREV / NEXT NAV: keep both buttons on one line —— */
		.site-main--single .post-navigation .nav-links{flex-wrap:nowrap;align-items:stretch;gap:1rem}
		.site-main--single .post-navigation .nav-previous,
		.site-main--single .post-navigation .nav-next{flex:1 1 0;max-width:50%;margin:0}
		.site-main--single .post-navigation .nav-next{text-align:right;margin-left:auto}
		.site-main--single .post-navigation .nav-previous a,
		.site-main--single .post-navigation .nav-next a{display:flex;flex-direction:column;width:100%;max-width:100%}
		

		/* —— SEARCH SUGGESTIONS (live AJAX) —— */
		.site-main--single .search-suggest{margin-top:.6rem;background:var(--white);border:1px solid rgba(var(--green-rgb),.12);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
		.site-main--single .search-suggest-list{list-style:none;margin:0;padding:.3rem}
		.site-main--single .search-suggest-list li{margin:0}
		.site-main--single .search-suggest-list a{display:flex;gap:.6rem;align-items:center;padding:.5rem;border-radius:8px;text-decoration:none;transition:background .15s}
		.site-main--single .search-suggest-list a:hover{background:var(--cream)}
		.site-main--single .search-suggest-list img{width:46px;height:46px;border-radius:6px;object-fit:cover;flex-shrink:0}
		.site-main--single .search-suggest .ss-text{display:flex;flex-direction:column;min-width:0}
		.site-main--single .search-suggest .ss-title{font-size:.82rem;font-weight:600;color:var(--text);line-height:1.3}
		.site-main--single .search-suggest .ss-date{font-size:.72rem;color:var(--muted)}
		.site-main--single .search-suggest .search-empty{padding:.8rem;font-size:.83rem;color:var(--muted);margin:0}

		/* —— COMMENTS —— */
		.site-main--single .comments-area{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(var(--green-rgb),.07);padding:2rem 2.2rem;margin-top:1.8rem}
		.site-main--single .comments-title,
		.site-main--single .comment-reply-title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:700;color:var(--green);margin-bottom:1.2rem}
		.site-main--single .comment-list{list-style:none;margin:0 0 1.5rem;padding:0}
		.site-main--single .comment-list ol.children{list-style:none;margin:0;padding-left:1.5rem}
		.site-main--single .comment-body{padding:1.1rem 0;border-bottom:1px solid rgba(var(--green-rgb),.08)}
		.site-main--single .comment-author{display:flex;align-items:center;gap:.6rem;font-weight:600;color:var(--text);font-size:.9rem}
		.site-main--single .comment-author img{border-radius:50%}
		.site-main--single .comment-author .says{display:none}
		.site-main--single .comment-metadata{font-size:.72rem;color:var(--muted);margin:.25rem 0 .5rem}
		.site-main--single .comment-metadata a{color:var(--muted);text-decoration:none}
		.site-main--single .comment-content{font-size:.9rem;color:var(--text);line-height:1.75}
		.site-main--single .comment-content p{margin:0 0 .8rem}
		.site-main--single .reply{margin-top:.3rem}
		.site-main--single .reply a,
		.site-main--single .comment-reply-link{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--green);text-decoration:none}
		.site-main--single .reply a:hover{color:var(--green2)}
		.site-main--single .comment-respond{margin-top:1.5rem}
		.site-main--single .comment-form{display:flex;flex-direction:column;gap:1rem}
		.site-main--single .comment-form-comment,
		.site-main--single .comment-form-author,
		.site-main--single .comment-form-email,
		.site-main--single .comment-form-url{display:flex;flex-direction:column;gap:.4rem;margin:0}
		.site-main--single .comment-form label{font-size:.78rem;font-weight:700;color:var(--text)}
		.site-main--single .comment-form input[type=text],
		.site-main--single .comment-form input[type=email],
		.site-main--single .comment-form input[type=url],
		.site-main--single .comment-form textarea{width:100%;border:1.5px solid rgba(var(--green-rgb),.18);border-radius:10px;padding:.7rem .9rem;font-family:'Outfit',sans-serif;font-size:.9rem;color:var(--text);background:var(--cream);outline:none;transition:border .2s,box-shadow .2s;box-sizing:border-box}
		.site-main--single .comment-form input:focus,
		.site-main--single .comment-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(var(--green-rgb),.08);background:var(--white)}
		.site-main--single .comment-form textarea{min-height:130px;resize:vertical;line-height:1.6}
		.site-main--single .comment-form .form-submit{margin:0}
		.site-main--single .comment-form #submit{background:var(--green);color:var(--white);border:none;border-radius:50px;padding:.72rem 1.9rem;font-family:'Outfit',sans-serif;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}
		.site-main--single .comment-form #submit:hover{background:var(--green2);transform:translateY(-1px)}
		.site-main--single .comment-form-cookies-consent{flex-direction:row;align-items:flex-start;gap:.5rem}
		.site-main--single .comment-form-cookies-consent label{font-weight:400;font-size:.8rem;color:var(--muted)}
		.site-main--single .comment-notes,
		.site-main--single .logged-in-as{font-size:.8rem;color:var(--muted)}
		.site-main--single .logged-in-as a{color:var(--green);text-decoration:none}
		.site-main--single .no-comments{font-size:.85rem;color:var(--muted)}


/* ============================================================
   Blog Detail (legacy ?blog= template) Styles
   ============================================================ */
/* Full-bleed wrapper so the hero spans the viewport, like the Blogs page. */
		body:not(.home) .site-main--blog-detail{max-width:none;padding-left:0;padding-right:0}

		.site-main--blog-detail .page-hero .post-meta{justify-content:center;color:rgba(var(--white-rgb),.78);margin:1.1rem 0 1.3rem}

		/* —— ARTICLE BODY —— */
		.site-main--blog-detail .post-detail{
			background:var(--white);border-radius:var(--radius);
			box-shadow:var(--shadow);border:1px solid rgba(var(--green-rgb),.07);
			padding:2.5rem 2.5rem 2.8rem;overflow:hidden;
		}
		.site-main--blog-detail .post-detail .featured-img{margin:-2.5rem -2.5rem 2rem;max-height:460px;overflow:hidden}
		.site-main--blog-detail .post-detail .featured-img img{width:100%;height:100%;object-fit:cover;display:block}
		.site-main--blog-detail .entry-content{font-size:1rem;line-height:1.85;color:var(--text)}
		.site-main--blog-detail .entry-content > *{margin-bottom:1.2rem}
		.site-main--blog-detail .entry-content h2{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:700;color:var(--green);line-height:1.25;margin:2rem 0 .9rem}
		.site-main--blog-detail .entry-content h3{font-size:1.2rem;font-weight:700;color:var(--text);margin:1.6rem 0 .6rem}
		.site-main--blog-detail .entry-content p{color:var(--muted);line-height:1.9}
		.site-main--blog-detail .entry-content a{color:var(--green);text-decoration:underline;text-underline-offset:2px}
		.site-main--blog-detail .entry-content ul,.site-main--blog-detail .entry-content ol{padding-left:1.4rem;color:var(--muted)}
		.site-main--blog-detail .entry-content li{margin-bottom:.5rem;line-height:1.8}

		/* tags */
		.site-main--blog-detail .post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:2rem;padding-top:1.6rem;border-top:1px solid rgba(var(--green-rgb),.1)}
		.site-main--blog-detail .post-tags .tags-label{font-size:.78rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-right:.3rem}
		.site-main--blog-detail .post-tags a{background:rgba(var(--green-rgb),.07);color:var(--green);font-size:.76rem;font-weight:600;padding:.3rem .8rem;border-radius:50px;text-decoration:none;transition:all .2s}
		.site-main--blog-detail .post-tags a:hover{background:var(--green);color:var(--white)}

		/* author box */
		.site-main--blog-detail .author-box{
			display:flex;gap:1.2rem;align-items:center;
			background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);
			border:1px solid rgba(var(--green-rgb),.07);padding:1.6rem 1.8rem;margin-top:1.8rem;
		}
		.site-main--blog-detail .author-box .ab-avatar{
			width:56px;height:56px;border-radius:50%;flex-shrink:0;
			background:linear-gradient(135deg,var(--green-lt),var(--green));
			display:flex;align-items:center;justify-content:center;
			color:var(--white);font-weight:700;font-size:1rem;
		}
		.site-main--blog-detail .author-box .ab-name{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:700;color:var(--text)}
		.site-main--blog-detail .author-box .ab-role{font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--green-lt)}

		/* back link */
		.site-main--blog-detail .back-to-blog{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.8rem;font-size:.85rem;font-weight:700;color:var(--green);text-decoration:none}
		.site-main--blog-detail .back-to-blog:hover{gap:.7rem}


/* ============================================================
   Icons (Font Awesome) — sizing, spacing, theme colour
   ============================================================ */

/* Inline icon spacing next to text */
.page-hero-tag i { margin-right: .4rem; }
.section-tag i { margin-right: .35rem; }
.post-meta i,
.post-cat-pill i,
.pc-cat i,
.tags-label i { margin-right: .3rem; }
.read-more i,
.ccard-link i,
.back-to-blog i { margin-left: .3rem; }
.cat-tab i,
.sitemap-card h2 i,
.cl-num i { margin-right: .3rem; }

/* Icon-wrap glyphs follow the green theme; inherit the wrap's font-size */
.val-icon,
.ic-icon,
.feat-icon,
.callout-card .icon,
.ccard-icon-wrap,
.tb-icon { color: var(--green); }
.badge-pill i { color: var(--green); margin-right: .45rem; }

/* Contact card icon flips to white on the green hover state */
.ccard:hover .ccard-icon-wrap { color: #fff; }

/* Footer icons */
.footer-social a i { font-size: 1.05rem; }
.footer-contact-list i { width: 18px; text-align: center; color: var(--green); flex-shrink: 0; }