/* v1.7.57 final hero gate + Threads refinement */
.taj-global-floating-contact.taj-contact-hero-gated{opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(36px,0,0) scale(.96);filter:blur(8px);transition:opacity .38s cubic-bezier(.22,1,.36,1),transform .56s cubic-bezier(.16,1,.3,1),filter .38s cubic-bezier(.22,1,.36,1),visibility 0s linear .56s;}
.taj-global-floating-contact.taj-contact-hero-gated.is-contact-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate3d(0,0,0) scale(1);filter:blur(0);transition:opacity .42s cubic-bezier(.22,1,.36,1),transform .62s cubic-bezier(.16,1,.3,1),filter .42s cubic-bezier(.22,1,.36,1),visibility 0s;}
.taj-footer-v3 .taj-social-threads svg{width:26px;height:26px;display:block;}
@media(prefers-reduced-motion:reduce){.taj-global-floating-contact.taj-contact-hero-gated,.taj-global-floating-contact.taj-contact-hero-gated.is-contact-visible{transition:opacity .12s linear,visibility 0s;transform:none;filter:none;}}

/* =========================================================
   v1.7.61 — Gold branding + mobile sticky header through Section 2
   ========================================================= */
:root{
  --taj-header-gold:#E6C15A;
}

/* Site title: gold, clean, no outline — desktop + mobile. */
.taj-header .wp-block-site-title.taj-brand,
.taj-header .wp-block-site-title.taj-brand a{
  color:var(--taj-header-gold);
  -webkit-text-stroke:0;
  text-shadow:none;
  filter:none;
}

/* Mobile hamburger: gold, no dark outline/stroke. */
@media(max-width:800px){
  .taj-mobile-burger{
    color:var(--taj-header-gold);
    -webkit-text-stroke:0;
    text-shadow:none;
    filter:none;
  }
  .taj-mobile-burger svg,
  .taj-mobile-burger svg g,
  .taj-mobile-burger svg path{
    fill:var(--taj-header-gold);
    stroke:none;
    stroke-width:0;
    filter:none;
  }

  /* Mobile-only sticky/fixed header. */
  .taj-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    width:100%;
    z-index:100020;
    background:transparent;
    backdrop-filter:blur(0);
    -webkit-backdrop-filter:blur(0);
    transform:translate3d(0,0,0);
    opacity:1;
    visibility:visible;
    transition:
      transform .58s cubic-bezier(.16,1,.3,1),
      opacity .38s cubic-bezier(.22,1,.36,1),
      filter .42s cubic-bezier(.22,1,.36,1),
      background-color .32s ease,
      backdrop-filter .32s ease;
    will-change:transform,opacity,filter,background-color;
  }

  /* Once the page starts moving, add the premium translucent black surface. */
  .taj-header.taj-mobile-header-scrolled{
    background:rgba(0,0,0,.72);
    backdrop-filter:blur(14px) saturate(1.08);
    -webkit-backdrop-filter:blur(14px) saturate(1.08);
    box-shadow:0 1px 0 rgba(255,255,255,.08);
  }

  /* After Section 2 ends: glide upward + fade + subtle blur. */
  .taj-header.taj-mobile-header-past-section2{
    transform:translate3d(0,-112%,0);
    opacity:0;
    filter:blur(7px);
    pointer-events:none;
    visibility:hidden;
    transition:
      transform .62s cubic-bezier(.16,1,.3,1),
      opacity .38s cubic-bezier(.22,1,.36,1),
      filter .42s cubic-bezier(.22,1,.36,1),
      visibility 0s linear .62s;
  }

  .taj-header:not(.taj-mobile-header-past-section2){
    filter:none;
    pointer-events:auto;
    visibility:visible;
  }
}

@media(max-width:800px) and (prefers-reduced-motion:reduce){
  .taj-header,
  .taj-header.taj-mobile-header-past-section2{
    transition:opacity .14s linear,background-color .14s linear,visibility 0s;
    filter:none;
  }
}


/* =========================================================
   v1.7.62 — Mobile header layer hardening + subtle dark outline
   ========================================================= */
:root{
  --taj-header-outline:rgba(0,0,0,.48);
}

/* Gold title keeps a very thin, semi-transparent dark outline
   on both desktop and mobile. */
.taj-header .wp-block-site-title.taj-brand,
.taj-header .wp-block-site-title.taj-brand a{
  color:var(--taj-header-gold);
  -webkit-text-stroke:4px var(--taj-header-outline);
  paint-order:stroke fill;
  text-shadow:
    0 .5px 0 rgba(0,0,0,.18),
    0 0 1px rgba(0,0,0,.18);
}

/* Mobile: make the whole hero/header stacking context outrank every
   Section 1/2 image, copy, overlay and animation layer. */
@media(max-width:800px){
  .taj-hero{
    position:relative;
    z-index:2147483500;
    isolation:isolate;
  }

  .taj-header{
    z-index:2147483645;
    isolation:isolate;
  }

  .taj-header > *,
  .taj-header .wp-block-site-title,
  .taj-header .wp-block-site-title a,
  .taj-header .taj-mobile-burger{
    position:relative;
    z-index:2147483646;
  }

  /* Keep the first two content sections in their own lower stacking plane.
     Their images, text and motion layers can no longer paint over the header. */
  .taj-feature-section-one,
  .taj-feature-section-two{
    position:relative;
    z-index:1;
    isolation:isolate;
  }

  /* Gold burger with a soft semi-transparent dark edge. */
  .taj-mobile-burger{
    color:var(--taj-header-gold);
    text-shadow:none;
    filter:none;
  }

  .taj-mobile-burger svg,
  .taj-mobile-burger svg g,
  .taj-mobile-burger svg path{
    fill:var(--taj-header-gold);
    stroke:var(--taj-header-outline);
    stroke-width:4px;
    stroke-linejoin:round;
    stroke-linecap:round;
    paint-order:stroke fill;
    filter:none;
  }
}


/* =========================================================
   v1.7.63 — Stronger gold outline + Section 4 WhatsApp gate
   ========================================================= */
.taj-header .wp-block-site-title.taj-brand,
.taj-header .wp-block-site-title.taj-brand a{
  -webkit-text-stroke:4px var(--taj-header-outline);
}

@media(max-width:800px){
  .taj-mobile-burger svg,
  .taj-mobile-burger svg g,
  .taj-mobile-burger svg path{
    stroke-width:6px;
  }
}


/* =========================================================
   v1.7.64 — Mobile hamburger click + right-margin alignment fix
   ========================================================= */
@media(max-width:800px){

  /* v1.7.62 accidentally turned every direct header child into
     position:relative. Restore the burger as an independent control. */
  .taj-header > .taj-mobile-burger,
  .taj-header .taj-mobile-burger,
  .taj-mobile-burger{
    position:absolute;
    top:0;
    right:20px;
    left:auto;
    bottom:auto;
    z-index:2147483646;
    pointer-events:auto;
    touch-action:manipulation;
    cursor:pointer;
    isolation:auto;
  }

  /* When the same burger becomes the close control, keep the exact
     right content margin while the menu is portaled to BODY. */
  .taj-header .taj-mobile-burger.is-menu-open,
  .taj-mobile-burger.is-menu-open{
    position:fixed;
    top:0;
    right:20px;
    left:auto;
    z-index:2147483647;
    pointer-events:auto;
  }

  /* The mobile menu is portaled under BODY. It must sit above the Hero
     stacking context, otherwise it opens behind the page and looks broken. */
  body > .taj-classic-nav{
    z-index:2147483643;
  }
  body > .taj-classic-nav.is-open{
    z-index:2147483644;
    pointer-events:auto;
    visibility:visible;
  }

  /* Do not let decorative/header children intercept the burger hit area. */
  .taj-header > .taj-primary-menu-slot{
    pointer-events:none;
  }
}


/* =========================================================
   v1.7.65 — Mobile hamburger visual right-edge alignment
   ========================================================= */
@media(max-width:800px){
  /* The SVG artwork contains intrinsic empty space on its right side.
     Pull the button to the viewport edge so the visible icon itself
     lands on the header's intended 20px visual margin. */
  .taj-header > .taj-mobile-burger,
  .taj-header .taj-mobile-burger,
  .taj-mobile-burger{
    right:0;
  }

  .taj-header .taj-mobile-burger.is-menu-open,
  .taj-mobile-burger.is-menu-open{
    right:0;
  }
}


/* =========================================================
   v1.7.66 — Keep mobile close control visible above open menu
   ========================================================= */
@media(max-width:800px){
  /* The burger remains a child of the header. If the sticky-header
     controller has faded/slid the header away, a fixed child still inherits
     that parent's opacity/visibility. While the menu is open, restore the
     header only as a transparent host for the close control. */
  html.taj-menu-open .taj-header{
    opacity:1;
    visibility:visible;
    transform:none;
    filter:none;
    pointer-events:none;
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    z-index:2147483645;
  }

  html.taj-menu-open .taj-header .taj-mobile-burger,
  html.taj-menu-open .taj-mobile-burger.is-menu-open{
    display:inline-flex;
    position:fixed;
    top:0;
    right:0;
    left:auto;
    opacity:1;
    visibility:visible;
    transform:none;
    filter:none;
    pointer-events:auto;
    cursor:pointer;
    z-index:2147483647;
  }

  html.taj-menu-open body > .taj-classic-nav.is-open{
    z-index:2147483644;
  }
}


