:root{
  --ivory:#f5efe4;
  --paper:#fffaf1;
  --forest:#304d3a;
  --forest-deep:#20382b;
  --rust:#b36549;
  --blush:#b9597a;
  --soft-pink:#d9a5ad;
  --cream:#e6dcca;
  --letter-green:#5f6d49;
  --ink:#4b4038;
  --muted:#796d63;
  --line:rgba(48,77,58,.17);
  --serif:"Liberation Serif",serif;
  --sans:"Liberation Sans",sans-serif;
  --container:min(1140px,calc(100vw - 42px));
  --shadow:0 24px 70px rgba(72,53,40,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px;max-width:100%;overflow-x:hidden}
body{max-width:100%;margin:0;overflow-x:hidden;background:var(--ivory);color:var(--ink);font:14px/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body:before{content:none}
a{color:inherit}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
button,input,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;height:auto}
h1,h2,h3,p,li,a{overflow-wrap:break-word}
.container{width:var(--container);margin-inline:auto}
/* Header */
.site-header{position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--line);background:rgba(245,239,228,.95);backdrop-filter:blur(16px)}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.brand{display:inline-flex;align-items:center;gap:11px;color:var(--forest);text-decoration:none;white-space:nowrap}
.monogram{width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;border:.65px solid currentColor;border-radius:50%;font:700 .42rem/1 var(--sans);letter-spacing:.025em}
.wordmark{font:600 1.26rem/1.3 var(--serif);letter-spacing:-.018em}
.primary-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(14px,2vw,27px)}
.primary-nav a{position:relative;padding:8px 0;color:var(--ink);font-size:.76rem;font-weight:600;letter-spacing:.035em;text-decoration:none;white-space:nowrap}
.primary-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--rust);transition:right .2s ease}
.primary-nav a:hover:after,.primary-nav a.is-active:after,.primary-nav a[aria-current="page"]:after{right:0}
.primary-nav .nav-cta{padding:11px 17px;border-radius:999px;background:var(--forest);color:#fff}
.primary-nav .nav-cta:hover{background:var(--forest-deep)}

/* Shared type and controls */
.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 19px;border:1px solid var(--forest);border-radius:999px;background:var(--forest);color:#fff;text-decoration:none;font-size:.72rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase;transition:transform .2s ease,background .2s ease,color .2s ease}
.button:hover{transform:translateY(-2px);background:var(--forest-deep)}
.button.secondary{background:transparent;color:var(--forest)}
.button.secondary:hover{background:rgba(48,77,58,.06)}
.button.rust{border-color:var(--rust);background:var(--rust)}
.button.rust:hover{background:#914b36}
.button.text{min-height:auto;padding:0;border:0;border-radius:0;background:transparent;color:var(--forest);font-size:.84rem;letter-spacing:0;text-transform:none}
.button.text:hover{transform:none;background:transparent;color:var(--rust)}
.eyebrow{margin:0 0 9px;color:var(--rust);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.heading{margin:0;color:var(--forest);font:500 clamp(1.9rem,3.4vw,3.2rem)/1.04 var(--serif);letter-spacing:-.035em}
.lead{max-width:660px;margin:13px 0 0;color:var(--muted);font-size:.88rem}
.ornament,.series-divider{display:flex;align-items:center;justify-content:flex-start;gap:12px;color:var(--rust);font-size:.69rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ornament{margin:0 0 13px}
.ornament:before,.ornament:after,.series-divider:before,.series-divider:after{content:"";width:40px;height:1px;background:currentColor;opacity:.72}
.closing-dots{color:var(--blush);text-align:center;letter-spacing:.55em;font-size:1.05rem}
.home-scroll{min-height:calc(100svh - 76px);display:grid;align-items:center}
.section{padding:64px 0}
.section-heading-block{margin-bottom:30px}

/* Scroll 1 */
.hero{padding:36px 0}
.hero-inner{display:grid;gap:20px}
.hero-blurb{max-width:960px;margin:0;color:var(--ink);font:400 clamp(.98rem,1.35vw,1.16rem)/1.45 var(--serif)}
.series-divider{color:var(--rust)}
.hero-key{min-height:315px;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,1.08fr);border:1px solid var(--line);border-radius:28px;overflow:hidden;background:rgba(255,250,241,.73);box-shadow:var(--shadow)}
.hero-copy{display:flex;align-items:center;padding:clamp(30px,4.5vw,56px)}
.hero-title{margin:0;color:var(--forest);font:500 clamp(1.95rem,3.1vw,3.1rem)/1.01 var(--serif);letter-spacing:-.045em}
.hero-title span{display:block;font-style:normal}
.hero-title span:last-child{margin-top:8px;color:var(--rust);white-space:nowrap}
.travel-photo{position:relative;min-height:315px;background-size:cover;background-position:center 52%;isolation:isolate}
.travel-photo:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(255,250,241,.15),transparent 22%),linear-gradient(180deg,transparent 64%,rgba(32,56,43,.17))}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}

