/*
Theme Name: TM Alpha
Theme URI: https://tmalpha.com
Author: Oladotun — Engineering & Product
Description: Private intelligence & publications platform. Lean hand-built theme for TM Alpha — editorial cream/claret/gold design system with first-class WooCommerce support for digital products (reports, masterclasses, bundles) and Beehiiv newsletter capture.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: Proprietary
Text Domain: tm-alpha
Tags: e-commerce, custom-colors, custom-menu
WC requires at least: 8.0
*/

/* ════════════════════════════════════════════════════════════════════
   TM ALPHA THEME — design tokens & primitives from the approved mocks
   (TM Alpha_Red.html + shop-designs/), plus a WooCommerce compat layer.
   ═══════════════════════════════════════════════════════════════════ */

*{margin:0;padding:0;box-sizing:border-box}
:root{
  --cream:#F7F2E8;
  --linen:#EAE2CE;
  --linen2:#E2D9C1;
  --linen3:#D3C8AE;
  --onyx:#0E2119;
  --charcoal:#16251D;
  --warm:#3D3530;
  --taupe:#8C7B6B;
  --stone:#BEB5A8;
  --gold:#C9A84C;
  --gold2:#E8D5A0;
  --gold3:#F5EDD8;
  --gold4:#8B6914;
  --gold5:#6B4E0A;
  --claret:#1D6B4A;
  --claret2:#1B3B2E;
  --claret3:#2A7D57;
  --green:#1E5C3A;
  --green2:#3A9A6A;
}
html{scroll-behavior:smooth;font-size:17.5px}
body{background:var(--cream);color:var(--onyx);font-family:'Didact Gothic',sans-serif;overflow-x:hidden;cursor:none}
a{color:inherit}
img{max-width:100%;height:auto}

/* CURSOR ─────────────────────────────────────────────── */
.cur{position:fixed;width:8px;height:8px;background:var(--gold4);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .25s,height .25s}
.cur-r{position:fixed;width:30px;height:30px;border:1px solid rgba(139,105,20,.4);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:all .15s ease}
@media(hover:none){body{cursor:auto}.cur,.cur-r{display:none}}

/* GRAIN ──────────────────────────────────────────────── */
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");pointer-events:none;z-index:9997;opacity:.6}

/* ══ NAV (unified: transparent on home, solid when scrolled / inner) ═ */
nav.tm-nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:20px 60px;transition:all .4s ease;background:rgba(250,247,242,0);border-bottom:1px solid transparent}
nav.tm-nav.scrolled,nav.tm-nav.solid{background:rgba(250,247,242,.97);padding:14px 60px;border-bottom:1px solid var(--linen3);backdrop-filter:blur(16px)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--onyx);text-decoration:none}
.nav-logo span{color:var(--gold4)}
.nav-links{display:flex;gap:36px;list-style:none}
.nav-links a{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--taupe);text-decoration:none;transition:color .3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav-links a:hover,.nav-links li.current-menu-item a{color:var(--claret)}
.nav-links a:hover::after,.nav-links li.current-menu-item a::after{transform:scaleX(1)}
.nav-actions{display:flex;gap:14px;align-items:center}
.nav-cart{display:flex;align-items:center;gap:9px;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--onyx);text-decoration:none;padding:9px 16px;border:1px solid var(--linen3);transition:all .3s;position:relative}
.nav-cart:hover{border-color:var(--gold);color:var(--gold4)}
nav.tm-nav:not(.solid):not(.scrolled) .nav-cart{color:var(--cream);border-color:rgba(255,255,255,.3)}
nav.tm-nav:not(.solid):not(.scrolled) .nav-cart:hover{color:var(--gold2);border-color:var(--gold)}
.nav-cart .cart-ico{font-size:15.5px;line-height:1}
.nav-cart .cart-count{background:var(--claret);color:var(--cream);font-size:10px;min-width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;letter-spacing:0;padding:0 4px}
.nav-btn{font-family:'Didact Gothic',sans-serif;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;padding:10px 22px;border:1px solid var(--onyx);color:var(--cream);background:var(--onyx);text-decoration:none;transition:all .3s;cursor:pointer}
.nav-btn:hover{background:var(--gold4);border-color:var(--gold4);color:var(--cream)}

/* ══ BUTTONS ══════════════════════════════════════════ */
.btn-primary{font-family:'Didact Gothic',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:16px 36px;background:var(--onyx);color:var(--cream);text-decoration:none;transition:all .35s ease;position:relative;overflow:hidden;display:inline-block;border:1px solid var(--onyx);cursor:pointer;text-align:center;line-height:1.4}
.btn-primary::before{content:'';position:absolute;inset:0;background:var(--gold);transform:translateX(-101%);transition:transform .4s cubic-bezier(.77,0,.175,1)}
.btn-primary:hover::before{transform:translateX(0)}
.btn-primary span{position:relative;z-index:1}
.btn-primary.gold{background:var(--gold);border-color:var(--gold);color:var(--onyx)}
.btn-primary.gold::before{background:var(--onyx)}
.btn-primary.gold:hover{color:var(--cream)}
.btn-primary.block{display:block;width:100%}
.btn-secondary{font-family:'Didact Gothic',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:16px 36px;background:transparent;color:var(--onyx);text-decoration:none;transition:all .3s;border:1px solid var(--linen3);display:inline-block;cursor:pointer;text-align:center;line-height:1.4}
.btn-secondary:hover{border-color:var(--gold);color:var(--gold4)}
.btn-secondary.block{display:block;width:100%}

/* ══ PAGE SHELL / SECTION UTILS ═══════════════════════ */
.page-shell{padding-top:54px}
.sec{padding:96px 72px}
.sec-sm{padding:64px 72px}
.sec-label{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--claret);margin-bottom:10px;display:flex;align-items:center;gap:14px}
.sec-label::before{content:'';width:26px;height:1px;background:var(--gold)}
.sec-title{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,3.8vw,56px);font-weight:300;line-height:1.08;letter-spacing:-.01em;color:var(--onyx)}
.sec-title em{font-style:italic;color:var(--claret)}
.sec-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;padding-bottom:22px;border-bottom:1px solid var(--linen3)}
.view-all{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);text-decoration:none;display:flex;align-items:center;gap:8px;transition:color .3s}
.view-all::after{content:'→';transition:transform .3s}
.view-all:hover{color:var(--claret)}
.view-all:hover::after{transform:translateX(4px)}
.page-head{padding:28px 72px 38px}
.page-intro{font-size:15px;line-height:1.9;color:var(--taupe);max-width:540px;margin-top:16px;letter-spacing:.02em}
.breadcrumb,.woocommerce-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);padding:26px 72px 0}
.breadcrumb a,.woocommerce-breadcrumb a{color:var(--taupe);text-decoration:none;transition:color .3s}
.breadcrumb a:hover,.woocommerce-breadcrumb a:hover{color:var(--claret)}
.breadcrumb .sep{color:var(--linen3)}
.breadcrumb .here{color:var(--onyx)}

/* ══ BADGES / PLACEHOLDER COVERS ══════════════════════ */
.badge{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;display:inline-block}
.badge-free{background:rgba(30,92,58,.1);color:var(--green)}
.badge-paid{background:rgba(201,168,76,.15);color:var(--gold4)}
.badge-members{background:rgba(29,107,74,.1);color:var(--claret)}
.badge-new{background:var(--onyx);color:var(--cream)}
.badge-coming{background:var(--linen2);color:var(--taupe)}
.badge-best{background:var(--gold);color:var(--onyx)}
.ph-navy{background:linear-gradient(140deg,var(--claret2) 0%,var(--claret) 100%)}
.ph-onyx{background:linear-gradient(140deg,#0E2119 0%,#1B3B2E 100%)}
.ph-gold{background:linear-gradient(140deg,var(--gold5) 0%,#3A2800 100%)}
.ph-stone{background:linear-gradient(140deg,#2A2420 0%,#3A3028 100%)}
.ph-linen{background:var(--linen2)}
.mono-mark{font-family:'Cormorant Garamond',serif;font-weight:300;letter-spacing:-.05em;line-height:1;color:rgba(201,168,76,.12);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}

/* ══ HERO (front page) ════════════════════════════════ */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}
.hero-left{background:var(--cream);display:flex;flex-direction:column;justify-content:flex-end;padding:0 80px 100px;position:relative;z-index:2}
.hero-eyebrow{font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--claret);margin-bottom:28px;display:flex;align-items:center;gap:14px;opacity:0;animation:fadeUp 1s ease .4s forwards}
.hero-eyebrow::before{content:'';width:32px;height:1px;background:var(--gold)}
.hero-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(50px,5.5vw,82px);font-weight:300;line-height:1.03;letter-spacing:-.015em;color:var(--onyx);margin-bottom:26px;opacity:0;animation:fadeUp 1.1s ease .6s forwards}
.hero-h1 em{font-style:italic;color:var(--claret)}
.hero-p{font-size:15px;line-height:1.9;color:var(--taupe);max-width:380px;margin-bottom:48px;letter-spacing:.03em;opacity:0;animation:fadeUp 1.1s ease .8s forwards}
.hero-ctas{display:flex;gap:18px;flex-wrap:wrap;opacity:0;animation:fadeUp 1.1s ease 1s forwards}
.hero-right{position:relative;overflow:hidden;background:var(--onyx)}
.hero-img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:saturate(.88);transform:scale(1.06);animation:scaleIn 2s ease .2s forwards}
.hero-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}
.hero-right::after{content:'';position:absolute;bottom:0;left:0;right:0;height:35%;background:linear-gradient(to top,rgba(13,13,13,.55),transparent);pointer-events:none}
.hero-stats{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:1px;z-index:4;opacity:0;animation:fadeIn 1s ease 1.3s forwards}
.hstat{background:rgba(13,13,13,.85);backdrop-filter:blur(10px);padding:18px 22px;border-left:2px solid var(--gold)}
.hstat-n{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;color:var(--gold2);line-height:1}
.hstat-l{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);margin-top:3px}
.hero-ticker{position:absolute;bottom:0;left:0;right:0;z-index:10;display:flex;align-items:stretch;overflow:hidden;opacity:0;animation:fadeIn 1s ease 1.6s forwards}
.tick-badge{background:var(--gold);color:var(--onyx);font-size:10px;letter-spacing:.28em;text-transform:uppercase;padding:10px 18px;white-space:nowrap;flex-shrink:0;display:flex;align-items:center;font-family:'Didact Gothic',sans-serif}
.tick-wrap{overflow:hidden;flex:1;background:rgba(250,247,242,.95)}
.tick-inner{display:flex;animation:ticker 34s linear infinite}
.tick-item{font-family:'Cormorant Garamond',serif;font-size:15.5px;font-style:italic;color:var(--warm);padding:10px 34px;white-space:nowrap;border-right:1px solid var(--linen3)}