/* =========================================================
   v1.7.67 — TRUE mobile close-control portal audit
   ========================================================= */
@media(max-width:800px){

  /* When the menu is open the original burger is moved directly under BODY.
     This escapes the Hero/Header stacking context completely. */
  body > .taj-mobile-burger.is-menu-open{
    display:inline-flex;
    position:fixed;
    top:0;
    right:0;
    left:auto;
    bottom:auto;
    width:76.8px;
    height:76.8px;
    min-width:76.8px;
    min-height:76.8px;
    margin:0;
    padding:4px;
    opacity:1;
    visibility:visible;
    transform:none;
    filter:none;
    pointer-events:auto;
    touch-action:manipulation;
    cursor:pointer;
    z-index:2147483647;
    background:transparent;
    border:0;
    overflow:hidden;
    contain:none;
    isolation:isolate;
  }

  body > .taj-mobile-burger.is-menu-open svg{
    display:block;
    width:64.8px;
    max-width:64.8px;
    height:auto;
    max-height:64.8px;
    margin:0;
    pointer-events:none;
  }

  /* The panel must always remain one layer below the close control. */
  body > .taj-classic-nav.is-open{
    z-index:2147483645;
  }

  /* Once the burger is portaled, the header must not create a competing
     hit area over the menu. */
  html.taj-menu-open .taj-header{
    pointer-events:none;
  }
}


/* =========================================================
   v1.7.69 — Stronger gold header outline
   ========================================================= */
.taj-header .wp-block-site-title.taj-brand,
.taj-header .wp-block-site-title.taj-brand a{
  -webkit-text-stroke:4px var(--taj-header-outline);
}
@media(max-width:800px){
  .taj-mobile-burger svg,
  .taj-mobile-burger svg g,
  .taj-mobile-burger svg path{
    stroke-width:6px;
  }
}


/* =========================================================
   v1.7.70 — Desktop header menu transparent framed overlay
   ========================================================= */
@media(min-width:801px){
  .taj-header .taj-classic-menu{
    gap:8px;
  }

  .taj-header .taj-classic-menu > li > a{
    box-sizing:border-box;
    min-height:38px;
    padding:7px 12px;
    border:1px solid rgba(255,255,255,.34);
    border-radius:7px;
    background:rgba(0,0,0,.13);
    -webkit-backdrop-filter:blur(5px);
    backdrop-filter:blur(5px);
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);
    transition:
      background-color .22s ease,
      border-color .22s ease,
      transform .22s ease,
      box-shadow .22s ease;
  }

  .taj-header .taj-classic-menu > li:hover > a,
  .taj-header .taj-classic-menu > li:focus-within > a{
    background:rgba(0,0,0,.24);
    border-color:rgba(255,255,255,.58);
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.05),
      0 7px 20px rgba(0,0,0,.12);
    transform:translateX(-2px);
  }

  /* Keep the existing left hover line visually separated from the frame. */
  .taj-header .taj-classic-menu > li > a::before{
    right:calc(100% + 9px);
  }
}


/* =========================================================
   v1.7.71 — Header menu typography -1px desktop + mobile
   ========================================================= */

/* Desktop: 19px -> 18px, including submenu and WP navigation fallback. */
@media(min-width:801px){
  .taj-header .taj-classic-menu > li > a,
  .taj-header .taj-classic-menu .sub-menu a,
  .taj-header .wp-block-navigation.taj-nav .wp-block-navigation-item__content{
    font-size:18px;
  }
}

/* Mobile: actual effective size before v1.7.71 was
   clamp(18px, 5.1vw, 23px). Reduce that real value by exactly 1px. */
@media(max-width:800px){
  body > .taj-classic-nav .taj-classic-menu > li > a,
  .taj-header .taj-classic-menu > li > a{
    font-size:clamp(17px, calc(5.1vw - 1px), 22px);
  }

  /* Effective submenu rule was clamp(17px, 4.7vw, 21px). */
  body > .taj-classic-nav .taj-classic-menu .sub-menu a,
  .taj-header .taj-classic-menu .sub-menu a{
    font-size:clamp(16px, calc(4.7vw - 1px), 20px);
  }
}


/* =========================================================
   v1.7.73 — Header gold outline widened to 2px
   ========================================================= */
.taj-header .wp-block-site-title.taj-brand,
.taj-header .wp-block-site-title.taj-brand a{
  -webkit-text-stroke:4px var(--taj-header-outline);
}

@media(max-width:800px){
  .taj-mobile-burger svg,
  .taj-mobile-burger svg g,
  .taj-mobile-burger svg path{
    stroke-width:6px;
  }
}


/* =========================================================
   v1.7.74 — Header outline 4px
   ========================================================= */
.taj-header .wp-block-site-title.taj-brand,
.taj-header .wp-block-site-title.taj-brand a{
  -webkit-text-stroke:4px var(--taj-header-outline);
}

@media(max-width:800px){
  .taj-mobile-burger svg,
  .taj-mobile-burger svg g,
  .taj-mobile-burger svg path{
    stroke-width:6px;
  }
}


/* =========================================================
   v1.7.75 — Header menu outline 4px
   ========================================================= */
.taj-header .taj-classic-menu > li > a,
.taj-header .taj-classic-menu .sub-menu a,
.taj-header .wp-block-navigation.taj-nav .wp-block-navigation-item__content,
body > .taj-classic-nav .taj-classic-menu > li > a,
body > .taj-classic-nav .taj-classic-menu .sub-menu a {
  -webkit-text-stroke: 4px var(--taj-header-outline);
  paint-order: stroke fill;
  text-shadow:
    0 1px 0 rgba(0,0,0,.18),
    0 0 1px rgba(0,0,0,.18);
}


/* =========================================================
   v1.7.76 — Compact desktop menu frames + tighter spacing
   ========================================================= */
@media(min-width:801px){
  /* Reduce vertical height of each framed menu item. */
  .taj-header .taj-classic-menu > li > a,
  .taj-header .taj-classic-menu .sub-menu a,
  .taj-header .wp-block-navigation.taj-nav .wp-block-navigation-item__content{
    padding-top:5px;
    padding-bottom:5px;
  }

  /* Tighten spacing between top-level menu items. */
  .taj-header .taj-classic-menu,
  .taj-header .wp-block-navigation.taj-nav .wp-block-navigation__container{
    gap:3px;
    row-gap:3px;
  }

  /* Tighten submenu stack too. */
  .taj-header .taj-classic-menu .sub-menu{
    gap:2px;
  }
}


/* =========================================================
   v1.7.77 — More compact desktop menu frames + font -1px
   ========================================================= */
@media(min-width:801px){
  .taj-header .taj-classic-menu{
    gap:2px;
  }

  .taj-header .taj-classic-menu > li > a{
    padding:3px 8px;
    min-height:0;
    line-height:1.05;
    font-size:15px;
  }

  .taj-header .taj-classic-menu .sub-menu{
    gap:2px;
  }

  .taj-header .taj-classic-menu .sub-menu a{
    padding:3px 8px;
    min-height:0;
    line-height:1.05;
    font-size:15px;
  }

  .taj-header .wp-block-navigation.taj-nav .wp-block-navigation__container{
    gap:2px;
  }

  .taj-header .wp-block-navigation.taj-nav .wp-block-navigation-item__content{
    padding:3px 8px;
    line-height:1.05;
    font-size:15px;
  }
}

/* Mobile menu typography: reduce another 1px from v1.7.72 effective values. */
@media(max-width:800px){
  body > .taj-classic-nav .taj-classic-menu > li > a,
  .taj-header .taj-classic-menu > li > a{
    font-size:clamp(16px, calc(5.1vw - 2px), 21px);
  }

  body > .taj-classic-nav .taj-classic-menu .sub-menu a,
  .taj-header .taj-classic-menu .sub-menu a{
    font-size:clamp(15px, calc(4.7vw - 2px), 19px);
  }
}


/* =========================================================
   v1.7.78 — Mobile copyright line break
   ========================================================= */
.taj-footer-v3 .taj-footer-copyright-main,
.taj-footer-v3 .taj-footer-rights{
  display:inline;
}

@media(max-width:720px){
  .taj-footer-v3 .taj-footer-copyright{
    display:block;
    max-width:none;
    white-space:normal;
  }
  .taj-footer-v3 .taj-footer-copyright-main,
  .taj-footer-v3 .taj-footer-rights{
    display:block;
  }
  .taj-footer-v3 .taj-footer-rights{
    margin-top:2px;
  }
}


/* =========================================================
   v1.7.79 — Latest Posts navigation + floating contact -2px
   ========================================================= */
.taj-latest-title-row{
  position:relative;
}

.taj-latest-nav{
  display:flex;
  align-items:center;
  gap:6px;
  margin:0 0 14px auto;
  flex:0 0 auto;
}

