/*
Theme Name: Amy M. Young
Theme URI: https://amyyoung.com
Author: Built from the original hand-coded site
Description: A custom theme for Amy M. Young, organizational psychologist, professor, author and speaker. Converts the finished eight page HTML site into WordPress so the blog, news and video sections can be maintained from the dashboard without touching code. Fraunces and Lora typography, deep blue and coral palette.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: amy-young
Tags: blog, portfolio, one-column, custom-menu, featured-images, block-styles, translation-ready
*/

/* ============================================================
   ORIGINAL STYLESHEET
   Unchanged from assets/style.css, except that the Google Fonts
   @import moved into functions.php where WordPress can enqueue
   it properly. WordPress additions are at the bottom.
   ============================================================ */

:root{
  --ink:#1e4d86;
  --muted:#5c6674;
  --accent:#ef5a45;
  --accent-dark:#d23f2b;
  --paper:#ffffff;
  --cream:#f7f3ec;
  --line:#e5e7ec;
  --white:#ffffff;
  /* prominent accents */
  --yellow:#f2a900;
  --magenta:#d21f8c;
  --blue:#1e4d86;
  --coral:#ef5a45;
  --green:#3bb08a;
  --serif:'Fraunces','Georgia','Times New Roman',serif;
  --body:'Lora','Georgia','Times New Roman',serif;
  --sans:'Lora','Georgia',serif;
}
/* rotate the four prominent accent colors through card groups */
.grid-3 .card:nth-child(3n+1) .tag{color:var(--coral);}
.grid-3 .card:nth-child(3n+2) .tag{color:var(--blue);}
.grid-3 .card:nth-child(3n+3) .tag{color:var(--magenta);}
.grid-2 .card:nth-child(4n+1){border-top:4px solid var(--coral);}
.grid-2 .card:nth-child(4n+2){border-top:4px solid var(--yellow);}
.grid-2 .card:nth-child(4n+3){border-top:4px solid var(--blue);}
.grid-2 .card:nth-child(4n+4){border-top:4px solid var(--magenta);}
.grid-2 .card.accent{border-top:none;}
.grid-2 .card.accent:nth-child(4n+1){border-left:4px solid var(--coral);}
.grid-2 .card.accent:nth-child(4n+2){border-left:4px solid var(--yellow);}
.grid-2 .card.accent:nth-child(4n+3){border-left:4px solid var(--blue);}
.grid-2 .card.accent:nth-child(4n+4){border-left:4px solid var(--magenta);}
.grid-3 .card:nth-child(3n+1){border-top:4px solid var(--coral);}
.grid-3 .card:nth-child(3n+2){border-top:4px solid var(--blue);}
.grid-3 .card:nth-child(3n+3){border-top:4px solid var(--magenta);}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--body);color:var(--ink);background:var(--white);line-height:1.7;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.13;letter-spacing:-.01em;}
h1{font-weight:600;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px;}
.narrow{max-width:820px;margin:0 auto;padding:0 28px;}

/* NAV */
header{position:sticky;top:0;z-index:50;background:rgba(250,247,242,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px;}
.logo{font-family:var(--serif);font-size:34px;font-weight:600;letter-spacing:.01em;}
.logo span{color:var(--accent);}
nav ul{display:flex;list-style:none;gap:30px;align-items:center;}
nav a{font-family:var(--body);font-size:16px;letter-spacing:.01em;color:var(--ink);transition:color .2s;}
nav a:hover,nav a.active{color:var(--accent);}
.nav-cta{background:var(--accent);color:var(--white)!important;padding:11px 22px;border-radius:2px;font-size:15px;letter-spacing:.01em;transition:background .2s;}
.nav-cta:hover{background:var(--accent-dark);}
.menu-btn{display:none;background:none;border:0;font-size:24px;cursor:pointer;color:var(--ink);}

/* BUTTONS */
.btn{display:inline-block;font-family:var(--body);padding:15px 28px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;border-radius:3px;transition:all .2s;cursor:pointer;}
.btn-primary{background:var(--accent);color:var(--white);}
.btn-primary:hover{background:var(--accent-dark);}
.btn-ghost{border:1px solid var(--ink);color:var(--ink);}
.btn-ghost:hover{background:var(--ink);color:var(--paper);}
.btn-light{background:var(--accent);color:var(--white);}
.btn-light:hover{background:var(--accent-dark);}
.btn-outline-light{border:1px solid rgba(250,247,242,.5);color:var(--paper);}
.btn-outline-light:hover{background:var(--paper);color:var(--ink);}
.btns{display:flex;gap:14px;flex-wrap:wrap;}

/* HERO */
.hero{padding:96px 0 84px;background:var(--paper);}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;}
.eyebrow{font-family:var(--body);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;}
.hero h1{font-size:56px;margin-bottom:24px;}
.hero p.lede{font-size:20px;color:var(--muted);max-width:520px;margin-bottom:32px;}
.hero-portrait{border-radius:4px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(40,30,20,.5);aspect-ratio:4/5;}
.hero-portrait img{width:100%;height:100%;object-fit:cover;}