/* ══ MARQUEE ══════════════════════════════════════════ */
.marquee-strip{background:var(--onyx);padding:12px 0;overflow:hidden}
.marquee-inner{display:flex;animation:marquee 24s linear infinite;will-change:transform}
.marq-item{font-family:'Cormorant Garamond',serif;font-size:18px;font-style:italic;color:rgba(250,247,242,.45);padding:0 32px;white-space:nowrap;border-right:1px solid rgba(255,255,255,.06);display:flex;align-items:center}
.marq-item.highlight{color:var(--gold);font-style:normal;font-size:13px;letter-spacing:.18em;text-transform:uppercase}

/* ══ FILTER BAR / SHOP TOOLBAR ════════════════════════ */
.filter-bar{display:flex;gap:0;border-bottom:1px solid var(--linen3);margin-bottom:40px;overflow-x:auto}
.f-btn{padding:13px 22px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:'Didact Gothic',sans-serif;transition:all .3s;white-space:nowrap;flex-shrink:0;text-decoration:none;display:inline-block}
.f-btn.active{color:var(--claret);border-bottom-color:var(--claret)}
.f-btn:hover:not(.active){color:var(--taupe)}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--linen3);border-bottom:1px solid var(--linen3);padding:0;margin-bottom:0;flex-wrap:wrap}
.shop-filters{display:flex;gap:0;overflow-x:auto}
.shop-toolbar .f-btn{padding:13px 22px}
.shop-meta{display:flex;align-items:center;gap:20px;padding:6px 0}
.woocommerce-result-count{font-size:12px;letter-spacing:.05em;color:var(--stone);margin:0}
.woocommerce-ordering{margin:0;position:relative}
.woocommerce-ordering select{font-family:'Didact Gothic',sans-serif;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--warm);background:transparent;border:1px solid var(--linen3);padding:9px 34px 9px 14px;cursor:pointer;appearance:none;outline:none;transition:border-color .3s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M1 3l4 4 4-4' stroke='%238C7B6B' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}
.woocommerce-ordering select:hover{border-color:var(--gold)}

/* ══ PRODUCT GRID (ul.products — loop + homepage) ═════ */
ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linen2);list-style:none;margin:1px 0 0;padding:0}
ul.products li.product{background:var(--cream);overflow:hidden;position:relative;display:flex;flex-direction:column;transition:transform .4s ease,box-shadow .4s ease;margin:0;width:auto;float:none}
ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(13,13,13,.1);z-index:2}
ul.products li.product.tm-featured{grid-column:span 2}
.product-thumb{position:relative;overflow:hidden;display:block;text-decoration:none}
.product-thumb-inner{aspect-ratio:16/10;max-height:300px;position:relative;overflow:hidden}
li.product.tm-featured .product-thumb-inner{aspect-ratio:21/9;max-height:380px}
.product-thumb-inner img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;filter:saturate(.85)}
li.product:hover .product-thumb-inner img{transform:scale(1.04)}
.product-flash{position:absolute;top:16px;right:16px;z-index:3;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.label-overlay{position:absolute;bottom:18px;left:20px;z-index:2;text-align:left}
.label-overlay .issue-tag{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);margin-bottom:6px}
.label-overlay .issue-title{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:300;color:#fff;line-height:1.2}
.label-overlay .issue-title em{font-style:italic;color:var(--gold2)}
.product-body{padding:24px 22px;display:flex;flex-direction:column;flex:1;text-align:left}
.product-cat{font-size:10px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:9px;display:flex;align-items:center;gap:9px;color:var(--taupe)}
.product-title,.woocommerce-loop-product__title{font-family:'Cormorant Garamond',serif;font-size:clamp(17.5px,1.5vw,22px);font-weight:400;color:var(--onyx);line-height:1.28;margin-bottom:9px;letter-spacing:.01em;padding:0}
.product-title a{text-decoration:none}
.product-excerpt{font-size:13px;color:var(--taupe);line-height:1.7;margin-bottom:16px;flex:1}
.product-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--linen2);margin-top:auto}
.price{font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:400;color:var(--onyx);line-height:1}
.price del{font-size:17px;color:var(--stone);text-decoration:line-through;margin-right:8px;opacity:1}
.price ins{text-decoration:none}
.price .tm-free{color:var(--green)}
.price-note{font-size:11px;color:var(--stone);letter-spacing:.04em;margin-top:3px}
ul.products .button,.add_to_cart_button,.loop-cta{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--claret);text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:gap .3s;background:none;border:none;cursor:pointer;font-family:'Didact Gothic',sans-serif;white-space:nowrap;padding:0;line-height:1.6}
ul.products .button::after,.add_to_cart_button::after,.loop-cta::after{content:'→';transition:transform .3s}
ul.products .button:hover,.add_to_cart_button:hover,.loop-cta:hover{gap:10px;background:none;color:var(--claret)}
ul.products .button.added::after{content:'✓'}
ul.products .added_to_cart{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold4);text-decoration:none;margin-left:10px}

/* pagination */
.woocommerce-pagination{margin-top:42px;text-align:center}
.woocommerce-pagination ul.page-numbers{list-style:none;display:inline-flex;gap:0;border:1px solid var(--linen3)}
.woocommerce-pagination .page-numbers li{margin:0}
.woocommerce-pagination a.page-numbers,.woocommerce-pagination span.page-numbers{display:inline-block;padding:11px 17px;font-size:12px;letter-spacing:.12em;color:var(--taupe);text-decoration:none;border-right:1px solid var(--linen3);transition:all .3s}
.woocommerce-pagination li:last-child a,.woocommerce-pagination li:last-child span{border-right:none}
.woocommerce-pagination span.current{background:var(--onyx);color:var(--cream)}
.woocommerce-pagination a.page-numbers:hover{color:var(--claret)}

/* ══ SINGLE PRODUCT ═══════════════════════════════════ */
.single-product-main{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;padding:36px 72px 24px;align-items:start}
.product-gallery{position:sticky;top:80px}
.gallery-main{position:relative;overflow:hidden;aspect-ratio:3/4;border:1px solid var(--linen3)}
.gallery-main img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-main .ph-cover{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}
.gallery-cover-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:38px 34px}
.gallery-cover-overlay .gc-top{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold2)}
.gallery-cover-overlay .gc-title{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3.4vw,46px);font-weight:300;color:#fff;line-height:1.05}
.gallery-cover-overlay .gc-title em{font-style:italic;color:var(--gold2)}
.gallery-cover-overlay .gc-foot{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.product-summary .product-cat{margin-bottom:14px;font-size:10.5px}
.product-summary .product_title{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3vw,40px);font-weight:300;line-height:1.12;letter-spacing:-.01em;color:var(--onyx);margin-bottom:14px}
.summary-price{display:flex;align-items:baseline;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.summary-price .price{font-size:38px}
.summary-price .vat-note{font-size:12px;color:var(--taupe);letter-spacing:.03em}
.product-summary .woocommerce-product-details__short-description{font-size:15.5px;color:var(--warm);line-height:1.9;margin-bottom:24px;letter-spacing:.02em}
.spec-list{list-style:none;display:flex;flex-direction:column;border:1px solid var(--linen3);margin-bottom:28px}
.spec-list li{display:flex;justify-content:space-between;gap:16px;padding:11px 16px;font-size:13px;letter-spacing:.02em;border-bottom:1px solid var(--linen2)}
.spec-list li:last-child{border-bottom:none}
.spec-list .sk{color:var(--taupe);text-transform:uppercase;letter-spacing:.16em;font-size:10.5px;align-self:center;flex-shrink:0}
.spec-list .sv{color:var(--warm);text-align:right}
/* Woo add-to-cart form on single */
.product-summary form.cart{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}
.product-summary form.cart .quantity{display:inline-flex;align-items:center;border:1px solid var(--linen3);float:none;margin:0}
.quantity .qty{width:56px;height:46px;border:none;text-align:center;font-family:'Didact Gothic',sans-serif;font-size:15.5px;color:var(--onyx);background:transparent;outline:none;appearance:textfield;-moz-appearance:textfield}
.quantity .qty::-webkit-outer-spin-button,.quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.quantity .tm-qty-btn{width:40px;height:46px;background:none;border:none;font-size:17.5px;color:var(--warm);cursor:pointer;font-family:'Cormorant Garamond',serif;transition:background .25s}
.quantity .tm-qty-btn:hover{background:var(--linen)}
.quantity .tm-qty-btn.dec{border-right:1px solid var(--linen3)}
.quantity .tm-qty-btn.inc{border-left:1px solid var(--linen3)}
.product-summary form.cart .single_add_to_cart_button{font-family:'Didact Gothic',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:17px 36px;background:var(--gold);color:var(--onyx);border:1px solid var(--gold);cursor:pointer;transition:all .3s;width:100%}
.product-summary form.cart .single_add_to_cart_button:hover{background:var(--onyx);border-color:var(--onyx);color:var(--cream)}
.trust-row{display:flex;flex-wrap:wrap;gap:18px 24px;padding-top:20px;border-top:1px solid var(--linen2);margin-top:4px}
.trust-item{display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.03em;color:var(--taupe)}
.trust-item .ti-ico{width:22px;height:22px;border:1px solid var(--linen3);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--gold4);flex-shrink:0}
.inline-upsell{background:var(--linen);border:1px solid var(--linen3);border-left:3px solid var(--gold);padding:16px 18px;margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.inline-upsell .iu-text{font-size:13px;color:var(--warm);line-height:1.5}
.inline-upsell .iu-text b{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:15.5px}
.inline-upsell a{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--claret);text-decoration:none;white-space:nowrap}