/* Scroll 2 */
.journal-section{background:rgba(255,250,241,.23)}
.journal-tagline{margin-bottom:13px;color:var(--forest);font-family:var(--sans)}
.journal-tagline:before,.journal-tagline:after{background:currentColor;opacity:.72}
.journal-heading{white-space:nowrap}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.post-card{position:relative;min-height:320px;display:flex;flex-direction:column;padding:25px 24px 23px;border:1px solid var(--line);border-top-width:5px;border-radius:22px;background:rgba(255,250,241,.84);transition:transform .22s ease,box-shadow .22s ease}
.post-card.reflections{border-top-color:var(--cream)}
.post-card.poems{border-top-color:var(--blush)}
.post-card.letters{border-top-color:var(--letter-green)}
.post-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.card-series{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px;font:600 .76rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.card-series.reflections{color:#887c68}
.card-series.poems{color:var(--blush)}
.card-series.letters{color:var(--letter-green)}
.letter-lock,.archive-lock{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--letter-green);line-height:0}
.tlwh-lock-svg{display:block;overflow:visible;flex:0 0 auto;fill:currentColor}
.letter-lock .tlwh-lock-svg{width:17px;height:17px}
.post-card h3{margin:0 0 8px;color:var(--forest);font:500 1.46rem/1.12 var(--serif)}
.card-date{display:block;margin:0 0 16px;color:var(--muted);font-size:.72rem}
.post-card>p:not(.card-series){margin:0 0 19px;color:var(--muted);font-size:.84rem}
.post-card .button.text{margin-top:auto;align-self:flex-start}
.empty-state{margin:auto 0!important;font-family:var(--serif);font-size:1rem!important;line-height:1.65}

/* Scroll 3 */
.subscriptions{background:var(--forest);color:rgba(255,255,255,.82)}
.subscriptions-heading{max-width:940px}
.subscriptions .heading{color:#fff}
.subscriptions .ornament{color:#e6b7bc}
.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:17px;align-items:stretch}
.tier-card{height:100%;display:flex;flex-direction:column;padding:28px 25px;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:rgba(255,255,255,.045)}
.tier-card.featured{background:var(--paper);color:var(--ink);box-shadow:0 24px 60px rgba(0,0,0,.19)}
.tier-card h3{margin:0;color:#fff;font:500 1.53rem/1.08 var(--serif)}
.tier-card.featured h3{color:var(--forest)}
.price{margin:7px 0 17px;color:#fff;font:500 1.08rem/1.3 var(--serif)}
.tier-card.featured .price{color:var(--forest)}
.price small{font:400 .68rem/1.4 var(--sans);opacity:.68}
.tier-card ul{list-style:none;padding:0;margin:0 0 24px}
.tier-card li{position:relative;padding:8px 0 8px 20px;border-bottom:1px solid rgba(255,255,255,.12);font-size:.81rem}
.tier-card.featured li{border-color:rgba(48,77,58,.13)}
.tier-card li:before{content:"·";position:absolute;left:3px;color:var(--soft-pink);font-size:1.25rem;line-height:1}
.tier-card .button{width:100%;margin-top:auto}
.tier-card:not(.featured) .button{border-color:#fff;background:#fff;color:var(--forest)}

/* Scroll 4 */
.steps-section{background:rgba(255,250,241,.52)}
.steps-container{display:grid;gap:36px}
.steps-wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:56px;align-items:start}
.steps{counter-reset:step;list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.steps li{counter-increment:step;display:grid;grid-template-columns:48px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.steps li:before{content:"0" counter(step);color:var(--soft-pink);font:500 1.25rem/1 var(--serif)}
.steps strong{display:block;color:var(--forest);font:500 1.22rem/1.1 var(--serif)}
.steps p{margin:4px 0 0;color:var(--muted);font-size:.81rem}
.steps-dots{padding-top:4px}

/* Scroll 5 */
.contact-section{padding:64px 0;border-top:1px solid var(--line)}
.contact-banner{display:grid;grid-template-columns:.70fr 1.30fr;gap:36px;align-items:start;padding:34px;border:1px solid var(--line);border-radius:24px;background:rgba(255,250,241,.78);box-shadow:0 16px 45px rgba(72,53,40,.07)}
.contact-copy .eyebrow{margin-bottom:4px}
.contact-copy h2{margin:0 0 20px;color:var(--forest);font:500 1.82rem/1.08 var(--serif)}
.contact-copy p{margin:0;color:var(--muted);font-size:.86rem}
.contact-copy .care-line{margin-top:26px}
.contact-email{display:inline-block;margin-top:9px;color:var(--rust);text-underline-offset:4px}
.contact-form{display:grid;gap:9px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.field label{display:block;margin-bottom:4px;color:var(--forest);font-size:.66rem;font-weight:700;letter-spacing:.05em}
.field input,.field textarea{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:10px;outline:0;background:rgba(245,239,228,.73);color:var(--ink)}
.field input:focus,.field textarea:focus{border-color:var(--rust);box-shadow:0 0 0 3px rgba(179,101,73,.08)}
.field textarea{min-height:78px;resize:vertical}
.contact-form .button{justify-self:start;margin-top:2px}
.form-message{display:none;margin:0;padding:9px 11px;border-radius:10px;background:rgba(48,77,58,.09);color:var(--forest);font-size:.78rem}
.form-message.show{display:block}
.hp-field{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important}

/* Footer */
.site-footer{padding:31px 0 27px;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:44px;align-items:start}
.footer-title{margin:0 0 9px;color:var(--forest);font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 18px}
.footer-links a,.footer-contact a{color:var(--muted);font-size:.75rem;text-decoration:none}
.footer-links a:hover,.footer-contact a:hover{color:var(--rust)}
.footer-legal-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:18px}
.footer-copyright{margin:0;color:var(--muted);font-size:.65rem}
.footer-policy-links{display:flex;flex-wrap:wrap;gap:8px 14px}
.footer-policy-links a{color:var(--rust);font-size:.65rem;text-decoration:none}
.footer-policy-links a:hover{text-decoration:underline;text-underline-offset:3px}
.footer-contact{text-align:right}

/* Interior pages */
.page-main{min-height:calc(100svh - 76px);padding:44px 0 70px}
.page-hero{max-width:840px;margin-bottom:25px}
.interior-hero{max-width:none;margin-bottom:28px}
.interior-hero .heading{font-size:clamp(1.75rem,3.1vw,3rem);line-height:1.06;text-align:left}
.about-page{padding-top:38px}
.about-prose{max-width:860px;color:var(--ink);font:400 clamp(1rem,1.55vw,1.18rem)/1.78 var(--serif);text-align:justify}
.about-prose p{margin:0 0 21px}
.about-prose .closing-dots{margin-top:30px}
.archive-intro{max-width:none}
.archive-intro .heading{white-space:nowrap}
.archive-groups{display:grid;gap:17px}
.archive-group{display:grid;grid-template-columns:230px 1fr;gap:30px;padding:25px 27px;border:1px solid var(--line);border-radius:23px;background:rgba(255,250,241,.72)}
.archive-series{display:flex;align-items:center;gap:13px}
.archive-series-copy{display:grid;gap:5px}
.archive-dot{width:44px;height:44px;border-radius:50%;flex:0 0 44px}
.archive-dot.reflections{background:var(--cream)}
.archive-dot.poems{background:var(--blush)}
.archive-dot.letters{background:var(--letter-green)}
.archive-group h2{margin:0;color:var(--forest);font:500 1.7rem/1.07 var(--serif)}
.archive-group .cadence{margin:0;color:var(--muted);font-size:.76rem;line-height:1.2}
.entry-list{list-style:none;padding:0;margin:0}
.entry-list li{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.entry-list li:last-child{border-bottom:0}
.entry-list a{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none}
.entry-list a:hover{color:var(--rust)}
.entry-list time{color:var(--muted);font-size:.72rem;white-space:nowrap}
.archive-lock .tlwh-lock-svg{width:14px;height:14px}
.empty-entry{color:var(--muted);font-size:.82rem}
.keepsakes-page{padding:36px 0 44px}
.keepsakes-wrap{max-width:none}
.keepsakes-copy{max-width:none}
.keepsakes-copy .heading{white-space:nowrap}
.keepsakes-coming-soon{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px 24px;border:1px solid rgba(48,77,58,.08);border-radius:10px;background:var(--cream);text-align:center}
.keepsakes-coming-soon h2{margin:0;color:var(--forest);font:500 clamp(1.6rem,2.7vw,2.15rem)/1.1 var(--serif);letter-spacing:.06em}
.keepsakes-rule{width:30px;height:1px;margin:15px 0 12px;background:var(--rust)}
.keepsakes-coming-soon p{margin:0 0 20px;color:var(--muted);font-size:.78rem}
.keepsakes-notify{min-height:38px;padding-inline:18px;border-color:var(--rust);background:transparent;color:var(--rust);font-size:.65rem}
.keepsakes-notify:hover{background:var(--rust);color:#fff}
.article-copy{color:var(--ink);font:400 1.06rem/1.7 var(--serif)}
.article-copy p{margin:0 0 16px}

.legal-wrap{max-width:900px}
.legal-hero{margin-bottom:32px}
.legal-updated{margin:12px 0 0;color:var(--muted);font-size:.78rem}
.legal-prose{padding:30px clamp(22px,4vw,42px);border:1px solid var(--line);border-radius:22px;background:rgba(255,250,241,.72);color:var(--ink);font:400 1rem/1.75 var(--serif)}
.legal-prose h2{margin:30px 0 8px;color:var(--forest);font:500 1.45rem/1.15 var(--serif)}
.legal-prose h2:first-of-type{margin-top:22px}
.legal-prose p{margin:0 0 15px}
.legal-prose ul{margin:8px 0 18px;padding-left:1.25rem}
.legal-prose li{margin:7px 0}
.legal-prose a{color:var(--rust);overflow-wrap:anywhere;text-underline-offset:3px}

/* Paid Memberships Pro / checkout */
.pmpro,.pmpro_checkout,.pmpro_content_message{max-width:100%}
.pmpro .pmpro_card,.pmpro_checkout .pmpro_card,.pmpro_checkout-field{border-color:var(--line);border-radius:18px}
.pmpro .pmpro_card{background:rgba(255,250,241,.78);box-shadow:0 10px 32px rgba(72,53,40,.06)}
.pmpro .pmpro_card_title,.pmpro .pmpro_font-large{color:var(--forest);font-family:var(--serif)}
.pmpro .pmpro_form_field input,.pmpro .pmpro_form_field select,.pmpro .pmpro_form_field textarea,.pmpro_checkout input,.pmpro_checkout select,.pmpro_checkout textarea{width:100%;max-width:100%;border-color:var(--line);border-radius:10px;background:rgba(255,250,241,.92);color:var(--ink)}
.pmpro .pmpro_btn,.pmpro .pmpro_btn-submit-checkout,.pmpro_checkout .pmpro_btn{min-height:44px;border:1px solid var(--forest);border-radius:999px;background:var(--forest);color:#fff;font-weight:700}
.pmpro .pmpro_btn:hover,.pmpro_checkout .pmpro_btn:hover{background:var(--forest-deep)}
.pmpro a{overflow-wrap:anywhere}

/* Back to top */
.back-to-top{position:fixed;right:16px;bottom:16px;z-index:1100;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:rgba(255,250,241,.95);color:var(--forest);box-shadow:0 10px 30px rgba(72,53,40,.10);text-decoration:none;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s ease}
.back-to-top.show{opacity:1;pointer-events:auto;transform:none}

@media(max-width:960px){
  .header-inner{min-height:auto;flex-wrap:wrap;gap:10px 20px;padding:12px 0}
  .primary-nav{flex:1 1 auto;gap:clamp(12px,2.2vw,22px)}
  .home-scroll{min-height:calc(100svh - 88px)}
  .hero-key{grid-template-columns:1fr 1fr}
  .posts-grid,.tier-grid{grid-template-columns:1fr 1fr}
  .post-card:last-child,.tier-card:last-child{grid-column:1/-1}
  .tier-card.featured{transform:none}
  .steps-wrap,.contact-banner{grid-template-columns:1fr}
  .archive-group{grid-template-columns:1fr}
}

/* Mobile navigation remains fully visible without a hidden hamburger menu. */
@media(max-width:780px){
  :root{--container:min(100% - 32px,1140px)}
  html{scroll-padding-top:132px}
  .site-header{box-shadow:0 8px 24px rgba(72,53,40,.06)}
  .header-inner{display:grid;grid-template-columns:1fr;gap:10px;padding:11px 0 10px}
  .brand{width:max-content;max-width:100%;margin-inline:auto;gap:9px}
  .monogram{width:25px;height:25px;flex-basis:25px;font-size:.4rem}
  .wordmark{font-size:1.12rem}
  .primary-nav{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 6px;align-items:center}
  .primary-nav a{min-width:0;min-height:42px;display:flex;align-items:center;justify-content:center;padding:8px 3px;text-align:center;font-size:.67rem;line-height:1.2;letter-spacing:.015em}
  .primary-nav a:not(.nav-cta):after{bottom:3px}
  .primary-nav .nav-cta{grid-column:1/-1;min-height:44px;display:flex;align-items:center;justify-content:center;padding:7px 14px;border-radius:12px;font-size:.67rem}
  .home-scroll{min-height:auto}
  .section,.contact-section{padding:58px 0}
  .heading{font-size:clamp(1.9rem,7vw,2.65rem);line-height:1.08}
  .journal-heading{white-space:normal}
  .posts-grid,.tier-grid{grid-template-columns:1fr}
  .post-card:last-child,.tier-card:last-child{grid-column:auto}
  .steps-wrap{gap:30px}
  .contact-banner{gap:30px}
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .footer-contact{text-align:left}
}

@media(max-width:680px){
  :root{--container:min(100% - 28px,1140px)}
  body{font-size:15px;overflow-x:hidden}
  .button{min-height:44px}
  .hero{padding:34px 0 50px}
  .hero-inner{gap:18px}
  .hero-blurb{font-size:.96rem;line-height:1.52}
  .ornament,.series-divider{font-size:.6rem;gap:9px;letter-spacing:.11em}
  .ornament:before,.ornament:after,.series-divider:before,.series-divider:after{width:27px}
  .series-divider{line-height:1.4}
  .hero-key{grid-template-columns:1fr;min-height:0;border-radius:23px}
  .hero-copy{min-height:168px;padding:28px 23px}
  .hero-title{font-size:clamp(1.9rem,9vw,2.55rem);line-height:1.02;letter-spacing:-.045em}
  .hero-title span:last-child{margin-top:7px;white-space:normal}
  .travel-photo{min-height:300px;background-position:center 48%}
    .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .hero-actions .button{width:100%;padding:0 12px;font-size:.64rem}

  .section-heading-block{margin-bottom:25px}
  .journal-tagline{margin-bottom:11px}
  .posts-grid{gap:14px}
  .post-card{min-height:0;padding:24px 22px 23px;border-radius:19px}
  .post-card:hover{transform:none;box-shadow:none}
  .card-series{margin-bottom:16px}
  .post-card h3{font-size:1.55rem}
  .post-card>p:not(.card-series){font-size:.88rem;line-height:1.65}
  .post-card .button.text{min-height:44px;margin-top:7px;padding:10px 0}

  .subscriptions{padding-top:62px;padding-bottom:62px}
  .subscriptions-heading{margin-bottom:28px}
  .tier-grid{gap:15px}
  .tier-card{padding:25px 22px;border-radius:20px}
  .tier-card h3{font-size:1.48rem}
  .tier-card li{font-size:.84rem;line-height:1.45}
  .tier-card.featured{box-shadow:0 18px 42px rgba(0,0,0,.16)}

  .steps-container{gap:30px}
  .steps-wrap{grid-template-columns:1fr;gap:28px}
  .steps li{grid-template-columns:40px 1fr;gap:12px;padding:17px 0}
  .steps li:before{font-size:1.13rem}
  .steps strong{font-size:1.17rem}
  .steps p{font-size:.84rem;line-height:1.55}
  .steps-dots{padding-top:0}

  .contact-section{padding:56px 0}
  .contact-banner{grid-template-columns:1fr;gap:28px;padding:24px 20px;border-radius:20px}
  .contact-copy .eyebrow{margin-top:0;margin-bottom:3px}
  .contact-copy h2{margin-bottom:16px;font-size:1.72rem}
  .contact-copy p{font-size:.88rem;line-height:1.62}
  .contact-copy .care-line{margin-top:22px}
  .contact-email{overflow-wrap:anywhere}
  .contact-form{gap:11px}
  .form-row{grid-template-columns:1fr;gap:11px}
  .field label{font-size:.69rem}
  .field input,.field textarea{min-height:44px;padding:11px 12px;background:rgba(255,250,241,.88);font-size:16px}
  .field textarea{min-height:112px}
  .contact-form .button{width:100%;justify-self:stretch;margin-top:2px}

  .site-footer{padding:28px 0 24px}
  .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px}
  .footer-links a,.footer-contact a,.footer-policy-links a{min-height:36px;display:inline-flex;align-items:center;font-size:.78rem}
  .footer-legal-row{align-items:flex-start;margin-top:20px}
  .footer-copyright{line-height:1.5}
  .footer-policy-links{gap:7px 12px}

  .page-main{min-height:auto;padding:36px 0 56px}
  .page-hero{margin-bottom:23px}
  .about-page{padding-top:32px}
  .about-prose{font-size:1rem;line-height:1.72;text-align:left}
  .about-prose p{margin-bottom:19px}
  .archive-intro .heading,.keepsakes-copy .heading{white-space:normal}
  .archive-groups{gap:14px}
  .archive-group{padding:21px 19px;border-radius:19px}
  .archive-series{gap:12px}
  .archive-dot{width:38px;height:38px;flex-basis:38px}
  .archive-group h2{font-size:1.5rem}
  .entry-list li{grid-template-columns:1fr;gap:7px;padding:13px 0}
  .entry-list a{line-height:1.45}
  .entry-list time{margin:0;font-size:.73rem}
  .keepsakes-page{padding:34px 0 48px}
  .keepsakes-coming-soon{min-height:230px;padding:34px 20px}
  .keepsakes-coming-soon p{font-size:.86rem}
  .legal-prose{padding:24px 19px;border-radius:18px;font-size:1rem;line-height:1.7}
  .legal-prose h2{font-size:1.35rem}
  .pmpro .pmpro_form_field input,.pmpro .pmpro_form_field select,.pmpro .pmpro_form_field textarea,.pmpro_checkout input,.pmpro_checkout select,.pmpro_checkout textarea{min-height:46px;font-size:16px}
  .pmpro .pmpro_card{border-radius:18px}
  .pmpro .pmpro_card_content{padding-left:16px;padding-right:16px}
  .article-copy{font-size:1rem;line-height:1.68}
  .back-to-top{right:12px;bottom:12px;width:44px;height:44px}
  .pmpro a{min-height:40px}
  .pmpro .pmpro_btn,.pmpro_checkout .pmpro_btn{width:100%}
}

@media(max-width:390px){
  :root{--container:min(100% - 24px,1140px)}
  .wordmark{font-size:1.04rem}
  .primary-nav{gap:3px 4px}
  .primary-nav a{font-size:.63rem}
  .hero-actions{grid-template-columns:1fr}
  .hero-copy{min-height:155px;padding:24px 20px}
  .travel-photo{min-height:270px}
  .heading{font-size:1.9rem}
  .ornament,.series-divider{letter-spacing:.085em}
  .ornament:before,.ornament:after,.series-divider:before,.series-divider:after{width:21px}
  .footer-links{grid-template-columns:1fr 1fr}
  .footer-legal-row{display:grid;gap:10px}
  .footer-policy-links{display:grid;grid-template-columns:1fr 1fr}
}

@media(max-width:420px) and (max-height:740px){
  .hero-blurb{font-size:.89rem}
  .hero-copy{min-height:142px}
  .travel-photo{min-height:245px}
  .hero-title{font-size:1.82rem}
  .wordmark{font-size:1rem}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}
}

.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}


/* Version 1.4.1 — final heading, checkout, and Keepsakes refinements */
.about-page,.archive-page,.keepsakes-page{padding-top:38px}
.about-hero,.archive-intro,.keepsakes-copy{
  width:100%;
  max-width:none;
  text-align:left;
}
.about-hero .heading,.archive-intro .heading,.keepsakes-copy .heading{
  margin:0;
  color:var(--forest);
  font:500 clamp(1.75rem,3.1vw,3rem)/1.06 var(--serif);
  letter-spacing:-.035em;
  text-align:left;
}

/* PMPro checkout voice and compact, one-scroll presentation. */
.tlwh-checkout-page{
  min-height:calc(100svh - 76px);
  padding:25px 0 34px;
}
.tlwh-checkout-container{max-width:940px}
.tlwh-checkout-hero{max-width:none;margin:0 0 14px}
.tlwh-checkout-hero .heading{font-size:clamp(1.9rem,3.2vw,2.8rem)}
.tlwh-checkout-content>.pmpro,.tlwh-checkout-content>.pmpro_checkout{margin:0}
.tlwh-pmpro-checkout .pmpro section,
.tlwh-pmpro-checkout .pmpro_form,
.tlwh-pmpro-checkout .pmpro_form_fieldset{margin-block:0}
.tlwh-pmpro-checkout .pmpro .pmpro_card{margin:0 0 12px;border-radius:16px}
.tlwh-pmpro-checkout .pmpro .pmpro_card_title{
  margin:0;
  padding:16px 19px 0;
  color:var(--forest);
  font:700 .69rem/1.2 var(--sans);
  letter-spacing:.14em;
  text-align:left;
  text-transform:uppercase;
}
.tlwh-pmpro-checkout .pmpro .pmpro_card_content{padding:12px 19px 15px;text-align:left}
.tlwh-pmpro-checkout .pmpro .pmpro_card_content p{margin:0 0 7px}
.tlwh-pmpro-checkout .pmpro .pmpro_level_name_text,
.tlwh-pmpro-checkout .pmpro .pmpro_level_cost_text{font-size:.88rem;line-height:1.48;text-align:left}
.tlwh-pmpro-checkout .pmpro #pmpro_level_cost p{margin-bottom:0}
.tlwh-pmpro-checkout .pmpro .pmpro_form_fields{gap:10px}
.tlwh-pmpro-checkout .pmpro .pmpro_form_field{margin:0}
.tlwh-pmpro-checkout .pmpro .pmpro_form_label{margin-bottom:4px;color:var(--forest);font-size:.72rem;font-weight:700}
.tlwh-pmpro-checkout .pmpro .pmpro_form_field input,
.tlwh-pmpro-checkout .pmpro .pmpro_form_field select,
.tlwh-pmpro-checkout .pmpro .pmpro_form_field textarea{min-height:42px;padding:9px 11px}
.tlwh-pmpro-checkout .pmpro .pmpro_form_field-password-toggle{margin-top:3px}
.tlwh-pmpro-checkout .pmpro .pmpro_card_actions{padding:0 19px 14px;font-size:.78rem;text-align:left}
.tlwh-pmpro-checkout #other_discount_code_p,
.tlwh-pmpro-checkout #other_discount_code_fields{display:none!important}
.tlwh-pmpro-checkout .pmpro_form_submit{margin-top:12px;text-align:left}
.tlwh-pmpro-checkout #pmpro_btn-submit{min-width:280px;padding-inline:24px}
.tlwh-checkout-welcome{margin:20px 0 0;color:var(--forest);font:500 1.08rem/1.55 var(--serif)}

@media(max-width:680px){
  .about-page,.archive-page,.keepsakes-page{padding-top:32px}
  .about-hero .heading,.archive-intro .heading,.keepsakes-copy .heading{
    font-size:clamp(1.9rem,7vw,2.65rem);
    line-height:1.08;
    white-space:normal;
  }
  .tlwh-checkout-page{padding:28px 0 46px}
  .tlwh-checkout-hero{margin-bottom:15px}
  .tlwh-pmpro-checkout .pmpro .pmpro_card_title{padding:15px 16px 0}
  .tlwh-pmpro-checkout .pmpro .pmpro_card_content{padding:12px 16px 15px}
  .tlwh-pmpro-checkout .pmpro .pmpro_card_actions{padding:0 16px 15px}
  .tlwh-pmpro-checkout .pmpro .pmpro_cols-2{grid-template-columns:1fr}
  .tlwh-pmpro-checkout #pmpro_btn-submit{width:100%;min-width:0}
}

/* Version 1.5.1 - pre-launch polish, performance, engagement, recommendations, and footer social spacing */
:root{--reference-heading-size:clamp(1.95rem,3.1vw,3.1rem)}

/* The former fixed SVG turbulence overlay was expensive to repaint on mobile. */
body:before{content:none!important}
.site-header{background:rgba(245,239,228,.98);backdrop-filter:blur(8px)}
.reference-heading{font-size:var(--reference-heading-size)!important;line-height:1.04!important;letter-spacing:-.04em!important}
.travel-photo picture{position:absolute;inset:0;display:block}
.travel-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%}
.card-series.letters{justify-content:flex-start;gap:6px}
.cta-arrow,.recommended-link span{display:inline-block;margin-left:.38em}
.footer-email{display:inline-flex;align-items:center;min-height:28px}
.footer-social-row{display:flex;justify-content:flex-end;align-items:center;margin-top:10px}
.footer-instagram{width:40px;height:40px;display:inline-flex!important;align-items:center;justify-content:center;border:1px solid rgba(90,82,68,.24);border-radius:50%;color:var(--muted)!important;text-decoration:none;transition:border-color .18s ease,background-color .18s ease,color .18s ease,transform .18s ease}
.footer-instagram:hover,.footer-instagram:focus-visible{border-color:var(--rust);background:rgba(179,101,73,.07);color:var(--rust)!important;transform:translateY(-1px)}
.footer-instagram:focus-visible{outline:2px solid rgba(179,101,73,.35);outline-offset:3px}
.footer-instagram svg{width:16px;height:16px;display:block;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.footer-instagram .instagram-dot{fill:currentColor;stroke:none}

/* PMPro checkout wording and button proportions. */
.tlwh-pmpro-checkout #pmpro_btn-submit,
.tlwh-pmpro-checkout .pmpro_btn-submit-checkout{
  width:auto!important;
  min-width:0!important;
  min-height:auto!important;
  padding:11px 17px!important;
  font-size:.76rem!important;
  line-height:1.2!important;
}
.tlwh-pmpro-checkout .pmpro_form_field-password-toggle,
.tlwh-pmpro-checkout .pmpro_form_field-password-toggle button,
.tlwh-pmpro-checkout .pmpro_form_field-password-toggle svg{
  color:var(--forest)!important;
  font-size:.72rem!important;
}
.tlwh-pmpro-checkout .pmpro_form_field-password-toggle svg{width:.9rem!important;height:.9rem!important}

/* Single post share and like controls. */
.single-entry-wrap{max-width:980px}
.single-entry-hero,.single-entry-content{max-width:860px}
.post-engagement{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:42px 0 52px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.post-engagement-title{margin:0 0 10px;color:var(--forest);font:600 .72rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.post-share-buttons{display:flex;flex-wrap:wrap;gap:9px}
.share-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 15px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--forest);font-size:.72rem;font-weight:700;text-decoration:none;transition:.18s ease}
.share-button:hover{border-color:var(--rust);background:rgba(179,101,73,.08);color:var(--rust)}
.share-instagram{border-color:var(--rust);color:var(--rust)}
.share-facebook{border-color:var(--forest);background:rgba(48,77,58,.05)}
.share-x{border-color:rgba(90,82,68,.45);background:rgba(90,82,68,.05);color:var(--muted)}
.post-share-status{min-height:1.3em;margin:8px 0 0;color:var(--muted);font-size:.72rem}
.tlwh-like-button{min-height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 15px;border:1px solid rgba(179,101,73,.38);border-radius:999px;background:transparent;color:var(--rust);font-weight:700}
.tlwh-like-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}
.tlwh-like-button:hover,.tlwh-like-button.is-liked{background:rgba(179,101,73,.09)}
.tlwh-like-button.is-liked svg{fill:currentColor}
.tlwh-like-count{min-width:1.5em;padding-left:7px;border-left:1px solid rgba(179,101,73,.28);text-align:center}

/* Hide Jetpack's default sharing/likes/related output; the theme provides a branded replacement. */
.single-post .sharedaddy,
.single-post .jetpack-likes-widget-wrapper,
.single-post .jp-relatedposts,
.single-post .wp-block-jetpack-subscriptions,
.single-post .wpcom-subscription-box,
.single-post .wpcom-site-subscription-modal,
.single-post .jetpack-subscribe-modal{display:none!important}

/* Category-pure recommended post cards. */
.recommended-posts{margin:0 0 22px}
.recommended-heading-row{margin-bottom:22px}
.recommended-heading{font-size:clamp(1.65rem,2.5vw,2.25rem)}
.recommended-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.recommended-card{min-height:238px;display:flex;flex-direction:column;padding:24px 22px;border:1px solid var(--line);border-top:5px solid var(--cream);border-radius:18px;background:rgba(255,250,241,.78)}
.recommended-card.poems{border-top-color:var(--blush)}
.recommended-card.letters{border-top-color:var(--letter-green)}
.recommended-series{margin:0 0 17px;color:#887c68;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.recommended-card.poems .recommended-series{color:var(--blush)}
.recommended-card.letters .recommended-series{color:var(--letter-green)}
.recommended-card h3{margin:0 0 11px;color:var(--ink);font:500 1.28rem/1.16 var(--serif)}
.recommended-card h3 a{text-decoration:none}
.recommended-card h3 a:hover{color:var(--rust)}
.recommended-card time{margin-bottom:20px;color:var(--muted);font-size:.72rem}
.recommended-link{margin-top:auto;color:var(--forest);font-size:.78rem;font-weight:700;text-decoration:none}
.recommended-link:hover{color:var(--rust)}

/* Paint containment keeps long archives and lower homepage sections light to scroll. */
.archive-group,.recommended-card,.post-card,.tier-card{contain:layout paint}

@media(max-width:780px){
  .site-header{backdrop-filter:none}
  .reference-heading{font-size:clamp(1.9rem,7vw,2.65rem)!important}
  .post-engagement{align-items:flex-start;flex-direction:column}
  .recommended-grid{grid-template-columns:1fr}
  .recommended-card{min-height:210px}
  .footer-social-row{justify-content:flex-start}
}

@media(max-width:680px){
  .tlwh-pmpro-checkout #pmpro_btn-submit,
  .tlwh-pmpro-checkout .pmpro_btn-submit-checkout{width:auto!important}
}


/* Version 1.5.2 — final client revision pass */
:root{
  --reference-heading-size:clamp(1.95rem,3.1vw,3.1rem);
  --site-grid-gap:clamp(18px,2.25vw,30px);
}

/* Navigation order and six-link responsive layout. */
.primary-nav{gap:clamp(12px,1.65vw,23px)}
@media(max-width:780px){
  .primary-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px 5px}
  .primary-nav .nav-cta{grid-column:1/-1}
}
@media(max-width:500px){
  .primary-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .primary-nav .nav-cta{grid-column:1/-1}
}

/* One reference scale and rhythm for every named display heading. */
.reference-heading{
  margin:0!important;
  font-size:var(--reference-heading-size)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
}
.section-heading-block,.interior-hero{margin-bottom:30px}
.about-hero .heading,.archive-intro .heading,.keepsakes-copy .heading{
  font-size:var(--reference-heading-size)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
}
.about-prose{
  max-width:860px;
  font-size:1rem;
  line-height:1.72;
  text-align:left;
}

/* Footer uses explicit grid rows so both columns line up exactly. */
.footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "explore-title contact-title"
    "explore-links contact-details"
    "legal legal";
  column-gap:clamp(38px,7vw,96px);
  row-gap:9px;
  align-items:start;
}
.footer-title{margin:0}
.footer-title-explore{grid-area:explore-title}
.footer-title-contact{grid-area:contact-title;text-align:right}
.footer-links{grid-area:explore-links;align-self:center}
.footer-contact-details{
  grid-area:contact-details;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  min-height:40px;
}
.footer-email{min-height:40px}
.footer-legal-row{
  grid-area:legal;
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid rgba(48,77,58,.09);
}
.footer-instagram{margin:0}
@media(max-width:780px){
  .footer-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "explore-title"
      "explore-links"
      "contact-title"
      "contact-details"
      "legal";
    row-gap:10px;
  }
  .footer-title-contact{margin-top:10px;text-align:left}
  .footer-contact-details{justify-content:flex-start}
}
@media(max-width:390px){
  .footer-contact-details{align-items:flex-start;flex-direction:column;gap:4px}
}

/* Archive: three cards are visible on desktop; each category scrolls in its own row. */
.archive-groups{gap:18px}
.archive-group{
  display:grid;
  grid-template-columns:200px minmax(0,1fr);
  gap:26px;
  align-items:start;
  padding:24px 26px 18px;
}
.archive-series{padding-top:10px}
.archive-track-wrap{min-width:0;overflow:hidden}
.archive-track{
  list-style:none;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 32px)/3);
  gap:16px;
  margin:0;
  padding:2px 2px 12px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:2px;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:rgba(48,77,58,.34) transparent;
}
.archive-track::-webkit-scrollbar{height:7px}
.archive-track::-webkit-scrollbar-track{background:transparent}
.archive-track::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(48,77,58,.28)}
.archive-track:focus-visible{
  outline:2px solid rgba(179,101,73,.38);
  outline-offset:4px;
  border-radius:14px;
}
.archive-entry-card{
  min-width:0;
  min-height:162px;
  display:flex;
  flex-direction:column;
  scroll-snap-align:start;
  padding:18px 17px;
  border:1px solid var(--line);
  border-top:4px solid var(--cream);
  border-radius:16px;
  background:rgba(255,250,241,.84);
}
.archive-track.poems .archive-entry-card{border-top-color:var(--blush)}
.archive-track.letters .archive-entry-card{border-top-color:var(--letter-green)}
.archive-entry-series{
  display:flex;
  align-items:center;
  gap:6px;
  margin:0 0 14px;
  color:#887c68;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.archive-track.poems .archive-entry-series{color:var(--blush)}
.archive-track.letters .archive-entry-series{color:var(--letter-green)}
.archive-entry-card h3{margin:0 0 12px;font:500 1.16rem/1.18 var(--serif)}
.archive-entry-card h3 a{color:var(--ink);text-decoration:none}
.archive-entry-card h3 a:hover{color:var(--rust)}
.archive-entry-card time{margin-top:auto;color:var(--muted);font-size:.7rem}
.archive-entry-card.empty-entry{justify-content:center;color:var(--muted)}
@media(max-width:960px){
  .archive-group{grid-template-columns:1fr}
  .archive-series{padding-top:0}
  .archive-track{grid-auto-columns:calc((100% - 16px)/2)}
}
@media(max-width:680px){
  .archive-track{grid-auto-columns:min(84%,320px)}
  .archive-entry-card{min-height:154px}
}

/* Recommended section heading is deliberately modest, roughly twice the share label. */
.recommended-heading-row{margin-bottom:18px}
.recommended-heading{
  margin:0;
  color:var(--forest);
  font:500 clamp(1.3rem,1.8vw,1.48rem)/1.15 var(--serif);
  letter-spacing:-.02em;
}

/* Share hover matches the filled terracotta Notify Me state. */
.share-button:hover,.share-button:focus-visible{
  border-color:var(--rust);
  background:var(--rust);
  color:#fff;
}
.share-button:focus-visible{outline:2px solid rgba(179,101,73,.32);outline-offset:3px}

/* Align the heart/count with the share-button row and reduce visual bulk. */
.post-engagement{align-items:flex-start}
.tlwh-like-button{
  min-height:38px;
  margin-top:calc(.72rem * 1.2 + 10px);
  padding:0 13px;
  gap:7px;
}
.tlwh-like-button svg{width:17px;height:17px}
.tlwh-like-count{padding-left:6px}
@media(max-width:780px){
  .tlwh-like-button{margin-top:0}
}

/* Checkout password fields share a strict two-column grid and aligned controls. */
.tlwh-pmpro-checkout .pmpro .pmpro_cols-2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
}
.tlwh-pmpro-checkout .pmpro .pmpro_cols-2>*{
  min-width:0!important;
  margin:0!important;
}
.tlwh-pmpro-checkout .pmpro .pmpro_form_field-password,
.tlwh-pmpro-checkout .pmpro .pmpro_form_field-password2,
.tlwh-pmpro-checkout .pmpro #pmpro_user_fields .pmpro_form_field:has(#password),
.tlwh-pmpro-checkout .pmpro #pmpro_user_fields .pmpro_form_field:has(#password2){
  display:grid!important;
  grid-template-rows:auto minmax(42px,auto) auto;
  align-content:start;
}
.tlwh-pmpro-checkout #password,
.tlwh-pmpro-checkout #password2{width:100%!important}
@media(max-width:680px){
  .tlwh-pmpro-checkout .pmpro .pmpro_cols-2{grid-template-columns:1fr!important}
}