.taj-latest-nav button{
  width:38px;
  height:38px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#111;
  background:transparent;
  border:1px solid rgba(17,17,17,.48);
  border-radius:50%;
  cursor:pointer;
  transition:
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease,
    transform .22s cubic-bezier(.22,1,.36,1);
}

.taj-latest-nav button svg{
  width:17px;
  height:17px;
  display:block;
  pointer-events:none;
}

.taj-latest-nav button:hover:not(:disabled),
.taj-latest-nav button:focus-visible:not(:disabled){
  background:#111;
  color:#fff;
  border-color:#111;
  transform:translateY(-1px);
}

.taj-latest-nav button:disabled{
  opacity:.25;
  cursor:default;
}

.taj-latest-card{
  transition:opacity .25s ease, transform .28s cubic-bezier(.22,1,.36,1);
}

.taj-latest-card.is-latest-active{
  opacity:1;
}

@media(max-width:720px){
  .taj-latest-title-row{
    align-items:flex-end;
  }
  .taj-latest-nav{
    gap:5px;
    margin:0 0 0 auto;
  }
  .taj-latest-nav button{
    width:32px;
    height:32px;
  }
  .taj-latest-nav button svg{
    width:15px;
    height:15px;
  }
}

/* Lower the global floating WhatsApp edge tab by another 2px. */
.taj-global-floating-contact{
  bottom:calc(clamp(46px, 5.6vh, 62px) - 4px);
}
@media(max-width:720px){
  .taj-global-floating-contact{
    bottom:54px;
  }
}


/* =========================================================
   v1.7.80 — Latest Posts arrows beside the article rail
   ========================================================= */
.taj-latest-query{
  position:relative;
  overflow:visible;
}

/* JS moves this nav from the title area into .taj-latest-query. */
.taj-latest-query > .taj-latest-nav{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  display:block;
  pointer-events:none;
  z-index:40;
}

.taj-latest-query > .taj-latest-nav button{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  margin:0;
  pointer-events:auto;
  z-index:41;
  background:rgba(246,245,241,.92);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:0 6px 20px rgba(0,0,0,.08);
}

.taj-latest-query > .taj-latest-nav .taj-latest-prev{
  left:10px;
}

.taj-latest-query > .taj-latest-nav .taj-latest-next{
  right:10px;
}

.taj-latest-query > .taj-latest-nav button:hover:not(:disabled),
.taj-latest-query > .taj-latest-nav button:focus-visible:not(:disabled){
  transform:translateY(-50%) scale(1.04);
}

@media(max-width:720px){
  .taj-latest-query > .taj-latest-nav button{
    width:34px;
    height:34px;
  }
  .taj-latest-query > .taj-latest-nav .taj-latest-prev{
    left:4px;
  }
  .taj-latest-query > .taj-latest-nav .taj-latest-next{
    right:4px;
  }
}


/* =========================================================
   v1.7.81 — Latest Posts navigation under label, strong contrast
   ========================================================= */