/* Woo product data tabs */
.product-tabs-wrap{padding:24px 72px 40px}
.woocommerce-tabs ul.wc-tabs{display:flex;gap:0;border-bottom:1px solid var(--linen3);margin:0 0 34px;list-style:none;overflow-x:auto;padding:0}
.woocommerce-tabs ul.wc-tabs li{margin:0}
.woocommerce-tabs ul.wc-tabs li a{display:inline-block;padding:14px 26px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);border-bottom:2px solid transparent;text-decoration:none;transition:all .3s;white-space:nowrap}
.woocommerce-tabs ul.wc-tabs li.active a{color:var(--claret);border-bottom-color:var(--claret)}
.woocommerce-tabs .woocommerce-Tabs-panel{max-width:780px}
.woocommerce-Tabs-panel h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:24px;color:var(--onyx);margin:0 0 14px}
.woocommerce-Tabs-panel p{font-size:15.5px;line-height:1.95;color:var(--warm);margin-bottom:16px;letter-spacing:.02em}
.woocommerce-Tabs-panel table.woocommerce-product-attributes{width:100%;border-collapse:collapse;border:1px solid var(--linen3)}
.woocommerce-product-attributes th,.woocommerce-product-attributes td{padding:12px 16px;font-size:14px;text-align:left;border-bottom:1px solid var(--linen2)}
.woocommerce-product-attributes th{color:var(--taupe);text-transform:uppercase;letter-spacing:.14em;font-size:10.5px;font-weight:400;width:32%}
/* related / upsells */
.related.products,.up-sells.products{padding:54px 72px;border-top:1px solid var(--linen3)}
.related.products>h2,.up-sells.products>h2{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:300;color:var(--onyx);margin-bottom:32px}

/* ══ CART ═════════════════════════════════════════════ */
.cart-layout{display:grid;grid-template-columns:1fr 380px;gap:56px;padding:30px 72px 60px;align-items:start}
table.cart-table{width:100%;border-collapse:collapse}
.cart-table thead th{text-align:left;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--taupe);font-weight:400;padding:0 0 14px;border-bottom:1px solid var(--linen3)}
.cart-table thead th.r{text-align:right}
.cart-table .cart-item td{padding:22px 0;border-bottom:1px solid var(--linen2);vertical-align:middle}
.ci-product{display:flex;gap:18px;align-items:center}
.ci-thumb{width:84px;flex-shrink:0;position:relative;overflow:hidden;border:1px solid var(--linen3)}
.ci-thumb img{display:block;width:100%;height:62px;object-fit:cover}
.ci-thumb .ph-cover{height:62px;display:flex;align-items:center;justify-content:center;position:relative}
.ci-thumb .mono-mark{font-size:24px}
.ci-info .ci-cat{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);margin-bottom:5px}
.ci-info .ci-name{font-family:'Cormorant Garamond',serif;font-size:18.5px;color:var(--onyx);line-height:1.25;margin-bottom:4px}
.ci-info .ci-name a{text-decoration:none}
.ci-info .ci-meta{font-size:12px;color:var(--stone);letter-spacing:.03em}
.ci-remove{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone);text-decoration:none;margin-top:8px;display:inline-flex;align-items:center;gap:6px;transition:color .3s}
.ci-remove:hover{color:var(--claret)}
.cart-table td.col-price,.cart-table td.col-total{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--onyx);text-align:right;white-space:nowrap}
.cart-table td.col-qty{text-align:center}
.cart-table .quantity{display:inline-flex;align-items:center;border:1px solid var(--linen3)}
.cart-table .quantity .qty{width:44px;height:40px}
.cart-table .quantity .tm-qty-btn{width:34px;height:40px}
.cart-actions-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:22px;flex-wrap:wrap}
.coupon{display:flex;gap:0;border:1px solid var(--linen3)}
.coupon input{border:none;padding:12px 14px;font-family:'Didact Gothic',sans-serif;font-size:13px;background:transparent;outline:none;width:170px;color:var(--onyx)}
.coupon input::placeholder{color:var(--stone)}
.coupon button,button[name="update_cart"]{border:none;background:var(--onyx);color:var(--cream);padding:12px 20px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;font-family:'Didact Gothic',sans-serif;transition:background .3s}
.coupon button:hover,button[name="update_cart"]:hover{background:var(--gold4)}
button[name="update_cart"]:disabled{opacity:.35;cursor:default}
.continue-link{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);text-decoration:none;display:inline-flex;gap:8px;align-items:center;transition:color .3s}
.continue-link::before{content:'←';transition:transform .3s}
.continue-link:hover{color:var(--claret)}
.continue-link:hover::before{transform:translateX(-4px)}
/* totals box — wraps Woo's .cart_totals */
.totals-box{background:var(--linen);border:1px solid var(--linen3);border-top:3px solid var(--claret);padding:30px 28px;position:sticky;top:78px}
.totals-box h2,.totals-box h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:24px;color:var(--onyx);margin-bottom:20px}
.cart_totals{width:100%}
.cart_totals table{width:100%;border-collapse:collapse}
.cart_totals th,.cart_totals td{padding:11px 0;border-bottom:1px solid var(--linen2);font-size:14.5px;color:var(--warm);text-align:left;font-weight:400;letter-spacing:.02em}
.cart_totals td{text-align:right;font-family:'Cormorant Garamond',serif;font-size:17.5px;color:var(--onyx)}
.cart_totals .order-total th{color:var(--onyx);font-size:13px;letter-spacing:.16em;text-transform:uppercase;border-bottom:none;padding-top:18px}
.cart_totals .order-total td{font-size:30px;border-bottom:none;padding-top:14px}
.wc-proceed-to-checkout{margin-top:22px;padding:0}
.wc-proceed-to-checkout a.checkout-button{font-family:'Didact Gothic',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:17px 36px;background:var(--gold);color:var(--onyx);border:1px solid var(--gold);display:block;text-align:center;text-decoration:none;transition:all .3s}
.wc-proceed-to-checkout a.checkout-button:hover{background:var(--onyx);border-color:var(--onyx);color:var(--cream)}
.totals-note{font-size:12px;color:var(--stone);text-align:center;margin-top:14px;letter-spacing:.03em;line-height:1.6}
.pay-marks{display:flex;justify-content:center;gap:10px;margin-top:16px;flex-wrap:wrap}
.pay-mark{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);border:1px solid var(--linen3);padding:5px 9px}
/* empty cart */
.cart-empty-state{text-align:center;padding:80px 24px}
.cart-empty-state .ce-mark{font-family:'Cormorant Garamond',serif;font-size:64px;color:var(--linen3);margin-bottom:14px}
.cart-empty-state h3{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:30px;color:var(--onyx);margin-bottom:10px}
.cart-empty-state p{font-size:15px;color:var(--taupe);margin-bottom:26px}