/* PAGE HEADER (inner pages) */
.page-head{padding:80px 0 40px;background:linear-gradient(180deg,var(--cream),var(--paper));text-align:center;}
.page-head h1{font-size:52px;margin-bottom:16px;}
.page-head p{color:var(--muted);font-size:19px;max-width:680px;margin:0 auto;}

/* BAND */
.band{background:var(--yellow);color:var(--ink);text-align:center;padding:70px 0;}
.band h2{font-size:33px;max-width:880px;margin:0 auto;font-style:italic;font-weight:500;}
.band .src{margin-top:20px;font-family:var(--body);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:rgba(42,38,34,.62);}
.band.band-magenta{background:var(--magenta);color:var(--white);}
.band.band-magenta .src{color:rgba(255,255,255,.78);}
.band.band-coral{background:var(--coral);color:var(--white);}
.band.band-coral .src{color:rgba(255,255,255,.78);}

/* SECTIONS */
.section{padding:90px 0;}
.section.cream{background:var(--cream);}
.section.dark{background:var(--blue);color:var(--white);}
.section-head{text-align:center;max-width:760px;margin:0 auto 56px;}
.section-head .eyebrow{margin-bottom:16px;}
.section-head h2{font-size:38px;margin-bottom:16px;}
.section-head p{color:var(--muted);font-size:18px;}
.section.dark .section-head p{color:rgba(250,247,242,.72);}

/* SPLIT (image + text) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.split.narrow-img{grid-template-columns:.85fr 1.15fr;}
.split img.frame{border-radius:4px;box-shadow:0 26px 50px -28px rgba(40,30,20,.5);width:100%;object-fit:cover;}
.split h2{font-size:36px;margin-bottom:18px;}
.split h3{font-size:24px;margin:0 0 12px;}
.split p{color:var(--muted);font-size:17px;margin-bottom:16px;}
.split.dark-text p{color:rgba(250,247,242,.75);}

/* PROSE */
.prose h2{font-size:32px;margin:44px 0 16px;}
.prose h3{font-size:23px;margin:34px 0 12px;color:var(--accent);}
.prose p{color:#3f3f52;font-size:17px;margin-bottom:18px;}
.prose .lead{font-size:20px;color:var(--ink);}

/* CREDS LIST */
.creds{list-style:none;margin:22px 0 26px;border-top:1px solid var(--line);}
.creds li{padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;display:flex;gap:14px;}
.creds li b{font-family:var(--serif);color:var(--accent);font-weight:400;min-width:110px;}

/* CARDS GRID */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.card{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:38px 34px;transition:transform .25s,box-shadow .25s;}
.card:hover{transform:translateY(-5px);box-shadow:0 24px 46px -28px rgba(40,30,20,.4);}
.card .tag{font-family:var(--body);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.card h3{font-size:23px;margin-bottom:12px;}
.card p{color:var(--muted);font-size:16px;}
.card.accent{border-left:3px solid var(--accent);}
.keynotes{list-style:none;margin:14px 0 0;}
.keynotes li{font-family:var(--serif);font-style:italic;color:var(--ink);font-size:15px;padding:6px 0 6px 16px;position:relative;}
.keynotes li:before{content:"\2014";position:absolute;left:0;color:var(--accent);font-style:normal;}
.go{display:inline-block;margin-top:16px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}

/* MINDSETS */
.mind-note{text-align:center;max-width:760px;margin:26px auto 0;color:var(--muted);font-size:17px;font-style:italic;font-family:var(--serif);}

/* BOOK */
.book-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;}
.book-grid img{width:100%;border-radius:3px;box-shadow:0 30px 60px -26px rgba(20,20,50,.55);}
.pub{font-family:var(--body);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;}
.pull{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--ink);margin:22px 0;line-height:1.4;}
.buybtns{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.buybtns a{font-size:12px;letter-spacing:.05em;padding:12px 18px;border:1px solid var(--line);border-radius:2px;color:var(--ink);background:var(--white);transition:all .2s;}
.buybtns a:hover{border-color:var(--accent);color:var(--accent);}

/* ASSESS / LEAD MAGNET */
.assess-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
.acard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:4px;padding:26px 28px;margin-bottom:16px;}
.acard h3{font-size:20px;margin-bottom:8px;color:var(--paper);}
.acard p{font-size:15px;margin-bottom:12px;color:rgba(250,247,242,.75);}
.acard a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#ffb3a6;}