/* Small consistency safeguards. */
.home-scroll,.page-main,.site-footer{scroll-margin-top:0}

/* Version 1.6.1 - corrected final revisions (6 August 2026) */

/* Homepage: exact approved secondary-button hover. */
.hero-actions .button.secondary{
  border-color:#2F4A3C;
  background:transparent;
  color:#2F4A3C;
}
.hero-actions .button.secondary:hover,
.hero-actions .button.secondary:focus-visible{
  border-color:#2F4A3C;
  background:#2F4A3C;
  color:#FFF6EE;
}

/* Homepage Letters placeholder: use the same title type and vertical rhythm as the other journal cards. */
.post-card.is-letters-placeholder .letters-placeholder-title{
  margin:0 0 8px;
  color:var(--forest);
  font:500 1.46rem/1.12 var(--serif);
}
@media(max-width:680px){
  .post-card.is-letters-placeholder .letters-placeholder-title{font-size:1.55rem}
}

/* About: supplied 80px portrait beside the unchanged heading where space allows. */
.about-heading-row{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}
.about-headshot{
  width:80px;
  height:80px;
  flex:0 0 80px;
  display:block;
  overflow:hidden;
  border-radius:50%;
  background:var(--paper);
  box-shadow:0 0 0 1px rgba(48,77,58,.12);
}
.about-headshot img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
@media(min-width:901px){
  .about-heading-row .heading{white-space:nowrap}
}
@media(max-width:900px){
  .about-heading-row{
    display:grid;
    gap:13px;
    justify-items:start;
  }
}

/* Archive: plain vertical lists with exactly three visible rows. */
.archive-groups{
  display:grid;
  gap:30px;
}
.archive-group{
  display:grid;
  grid-template-columns:200px minmax(0,1fr);
  gap:26px;
  align-items:start;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.archive-series{
  align-items:center;
  padding-top:8px;
}
.archive-list-wrap{
  position:relative;
  min-width:0;
}
.archive-list{
  --archive-row-height:70px;
  height:calc(var(--archive-row-height) * 3);
  list-style:none;
  margin:0;
  padding:0 10px 0 0;
  overflow:hidden;
  scrollbar-width:thin;
  scrollbar-color:rgba(48,77,58,.42) rgba(48,77,58,.07);
}
.archive-list-wrap.has-overflow .archive-list{
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
.archive-list::-webkit-scrollbar{width:6px}
.archive-list::-webkit-scrollbar-track{
  border-radius:999px;
  background:rgba(48,77,58,.07);
}
.archive-list::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(48,77,58,.36);
}
.archive-list:focus-visible{
  outline:2px solid rgba(179,101,73,.35);
  outline-offset:4px;
  border-radius:8px;
}
.archive-entry{
  min-width:0;
  height:var(--archive-row-height);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:10px 0;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
}
.archive-entry:last-child{border-bottom:0}
.archive-entry a{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--ink);
  text-decoration:none;
}
.archive-entry a:hover,
.archive-entry a:focus-visible{color:var(--rust)}
.archive-entry-title{
  min-width:0;
  display:-webkit-box;
  overflow:hidden;
  font:500 1.05rem/1.25 var(--serif);
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.archive-entry time{
  color:var(--muted);
  font-size:.72rem;
  white-space:nowrap;
}
.archive-empty{
  grid-template-columns:1fr;
  color:var(--muted);
  font-size:.82rem;
}
.archive-list-wrap.is-placeholder .archive-list{
  height:auto;
  min-height:0;
  padding-right:0;
  overflow:visible;
}
.archive-list-wrap.is-placeholder .archive-entry{
  height:auto;
  min-height:0;
  grid-template-columns:1fr;
  padding:11px 0;
}
.archive-list-wrap.is-placeholder .archive-entry-title{
  display:block;
  overflow:visible;
  -webkit-line-clamp:initial;
}
.archive-list-wrap.has-overflow::after{
  content:"↓";
  position:absolute;
  right:12px;
  bottom:2px;
  width:26px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(245,239,228,.28),var(--ivory) 58%);
  color:var(--forest);
  font:700 .84rem/1 var(--sans);
  opacity:0;
  pointer-events:none;
  transform:translateY(-2px);
  transition:opacity .18s ease,transform .18s ease;
}
.archive-list-wrap.has-overflow:hover::after,
.archive-list-wrap.has-overflow:focus-within::after{
  opacity:.82;
  transform:none;
}
.archive-list-wrap.has-overflow.is-at-end::after{opacity:0}
@media(max-width:960px){
  .archive-group{grid-template-columns:170px minmax(0,1fr)}
}
@media(max-width:680px){
  .archive-groups{gap:26px}
  .archive-group{
    grid-template-columns:1fr;
    gap:12px;
  }
  .archive-series{padding-top:0}
  .archive-list{
    --archive-row-height:76px;
    padding-right:7px;
  }
  .archive-entry{
    gap:12px;
    padding:10px 0;
  }
  .archive-entry-title{font-size:1rem}
  .archive-entry time{font-size:.69rem}
}
@media(max-width:430px){
  .archive-entry{
    grid-template-columns:minmax(0,1fr) 92px;
    gap:10px;
  }
  .archive-placeholder{grid-template-columns:1fr}
  .archive-entry time{
    line-height:1.25;
    text-align:right;
    white-space:normal;
  }
}

/* Individual posts: exact X colours and compact recommendations. */
.share-x{
  border-color:#D98FA3;
  background:#FFF6EE;
  color:#D98FA3;
}
.share-x:hover,
.share-x:focus-visible{
  border-color:#A24B6B;
  background:#A24B6B;
  color:#FFF6EE;
}
.recommended-card{
  min-height:0;
  padding:20px 20px 18px;
}
.recommended-series{margin-bottom:12px}
.recommended-card h3{margin-bottom:8px}
.recommended-card time{
  display:block;
  margin:0 0 8px;
}
.recommended-link{
  margin-top:0;
  align-self:flex-start;
}
@media(max-width:780px){
  .recommended-card{min-height:0}
}

/* Checkout: all requested identity fields share one exact height. */
.tlwh-pmpro-checkout{
  --tlwh-checkout-field-height:44px;
}
.tlwh-pmpro-checkout #username,
.tlwh-pmpro-checkout #password,
.tlwh-pmpro-checkout #password2,
.tlwh-pmpro-checkout #bemail,
.tlwh-pmpro-checkout #bconfirmemail,
.tlwh-pmpro-checkout #email_address,
.tlwh-pmpro-checkout #confirm_email{
  width:100%!important;
  height:var(--tlwh-checkout-field-height)!important;
  min-height:var(--tlwh-checkout-field-height)!important;
  padding:9px 11px!important;
  line-height:1.35!important;
}
.tlwh-pmpro-checkout .tlwh-password-field{
  display:block!important;
  position:relative;
}
.tlwh-pmpro-checkout .tlwh-password-label-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 4px;
}
.tlwh-pmpro-checkout .tlwh-password-label-row > .pmpro_form_label,
.tlwh-pmpro-checkout .tlwh-password-label-row > label{
  margin:0!important;
  padding:0!important;
}
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto;
  margin:0!important;
  line-height:1.2!important;
}
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle button{
  min-height:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  line-height:1.2!important;
}
@media(max-width:680px){
  .tlwh-pmpro-checkout{--tlwh-checkout-field-height:46px}
}

/* Footer: upper Explore/Contact row, lower copyright/Instagram/policies row, no divider. */
.footer-shell{display:block}
.footer-top-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(38px,7vw,96px);
  align-items:start;
}
.footer-column{
  display:grid;
  grid-template-rows:auto minmax(40px,auto);
  gap:9px;
  align-items:start;
}
.footer-contact{justify-items:end}
.footer-title{margin:0}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 18px;
  min-height:40px;
}
.footer-email{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  color:var(--muted);
  font-size:.75rem;
  text-decoration:none;
}
.footer-email:hover,
.footer-email:focus-visible{color:var(--rust)}
.footer-bottom-row{
  display:grid;
  grid-template-columns:auto 40px minmax(0,1fr);
  align-items:center;
  gap:10px 16px;
  margin-top:18px;
  padding-top:0;
  border-top:0;
}
.footer-bottom-row .footer-instagram{
  align-self:center;
  justify-self:start;
  margin:0;
}
.footer-policy-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:7px 16px;
  justify-self:end;
}
@media(max-width:780px){
  .footer-top-row{
    grid-template-columns:1fr;
    gap:20px;
  }
  .footer-contact{justify-items:start}
  .footer-bottom-row{
    grid-template-columns:minmax(0,1fr) 40px;
    align-items:start;
  }
  .footer-policy-links{
    grid-column:1/-1;
    justify-self:start;
    justify-content:flex-start;
  }
}
@media(max-width:390px){
  .footer-links{display:grid;grid-template-columns:1fr 1fr}
  .footer-policy-links{display:flex;flex-wrap:wrap}
}

/* Version 1.6.2 - urgent client revisions (6 August 2026) */

/* Navigation: the existing member login sits directly before the primary CTA. */
.primary-nav .nav-login{
  color:var(--ink);
  font-weight:800;
}
@media(max-width:780px){
  .primary-nav{grid-template-columns:repeat(6,minmax(0,1fr))}
  .primary-nav .nav-cta{grid-column:1/-1}
}
@media(max-width:560px){
  .primary-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .primary-nav .nav-cta{grid-column:1/-1}
}

/* Homepage: Read the Latest uses the approved terracotta outline/fill states. */
.hero-actions .button.rust{
  border-color:var(--rust);
  background:transparent;
  color:var(--rust);
}
.hero-actions .button.rust:hover,
.hero-actions .button.rust:focus-visible{
  border-color:var(--rust);
  background:var(--rust);
  color:#FFF6EE;
}

/* Letters placeholder: separate title and date, matching the other journal cards. */
.post-card.is-letters-placeholder .letters-placeholder-title{margin-bottom:8px}
.post-card.is-letters-placeholder .letters-placeholder-date{margin-bottom:0}

/* Step Inside: restore full-width account fields and centre the eye with its label. */
.tlwh-pmpro-checkout #pmpro_user_fields .pmpro_cols-2{
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
}
.tlwh-pmpro-checkout #pmpro_user_fields .pmpro_cols-2 > *,
.tlwh-pmpro-checkout #pmpro_user_fields .pmpro_form_field{
  width:100%!important;
  max-width:none!important;
}
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle button{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
}
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle svg{
  display:block!important;
  flex:0 0 auto;
  transform:translateY(1px);
}
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle-state{
  display:inline-block;
  line-height:1!important;
}