/* ══ CHECKOUT (CSS over Woo's stock markup) ═══════════ */
.tm-checkout-shell{padding:0 72px 64px}
form.woocommerce-checkout{display:grid;grid-template-columns:1fr 400px;gap:0 56px;align-items:start}
form.woocommerce-checkout #customer_details{grid-column:1;grid-row:1 / span 3}
form.woocommerce-checkout #order_review_heading{grid-column:2;background:var(--linen);border:1px solid var(--linen3);border-bottom:none;border-top:3px solid var(--claret);padding:30px 28px 0;font-family:'Cormorant Garamond',serif;font-weight:400;font-size:24px;color:var(--onyx);margin:0}
form.woocommerce-checkout #order_review{grid-column:2;background:var(--linen);border:1px solid var(--linen3);border-top:none;padding:14px 28px 30px;position:sticky;top:78px}
#customer_details .col-1,#customer_details .col-2{width:100%;float:none;margin-bottom:34px}
.woocommerce-billing-fields h3,.woocommerce-additional-fields h3,#ship-to-different-address{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:24px;color:var(--onyx);margin-bottom:20px}
.woocommerce form .form-row{padding:0;margin:0 0 14px;display:block}
.woocommerce form .form-row label{display:block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);margin-bottom:7px}
.woocommerce form .form-row .required{color:var(--claret);text-decoration:none}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single{width:100%;background:var(--cream);border:1px solid var(--linen3);padding:13px 15px;color:var(--onyx);font-family:'Didact Gothic',sans-serif;font-size:15px;outline:none;transition:border-color .3s;border-radius:0;height:auto;line-height:1.4}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{border-color:var(--onyx)}
.select2-container--default .select2-selection--single{display:flex;align-items:center;min-height:44px}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--onyx);line-height:1.4;padding-left:0}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:100%}
.select2-dropdown{border:1px solid var(--linen3);border-radius:0;background:var(--cream)}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:48.5%;float:left}
.woocommerce form .form-row-last{float:right}
.woocommerce form .form-row-wide{clear:both;width:100%}
.digital-note{display:flex;gap:12px;align-items:flex-start;background:rgba(30,92,58,.06);border:1px solid rgba(30,92,58,.15);padding:14px 16px;margin:4px 0 26px}
.digital-note .dn-ico{color:var(--green);font-size:17px;line-height:1.4;flex-shrink:0}
.digital-note p{font-size:12.5px;color:var(--warm);line-height:1.65;letter-spacing:.02em;margin:0}
/* review table */
table.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:12px 0;border-bottom:1px solid var(--linen2);font-size:14.5px;color:var(--warm);text-align:left;font-weight:400;letter-spacing:.02em;vertical-align:top}
.woocommerce-checkout-review-order-table td{text-align:right}
.woocommerce-checkout-review-order-table .product-name{font-family:'Cormorant Garamond',serif;font-size:17px;color:var(--onyx);text-align:left;line-height:1.4}
.woocommerce-checkout-review-order-table .product-quantity{color:var(--taupe);font-family:'Didact Gothic',sans-serif;font-size:12px}
.woocommerce-checkout-review-order-table .product-total,.woocommerce-checkout-review-order-table .cart-subtotal td,.woocommerce-checkout-review-order-table .tax-total td{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--onyx)}
.woocommerce-checkout-review-order-table .order-total th{color:var(--onyx);font-size:13px;letter-spacing:.16em;text-transform:uppercase;border-bottom:none;padding-top:18px}
.woocommerce-checkout-review-order-table .order-total td{font-family:'Cormorant Garamond',serif;font-size:28px;color:var(--onyx);border-bottom:none;padding-top:14px}
/* payment */
#payment{background:transparent;border-radius:0;margin-top:16px}
#payment ul.payment_methods{list-style:none;border:1px solid var(--linen3);padding:0;margin:0 0 18px;background:var(--cream)}
#payment ul.payment_methods li{border-bottom:1px solid var(--linen2);padding:0;margin:0;line-height:1.5}
#payment ul.payment_methods li:last-child{border-bottom:none}
#payment ul.payment_methods li>label{display:inline-block;padding:14px 16px 14px 6px;font-size:13px;letter-spacing:.04em;color:var(--onyx);cursor:pointer}
#payment ul.payment_methods li input[type="radio"]{margin-left:14px;accent-color:var(--claret)}
#payment div.payment_box{background:var(--linen2);border-radius:0;margin:0;padding:14px 16px;font-size:12.5px;color:var(--warm);line-height:1.6}
#payment div.payment_box::before{display:none}
#payment .place-order{padding:0;margin-top:18px}
#place_order{font-family:'Didact Gothic',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:17px 36px;background:var(--gold);color:var(--onyx);border:1px solid var(--gold);cursor:pointer;transition:all .3s;width:100%;float:none}
#place_order:hover{background:var(--onyx);border-color:var(--onyx);color:var(--cream)}
.woocommerce-terms-and-conditions-wrapper{font-size:12.5px;color:var(--taupe);line-height:1.6;margin:14px 0 0}
.woocommerce-terms-and-conditions-wrapper a{color:var(--claret)}
.woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-form-login-toggle .woocommerce-info{margin-bottom:18px}
/* checkout page coupon/login forms */
form.checkout_coupon,form.woocommerce-form-login{border:1px solid var(--linen3);padding:22px;margin-bottom:26px;border-radius:0}

/* ══ ORDER RECEIVED / DOWNLOADS ═══════════════════════ */
.thankyou-head{text-align:center;padding:60px 24px 36px;max-width:680px;margin:0 auto}
.ty-check{width:62px;height:62px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:var(--gold4);font-size:26px}
.thankyou-head .sec-label{justify-content:center}
.thankyou-head h1{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(32px,4vw,50px);line-height:1.08;color:var(--onyx);margin-bottom:14px}
.thankyou-head h1 em{font-style:italic;color:var(--claret)}
.thankyou-head p{font-size:15px;color:var(--taupe);line-height:1.9}
.order-meta-bar{display:flex;justify-content:center;flex-wrap:wrap;border:1px solid var(--linen3);max-width:760px;margin:0 auto 44px}
.order-meta-bar .omb{padding:16px 28px;border-right:1px solid var(--linen2);text-align:center}
.order-meta-bar .omb:last-child{border-right:none}
.order-meta-bar .ok{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--taupe);margin-bottom:5px}
.order-meta-bar .ov{font-family:'Cormorant Garamond',serif;font-size:18.5px;color:var(--onyx)}
.downloads-wrap{max-width:760px;margin:0 auto;padding:0 24px}
.download-row{display:flex;align-items:center;gap:20px;background:var(--cream);border:1px solid var(--linen3);border-left:3px solid var(--gold);padding:22px 24px;margin-bottom:12px;flex-wrap:wrap}
.download-row .dr-info{flex:1;min-width:220px}
.download-row .dr-cat{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);margin-bottom:6px}
.download-row .dr-name{font-family:'Cormorant Garamond',serif;font-size:21px;color:var(--onyx);line-height:1.25;margin-bottom:5px}
.download-row .dr-meta{font-size:12px;color:var(--stone);letter-spacing:.03em}
.order-details-table{max-width:760px;margin:0 auto 40px;padding:0 24px}
.order-details-table table{width:100%;border-collapse:collapse;border:1px solid var(--linen3)}
.order-details-table th,.order-details-table td{padding:12px 16px;font-size:14px;text-align:left;border-bottom:1px solid var(--linen2);color:var(--warm);font-weight:400}
.order-details-table tfoot th{color:var(--taupe);text-transform:uppercase;letter-spacing:.14em;font-size:10.5px}

/* ══ REPORT FEATURE STRIP (home) ══════════════════════ */
.report-strip{background:var(--claret2);display:grid;grid-template-columns:1fr 1fr;min-height:480px}
.rs-left{padding:72px 64px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;border-right:1px solid rgba(29,107,74,.12);background:var(--claret2)}
.rs-left::before{content:'THE CLOSED ROOM';position:absolute;right:-40px;top:50%;transform:translateY(-50%);font-family:'Cormorant Garamond',serif;font-size:120px;font-weight:300;color:rgba(232,213,160,.09);letter-spacing:-.04em;line-height:1;white-space:nowrap;pointer-events:none}
.rs-tag{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);position:relative;z-index:1}
.rs-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,5vw,72px);font-weight:300;color:var(--cream);line-height:1;position:relative;z-index:1;letter-spacing:-.02em}
.rs-title em{font-style:italic;color:var(--gold2)}
.rs-bottom{position:relative;z-index:1}
.rs-price{font-family:'Cormorant Garamond',serif;font-size:44px;font-weight:300;color:var(--gold);line-height:1;margin-bottom:20px}
.rs-price sup{font-size:20px;vertical-align:super}
.rs-right{padding:72px 56px;display:flex;flex-direction:column;justify-content:center;background:rgba(255,255,255,.02)}
.rs-includes-label{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.rs-list{list-style:none;display:flex;flex-direction:column;gap:13px;margin-bottom:36px}
.rs-list li{font-size:14.5px;color:rgba(250,247,242,.65);display:flex;gap:12px;line-height:1.55;letter-spacing:.02em}
.rs-list li::before{content:'—';color:var(--gold);flex-shrink:0}
.rs-desc{font-size:15.5px;color:rgba(250,247,242,.55);line-height:1.85;margin-bottom:32px;letter-spacing:.02em}

/* ══ BRIEFS (home) ════════════════════════════════════ */
.briefs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--linen2)}
.brief-card{background:var(--cream);padding:26px 22px;cursor:pointer;border-top:2px solid transparent;transition:all .3s;text-decoration:none;display:block}
.brief-card.has-cover{padding:0;display:flex;flex-direction:column}
.brief-card.has-cover .brief-cover{aspect-ratio:16/10;overflow:hidden}
.brief-card.has-cover .brief-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;display:block}
.brief-card.has-cover:hover .brief-cover img{transform:scale(1.04)}
.brief-card.has-cover .brief-issue{padding:20px 22px 0}
.brief-card.has-cover .brief-title,.brief-card.has-cover .brief-excerpt{padding-left:22px;padding-right:22px}
.brief-card.has-cover .brief-foot{padding:0 22px 22px;margin-top:auto}
.brief-card:hover{border-top-color:var(--claret)}
.brief-issue{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--stone);margin-bottom:9px}
.brief-title{font-family:'Cormorant Garamond',serif;font-size:18.5px;color:var(--onyx);line-height:1.3;margin-bottom:8px}
.brief-excerpt{font-size:13px;color:var(--taupe);line-height:1.65;margin-bottom:14px}
.brief-foot{display:flex;align-items:center;justify-content:space-between}
.brief-date{font-size:12px;color:var(--stone);letter-spacing:.05em}

/* ══ MASTERCLASS (home) ═══════════════════════════════ */
.mc-section{background:var(--linen);padding:96px 72px}
.mc-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.mc-desc{font-size:15px;color:var(--taupe);line-height:1.88;margin-bottom:28px;letter-spacing:.02em}
.mc-price-row{display:flex;align-items:baseline;gap:16px;margin-bottom:28px}
.mc-price{font-family:'Cormorant Garamond',serif;font-size:44px;font-weight:300;color:var(--onyx);line-height:1}
.mc-price sup{font-size:20px;vertical-align:super}
.mc-price-note{font-size:13px;color:var(--taupe);line-height:1.6}
.mc-feats{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:32px}
.mc-feats li{font-size:14.5px;color:var(--warm);display:flex;gap:11px;align-items:flex-start;letter-spacing:.02em;line-height:1.55}
.mc-feats li::before{content:'—';color:var(--gold);flex-shrink:0}
.mc-modules-box{background:var(--cream);border:1px solid var(--linen3);padding:32px;border-top:3px solid var(--claret)}
.mc-mod-header{font-size:10.5px;letter-spacing:.25em;text-transform:uppercase;color:var(--taupe);margin-bottom:20px}
.mc-mod{padding:14px 0;border-bottom:1px solid var(--linen2);display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:center}
.mc-mod:last-child{border-bottom:none;padding-bottom:0}
.mc-mod-n{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--linen3);font-weight:300}
.mc-mod-title{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--onyx)}
.mc-mod-dur{font-size:12px;color:var(--stone);letter-spacing:.08em;white-space:nowrap}
.mc-note{margin-top:18px;padding-top:14px;border-top:1px solid var(--linen2);font-size:12.5px;color:var(--taupe);line-height:1.6}
.mc-note a{color:var(--claret)}