/* LOGOS */
.logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:38px;margin-top:6px;}
.logos span{font-family:var(--serif);font-size:19px;color:#b3a6c2;letter-spacing:.02em;}

/* MEDIA/REFERENCE LIST */
.reflist{list-style:none;}
.reflist li{padding:26px 0;border-bottom:1px solid var(--line);}
.reflist .meta{font-family:var(--body);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
.reflist h3{font-size:21px;margin-bottom:8px;}
.reflist .cite{font-size:14px;color:var(--muted);font-style:italic;margin-bottom:10px;}
.reflist p{color:#3f3f52;font-size:16px;}

/* SIGNUP */
.signup{display:flex;gap:10px;justify-content:center;max-width:520px;margin:0 auto 24px;flex-wrap:wrap;}
.signup input{flex:1;min-width:240px;padding:15px 18px;border:1px solid rgba(250,247,242,.3);background:rgba(255,255,255,.06);color:var(--paper);border-radius:2px;font-size:15px;}
.signup input::placeholder{color:rgba(250,247,242,.55);}

/* CONTACT FORM */
.form{max-width:640px;margin:0 auto;display:grid;gap:16px;}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form input,.form select,.form textarea{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:2px;font-size:15px;font-family:var(--sans);background:var(--white);color:var(--ink);}
.form textarea{min-height:140px;resize:vertical;}
.form label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:-8px;}

/* CTA STRIP */
.cta-strip{background:var(--accent);color:var(--white);text-align:center;padding:70px 0;}
.cta-strip h2{font-size:34px;margin-bottom:22px;}
.cta-strip .btn-ghost{border-color:var(--white);color:var(--white);}
.cta-strip .btn-ghost:hover{background:var(--white);color:var(--accent);}

/* FOOTER */
footer{background:var(--ink);color:rgba(255,255,255,.62);padding:52px 0;}
.foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;}
.foot .logo{color:var(--paper);}
.foot ul{display:flex;gap:24px;list-style:none;flex-wrap:wrap;}
.foot a{font-size:13px;letter-spacing:.1em;text-transform:uppercase;}
.foot a:hover{color:var(--accent);}

@media(max-width:900px){
  .hero-grid,.book-grid,.split,.split.narrow-img,.assess-grid{grid-template-columns:1fr;gap:40px;}
  .hero h1{font-size:40px;}
  .page-head h1{font-size:38px;}
  .grid-2,.grid-3{grid-template-columns:1fr;}
  .form .row{grid-template-columns:1fr;}
  nav ul{display:none;}
  .menu-btn{display:block;}
  nav ul.open{display:flex;position:absolute;top:78px;left:0;right:0;flex-direction:column;background:var(--paper);padding:22px 28px;gap:20px;border-bottom:1px solid var(--line);}
  .band h2{font-size:24px;}
  .hero-portrait{max-width:420px;margin:0 auto;}
}

/* ============================================================
   REFINEMENTS (added in polish pass)
   ============================================================ */

/* Active nav gets a subtle underline in addition to the accent color */
nav a.active{position:relative;}
nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--accent);border-radius:2px;}