/* Archive: one grid-aligned catalogue card, three entries per series, no inner scrolling. */
.archive-catalog-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,250,241,.76);
  box-shadow:0 10px 30px rgba(72,53,40,.035);
}
.archive-catalog-card .archive-group{
  display:grid;
  grid-template-columns:165px minmax(0,1fr);
  gap:0;
  align-items:stretch;
  padding:0;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  contain:none;
}
.archive-catalog-card .archive-group:last-child{border-bottom:0}
.archive-catalog-card .archive-series{
  min-height:132px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:0;
  padding:16px 14px 14px;
}
.archive-catalog-card .archive-dot{
  width:27px;
  height:27px;
  flex:0 0 27px;
  margin:0 0 8px;
}
.archive-catalog-card .archive-group h2{
  margin:0;
  color:var(--forest);
  font:600 1rem/1.15 var(--serif);
}
.archive-more-link{
  margin-top:auto;
  color:var(--rust);
  font-size:.62rem;
  font-weight:700;
  line-height:1.35;
  text-decoration:none;
}
.archive-more-link:hover,
.archive-more-link:focus-visible{color:#914b36;text-decoration:underline;text-underline-offset:3px}
.archive-catalog-card .archive-list-wrap{
  min-width:0;
  padding:0 14px;
  border-left:1px solid var(--line);
}
.archive-catalog-card .archive-list,
.archive-catalog-card .archive-list-wrap.is-placeholder .archive-list,
.archive-catalog-card .archive-list-wrap.has-overflow .archive-list{
  height:auto;
  min-height:0;
  margin:0;
  padding:0;
  overflow:visible;
  scrollbar-width:auto;
}
.archive-catalog-card .archive-list-wrap.has-overflow::after{content:none}
.archive-catalog-card .archive-entry,
.archive-catalog-card .archive-list-wrap.is-placeholder .archive-entry{
  min-height:44px;
  height:auto;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  padding:9px 0;
  border-bottom:1px solid rgba(48,77,58,.11);
}
.archive-catalog-card .archive-entry:last-child{border-bottom:0}
.archive-catalog-card .archive-entry-title,
.archive-catalog-card .archive-list-wrap.is-placeholder .archive-entry-title{
  display:block;
  overflow:visible;
  color:var(--ink);
  font:700 .74rem/1.35 var(--sans);
  -webkit-line-clamp:initial;
}
.archive-catalog-card .archive-entry time{
  color:var(--muted);
  font-size:.67rem;
  line-height:1.35;
  white-space:nowrap;
}
.archive-catalog-card .archive-empty{grid-template-columns:1fr;color:var(--muted)}

/* Full series pages use the same catalogue structure with ordinary page pagination. */
.archive-category-card .archive-group{border-bottom:0}
.archive-category-card .archive-series{min-height:180px}
.archive-category-card .archive-list-complete{height:auto;overflow:visible}
.archive-pagination-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 0 16px;
  border-top:1px solid var(--line);
}
.archive-page-count{margin:0;color:var(--muted);font-size:.7rem;white-space:nowrap}
.archive-pagination-wrap .navigation{margin:0}
.archive-pagination-wrap .nav-links{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.archive-pagination-wrap .page-numbers{
  min-width:34px;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--forest);
  font-size:.68rem;
  font-weight:700;
  text-decoration:none;
}
.archive-pagination-wrap .page-numbers.current,
.archive-pagination-wrap a.page-numbers:hover,
.archive-pagination-wrap a.page-numbers:focus-visible{
  border-color:var(--forest);
  background:var(--forest);
  color:#fff;
}

@media(max-width:680px){
  .archive-catalog-card .archive-group{grid-template-columns:1fr}
  .archive-catalog-card .archive-series{
    min-height:0;
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    align-items:center;
    gap:5px 10px;
    padding:15px 15px 13px;
  }
  .archive-catalog-card .archive-dot{grid-row:1/3;margin:0}
  .archive-catalog-card .archive-group h2{font-size:1.05rem}
  .archive-more-link{grid-column:2;margin-top:0}
  .archive-catalog-card .archive-list-wrap{
    padding:0 15px;
    border-left:0;
    border-top:1px solid var(--line);
  }
  .archive-catalog-card .archive-entry,
  .archive-catalog-card .archive-list-wrap.is-placeholder .archive-entry{
    grid-template-columns:minmax(0,1fr) 94px;
    gap:10px;
    padding:11px 0;
  }
  .archive-catalog-card .archive-entry time{text-align:right;white-space:normal}
  .archive-category-card .archive-series{min-height:0}
  .archive-pagination-wrap{align-items:flex-start;flex-direction:column}
}

/* Footer: three exact grid rows - titles, links/icon, then legal/email. */
.footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "explore-title contact-title"
    "explore-links instagram"
    "legal email";
  column-gap:clamp(38px,7vw,96px);
  row-gap:9px;
  align-items:center;
}
.footer-title-explore{grid-area:explore-title}
.footer-title-contact{grid-area:contact-title;justify-self:end;text-align:right}
.footer-links{
  grid-area:explore-links;
  min-height:40px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px 0;
}
.footer-links a{display:inline-flex;align-items:center;min-height:28px}
.footer-links a + a::before{
  content:"·";
  margin:0 .55rem;
  color:var(--muted);
}
.footer-grid > .footer-instagram{
  grid-area:instagram;
  justify-self:end;
  align-self:center;
  margin:0;
}
.footer-legal-line{
  grid-area:legal;
  min-width:0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px 0;
  margin:0;
  padding:0;
  border:0;
}
.footer-copyright{margin:0}
.footer-policy-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:0;
  justify-self:auto;
}
.footer-policy-links a{display:inline-flex;align-items:center;min-height:28px}
.footer-policy-links a::before{
  content:"·";
  margin:0 .55rem;
  color:var(--muted);
  text-decoration:none;
}
.footer-grid > .footer-email{
  grid-area:email;
  min-height:28px;
  justify-self:end;
  align-self:center;
  white-space:nowrap;
}
@media(max-width:780px){
  .footer-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "explore-title"
      "explore-links"
      "contact-title"
      "instagram"
      "legal"
      "email";
    gap:9px;
    align-items:start;
  }
  .footer-title-contact{justify-self:start;margin-top:11px;text-align:left}
  .footer-grid > .footer-instagram,
  .footer-grid > .footer-email{justify-self:start}
  .footer-legal-line{margin-top:10px}
}
@media(max-width:430px){
  .footer-links{display:flex}
  .footer-legal-line{align-items:flex-start;flex-direction:column;gap:1px}
  .footer-policy-links a:first-child::before{content:none;margin:0}
}

/* Version 1.6.3 - final Step Inside, login, paid-tier and policy pass (6 August 2026) */

/* Step Inside: exact account-field proportions from the final client revision. */
.tlwh-pmpro-checkout #pmpro_user_fields .pmpro_cols-2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  align-items:start!important;
}
.tlwh-pmpro-checkout #pmpro_user_fields .pmpro_cols-2 > *{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.tlwh-pmpro-checkout #pmpro_user_fields .pmpro_form_field-username,
.tlwh-pmpro-checkout #pmpro_user_fields .pmpro_form_field:has(#username){
  width:100%!important;
  max-width:none!important;
  grid-column:1/-1!important;
}
.tlwh-pmpro-checkout #username{width:100%!important;max-width:none!important}

/* Keep the show-password eye and the word Show optically centred on one line. */
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle,
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  line-height:1!important;
}
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle svg{
  width:.9rem!important;
  height:.9rem!important;
  margin:0!important;
  vertical-align:middle!important;
  transform:translateY(1px)!important;
}
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle-state{
  display:inline-flex!important;
  align-items:center!important;
  line-height:1!important;
}

/* The same small green lock used by Letters marks paid tiers on Step Inside. */
.tlwh-paid-tier-lock{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:6px;
  color:var(--letter-green);
  line-height:0;
  vertical-align:middle;
}
.tlwh-paid-tier-lock .tlwh-lock-svg{width:15px;height:15px}
.tlwh-pmpro-checkout .pmpro_level_name_text{display:inline-flex;align-items:center;flex-wrap:wrap}

/* Archive placeholder uses the same green lock as every published Letters entry. */
.archive-placeholder-title-wrap{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.archive-placeholder-title-wrap .archive-lock{flex:0 0 auto}

/* Existing front-end PMPro login page: replace plugin blue with the established TLWH green. */
.pmpro_login_wrap .pmpro_btn,
.pmpro_login_wrap input[type="submit"],
.pmpro_login_wrap button[type="submit"],
.pmpro_login_wrap .button-primary{
  border:1px solid var(--forest)!important;
  background:var(--forest)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.pmpro_login_wrap .pmpro_btn:hover,
.pmpro_login_wrap .pmpro_btn:focus-visible,
.pmpro_login_wrap input[type="submit"]:hover,
.pmpro_login_wrap input[type="submit"]:focus-visible,
.pmpro_login_wrap button[type="submit"]:hover,
.pmpro_login_wrap button[type="submit"]:focus-visible,
.pmpro_login_wrap .button-primary:hover,
.pmpro_login_wrap .button-primary:focus-visible{
  border-color:var(--forest-deep)!important;
  background:var(--forest-deep)!important;
  color:#fff!important;
}

@media(max-width:680px){
  .tlwh-pmpro-checkout #pmpro_user_fields .pmpro_cols-2{
    grid-template-columns:1fr!important;
  }
}
.tlwh-pmpro-checkout .tlwh-paid-tier-name{
  display:inline-flex;
  align-items:center;
}
.tlwh-pmpro-login #wp-submit,
.tlwh-pmpro-login input[type="submit"],
.tlwh-pmpro-login button[type="submit"]{
  border-color:var(--forest)!important;
  background:var(--forest)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.tlwh-pmpro-login #wp-submit:hover,
.tlwh-pmpro-login #wp-submit:focus-visible,
.tlwh-pmpro-login input[type="submit"]:hover,
.tlwh-pmpro-login input[type="submit"]:focus-visible,
.tlwh-pmpro-login button[type="submit"]:hover,
.tlwh-pmpro-login button[type="submit"]:focus-visible{
  border-color:var(--forest-deep)!important;
  background:var(--forest-deep)!important;
  color:#fff!important;
}

/* Version 1.6.4 - strict final revision pass (6 August 2026) */

/*
 * Step Inside password visibility control.
 * Keep Password/Confirm Password on the approved half-width grid while making
 * the native PMPro eye and its Show Password text share one exact centre line.
 * This applies identically to Gentle Readers, Fellow Travellers and Founding
 * Companions because all three use the same checkout markup.
 */
.tlwh-pmpro-checkout .tlwh-password-label-row{
  min-height:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 4px!important;
}
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle{
  position:static!important;
  min-height:18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  align-self:center!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  line-height:18px!important;
  vertical-align:middle!important;
}
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_btn-password-toggle,
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle button{
  width:auto!important;
  min-width:0!important;
  min-height:18px!important;
  height:18px!important;
  display:inline-grid!important;
  grid-template-columns:16px auto!important;
  align-items:center!important;
  justify-items:start!important;
  column-gap:5px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--forest)!important;
  font-size:.72rem!important;
  font-weight:400!important;
  line-height:18px!important;
  text-transform:none!important;
  transform:none!important;
  vertical-align:middle!important;
}
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_icon,
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_icon-eye{
  width:16px!important;
  height:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  vertical-align:middle!important;
}
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_icon svg,
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_icon-eye svg,
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle svg{
  width:15px!important;
  height:15px!important;
  display:block!important;
  align-self:center!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  top:auto!important;
  transform:none!important;
  vertical-align:middle!important;
}
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle-state{
  min-height:18px!important;
  height:18px!important;
  display:flex!important;
  align-items:center!important;
  align-self:center!important;
  margin:0!important;
  padding:0!important;
  line-height:18px!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
}

/*
 * Front-end PMPro login fallback. The actual PMPro checkout link points to
 * wp-login.php and is handled in functions.php; these selectors keep any
 * front-end PMPro login rendering green as well without changing its layout.
 */
.tlwh-pmpro-login .pmpro_btn,
.tlwh-pmpro-login #wp-submit,
.tlwh-pmpro-login input[type="submit"],
.tlwh-pmpro-login button[type="submit"],
.pmpro_login_wrap .pmpro_btn,
.pmpro_login_wrap #wp-submit,
.pmpro_login_wrap input[type="submit"],
.pmpro_login_wrap button[type="submit"],
.pmpro_login_wrap .button-primary{
  border-color:var(--forest)!important;
  background:var(--forest)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.tlwh-pmpro-login .pmpro_btn:hover,
.tlwh-pmpro-login .pmpro_btn:focus-visible,
.tlwh-pmpro-login #wp-submit:hover,
.tlwh-pmpro-login #wp-submit:focus-visible,
.tlwh-pmpro-login input[type="submit"]:hover,
.tlwh-pmpro-login input[type="submit"]:focus-visible,
.tlwh-pmpro-login button[type="submit"]:hover,
.tlwh-pmpro-login button[type="submit"]:focus-visible,
.pmpro_login_wrap .pmpro_btn:hover,
.pmpro_login_wrap .pmpro_btn:focus-visible,
.pmpro_login_wrap #wp-submit:hover,
.pmpro_login_wrap #wp-submit:focus-visible,
.pmpro_login_wrap input[type="submit"]:hover,
.pmpro_login_wrap input[type="submit"]:focus-visible,
.pmpro_login_wrap button[type="submit"]:hover,
.pmpro_login_wrap button[type="submit"]:focus-visible,
.pmpro_login_wrap .button-primary:hover,
.pmpro_login_wrap .button-primary:focus-visible{
  border-color:var(--forest-deep)!important;
  background:var(--forest-deep)!important;
  color:#fff!important;
}

/* Version 1.6.5 - strict Show Password alignment pass (7 August 2026) */
/*
 * Final client instruction: on Gentle Readers, Fellow Travellers and Founding
 * Companions, the eye icon and the Show Password wording must sit on one clean,
 * vertically centred line. Keep the already-approved field widths and label-row
 * placement unchanged. The 1px optical drop corrects the eye sitting too high.
 */
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-height:16px!important;
  height:16px!important;
  margin:0!important;
  padding:0!important;
  line-height:16px!important;
}
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_btn-password-toggle,
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle button,
.tlwh-pmpro-checkout .tlwh-password-label-row .tlwh-password-toggle-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  width:auto!important;
  min-width:0!important;
  min-height:16px!important;
  height:16px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--forest)!important;
  font:400 .72rem/16px var(--sans)!important;
  text-transform:none!important;
  vertical-align:middle!important;
}
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_icon,
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_icon-eye,
.tlwh-pmpro-checkout .tlwh-password-label-row .tlwh-password-toggle-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 16px!important;
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  vertical-align:middle!important;
}
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_icon svg,
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_icon-eye svg,
.tlwh-pmpro-checkout .tlwh-password-label-row .tlwh-password-toggle-icon svg,
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle svg{
  display:block!important;
  flex:0 0 16px!important;
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  top:auto!important;
  transform:translateY(1px)!important;
  vertical-align:middle!important;
}
.tlwh-pmpro-checkout .tlwh-password-label-row .pmpro_form_field-password-toggle-state{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-height:16px!important;
  height:16px!important;
  margin:0!important;
  padding:0!important;
  font:400 .72rem/16px var(--sans)!important;
  white-space:nowrap!important;
  vertical-align:middle!important;
}


/* Version 1.6.7 — exact tier sentence, archive pills, and final brand polish */

/*
 * Selected-tier sentence: preserve normal word spacing and place the paid lock
 * only after the complete words "subscription tier", immediately before the
 * full stop. Gentle Readers intentionally has no lock.
 */
.tlwh-pmpro-checkout .pmpro_level_name_text{
  display:block!important;
  margin:0!important;
  white-space:normal!important;
  word-spacing:normal!important;
}
.tlwh-pmpro-checkout .pmpro_level_name_text .tlwh-selected-tier-name{
  display:inline!important;
  margin:0!important;
  padding:0!important;
}
.tlwh-pmpro-checkout .pmpro_level_name_text .tlwh-paid-tier-lock{
  width:15px!important;
  height:15px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 1px 0 5px!important;
  padding:0!important;
  color:var(--forest)!important;
  line-height:1!important;
  vertical-align:-2px!important;
}
.tlwh-pmpro-checkout .pmpro_level_name_text .tlwh-paid-tier-lock .tlwh-lock-svg{
  width:15px!important;
  height:15px!important;
  display:block!important;
  margin:0!important;
}