/* ══ VIDEOS (home) ════════════════════════════════════ */
.video-grid{display:grid;grid-template-columns:5fr 3fr;gap:1px;background:var(--linen2)}
.video-main{background:var(--cream);cursor:pointer;overflow:hidden;text-decoration:none;display:block}
.video-thumb{position:relative;overflow:hidden}
.video-thumb-inner{aspect-ratio:16/9;position:relative;overflow:hidden}
.video-thumb-inner img,.video-thumb-inner .ph-cover{width:100%;height:100%;object-fit:cover;display:block}
.ph-cover{display:flex;align-items:center;justify-content:center;position:relative}
.play-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:3}
.play-btn{width:60px;height:60px;background:rgba(250,247,242,.92);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .3s,background .3s;border:none;cursor:pointer}
.video-main:hover .play-btn{transform:scale(1.08);background:var(--gold)}
.play-btn::after{content:'';border:0 solid transparent;border-top:11px solid transparent;border-bottom:11px solid transparent;border-left:17px solid var(--onyx);margin-left:4px}
.vid-duration{position:absolute;bottom:10px;right:12px;background:rgba(13,13,13,.75);font-size:12px;color:rgba(250,247,242,.85);padding:3px 8px;letter-spacing:.05em;z-index:2}
.video-body{padding:24px 26px}
.video-tag{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold4);margin-bottom:9px}
.video-title{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--onyx);line-height:1.25;margin-bottom:9px}
.video-excerpt{font-size:14px;color:var(--taupe);line-height:1.7}
.vid-meta-row{display:flex;align-items:center;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--linen2)}
.vid-meta{font-size:12px;color:var(--stone);letter-spacing:.05em}
.video-sidebar{background:var(--cream);display:flex;flex-direction:column}
.vsi{display:flex;gap:14px;align-items:flex-start;padding:18px;border-bottom:1px solid var(--linen2);cursor:pointer;transition:background .25s;text-decoration:none}
.vsi:hover{background:var(--linen)}
.vsi-thumb{width:96px;aspect-ratio:16/9;flex-shrink:0;overflow:hidden;position:relative}
.vsi-thumb .ph-cover{height:100%}
.vsi-play-sm{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.vsi-play-sm-btn{width:26px;height:26px;background:rgba(250,247,242,.88);border-radius:50%;display:flex;align-items:center;justify-content:center}
.vsi-play-sm-btn::after{content:'';border:0 solid transparent;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid var(--onyx);margin-left:2px}
.vsi-body{flex:1;min-width:0}
.vsi-title{font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--onyx);line-height:1.3;margin-bottom:4px}
.vsi-meta{font-size:12px;color:var(--stone)}
.vsi-premium{background:var(--linen);border-bottom:none;border-top:2px solid var(--gold)}
.yt-sub-box{margin-top:auto}
.yt-sub-box{background:var(--claret2);padding:20px 18px}
.yt-sub-label{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.yt-sub-text{font-size:13px;color:rgba(250,247,242,.6);line-height:1.6;margin-bottom:12px;letter-spacing:.02em}

/* ══ NEWSLETTER ═══════════════════════════════════════ */
.nl-section{background:var(--linen);border-top:1px solid var(--linen3);border-bottom:1px solid var(--linen3);padding:96px 72px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.nl-left .sec-title{margin-bottom:16px}
.nl-pitch{font-size:15px;color:var(--taupe);line-height:1.88;max-width:400px;margin-bottom:32px;letter-spacing:.02em}
.nl-perks{display:flex;flex-direction:column;gap:18px}
.nl-perk{display:flex;gap:14px;align-items:flex-start}
.nl-icon{width:34px;height:34px;border:1px solid var(--linen3);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:17.5px;color:var(--gold4);flex-shrink:0}
.nl-perk-title{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--onyx);margin-bottom:2px}
.nl-perk-desc{font-size:13px;color:var(--taupe);line-height:1.6;letter-spacing:.02em}
.nl-form-box{background:var(--cream);border:1px solid var(--linen3);padding:36px;border-top:3px solid var(--claret)}
.nl-form-title{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--onyx);margin-bottom:5px}
.nl-form-sub{font-size:13px;color:var(--taupe);margin-bottom:22px;letter-spacing:.02em}
.nl-input{width:100%;background:var(--cream);border:1px solid var(--linen3);padding:13px 15px;color:var(--onyx);font-family:'Didact Gothic',sans-serif;font-size:14.5px;margin-bottom:10px;outline:none;transition:border-color .3s}
.nl-input:focus{border-color:var(--onyx)}
.nl-input::placeholder{color:var(--stone)}
.nl-submit{width:100%;background:var(--onyx);color:var(--cream);border:none;padding:15px;font-family:'Didact Gothic',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:background .3s}
.nl-submit:hover{background:var(--gold4)}
.nl-privacy{font-size:11px;color:var(--stone);margin-top:10px;text-align:center;letter-spacing:.04em}
.nl-embed iframe{width:100%;min-height:320px;border:none;background:transparent}

/* ══ MEMBERSHIP (home) ════════════════════════════════ */
.mem-section{padding:96px 72px;background:var(--cream)}
.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linen2)}
.tier{background:var(--cream);padding:44px 32px;position:relative;transition:transform .4s}
.tier:hover:not(.tier-feat){transform:translateY(-4px)}
.tier-feat{background:var(--onyx);transform:translateY(-8px)}
.t-badge{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold4);margin-bottom:16px}
.tier-feat .t-badge{color:var(--gold)}
.t-name{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;color:var(--onyx);line-height:1;margin-bottom:6px}
.tier-feat .t-name{color:var(--cream)}
.t-price{font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:300;color:var(--onyx);line-height:1;margin-bottom:26px}
.tier-feat .t-price{color:var(--gold)}
.t-price sup{font-size:18.5px;vertical-align:super}
.t-feats{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:34px}
.t-feats li{font-size:14px;color:var(--taupe);display:flex;gap:10px;align-items:flex-start;letter-spacing:.025em;line-height:1.5}
.t-feats li::before{content:'—';color:var(--gold);flex-shrink:0}
.tier-feat .t-feats li{color:rgba(250,247,242,.65)}
.t-cta{display:block;text-align:center;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:13px;border:1px solid var(--linen3);color:var(--onyx);text-decoration:none;transition:all .3s;cursor:pointer;background:none;width:100%;font-family:'Didact Gothic',sans-serif}
.tier:not(.tier-feat) .t-cta:hover{background:var(--onyx);border-color:var(--onyx);color:var(--cream)}
.tier-feat .t-cta{border-color:rgba(201,168,76,.3);color:var(--gold)}
.tier-feat .t-cta:hover{background:var(--gold);color:var(--onyx);border-color:var(--gold)}
.founding-bar{background:var(--linen);padding:32px;border:1px solid var(--linen3);border-top:3px solid var(--gold);margin-top:1px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.founding-text-label{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--claret);margin-bottom:6px}
.founding-text-main{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--onyx)}

/* ══ TESTIMONIAL / ABOUT (home) ═══════════════════════ */
.test-section{background:var(--claret2);padding:80px 72px;text-align:center}
.test-quote{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,3vw,38px);font-weight:300;font-style:italic;color:var(--cream);line-height:1.4;max-width:800px;margin:0 auto 32px;letter-spacing:-.01em}
.test-line{width:36px;height:1px;background:var(--gold);margin:0 auto 14px}
.test-name{font-family:'Cormorant Garamond',serif;font-size:17.5px;color:var(--cream);font-weight:400;letter-spacing:.08em}
.test-title{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);margin-top:4px}
.about-strip{background:var(--linen);border-top:1px solid var(--linen3);padding:64px 72px}
.about-grid{display:grid;grid-template-columns:100px 1fr;gap:48px;align-items:center;max-width:960px}
.about-monogram{width:100px;height:100px;border:1px solid var(--linen3);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.about-monogram-text{font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:300;color:var(--gold4);letter-spacing:-.03em}
.about-label{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--claret);margin-bottom:8px}
.about-name{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--onyx);margin-bottom:10px}
.about-text{font-size:14px;color:var(--taupe);line-height:1.82;letter-spacing:.02em;max-width:640px}

/* ══ FOOTER ═══════════════════════════════════════════ */
footer.tm-footer{background:var(--charcoal);padding:64px 72px 36px}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:52px;margin-bottom:48px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.05)}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--cream)}
.footer-logo span{color:var(--gold)}
.footer-tagline{font-size:14px;color:var(--stone);line-height:1.8;margin-top:14px;letter-spacing:.02em;max-width:260px}
.footer-col-title{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:11px}
.footer-links a{font-size:13px;color:var(--stone);text-decoration:none;letter-spacing:.03em;transition:color .3s}
.footer-links a:hover{color:var(--gold)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.footer-copy{font-size:12px;color:rgba(190,181,168,.35);letter-spacing:.1em}
.footer-social{display:flex;gap:22px}
.footer-social a{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);text-decoration:none;transition:color .3s}
.footer-social a:hover{color:var(--gold)}