/* Accessible focus states for keyboard users and form fields */
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}
.form input:focus,.form select:focus,.form textarea:focus,.signup input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(239,90,69,.18);}

/* Slightly warmer, softer card hover shadow */
.card:hover{box-shadow:0 26px 50px -30px rgba(30,77,134,.35);}

/* Smaller-screen typography scaling for readability on phones */
@media(max-width:560px){
  .wrap,.narrow{padding:0 20px;}
  .hero{padding:64px 0 56px;}
  .hero h1{font-size:33px;}
  .page-head h1{font-size:32px;}
  .section{padding:60px 0;}
  .section-head h2,.split h2,.prose h2{font-size:27px;}
  .logo{font-size:27px;}
  .band h2{font-size:22px;}
  .btns{gap:10px;}
  .btn{padding:13px 22px;}
}

/* ============================================================
   BLOG + VIDEO PAGE
   ============================================================ */
.postlist{list-style:none;max-width:820px;margin:0 auto;}
.postlist li{padding:30px 0;border-bottom:1px solid var(--line);}
.postlist .meta{font-family:var(--body);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;}
.postlist .meta .cat{color:var(--muted);}
.postlist h3{font-size:25px;margin-bottom:10px;line-height:1.2;}
.postlist h3 a:hover{color:var(--accent);}
.postlist p{color:#3f3f52;font-size:16px;margin-bottom:12px;}
.postlist .readmore{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.vcard{background:var(--white);border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:transform .25s,box-shadow .25s;}
.vcard:hover{transform:translateY(-5px);box-shadow:0 24px 46px -30px rgba(30,77,134,.35);}
.vthumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--blue),#14345c);display:flex;align-items:center;justify-content:center;}
.vthumb .play{width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;}
.vthumb .play:after{content:"";border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--accent);margin-left:4px;}
.vcard .vbody{padding:22px 24px;}
.vcard .kind{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:9px;}
.vcard h3{font-size:19px;margin-bottom:8px;line-height:1.3;}
.vcard p{color:var(--muted);font-size:14px;}
@media(max-width:700px){.video-grid{grid-template-columns:1fr;}}

/* Balance intro paragraphs so the last line is not a lone few words */
.section-head p{text-wrap:balance;}

/* ============================================================
   PRAISE / ENDORSEMENTS
   ============================================================ */
.praise-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
.praise{background:var(--white);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:4px;padding:30px 32px;box-shadow:0 18px 40px -30px rgba(30,77,134,.3);}
.praise p{font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.55;color:var(--ink);margin-bottom:16px;}
.praise cite{font-style:normal;font-family:var(--body);font-size:14px;color:var(--muted);display:block;}
.praise cite em{font-style:italic;}
@media(max-width:700px){.praise-grid{grid-template-columns:1fr;}}

/* ============================================================
   WORDPRESS ADDITIONS
   Everything above this line is the original stylesheet,
   unchanged. Everything below adapts it to WordPress: the
   dropdown menu, editor content, forms, and pagination.
   ============================================================ */

/* ---------- Header logo mark ----------
   The original stylesheet never sized .logo-ico, so the 256x217 source image
   rendered at full size and blew the 78px header open. Sized here to sit
   alongside the wordmark. Change the height value to taste. */

.logo{display:inline-flex;align-items:center;gap:10px;}
.logo-ico{height:32px;width:auto;display:block;}
@media(max-width:900px){.logo-ico{height:26px;}}

/* ---------- Dropdown submenu ----------
   Supports both the designer's hand-written markup (.has-sub /
   .submenu) and the markup WordPress generates from Appearance >
   Menus (.menu-item-has-children / .sub-menu). */

.has-sub,
.menu-item-has-children{position:relative;}

.has-sub > a:after,
.menu-item-has-children > a:after{
  content:"";display:inline-block;margin-left:7px;vertical-align:middle;
  border:4px solid transparent;border-top-color:currentColor;
  transform:translateY(2px);transition:transform .2s;
}
.has-sub:hover > a:after,
.menu-item-has-children:hover > a:after{transform:translateY(4px);}

