/*
Theme Name: Inner Meridian Life Coaching
Theme URI: https://innermeridian.co.uk
Author: Jack Beal
Author URI: https://innermeridian.co.uk
Description: Custom theme for Inner Meridian Life Coaching - a warm, calm coaching site with life coaching, AuDHD & neurodiversity coaching, pricing, testimonials and a live blog feed.
Version: 1.9
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: inner-meridian
*/

  :root{
    --bg:#F4EFE4; --bg-alt:#FBF8F1; --card:#FFFDF8;
    --ink:#352F2B; --ink-2:#5C544C; --ink-3:#6A615A; --muted:#8E847A;
    --plum:#7E5C74; --plum-dk:#6E4F66; --plum-tint:#F3EAF0; --plum-border:#E4D2DE;
    --gold:#C2982F; --gold-dk:#A07C24; --gold-tint:#F6ECCF;
    --line:#E7DECC; --line-2:#EDE4D2;
    --serif:'Newsreader',Georgia,serif; --sans:'Quicksand',-apple-system,sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--bg);color:var(--ink-2);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.6}
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  button{font-family:inherit}
  .wrap{max-width:1180px;margin:0 auto;padding:0 40px;position:relative;z-index:1}
  /* subtle river branding layer — only paints when a river image is set in
     Appearance > Customise > Inner Meridian branding */
  .band::before,.cta-band::before,section.river-bg::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background-image:var(--river-img);background-size:cover;background-position:center;
    opacity:var(--river-opacity,.09);mix-blend-mode:multiply}
  .cta-band .inner{position:relative;z-index:1}
  .eyebrow{font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-dk)}
  h1,h2,h3{font-family:var(--serif);color:var(--ink);font-weight:400;line-height:1.2}
  .page{display:block}
  body.js-ready .page{display:none}
  body.js-ready .page.active{display:block}
  /* nav */
  nav{position:sticky;top:0;z-index:50;background:rgba(244,239,228,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .nav-inner{max-width:1180px;margin:0 auto;padding:13px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px}
  .brand{display:flex;align-items:center;gap:15px;background:none;border:none;cursor:pointer;padding:0;text-align:left}
  .brand .logo{width:60px;height:60px;flex:none}
  .brand .name{font-family:var(--serif);font-size:23px;font-weight:500;color:#3D3631;letter-spacing:.01em}
  .brand .sub{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-dk);margin-top:4px}
  .nav-links{display:flex;align-items:center;gap:26px}
  .nav-links .link{display:inline-block;position:relative;background:none;border:none;cursor:pointer;font-family:var(--sans);font-size:14.5px;font-weight:600;color:#5A524A;padding:6px 0}
  .nav-links .link:hover{color:var(--plum)}
  .nav-links .link.on::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--gold);border-radius:2px}
  .btn-book{background:var(--plum);color:var(--bg-alt);border:none;cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:600;padding:11px 20px;border-radius:6px;white-space:nowrap;box-shadow:0 12px 26px -16px rgba(126,92,116,.9);transition:background .2s}
  .btn-book:hover{background:var(--plum-dk)}
  .menu-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--ink);padding:8px}
  /* buttons */
  .cta-primary{background:var(--plum);color:var(--bg-alt);border:none;cursor:pointer;font-family:var(--sans);font-size:15.5px;font-weight:600;padding:17px 30px;border-radius:7px;box-shadow:0 16px 34px -16px rgba(126,92,116,.95);transition:background .2s}
  .cta-primary:hover{background:var(--plum-dk)}
  .pill-link{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:15px;font-weight:600;color:var(--plum);background:var(--plum-tint);border:1px solid var(--plum-border);padding:12px 22px;border-radius:999px;cursor:pointer;transition:gap .25s ease,background .25s ease}
  .pill-link:hover{gap:14px;background:#ECDDE8}
  .text-link{background:none;border:none;cursor:pointer;font-family:var(--sans);font-size:15.5px;font-weight:600;color:var(--plum);padding:0;display:inline-flex;align-items:center;gap:8px;transition:gap .25s}
  .text-link:hover{gap:13px}
  /* sections */
  section{position:relative}
  .band{background:var(--bg-alt);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
  .pad{padding:104px 0}
  .pad-sm{padding:84px 0}
  .diamond{flex:none;width:9px;height:9px;margin-top:9px;background:var(--gold);transform:rotate(45deg)}
  /* image placeholder */
  .imgph{position:relative;border-radius:10px;overflow:hidden;background:repeating-linear-gradient(135deg,#E9DFC9 0 13px,#F1E8D5 13px 26px);border:1px solid #E3D9C5;box-shadow:0 30px 70px -34px rgba(90,70,40,.55)}
  /* Hero: the photo column is stretched to the height of the words beside it,
     so the top and bottom of the picture line up with the top and bottom of
     the text rather than floating in the middle of it. */
  .hero-media{display:flex}
  .hero-img{width:100%;min-height:430px}
  .hero-img img{width:100%;height:100%;object-fit:cover;display:block}
  /* The Scottish Borders line sits under both columns and runs the full width. */
  .hero-note{display:flex;align-items:flex-start;gap:14px;margin-top:60px;padding-top:30px;border-top:1px solid var(--line)}
  .hero-note .diamond{margin-top:11px;flex:none}
  .hero-note p{margin:0;font-size:19px;line-height:1.75;color:var(--ink-3)}
  .hero-note strong{font-weight:600;color:var(--ink-2)}
  .imgph .label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px}
  .imgph .label span{font-family:ui-monospace,'SFMono-Regular',Menlo,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8A7B62;background:rgba(251,248,241,.85);padding:8px 14px;border-radius:999px;border:1px solid #E3D9C5;line-height:1.5}
  /* cards */
  .svc-card{position:relative;background:var(--card);border:1px solid #E8DCC4;border-radius:12px;padding:46px 42px;display:flex;flex-direction:column;box-shadow:0 22px 48px -34px rgba(90,70,40,.5);transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s cubic-bezier(.22,.61,.36,1)}
  .svc-card:hover{transform:translateY(-6px);box-shadow:0 34px 64px -34px rgba(90,70,40,.6)}
  .svc-card.gold{border-top:3px solid var(--gold)}
  .svc-card.plum{border-top:3px solid var(--plum);border-color:#E5D7E0}
  .num{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;font-family:ui-monospace,monospace;font-size:14px;letter-spacing:.06em}
  .num.gold{background:var(--gold-tint);color:var(--gold-dk)}
  .num.plum{background:#F1E6EE;color:var(--plum)}
  /* CTA band */
  .cta-band{position:relative;overflow:hidden;background:linear-gradient(166deg,#F5EDD8 0%,#F3E6C4 54%,#EDD09A 100%)}
  .cta-band .blob{position:absolute;pointer-events:none}
  .cta-band .b1{left:-12%;top:-60%;width:62%;height:220%;background:#FAF4E2;opacity:.5;border-radius:48% 52% 60% 40%/55% 45% 55% 45%;transform:rotate(-9deg)}
  .cta-band .b2{right:-16%;bottom:-70%;width:58%;height:210%;background:#FBF6E6;opacity:.45;border-radius:52% 48% 40% 60%/45% 55% 45% 55%;transform:rotate(7deg)}
  .cta-band .inner{position:relative;max-width:740px;margin:0 auto;padding:108px 40px;text-align:center}
  /* pricing */
  .price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  @media(max-width:1080px) and (min-width:861px){.price-grid{grid-template-columns:repeat(2,1fr)}}
  .price-card{background:var(--card);border:1px solid #E8DCC4;border-radius:12px;padding:30px 26px;display:flex;flex-direction:column}
  .price-card.feature{border:1px solid var(--plum-border);border-top:3px solid var(--plum);box-shadow:0 24px 52px -34px rgba(90,70,40,.55)}
  .price-card h3{font-size:23px;font-weight:500}
  .price{font-family:var(--serif);font-size:30px;color:var(--plum);margin:12px 0 4px}
  .price small{font-family:var(--sans);font-size:14px;color:var(--muted);font-weight:600}
  .price-feats{list-style:none;margin:22px 0 30px;flex:1}
  .price-feats li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;line-height:1.6;color:var(--ink-2);padding:7px 0}
  .price-feats li::before{content:"";flex:none;width:7px;height:7px;margin-top:8px;background:var(--gold);transform:rotate(45deg)}
  .tag{display:inline-block;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--plum);background:var(--plum-tint);padding:5px 12px;border-radius:999px;margin-bottom:4px;align-self:flex-start}
  .pkg-alt{font-size:12px;font-weight:600;color:var(--plum);letter-spacing:.01em;line-height:1.4;margin-top:6px}
  @media(max-width:700px){.gallery-3{grid-template-columns:1fr 1fr !important}}
  /* forms */
  .field{margin-bottom:20px}
  .field label{display:block;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--ink-2);margin-bottom:8px}
  .field input,.field textarea,.field select{width:100%;font-family:var(--sans);font-size:15.5px;color:var(--ink);background:var(--card);border:1px solid #E3D6BE;border-radius:8px;padding:13px 15px;transition:border-color .2s,box-shadow .2s}
  .field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--plum);box-shadow:0 0 0 3px rgba(126,92,116,.12)}
  .field textarea{resize:vertical;min-height:130px}
  .note{font-size:13px;color:var(--muted);margin-top:6px}
  /* WPForms and MailPoet, restyled to match the rest of the site */
  .wpforms-container,.wpforms-container-full{margin:0 !important}
  .wpforms-form .wpforms-field{padding:0 0 20px 0 !important}
  .wpforms-form .wpforms-field-label{display:block !important;font-family:var(--sans) !important;font-size:13px !important;font-weight:600 !important;letter-spacing:.04em !important;color:var(--ink-2) !important;margin-bottom:8px !important}
  .wpforms-form .wpforms-field-sublabel{font-family:var(--sans) !important;font-size:12px !important;color:var(--muted) !important}
  .wpforms-form input[type=text],.wpforms-form input[type=email],.wpforms-form input[type=tel],
  .wpforms-form select,.wpforms-form textarea,
  .mailpoet_form input[type=text],.mailpoet_form input[type=email]{
    width:100% !important;font-family:var(--sans) !important;font-size:15.5px !important;color:var(--ink) !important;
    background:var(--card) !important;border:1px solid #E3D6BE !important;border-radius:8px !important;
    padding:13px 15px !important;box-shadow:none !important;transition:border-color .2s,box-shadow .2s;
    /* WPForms pins its fields to a fixed 43px. With our padding and type size
       the text no longer fits inside that box and gets sliced in half, which is
       most obvious on the select. Let the padding decide the height instead. */
    height:auto !important;min-height:0 !important;line-height:1.45 !important}
  .wpforms-form input:focus,.wpforms-form select:focus,.wpforms-form textarea:focus,
  .mailpoet_form input:focus{outline:none !important;border-color:var(--plum) !important;box-shadow:0 0 0 3px rgba(126,92,116,.12) !important}
  /* WPForms strips the native dropdown arrow but doesn't draw one of its own,
     so the select needs its own chevron. */
  .wpforms-form select{
    -webkit-appearance:none !important;appearance:none !important;padding-right:42px !important;
    background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%237E5C74' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat:no-repeat !important;background-position:right 16px center !important;background-size:13px 9px !important}
  .wpforms-form textarea{resize:vertical !important;min-height:130px !important}
  .wpforms-form button[type=submit],.mailpoet_form input[type=submit],.mailpoet_form button[type=submit]{
    width:100% !important;background:var(--plum) !important;color:var(--bg-alt) !important;border:none !important;cursor:pointer;
    font-family:var(--sans) !important;font-size:15.5px !important;font-weight:600 !important;padding:17px 30px !important;
    border-radius:7px !important;box-shadow:0 16px 34px -16px rgba(126,92,116,.95);transition:background .2s;margin:0 !important}
  .wpforms-form button[type=submit]:hover,.mailpoet_form input[type=submit]:hover{background:var(--plum-dk) !important}
  .wpforms-form .wpforms-required-label{color:var(--plum) !important}
  .wpforms-form .wpforms-error{font-family:var(--sans) !important;font-size:13px !important;color:#A33B3B !important}
  .wpforms-confirmation-container-full{background:var(--bg-alt) !important;border:1px solid var(--line-2) !important;border-left:3px solid var(--gold) !important;border-radius:8px;font-family:var(--sans);color:var(--ink-2)}
  /* MailPoet's own markup. It writes its styles inline from its editor, so
     these have to be forced to keep the sign-up box looking like the rest. */
  .mailpoet_form{padding:0 !important;background:none !important;border:0 !important;width:100% !important;max-width:none !important}
  .mailpoet_form .mailpoet_paragraph{margin:0 0 16px 0 !important;line-height:1 !important}
  .mailpoet_form .mailpoet_paragraph:last-of-type{margin-bottom:0 !important}
  .mailpoet_form input.mailpoet_text,.mailpoet_form input.mailpoet_email,
  .mailpoet_form input[type=text],.mailpoet_form input[type=email]{
    width:100% !important;box-sizing:border-box !important;font-family:var(--sans) !important;font-size:15.5px !important;
    color:var(--ink) !important;background:var(--card) !important;border:1px solid #E3D6BE !important;border-radius:8px !important;
    padding:13px 15px !important;height:auto !important;min-height:0 !important;line-height:1.45 !important;box-shadow:none !important;margin:0 !important}
  .mailpoet_form input::placeholder{color:var(--muted) !important;opacity:1 !important}
  .mailpoet_form input.mailpoet_submit,.mailpoet_form input[type=submit]{
    width:100% !important;box-sizing:border-box !important;background:var(--plum) !important;color:var(--bg-alt) !important;
    border:none !important;cursor:pointer;font-family:var(--sans) !important;font-size:15.5px !important;font-weight:600 !important;
    padding:17px 30px !important;height:auto !important;border-radius:7px !important;margin:4px 0 0 0 !important;
    box-shadow:0 16px 34px -16px rgba(126,92,116,.95);transition:background .2s}
  .mailpoet_form input.mailpoet_submit:hover,.mailpoet_form input[type=submit]:hover{background:var(--plum-dk) !important}
  .mailpoet_form .mailpoet_message,.mailpoet_validate_success,.mailpoet_validate_error{
    font-family:var(--sans) !important;font-size:14.5px !important;line-height:1.6 !important;margin-top:12px !important}
  .mailpoet_validate_success{color:#4F6B4A !important}
  .mailpoet_validate_error{color:#A33B3B !important}
  /* free guides (Compass Journey lead magnets) */
  .guide-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}
  .guide-card{display:flex;flex-direction:column;background:var(--card);border:1px solid #E8DCC4;border-radius:12px;
    padding:30px 30px 26px;box-shadow:0 20px 44px -34px rgba(90,70,40,.5);
    transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s cubic-bezier(.22,.61,.36,1)}
  .guide-card:hover{transform:translateY(-4px);box-shadow:0 30px 58px -34px rgba(90,70,40,.6)}
  .guide-card .guide-step{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.2em;
    text-transform:uppercase;color:var(--gold-dk);margin-bottom:12px}
  .guide-card h3{font-size:19px;font-weight:500;line-height:1.35;margin-bottom:10px}
  .guide-card p{font-size:15.5px;line-height:1.65;color:var(--ink-3);margin-bottom:14px}
  .guide-card .guide-cta{margin-top:auto;font-family:var(--sans);font-size:14.5px;font-weight:600;color:var(--plum)}
  .guide-card:hover .guide-cta{color:var(--plum-dk)}
  /* Part 1 is the way in, so it spans the full height of the first column */
  .guide-lead{grid-row:span 3;border-top:3px solid var(--gold);justify-content:center}
  .guide-lead h3{font-size:clamp(22px,2.4vw,27px);margin-bottom:14px}
  .guide-lead p{font-size:16.5px}
  .guide-lead .guide-cta{margin-top:20px;font-size:16px}
  @media(max-width:820px){.guide-grid{grid-template-columns:1fr}.guide-lead{grid-row:auto}}
  /* newsletter prompt (parts/newsletter-prompt.php) */
  .nl-prompt{max-width:980px;margin:0 auto;background:var(--card);border:1px solid #E8DCC4;border-left:3px solid var(--gold);border-radius:12px;
    padding:38px 40px;display:flex;align-items:center;justify-content:space-between;gap:40px;box-shadow:0 24px 52px -36px rgba(90,70,40,.5)}
  .nl-prompt-copy{max-width:560px}
  .nl-prompt h3{font-size:24px;font-weight:500;line-height:1.3;margin-bottom:12px}
  .nl-prompt p{margin:0;font-size:16.5px;line-height:1.7;color:var(--ink-3)}
  .nl-prompt .cta-primary{flex:none}
  @media(max-width:820px){.nl-prompt{flex-direction:column;align-items:flex-start;padding:32px 28px}.nl-prompt .cta-primary{width:100%}}
  .foot-nl{font-size:15px;color:var(--plum);line-height:1.9;display:inline-block;margin-top:2px;
    background:none;border:0;padding:0;cursor:pointer;font-family:var(--sans);text-align:left}
  .foot-nl:hover{color:var(--plum-dk)}
  /* faq */
  .faq{border-top:1px solid var(--line-2)}
  .faq details{border-bottom:1px solid var(--line-2)}
  .faq summary{cursor:pointer;list-style:none;padding:22px 0;font-family:var(--serif);font-size:19px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:20px}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"+";font-family:var(--sans);font-size:22px;color:var(--gold-dk);flex:none;transition:transform .25s}
  .faq details[open] summary::after{transform:rotate(45deg)}
  .faq details p{padding:0 0 24px;font-size:16px;line-height:1.8;color:var(--ink-2);max-width:760px}
  /* footer */
  footer{background:var(--bg);border-top:1px solid var(--line)}
  .foot-top{max-width:1180px;margin:0 auto;padding:56px 40px 44px;display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap}
  .foot-brand{display:flex;align-items:center;gap:14px}
  .foot-col-label{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dk);margin-bottom:14px}
  .social{display:flex;gap:12px}
  .social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid #E0D5C0;color:var(--ink-2);background:var(--bg-alt);transition:color .2s,border-color .2s,background .2s}
  .social a:hover{color:var(--plum);border-color:#D9C7D2;background:#fff}
  .foot-bottom{max-width:1180px;margin:0 auto;padding:20px 40px;border-top:1px solid var(--line);font-family:var(--sans);font-size:13px;color:#9A9088}
  .foot-nav{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}
  .foot-nav button,.foot-nav a{background:none;border:none;cursor:pointer;font-family:var(--sans);font-size:14px;color:var(--ink-2);padding:0;text-align:left;align-self:flex-start}
  .foot-nav button:hover,.foot-nav a:hover{color:var(--plum)}
  /* reveal */
  body.js-ready [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1)}
  body.js-ready [data-reveal].in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}
  /* responsive */
  @media(max-width:860px){
    .wrap{padding:0 24px}
    .nav-inner{padding:12px 24px}
    .nav-links{position:fixed;inset:64px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--bg-alt);border-bottom:1px solid var(--line);padding:8px 24px 20px;box-shadow:0 20px 40px -24px rgba(90,70,40,.5);display:none}
    .nav-links.open{display:flex}
    .nav-links .link{padding:14px 0;border-bottom:1px solid var(--line-2);text-align:left;font-size:16px}
    .nav-links .btn-book{margin-top:14px;padding:14px}
    .menu-toggle{display:block}
    .brand .name{font-size:20px}.brand .logo{width:52px;height:52px}
    .pad,.pad-sm{padding:64px 0}
    .grid-2,.hero-grid,.meet-grid{grid-template-columns:1fr !important}
    .price-grid{grid-template-columns:1fr}
    .familiar-grid{grid-template-columns:1fr !important}
    .why-grid{grid-template-columns:1fr !important}
    .foot-top{flex-direction:column}
    .hero-media{order:-1}
    /* Stacked on a phone there is nothing to line up with, so give the photo
       its natural shape back. */
    .hero-img{aspect-ratio:4/5;min-height:0}
    .hero-note{margin-top:44px;padding-top:24px}
    .hero-note p{font-size:17.5px}
  }

  /* single post / page body */
  .post-body{font-size:18px;line-height:1.85;color:#544C45}
  .post-body>*+*{margin-top:22px}
  .post-body h2{font-size:clamp(25px,2.8vw,32px);margin-top:46px;margin-bottom:-4px}
  .post-body h3{font-size:clamp(21px,2.2vw,25px);font-weight:500;margin-top:36px;margin-bottom:-6px}
  .post-body a{color:var(--plum);text-decoration:underline;text-underline-offset:3px}
  .post-body a:hover{color:var(--plum-dk)}
  .post-body ul,.post-body ol{padding-left:22px}
  .post-body li{margin:8px 0}
  .post-body ul{list-style:none;padding-left:0}
  .post-body ul li{display:flex;gap:13px;align-items:flex-start}
  .post-body ul li::before{content:"";flex:none;width:8px;height:8px;margin-top:12px;background:var(--gold);transform:rotate(45deg)}
  .post-body blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(21px,2.4vw,27px);line-height:1.45;color:var(--plum);padding-left:26px;border-left:3px solid var(--gold);margin:38px 0}
  .post-body img,.post-body figure img{border-radius:10px}
  .post-body figcaption{font-size:14px;color:var(--muted);margin-top:10px;text-align:center}
  .post-body hr{border:none;border-top:1px solid var(--line);margin:44px 0}
  .navigation.pagination{display:flex;justify-content:center}
  .nav-links.pagination .nav-links{display:flex}
  .pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;margin:0 4px;border-radius:8px;border:1px solid var(--line);font-family:var(--sans);font-size:14.5px;font-weight:600;color:var(--ink-2);background:var(--bg-alt)}
  .pagination .page-numbers.current{background:var(--plum);border-color:var(--plum);color:var(--bg-alt)}
  .pagination .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

  /* ---------------------------------------------------------------------
     Free guide landing pages (/guides/...)
     --------------------------------------------------------------------- */
  .guide-page{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start;padding:78px 0 84px}
  .guide-form{background:var(--card);border:1px solid #E8DCC4;border-top:3px solid var(--gold);border-radius:12px;
    padding:38px 36px;box-shadow:0 26px 56px -34px rgba(90,70,40,.5);position:sticky;top:104px}
  .guide-form-done{border-top-color:var(--plum)}
  .im-label{display:block;font-family:var(--sans);font-size:13.5px;font-weight:600;letter-spacing:.02em;
    color:var(--ink-2);margin-bottom:8px}
  .im-input{width:100%;font-family:var(--sans);font-size:16px;line-height:1.45;color:var(--ink);
    background:var(--bg-alt);border:1px solid #E0D3BC;border-radius:8px;padding:13px 15px;margin-bottom:20px;
    transition:border-color .2s,box-shadow .2s}
  .im-input:focus{outline:none;border-color:var(--plum);box-shadow:0 0 0 3px rgba(126,92,116,.14)}
  .im-check{display:flex;gap:12px;align-items:flex-start;margin:4px 0 26px;cursor:pointer}
  .im-check input{flex:none;width:18px;height:18px;margin-top:3px;accent-color:var(--plum);cursor:pointer}
  .im-check span{font-family:var(--sans);font-size:14.5px;line-height:1.6;color:var(--ink-3)}
  .im-check a{color:var(--plum);text-decoration:underline;text-underline-offset:2px}
  .guide-error{font-family:var(--sans);font-size:14.5px;line-height:1.6;color:#8A3B3B;background:#F8EAE6;
    border:1px solid #E9CFC8;border-radius:8px;padding:12px 15px;margin-bottom:22px}
  .guide-submit,.guide-download{display:block;width:100%;text-align:center;text-decoration:none}
  .guide-grid-even{grid-template-columns:repeat(3,1fr)}
  .guide-grid-even .guide-card{grid-row:auto}
  @media(max-width:900px){
    .guide-page{grid-template-columns:1fr;gap:38px;padding:56px 0 64px}
    .guide-form{position:static}
    .guide-grid-even{grid-template-columns:1fr}
  }

  /* The Part one prompt that sits on the home page */
  .lead-band{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;
    background:var(--card);border:1px solid #E8DCC4;border-left:4px solid var(--gold);border-radius:14px;
    padding:44px 46px;box-shadow:0 30px 60px -40px rgba(90,70,40,.55)}
  .lead-band h2{font-size:clamp(24px,2.7vw,31px);line-height:1.25;margin-bottom:14px}
  .lead-band p{font-size:16.5px;line-height:1.75;color:var(--ink-3)}
  .lead-band .cta-primary{display:inline-block;text-decoration:none;white-space:nowrap}
  .lead-band-side{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
  @media(max-width:820px){
    .lead-band{grid-template-columns:1fr;gap:26px;padding:34px 28px}
    .lead-band .cta-primary{width:100%;text-align:center}
  }

  /* IAPC&M accreditation badge on the About page */
  .accred-badge{display:flex;align-items:center;gap:28px;margin-top:40px;padding-top:32px;
    border-top:1px solid var(--line)}
  .accred-badge img{width:270px;max-width:44%;height:auto;display:block;flex:none;
    background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 16px}
  .accred-badge p{margin:0;font-size:15.5px;line-height:1.7;color:var(--ink-3)}
  @media(max-width:640px){
    .accred-badge{flex-direction:column;align-items:flex-start;gap:20px}
    .accred-badge img{width:230px;max-width:80%}
  }