/* ══ WOO NOTICES / GENERIC ════════════════════════════ */
.woocommerce-notices-wrapper{padding:0 72px}
.woocommerce-message,.woocommerce-info,.woocommerce-error li,.woocommerce-error{background:var(--linen);border:1px solid var(--linen3);border-left:3px solid var(--gold);padding:14px 18px;font-size:14px;color:var(--warm);letter-spacing:.02em;margin:14px 0;list-style:none;line-height:1.6}
.woocommerce-error{border-left-color:var(--claret)}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-message a.button,.woocommerce-info a.button,.woocommerce-error a.button{float:right;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--claret);background:none;border:none;padding:0;text-decoration:none}
.tm-page-content{padding:30px 72px 64px;max-width:880px}
.tm-page-content p{font-size:15.5px;line-height:1.95;color:var(--warm);margin-bottom:16px;letter-spacing:.02em}
.tm-page-content h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:24px;margin:28px 0 12px}
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}
/* generic account tables kept readable */
.woocommerce table.shop_table{border:1px solid var(--linen3);border-collapse:collapse;width:100%}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:12px 16px;font-size:14px;border-bottom:1px solid var(--linen2);text-align:left}

/* ══ ANIMATIONS ═══════════════════════════════════════ */
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scaleIn{from{transform:scale(1.07)}to{transform:scale(1)}}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .85s ease,transform .85s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}

/* ══ RESPONSIVE ═══════════════════════════════════════ */
@media(max-width:1200px){
  nav.tm-nav{padding:14px 30px}
  nav.tm-nav:not(.solid):not(.scrolled) .nav-logo{color:var(--cream)}
  nav.tm-nav.scrolled,nav.tm-nav.solid{padding:12px 30px}
  
  .hero{grid-template-columns:1fr}
  .hero-right{height:56vh;order:-1}
  .hero-left{padding:100px 40px 72px}
  .sec,.sec-sm,.mc-section,.mem-section,.nl-section,.test-section{padding-left:40px;padding-right:40px}
  .sec{padding-top:72px;padding-bottom:72px}
  .page-head,.breadcrumb,.woocommerce-breadcrumb,.single-product-main,.product-tabs-wrap,.cart-layout,.tm-checkout-shell,.related.products,.up-sells.products,.woocommerce-notices-wrapper,.tm-page-content{padding-left:40px;padding-right:40px}
  ul.products{grid-template-columns:repeat(2,1fr)}
  ul.products li.product.tm-featured{grid-column:span 2}
  .single-product-main{grid-template-columns:1fr;gap:38px}
  .product-gallery{position:static}
  .cart-layout{grid-template-columns:1fr;gap:36px}
  .totals-box{position:static}
  form.woocommerce-checkout{grid-template-columns:1fr}
  form.woocommerce-checkout #customer_details,form.woocommerce-checkout #order_review_heading,form.woocommerce-checkout #order_review{grid-column:1}
  form.woocommerce-checkout #order_review{position:static}
  .mc-grid{grid-template-columns:1fr;gap:40px}
  .video-grid{grid-template-columns:1fr}
  .nl-section{grid-template-columns:1fr;gap:40px}
  .tier-grid{grid-template-columns:1fr}
  .tier-feat{transform:none}
  .briefs-grid{grid-template-columns:repeat(2,1fr)}
  .about-strip{padding:56px 40px}
  footer.tm-footer{padding:52px 40px 28px}
  .footer-top{grid-template-columns:1fr 1fr;gap:28px}
  .report-strip{grid-template-columns:1fr}
}
@media(max-width:640px){
  nav.tm-nav,nav.tm-nav.scrolled,nav.tm-nav.solid{padding:12px 18px}
  .sec,.sec-sm,.mc-section,.mem-section,.about-strip,.nl-section,.test-section{padding-left:22px;padding-right:22px;padding-top:52px;padding-bottom:52px}
  .page-head,.breadcrumb,.woocommerce-breadcrumb,.single-product-main,.product-tabs-wrap,.cart-layout,.tm-checkout-shell,.related.products,.up-sells.products,.woocommerce-notices-wrapper,.tm-page-content{padding-left:18px;padding-right:18px}
  ul.products,.briefs-grid{grid-template-columns:1fr}
  ul.products li.product.tm-featured{grid-column:span 1}
  footer.tm-footer{padding:44px 22px 24px}
  .footer-top{grid-template-columns:1fr}
  .rs-left,.rs-right{padding:44px 28px}
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}
  .cart-table thead{display:none}
  .cart-table .cart-item td{display:block;border:none;padding:6px 0}
  .cart-table .cart-item{display:block;border-bottom:1px solid var(--linen2);padding:18px 0}
  .cart-table td.col-price,.cart-table td.col-total,.cart-table td.col-qty{text-align:left}
}

/* ══ SINGLE DISPATCH ══════════════════════════════════ */
.tm-single{max-width:820px;margin:0 auto;padding:0 24px 80px}
.single-head{padding:30px 0 26px}
.single-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(32px,4vw,52px);line-height:1.08;letter-spacing:-.015em;color:var(--onyx);margin:14px 0 12px}
.single-meta{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone)}
.single-cover{aspect-ratio:16/9;overflow:hidden;border:1px solid var(--linen3);margin-bottom:38px}
.single-cover img{width:100%;height:100%;object-fit:cover;display:block}
.single-body{font-size:16px;line-height:1.95;color:var(--warm);letter-spacing:.01em}
.single-body p{margin-bottom:20px}
.single-body h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:28px;color:var(--onyx);margin:34px 0 14px}
.single-foot{margin-top:44px;padding-top:24px;border-top:1px solid var(--linen3)}

/* ══ EXTERNAL PUBLICATIONS ════════════════════════════ */
.loop-cta-external::after{content:'↗'}
.price .tm-external{font-family:'Didact Gothic',sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe)}

/* ══ ABOUT — MAIN SITE LINK ═══════════════════════════ */
.about-site-link{display:inline-flex;align-items:center;gap:10px;margin-top:24px;font-family:'Didact Gothic',sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--claret);text-decoration:none;border:1px solid var(--claret);padding:13px 24px;transition:all .3s}
.about-site-link::after{content:'\2192';transition:transform .3s}
.about-site-link:hover{background:var(--claret);color:var(--cream)}
.about-site-link:hover::after{transform:translateX(4px)}

/* ══ EVENTS ═══════════════════════════════════════════ */
.event-card .brief-foot .badge{margin-right:auto}
.tm-event-single .single-cover{aspect-ratio:21/9}
/* Gutenberg gallery inside event/dispatch content */
.single-body .wp-block-gallery{gap:10px;margin:26px 0}
.single-body .wp-block-image img,.single-body .wp-block-gallery img{border:1px solid var(--linen3)}
.single-body figcaption{font-size:11px;letter-spacing:.06em;color:var(--stone);text-align:center;margin-top:6px}


/* DESIGN POLISH PASS v2 */
.hero-left{justify-content:center}
.hero-right{position:relative}
.hero-stats{left:0;right:0;top:auto;bottom:0;transform:none;flex-direction:row;gap:1px}
.hstat{flex:1;background:rgba(13,13,13,.6);backdrop-filter:blur(10px);border-left:none;border-top:2px solid var(--gold);text-align:center;padding:18px 14px}
.hero-ph-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;z-index:3}
.hero-ph-mark{font-family:'Cormorant Garamond',serif;font-size:88px;line-height:1;color:var(--gold);width:148px;height:148px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(201,168,76,.38)}
.hero-ph-cap{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:rgba(245,240,232,.72)}
.hero-ctas{align-items:center}
.hero-ctas .btn-secondary{opacity:.92}
.briefs-grid:has(> .brief-card:last-child:nth-child(1)){grid-template-columns:minmax(0,1fr)}
.briefs-grid:has(> .brief-card:last-child:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}
.briefs-grid:has(> .brief-card:last-child:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
.briefs-grid:has(> .brief-card:last-child:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
.briefs-grid > .brief-card[style*='cursor:default']:only-child{grid-column:1/-1;align-items:center;text-align:center;padding:56px 40px}
section.sec{padding-top:92px;padding-bottom:92px}

/* ══ PUBLICATIONS ══════════════════════════════════════════ */
.badge-ext{background:rgba(29,107,74,.1);color:var(--claret)}
.tm-external-label{color:var(--claret);font-size:12px;letter-spacing:.04em}
.loop-cta-external::after{content:'\2197'}

/* Homepage: cover story + list */
.library-split{display:grid;grid-template-columns:1.15fr .85fr;gap:1px;background:var(--linen2);border:1px solid var(--linen2)}
.lib-cover{display:flex;flex-direction:column;background:var(--cream);text-decoration:none;transition:transform .4s ease}
.lib-cover:hover{transform:translateY(-2px)}
.lib-cover-media{position:relative;aspect-ratio:16/10;overflow:hidden}
.lib-cover-media img{width:100%;height:100%;object-fit:cover;display:block}
.lib-cover-body{padding:34px 40px 40px;display:flex;flex-direction:column;gap:14px;flex:1}
.lib-cover-title{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,2.6vw,38px);font-weight:300;line-height:1.12;color:var(--onyx)}
.lib-cover-ex{color:var(--taupe);font-size:15px;line-height:1.7}
.lib-cover-foot{margin-top:auto;padding-top:18px;border-top:1px solid var(--linen3);display:flex;align-items:center;justify-content:space-between}
.lib-cover-foot .price{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--onyx)}
.lib-list{list-style:none;margin:0;padding:0;background:var(--cream);display:flex;flex-direction:column}
.lib-row{border-bottom:1px solid var(--linen2)}
.lib-row:last-child{border-bottom:none}
.lib-row-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 34px;text-decoration:none;transition:background .3s,padding-left .3s}
.lib-row-link:hover{background:var(--linen);padding-left:40px}
.lib-row-main{display:flex;flex-direction:column;gap:5px;min-width:0}
.lib-row-kicker{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold4)}
.lib-row-title{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;color:var(--onyx);line-height:1.25}
.lib-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;white-space:nowrap;text-align:right}
.lib-row-meta .price{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--onyx)}
.lib-row-cta{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--claret);display:inline-flex;align-items:center;gap:5px}
.lib-row-cta::after{content:'\2192';transition:transform .3s}
.lib-row-link:hover .lib-row-cta::after{transform:translateX(3px)}
.library-empty{text-align:center;padding:72px 40px;background:var(--cream);border:1px solid var(--linen2)}
.library-empty h3{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:300;color:var(--onyx);margin:10px 0 12px}
.library-empty p{color:var(--taupe);margin-bottom:24px}