.taj-latest-label{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.taj-latest-label-line{display:flex;align-items:center;gap:24px}
.taj-latest-nav-under-label{display:flex;align-items:center;gap:8px;margin:0}
.taj-latest-nav-under-label button{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:#000;background:#fff;border:2px solid #000;border-radius:50%;box-shadow:0 2px 0 rgba(0,0,0,.14);opacity:1;cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease}
.taj-latest-nav-under-label button svg{width:18px;height:18px;display:block;color:inherit}
.taj-latest-nav-under-label button:hover:not(:disabled),.taj-latest-nav-under-label button:focus-visible:not(:disabled){background:#000;color:#fff;transform:translateY(-1px);box-shadow:0 4px 0 rgba(0,0,0,.12)}
.taj-latest-nav-under-label button:disabled{color:#5f5f5f;background:#efefec;border-color:#666;opacity:1;cursor:default;box-shadow:none}
@media(max-width:720px){.taj-latest-label{gap:9px}.taj-latest-label-line{gap:14px}.taj-latest-nav-under-label{gap:6px}.taj-latest-nav-under-label button{width:34px;height:34px;border-width:1.75px}.taj-latest-nav-under-label button svg{width:16px;height:16px}}


/* =========================================================
   v1.7.82 — Latest Posts REAL carousel, controls under label
   ========================================================= */

/* Controls are EXACTLY below the "Latest posts" text block. */
.taj-latest-head{
  position:relative;
}

.taj-latest-label{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:10px;
}

.taj-latest-label-line{
  display:flex;
  align-items:center;
  gap:18px;
}

.taj-latest-nav-under-label{
  position:static;
  inset:auto;
  width:auto;
  height:auto;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  pointer-events:auto;
  z-index:auto;
}

/* Strong contrast. */
.taj-latest-nav-under-label button{
  position:static;
  width:38px;
  height:38px;
  margin:0;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#000;
  background:#fff;
  border:2px solid #000;
  border-radius:50%;
  opacity:1;
  box-shadow:0 2px 0 rgba(0,0,0,.18);
  cursor:pointer;
  pointer-events:auto;
  transform:none;
}

.taj-latest-nav-under-label button svg{
  width:17px;
  height:17px;
  color:#000;
}

.taj-latest-nav-under-label button:hover:not(:disabled),
.taj-latest-nav-under-label button:focus-visible:not(:disabled){
  color:#fff;
  background:#000;
  border-color:#000;
  transform:translateY(-1px);
}

.taj-latest-nav-under-label button:hover:not(:disabled) svg,
.taj-latest-nav-under-label button:focus-visible:not(:disabled) svg{
  color:#fff;
}

.taj-latest-nav-under-label button:disabled{
  opacity:.45;
  cursor:wait;
}

/* Real sliding rail. */
.taj-latest-query{
  overflow:hidden;
  position:relative;
}

.taj-latest-grid{
  display:flex;
  flex-wrap:nowrap;
  width:100%;
  max-width:none;
  height:100%;
  gap:clamp(8px,1vw,16px);
  transform:translate3d(0,0,0);
  will-change:transform;
}

.taj-latest-grid > li{
  flex:0 0 calc((100% - (2 * clamp(8px,1vw,16px))) / 3);
  width:auto;
  min-width:0;
  max-width:none;
}

@media(max-width:720px){
  .taj-latest-label{
    gap:7px;
  }

  .taj-latest-label-line{
    gap:12px;
  }

  .taj-latest-nav-under-label{
    gap:5px;
  }

  .taj-latest-nav-under-label button{
    width:32px;
    height:32px;
    border-width:2px;
  }

  .taj-latest-nav-under-label button svg{
    width:15px;
    height:15px;
  }

  .taj-latest-query{
    overflow:hidden;
    scroll-snap-type:none;
  }

  .taj-latest-grid{
    width:100%;
    gap:8px;
  }

  .taj-latest-grid > li{
    flex:0 0 100%;
    width:100%;
    scroll-snap-align:none;
  }
}


/* =========================================================
   v1.7.83 — Latest Posts nav overlay, no layout push
   ========================================================= */

/* Keep the controls visually below "Latest Posts" but completely
   remove them from normal flow so the article rail stays at its
   original vertical position and cannot be pushed/cropped. */
.taj-latest-label{
  position:relative;
  display:block;
  overflow:visible;
}

.taj-latest-label-line{
  display:flex;
  align-items:center;
  gap:18px;
}

.taj-latest-nav-under-label{
  position:absolute;
  left:0;
  top:calc(100% + 8px);
  right:auto;
  bottom:auto;
  margin:0;
  display:flex;
  align-items:center;
  gap:7px;
  z-index:20;
  pointer-events:auto;
}

/* Restore the heading/query vertical flow: nav must contribute zero height. */
.taj-latest-head{
  overflow:visible;
}

@media(max-width:720px){
  .taj-latest-label-line{
    gap:12px;
  }

  .taj-latest-nav-under-label{
    top:calc(100% + 6px);
    gap:5px;
  }
}


/* =========================================================
   v1.7.84 — Latest Posts nav offset after label, clipping-safe
   ========================================================= */
.taj-latest-label{
  position:relative;
  overflow:visible;
  min-width:0;
}

.taj-latest-nav-under-label{
  position:absolute;
  top:calc(100% + 8px);
  left:var(--taj-latest-nav-left, 150px);
  right:auto;
  bottom:auto;
  margin:0;
  white-space:nowrap;
  overflow:visible;
  z-index:40;
}

.taj-latest-head,
.taj-latest-posts{
  overflow:visible;
}

@media(max-width:720px){
  .taj-latest-nav-under-label{
    top:calc(100% + 6px);
    left:var(--taj-latest-nav-left-mobile, var(--taj-latest-nav-left, 132px));
  }
}


/* =========================================================
   v1.7.85 — Latest Posts navigation at bottom corners
   ========================================================= */
.taj-latest-posts{
  position:relative;
  overflow:hidden;
}

/* Remove previous label-relative positioning so this control can anchor
   directly to the full Latest Posts section. */
.taj-latest-head,
.taj-latest-label{
  position:static;
}

.taj-latest-nav-under-label{
  position:absolute;
  left:clamp(18px,4.7vw,88px);
  right:clamp(18px,4.7vw,88px);
  bottom:14px;
  top:auto;
  width:auto;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0;
  z-index:50;
  pointer-events:none;
  overflow:visible;
}

.taj-latest-nav-under-label button{
  pointer-events:auto;
  flex:0 0 auto;
}

@media(max-width:720px){
  .taj-latest-nav-under-label{
    left:14px;
    right:14px;
    bottom:10px;
  }
}


/* =========================================================
   v1.7.86 — Latest title below label, arrows far right
   ========================================================= */
.taj-latest-head{
  position:relative;
  overflow:visible;
}
.taj-latest-label{
  position:relative;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
}
.taj-latest-label-line{
  display:flex;
  align-items:center;
  gap:18px;
}
.taj-latest-subrow{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:28px;
}
.taj-latest-subrow h2{
  margin:0;
  max-width:none;
  font-size:clamp(28px,2.4vw,46px);
  line-height:1;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.taj-latest-nav-under-label{
  position:static;
  inset:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  margin:0;
  padding:0;
  pointer-events:auto;
}
.taj-latest-nav-under-label button{
  position:static;
  width:40px;
  height:40px;
  flex:0 0 40px;
  margin:0;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#000;
  background:#fff;
  border:2px solid #000;
  border-radius:50%;
  box-shadow:0 2px 0 rgba(0,0,0,.16);
  cursor:pointer;
}
.taj-latest-nav-under-label button svg{
  width:18px;
  height:18px;
  display:block;
}
.taj-latest-nav-under-label button:hover:not(:disabled),
.taj-latest-nav-under-label button:focus-visible:not(:disabled){
  color:#fff;
  background:#000;
  transform:translateY(-1px);
}
.taj-latest-nav-under-label button:disabled{
  opacity:.4;
  cursor:default;
}
.taj-latest-posts .taj-latest-prev,
.taj-latest-posts .taj-latest-next{
  left:auto;
  right:auto;
  top:auto;
  bottom:auto;
}
@media(max-width:720px){
  .taj-latest-label{gap:8px;}
  .taj-latest-label-line{gap:12px;}
  .taj-latest-subrow{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:14px;
  }
  .taj-latest-subrow h2{
    font-size:clamp(22px,6.4vw,30px);
    line-height:1.03;
  }
  .taj-latest-nav-under-label{gap:10px;}
  .taj-latest-nav-under-label button{
    width:34px;
    height:34px;
    flex-basis:34px;
  }
  .taj-latest-nav-under-label button svg{
    width:15px;
    height:15px;
  }
}


/* =========================================================
   v1.7.87 — Testimonial 35vh / Latest Posts 65vh + centered pagination
   ========================================================= */
.taj-testimonial{
  height:35svh;
  min-height:35svh;
  max-height:35svh;
}
.taj-latest-posts{
  height:65svh;
  min-height:65svh;
  max-height:65svh;
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:.55fr 1.45fr;
  grid-template-rows:minmax(0,1fr) auto;
  column-gap:clamp(28px,5vw,88px);
  row-gap:12px;
  align-items:stretch;
  padding-bottom:clamp(16px,2.2vh,26px);
}
@supports(height:1dvh){
  .taj-testimonial{height:35dvh;min-height:35dvh;max-height:35dvh;}
  .taj-latest-posts{height:65dvh;min-height:65dvh;max-height:65dvh;}
}

/* Restore title/head to the original composition. */
.taj-latest-head{
  grid-column:1;
  grid-row:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:visible;
}
.taj-latest-label{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:18px;
  width:auto;
}
.taj-latest-title-row{
  margin-top:auto;
}
.taj-latest-title-row h2{
  margin:0 0 12px;
  font-size:clamp(34px,3.4vw,64px);
  line-height:.93;
  letter-spacing:-.055em;
}

.taj-latest-query{
  grid-column:2;
  grid-row:1;
  min-width:0;
  height:100%;
  overflow:hidden;
  margin:0;
}
.taj-latest-grid{
  --taj-latest-page-size:3;
  display:flex;
  flex-wrap:nowrap;
  width:100%;
  height:100%;
  gap:clamp(10px,1.2vw,22px);
  margin:0;
  padding:0;
  list-style:none;
  will-change:transform;
}
.taj-latest-grid > li{
  flex:0 0 calc((100% - (2 * clamp(10px,1.2vw,22px))) / 3);
  width:auto;
  min-width:0;
  max-width:none;
}

/* Pagination sits below articles/categories and spans the whole section. */
.taj-latest-pagination{
  grid-column:1 / -1;
  grid-row:2;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(12px,1.35vw,24px);
  width:100%;
  min-height:44px;
  margin:0;
  padding:0;
  z-index:20;
}
.taj-latest-pagination > button{
  width:42px;
  height:42px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#111;
  border:1px solid #d8d8d3;
  border-radius:0;
  font-size:28px;
  line-height:1;
  font-weight:400;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.taj-latest-pagination > button:hover:not(:disabled),
.taj-latest-pagination > button:focus-visible:not(:disabled){
  background:#111;
  color:#fff;
  border-color:#111;
}
.taj-latest-pagination > button:disabled{
  opacity:.28;
  cursor:default;
}
.taj-latest-pages{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,2.2vw,38px);
}
.taj-latest-page-number{
  position:relative;
  min-width:32px;
  height:42px;
  padding:0 4px;
  border:0;
  background:transparent;
  color:#444;
  font-size:24px;
  line-height:42px;
  font-weight:400;
  cursor:pointer;
}
.taj-latest-page-number.is-active{
  color:#000;
  font-weight:700;
}
.taj-latest-page-number.is-active::after{
  content:"";
  position:absolute;
  left:2px;
  right:2px;
  bottom:0;
  height:3px;
  background:#000;
}

/* Kill every earlier experimental arrow layout. */
.taj-latest-nav,
.taj-latest-nav-under-label,
.taj-latest-side-nav{
  display:none;
}

@media(max-width:720px){
  .taj-testimonial{
    height:35svh;
    min-height:35svh;
    max-height:35svh;
  }
  .taj-latest-posts{
    height:65svh;
    min-height:65svh;
    max-height:65svh;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr) auto;
    gap:8px;
    padding:12px 14px 10px;
  }
  @supports(height:1dvh){
    .taj-testimonial{height:35dvh;min-height:35dvh;max-height:35dvh;}
    .taj-latest-posts{height:65dvh;min-height:65dvh;max-height:65dvh;}
  }
  .taj-latest-head{
    grid-column:1;
    grid-row:1;
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:end;
    gap:14px;
  }
  .taj-latest-label{gap:12px;}
  .taj-latest-title-row{margin:0;justify-self:end;}
  .taj-latest-title-row h2{
    margin:0;
    font-size:24px;
    line-height:1;
    text-align:right;
  }
  .taj-latest-query{
    grid-column:1;
    grid-row:2;
    height:100%;
    overflow:hidden;
  }
  .taj-latest-grid{
    --taj-latest-page-size:1;
    width:100%;
    height:100%;
    gap:0;
  }
  .taj-latest-grid > li{
    flex:0 0 100%;
    width:100%;
    min-width:100%;
    max-width:100%;
  }
  .taj-latest-pagination{
    grid-column:1;
    grid-row:3;
    gap:8px;
    min-height:36px;
    overflow:visible;
  }
  .taj-latest-pagination > button{
    width:34px;
    height:34px;
    font-size:22px;
  }
  .taj-latest-pages{
    gap:10px;
  }
  .taj-latest-page-number{
    min-width:24px;
    height:34px;
    font-size:17px;
    line-height:34px;
  }
  .taj-latest-page-number.is-active::after{height:2px;}
}


/* =========================================================
   v1.7.88 — Latest Posts full layout reset after v1.7.87
   Restore original head composition + safe pagination
   ========================================================= */

/* Pair stays 35/65 exactly. */
.taj-testimonial{
  height:35svh;
  min-height:35svh;
  max-height:35svh;
}
.taj-latest-posts{
  height:65svh;
  min-height:65svh;
  max-height:65svh;

  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:0;

  padding:clamp(18px,2.1vw,34px) clamp(22px,5vw,92px) clamp(14px,1.8vh,22px);
  background:#f5f5f2;
  color:#111;
  overflow:hidden;
  position:relative;
}

@supports(height:1dvh){
  .taj-testimonial{
    height:35dvh;
    min-height:35dvh;
    max-height:35dvh;
  }
  .taj-latest-posts{
    height:65dvh;
    min-height:65dvh;
    max-height:65dvh;
  }
}

/* ORIGINAL composition:
   label left, "Recent notes..." right, one horizontal head row. */
.taj-latest-head{
  grid-row:1;
  grid-column:1;
  width:100%;
  min-width:0;

  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:24px;

  padding:0 0 clamp(10px,1.4vh,16px);
  margin:0;
  border-right:0;
  border-bottom:1px solid rgba(17,17,17,.18);
  overflow:visible;
}

.taj-latest-label{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:18px;
  width:auto;
  min-width:0;
  margin:0;
  padding:0;
}

.taj-latest-title-row{
  display:block;
  justify-self:end;
  align-self:start;
  margin:0;
  padding:0;
  min-width:0;
}

.taj-latest-title-row h2{
  margin:0;
  padding:0;
  max-width:none;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  font-size:clamp(27px,2.15vw,42px);
  line-height:.98;
  letter-spacing:-.045em;
  text-align:right;
  text-wrap:balance;
}

/* Article area occupies the middle row and cannot escape it. */
.taj-latest-query{
  grid-row:2;
  grid-column:1;
  width:100%;
  min-width:0;
  height:100%;
  min-height:0;
  margin:0;
  padding:clamp(12px,1.7vh,20px) 0 clamp(8px,1.2vh,14px);
  overflow:hidden;
  position:relative;
}

.taj-latest-grid{
  --taj-latest-page-size:3;
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;

  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  padding:0;

  gap:clamp(16px,2.2vw,34px);
  list-style:none;
  will-change:transform;
}

.taj-latest-grid > li{
  flex:0 0 calc((100% - (2 * clamp(16px,2.2vw,34px))) / 3);
  width:auto;
  min-width:0;
  max-width:none;
  height:100%;
  margin:0;
  padding:0;
  overflow:visible;
}

.taj-latest-card{
  height:100%;
  min-height:0;
  overflow:visible;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.taj-latest-card .wp-block-post-title{
  margin-top:0;
}

.taj-latest-card .taj-latest-categories,
.taj-latest-card .taxonomy-category.wp-block-post-terms{
  margin-top:auto;
  margin-bottom:0;
  overflow:visible;
}

/* Pagination gets its own fixed bottom row, centered and never clipped. */
.taj-latest-pagination{
  grid-row:3;
  grid-column:1;

  width:100%;
  min-height:42px;
  margin:0;
  padding:4px 0 0;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(10px,1.25vw,20px);

  overflow:visible;
  position:relative;
  z-index:30;
}

.taj-latest-pagination > button{
  width:40px;
  height:40px;
  min-width:40px;
  min-height:40px;
  padding:0;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  background:#fff;
  color:#111;
  border:1px solid #cfcfca;
  border-radius:0;

  font-size:25px;
  line-height:1;
  font-weight:400;
  cursor:pointer;
}

.taj-latest-pagination > button:hover:not(:disabled),
.taj-latest-pagination > button:focus-visible:not(:disabled){
  background:#111;
  color:#fff;
  border-color:#111;
}

.taj-latest-pagination > button:disabled{
  opacity:.28;
  cursor:default;
}

.taj-latest-pages{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(16px,1.8vw,30px);
  overflow:visible;
}

.taj-latest-page-number{
  position:relative;
  min-width:28px;
  height:40px;
  padding:0 2px;
  border:0;
  background:transparent;
  color:#444;

  font-size:22px;
  line-height:40px;
  font-weight:400;
  cursor:pointer;
}

.taj-latest-page-number.is-active{
  color:#000;
  font-weight:700;
}

.taj-latest-page-number.is-active::after{
  content:"";
  position:absolute;
  left:1px;
  right:1px;
  bottom:0;
  height:3px;
  background:#000;
}

/* Old arrow experiments stay disabled. */
.taj-latest-nav,
.taj-latest-nav-under-label,
.taj-latest-side-nav{
  display:none;
}


/* MOBILE — keep the same visual logic, but one card per page. */
@media(max-width:720px){
  .taj-testimonial{
    height:35svh;
    min-height:35svh;
    max-height:35svh;
  }

  .taj-latest-posts{
    height:65svh;
    min-height:65svh;
    max-height:65svh;

    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr) auto;

    padding:12px 14px 10px;
    overflow:hidden;
  }

  @supports(height:1dvh){
    .taj-testimonial{
      height:35dvh;
      min-height:35dvh;
      max-height:35dvh;
    }
    .taj-latest-posts{
      height:65dvh;
      min-height:65dvh;
      max-height:65dvh;
    }
  }

  .taj-latest-head{
    grid-template-columns:auto minmax(0,1fr);
    align-items:start;
    gap:12px;
    padding-bottom:8px;
  }

  .taj-latest-label{
    gap:10px;
    white-space:nowrap;
  }

  .taj-latest-title-row{
    justify-self:end;
    min-width:0;
  }

  .taj-latest-title-row h2{
    max-width:15ch;
    font-size:clamp(19px,5.4vw,25px);
    line-height:1;
    text-align:right;
  }

  .taj-latest-query{
    padding:10px 0 6px;
    min-height:0;
    overflow:hidden;
  }

  .taj-latest-grid{
    --taj-latest-page-size:1;
    gap:0;
    height:100%;
  }

  .taj-latest-grid > li{
    flex:0 0 100%;
    width:100%;
    min-width:100%;
    max-width:100%;
    height:100%;
  }

  .taj-latest-card{
    height:100%;
    min-height:0;
  }

  .taj-latest-pagination{
    min-height:34px;
    gap:7px;
    padding-top:3px;
    flex-wrap:nowrap;
    overflow:visible;
  }

  .taj-latest-pagination > button{
    width:32px;
    height:32px;
    min-width:32px;
    min-height:32px;
    font-size:20px;
  }

  .taj-latest-pages{
    gap:8px;
    min-width:0;
  }

  .taj-latest-page-number{
    min-width:22px;
    height:32px;
    padding:0;
    font-size:16px;
    line-height:32px;
  }

  .taj-latest-page-number.is-active::after{
    height:2px;
  }
}


/* =========================================================
   v1.7.89 — 55/45 viewport split + symmetric Latest padding
   ========================================================= */

/* New paired viewport split:
   Testimonial 55%, Latest Posts 45%. */
.taj-testimonial{
  height:60svh;
  min-height:60svh;
  max-height:60svh;
}

.taj-latest-posts{
  height:40svh;
  min-height:40svh;
  max-height:40svh;

  /* One shared vertical gutter guarantees that the distance from
     "Latest Posts" to the top edge equals the pagination-to-bottom edge. */
  --taj-latest-v-gutter:clamp(14px,1.65vh,22px);

  padding-top:var(--taj-latest-v-gutter);
  padding-bottom:var(--taj-latest-v-gutter);
  padding-left:clamp(22px,5vw,92px);
  padding-right:clamp(22px,5vw,92px);

  grid-template-rows:auto minmax(0,1fr) auto;
}

@supports(height:1dvh){
  .taj-testimonial{
    height:60dvh;
    min-height:60dvh;
    max-height:60dvh;
  }

  .taj-latest-posts{
    height:40dvh;
    min-height:40dvh;
    max-height:40dvh;
  }
}

/* Keep pagination compact enough for the new 45% Latest viewport,
   while preserving a visually balanced bottom gutter. */
.taj-latest-pagination{
  min-height:38px;
  padding:0;
  margin:0;
  align-self:end;
}

.taj-latest-query{
  min-height:0;
  padding-top:clamp(8px,1.05vh,12px);
  padding-bottom:clamp(6px,.8vh,10px);
}


/* Mobile: same 55/45 split and same top/bottom symmetry. */
@media(max-width:720px){
  .taj-testimonial{
    height:60svh;
    min-height:60svh;
    max-height:60svh;
  }

  .taj-latest-posts{
    height:40svh;
    min-height:40svh;
    max-height:40svh;

    --taj-latest-v-gutter:12px;

    padding-top:var(--taj-latest-v-gutter);
    padding-bottom:var(--taj-latest-v-gutter);
    padding-left:14px;
    padding-right:14px;
  }

  @supports(height:1dvh){
    .taj-testimonial{
      height:60dvh;
      min-height:60dvh;
      max-height:60dvh;
    }

    .taj-latest-posts{
      height:40dvh;
      min-height:40dvh;
      max-height:40dvh;
    }
  }

  .taj-latest-pagination{
    min-height:32px;
    padding:0;
  }

  .taj-latest-query{
    padding-top:7px;
    padding-bottom:5px;
  }
}


/* =========================================================
   v1.7.90 — Viewport split 60/40
   ========================================================= */
.taj-testimonial{
  height:60svh;
  min-height:60svh;
  max-height:60svh;
}
.taj-latest-posts{
  height:40svh;
  min-height:40svh;
  max-height:40svh;
}
@supports(height:1dvh){
  .taj-testimonial{
    height:60dvh;
    min-height:60dvh;
    max-height:60dvh;
  }
  .taj-latest-posts{
    height:40dvh;
    min-height:40dvh;
    max-height:40dvh;
  }
}
@media(max-width:720px){
  .taj-testimonial{
    height:60svh;
    min-height:60svh;
    max-height:60svh;
  }
  .taj-latest-posts{
    height:40svh;
    min-height:40svh;
    max-height:40svh;
  }
  @supports(height:1dvh){
    .taj-testimonial{
      height:60dvh;
      min-height:60dvh;
      max-height:60dvh;
    }
    .taj-latest-posts{
      height:40dvh;
      min-height:40dvh;
      max-height:40dvh;
    }
  }
}


/* =========================================================
   v1.7.91 — Latest 60 / Testimonial 40 + pagination -10%
   ========================================================= */

/* Corrected split:
   Testimonial 40%, Latest Posts 60%. */
.taj-testimonial{
  height:40svh;
  min-height:40svh;
  max-height:40svh;
}

.taj-latest-posts{
  height:60svh;
  min-height:60svh;
  max-height:60svh;
}

@supports(height:1dvh){
  .taj-testimonial{
    height:40dvh;
    min-height:40dvh;
    max-height:40dvh;
  }

  .taj-latest-posts{
    height:60dvh;
    min-height:60dvh;
    max-height:60dvh;
  }
}

/* Pagination reduced by ~10%. */
.taj-latest-pagination{
  min-height:34px;
  gap:clamp(9px,1.1vw,18px);
}

.taj-latest-pagination > button{
  width:36px;
  height:36px;
  min-width:36px;
  min-height:36px;
  font-size:22px;
}

.taj-latest-pages{
  gap:clamp(14px,1.6vw,27px);
}

.taj-latest-page-number{
  min-width:25px;
  height:36px;
  font-size:20px;
  line-height:36px;
}

.taj-latest-page-number.is-active::after{
  height:3px;
}

/* Mobile: preserve the same 40/60 split and scale nav down 10%. */
@media(max-width:720px){
  .taj-testimonial{
    height:40svh;
    min-height:40svh;
    max-height:40svh;
  }

  .taj-latest-posts{
    height:60svh;
    min-height:60svh;
    max-height:60svh;
  }

  @supports(height:1dvh){
    .taj-testimonial{
      height:40dvh;
      min-height:40dvh;
      max-height:40dvh;
    }

    .taj-latest-posts{
      height:60dvh;
      min-height:60dvh;
      max-height:60dvh;
    }
  }

  .taj-latest-pagination{
    min-height:29px;
    gap:6px;
  }

  .taj-latest-pagination > button{
    width:29px;
    height:29px;
    min-width:29px;
    min-height:29px;
    font-size:18px;
  }

  .taj-latest-pages{
    gap:7px;
  }

  .taj-latest-page-number{
    min-width:20px;
    height:29px;
    font-size:14px;
    line-height:29px;
  }
}


/* =========================================================
   v1.7.92 — Quick Links font +2px, overlay above floating contact
   ========================================================= */

/* Increase only the links inside the Quick Links accordion. */
.taj-footer-v3 .taj-footer-quick-links-list a{
  font-size:14px;
}

/* While Quick Links is open, raise the footer stacking context above the
   global floating WhatsApp tab so the list and its frame can never be covered. */
.taj-footer.taj-footer-v3:has(.taj-footer-quick-links[open]){
  position:relative;
  z-index:100030;
  isolation:isolate;
}
.taj-footer-v3 .taj-footer-quick-links[open]{
  z-index:100040;
}
.taj-footer-v3 .taj-footer-quick-links[open] > summary{
  z-index:100041;
}
.taj-footer-v3 .taj-footer-quick-links[open] > .taj-footer-quick-links-list{
  z-index:100050;
}

@media(max-width:720px){
  .taj-footer-v3 .taj-footer-quick-links-list a{
    font-size:12px;
  }
}


/* =========================================================
   v1.7.93 — Premium desktop submenu refinement
   ========================================================= */
@media(min-width:801px){
  /* Keep the submenu close to its parent and visually compact. */
  .taj-header .taj-classic-menu > li > .sub-menu{
    top:-6px;
    right:calc(100% + 10px);
    min-width:248px;
    width:max-content;
    max-width:min(340px,42vw);
    padding:8px;
    gap:3px;

    background:rgba(10,10,10,.82);
    -webkit-backdrop-filter:blur(12px) saturate(115%);
    backdrop-filter:blur(12px) saturate(115%);
    border:1px solid rgba(255,255,255,.22);
    border-radius:12px;
    box-shadow:
      0 18px 44px rgba(0,0,0,.30),
      inset 0 1px 0 rgba(255,255,255,.045);

    opacity:0;
    visibility:hidden;
    transform:translateX(7px) scale(.985);
    transform-origin:100% 18px;
    transition:
      opacity .18s ease,
      transform .22s cubic-bezier(.22,1,.36,1),
      visibility .18s ease;
  }

  .taj-header .taj-classic-menu > li:hover > .sub-menu,
  .taj-header .taj-classic-menu > li:focus-within > .sub-menu{
    opacity:1;
    visibility:visible;
    transform:translateX(0) scale(1);
  }

  /* Invisible bridge closes the hover gap between parent and submenu. */
  .taj-header .taj-classic-menu > li > .sub-menu::before{
    content:"";
    position:absolute;
    top:0;
    right:-12px;
    width:12px;
    height:100%;
    background:transparent;
  }

  /* Submenu links get their own refined visual language.
     Do NOT inherit the heavy 4px top-level outline. */
  .taj-header .taj-classic-menu .sub-menu a{
    width:100%;
    min-height:34px;
    padding:7px 10px;
    gap:10px;

    color:#fff;
    background:transparent;
    border:1px solid transparent;
    border-radius:8px;

    font-size:16px;
    line-height:1.16;
    font-weight:650;
    letter-spacing:-.015em;
    white-space:nowrap;

    -webkit-text-stroke:.55px rgba(0,0,0,.55);
    paint-order:stroke fill;
    text-shadow:0 1px 1px rgba(0,0,0,.35);

    transition:
      background-color .17s ease,
      border-color .17s ease,
      transform .17s ease,
      color .17s ease;
  }

  .taj-header .taj-classic-menu .sub-menu li:hover > a,
  .taj-header .taj-classic-menu .sub-menu li:focus-within > a{
    background:rgba(255,255,255,.09);
    border-color:rgba(255,255,255,.15);
    transform:translateX(-2px);
  }

  /* Nested submenu remains compact and aligned with the same glass system. */
  .taj-header .taj-classic-menu .sub-menu .sub-menu{
    top:-8px;
    right:calc(100% + 8px);
    min-width:220px;
    padding:8px;
    border-radius:12px;
  }
}


/* =========================================================
   v1.7.94 — Desktop submenu bottom-radius clipping fix
   ========================================================= */
@media(min-width:801px){
  .taj-header .taj-classic-menu > li > .sub-menu,
  .taj-header .taj-classic-menu .sub-menu .sub-menu{
    max-height:none;
    overflow:visible;
    overflow-x:visible;
    overflow-y:visible;

    padding-top:9px;
    padding-bottom:10px;

    border-radius:14px;
    background-clip:padding-box;
    isolation:isolate;
  }

  /* Make the visual ending of the panel explicitly rounded as well. */
  .taj-header .taj-classic-menu .sub-menu > li:first-child > a{
    border-radius:9px 9px 8px 8px;
  }

  .taj-header .taj-classic-menu .sub-menu > li:last-child > a{
    border-radius:8px 8px 9px 9px;
    margin-bottom:0;
  }

  /* Keep the hover bridge without relying on panel overflow. */
  .taj-header .taj-classic-menu > li > .sub-menu::before{
    top:-2px;
    bottom:-2px;
    height:auto;
  }
}


/* =========================================================
   v1.7.95 — Desktop submenu full visual-layer rebuild
   ========================================================= */
@media(min-width:801px){

  /* The UL becomes only a positioning/content shell.
     Its old background/border/shadow can no longer create square corners. */
  .taj-header .taj-classic-menu > li > .sub-menu{
    position:absolute;
    overflow:visible;
    background:transparent;
    border:0;
    box-shadow:none;
    border-radius:14px;
    isolation:isolate;
    padding:9px 8px 10px;
  }

  /* Dedicated visual panel: this is the ONLY painted submenu surface. */
  .taj-header .taj-classic-menu > li > .sub-menu::after{
    content:"";
    position:absolute;
    inset:0;
    display:block;

    background:rgba(10,10,10,.84);
    border:1px solid rgba(255,255,255,.22);
    border-radius:14px;
    box-shadow:
      0 18px 44px rgba(0,0,0,.30),
      inset 0 1px 0 rgba(255,255,255,.045);

    -webkit-backdrop-filter:blur(12px) saturate(115%);
    backdrop-filter:blur(12px) saturate(115%);

    pointer-events:none;
    z-index:0;
  }

  /* Every real menu item sits above the visual panel. */
  .taj-header .taj-classic-menu > li > .sub-menu > li{
    position:relative;
    z-index:2;
    background:transparent;
  }

  .taj-header .taj-classic-menu > li > .sub-menu > li > a{
    position:relative;
    z-index:2;
    background:transparent;
  }

  .taj-header .taj-classic-menu > li > .sub-menu > li:hover > a,
  .taj-header .taj-classic-menu > li > .sub-menu > li:focus-within > a{
    background:rgba(255,255,255,.09);
  }

  /* Keep the invisible hover bridge independent of the rounded visual panel. */
  .taj-header .taj-classic-menu > li > .sub-menu::before{
    content:"";
    position:absolute;
    top:-2px;
    bottom:-2px;
    right:-12px;
    width:12px;
    height:auto;
    background:transparent;
    border:0;
    border-radius:0;
    pointer-events:auto;
    z-index:3;
  }

  /* Explicitly round the content envelope too, so focus/hover never looks cut. */
  .taj-header .taj-classic-menu > li > .sub-menu > li:first-child > a{
    border-radius:9px;
  }
  .taj-header .taj-classic-menu > li > .sub-menu > li:last-child > a{
    border-radius:9px;
  }

  /* Defensive reset for ancestors that previously participated in clipping. */
  .taj-header,
  .taj-header > .wp-block-shortcode,
  .taj-header .taj-classic-nav,
  .taj-header .taj-classic-menu,
  .taj-header .taj-classic-menu > li{
    overflow:visible;
    clip-path:none;
    contain:none;
  }
}


/* =========================================================
   v1.7.96 — Copyright spacing
   ========================================================= */
@media(min-width:721px){
  .taj-footer-v3 .taj-footer-rights{
    margin-left:.25em;
  }
}


/* =========================================================
   v1.7.97 — Mobile hamburger outline 6px
   ========================================================= */
@media(max-width:800px){
  .taj-mobile-burger svg,
  .taj-mobile-burger svg g,
  .taj-mobile-burger svg path{
    stroke-width:6px;
  }
}


/* =========================================================
   v1.8.03 — Footer site title links to homepage
   ========================================================= */
.taj-footer .taj-footer-site-title{
  color:inherit;
  text-decoration:none;
}
.taj-footer .taj-footer-site-title:hover,
.taj-footer .taj-footer-site-title:focus-visible{
  color:inherit;
  text-decoration:none;
}


/* =========================================================
   v1.8.06 — One shared homepage header across all templates
   Homepage, single and page now render the same header part.
   Only document-flow positioning is normalized on inner pages;
   visual typography, spacing, frames, menu and burger remain shared.
   ========================================================= */
body:not(.home) .taj-header{
  position:relative;
}

/* Preserve the exact homepage desktop geometry on inner templates. */
@media(min-width:801px){
  body:not(.home) .taj-header{
    width:auto;
    margin-left:auto;
    margin-right:5vw;
    margin-top:clamp(20px,5dvh,64px);
  }
}

/* Mobile uses the same fixed header behavior and visual margins as homepage. */
@media(max-width:800px){
  body:not(.home) .taj-header{
    margin:0;
  }
}


/* =========================================================
   v1.8.09 — Inner-page header right-edge alignment
   Match homepage desktop right gutter exactly.
   ========================================================= */
@media(min-width:801px){
  body:not(.home) .taj-header{
    position:relative;
    left:auto;
    right:auto;

    /* One gutter source only: 5vw, same visual boundary as homepage. */
    width:calc(100% - 10vw);
    max-width:none;
    margin-left:5vw;
    margin-right:5vw;
    margin-top:clamp(20px,5dvh,64px);

    box-sizing:border-box;
    align-items:flex-end;
  }

  body:not(.home) .taj-header .wp-block-site-title.taj-brand{
    margin-left:auto;
    margin-right:0;
    text-align:right;
  }

  body:not(.home) .taj-header .taj-primary-menu-slot,
  body:not(.home) .taj-header .taj-classic-nav{
    margin-left:auto;
    margin-right:0;
  }

  body:not(.home) .taj-header .taj-classic-menu,
  body:not(.home) .taj-header .wp-block-navigation.taj-nav{
    margin-left:auto;
    margin-right:0;
    align-items:flex-end;
  }
}


/* =========================================================
   v1.8.10 — Canonical mobile hamburger positioning audit
   One viewport-based right edge for homepage, posts, pages and
   the portaled close control. Header width/margins must not affect it.
   ========================================================= */
@media(max-width:800px){

  /* Header remains full viewport on mobile regardless of desktop inner-page geometry. */
  body .taj-header{
    left:0;
    right:0;
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
    box-sizing:border-box;
  }

  /* Closed hamburger: anchor to viewport/header right edge, not document content width. */
  body .taj-header > .taj-mobile-burger,
  body .taj-header .taj-mobile-burger:not(.is-menu-open){
    position:absolute;
    top:0;
    right:0;
    left:auto;
    bottom:auto;

    margin:0;
    transform:none;
  }

  /* Open/close control is portaled under BODY: use exactly the same visual right edge. */
  body > .taj-mobile-burger.is-menu-open,
  html.taj-menu-open body > .taj-mobile-burger.is-menu-open{
    position:fixed;
    top:0;
    right:0;
    left:auto;
    bottom:auto;

    margin:0;
    transform:none;
    z-index:2147483647;
  }

  /* Neutralize older rules that offset the SVG/button itself. */
  .taj-mobile-burger{
    margin-left:0;
    margin-right:0;
  }
}

/* Narrow phones keep the same canonical edge; no 14px legacy double offset. */
@media(max-width:760px){
  body .taj-header{
    padding-right:0;
  }

  body .taj-header > .taj-mobile-burger,
  body .taj-header .taj-mobile-burger:not(.is-menu-open),
  body > .taj-mobile-burger.is-menu-open{
    right:0;
  }
}


/* =========================================================
   v1.8.11 — Inner-page header top alignment = homepage
   Remove the extra inner-page top offset introduced in v1.8.09.
   ========================================================= */
@media(min-width:801px){
  body:not(.home) .taj-header{
    top:0;
    margin-top:0;
    padding-top:0;

    /* Keep the approved right/left gutter geometry from v1.8.09. */
    width:calc(100% - 10vw);
    margin-left:5vw;
    margin-right:5vw;
  }

  /* Match the homepage title row vertical geometry exactly. */
  body:not(.home) .taj-header .wp-block-site-title.taj-brand{
    min-height:81.6px;
    margin-top:0;
    margin-bottom:18px;
    padding-top:0;
    align-items:center;
  }

  body:not(.home) .taj-header .wp-block-site-title.taj-brand a{
    min-height:81.6px;
    margin-top:0;
    padding-top:0;
    align-items:center;
  }
}


/* =========================================================
   v1.8.12 — Single/Page content left-gutter + top-spacing audit
   ========================================================= */
@media(min-width:801px){

  /* Shared inner-page content shell: same physical left gutter as site/header. */
  body.single .wp-site-blocks > main,
  body.page .wp-site-blocks > main{
    box-sizing:border-box;
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
    padding-left:5vw;
    padding-right:5vw;
    padding-top:clamp(34px,4.5vh,56px);
  }

  /* Post/page primary content must start exactly at the shell's left edge. */
  body.single .wp-block-post-content,
  body.page .wp-block-post-content{
    box-sizing:border-box;
    width:min(100%, 860px);
    max-width:860px;
    margin-left:0;
    margin-right:auto;
    padding-left:0;
    padding-right:0;
  }

  /* Keep title/meta/featured content aligned to the exact same left boundary. */
  body.single main .wp-block-post-title,
  body.page main .wp-block-post-title,
  body.single main .wp-block-post-featured-image,
  body.page main .wp-block-post-featured-image,
  body.single main .wp-block-post-date,
  body.page main .wp-block-post-date,
  body.single main .wp-block-post-terms,
  body.page main .wp-block-post-terms{
    margin-left:0;
    margin-right:auto;
  }
}

@media(max-width:800px){
  body.single .wp-site-blocks > main,
  body.page .wp-site-blocks > main{
    box-sizing:border-box;
    width:100%;
    max-width:none;
    margin:0;
    padding-left:14px;
    padding-right:14px;
    padding-top:clamp(24px,4vh,38px);
  }

  body.single .wp-block-post-content,
  body.page .wp-block-post-content{
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
    padding-left:0;
    padding-right:0;
  }
}


/* =========================================================
   v1.8.19 — Floating contact: soft grey + strong border
   ========================================================= */
.taj-global-floating-contact{
  background:#E6E6E3;
  color:#111111;
  border:2px solid #111111;
  box-shadow:
    0 10px 24px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.65);
}

.taj-global-floating-contact svg,
.taj-global-floating-contact svg path{
  color:#111111;
  fill:currentColor;
}

.taj-global-floating-contact-label{
  color:#111111;
}

.taj-global-floating-contact:hover,
.taj-global-floating-contact:focus-visible{
  background:#DCDCD8;
  color:#000000;
  border-color:#000000;
  box-shadow:
    0 12px 28px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.72);
}


/* =========================================================
   v1.8.22 — Premium 3D hamburger rebuilt from clean 6px outline baseline
   No frame, no panel, no geometry changes.
   ========================================================= */
@media(max-width:800px){

  /* Keep the button itself completely clean. */
  .taj-mobile-burger,
  .taj-mobile-burger:hover,
  .taj-mobile-burger:focus-visible,
  .taj-mobile-burger:active,
  body > .taj-mobile-burger.is-menu-open{
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  /* Restore the approved gold + 6px dark outline baseline. */
  .taj-mobile-burger svg g,
  .taj-mobile-burger svg path{
    fill:var(--taj-header-gold);
    stroke:var(--taj-header-outline);
    stroke-width:6px;
    stroke-linejoin:round;
    stroke-linecap:round;
    paint-order:stroke fill;
  }

  /* Premium depth: short, tight, metallic — not exaggerated. */
  .taj-mobile-burger svg{
    filter:
      drop-shadow(0 -0.7px 0 rgba(255,248,205,.34))
      drop-shadow(0 1.2px 0 rgba(153,111,26,.88))
      drop-shadow(0 2.4px 0 rgba(94,64,12,.72))
      drop-shadow(0 3.5px 4px rgba(0,0,0,.24));
  }

  /* Slight highlight lift on interaction, still restrained. */
  .taj-mobile-burger:hover svg,
  .taj-mobile-burger:focus-visible svg{
    filter:
      drop-shadow(0 -0.8px 0 rgba(255,250,214,.42))
      drop-shadow(0 1.3px 0 rgba(160,116,28,.92))
      drop-shadow(0 2.6px 0 rgba(96,65,12,.76))
      drop-shadow(0 4px 5px rgba(0,0,0,.28));
  }

  .taj-mobile-burger:active svg{
    filter:
      drop-shadow(0 -0.5px 0 rgba(255,245,194,.28))
      drop-shadow(0 1px 0 rgba(132,91,20,.80))
      drop-shadow(0 2px 3px rgba(0,0,0,.22));
  }

  /* The portaled close control uses the same exact visual treatment. */
  body > .taj-mobile-burger.is-menu-open svg{
    filter:
      drop-shadow(0 -0.7px 0 rgba(255,248,205,.34))
      drop-shadow(0 1.2px 0 rgba(153,111,26,.88))
      drop-shadow(0 2.4px 0 rgba(94,64,12,.72))
      drop-shadow(0 3.5px 4px rgba(0,0,0,.24));
  }
}


/* =========================================================
   v1.8.23 — Clean 3D hamburger, matched to site-title character
   ========================================================= */
@media(max-width:800px){

  .taj-mobile-burger,
  .taj-mobile-burger:hover,
  .taj-mobile-burger:focus-visible,
  .taj-mobile-burger:active,
  body > .taj-mobile-burger.is-menu-open{
    background:transparent;
    border:0;
    box-shadow:none;
  }

  .taj-mobile-burger svg g,
  .taj-mobile-burger svg path{
    fill:var(--taj-header-gold);
    stroke:rgba(0,0,0,.48);
    stroke-width:6px;
    stroke-linejoin:round;
    stroke-linecap:round;
    paint-order:stroke fill;
  }

  /* Clean metallic depth: restrained and close to the glyph. */
  .taj-mobile-burger svg{
    transform:none;
    transform-origin:center;
    transition:transform .07s ease-out, filter .07s ease-out;
    filter:
      drop-shadow(0 -0.6px 0 rgba(255,249,215,.44))
      drop-shadow(0 1.4px 0 rgba(157,113,24,.82))
      drop-shadow(0 2.6px 2.2px rgba(0,0,0,.22));
  }

  .taj-mobile-burger:hover svg,
  .taj-mobile-burger:focus-visible svg{
    transform:none;
    filter:
      drop-shadow(0 -0.6px 0 rgba(255,249,215,.44))
      drop-shadow(0 1.4px 0 rgba(157,113,24,.82))
      drop-shadow(0 2.6px 2.2px rgba(0,0,0,.22));
  }

  .taj-mobile-burger:active svg,
  .taj-mobile-burger.is-pressing svg{
    transform:translateY(1.5px) scale(.94);
    transform-origin:center;
    filter:
      drop-shadow(0 -0.2px 0 rgba(255,247,205,.26))
      drop-shadow(0 .5px 0 rgba(128,86,16,.72))
      drop-shadow(0 1px 1.2px rgba(0,0,0,.18));
  }

  body > .taj-mobile-burger.is-menu-open svg{
    filter:
      drop-shadow(0 -0.6px 0 rgba(255,249,215,.44))
      drop-shadow(0 1.4px 0 rgba(157,113,24,.82))
      drop-shadow(0 2.6px 2.2px rgba(0,0,0,.22));
  }
}

/* =========================================================
   v1.8.30 — Restore Latest Posts pagination without priority flags
   =========================================================
   Keep this final rule intentionally specific. WordPress block/global styles
   and older theme layers may target generic nav/button elements; the homepage
   pagination owns this layout through selector specificity.
*/
main.taj-site section.taj-latest-posts > nav.taj-latest-pagination{
  grid-row:3;
  grid-column:1;
  display:flex;
  visibility:visible;
  opacity:1;
  width:100%;
  min-width:0;
  min-height:34px;
  margin:0;
  padding:0;
  align-self:end;
  align-items:center;
  justify-content:center;
  gap:clamp(9px,1.1vw,18px);
  overflow:visible;
  position:relative;
  z-index:30;
  pointer-events:auto;
}
main.taj-site section.taj-latest-posts > nav.taj-latest-pagination > button{
  display:inline-flex;
  visibility:visible;
  opacity:1;
  flex:0 0 36px;
  width:36px;
  height:36px;
  min-width:36px;
  min-height:36px;
  margin:0;
  padding:0;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#111;
  border:1px solid #cfcfca;
  border-radius:0;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  pointer-events:auto;
}
main.taj-site section.taj-latest-posts > nav.taj-latest-pagination > button:disabled{
  display:inline-flex;
  visibility:visible;
  opacity:.28;
  cursor:default;
}
main.taj-site section.taj-latest-posts > nav.taj-latest-pagination > .taj-latest-pages{
  display:flex;
  visibility:visible;
  opacity:1;
  align-items:center;
  justify-content:center;
  gap:clamp(14px,1.6vw,27px);
  min-width:0;
}
main.taj-site section.taj-latest-posts > nav.taj-latest-pagination .taj-latest-page-number{
  display:inline-block;
  visibility:visible;
  opacity:1;
  min-width:25px;
  height:36px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:#111;
  font-size:20px;
  line-height:36px;
  text-align:center;
  cursor:pointer;
  position:relative;
}
@media(max-width:720px){
  main.taj-site section.taj-latest-posts > nav.taj-latest-pagination{
    min-height:29px;
    gap:6px;
  }
  main.taj-site section.taj-latest-posts > nav.taj-latest-pagination > button{
    flex-basis:29px;
    width:29px;
    height:29px;
    min-width:29px;
    min-height:29px;
    font-size:18px;
  }
  main.taj-site section.taj-latest-posts > nav.taj-latest-pagination > .taj-latest-pages{
    gap:7px;
  }
  main.taj-site section.taj-latest-posts > nav.taj-latest-pagination .taj-latest-page-number{
    min-width:20px;
    height:29px;
    font-size:14px;
    line-height:29px;
  }
}


/* =========================================================
   v1.8.31 — Latest Posts pagination structural fix
   =========================================================
   Static front pages are not guaranteed to have body.home, so pagination
   ownership is anchored to the actual theme structure instead.
*/
main.taj-site > section.taj-latest-posts {
  height:60svh;
  min-height:60svh;
  max-height:60svh;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
}
@supports(height:1dvh){
  main.taj-site > section.taj-latest-posts {
    height:60dvh;
    min-height:60dvh;
    max-height:60dvh;
  }
}
main.taj-site > section.taj-latest-posts > .taj-latest-head { grid-row:1; grid-column:1; }
main.taj-site > section.taj-latest-posts > .taj-latest-query { grid-row:2; grid-column:1; min-height:0; }
main.taj-site > section.taj-latest-posts > nav.taj-latest-pagination {
  grid-row:3;
  grid-column:1;
  display:flex;
  visibility:visible;
  opacity:1;
  align-self:end;
  justify-self:stretch;
  overflow:visible;
}
@media(max-width:720px){
  main.taj-site > section.taj-latest-posts {
    height:60svh;
    min-height:60svh;
    max-height:60svh;
  }
  @supports(height:1dvh){
    main.taj-site > section.taj-latest-posts {
      height:60dvh;
      min-height:60dvh;
      max-height:60dvh;
    }
  }
}


/* =========================================================
   v1.8.34 — Preserve canonical theme identity + site-title edge safety
   ========================================================= */
@media (min-width: 801px) {
  .taj-header .wp-block-site-title.taj-brand {
    padding-right: 7px;
    overflow: visible;
  }
  .taj-header .wp-block-site-title.taj-brand a {
    overflow: visible;
  }
}


/* =========================================================
   v1.8.36 — CTA button red label + copyright +3px
   ========================================================= */
.taj-contact.taj-cta-seven .taj-cta-seven-button,
.taj-contact.taj-cta-seven .taj-cta-seven-button:hover,
.taj-contact.taj-cta-seven .taj-cta-seven-button:focus-visible {
  color:#e2040d;
}

/* v1.8.37: use the real rendered baseline. The old generic selector
 * .taj-footer-v3 .taj-footer-meta small locked copyright at 9px,
 * so the requested +3px target is 12px. Specificity is explicit; no forced override. */
.taj-footer-v3 .taj-footer-meta .taj-footer-social-block > small.taj-footer-copyright {
  font-size:12px;
}

@media(max-width:720px){
  .taj-footer-v3 .taj-footer-meta .taj-footer-social-block > small.taj-footer-copyright {
    font-size:12px;
  }
}