/* Archive overview: three separate standalone pills, never a joined table. */
.archive-pill-page{
  background:#F8F3EA!important;
}
.archive-pill-list{
  width:min(920px,100%);
  display:grid;
  gap:20px;
  margin:0;
}
.archive-pill{
  min-height:94px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  column-gap:20px;
  padding:18px 26px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:#2F4A2A;
  box-shadow:0 4px 14px rgba(58,51,46,.08);
  text-decoration:none;
}
.archive-pill:focus-visible{
  outline:2px solid #2F4A2A;
  outline-offset:4px;
}
.archive-pill-swatch{
  width:46px;
  height:46px;
  display:block;
  flex:0 0 46px;
  border-radius:50%;
}
.archive-pill-swatch.reflections{background:#E6DCCA}
.archive-pill-swatch.poems{background:#B9597A}
.archive-pill-swatch.letters{background:#5F6D49}
.archive-pill-series{
  min-width:0;
  display:grid;
  align-content:center;
  gap:3px;
}
.archive-pill-title{
  color:#2F4A2A;
  font:600 1.25rem/1.08 var(--serif);
  letter-spacing:-.018em;
}
.archive-pill-day{
  color:#796D63;
  font:700 .61rem/1.2 var(--sans);
  letter-spacing:.17em;
  text-transform:uppercase;
}
.archive-pill-meta{
  min-width:88px;
  display:grid;
  justify-items:end;
  align-content:center;
  gap:2px;
  text-align:right;
}
.archive-pill-count{
  color:#796D63;
  font:600 .7rem/1.2 var(--sans);
  white-space:nowrap;
}
.archive-pill-browse{
  color:#2F4A2A;
  font:italic 600 .92rem/1.2 var(--serif);
  white-space:nowrap;
}

/* Dedicated series pages: complete title/date listing with pagination. */
.series-collection-card{
  width:min(920px,100%);
  overflow:hidden;
  border-radius:30px;
  background:#fff;
  box-shadow:0 4px 14px rgba(58,51,46,.08);
}
.series-collection-header{
  min-height:94px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  column-gap:18px;
  padding:18px 26px;
  border-bottom:1px solid rgba(47,74,42,.12);
}
.series-collection-heading-copy{
  min-width:0;
  display:grid;
  gap:3px;
}
.series-collection-title{
  color:#2F4A2A;
  font:600 1.25rem/1.08 var(--serif);
  letter-spacing:-.018em;
}
.series-collection-day{
  color:#796D63;
  font:700 .61rem/1.2 var(--sans);
  letter-spacing:.17em;
  text-transform:uppercase;
}
.series-collection-count{
  color:#796D63;
  font:600 .7rem/1.2 var(--sans);
  text-align:right;
  white-space:nowrap;
}
.series-entry-list{
  margin:0;
  padding:0 26px;
  list-style:none;
}
.series-entry{
  min-height:58px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  border-bottom:1px solid rgba(47,74,42,.10);
}
.series-entry:last-child{border-bottom:0}
.series-entry-link{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#3A332E;
  text-decoration:none;
}
a.series-entry-link:hover .series-entry-title,
a.series-entry-link:focus-visible .series-entry-title{
  color:#2F4A2A;
  text-decoration:underline;
  text-underline-offset:3px;
}
.series-entry-title{
  font:600 .84rem/1.35 var(--sans);
}
.series-entry time{
  color:#796D63;
  font:.7rem/1.2 var(--sans);
  white-space:nowrap;
  text-align:right;
}
.series-entry .archive-lock{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 16px;
  color:#5F6D49;
}
.series-entry .archive-lock .tlwh-lock-svg{
  width:15px;
  height:15px;
}
.series-entry-empty{
  grid-template-columns:1fr;
  color:#796D63;
  font-size:.78rem;
}
.series-collection-card .archive-pagination-wrap{
  margin:0 26px;
  padding:18px 0 22px;
  border-top:1px solid rgba(47,74,42,.10);
}

@media (max-width:640px){
  .archive-pill-list{gap:14px}
  .archive-pill{
    min-height:80px;
    column-gap:13px;
    padding:14px 18px;
  }
  .archive-pill-swatch{
    width:38px;
    height:38px;
    flex-basis:38px;
  }
  .archive-pill-title{font-size:1.08rem}
  .archive-pill-day{font-size:.56rem;letter-spacing:.14em}
  .archive-pill-meta{min-width:68px}
  .archive-pill-count{font-size:.64rem}
  .archive-pill-browse{font-size:.84rem}

  .series-collection-header{
    min-height:80px;
    column-gap:13px;
    padding:14px 18px;
  }
  .series-collection-title{font-size:1.08rem}
  .series-collection-day{font-size:.56rem;letter-spacing:.14em}
  .series-entry-list{padding:0 18px}
  .series-entry{
    min-height:62px;
    gap:12px;
  }
  .series-entry-title{font-size:.8rem}
  .series-entry time{
    max-width:92px;
    white-space:normal;
    line-height:1.35;
  }
  .series-collection-card .archive-pagination-wrap{
    margin:0 18px;
  }
}
.archive-pill-page .heading{color:#2F4A2A!important}


/* Version 1.6.7 — final pre-go-live revision pass (7 August 2026) */

/* Facebook share hover is green across Reflections, Poems and Letters. */
.share-facebook:hover,
.share-facebook:focus-visible{
  border-color:var(--forest)!important;
  background:var(--forest)!important;
  color:#fff!important;
}
.share-facebook:focus-visible{
  outline:2px solid rgba(48,77,58,.30)!important;
  outline-offset:3px;
}

/* Footer policy links never underline on hover/focus. */
.footer-policy-links a,
.footer-policy-links a:hover,
.footer-policy-links a:focus,
.footer-policy-links a:focus-visible{
  text-decoration:none!important;
}

/* Archive pills stay softly muted rather than bright white. */
.archive-pill{
  background:var(--ivory)!important;
}
.archive-pill-browse{
  color:#2F4A2A!important;
  font-style:italic;
}

/*
 * Existing PMPro login page: compact to the same visual scale as Step Inside.
 * The password visibility control remains plain text/icon with no green pill.
 */
.tlwh-login-page{padding:25px 0 42px}
.tlwh-login-container{max-width:940px}
.tlwh-login-hero{max-width:560px;margin:0 0 14px}
.tlwh-login-hero .eyebrow{margin-bottom:8px}
.tlwh-login-hero .heading{font-size:clamp(1.9rem,3.2vw,2.8rem)}
.tlwh-login-content{width:min(560px,100%)}
.tlwh-login-content .pmpro,
.tlwh-login-content .pmpro_login_wrap,
.tlwh-login-content form{
  width:100%!important;
  max-width:560px!important;
  margin-left:0!important;
  margin-right:0!important;
}
.tlwh-login-content .pmpro_login_wrap{
  padding:18px 19px 20px!important;
  border:1px solid rgba(47,74,42,.12)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(58,51,46,.08)!important;
}
.tlwh-login-content .pmpro_login_wrap p,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field{margin:0 0 10px!important}
.tlwh-login-content .pmpro_login_wrap label,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_label{
  margin-bottom:4px!important;
  color:var(--forest)!important;
  font-size:.72rem!important;
  font-weight:700!important;
  line-height:1.25!important;
}
.tlwh-login-content .pmpro_login_wrap input[type="text"],
.tlwh-login-content .pmpro_login_wrap input[type="email"],
.tlwh-login-content .pmpro_login_wrap input[type="password"]{
  width:100%!important;
  min-height:42px!important;
  padding:9px 11px!important;
  border:1px solid var(--line)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--ink)!important;
  font-size:.88rem!important;
  box-shadow:none!important;
}
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle button,
.tlwh-login-content .pmpro_login_wrap .pmpro_btn-password-toggle,
.tlwh-login-content .pmpro_login_wrap .button.wp-hide-pw{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  width:auto!important;
  min-width:0!important;
  min-height:16px!important;
  height:auto!important;
  margin:4px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--forest)!important;
  font:400 .72rem/1.2 var(--sans)!important;
  box-shadow:none!important;
}
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle:hover,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle button:hover,
.tlwh-login-content .pmpro_login_wrap .pmpro_btn-password-toggle:hover,
.tlwh-login-content .pmpro_login_wrap .button.wp-hide-pw:hover,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle:focus,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle button:focus{
  border:0!important;
  background:transparent!important;
  color:var(--forest-deep)!important;
  box-shadow:none!important;
}
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle svg,
.tlwh-login-content .pmpro_login_wrap .pmpro_icon,
.tlwh-login-content .pmpro_login_wrap .pmpro_icon svg{
  width:15px!important;
  height:15px!important;
  margin:0!important;
  transform:none!important;
}
.tlwh-login-content .pmpro_login_wrap .pmpro_btn,
.tlwh-login-content .pmpro_login_wrap input[type="submit"],
.tlwh-login-content .pmpro_login_wrap button[type="submit"]{
  min-height:40px!important;
  width:auto!important;
  padding:0 17px!important;
  border-radius:999px!important;
  font-size:.76rem!important;
  line-height:38px!important;
}
@media(max-width:680px){
  .tlwh-login-page{padding:28px 0 46px}
  .tlwh-login-content,.tlwh-login-hero{max-width:none}
}

/* Version 1.6.8 — login Show Password control visibility/alignment (7 August 2026) */
/*
 * Final login-page correction: the PMPro Show Password control is a compact,
 * professional green button with one shared centre line for the eye icon and
 * label. The eye is explicitly white so it remains visible beside the white
 * wording. This is intentionally scoped to the login form only; Step Inside
 * checkout controls keep their separately approved treatment.
 */
.tlwh-pmpro-login .pmpro_form_field-password-toggle,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle,
.pmpro_login_wrap .pmpro_form_field-password-toggle{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  margin:6px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.tlwh-pmpro-login .pmpro_form_field-password-toggle button,
.tlwh-pmpro-login .pmpro_btn-password-toggle,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle button,
.tlwh-login-content .pmpro_login_wrap .pmpro_btn-password-toggle,
.pmpro_login_wrap .pmpro_form_field-password-toggle button.pmpro_btn,
.pmpro_login_wrap button.pmpro_btn-password-toggle{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:auto!important;
  min-width:0!important;
  min-height:34px!important;
  height:34px!important;
  margin:0!important;
  padding:0 12px!important;
  border:1px solid var(--forest)!important;
  border-radius:8px!important;
  background:var(--forest)!important;
  color:#fff!important;
  font:600 .72rem/1 var(--sans)!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  vertical-align:middle!important;
  transform:none!important;
}
.tlwh-pmpro-login .pmpro_form_field-password-toggle button:hover,
.tlwh-pmpro-login .pmpro_form_field-password-toggle button:focus-visible,
.tlwh-pmpro-login .pmpro_btn-password-toggle:hover,
.tlwh-pmpro-login .pmpro_btn-password-toggle:focus-visible,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle button:hover,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle button:focus-visible,
.tlwh-login-content .pmpro_login_wrap .pmpro_btn-password-toggle:hover,
.tlwh-login-content .pmpro_login_wrap .pmpro_btn-password-toggle:focus-visible,
.pmpro_login_wrap .pmpro_form_field-password-toggle button.pmpro_btn:hover,
.pmpro_login_wrap .pmpro_form_field-password-toggle button.pmpro_btn:focus-visible{
  border-color:var(--forest-deep)!important;
  background:var(--forest-deep)!important;
  color:#fff!important;
  box-shadow:0 0 0 3px rgba(48,77,58,.14)!important;
}
.tlwh-pmpro-login .pmpro_form_field-password-toggle .pmpro_icon,
.tlwh-pmpro-login .pmpro_form_field-password-toggle .pmpro_icon-eye,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon-eye,
.pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon,
.pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon-eye{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 16px!important;
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  background-color:transparent!important;
  line-height:0!important;
  vertical-align:middle!important;
  transform:none!important;
}
.tlwh-pmpro-login .pmpro_form_field-password-toggle .pmpro_icon svg,
.tlwh-pmpro-login .pmpro_form_field-password-toggle .pmpro_icon-eye svg,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon svg,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon-eye svg,
.pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon svg,
.pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon-eye svg{
  display:block!important;
  flex:0 0 16px!important;
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  stroke:#fff!important;
  position:static!important;
  top:auto!important;
  transform:none!important;
  vertical-align:middle!important;
}
.tlwh-pmpro-login .pmpro_form_field-password-toggle .pmpro_icon svg path,
.tlwh-pmpro-login .pmpro_form_field-password-toggle .pmpro_icon-eye svg path,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon svg path,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon-eye svg path,
.pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon svg path,
.pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon-eye svg path{
  stroke:#fff!important;
}
.tlwh-pmpro-login .pmpro_form_field-password-toggle .pmpro_form_field-password-toggle-state,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_form_field-password-toggle-state,
.pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_form_field-password-toggle-state{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:16px!important;
  height:16px!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font:600 .72rem/16px var(--sans)!important;
  white-space:nowrap!important;
  vertical-align:middle!important;
}

/* Version 1.7.0 — launch responsive hardening (7 August 2026)
 * Conservative cross-device fixes only; approved visual design is unchanged.
 */

/* Keep in-page anchors fully visible beneath the multi-row sticky header. */
@media(max-width:960px){
  html{scroll-padding-top:112px}
}
@media(max-width:780px){
  html{scroll-padding-top:158px}
}
@media(max-width:560px){
  html{scroll-padding-top:205px}
}

/* Prevent iOS Safari from auto-zooming the compact PMPro login fields. */
@media(max-width:680px){
  .tlwh-login-content .pmpro_login_wrap input[type="text"],
  .tlwh-login-content .pmpro_login_wrap input[type="email"],
  .tlwh-login-content .pmpro_login_wrap input[type="password"]{
    min-height:46px!important;
    font-size:16px!important;
  }
}

/* Respect phone safe areas for the floating control/footer without changing desktop spacing. */
@supports (padding: max(0px)){
  @media(max-width:680px){
    .back-to-top{
      right:max(12px,env(safe-area-inset-right));
      bottom:max(12px,env(safe-area-inset-bottom));
    }
    .site-footer{
      padding-bottom:max(24px,calc(16px + env(safe-area-inset-bottom)));
    }
  }
}

/* Touch devices should not retain desktop lift/translate hover effects after a tap. */
@media(hover:none){
  .button:hover{transform:none}
  .post-card:hover{transform:none;box-shadow:none}
}

/* Version 1.7.1 — mobile footer contact order only (7 August 2026)
 * Phones only: keep the email directly beneath Instagram with the existing grid spacing.
 * Tablet and desktop footer layouts are intentionally unchanged.
 */
@media(max-width:680px){
  .footer-grid{
    grid-template-areas:
      "explore-title"
      "explore-links"
      "contact-title"
      "instagram"
      "email"
      "legal";
  }
}

/* ========================================================================
   Version 1.8.0 — Foundation Phase Facelift (13 August 2026)
   Front-end revisions only; existing approved styling remains untouched
   outside the selectors below.
   ======================================================================== */

/* Mobile-only Reading Room nav item: desktop navigation remains visually unchanged. */
.nav-reading-room{display:none}
.mobile-menu-toggle{display:none}

/* Hero carousel — three 16:9 colour images, quiet crossfade and pink dots. */
.hero-carousel{position:relative;min-width:0;min-height:315px;overflow:hidden;background:#f8f3ea;isolation:isolate}
.hero-carousel-stage{position:absolute;inset:0;background:#f8f3ea}
.hero-slide{position:absolute;inset:0;display:block;opacity:0;transition:opacity .5s ease;pointer-events:none}
.hero-slide.is-active{z-index:1;opacity:1}
.hero-slide img{width:100%;height:100%;display:block;object-fit:cover;filter:none}
.hero-carousel:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(248,243,234,.10),transparent 22%),linear-gradient(180deg,transparent 70%,rgba(32,56,43,.10))}
.hero-below{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,1.08fr);gap:0;align-items:center}
.hero-carousel-dots{display:flex;align-items:center;justify-content:center;gap:10px;min-height:42px}
.hero-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#B9597A;opacity:.45;transition:width .2s ease,height .2s ease,opacity .2s ease,transform .2s ease}
.hero-dot:hover,.hero-dot:focus-visible{opacity:.78;outline:0;box-shadow:0 0 0 3px rgba(185,89,122,.16)}
.hero-dot.is-active{width:12px;height:12px;opacity:1;transform:scale(1.03)}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-dot{transition:none}}

/* Reading time on homepage cards. */
.card-meta{display:flex!important;align-items:center;gap:7px;margin:0 0 16px!important;color:var(--muted)!important;font-size:.72rem!important}
.card-meta .card-date{margin:0}

/* Subscription tier polish. */
.tier-card{position:relative}
.tier-card h3{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.tier-title-lock{display:inline-flex;align-items:center;justify-content:center;color:rgba(255,255,255,.92);line-height:0}
.tier-card.featured .tier-title-lock{color:var(--forest)}
.tier-title-lock .tlwh-lock-svg{width:17px;height:17px}
.tier-loved{position:absolute;top:18px;right:19px;display:grid;justify-items:center;gap:2px;color:#B9597A;font-size:.55rem;font-weight:700;line-height:1.05;letter-spacing:.04em;text-transform:uppercase}
.tier-loved>span:first-child{font-size:1rem;line-height:1}
.tier-card.featured h3{padding-right:74px}
.subscriptions-gift-wrap{display:flex;justify-content:center;margin-top:22px}
.subscriptions-gift{border-color:rgba(255,255,255,.8);background:transparent;color:#fff}
.subscriptions-gift:hover{border-color:#fff;background:#fff;color:var(--forest)}

/* Contact FAQ counterpart button. */
.contact-form-actions{display:flex;align-items:center;gap:10px;margin-top:2px}
.contact-form-actions .button{min-width:154px;margin-top:0}
.contact-faq-button{border-color:var(--forest);background:var(--forest);color:#fff}
.contact-faq-button:hover{background:var(--forest-deep)}

/* Keepsakes: requested lighter surface and standard pill CTA. */
.keepsakes-coming-soon{background:#F8F3EA}
.keepsakes-notify{border-color:var(--forest);background:var(--forest);color:#fff}
.keepsakes-notify:hover{border-color:var(--forest-deep);background:var(--forest-deep);color:#fff}

/* About — More on the Writer. */
.writer-links{margin:34px 0 10px;padding-top:26px;border-top:1px solid var(--line)}
.writer-links h2{margin:0 0 12px;color:var(--forest);font:500 1.35rem/1.15 var(--serif)}
.writer-links-list{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.writer-links-list a{color:#B5643F;text-decoration:none;font-weight:600}
.writer-links-list a:hover,.writer-links-list a:focus-visible{text-decoration:underline;text-underline-offset:4px}

/* Login now carries the same restrained Step Inside card language. */
.tlwh-login-page{padding:42px 0 62px}
.tlwh-login-container{max-width:760px}
.tlwh-login-hero{max-width:720px;margin:0 auto 18px;text-align:left}
.tlwh-login-content{max-width:720px;margin:0 auto;padding:20px 22px 22px;border:1px solid rgba(47,74,42,.12);border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(58,51,46,.08)}
.tlwh-login-content .pmpro_login_wrap{max-width:none;margin:0}
.tlwh-login-content .pmpro_login_wrap>p:first-child{margin-top:0}

/* Checkout trust signal and gifted-checkout context. */
.tlwh-paystack-trust{display:flex;align-items:center;gap:7px;margin:10px 0 4px;color:var(--forest);font-size:.72rem;font-weight:700;letter-spacing:.02em}
.tlwh-gift-checkout-note{margin:8px 0 4px;padding:10px 12px;border-radius:10px;background:#F8F3EA;color:var(--forest);font-size:.76rem}

/* FAQ page. */
.faq-page{padding:38px 0 66px}
.faq-container{max-width:900px}
.faq-hero{margin-bottom:22px}
.faq-intro{max-width:760px;margin-bottom:24px;color:var(--muted);font-family:var(--serif);font-size:1rem;line-height:1.65}
.faq-intro a,.faq-list a{color:var(--rust)}
.faq-list{display:grid;gap:10px}
.faq-list details{border:1px solid var(--line);border-radius:16px;background:rgba(255,250,241,.75);overflow:hidden}
.faq-list summary{position:relative;cursor:pointer;list-style:none;padding:17px 48px 17px 18px;color:var(--forest);font:600 1rem/1.3 var(--serif)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--rust);font:400 1.2rem/1 var(--sans)}
.faq-list details[open] summary:after{content:"−"}
.faq-list details p{margin:0;padding:0 18px 18px;color:var(--muted);line-height:1.7}

/* Gift page — deliberately mirrors Step Inside. */
.tlwh-gift-page{padding:42px 0 64px}
.tlwh-gift-container{max-width:760px}
.tlwh-gift-hero{max-width:720px;margin:0 auto 18px}
.tlwh-gift-form{max-width:720px;margin:0 auto;display:grid;gap:13px;padding:22px;border:1px solid rgba(47,74,42,.12);border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(58,51,46,.08)}
.tlwh-gift-form .field{display:grid;gap:5px}
.tlwh-gift-form label,.gift-tier-choice legend{color:var(--forest);font-size:.72rem;font-weight:700}
.tlwh-gift-form input,.tlwh-gift-form textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:10px 11px;box-shadow:none}
.tlwh-gift-form input{min-height:44px}
.tlwh-gift-form textarea{resize:vertical}
.gift-tier-choice{display:grid;gap:9px;margin:3px 0 2px;padding:0;border:0}
.gift-tier-choice legend{margin-bottom:5px}
.gift-tier-option{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#F8F3EA;cursor:pointer}
.gift-tier-option input{width:17px!important;height:17px!important;min-height:0!important;flex:0 0 17px;accent-color:var(--forest)}
.gift-tier-option span{display:flex;flex:1;align-items:center;justify-content:space-between;gap:12px}
.gift-tier-option strong{color:var(--forest);font:500 1rem/1.2 var(--serif)}
.gift-tier-option small{color:var(--muted);font-size:.68rem;font-weight:500}
.tlwh-gift-form>.button{justify-self:start;min-width:210px}

/* Reading Room placeholder and communal shelf. */
.reading-room-page{padding:38px 0 68px}
.reading-room-container{max-width:980px}
.reading-room-hero{margin-bottom:20px}
.reading-room-intro{padding:25px 26px;border:1px solid var(--line);border-radius:20px;background:#F8F3EA}
.reading-room-intro>p{max-width:760px;margin:0 0 18px;color:var(--ink);font:400 1.05rem/1.65 var(--serif)}
.reading-room-memberships{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.reading-room-memberships>span{display:inline-flex;align-items:baseline;gap:8px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#fff}
.reading-room-memberships strong{color:var(--forest);font:600 .78rem/1 var(--sans)}
.reading-room-memberships small{color:var(--muted);font-size:.68rem}
.reading-room-notify{min-width:128px}
.reading-room-suggestion-area{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:24px;margin-top:24px;align-items:start}
.reading-room-form{display:grid;gap:12px;padding:21px;border:1px solid var(--line);border-radius:18px;background:rgba(255,250,241,.78)}
.reading-room-form .field{display:grid;gap:5px}
.reading-room-form label{color:var(--forest);font-size:.72rem;font-weight:700}
.reading-room-form input,.reading-room-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);box-shadow:none}
.reading-room-form textarea{min-height:88px;border-radius:18px;resize:vertical}
.reading-room-form .button{justify-self:start}
.suggested-shelf{min-height:300px;padding:22px 22px 26px;border:1px solid var(--line);border-radius:18px;background:#fffaf1}
.suggested-shelf h2{margin:0 0 20px;color:var(--forest);font:500 1.28rem/1.15 var(--serif)}
.shelf-books{min-height:218px;display:flex;align-items:flex-end;justify-content:flex-start;gap:4px;padding:12px 10px 0;overflow:hidden}
.book-spine{width:34px;min-height:128px;display:flex;align-items:center;justify-content:center;padding:8px 4px;border-radius:4px 4px 0 0;box-shadow:inset -2px 0 rgba(0,0,0,.08)}
.book-spine:nth-child(3n+2){min-height:158px;width:40px}
.book-spine:nth-child(4n){min-height:142px;width:31px}
.book-spine span{max-height:118px;writing-mode:vertical-rl;transform:rotate(180deg);overflow:hidden;color:#fff;font:600 .58rem/1.1 var(--serif);letter-spacing:.02em;text-overflow:ellipsis}
.spine-rust{background:#B5643F}.spine-pink{background:#B9597A}.spine-sage{background:#5F6D49}.spine-cream{background:#C1AD88}.spine-forest{background:#304D3A}.spine-brown{background:#804027}
.shelf-empty{align-self:center;margin:auto;color:var(--muted);font:italic .9rem/1.5 var(--serif);text-align:center}
.shelf-board{display:block;height:12px;border-radius:3px;background:#804027;box-shadow:0 8px 16px rgba(58,51,46,.15)}

/* Archive filing-drawer tabs, seasonal files and search. */
.archive-drawer-page{padding:38px 0 66px}
.archive-search-wrap{position:relative;max-width:560px;margin:0 0 20px}
.archive-search-icon{position:absolute;left:17px;top:50%;width:17px;height:17px;transform:translateY(-50%);color:rgba(58,51,46,.48);pointer-events:none}
.archive-search-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.archive-search{width:100%;min-height:46px;padding:10px 18px 10px 46px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);outline:0;box-shadow:0 6px 20px rgba(58,51,46,.04)}
.archive-search::placeholder{color:rgba(58,51,46,.42)}
.archive-search:focus{border-color:rgba(48,77,58,.48);box-shadow:0 0 0 3px rgba(48,77,58,.08)}
.archive-drawer{position:relative}
.archive-tabs{display:flex;align-items:flex-end;gap:5px;padding:0 15px;overflow-x:auto;scrollbar-width:none}
.archive-tabs::-webkit-scrollbar{display:none}
.archive-tab{min-height:45px;padding:11px 17px 10px;border:1px solid var(--line);border-bottom:0;border-radius:14px 14px 0 0;background:#EDE4D5;color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.04em;white-space:nowrap;transform:translateY(1px)}
.archive-tab.is-active{z-index:2;background:#fffaf1;color:var(--forest);transform:none}
.archive-tab-reflections.is-active{box-shadow:inset 0 4px #E6DCCA}
.archive-tab-poems.is-active{box-shadow:inset 0 4px #B9597A}
.archive-tab-letters.is-active{box-shadow:inset 0 4px #5F6D49}
.archive-tab-behind-the-scenes.is-active{box-shadow:inset 0 4px #804027}
.archive-drawer-body{padding:26px;border:1px solid var(--line);border-radius:18px;background:#fffaf1;box-shadow:0 18px 50px rgba(72,53,40,.08)}
.archive-panel[hidden]{display:none!important}
.archive-panel-heading{display:flex;align-items:center;gap:10px;margin-bottom:24px}
.archive-panel-heading h2{margin:0;color:var(--forest);font:500 1.45rem/1.1 var(--serif)}
.archive-tab-swatch{width:11px;height:11px;border-radius:50%;flex:0 0 11px}
.archive-tab-swatch.reflections{background:#E6DCCA}.archive-tab-swatch.poems{background:#B9597A}.archive-tab-swatch.letters{background:#5F6D49}.archive-tab-swatch.behind-the-scenes{background:#804027}
.archive-premium-note{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:#5F6D49;font-size:.65rem;font-weight:700}
.archive-premium-note .tlwh-lock-svg{width:14px;height:14px}
.archive-season+ .archive-season{margin-top:27px}
.archive-season>h3{margin:0 0 10px;color:var(--rust);font-size:.67rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.archive-season-list{border-top:1px solid var(--line)}
.archive-file-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:66px;padding:13px 4px;border-bottom:1px solid var(--line)}
.archive-file-entry[hidden]{display:none!important}
.archive-file-main{min-width:0;display:flex;align-items:center;gap:8px}
.archive-file-title{color:var(--ink);font:500 1.04rem/1.25 var(--serif);text-decoration:none}
a.archive-file-title:hover,a.archive-file-title:focus-visible{color:var(--rust)}
.archive-file-lock{display:inline-flex;color:var(--letter-green);line-height:0}
.archive-file-lock .tlwh-lock-svg{width:15px;height:15px}
.archive-file-entry.is-locked .archive-file-title{color:var(--muted)}
.archive-file-meta{display:flex;align-items:center;justify-content:flex-end;gap:13px;color:var(--muted);font-size:.66rem;white-space:nowrap}
.archive-empty,.archive-no-matches{margin:18px 0 2px;color:var(--muted);font-family:var(--serif)}
.series-entry-meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.7rem;white-space:nowrap}

/* Long-form reading experience. */
.reading-progress{position:fixed;z-index:1100;top:var(--tlwh-header-height,76px);left:0;right:0;height:3px;background:transparent;pointer-events:none}
.reading-progress span{display:block;width:100%;height:100%;background:var(--rust);transform:scaleX(0);transform-origin:left center;will-change:transform}
.single-entry-meta{display:flex;align-items:center;gap:8px;margin-top:13px;color:var(--muted);font-size:.76rem}
.reading-tools{display:flex;align-items:center;gap:9px;margin-top:15px}
.reading-tools-label{color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.reading-size-toggle{display:inline-flex;align-items:center;padding:2px;border:1px solid var(--line);border-radius:999px;background:#fff}
.reading-size-toggle button{min-width:34px;height:30px;padding:0 8px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-family:var(--serif);font-weight:700;line-height:1}
.reading-size-toggle button:last-child{font-size:.86rem}
.reading-size-toggle button.is-active{background:var(--forest);color:#fff}
.single-entry-content{max-width:720px!important;font-size:1rem;line-height:1.85}
.single-entry-content p{margin-top:0;margin-bottom:1.34em}
.single-entry-content>*:first-child{margin-top:0}
.single-entry-content.is-large-text{font-size:1.12rem;line-height:1.88}
.single-entry-content.is-large-text p{margin-bottom:1.42em}

/* Gentle preview gate — content is never printed behind this screen. */
.tlwh-preview-gate{max-width:860px;margin:18px 0 28px;padding:22px;border:1px solid rgba(48,77,58,.16);border-radius:24px;background:#F8F3EA;box-shadow:0 22px 55px rgba(72,53,40,.10)}
.tlwh-preview-gate-card{max-width:760px;margin:0 auto;padding:16px 6px;text-align:center}
.tlwh-preview-gate-card h2{margin:0;color:var(--forest);font:500 clamp(1.55rem,2.5vw,2.2rem)/1.08 var(--serif)}
.tlwh-preview-gate-copy{max-width:650px;margin:13px auto 20px;color:var(--forest);font:400 .95rem/1.6 var(--serif)}
.tlwh-preview-tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tlwh-preview-tier{min-height:92px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:13px;border:1px solid rgba(48,77,58,.18);border-radius:16px;background:#fff;color:var(--forest);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.tlwh-preview-tier:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(58,51,46,.08)}
.tlwh-preview-tier.is-featured{border-color:#B9597A}
.tlwh-preview-tier strong{font:500 1rem/1.18 var(--serif)}
.tlwh-preview-tier span{color:var(--muted);font-size:.63rem}
.tlwh-preview-subscriptions-link{display:inline-block;margin-top:16px;color:var(--rust);font-size:.72rem;font-weight:700;text-decoration:none}
.tlwh-preview-subscriptions-link:hover{text-decoration:underline;text-underline-offset:4px}

/* Curated continuation: stronger series colour cue + reading time. */
.recommended-card.reflections{border-top-color:#E6DCCA;border-left:4px solid #E6DCCA}
.recommended-card.poems{border-top-color:#B9597A;border-left:4px solid #B9597A}
.recommended-card.letters{border-top-color:#5F6D49;border-left:4px solid #5F6D49}
.recommended-card.behind-the-scenes{border-top-color:#804027;border-left:4px solid #804027}
.recommended-series{display:inline-flex;align-self:flex-start;padding:4px 8px;border-radius:999px;background:#E6DCCA;color:#5A5244!important}
.recommended-card.poems .recommended-series{background:#B9597A;color:#fff!important}
.recommended-card.letters .recommended-series{background:#5F6D49;color:#fff!important}
.recommended-card.behind-the-scenes .recommended-series{background:#804027;color:#fff!important}
.recommended-meta{display:flex;align-items:center;gap:7px;margin:0 0 20px!important;color:var(--muted);font-size:.7rem}
.recommended-meta time{margin:0!important}

/* LinkedIn/Substack share identity colours. */
.share-linkedin{border-color:#3A332E;color:#3A332E}
.share-substack{border-color:#804027;color:#804027}
.share-linkedin svg,.share-substack svg{width:14px;height:14px;flex:0 0 14px;fill:currentColor}
.share-linkedin,.share-substack{gap:6px}

.nav-login-mobile{display:none}
.nav-login-desktop{display:inline}

/* Hamburger begins strictly below 768px; desktop keeps the full existing nav. */
@media(max-width:767px){
  html{scroll-padding-top:86px}
  .header-inner{position:relative;min-height:70px;gap:14px}
  .mobile-menu-toggle{width:42px;height:42px;display:inline-flex;flex:0 0 42px;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--forest)}
  .mobile-menu-toggle span{width:18px;height:1.5px;border-radius:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  .primary-nav{position:absolute;top:calc(100% + 1px);left:calc((100vw - var(--container))/2 * -1);right:calc((100vw - var(--container))/2 * -1);display:none;max-height:calc(100svh - 70px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;padding:12px max(21px,calc((100vw - var(--container))/2));border-bottom:1px solid var(--line);background:rgba(248,243,234,.99);box-shadow:0 18px 35px rgba(58,51,46,.08)}
  .primary-nav.is-open{display:flex}
  .primary-nav a,.primary-nav .nav-cta{width:100%;min-height:46px;display:flex;align-items:center;padding:10px 4px;border-bottom:1px solid rgba(48,77,58,.09);border-radius:0;background:transparent;color:var(--ink);font-size:.78rem}
  .primary-nav a:not(.nav-cta):after{display:none}
  .primary-nav .nav-cta{margin-top:6px;justify-content:center;border:0;border-radius:999px;background:var(--forest);color:#fff}
  .primary-nav .nav-reading-room{display:flex}
  .nav-login-desktop{display:none}
  .nav-login-mobile{display:inline}
  body.mobile-menu-open{overflow:hidden}

  .hero-key{grid-template-columns:1fr;min-height:0}
  .hero-carousel{min-height:0;aspect-ratio:16/9}
  .hero-below{grid-template-columns:1fr;gap:8px}
  .hero-carousel-dots{order:-1;min-height:26px}
  .hero-actions{justify-content:center}

  .tier-loved{top:20px;right:19px}
  .tier-card.featured h3{padding-right:74px}
  .contact-form-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .contact-form-actions .button{width:100%;min-width:0;justify-self:stretch}

  .archive-drawer-body{padding:20px 16px}
  .archive-tabs{padding-inline:8px}
  .archive-file-entry{grid-template-columns:1fr;gap:5px;padding:12px 2px}
  .archive-file-meta{justify-content:flex-start}
  .archive-premium-note{width:100%;margin-left:0;margin-top:5px}
  .archive-panel-heading{flex-wrap:wrap}

  .tlwh-preview-tier-grid{grid-template-columns:1fr}
  .tlwh-preview-gate{padding:17px}

  .reading-room-suggestion-area{grid-template-columns:1fr}
  .gift-tier-option span{align-items:flex-start;flex-direction:column;gap:4px}
  .tlwh-gift-form>.button{width:100%;justify-self:stretch}
}

@media(max-width:520px){
  .wordmark{font-size:1.1rem}
  .monogram{width:25px;height:25px;flex-basis:25px}
  .hero-actions .button{flex:1 1 145px}
  .contact-form-actions{grid-template-columns:1fr}
  .archive-tab{padding-inline:13px}
  .archive-drawer-body{border-radius:15px}
  .reading-room-intro{padding:21px 18px}
  .reading-room-memberships{align-items:stretch;flex-direction:column}
  .reading-room-memberships>span{justify-content:space-between}
  .shelf-books{overflow-x:auto;justify-content:flex-start}
  .faq-list summary{font-size:.94rem}
  .single-entry-content.is-large-text{font-size:1.08rem}
}


/* ========================================================================
   Version 1.8.1 — Foundation Phase Facelift Version 2 final amendments
   ======================================================================== */

/* 1. Desktop hero parity: requested title colours; carousel remains flash-free. */
.hero-title{color:var(--rust)}
.hero-title span:last-child{color:var(--forest)}
.hero-carousel,.hero-carousel-stage{background:#F8F3EA}
.hero-slide img{backface-visibility:hidden;transform:translateZ(0)}

/* 2. Scroll progress is a quiet rail at the far right, away from long-form text. */
.reading-progress{
  top:calc(var(--tlwh-header-height,76px) + 18px);
  right:10px;
  bottom:18px;
  left:auto;
  width:3px;
  height:auto;
  border-radius:999px;
  background:rgba(181,100,63,.12);
  overflow:hidden;
}
.reading-progress span{
  width:100%;
  height:100%;
  transform:scaleY(0);
  transform-origin:center top;
}

/* 3 + 5. Share and More on the Writer use one consistent pill language. */
.writer-links{margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.writer-links-list{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:9px}
.writer-links-list a{font-weight:700;text-decoration:none}
.writer-links-list a:hover,.writer-links-list a:focus-visible{text-decoration:none}
.share-instagram{border-color:var(--rust);color:var(--rust)}
.share-substack{border-color:#804027;color:#804027}
.share-x{border-color:#D98FA3;background:#FFF6EE;color:#D98FA3}

/* 4. More From headings are text-only: no decorative bars/pillars. */
.recommended-heading-row::before,.recommended-heading-row::after,
.recommended-heading::before,.recommended-heading::after{content:none!important;display:none!important}

/* 6. Locked Letter preview contains real text and mirrors journal cards. */
.locked-letter-preview-card{max-width:720px;min-height:0;margin:0 0 18px;padding:22px 23px;background:rgba(255,250,241,.78)}
.locked-letter-preview-card h3{margin:0 0 10px}
.locked-letter-preview-card>p:last-child{margin-bottom:0;color:var(--muted);font-family:var(--serif);line-height:1.65}

/* 7. Most Loved alignment and spacing. */
.tier-loved{top:20px;gap:7px;color:#B9597A}
.tier-loved>span:first-child{position:relative;top:2px;color:#B9597A}

/* 9. FAQ is now beneath the Contact introduction, visually quiet and outlined. */
.contact-faq-intro{display:inline-flex;margin-top:16px;min-height:38px;padding:0 22px;border:1px solid var(--forest);background:transparent;color:var(--forest)}
.contact-faq-intro:hover,.contact-faq-intro:focus-visible{border-color:var(--forest);background:rgba(48,77,58,.07);color:var(--forest-deep)}
.contact-form-actions{margin-top:2px}

/* 10. Archive desktop toolbar: four tabs then compact search on the right. */
.archive-toolbar{display:flex;align-items:flex-end;gap:14px;margin-bottom:-1px}
.archive-toolbar .archive-tabs{flex:1 1 auto;min-width:0}
.archive-toolbar .archive-search-wrap{flex:0 0 min(235px,24vw);width:auto;margin:0 0 8px}
.archive-toolbar .archive-search{min-height:38px;padding:8px 14px 8px 36px;font-size:.74rem}
.archive-toolbar .archive-search-icon{left:13px}
.archive-panel-heading h2{font-size:1.45rem!important}
.archive-placeholder-entry .archive-file-title{color:var(--muted);font-style:italic}

/* 11. Keepsakes Notify Me is terracotta while retaining the existing mail action. */
.keepsakes-notify{border-color:var(--rust)!important;background:var(--rust)!important;color:#fff!important}
.keepsakes-notify:hover,.keepsakes-notify:focus-visible{border-color:#9f5537!important;background:#9f5537!important;color:#fff!important}

/* 12. Reading Room desktop parity and final copy/layout polish. */
.reading-room-page,.reading-room-container,.reading-room-intro,.reading-room-suggestion-area,.suggested-shelf{visibility:visible;opacity:1}
.reading-room-opening{margin-top:-8px!important;color:var(--muted)!important;font-family:var(--sans)!important;font-size:.82rem!important}
.reading-room-memberships>span{align-items:center;flex-wrap:wrap}
.reading-room-memberships small{font-size:.72rem}
.reading-room-form-intro{margin-bottom:3px}
.reading-room-form-intro h2{margin:0 0 6px;color:var(--forest);font:500 1.18rem/1.15 var(--serif)}
.reading-room-form-intro p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}

/* 13. Login: one calm TLWH surface, no extra outer box and no Show Password pill. */
.tlwh-pmpro-login,.tlwh-login-page{background:#F8F3EA!important}
.tlwh-login-content{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.tlwh-login-content .pmpro_login_wrap{padding:20px 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.tlwh-pmpro-login .pmpro_form_field-password-toggle button,
.tlwh-pmpro-login .pmpro_btn-password-toggle,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle button,
.tlwh-login-content .pmpro_login_wrap .pmpro_btn-password-toggle,
.pmpro_login_wrap .pmpro_form_field-password-toggle button.pmpro_btn,
.pmpro_login_wrap button.pmpro_btn-password-toggle{
  min-height:18px!important;height:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--forest)!important;font:600 .72rem/1.2 var(--sans)!important;box-shadow:none!important;
}
.tlwh-pmpro-login .pmpro_form_field-password-toggle button:hover,
.tlwh-pmpro-login .pmpro_form_field-password-toggle button:focus-visible,
.tlwh-pmpro-login .pmpro_btn-password-toggle:hover,
.tlwh-pmpro-login .pmpro_btn-password-toggle:focus-visible,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle button:hover,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle button:focus-visible{
  border:0!important;background:transparent!important;color:var(--forest-deep)!important;box-shadow:none!important;
}
.tlwh-pmpro-login .pmpro_form_field-password-toggle .pmpro_icon,
.tlwh-pmpro-login .pmpro_form_field-password-toggle .pmpro_icon-eye,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon-eye,
.pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon,
.pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon-eye,
.tlwh-pmpro-login .pmpro_form_field-password-toggle .pmpro_form_field-password-toggle-state,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_form_field-password-toggle-state{
  color:var(--forest)!important;
}
.tlwh-pmpro-login .pmpro_form_field-password-toggle .pmpro_icon svg,
.tlwh-pmpro-login .pmpro_form_field-password-toggle .pmpro_icon-eye svg,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon svg,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon-eye svg{
  color:var(--forest)!important;stroke:var(--forest)!important;
}
.tlwh-pmpro-login .pmpro_form_field-password-toggle .pmpro_icon svg path,
.tlwh-pmpro-login .pmpro_form_field-password-toggle .pmpro_icon-eye svg path,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon svg path,
.tlwh-login-content .pmpro_login_wrap .pmpro_form_field-password-toggle .pmpro_icon-eye svg path{stroke:var(--forest)!important}

/* 14. Mobile-only: hamburger and every menu label align deliberately to the right. */
@media(max-width:767px){
  .mobile-menu-toggle{margin-left:auto}
  .primary-nav{align-items:stretch;text-align:right}
  .primary-nav a,.primary-nav .nav-cta{justify-content:flex-end!important;text-align:right!important}
  .archive-toolbar{align-items:stretch;flex-direction:column;gap:8px;margin-bottom:12px}
  .archive-toolbar .archive-tabs{width:100%}
  .archive-toolbar .archive-search-wrap{width:min(100%,270px);flex:0 0 auto;align-self:flex-end;margin:0}
  .reading-progress{right:5px;top:calc(var(--tlwh-header-height,70px) + 12px);bottom:12px}
}

/* Version 1.8.3 — approved Keepsakes notification confirmation. */
.keepsakes-confirmation{max-width:620px;margin:0 auto 18px;color:var(--forest);font:500 .9rem/1.6 var(--serif)}
.keepsakes-confirmation-error{color:var(--rust)}
.keepsakes-notify-dialog[hidden]{display:none!important}
.keepsakes-notify-dialog{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(58,51,46,.38)}
.keepsakes-notify-panel{position:relative;width:min(100%,460px);padding:34px 32px;border:1px solid #E6DCCA;border-radius:14px;background:#FFFAF1;box-shadow:0 18px 60px rgba(58,51,46,.18);text-align:left}
.keepsakes-notify-panel h3{margin:4px 0 10px;color:var(--forest);font:600 1.65rem/1.15 var(--serif)}
.keepsakes-notify-panel>p:not(.eyebrow){margin:0 0 22px;color:var(--muted);font-size:.88rem;line-height:1.6}
.keepsakes-notify-close{position:absolute;top:13px;right:16px;border:0;background:transparent;color:#3A332E;font-size:1.7rem;line-height:1;cursor:pointer}
.keepsakes-notify-form{display:grid;gap:11px}
.keepsakes-notify-form label{color:#3A332E;font-size:.74rem;font-weight:600;letter-spacing:.04em}
.keepsakes-notify-form input[type="email"]{width:100%;min-height:44px;padding:10px 15px;border:1px solid rgba(58,51,46,.25);border-radius:999px;background:#fff;color:#3A332E;font:inherit}
.keepsakes-notify-form input[type="email"]:focus{outline:2px solid rgba(47,74,42,.2);outline-offset:2px;border-color:var(--forest)}
.keepsakes-notify-form .button{justify-self:start;margin-top:4px;border-color:var(--rust);background:var(--rust);color:#fff}
.tlwh-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
body.tlwh-dialog-open{overflow:hidden}
@media (max-width:767px){.keepsakes-notify-panel{padding:30px 22px}.keepsakes-notify-form .button{width:100%;justify-content:center}}

/* ========================================================================
   Version 1.8.5 — Foundation Phase Facelift Version 3 QA fixes
   ======================================================================== */

/* 1 + 21. Reading Room is a first-class desktop destination as well as mobile. */
.primary-nav .nav-reading-room{display:flex}

/* 2 + 3. Share This: text-only buttons and one consistent assigned-colour interaction. */
.share-linkedin svg{display:none!important}
.share-button{
  background:transparent;
  box-shadow:none;
}
.share-instagram{border-color:#B5643F!important;background:transparent!important;color:#B5643F!important}
.share-facebook{border-color:#2F4A2A!important;background:transparent!important;color:#2F4A2A!important}
.share-linkedin{border-color:#3A332E!important;background:transparent!important;color:#3A332E!important}
.share-substack{border-color:#804027!important;background:transparent!important;color:#804027!important}
.share-x{border-color:#B9597A!important;background:transparent!important;color:#B9597A!important}
.share-instagram:hover,.share-instagram:focus-visible{border-color:#B5643F!important;background:#B5643F!important;color:#fff!important}
.share-facebook:hover,.share-facebook:focus-visible{border-color:#2F4A2A!important;background:#2F4A2A!important;color:#fff!important}
.share-linkedin:hover,.share-linkedin:focus-visible{border-color:#3A332E!important;background:#3A332E!important;color:#fff!important}
.share-substack:hover,.share-substack:focus-visible{border-color:#804027!important;background:#804027!important;color:#fff!important}
.share-x:hover,.share-x:focus-visible{border-color:#B9597A!important;background:#B9597A!important;color:#fff!important}

/* 4. "More from …" category labels are plain text only, consistently across series. */
.recommended-series,
.recommended-card.poems .recommended-series,
.recommended-card.letters .recommended-series,
.recommended-card.behind-the-scenes .recommended-series{
  display:block;
  align-self:auto;
  margin:0 0 12px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
}
.recommended-card.reflections .recommended-series{color:#887C68!important}
.recommended-card.poems .recommended-series{color:#B9597A!important}
.recommended-card.letters .recommended-series{color:#5F6D49!important}
.recommended-card.behind-the-scenes .recommended-series{color:#804027!important}

/* 6 + 7. Gift CTA breathing room and restrained line-art gift icon. */
.subscriptions-gift-wrap{margin-top:22px;margin-bottom:30px}
.subscriptions-gift{gap:8px}
.subscriptions-gift-icon{width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 17px}
.subscriptions-gift-icon svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}

/* 8. Softer rose sampled from the supplied Version 3 reference. */
.tier-loved,.tier-loved>span:first-child{color:#D1ABB1}

/* 9 + 23 + 27. Gift and Login use the existing cream TLWH surface with no extra outer boxes. */
.tlwh-gift-page,
.tlwh-login-page,
.tlwh-pmpro-login{background:#F8F3EA!important}
.tlwh-gift-form{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.tlwh-gift-form input,
.tlwh-gift-form textarea,
.tlwh-login-content .pmpro_login_wrap input[type="text"],
.tlwh-login-content .pmpro_login_wrap input[type="email"],
.tlwh-login-content .pmpro_login_wrap input[type="password"]{
  border:1px solid rgba(58,51,46,.22)!important;
  background:rgba(255,250,241,.72)!important;
  box-shadow:none!important;
  outline:0;
}
.tlwh-gift-form input:focus,
.tlwh-gift-form textarea:focus,
.tlwh-login-content .pmpro_login_wrap input:focus{
  border-color:rgba(47,74,42,.55)!important;
  box-shadow:0 0 0 2px rgba(47,74,42,.08)!important;
}
.gift-payment-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.gift-payment-actions .button{min-width:210px}
.tlwh-gift-paystack-trust{margin:0}

/* 10. Selected checkout tier name reads as part of the same sentence. */
.tlwh-pmpro-checkout .pmpro_level_name_text,
.tlwh-pmpro-checkout .pmpro_level_name_text .tlwh-selected-tier-name,
.tlwh-pmpro-checkout .pmpro_level_name_text strong{
  font-family:var(--sans)!important;
  font-size:.88rem!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.48!important;
  letter-spacing:normal!important;
  color:inherit!important;
}

/* 12. FAQ remains in the footer policy row only; suppress any stale cached Contact CTA. */
.contact-faq-button,.contact-faq-intro{display:none!important}

/* 13. More on the Writer is slimmer and symmetrical above/below its link row. */
.about-page{padding-bottom:20px}
.about-prose>p:last-of-type{margin-bottom:0}
.writer-links{margin:22px 0 0;padding-top:20px;border-top:1px solid var(--line)}
.writer-links h2{margin-bottom:12px}
.writer-links-list{margin-bottom:0}

/* 14–18. Archive desktop parity: search first, four equal tabs, exact placeholder, lock-only restriction cue. */
.archive-search-top{
  width:min(100%,560px);
  max-width:560px;
  margin:0 0 20px;
}
.archive-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  padding:0 15px;
  overflow:visible;
}
.archive-tab{
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:normal;
}
.archive-premium-note{display:none!important}
.archive-placeholder-entry .archive-file-title{font-style:normal}
.archive-placeholder-entry .archive-file-meta{white-space:normal}


/* 19. Brand-guide typography: Liberation Serif for display/headings, Liberation Sans for body copy. */
.hero-blurb,
.empty-state,
.about-prose,
.article-copy,
.legal-prose,
.tlwh-checkout-welcome,
.faq-intro,
.reading-room-intro>p,
.shelf-empty,
.archive-empty,
.archive-no-matches,
.tlwh-preview-gate-copy,
.locked-letter-preview-card>p:last-child,
.keepsakes-confirmation{
  font-family:var(--sans)!important;
}
.book-spine span,
.reading-size-toggle button{font-family:var(--sans)!important}

/* 20. Keepsakes email capture is fully interactive on desktop and mobile. */
.keepsakes-notify{font-family:var(--sans)}
.keepsakes-notify-panel{z-index:1;pointer-events:auto}
.keepsakes-notify-form,
.keepsakes-notify-form *{pointer-events:auto}
.keepsakes-notify-form input[type="email"]{
  position:relative;
  z-index:2;
  -webkit-user-select:text;
  user-select:text;
  touch-action:manipulation;
}

/* 21 + 22. Reading Room is visible at desktop widths; price copy uses site-wide "approx." format. */
.reading-room-page,
.reading-room-container,
.reading-room-intro,
.reading-room-suggestion-area,
.suggested-shelf{display:block}
.reading-room-suggestion-area{display:grid}
.reading-room-memberships small{font-family:var(--sans)}


/* Tablet/full-nav parity after adding the eighth desktop navigation item. */
@media(min-width:768px) and (max-width:960px){
  .header-inner{display:flex;flex-wrap:wrap}
  .primary-nav{
    display:flex!important;
    flex:1 1 100%;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:4px 14px;
  }
  .primary-nav a{font-size:.68rem}
  .primary-nav .nav-cta{padding:9px 14px}
}

/* 28. Narrow/minimised layouts always keep the hamburger on the right. */
@media(max-width:767px){
  .header-inner{display:flex!important}
  .brand{order:1}
  .mobile-menu-toggle{
    order:2;
    margin-left:auto!important;
    margin-right:0!important;
    align-self:center;
  }
  .primary-nav{
    order:3;
    left:auto;
    right:calc((100vw - var(--container))/2 * -1);
    text-align:right;
  }
  .primary-nav a,.primary-nav .nav-cta{justify-content:flex-end!important;text-align:right!important}

  .archive-tabs{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
    padding-inline:0;
  }
  .archive-tab{
    min-height:54px;
    padding:9px 5px 8px;
    font-size:.61rem;
    line-height:1.15;
  }
  .archive-search-top{
    width:100%;
    max-width:none;
    margin-bottom:14px;
  }
  .subscriptions-gift-wrap{margin-bottom:28px}
  .gift-payment-actions{display:grid;grid-template-columns:1fr;width:100%}
  .gift-payment-actions .button{width:100%;min-width:0}
  .tlwh-gift-paystack-trust{justify-content:flex-start}
}


/* ========================================================================
   Version 1.8.7 — Foundation Phase Facelift Version 4 QA fixes + mobile parity
   ======================================================================== */

/* 30 + 32. Restore the established TLWH type treatment without introducing
   any font outside the brand's Liberation Serif / Liberation Sans pair. */
body,
button,
input,
textarea,
select{font-family:var(--sans)}
.monogram{font-family:var(--sans)!important}
.wordmark,
.heading,
.hero-title,
.hero-blurb,
.empty-state,
.about-prose,
.article-copy,
.legal-prose,
.faq-intro,
.reading-room-intro>p,
.shelf-empty,
.archive-empty,
.archive-no-matches,
.tlwh-preview-gate-copy,
.locked-letter-preview-card>p:last-child,
.keepsakes-confirmation{font-family:var(--serif)!important}

/* 31. Carousel dots use one light blush colour; active state is size only. */
.hero-dot,
.hero-dot:hover,
.hero-dot:focus-visible,
.hero-dot.is-active{
  background:#D9A5AD!important;
  opacity:1!important;
}
.hero-dot:hover,.hero-dot:focus-visible{box-shadow:0 0 0 3px rgba(217,165,173,.18)}
.hero-dot.is-active{width:12px;height:12px;transform:none}

/* 43. Homepage greens are pinned to the exact brand heading green. */
.hero-title span:last-child,
.journal-section .heading,
.journal-section .post-card h3,
.journal-section .letters-placeholder-title,
.steps-section .heading,
.steps-section .steps strong,
.contact-section .contact-copy h2{color:#2F4A2A!important}

/* 33 + 34. Gift icon follows the label and the CTA sits a little further
   away from the tier cards. Markup order is text -> icon. */
.subscriptions-gift-wrap{margin-top:34px;margin-bottom:30px}
.subscriptions-gift{gap:9px}
.subscriptions-gift-icon{order:2}

/* 36 + 37. Archive seasons are clear dividers and reading time/date occupy
   stable, separate columns at every breakpoint. */
.archive-season>h3{
  margin-bottom:13px;
  color:var(--rust);
  font-size:.80rem;
  font-weight:800;
  letter-spacing:.13em;
  line-height:1.25;
}
.archive-file-meta{
  width:284px;
  display:grid;
  grid-template-columns:104px 150px;
  align-items:center;
  justify-content:end;
  column-gap:20px;
  color:var(--muted);
  font-size:.68rem;
  white-space:nowrap;
}
.archive-file-reading-time{
  padding-right:6px;
  font-style:italic;
  text-align:right;
}
.archive-file-date{text-align:right}
.archive-placeholder-entry{grid-template-columns:minmax(0,1fr)}

/* 38. The Version 4 placeholder has no tier wording; the lock remains the
   sole restricted-access cue. */
.archive-placeholder-entry .archive-file-title{font-style:normal;color:var(--muted)}
.archive-placeholder-entry .archive-file-meta{display:none!important}

/* 39. Quiet outline-first CTA treatment, matching the homepage controls. */
.keepsakes-notify{
  border-color:#B5643F!important;
  background:transparent!important;
  color:#B5643F!important;
}
.keepsakes-notify:hover,.keepsakes-notify:focus-visible{
  border-color:#B5643F!important;
  background:#B5643F!important;
  color:#fff!important;
}
.reading-room-notify{
  border-color:#2F4A2A!important;
  background:transparent!important;
  color:#2F4A2A!important;
}
.reading-room-notify:hover,.reading-room-notify:focus-visible{
  border-color:#2F4A2A!important;
  background:#2F4A2A!important;
  color:#fff!important;
}
.button.rust.reading-room-add-shelf{
  border-color:#B5643F!important;
  background:transparent!important;
  color:#B5643F!important;
}
.button.rust.reading-room-add-shelf:hover,.button.rust.reading-room-add-shelf:focus-visible{
  border-color:#B5643F!important;
  background:#B5643F!important;
  color:#fff!important;
}

/* 40. Keep the suggestion form and Suggested Shelf on one shared measure.
   The Add to Shelf button sits on that same right edge. */
.reading-room-suggestion-area{
  width:min(100%,820px);
  max-width:820px;
  grid-template-columns:minmax(0,1fr);
  gap:20px;
}
.reading-room-form,.suggested-shelf{width:100%;max-width:none}
.reading-room-form .reading-room-add-shelf{justify-self:end}

/* 41. Login desktop priority fix: style the PMPro wrapper directly, not only
   the theme's page wrapper, so the result lands even if PMPro changes its
   internal card markup. This same rule set applies to tablet/mobile. */
.tlwh-pmpro-login,
.tlwh-pmpro-login #content,
.tlwh-pmpro-login .tlwh-login-page{background:#F8F3EA!important}
.tlwh-pmpro-login .tlwh-login-content,
.tlwh-pmpro-login .pmpro,
.tlwh-pmpro-login .pmpro_login_wrap,
.tlwh-pmpro-login .pmpro_card,
.tlwh-pmpro-login form{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.tlwh-pmpro-login .pmpro_login_wrap,
.tlwh-pmpro-login .pmpro_card{padding:20px 0!important}
.tlwh-pmpro-login input[type="text"],
.tlwh-pmpro-login input[type="email"],
.tlwh-pmpro-login input[type="password"]{
  width:100%!important;
  min-height:44px!important;
  padding:9px 11px!important;
  border:1px solid rgba(58,51,46,.22)!important;
  border-radius:8px!important;
  background:rgba(255,250,241,.72)!important;
  color:var(--ink)!important;
  box-shadow:none!important;
  outline:0!important;
}
.tlwh-pmpro-login input[type="text"]:focus,
.tlwh-pmpro-login input[type="email"]:focus,
.tlwh-pmpro-login input[type="password"]:focus{
  border-color:rgba(47,74,42,.55)!important;
  box-shadow:0 0 0 2px rgba(47,74,42,.08)!important;
}
.tlwh-pmpro-login .pmpro_form_field-password-toggle,
.tlwh-pmpro-login .pmpro_form_field-password-toggle button,
.tlwh-pmpro-login .pmpro_btn-password-toggle,
.tlwh-pmpro-login .button.wp-hide-pw{
  width:auto!important;
  min-width:0!important;
  min-height:18px!important;
  height:auto!important;
  margin:5px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#2F4A2A!important;
  box-shadow:none!important;
  text-transform:none!important;
}
.tlwh-pmpro-login .pmpro_form_field-password-toggle button:hover,
.tlwh-pmpro-login .pmpro_form_field-password-toggle button:focus-visible,
.tlwh-pmpro-login .pmpro_btn-password-toggle:hover,
.tlwh-pmpro-login .pmpro_btn-password-toggle:focus-visible,
.tlwh-pmpro-login .button.wp-hide-pw:hover,
.tlwh-pmpro-login .button.wp-hide-pw:focus-visible{
  border:0!important;
  background:transparent!important;
  color:var(--forest-deep)!important;
  box-shadow:none!important;
}

/* 42. Shared navigation/footer parity: Reading Room is never hidden on a
   theme-rendered page, including the front-end PMPro Login page. */
.primary-nav .nav-reading-room,
.tlwh-pmpro-login .primary-nav .nav-reading-room{display:flex!important}

/* Version 3 + 4 mobile parity. Desktop treatments above intentionally carry
   through; only these two mobile-specific refinements differ. */
@media(max-width:767px){
  .primary-nav{
    left:auto!important;
    right:0!important;
    width:min(310px,calc(100vw - 32px));
    max-width:310px;
    padding:10px 14px 14px;
    align-items:stretch;
    text-align:right;
  }
  .primary-nav a:not(.nav-cta){
    width:100%;
    min-height:40px;
    padding:8px 2px;
    justify-content:flex-end!important;
    text-align:right!important;
  }
  .primary-nav .nav-cta{
    width:auto!important;
    min-height:38px;
    align-self:flex-end;
    justify-content:center!important;
    margin-top:8px;
    padding:8px 15px!important;
    border:0!important;
    border-radius:999px!important;
    white-space:nowrap;
  }
  .archive-season>h3{font-size:.76rem}
  .archive-file-meta{
    width:100%;
    grid-template-columns:1fr auto;
    column-gap:14px;
    justify-content:stretch;
  }
  .archive-file-reading-time{padding-right:8px;text-align:right}
  .archive-file-date{text-align:right}
  .reading-room-suggestion-area{width:100%;max-width:none}
  .reading-room-form .reading-room-add-shelf{justify-self:end;width:auto}
}


/* ========================================================================
   Version 1.8.8 — Most Loved desktop/mobile parity correction
   ======================================================================== */
/* The Fellow Travellers badge must render identically at every viewport. */
.tier-loved{
  top:20px!important;
  right:19px!important;
  display:grid!important;
  justify-items:center!important;
  gap:7px!important;
  color:#D1ABB1!important;
  font-family:var(--sans)!important;
  font-size:.55rem!important;
  font-weight:700!important;
  line-height:1.05!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.tier-loved>span:first-child{
  position:relative!important;
  top:2px!important;
  color:#D1ABB1!important;
  font-size:1rem!important;
  line-height:1!important;
}
@media(max-width:767px){
  .tier-card.featured h3{padding-right:74px!important}
}


/* ========================================================================
   Version 1.8.10 — Most Loved cross-platform parity fix
   ======================================================================== */
/* Use an SVG heart instead of a Unicode/emoji glyph so iOS/Safari cannot
   substitute the red Apple emoji. Desktop and mobile now use one identical
   badge implementation and one identical set of measurements. */
.tier-loved{
  top:20px!important;
  right:19px!important;
  display:grid!important;
  grid-template-rows:13px auto!important;
  justify-items:center!important;
  align-items:center!important;
  row-gap:7px!important;
  color:#D1ABB1!important;
  font-family:var(--sans)!important;
  font-size:8.8px!important;
  font-weight:700!important;
  line-height:1.05!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.tier-loved-heart{
  position:static!important;
  display:block!important;
  width:13px!important;
  height:13px!important;
  margin:0!important;
  color:#D1ABB1!important;
  fill:currentColor!important;
  overflow:visible!important;
  transform:none!important;
}
.tier-loved-heart path{fill:currentColor!important}
.tier-loved>span{
  position:static!important;
  top:auto!important;
  color:#D1ABB1!important;
  font:inherit!important;
  line-height:1.05!important;
}
@media(max-width:767px){
  .tier-loved{
    top:20px!important;
    right:19px!important;
    grid-template-rows:13px auto!important;
    row-gap:7px!important;
    font-size:8.8px!important;
  }
  .tier-loved-heart{width:13px!important;height:13px!important}
}


/* v1.8.12 — 14 September homepage/policy/checkout revisions */
:root{--cream:#F8F3EA;--forest:#2F4A2A;--charcoal:#3A332E;--terracotta:#B5643F}
body,.hero,.section,.journal-section,.contact-section,.site-main{background:#F8F3EA}
.hero-media-block{min-width:0;width:100%}
.hero-caption-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:8px 2px 0;color:#76736f;font-family:"Liberation Sans",Arial,sans-serif;font-size:.7rem;line-height:1.4}
.hero-caption{min-width:0}
.hero-caption-strip .hero-carousel-dots{min-height:0;justify-content:flex-end;flex:0 0 auto}
.home-about-section{padding-top:54px;padding-bottom:64px}
.home-about-inner{max-width:930px}
.home-about-inner .heading{color:#B5643F;margin-bottom:24px}
.home-about-copy{color:#3A332E;font-family:"Liberation Sans",Arial,sans-serif;font-size:1rem;line-height:1.8;text-align:justify}
.home-about-copy p{margin:0 0 1.25em}
.posts-grid{align-items:stretch}
.post-card{display:flex;flex-direction:column;height:100%}
.post-card>.button.text{margin-top:auto;align-self:flex-start}
.monthly-featured-badge{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;color:#B5643F;font-family:"Liberation Sans",Arial,sans-serif;font-size:.69rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.monthly-featured-badge span{font-size:.85rem}
.tier-description{font-size:.78rem;line-height:1.5;margin:6px 0 10px;color:inherit;opacity:.92}
.subscriptions-gift-wrap{flex-direction:column;align-items:center;gap:9px}
.subscriptions-gift-intro{margin:0;color:#fff;font-family:"Liberation Sans",Arial,sans-serif;font-size:.72rem;line-height:1.4;text-align:center}
.contact-copy>.eyebrow{margin-bottom:18px}
.contact-whatsapp-invite{margin:20px 0 14px;padding:16px 18px;border:1px solid rgba(47,74,42,.25);border-radius:18px;background:rgba(255,255,255,.18)}
.contact-whatsapp-invite p{margin:0 0 12px}
.contact-whatsapp-button{border-color:#2F4A2A!important;background:transparent!important;color:#2F4A2A!important}
.contact-whatsapp-button:hover,.contact-whatsapp-button:focus-visible{background:#2F4A2A!important;color:#fff!important}
.footer-socials{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.footer-social{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;color:inherit}
.footer-social svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.footer-linkedin svg,.footer-whatsapp svg{fill:currentColor;stroke:none}
.back-to-top svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:square;stroke-linejoin:miter}
.form-message,.pmpro_error,.pmpro_message.pmpro_error,.pmpro_alert.pmpro_error{color:#B5643F!important;border-color:#B5643F!important}
.tlwh-preview-tier-grid.is-two-tier{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin-inline:auto}
.tlwh-checkout-steps{display:flex;align-items:stretch;gap:12px;margin:0 auto 28px;max-width:980px;padding:18px 20px;border:1px solid rgba(47,74,42,.18);border-radius:18px;background:rgba(255,255,255,.18)}
.tlwh-checkout-step{display:flex;gap:10px;align-items:flex-start;flex:1;color:#3A332E;font-family:"Liberation Sans",Arial,sans-serif}
.tlwh-checkout-step>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:1px solid #2F4A2A;border-radius:50%;color:#2F4A2A;font-weight:700;font-size:.72rem}
.tlwh-checkout-step strong{display:block;color:#2F4A2A;font-size:.78rem;margin-bottom:4px}
.tlwh-checkout-step small{display:block;font-size:.68rem;line-height:1.45;color:#5e5a55}
.tlwh-checkout-step-line{align-self:center;color:#9b958d;font-size:1.1rem}
.tlwh-whatsapp-optin-field{margin:16px 0!important}
.tlwh-whatsapp-optin-label{display:flex!important;align-items:flex-start;gap:9px!important;font-weight:400!important}
.tlwh-whatsapp-optin-label input{margin-top:3px!important}
.tlwh-whatsapp-confirmation{margin:28px 0;padding:28px;border:1px solid rgba(47,74,42,.2);border-radius:24px;background:#F8F3EA;color:#3A332E;text-align:center}
.tlwh-whatsapp-confirmation h2{max-width:720px;margin:0 auto 22px;color:#2F4A2A;font-family:"Liberation Serif",Georgia,serif;font-weight:700;font-size:1.65rem}
.tlwh-whatsapp-confirmation-actions{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap}
.tlwh-whatsapp-confirmation-actions img{width:180px;height:180px;border:8px solid #fff;border-radius:12px}
.tlwh-whatsapp-manual-note{font-size:.76rem;margin:14px 0 0;color:#6c675f}
.gift-recipient-note{margin:18px 0 8px;color:#3A332E;font-size:.8rem;line-height:1.55}
.tlwh-cookie-banner{position:fixed;z-index:999999;left:24px;right:24px;bottom:24px;max-width:860px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid rgba(47,74,42,.22);border-radius:20px;background:#F8F3EA;box-shadow:0 10px 30px rgba(58,51,46,.14);color:#3A332E;font-family:"Liberation Sans",Arial,sans-serif}
.tlwh-cookie-banner[hidden]{display:none!important}
.tlwh-cookie-banner p{margin:0;max-width:620px;font-size:.8rem;line-height:1.55}
.tlwh-cookie-actions{display:flex;gap:8px;flex:0 0 auto}
.tlwh-cookie-actions .button{min-width:92px;margin:0}
@media(max-width:767px){
  .hero-caption-strip{font-size:.64rem;padding-top:7px}
  .home-about-section{padding-top:42px;padding-bottom:48px}
  .home-about-copy{text-align:left;font-size:.94rem}
  .tlwh-preview-tier-grid.is-two-tier{grid-template-columns:1fr}
  .tlwh-checkout-steps{flex-direction:column;gap:10px;padding:16px}
  .tlwh-checkout-step-line{transform:rotate(90deg);align-self:flex-start;margin-left:8px}
  .tlwh-cookie-banner{left:12px;right:12px;bottom:12px;flex-direction:column;align-items:stretch;padding:16px}
  .tlwh-cookie-actions{justify-content:flex-start}
  .footer-socials{justify-content:flex-start}
}

/* v1.8.14 — audit corrections: preserve the intentionally forest-green
   Subscriptions surface when normalising all other homepage sections to cream.
   The later `.section` declaration in v1.8.13 inadvertently washed this out. */
.home-scroll.subscriptions{background:#2F4A2A;color:rgba(255,255,255,.82)}
.home-scroll.subscriptions .subscriptions-heading .heading{color:#fff!important}
/* Keep the caption on the left and the dots on the right even below 768px:
   an earlier mobile `order:-1` otherwise reverses the new caption strip. */
.hero-caption-strip .hero-carousel-dots{order:0}
/* About TLWH uses the specified bold display heading and justified body at
   desktop and mobile widths; the existing mobile exception was inconsistent. */
.home-about-section .home-about-inner .heading{font-family:"Liberation Serif",Georgia,serif;font-weight:700}
@media(max-width:767px){.home-about-section .home-about-copy{text-align:justify}}

/* v1.8.15 — The hero image and its caption remain a single responsive block.
   Six bundled hero photographs are 16:9. Matching that ratio prevents the
   desktop/phone viewport from needlessly cropping them. */
.hero-media-block{display:flex;flex-direction:column;min-width:0;width:100%}
.hero-media-block .hero-carousel{width:100%;aspect-ratio:16/9;min-height:0;flex:0 0 auto}
.hero-media-block .hero-slide img{width:100%;height:100%;object-fit:contain;object-position:center}
.hero-media-block .hero-caption-strip{
  box-sizing:border-box;
  width:100%;min-width:0;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  column-gap:8px;row-gap:3px;
  padding:8px 10px 10px;
  overflow:visible;
}
.hero-media-block .hero-caption{
  flex:1 1 auto;min-width:0;
  white-space:normal;overflow-wrap:normal;word-break:normal;
}
.hero-media-block .hero-carousel-dots{flex:0 0 auto;gap:clamp(4px,1.3vw,8px);order:0}
@media(max-width:380px){
  .hero-media-block .hero-caption-strip{padding-inline:8px;column-gap:5px;font-size:.64rem}
  .hero-media-block .hero-carousel-dots{gap:4px}
}