/* Archive: cover + filters + grid */
.pub-cover{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:8px 0 40px;background:var(--claret2);text-decoration:none;overflow:hidden}
.pub-cover-media{position:relative;min-height:340px;overflow:hidden}
.pub-cover-media img{width:100%;height:100%;object-fit:cover;display:block}
.pub-cover-body{padding:48px 56px;display:flex;flex-direction:column;justify-content:center;gap:16px}
.pub-cover-body .sec-label{color:var(--gold2)}
.pub-cover-title{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3vw,46px);font-weight:300;line-height:1.1;color:var(--cream)}
.pub-cover-ex{color:rgba(245,240,232,.75);font-size:15px;line-height:1.7}
.pub-cover-foot{margin-top:12px;display:flex;align-items:center;gap:24px}
.pub-cover-foot .price{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--gold2)}
.pub-cover-foot .loop-cta{color:var(--cream)}
.pub-filters{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;padding:24px 0;border-top:1px solid var(--linen3);border-bottom:1px solid var(--linen3);margin-bottom:36px}
.pub-search{flex:1;min-width:220px;font-family:'Didact Gothic',sans-serif;font-size:14px;padding:12px 16px;border:1px solid var(--linen3);background:var(--cream);color:var(--onyx)}
.pub-chips{display:flex;gap:8px;flex-wrap:wrap}
.pub-chip{font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:9px 16px;border:1px solid var(--linen3);color:var(--taupe);text-decoration:none;transition:all .25s}
.pub-chip:hover{border-color:var(--claret);color:var(--claret)}
.pub-chip.is-active{background:var(--onyx);border-color:var(--onyx);color:var(--cream)}
.pub-topic{font-family:'Didact Gothic',sans-serif;font-size:13px;padding:11px 14px;border:1px solid var(--linen3);background:var(--cream);color:var(--onyx)}
ul.products.pub-grid{grid-template-columns:repeat(3,1fr)}
.pub-pagination{margin-top:44px}
.pub-pagination ul{list-style:none;display:flex;gap:6px;justify-content:center;padding:0}
.pub-pagination a,.pub-pagination span{display:inline-flex;min-width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--linen3);color:var(--onyx);text-decoration:none;font-size:13px}
.pub-pagination .current{background:var(--onyx);color:var(--cream);border-color:var(--onyx)}

/* Single publication: content + buy rail */
.pub-layout{display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start}
.pub-aside{position:sticky;top:110px}
.pub-buy{background:var(--cream);border:1px solid var(--linen3);padding:32px}
.pub-price{font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:300;color:var(--onyx);line-height:1;margin-bottom:6px}
.pub-price .tm-free{font-size:34px}
.pub-release{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold4);margin-bottom:14px}
.pub-note{font-size:13px;color:var(--taupe);line-height:1.6;margin:12px 0 20px}
.pub-buy .btn-primary{width:100%}

/* Email-gate / notify modal */
.tm-modal-overlay{position:fixed;inset:0;z-index:10000;background:rgba(13,13,13,.72);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;cursor:auto}
.tm-modal{position:relative;background:var(--cream);max-width:440px;width:100%;padding:44px 40px 40px;border-top:3px solid var(--gold)}
.tm-modal-x{position:absolute;top:14px;right:18px;background:none;border:none;font-size:26px;line-height:1;color:var(--taupe);cursor:pointer}
.tm-modal-kicker{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold4);margin-bottom:10px}
.tm-modal-title{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:300;color:var(--onyx);line-height:1.15;margin-bottom:10px}
.tm-modal-body{font-size:14px;color:var(--taupe);line-height:1.65;margin-bottom:22px}
.tm-modal-form{display:flex;flex-direction:column;gap:12px}
.tm-modal-email{font-family:'Didact Gothic',sans-serif;font-size:15px;padding:14px 16px;border:1px solid var(--linen3);background:#fff;color:var(--onyx)}
.tm-modal-form .btn-primary{width:100%}
.tm-modal-msg{margin-top:16px;font-size:13.5px;line-height:1.6;min-height:1em}
.tm-modal-msg.is-ok{color:var(--green)}
.tm-modal-msg.is-err{color:var(--claret3)}
.tm-modal-msg a{color:var(--claret);font-weight:600}

@media(max-width:900px){
	.library-split{grid-template-columns:1fr}
	.pub-cover{grid-template-columns:1fr}
	.pub-cover-media{min-height:220px}
	.pub-layout{grid-template-columns:1fr;gap:36px}
	.pub-aside{position:static}
	ul.products.pub-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
	ul.products.pub-grid{grid-template-columns:1fr}
	.lib-row-link{padding:18px 22px}
	.lib-cover-body{padding:26px 24px 30px}
}

/* PUBLICATIONS ARCHIVE POLISH */
.pub-cover{margin:8px 72px 40px}
.pub-filters,.pub-pagination{padding-left:72px;padding-right:72px}
ul.products.pub-grid{gap:28px;background:transparent;padding:0 72px;margin-top:0}
ul.products.pub-grid > li.product{border:1px solid var(--linen3);background:var(--cream)}
ul.products.pub-grid > li.product .product-thumb-inner{max-height:none}
.pub-empty-pad{padding-left:72px;padding-right:72px}
@media(max-width:900px){
	.pub-cover{margin-left:40px;margin-right:40px}
	.pub-filters,.pub-pagination{padding-left:40px;padding-right:40px}
	ul.products.pub-grid{padding-left:40px;padding-right:40px}
}
@media(max-width:600px){
	.pub-cover{margin-left:18px;margin-right:18px}
	.pub-filters,.pub-pagination{padding-left:18px;padding-right:18px}
	ul.products.pub-grid{padding-left:18px;padding-right:18px}
}

/* PUBLICATION SINGLE — premium product page */
.pub-shell{padding-top:40px}
.pub-crumb{padding:0 72px 26px}
.pub-hero{display:grid;grid-template-columns:1.05fr .95fr;background:var(--claret2);color:var(--cream);min-height:520px}
.pub-hero-media{position:relative;overflow:hidden;min-height:360px;display:flex;align-items:center;justify-content:center}
.pub-hero-media img{width:100%;height:100%;object-fit:cover;display:block}
.pub-hero-mark{font-family:'Cormorant Garamond',serif;font-size:130px;color:rgba(232,213,160,.16)}
.pub-hero-panel{padding:70px 72px;display:flex;flex-direction:column;justify-content:center;gap:20px}
.pub-hero-kicker{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold2);margin:0}
.pub-hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,3.1vw,50px);font-weight:300;line-height:1.1;letter-spacing:-.01em;color:var(--cream);margin:0}
.pub-hero-stand{font-size:16px;line-height:1.75;color:rgba(245,240,232,.82);max-width:48ch;margin:0}
.pub-hero-meta{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold2)}
.pub-hero-meta span{position:relative;padding-left:20px}
.pub-hero-meta span::before{content:'';position:absolute;left:0;top:50%;width:8px;height:1px;background:var(--gold);opacity:.6}
.pub-hero-buy{margin-top:10px;padding-top:26px;border-top:1px solid rgba(201,168,76,.28);display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.pub-hero-price{font-family:'Cormorant Garamond',serif;font-size:48px;line-height:1;color:var(--gold2)}
.pub-hero-price .tm-free{color:var(--gold2)}
.pub-hero-state{display:flex;flex-direction:column;gap:8px}
.pub-hero-release{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2)}
.pub-hero-cta{background:var(--gold);color:var(--onyx);border:1px solid var(--gold);font-family:'Didact Gothic',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:16px 36px;text-decoration:none;cursor:pointer;transition:background .3s,color .3s;display:inline-block;line-height:1.4}
.pub-hero-cta:hover{background:transparent;color:var(--gold2)}
.pub-hero-fine{font-size:12px;line-height:1.6;color:rgba(245,240,232,.55);margin:0}
.pub-body-wrap{max-width:1080px;margin:0 auto;padding:66px 40px 40px;display:grid;grid-template-columns:1fr 260px;gap:64px;align-items:start}
.pub-body-main .single-body{font-size:16.5px;line-height:1.9;color:var(--warm)}
.pub-body-main .single-body ul{margin:18px 0 22px;padding:0;list-style:none}
.pub-body-main .single-body li{position:relative;padding:9px 0 9px 26px;border-bottom:1px solid var(--linen2);font-size:15.5px;color:var(--warm)}
.pub-body-main .single-body li::before{content:'';position:absolute;left:0;top:18px;width:12px;height:1px;background:var(--gold4)}
.pub-facts{border:1px solid var(--linen3);background:var(--cream);padding:26px 24px;position:sticky;top:110px}
.pub-facts h4{font-family:'Didact Gothic',sans-serif;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold4);margin:0 0 14px}
.pub-fact{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--linen2)}
.pub-fact:last-child{border-bottom:none}
.pub-fact-k{color:var(--taupe);text-transform:uppercase;letter-spacing:.1em;font-size:10px}
.pub-fact-v{color:var(--onyx);text-align:right;font-size:13.5px}
.pub-single-foot{max-width:1080px;margin:0 auto;padding:8px 40px 84px}
@media(max-width:900px){
	.pub-crumb{padding:0 40px 18px}
	.pub-hero{grid-template-columns:1fr}
	.pub-hero-media{min-height:240px;order:-1}
	.pub-hero-panel{padding:44px 40px}
	.pub-body-wrap{grid-template-columns:1fr;gap:36px;padding:44px 40px}
	.pub-facts{position:static}
	.pub-single-foot{padding:8px 40px 60px}
}
@media(max-width:600px){
	.pub-crumb{padding:0 18px 16px}
	.pub-hero-panel{padding:34px 22px}
	.pub-body-wrap{padding:34px 22px}
}

