/* ─── TGDC — Root Variables & Google Fonts ─── */
/* @import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Jost:wght@300;400;500&display=swap'); */

:root {
  /* Brand colours */
  --deep:     #0b1810;
  --forest:   #1a3328;
  --gold:     #c4a05a;
  --gold-pale:#d4b878;
  --cream:    #f2ede3;
  --paper:    #faf8f3;
  --ink:      #1c1d19;
  --ink-soft: #525650;
  --ink-muted:#8a8d87;
  --sage: #8a9e78;
  --ink-soft: #525650;
  --forest: #1a3328;
  --line: rgba(28, 29, 25, .11);
  --line-gold: rgba(196, 160, 90, .25);

  /* Typography */
  --serif:    'Cormorant Garamond', Georgia, serif;
  --sans:     'Jost', system-ui, sans-serif;

  /* Spacing */
  --wrap:     1440px;
  --gap:      clamp(24px, 5vw, 72px);
  --sec-py:   clamp(64px, 9vw, 110px);

  /* Transitions */
  --ease:     cubic-bezier(.4,0,.2,1);
  --ease-out: cubic-bezier(0,0,.3,1);
}

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

html {
  scroll-behavior: smooth;
  background: var(--paper);
}

body {
  font-family: var(--sans);
  background: var(--paper);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  width: 100%;
  overflow-x: hidden;
  /* Reset any WordPress global-styles injected layout constraints */
  --wp--style--global--content-size: 100% !important;
  --wp--style--global--wide-size: 100% !important;
}

/* WordPress admin bar offset */
.admin-bar .tgdc-hero              { padding-top: 32px; }
.admin-bar #tgdc-hdr               { top: 32px; }
@media (max-width: 782px) {
  .admin-bar .tgdc-hero             { padding-top: 46px; }
  .admin-bar #tgdc-hdr              { top: 46px; }
}

/* Ensure nothing WP injects constrains full-width sections */
#tgdc-main, .wp-site-blocks, body > div { max-width: none !important; padding: 0 !important; margin: 0 !important; }

img { max-width: 100%; height: auto; display: block; }
a   { color: inherit; text-decoration: none; }
button { cursor: pointer; border: none; background: none; font: inherit; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--serif);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: .01em;
}

/* Shared wrappers */
.tgdc-wrap {
  width: 100%;
  max-width: var(--wrap);
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 60px) !important;
}

/* Eyebrow label */
.tgdc-eyebrow {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--sage);
  margin-bottom: 16px;
}

/* ─── Button system ─── */
.tgdc-btn {
display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 30px;
    border-radius: 44px;
    font-size: 11px;
    letter-spacing: .2em;
    text-transform: uppercase;
    transition: all .4s;
    cursor: pointer;
    font-family: var(--sans);
    font-weight: 500;
}
.tgdc-btn:hover { transform: translateY(-1px); }

.tgdc-btn-gold {
  background: var(--gold);
  color: var(--deep);
  border: 1px solid var(--gold);
}
.tgdc-btn-gold:hover { background: var(--gold-pale); border-color: var(--gold-pale); }

.tgdc-btn-solid {
  background: var(--forest);
  color: #fff;
  border: 1px solid var(--forest);
}

.tgdc-btn-ghost {
  background: transparent;
  color: var(--cream);
  border: 1px solid rgba(242,237,227,.45);
}
.tgdc-btn-ghost:hover { border-color: var(--cream); background: rgba(242,237,227,.08); }

.tgdc-btn-outline-gold {
  background: transparent;
  color: var(--gold);
  border: 1px solid var(--gold);
}
.tgdc-btn-outline-gold:hover { background: var(--gold); color: var(--deep); }

.tgdc-btn-outline-dark {
  background: transparent;
  color: var(--forest);
  border: 1px solid var(--forest);
}
.tgdc-btn-outline-dark:hover { background: var(--forest); color: #fff; }

/* ─── Section heading block ─── */
.tgdc-sec-head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto var(--gap);
}
.tgdc-sec-head h2 {
  font-size: clamp(32px, 4.5vw, 54px);
  margin-bottom: 16px;
}
.tgdc-sec-head p { color: var(--ink-soft); font-size: 17px; }

/* ─── SVG Draw animations ─── */
[class*="tgdc-bp-draw"] {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  animation: tgdc-draw 1.4s var(--ease-out) both;
  animation-delay: var(--bp-d, 0s);
}
[class*="tgdc-emblem-el"] {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  animation: tgdc-draw 1.2s var(--ease-out) both;
  animation-delay: var(--ed, 0s);
}
.tgdc-emblem-fade, .tgdc-bp-fade {
  opacity: 0;
  animation: tgdc-fade-in .5s ease both;
  animation-delay: var(--ed, var(--bp-d, 0s));
}

/* Scroll-triggered draw */
.tgdc-draw-on-scroll .tgdc-sdraw {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  transition: stroke-dashoffset 1.6s var(--ease-out);
}
.tgdc-draw-on-scroll.tgdc-drawing .tgdc-sdraw { stroke-dashoffset: 0; }
.tgdc-draw-on-scroll .tgdc-sfade {
  opacity: 0;
  transition: opacity .6s ease 1.4s;
}
.tgdc-draw-on-scroll.tgdc-drawing .tgdc-sfade { opacity: 1; }

/* Reveal on scroll */
/* .tgdc-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .7s var(--ease-out), transform .7s var(--ease-out);
}
.tgdc-reveal.tgdc-visible { opacity: 1; transform: none; } */

@keyframes tgdc-draw     { to { stroke-dashoffset: 0; } }
@keyframes tgdc-fade-in  { to { opacity: 1; } }

/* ─── Breadcrumb ─── */
.tgdc-breadcrumb {
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(242,237,227,.6);
  margin-bottom: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.tgdc-breadcrumb a { color: rgba(242,237,227,.7); }
.tgdc-breadcrumb a:hover { color: var(--cream); }
.tgdc-breadcrumb span { opacity: .55; }
