/*
Theme Name: Travelers Health + Wellness
Theme URI: https://travelershealthandwellness.com
Author: THW Group LLC
Description: Custom theme for Travelers Health + Wellness — a Seattle concierge wellness practice. Treatise-inspired design: parchment ground, ink and brass, Cormorant display type, and the THW arrow meridian as its signature divider.
Version: 1.0.2
License: Proprietary — THW Group LLC
Text Domain: thw
*/

/* ---------- Tokens ---------- */
:root{
  --ink:#191714;
  --parchment:#FBF9F4;
  --brass:#A8894F;
  --brass-deep:#8A6E3B;
  --stone:#6E6A64;
  --faint:#E6E0D3;
  --slate:#2C4A6E;
  --display:'Cormorant Garamond', Georgia, serif;
  --body:'Source Sans 3', 'Helvetica Neue', Arial, sans-serif;
  --measure:64ch;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--parchment);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--brass-deep);text-decoration:none}
a:hover{color:var(--ink)}
a:focus-visible,button:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

/* ---------- Utility type ---------- */
.eyebrow{font-family:var(--body);font-size:.72rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--brass-deep)}
.display{font-family:var(--display);font-weight:600;line-height:1.08;letter-spacing:.01em}
.lede{font-family:var(--display);font-size:1.35rem;font-style:italic;color:var(--stone);line-height:1.55}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,249,244,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--faint)}
.header-inner{max-width:1160px;margin:0 auto;padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{display:flex;align-items:center;gap:.8rem;color:var(--ink)}
.brand img,.brand .brand-logo{height:44px;width:auto}
.brand-word{font-family:var(--body);font-weight:600;font-size:.82rem;letter-spacing:.32em;text-transform:uppercase}
.brand-word span{display:block;font-weight:400;font-size:.6rem;letter-spacing:.3em;color:var(--stone)}
.site-nav ul{display:flex;gap:1.8rem;list-style:none}
.site-nav a{font-size:.8rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
.site-nav a:hover{color:var(--brass-deep)}
.nav-cta{border:1px solid var(--ink);padding:.5rem 1.1rem;transition:background .25s,color .25s}
.nav-cta:hover{background:var(--ink);color:var(--parchment)!important}
@media(max-width:760px){.site-nav ul{gap:1rem;flex-wrap:wrap;justify-content:flex-end}.brand-word{display:none}}

/* ---------- Meridian divider (signature) ---------- */
.meridian{display:flex;align-items:center;justify-content:center;padding:0 1.5rem;margin:0 auto;max-width:1160px}
.meridian svg{width:min(420px,70%);height:22px;color:var(--brass)}
.section .meridian{margin-bottom:3rem}

/* ---------- Hero ---------- */
.hero{max-width:1160px;margin:0 auto;padding:6.5rem 1.5rem 5rem;text-align:center}
.hero .eyebrow{margin-bottom:1.4rem}
.hero h1{font-size:clamp(2.6rem,6vw,4.6rem);max-width:18ch;margin:0 auto 1.6rem}
.hero .lede{max-width:52ch;margin:0 auto 2.6rem}
.hero-holding{font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;color:var(--stone);margin-bottom:.6rem}
.btn-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:.95rem 2rem;border:1px solid var(--ink);color:var(--ink);transition:background .25s,color .25s}
.btn:hover{background:var(--ink);color:var(--parchment)}
.btn-solid{background:var(--ink);color:var(--parchment)}
.btn-solid:hover{background:var(--brass-deep);border-color:var(--brass-deep);color:var(--parchment)}

/* page-load rise */
@media (prefers-reduced-motion:no-preference){
  .rise{opacity:0;transform:translateY(14px);animation:rise .8s ease forwards}
  .rise.d1{animation-delay:.12s}.rise.d2{animation-delay:.24s}.rise.d3{animation-delay:.38s}
  @keyframes rise{to{opacity:1;transform:none}}
  .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}
}

/* ---------- Sections ---------- */
.section{padding:5rem 1.5rem}
.section-inner{max-width:1160px;margin:0 auto}
.section-head{text-align:center;max-width:var(--measure);margin:0 auto 3.2rem}
.section-head h2{font-family:var(--display);font-weight:600;font-size:clamp(1.9rem,3.6vw,2.7rem);margin:.7rem 0 1rem}
.section-head p{color:var(--stone)}
.section-alt{background:#F4F0E6}
.section-ink{background:var(--ink);color:var(--parchment)}
.section-ink .section-head p{color:#BBB4A6}
.section-ink .eyebrow{color:var(--brass)}

/* Philosophy — treatise measure */
.doctrine{max-width:var(--measure);margin:0 auto;font-size:1.125rem}
.doctrine p{margin-bottom:1.4rem}
.doctrine p:first-of-type::first-letter{font-family:var(--display);font-size:3.4em;float:left;line-height:.82;padding-right:.12em;color:var(--brass-deep)}

/* Divisions grid */
.divisions{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:1.4rem}
.division{background:var(--parchment);border:1px solid var(--faint);padding:2.2rem 1.8rem;position:relative;transition:border-color .3s,transform .3s}
.division:hover{border-color:var(--brass);transform:translateY(-3px)}
.division .div-no{font-family:var(--display);font-style:italic;font-size:.95rem;color:var(--brass-deep);letter-spacing:.06em;display:block;margin-bottom:.7rem}
.division h3{font-family:var(--display);font-weight:600;font-size:1.45rem;margin-bottom:.7rem}
.division p{font-size:.95rem;color:var(--stone)}
.section-alt .division{background:var(--parchment)}

/* Standard — the compliance trust strip */
.standard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.2rem;text-align:center}
@media(max-width:1024px){.standard-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.standard-grid{grid-template-columns:1fr}}
.standard-item .oct{width:54px;height:54px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--brass);clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);color:var(--brass);font-family:var(--display);font-size:1.3rem}
.standard-item h3{font-size:.82rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.5rem}
.standard-item p{font-size:.9rem;color:#BBB4A6}

/* Commons — seeds */
.commons{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem}
.seed{border-top:2px solid var(--brass);padding:1.6rem 0 0}
.seed h3{font-family:var(--display);font-weight:600;font-size:1.3rem;margin-bottom:.5rem}
.seed p{font-size:.95rem;color:var(--stone)}
.seed .when{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-deep);display:block;margin-bottom:.6rem}

/* Contact */
.contact{max-width:680px;margin:0 auto;text-align:center}
.contact .btn-row{margin-top:2.2rem}
.contact-lines{margin-top:2.4rem;font-size:.9rem;color:var(--stone);letter-spacing:.06em}
.contact-lines a{color:var(--ink);border-bottom:1px solid var(--brass)}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:#9A9388;padding:3.4rem 1.5rem 2.4rem;text-align:center}
.site-footer .brand-word{color:var(--parchment);display:inline-block;margin-bottom:1rem}
.footer-meta{font-size:.78rem;letter-spacing:.12em;line-height:2}
.footer-meta a{color:#C6BFAF}
.footer-legal{margin-top:1.6rem;font-size:.7rem;letter-spacing:.14em;color:#6E675C}

/* ---------- Generic page & posts ---------- */
.page-body{max-width:var(--measure);margin:0 auto;padding:4.5rem 1.5rem}
.page-body h1{font-family:var(--display);font-weight:600;font-size:2.6rem;margin-bottom:1.6rem}
.page-body h2{font-family:var(--display);font-weight:600;font-size:1.8rem;margin:2.2rem 0 .8rem}
.page-body p,.page-body ul,.page-body ol{margin-bottom:1.2rem}
.page-body ul,.page-body ol{padding-left:1.4rem}
