/* ============================================================
   bold-2 — CANONICAL design system for willolovesyou.com redesign
   ------------------------------------------------------------
   TYPE:   Archivo only (variable wdth/wght; uppercase bold display).
           Metallic GOLD gradient (var below) for accent words/numerals.
           ❌ NO amtenar · NO script · NO serif (Fraunces) — anywhere.
   COLOR:  petrol/teal #124a55→#1f8f9c · coral #e8462a · gold gradient
           · cream #e8e4dc/#f2efe9 · warm ink #0a2b33.
   MOTIFS: photo-arch, double-ring, soft radial glow.
   RHYTHM: alternate teal / cream / (dark) / coral grounds.
   ALWAYS: text-wrap:balance on headings, text-wrap:pretty on body.
   PAGES:  preview-home-bold-2 + preview-{work-with-me,about,resources,blog-post}.
           Off-direction explorations live in /_explorations — DO NOT reference them.
   ============================================================ */
/* ===== bold-2 shared design system ===== */
:root{
  --bg:#e8e4dc; --bg2:#f2efe9; --cream:#f6f2ea;
  --ink:#0e4a53; --ink-soft:#787572;
  --coral:#e8462a; --coral-d:#c9381f; --teal:#1f8f9c; --petrol:#124a55;
  --pad:clamp(22px,5vw,60px);
  --gold:linear-gradient(178deg,#f9ecb4 0%,#e4c063 38%,#c39a3c 62%,#f0d891 80%,#b8862f 100%);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Archivo',system-ui,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.gold{background:var(--gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.display{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:115%;text-transform:uppercase;letter-spacing:-.02em;line-height:.98}
/* balanced & pretty type: headings balance (no orphaned words), body avoids single-word last lines */
h1,h2,h3,.display{text-wrap:balance}
/* h2 line-height baseline */
h2{line-height:1.15}
p,.lede,li,blockquote{text-wrap:pretty}
/* Article blockquote — cream panel, coral rule + quote mark, readable petrol text.
   :not() excludes third-party embed blockquotes (Instagram/Twitter) which carry their own styling. */
.article blockquote:not(.instagram-media):not(.twitter-tweet):not(.xquote):not(.bq-center){position:relative;margin:clamp(22px,3.2vw,34px) 0;padding:clamp(30px,4vw,44px) clamp(26px,4vw,46px) clamp(26px,3.5vw,38px);background:var(--bg2);border-left:5px solid var(--coral);border-radius:0 10px 10px 0;overflow:hidden;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.6;font-weight:500;color:var(--ink);text-wrap:pretty}
.article blockquote:not(.instagram-media):not(.twitter-tweet):not(.xquote):not(.bq-center)::before{content:"\201C";position:absolute;top:14px;right:20px;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(5rem,9vw,8.5rem);line-height:1;color:var(--coral);opacity:.1;pointer-events:none;transform:scaleX(-1)}
.article blockquote:not(.instagram-media):not(.twitter-tweet):not(.xquote):not(.bq-center)>*{position:relative}
.article blockquote:not(.instagram-media):not(.twitter-tweet):not(.xquote):not(.bq-center) p{font-size:inherit;line-height:inherit;font-weight:inherit;font-style:normal;color:inherit;margin:0 0 .8em;text-wrap:pretty}
.article blockquote:not(.instagram-media):not(.twitter-tweet):not(.xquote):not(.bq-center) p:last-child{margin-bottom:0}
.article blockquote cite,.article blockquote footer{display:block;text-align:right;margin-top:16px;font-family:'Archivo',sans-serif;font-weight:700;font-style:normal;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}
.article blockquote cite a,.article blockquote footer a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(232,70,42,.4)}
.article blockquote cite::before,.article blockquote footer::before{content:"\2014\00A0"}
/* Centered pull-quote variant (short, centered statements) */
.article blockquote.bq-center{position:relative;margin:clamp(38px,5.5vw,60px) auto;max-width:640px;padding:clamp(32px,4.5vw,46px) clamp(26px,4vw,44px);background:var(--bg2);border-radius:16px;text-align:left;font-size:clamp(1.16rem,2vw,1.42rem);line-height:1.5;font-weight:600;color:var(--petrol);text-wrap:pretty}
.article blockquote.bq-center::before{content:"\201C";display:block;font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(2.4rem,4.5vw,3.4rem);line-height:.5;color:var(--coral);margin-bottom:.16em}
.article blockquote.bq-center p{margin:0;font-size:inherit;line-height:inherit;color:inherit;font-weight:inherit;text-align:left}
/* Rebuilt X (tweet) quote card */
.article blockquote.xquote{background:#fff;border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:12px;padding:16px 20px;margin:24px 0;max-width:540px;font-size:1rem;line-height:1.5;font-weight:400;color:var(--ink);text-wrap:pretty}
.article blockquote.xquote::before{content:none}
.article blockquote.xquote p{margin:0 0 10px;font-size:1rem;line-height:1.5;color:var(--ink);font-weight:400}
.article blockquote.xquote img{border-radius:10px;margin:6px 0 12px;max-width:100%;display:block}
.article blockquote.xquote cite{display:block;text-align:left;font-style:normal;font-size:.82rem;font-weight:700;color:var(--ink-soft);letter-spacing:0;text-transform:none;margin-top:0}
.article blockquote.xquote cite::before{content:none}
.article blockquote.xquote cite a{color:var(--teal);border-bottom:0;text-decoration:none}

/* ---- nav ---- */
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px var(--pad);position:relative;z-index:20}
.brand{line-height:1}
.brand b{display:block;font-weight:900;font-size:1.15rem;letter-spacing:.02em}
.brand span{display:block;font-size:.62rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;margin-top:5px;color:var(--coral)}
.menu{display:flex;gap:clamp(16px,2vw,34px);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-left:auto;margin-right:clamp(4px,4vw,86px)}
.menu a{position:relative;padding:4px 0;transition:color .2s}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--coral);transition:right .25s ease}
.menu a:hover{color:var(--coral)}.menu a:hover::after{right:0}
.nav-cta{display:inline-flex;align-items:center;gap:.55em;background:var(--coral);color:#fff;font-weight:800;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:13px 20px;border-radius:3px;transition:background .2s,transform .2s}
.nav-cta:hover{background:var(--coral-d);transform:translateY(-2px)}
@media(max-width:1080px){.menu{display:none}}
/* nav variant on a dark/teal band */
.on-dark .brand b{color:#fff}.on-dark .brand span{color:#e7c887}
.on-dark .menu a{color:#fff}.on-dark .menu a:hover{color:#e7c887}.on-dark .menu a::after{background:#e7c887}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:.6em;font-weight:800;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;padding:16px 28px;border-radius:3px;cursor:pointer;transition:transform .2s,background .2s}
.btn .arw{transition:transform .2s}.btn:hover .arw{transform:translate(3px,-3px)}
.btn-coral{background:var(--coral);color:#fff}
/* WordPress button-block links (rebuild artifact): style them like a bold-2 coral button */
.wp-element-button,.wp-block-button__link{display:inline-block;background:var(--coral);color:#fff!important;font-weight:800;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;padding:16px 28px;border-radius:3px;text-decoration:none;transition:transform .2s,background .2s;line-height:1.2}
.wp-element-button:hover,.wp-block-button__link:hover{transform:translateY(-2px);color:#fff!important}
.wp-block-button{margin:20px 0}.btn-coral:hover{background:var(--coral-d);transform:translateY(-2px)}
.btn-ink{background:var(--ink);color:var(--cream)}.btn-ink:hover{background:#000;transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--coral)}.btn-white:hover{transform:translateY(-3px)}
.btn-ghost{border:2px solid currentColor}.btn-ghost:hover{transform:translateY(-2px)}
/* metallic gold + teal button variants (consolidated from work-with-me/about/style-guide) */
.btn-gold{background:#e7c887;color:#241d18}.btn-gold:hover{background:#f0d891}
.btn-teal{background:var(--teal);color:#fff}.btn-teal:hover{background:#166b76}

/* ---- interior page hero band ---- */
.phero{background:#124a55 url('/wp-content/uploads/hero-bg-circles.webp') center top/cover no-repeat;color:#fff;position:relative;overflow:hidden}
.phero .eyebrow{color:#e7c887}
.phero-in{padding:clamp(30px,5vw,60px) 0 clamp(40px,6vw,50px);text-align:center;margin-left:auto;margin-right:auto}
/* hero padding variants (article vs listing) — single source of truth */
.phero-in.ph-post{padding:clamp(24px,4vw,54px) 0 clamp(48px,7vw,70px)}
.phero-in.ph-list{padding:clamp(20px,4vw,50px) 0 clamp(52px,8vw,70px)}
/* centered heroes site-wide: center the constrained lede block + the blog byline row */
.phero .lede{margin-left:auto;margin-right:auto}
.phero .pmeta{justify-content:center}
.phero h1{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:115%;text-transform:uppercase;letter-spacing:-.02em;line-height:.98;font-size:clamp(2.3rem,5.6vw,4.4rem);margin:18px 0 0;overflow-wrap:break-word}
@media(max-width:560px){.phero h1{font-size:clamp(2.25rem,9.4vw,2.7rem)}}
.phero h1 .gold{display:inline-block}
.phero .lede{font-size:clamp(1.05rem,1.7vw,1.3rem);font-weight:300;max-width:46ch;margin-top:24px;color:rgba(255,255,255,.9);line-height:1.6}

/* ---- footer ---- */
.foot{background:var(--ink);color:rgba(246,242,234,.6);padding:56px var(--pad) 42px}
.foot .top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;align-items:baseline;max-width:1280px;margin:0 auto}
.foot .brand b{color:#fff;font-size:1.3rem}.foot .brand span{color:#e7c887}
.foot .fmenu{display:flex;gap:26px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.foot .fmenu a{transition:color .2s}.foot .fmenu a:hover{color:#e7c887}
.foot .fine{max-width:1280px;margin:34px auto 0;font-size:.72rem;letter-spacing:.04em;color:rgba(246,242,234,.82)}

/* ---- reveal ---- */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* hide Kit/ConvertKit "Built with Kit" badge so forms feel native */
.formkit-powered-by-convertkit-container,.formkit-powered-by-convertkit,[data-element="powered-by"]{display:none!important;visibility:hidden!important;height:0!important}

/* Kit/ConvertKit form submit button -> bold-2 coral CTA (was default blue) */
.formkit-submit,.formkit-form .formkit-submit{background-color:var(--coral)!important;border-radius:4px!important;font-family:'Archivo',system-ui,sans-serif!important;font-weight:800!important;letter-spacing:.03em!important;transition:background-color .2s,transform .2s!important}
.formkit-submit:hover{background-color:var(--coral-d)!important;transform:translateY(-1px)}
.formkit-submit .formkit-spinner>div{background-color:#fff!important}

/* active main-nav state (current section) */
.menu a.active{color:var(--coral)}.menu a.active::after{right:0}
.on-dark .menu a.active{color:#e7c887}.on-dark .menu a.active::after{background:#e7c887;right:0}

/* footer social icons */
.foot .fsocial{display:flex;gap:16px;margin-top:22px;flex-wrap:wrap}
.foot .fsocial a{color:rgba(246,242,234,.72);display:inline-flex;transition:color .2s}
.foot .fsocial a:hover{color:#e7c887}

/* Kit Subscribe button on the coral .join section: coral-on-coral is invisible -> white button, coral text */
.join .formkit-submit,.join .formkit-submit:disabled{background-color:#fff!important;color:#c9381f!important}
.join .formkit-submit:hover{background-color:#0a2b33!important;color:#fff!important;transform:translateY(-1px)}





/* image captions centered */
figcaption,.wp-block-image figcaption,figure figcaption,.tve_image_caption figcaption{text-align:center!important}

/* foot2-rollout */
.foot2{background:#0a2b33;color:rgba(246,242,234,.62);position:relative;font-family:'Archivo',system-ui,sans-serif;overflow:hidden;text-align:left}
.foot2::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f9ecb4,#e4c063,#c39a3c,#f0d891,#b8862f)}
.f2social a[aria-label="Substack"]{position:relative;top:2px}
.f2inner{position:relative;max-width:1280px;margin:0 auto;padding:66px clamp(22px,5vw,60px) 42px;display:grid;grid-template-columns:1.6fr 1.6fr 1.1fr;gap:48px}
.f2logo{display:inline-block;text-decoration:none;line-height:1}
.f2ey{display:block;font-size:.64rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:#e7c887;margin-bottom:9px}
.f2logo b{font-size:1.75rem;font-weight:900;font-stretch:112%;letter-spacing:.01em;color:#fff}
.f2tag{margin:20px 0 24px;font-size:.9rem;line-height:1.62;max-width:34ch;color:rgba(246,242,234,.72)}
.foot2 a{margin:0}
.f2social{display:flex;gap:15px}
.f2social a{color:rgba(246,242,234,.68);display:inline-flex;transition:color .2s,transform .2s}
.f2social a:hover{color:#e7c887;transform:translateY(-2px)}
.f2h{display:block;font-size:.66rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(246,242,234,.42);margin-bottom:12px}
.f2nav{display:flex;flex-direction:column;gap:13px;align-items:flex-start;justify-content:flex-start;padding:0}.f2explore .f2cols{display:grid;grid-auto-flow:column;grid-template-rows:repeat(4,auto);gap:13px 40px}@media(max-width:600px){.f2explore .f2cols{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:7px 0;grid-template-columns:none;grid-auto-flow:row;max-width:min(370px,96%);margin:0 auto}.f2nav a{font-size:.8rem}.f2explore .f2cols a:not(:last-child)::after{content:"·";margin:0 7px;color:rgba(246,242,234,.4);font-weight:700;display:inline-block}}
.f2nav a{color:rgba(246,242,234,.82);text-decoration:none;font-size:.92rem;font-weight:600;width:fit-content;transition:color .2s}
.f2nav a:hover{color:#e7c887}
.f2ext{color:#e7c887;font-size:.78em;opacity:.7}
.f2proj a:hover .f2ext{opacity:1}
.f2connect{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.f2cta{display:inline-flex;align-items:center;gap:.5em;background:#e8462a;color:#fff;font-weight:800;font-size:.73rem;letter-spacing:.1em;text-transform:uppercase;padding:13px 20px;border-radius:4px;text-decoration:none;transition:background .2s,transform .2s}
.f2cta:hover{background:#c9381f;transform:translateY(-2px)}
.f2dm{color:rgba(246,242,234,.82);text-decoration:none;font-size:.88rem;font-weight:600;border-bottom:1px solid rgba(231,200,135,.4);padding-bottom:1px}
.f2dm:hover{color:#e7c887}
.f2base{position:relative;border-top:1px solid rgba(246,242,234,.1);max-width:1280px;margin:0 auto;padding:20px clamp(22px,5vw,60px) 30px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.72rem;letter-spacing:.04em;color:rgba(246,242,234,.5)}
.f2legal a{color:rgba(246,242,234,.7);text-decoration:none}
.f2legal a:hover{color:#e7c887}
.f2legal i{margin:0 10px;font-style:normal;opacity:.4}
@media(max-width:860px){.f2inner{grid-template-columns:1fr 1fr;gap:40px 32px}.f2brand{grid-column:1/-1}}
@media(max-width:520px){.foot2{text-align:center}.f2inner{grid-template-columns:1fr;justify-items:center;text-align:center}.f2social{justify-content:center}.f2nav{align-items:center}.f2h{margin-bottom:5px}.f2proj{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:7px 18px}.f2proj .f2h,.f2proj a:first-of-type{flex-basis:100%;width:100%}.f2base{flex-direction:column;align-items:center;text-align:center;gap:8px}}
/* /foot2-rollout */

/* archived reader comments (read-only) */
.pcomments{background:var(--bg2);padding:clamp(44px,6vw,72px) 0}
.pcwrap{max-width:800px;margin:0 auto;padding:0 var(--pad)}
.pchead{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:108%;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(1.3rem,2.6vw,1.7rem);margin:0 0 26px}
.pchead span{font-weight:600;font-size:.7rem;letter-spacing:.04em;color:var(--ink-soft);text-transform:none;font-stretch:normal}
.pclist,.preplies{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.pcomment{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.pcmeta{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:8px}
.pcauthor{font-weight:800;font-size:.92rem;color:var(--ink)}
.pcauthor a{color:var(--teal);text-decoration:none}.pcauthor a:hover{text-decoration:underline}
.pcdate{font-size:.72rem;letter-spacing:.04em;color:var(--ink-soft);text-transform:uppercase}
.pcbody{color:var(--ink-soft);font-size:1rem;line-height:1.65}
.pcbody p{margin:0 0 10px}.pcbody p:last-child{margin:0}
.pcbody a{color:var(--teal)}
.pcclosed{text-align:center;text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;font-weight:700;color:var(--ink-soft);opacity:.6;margin:26px 0 0}
.preplies{margin-top:16px;padding-left:20px;border-left:3px solid var(--gold)}

/* side-by-side image rows (restored from original galleries) */
.article .imgrow{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:flex-start;margin:30px 0}
.article .imgrow>span,.article .imgrow>figure{flex:1 1 200px;max-width:100%;display:block;margin:0}
.article .imgrow img{width:100%;height:auto;border-radius:10px;display:block;margin:0}
.article .imgrow figure{margin:0}.article .imgrow a{display:block}

/* center standalone blog images + dividers (kill leftover WP floats/alignments) */
.article figure.wp-block-image:not(.imgrow *){float:none!important;text-align:center!important;margin-left:auto!important;margin-right:auto!important;display:block}
.article figure.wp-block-image:not(.imgrow *) img{margin-left:auto!important;margin-right:auto!important;display:block}
.article figure.wp-block-image:not(.imgrow *){margin-top:clamp(22px,3vw,34px);margin-bottom:clamp(30px,3.8vw,48px)}
.article figure figcaption,.article .wp-element-caption{margin-top:10px;color:var(--ink-soft);font-size:.86rem}
.article img[src*=divider]{display:block!important;margin-left:auto!important;margin-right:auto!important;float:none!important}
.article .imgrow{justify-content:center}
.article .imgrow img{width:100%}
/* justified rows: figures carry inline flex:<aspect> 1 0 for equal heights; wrap 2-up on mobile */
@media(max-width:640px){.article .imgrow>figure,.article .imgrow>span{flex:1 1 42%!important}}
/* fun-fact callout */
.article .funfact{background:linear-gradient(150deg,#1e7280,#124a55);color:#fff;border-radius:16px;padding:clamp(22px,3vw,32px);margin:36px 0;box-shadow:0 24px 46px -30px rgba(26,21,18,.5)}
.article .funfact .ff-label{display:inline-block;font-family:'Archivo',sans-serif;font-weight:900;font-stretch:108%;text-transform:uppercase;letter-spacing:.09em;font-size:.78rem;color:#e7c887;margin-bottom:9px}
.article .funfact p{margin:0;font-size:clamp(1.12rem,2.2vw,1.4rem);line-height:1.5;color:#fff;font-weight:600;text-align:left}
.article aside p::first-letter{float:none!important;font-size:inherit!important;color:inherit!important;padding:0!important;font-weight:inherit!important}
/* "just launched" banner (logo linked + announcement) */
.article .newbanner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(18px,3vw,34px);text-align:left;background:linear-gradient(150deg,#fff6e6,#fdeede);border:1px solid #f0d9b6;border-radius:16px;padding:clamp(24px,3vw,34px);margin:36px 0}
.article .newbanner>a{flex:0 0 auto;display:block}
.article .newbanner img{width:min(300px,64vw);height:auto;margin:0;border-radius:8px}
.article .newbanner .nb-copy{flex:1 1 240px;max-width:360px}
.article .newbanner .nb-badge{display:inline-block;font-family:'Archivo',sans-serif;font-weight:900;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--coral);padding:5px 12px;border-radius:100px;margin-bottom:10px}
.article .newbanner p{margin:0;font-size:1.06rem;line-height:1.55;color:var(--ink)}
.article .newbanner a.nb-link{color:var(--coral);font-weight:700}

/* linked images: gentle grow/lift on hover */
a>img{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
a:hover>img{transform:scale(1.035) translateY(-5px)}
@media(prefers-reduced-motion:reduce){a:hover>img{transform:none}}

/* youtube embeds: force 16:9 so the poster renders crisp (no fixed-height upscaling) */
.article iframe[src*="youtube"],.article iframe[src*="youtu.be"]{width:100%!important;height:auto!important;aspect-ratio:16/9;border:0;border-radius:12px;display:block;margin:24px 0}

/* blog article sub-headings — the global *{margin:0} reset zeroes these; the template only sets h2 */
.article h3{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:106%;font-size:clamp(1.2rem,2.4vw,1.55rem);line-height:1.2;letter-spacing:-.01em;margin:34px 0 14px}
.article h4{font-family:'Archivo',sans-serif;font-weight:800;font-size:1.1rem;line-height:1.35;margin:28px 0 14px}

/* ============================================================
   CARD / RESOURCE GRID SYSTEM — single source of truth.
   Consolidated from resources/listing/confirmed/podcast-tour
   inline copies (Phase 1 CSS de-dup). Page-specific tweaks
   (e.g. podcast-tour's petrol/coral .rmeta .chip) stay inline
   on their own pages and override these via load order.
   ============================================================ */
.rhead{text-align:center;max-width:640px;margin:0 auto clamp(24px,3vw,34px)}
.rhead .eyebrow{color:var(--coral)}
.rhead h2{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:112%;text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(1.6rem,3.6vw,2.4rem);margin-top:10px}
.rbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin:0 auto clamp(30px,4vw,44px)}
.rbar .lbl{font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
.fbtn{font-family:'Archivo',sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:#fff;border:1px solid rgba(26,21,18,.14);border-radius:100px;padding:10px 20px;cursor:pointer;transition:all .2s}
.fbtn:hover{border-color:var(--coral);color:var(--coral)}
.fbtn.on{background:var(--petrol);border-color:var(--petrol);color:#fff}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,2.6vw,34px);max-width:1180px;margin:0 auto}
.rcard{background:#fff;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;box-shadow:0 22px 44px -30px rgba(26,21,18,.4);transition:transform .3s,box-shadow .3s}
.rcard:hover{transform:translateY(-6px);box-shadow:0 34px 56px -30px rgba(26,21,18,.5)}
.rcard .thumb{display:block;aspect-ratio:16/9;overflow:hidden;background:#e6e1d8}
.rcard .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.rcard:hover .thumb img{transform:scale(1.05)}
.rcard .thumb.ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,#1e7280,#124a55)}
.rcard .thumb.ph span{font-family:'Archivo',sans-serif;font-weight:800;font-stretch:112%;text-transform:uppercase;letter-spacing:.12em;font-size:.9rem;color:#fff;background:var(--gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.rcard .body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.rcard.noimg .body{padding-top:26px}
.rmeta{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.chip{font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--petrol);padding:5px 10px;border-radius:100px}
.rmeta time{font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--ink-soft)}
.rcard h3{font-family:'Archivo',sans-serif;font-weight:800;font-stretch:104%;font-size:1.12rem;line-height:1.18;letter-spacing:-.01em;margin-bottom:10px}
.rcard h3 a{transition:color .2s;text-decoration:none;color:inherit}
.rcard h3 a:hover,.rcard:hover h3,.rcard:hover h3 a{color:#124a55}
.rcard p{color:var(--ink-soft);font-size:.92rem;line-height:1.5;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rcard .read{margin-top:auto;font-weight:800;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--coral)}
.rcard .read .arw{display:inline-block;transition:transform .2s}
.rcard .read:hover .arw,.rcard:hover .read .arw{transform:translate(3px,-3px)}
.rempty{text-align:center;color:var(--ink-soft);font-weight:600;padding:40px 0;grid-column:1/-1;display:none}
@media(max-width:960px){.rgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.rgrid{grid-template-columns:1fr;max-width:440px}}

/* blog-post image captions — centered, italic, muted (was unstyled) */
.article figcaption,.article .wp-element-caption{text-align:center;font-size:.92rem;font-style:italic;color:var(--ink-soft);line-height:1.5;margin-top:12px;max-width:56ch;margin-left:auto;margin-right:auto}
.article figcaption a,.article .wp-element-caption a{color:var(--coral);font-weight:700}

/* blog post: first paragraph never centered (drop-cap needs left alignment) */
.article > p:first-of-type{text-align:left}
/* category pill as a link -> its archive */
a.cat{transition:filter .2s}a.cat:hover{filter:brightness(.93)}

/* star-divider image needs breathing room (was sitting too tight under content) */
figure:has(> img[src*="star-divider" i]),
figure:has(> a img[src*="star-divider" i]){margin-top:clamp(36px,6vw,60px)!important;margin-bottom:clamp(26px,4vw,44px)!important}

/* drop-cap should only hit the opening paragraph, not nested first-paragraphs (pull quotes etc.) */
.article .pull p::first-letter,.article blockquote p::first-letter{float:none;font:inherit;color:inherit;padding:0}

/* blog-post breadcrumb (top of article, path back to the hub) */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.article .crumbs{margin:0 0 clamp(26px,4vw,38px);color:var(--ink-soft)}
.article .crumbs a{color:var(--ink-soft);transition:color .2s}
.article .crumbs a:hover{color:var(--coral)}
.article .crumbs .sep{opacity:.45}

/* breadcrumb in hero: 'Resources > [category pill]' */
.phero .crumbs{justify-content:center;margin:0 0 4px;align-items:center}
.phero .crumbs a:not(.cat){color:rgba(255,255,255,.6)}
.phero .crumbs a:not(.cat):hover{color:#e7c887}
.phero .crumbs .sep{color:rgba(255,255,255,.4)}

/* side-by-side image pair, matched heights (stacks on mobile) */
.imgpair{display:flex;gap:16px;justify-content:center;align-items:flex-start;margin:0 auto 34px;flex-wrap:wrap}
.imgpair figure{margin:0}
.imgpair img{height:clamp(300px,42vw,440px);width:auto;border-radius:10px;display:block;box-shadow:0 20px 40px -28px rgba(26,21,18,.4)}
@media(max-width:600px){.imgpair img{height:auto;max-width:100%}}

/* Guest testimonial block (legacy Thrive .sctm markup) — scoped to article bodies (single source of truth) */
.article .sctm{background:var(--bg2,#f4f1ea);border-left:4px solid var(--coral);border-radius:0 14px 14px 0;padding:clamp(24px,4vw,34px) clamp(24px,4vw,38px);margin:38px 0}
.article .sctm .tst p{font-size:1.13rem;line-height:1.72;font-style:italic;color:var(--ink);margin:0 0 16px}
.article .sctm .tst p:last-child{margin-bottom:0}
.article .sctm .tst p::first-letter{float:none;font:inherit;color:inherit;padding:0}
.article .sctm .bts{display:flex;align-items:center;gap:15px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.article .sctm .bts .left{padding:0;margin:0;float:none}
.article .sctm .rta{width:60px;height:60px;border-radius:50%;background-size:cover;background-position:center;flex:0 0 auto;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--gold)}
.article .sctm .bts p{margin:0;font-family:'Archivo',sans-serif;font-weight:800;font-size:1rem;color:var(--ink);font-style:normal}
.article .sctm .bts span{display:block;color:var(--coral);font-size:.82rem;font-weight:700}

/* optional post subtitle / dek (sits between the h1 and the byline in the hero) — single source of truth */
.phero .psub{font-size:clamp(1.05rem,2vw,1.32rem);font-weight:300;line-height:1.42;color:rgba(255,255,255,.85);margin:16px auto 0;max-width:48ch;text-align:center;text-wrap:balance}

/* "More Resources" related-cards section (single source of truth) */
.more{padding:clamp(60px,8vw,104px) 0;background:linear-gradient(158deg,#155863 0%,#1f8f9c 100%)}
.more .head{text-align:center;margin-bottom:40px}
.more .eyebrow{color:var(--coral)}
.more .head .eyebrow{color:#e7c887}
.more h2{font-family:'Archivo';font-weight:900;font-stretch:112%;text-transform:uppercase;font-size:clamp(1.8rem,4vw,2.8rem);margin-top:12px;color:#fff}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1120px;margin:0 auto}
.mcard{background:#fff;border-radius:16px;overflow:hidden;border:1px solid rgba(0,0,0,.06);transition:transform .3s,box-shadow .3s}
.mcard:hover{transform:translateY(-6px);box-shadow:0 26px 44px -22px rgba(26,21,18,.28)}
.mcard .thumb{aspect-ratio:16/9;background:linear-gradient(140deg,#1e7280,#124a55)}
.mcard .b{padding:22px}
.mcard .c{font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.mcard h4{font-family:'Archivo';font-weight:800;font-size:1.15rem;line-height:1.15;margin-top:8px;letter-spacing:-.01em;color:var(--ink)}
.mcard h4 a{color:inherit;text-decoration:none}
@media(max-width:820px){.mgrid{grid-template-columns:1fr;max-width:420px}}

/* ============================================================
   TESTIMONIAL SLIDER — shared mechanics (consolidated from
   small-group-coaching/work-with-me/about/coaching). The .co-testi
   wrapper (colors/heading), .cs-dots, .cs-id small, and the mobile
   @media overrides stay per-page (they legitimately diverge).
   ============================================================ */
.co-slider{max-width:900px;margin:0 auto;position:relative}
.cs-view{overflow:hidden}
.cs-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.cs-track::-webkit-scrollbar{display:none}
.cs-track:focus-visible{outline:2px solid rgba(231,200,135,.6);outline-offset:4px;border-radius:20px}
.cs-slide{flex:0 0 100%;scroll-snap-align:center;display:flex;justify-content:center;padding:8px}
.cs-card{display:grid;grid-template-columns:168px 1fr;gap:clamp(26px,3.2vw,46px);align-items:center;text-align:left;width:100%;max-width:900px;background:linear-gradient(160deg,#0f3a44,#082228);border:1px solid rgba(231,200,135,.16);border-radius:22px;padding:clamp(34px,4vw,48px);box-shadow:0 14px 30px -26px rgba(0,0,0,.4)}
.cs-id{display:flex;flex-direction:column;align-items:center;text-align:center}
.cs-id img{width:104px;height:104px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #e7c887,0 16px 34px -18px rgba(0,0,0,.5);margin-bottom:14px}
.cs-id b{color:#fff;font-weight:800;font-size:1.02rem}
.cs-body .big{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:104%;text-transform:uppercase;font-size:clamp(1.15rem,2.1vw,1.5rem);line-height:1.14;color:#e7c887;letter-spacing:-.01em;margin-bottom:14px;text-wrap:balance}
.cs-body blockquote{margin:0;color:rgba(246,242,234,.95);font-size:1.06rem;line-height:1.64;text-wrap:pretty}
.cs-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:26px}
.cs-arrow{width:46px;height:46px;border-radius:50%;border:1px solid rgba(231,200,135,.5);background:rgba(231,200,135,.08);color:#e7c887;font-size:1.15rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,transform .15s}
.cs-arrow:hover{background:rgba(231,200,135,.2)}
.cs-arrow:active{transform:scale(.93)}

/* dark programs/offers section wrapper + generic 3-col grid (consolidated from work-with-me/about) */
.progs{background:#0a2b33;color:var(--bg);padding:clamp(64px,9vw,120px) 0}
.progs .head{max-width:720px;margin:0 auto clamp(40px,6vw,72px);text-align:center}.progs .head .eyebrow{color:var(--coral)}
.progs .head h2{font-family:'Archivo';font-weight:900;font-stretch:112%;text-transform:uppercase;font-size:clamp(2rem,5vw,3.8rem);line-height:1;margin-top:14px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1180px;margin:0 auto}
@media(max-width:860px){.grid3{grid-template-columns:1fr;max-width:460px}}

/* consolidated inline styles (see inline-style cleanup) */
.bio-sec{padding:0 clamp(16px,5vw,20px) clamp(40px,5vw,64px);margin-bottom:0}
.phero h1.tw8{font-weight:800}
.phero h1.hutil{font-weight:800;font-size:clamp(2.2rem,5vw,4rem)}

/* restore WordPress aligncenter: migrated body images kept width but lost centering */
.article img.aligncenter,.article .aligncenter{display:block;margin-left:auto;margin-right:auto}
.article a:has(> img.aligncenter){display:block;text-align:center}
/* migrated Thrive image blocks were centered in the original (exclude float/gallery) */
.article img[data-id]:not([class*="align"]){margin-left:auto;margin-right:auto}
.article a:has(> img[data-id]:not([class*="align"])){display:block;text-align:center}
/* restore WordPress float alignments (text wraps around the image, as in the original) */
.article img.alignleft{float:left;margin:6px 24px 14px 0}
.article img.alignright{float:right;margin:6px 0 14px 24px}
.article a:has(> img.alignleft){float:left}
.article a:has(> img.alignright){float:right}
@media(max-width:560px){
  .article img.alignleft,.article img.alignright{float:none;margin-left:auto;margin-right:auto}
  .article a:has(> img.alignleft),.article a:has(> img.alignright){float:none;display:block;text-align:center}
}

.article blockquote p:first-of-type::first-letter,.article blockquote::first-letter{float:none;font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;line-height:inherit;padding:0}


.article .rel-inline{margin:24px 0;padding:12px 16px 12px 18px;background:var(--bg2);border-left:3px solid #e7c887;border-radius:0 8px 8px 0}
.article .rel-inline strong{display:block;color:var(--coral);text-transform:uppercase;font-size:.68rem;font-weight:800;letter-spacing:.1em;margin-bottom:3px}
.article .rel-inline a{color:#124a55;font-weight:700;text-decoration:none;font-size:1rem}
.article .rel-inline a:hover{text-decoration:underline}

.more .more-viewall{text-align:center;margin-top:clamp(30px,4vw,44px)}
.more .more-viewall a{color:#e7c887;font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.5em;text-decoration:none}
.more .more-viewall a:hover{text-decoration:underline}

.wwm-cta{background:var(--coral);color:#fff;text-align:center;padding:clamp(56px,8vw,96px) var(--pad)}
.wwm-cta .btn-coral{background:#fff;color:var(--coral)}
.wwm-cta .wrap{max-width:640px;margin:0 auto}
.wwm-cta .eyebrow{color:#e7c887;margin-bottom:12px}
.wwm-cta h2{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:112%;text-transform:uppercase;font-size:clamp(1.7rem,3.8vw,2.6rem);line-height:1.06;margin:0 0 16px}
.wwm-cta p{font-size:1.06rem;line-height:1.6;color:rgba(255,255,255,.92);margin:0 0 26px;text-wrap:pretty}


/* DESIGN-SYSTEM SAFEGUARD (deliberate, not debt): eyebrows are <p class="eyebrow"> and must resist descendant `container p{}` line-height/size bleed from ~30 page rules. A minimal specificity bump (.eyebrow.eyebrow) is the correct single-line defense — cleaner than !important on eyebrows or scoping every page rule. */
.eyebrow.eyebrow{font-size:.72rem;letter-spacing:.2em;line-height:1.3}

/* ============================================================
   SUBSCRIBE BAND — ONE component (variants: .compact | .coral).
   Replaces the per-page one-offs (.rsub/.close/.spotsub/.wsub/…).
   Wire once per page with the shared <form data-kit> KITWIRE snippet
   (it handles BOTH /forms and /landing_pages endpoints).
   ============================================================ */
.subband-in{max-width:940px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:clamp(18px,4vw,44px);flex-wrap:wrap}
.subband-text{flex:0 1 auto}
.subband-ey{font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;margin:0 0 5px}
.subband-h{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:106%;text-transform:uppercase;letter-spacing:-.01em;margin:0;text-wrap:balance;line-height:1.05}
.subband-sub{margin:8px 0 0;text-wrap:pretty}
.subband-form{display:flex;gap:8px;flex-wrap:wrap}
.subband-form input{min-width:0;font-size:.95rem;font-family:inherit;border-radius:9px}
.subband-form button{flex:0 0 auto;font-family:'Archivo',sans-serif;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border:0;border-radius:9px;cursor:pointer}
.subband-done{font-weight:600;text-align:center;padding:12px 4px;line-height:1.5}
.subband.compact{background:#124a55;border-bottom:1px solid rgba(255,255,255,.08);padding:clamp(16px,2.4vw,26px) 20px}
.subband.compact .subband-in{row-gap:clamp(12px,1.6vw,18px)}
.subband.compact .subband-text{text-align:left}
.subband.compact .subband-ey{color:#e7c887}
.subband.compact .subband-h{color:#fff;font-size:clamp(1.15rem,2.3vw,1.55rem)}
.subband.compact .subband-sub{color:rgba(246,242,234,.82);font-size:.92rem;max-width:52ch}
.subband.compact .subband-form{flex:1 1 330px;max-width:480px}
.subband.compact .subband-form input{flex:1 1 130px;padding:11px 14px;border:1.5px solid rgba(18,74,85,.22);background:#fff}
.subband.compact .subband-form input:focus{outline:none;border-color:#124a55}
.subband.compact .subband-form button{padding:11px 22px;font-size:.76rem;color:#fff;background:var(--coral)}
.subband.compact .subband-form button:hover{filter:brightness(1.07)}
@media(max-width:640px){.subband.compact .subband-in{flex-direction:column;gap:12px;align-items:stretch}.subband.compact .subband-text{text-align:center}.subband.compact .subband-form{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:none;flex:0 0 auto}.subband.compact .subband-form input{width:100%}.subband.compact .subband-form button{grid-column:1/-1;width:100%}}
.subband.coral{background:var(--coral);color:#fff;text-align:center;padding:clamp(66px,9vw,120px) var(--pad)}
.subband.coral .subband-in{flex-direction:column;gap:0}
.subband.coral .subband-text{text-align:center}
.subband.coral .subband-ey{color:rgba(255,255,255,.9)}
.subband.coral .subband-h{font-stretch:116%;font-size:clamp(1.7rem,3.8vw,2.6rem);margin:10px 0 14px}
.subband.coral .subband-sub{max-width:62ch;margin:0 auto 26px;color:rgba(255,255,255,.92)}
.subband.coral .subband-form{max-width:560px;margin:0 auto;justify-content:center}
.subband.coral .subband-form input{flex:1 1 180px;padding:14px 16px;background:#fff;color:#0a2b33;border:0;border-radius:9px;box-shadow:0 2px 8px rgba(10,43,51,.16)}.subband.coral .subband-form input:focus{outline:none;box-shadow:0 0 0 3px rgba(255,255,255,.65)}
.subband.coral .subband-form button{padding:14px 28px;font-size:.82rem;color:#fff;background:var(--ink);transition:background .15s,transform .15s}
.subband.coral .subband-form button:hover{background:#000;transform:translateY(-2px)}
@media(max-width:560px){.subband.coral{padding-top:clamp(44px,10vw,60px);padding-bottom:clamp(30px,7vw,40px)}.subband.coral .subband-form{flex-direction:column}.subband.coral .subband-form input{flex:0 0 auto;width:100%}}