nav .submenu,
nav .sub-menu{
  display:none;position:absolute;top:100%;left:-20px;z-index:60;
  min-width:196px;list-style:none;gap:0;
  background:var(--paper);border:1px solid var(--line);border-radius:3px;
  padding:14px 0 10px;
  box-shadow:0 22px 44px -26px rgba(30,77,134,.45);
}
nav .submenu li,
nav .sub-menu li{display:block;}
nav .submenu a,
nav .sub-menu a{display:block;padding:9px 22px;font-size:15px;white-space:nowrap;}
nav .submenu a:hover,
nav .sub-menu a:hover{color:var(--accent);background:var(--cream);}

.has-sub:hover > .submenu,
.has-sub:focus-within > .submenu,
.menu-item-has-children:hover > .sub-menu,
.menu-item-has-children:focus-within > .sub-menu{display:block;}

/* WordPress marks the current page with its own classes. Map them onto
   the .active styling the design already uses. */
nav .current-menu-item > a,
nav .current_page_item > a,
nav .current-menu-ancestor > a{color:var(--accent);position:relative;}
nav .current-menu-item > a:after,
nav .current_page_item > a:after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;
  background:var(--accent);border-radius:2px;border:0;transform:none;margin:0;
}
nav .current-menu-item > a.nav-cta:after,
nav .current_page_item > a.nav-cta:after{display:none;}
/* The caret on a current parent item must not become an underline. */
nav .current-menu-ancestor.menu-item-has-children > a:after,
nav .current-menu-item.menu-item-has-children > a:after{
  content:"";position:static;height:auto;background:none;
  border:4px solid transparent;border-top-color:currentColor;
  transform:translateY(2px);display:inline-block;margin-left:7px;
}

@media(max-width:900px){
  nav ul.open .submenu,
  nav ul.open .sub-menu{
    display:none;position:static;border:0;box-shadow:none;background:transparent;
    padding:10px 0 0 16px;min-width:0;
  }
  nav ul.open .sub-open > .submenu,
  nav ul.open .sub-open > .sub-menu{display:flex;flex-direction:column;gap:14px;}
  nav ul.open .submenu a,
  nav ul.open .sub-menu a{padding:0;}
  nav ul.open .submenu a:hover,
  nav ul.open .sub-menu a:hover{background:transparent;}
}

/* ---------- Video cards with a featured image ---------- */
.vthumb{background-size:cover;background-position:center;}
.vcard h3 a:hover{color:var(--accent);}

/* ---------- Content coming from the WordPress editor ---------- */
.prose img,.prose figure img,.entry-content img,.wp-block-image img{
  max-width:100%;height:auto;border-radius:3px;
}
.prose figure,.wp-block-image{margin:30px 0;}
figcaption,.wp-block-image figcaption{
  font-size:14px;color:var(--muted);text-align:center;margin-top:10px;font-style:italic;
}
.prose ul,.prose ol,.entry-content ul,.entry-content ol{margin:0 0 20px 24px;}
.prose li,.entry-content li{margin-bottom:8px;}
.prose blockquote,.wp-block-quote{
  border-left:3px solid var(--accent);padding-left:24px;margin:30px 0;
  font-family:var(--serif);font-size:21px;line-height:1.45;color:var(--ink);
}
.wp-block-quote cite{
  display:block;margin-top:10px;font-family:var(--body);font-size:14px;
  color:var(--muted);font-style:normal;
}
.wp-block-separator{border:0;border-top:1px solid var(--line);margin:40px 0;}
.wp-block-embed,.wp-block-video{margin:32px 0;}
.wp-block-embed iframe,.wp-block-video video{
  width:100%;aspect-ratio:16/9;height:auto;border-radius:4px;display:block;
}
.alignwide{max-width:1100px;margin-left:auto;margin-right:auto;}
.alignfull{max-width:none;}
.aligncenter{margin-left:auto;margin-right:auto;text-align:center;}