/* LIBRARY SPLIT REBALANCE */
.library-split{grid-template-columns:0.9fr 1.1fr;align-items:stretch}
.lib-list{height:100%}
.lib-row{flex:1;display:flex}
.lib-row-link{align-items:stretch;justify-content:flex-start;gap:0;padding:0;width:100%;height:100%}
.lib-row-link:hover{background:transparent;padding-left:0}
.lib-row-thumb{flex:0 0 132px;overflow:hidden;background:var(--linen2);display:block}
.lib-row-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.lib-row-link:hover .lib-row-thumb img{transform:scale(1.05)}
.lib-row-text{flex:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 30px;min-width:0;transition:background .3s,padding-left .3s}
.lib-row-link:hover .lib-row-text{background:var(--linen);padding-left:36px}
.lib-row-main{min-width:0}
@media(max-width:900px){.lib-row-thumb{flex-basis:112px}}
@media(max-width:600px){.lib-row-thumb{flex-basis:92px}.lib-row-text{padding:14px 18px}}

/* ══ NAV DRAWER + RESPONSIVE + DISPATCHES ══════════════════ */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:30px;height:30px;background:none;border:none;cursor:pointer;padding:0;z-index:210}
.nav-toggle span{display:block;height:1.5px;width:24px;background:var(--onyx);transition:transform .3s,opacity .3s;margin-left:auto}
nav.tm-nav:not(.solid):not(.scrolled) .nav-toggle span{background:var(--cream)}
.nav-drawer{display:contents}
.nav-backdrop{position:fixed;inset:0;background:rgba(13,13,13,.5);z-index:190}

@media(max-width:1200px){
	.nav-toggle{display:flex}
	.nav-drawer{display:flex;position:fixed;top:0;right:0;bottom:0;width:min(82vw,340px);background:var(--cream);flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:100px 34px 40px;transform:translateX(100%);transition:transform .4s cubic-bezier(.6,0,.2,1);z-index:200;box-shadow:-24px 0 70px rgba(13,13,13,.14);overflow-y:auto}
	nav.tm-nav.nav-open .nav-drawer{transform:translateX(0)}
	.nav-drawer .nav-links{display:flex;flex-direction:column;gap:0;width:100%}
	.nav-drawer .nav-links li{border-bottom:1px solid var(--linen2)}
	.nav-drawer .nav-links a{display:block;padding:18px 2px;font-size:13px;letter-spacing:.18em;color:var(--onyx)}
	.nav-drawer .nav-links a::after{display:none}
	.nav-drawer .nav-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:28px;width:100%}
	.nav-drawer .nav-cart{justify-content:center}
	.nav-drawer .nav-btn{text-align:center;padding:15px 22px}
	nav.tm-nav.nav-open .nav-toggle span{background:var(--onyx)}
	nav.tm-nav.nav-open .nav-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
	nav.tm-nav.nav-open .nav-toggle span:nth-child(2){opacity:0}
	nav.tm-nav.nav-open .nav-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
}

/* Stack 2-col surfaces earlier so tablets never cramp */
@media(max-width:980px){
	.library-split{grid-template-columns:1fr}
	.pub-cover{grid-template-columns:1fr}
	.pub-hero{grid-template-columns:1fr}
	.pub-hero-media{order:-1;min-height:240px}
	.pub-body-wrap{grid-template-columns:1fr;gap:36px}
	.pub-facts{position:static}
	.pub-layout{grid-template-columns:1fr}
	.dispatch-lead{grid-template-columns:1fr}
	.dispatch-lead-media{min-height:220px}
}
@media(max-width:680px){
	.sec-header{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:34px;padding-bottom:20px}
	.sec-title{font-size:clamp(30px,8vw,42px)}
}

/* Dispatches archive — featured lead */
.dispatch-index{display:block}
.dispatch-lead{display:grid;grid-template-columns:1.15fr .85fr;background:var(--cream);border:1px solid var(--linen2);text-decoration:none;margin-bottom:30px;overflow:hidden;transition:transform .4s ease}
.dispatch-lead:hover{transform:translateY(-2px)}
.dispatch-lead-media{position:relative;overflow:hidden;min-height:330px}
.dispatch-lead-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.dispatch-lead:hover .dispatch-lead-media img{transform:scale(1.04)}
.dispatch-lead-body{padding:46px 50px;display:flex;flex-direction:column;justify-content:center;gap:16px}
.dispatch-lead-title{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,2.6vw,38px);font-weight:300;line-height:1.14;color:var(--onyx)}
.dispatch-lead-ex{color:var(--taupe);font-size:15px;line-height:1.75}
.dispatch-lead-foot{margin-top:8px;display:flex;align-items:center;gap:22px}
.dispatch-lead-foot .brief-date{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone)}

/* Single dispatch — editorial article */
.dispatch-shell{padding-top:40px}
.dispatch-crumb{max-width:1080px;margin:0 auto;padding:0 40px 24px}
.dispatch-single{max-width:1080px;margin:0 auto;padding:0 40px}
.dispatch-single-head{max-width:760px;margin:0 auto;text-align:center;padding:8px 0 30px}
.dispatch-single-head .sec-label{justify-content:center}
.dispatch-single-title{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,3.6vw,52px);font-weight:300;line-height:1.1;letter-spacing:-.01em;color:var(--onyx);margin:14px 0 16px}
.dispatch-single-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone)}
.dispatch-single-meta span{position:relative;padding-left:24px}
.dispatch-single-meta span:first-child{padding-left:0}
.dispatch-single-meta span:not(:first-child)::before{content:'';position:absolute;left:0;top:50%;width:12px;height:1px;background:var(--linen3)}
.dispatch-cover{aspect-ratio:16/8;overflow:hidden;margin:12px 0 46px;border:1px solid var(--linen3)}
.dispatch-cover img{width:100%;height:100%;object-fit:cover;display:block}
.dispatch-body{max-width:720px;margin:0 auto;font-size:17px;line-height:1.95;color:var(--warm)}
.dispatch-body>p:first-of-type::first-letter{float:left;font-family:'Cormorant Garamond',serif;font-size:76px;line-height:.72;padding:8px 14px 0 0;color:var(--claret)}
.dispatch-body h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:30px;color:var(--onyx);margin:40px 0 14px}
.dispatch-body blockquote{border-left:2px solid var(--gold);margin:32px 0;padding:4px 0 4px 30px;font-family:'Cormorant Garamond',serif;font-size:25px;font-style:italic;color:var(--claret);line-height:1.4}
.dispatch-single-foot{max-width:720px;margin:52px auto 0;padding:26px 0 90px;border-top:1px solid var(--linen3)}
@media(max-width:980px){.dispatch-lead-body{padding:34px 30px}}
@media(max-width:640px){
	.dispatch-crumb{padding:0 20px 18px}
	.dispatch-single{padding:0 20px}
	.dispatch-single-foot,.dispatch-body{max-width:none}
	.dispatch-body{font-size:16px}
	.dispatch-body>p:first-of-type::first-letter{font-size:58px}
	.dispatch-cover{aspect-ratio:16/10;margin-bottom:32px}
}

/* ══ MOBILE OVERFLOW FIXES ══════════════════════════════ */
html{overflow-x:hidden}
/* Beat the :has() adaptive column rules on small screens */
@media(max-width:900px){
	.briefs-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:600px){
	.briefs-grid{grid-template-columns:1fr!important}
	/* Library list rows: stack title over price/CTA so nothing overflows */
	.lib-row-link{align-items:stretch}
	.lib-row-text{flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;padding:16px 18px}
	.lib-row-meta{flex-direction:row;align-items:center;gap:14px;text-align:left}
	.lib-row-thumb{flex-basis:104px}
	.about-grid{grid-template-columns:1fr;gap:22px}
}

/* ══ MOBILE HERO: text-first + stats strip, no portrait ══ */
@media(max-width:900px){
	.hero{display:flex;flex-direction:column;min-height:auto}
	.hero-left{order:0;justify-content:flex-start;padding:118px 24px 48px}
	.hero-ph,.hero-ph-inner,.hero-img{display:none!important}
	.hero-right{order:1;height:auto;min-height:0;background:var(--onyx);position:static;display:block;padding:0}
	.hero-right::after{display:none}
	.hero-stats{position:static;transform:none;left:auto;right:auto;top:auto;bottom:auto;flex-direction:row;gap:1px}
	.hstat{flex:1;padding:22px 10px}
	nav.tm-nav:not(.solid):not(.scrolled) .nav-logo{color:var(--onyx)}
	nav.tm-nav:not(.solid):not(.scrolled) .nav-toggle span{background:var(--onyx)}
}

/* ══ WP ADMIN BAR ALIGNMENT (logged-in editor only; visitors unaffected) ══ */
body.admin-bar .tm-nav,
body.admin-bar .nav-drawer,
body.admin-bar .nav-backdrop{top:32px}
@media screen and (max-width:782px){
	body.admin-bar #wpadminbar{position:fixed!important}
	body.admin-bar .tm-nav,
	body.admin-bar .nav-drawer,
	body.admin-bar .nav-backdrop{top:46px}
}

/* ══ MOBILE DRAWER FIX ══════════════════════════════════════
   Drop the nav's backdrop-filter at drawer widths. backdrop-filter
   makes the nav a containing block for position:fixed descendants,
   which trapped the mobile drawer inside the nav (~140px) instead of
   the viewport. Removing it lets the drawer cover the full screen. */
@media(max-width:1200px){
	nav.tm-nav,nav.tm-nav.solid,nav.tm-nav.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none}
}