/* Buttons added in the editor should match the site's buttons. */
.wp-block-button__link{
  background:var(--accent);color:var(--white);border-radius:3px;
  font-family:var(--body);font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;padding:15px 28px;
}
.wp-block-button__link:hover{background:var(--accent-dark);}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;color:var(--ink);border:1px solid var(--ink);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:var(--ink);color:var(--paper);
}

/* ---------- Jetpack / Mailchimp forms, styled to match the design ---------- */
.contact-form,.wp-block-jetpack-contact-form{max-width:640px;margin:0 auto;}
.contact-form label,.wp-block-jetpack-contact-form label{
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);font-family:var(--body);display:block;margin-bottom:6px;
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="url"],
.contact-form input[type="tel"],
.contact-form select,
.contact-form textarea,
.mc4wp-form input[type="text"],
.mc4wp-form input[type="email"]{
  width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:2px;
  font-size:15px;font-family:var(--sans);background:var(--white);color:var(--ink);
  margin-bottom:16px;
}
.contact-form textarea{min-height:140px;resize:vertical;}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus,
.mc4wp-form input:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(239,90,69,.18);
}
.contact-form .pushbutton-wide,
.contact-form input[type="submit"],
.contact-form button[type="submit"],
.mc4wp-form input[type="submit"]{
  display:inline-block;font-family:var(--body);padding:15px 28px;font-size:13px;
  letter-spacing:.1em;text-transform:uppercase;border-radius:3px;border:0;
  background:var(--accent);color:var(--white);cursor:pointer;transition:background .2s;
}
.contact-form input[type="submit"]:hover,
.contact-form button[type="submit"]:hover,
.mc4wp-form input[type="submit"]:hover{background:var(--accent-dark);}

/* The newsletter signup sits on the dark band, so it needs light-on-dark fields. */
.signup-embed{max-width:520px;margin:0 auto;}
.signup-embed form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.signup-embed label{color:rgba(250,247,242,.72);}
.signup-embed input[type="email"],
.signup-embed input[type="text"]{
  flex:1;min-width:240px;padding:15px 18px;margin-bottom:0;
  border:1px solid rgba(250,247,242,.3);background:rgba(255,255,255,.06);
  color:var(--paper);border-radius:2px;font-size:15px;
}
.signup-embed input::placeholder{color:rgba(250,247,242,.55);}
.signup-embed input[type="submit"],
.signup-embed button{
  background:var(--accent);color:var(--white);border:0;border-radius:3px;
  padding:15px 28px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  font-family:var(--body);cursor:pointer;
}
.signup-embed input[type="submit"]:hover,
.signup-embed button:hover{background:var(--accent-dark);}

/* ---------- Pagination ---------- */
.pagination{margin-top:48px;text-align:center;}
.pagination .nav-links{
  display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;
}
.pagination .page-numbers{
  display:inline-block;padding:9px 15px;border:1px solid var(--line);
  border-radius:2px;font-size:14px;color:var(--ink);transition:all .2s;
}
.pagination .page-numbers:hover{border-color:var(--accent);color:var(--accent);}
.pagination .page-numbers.current{
  background:var(--accent);border-color:var(--accent);color:var(--white);
}
.pagination .screen-reader-text{display:none;}

/* ---------- Post navigation between articles ---------- */
.post-nav{border-top:1px solid var(--line);}
.post-nav .wrap{
  display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:32px;padding-bottom:32px;
}
.post-nav .dir{
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);margin-bottom:6px;display:block;
}
.post-nav a{font-family:var(--serif);font-size:18px;color:var(--ink);}
.post-nav a:hover{color:var(--accent);}

/* ---------- Accessibility ---------- */
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap;
}
.screen-reader-text:focus{
  position:static!important;width:auto;height:auto;clip:auto;
  padding:12px 20px;background:var(--paper);color:var(--ink);
}

/* ---------- WordPress admin bar ---------- */
body.admin-bar header{top:32px;}
@media(max-width:782px){body.admin-bar header{top:46px;}}

/* ---------- Buy buttons awaiting real URLs ---------- */
.buy-soon{
  font-size:13px;color:var(--muted);font-style:italic;font-family:var(--serif);
  padding:12px 0;
}
