/* CROSSING CHANGE: "Field Notes" redesign. Same words, new look.
   Bold condensed headlines, warm paper, hard-edged cards with offset shadows,
   square buttons, one serif voice for quotes. Loaded after all other styles. */
:root{
  --cobalt:#0047ab; --cobalt-deep:#00306f; --gold:#c49a3c; --cream:#f5f0e8; --paper:#fbf8f2;
  --ink:#1e293b; --slate:#475569; --rule:#1e293b;
  --display:'Bebas Neue','Arial Narrow',Impact,sans-serif;
  --serif:'Playfair Display',Georgia,serif; --sans:'Lato',system-ui,sans-serif;
  --wrap:1120px; --shadow:6px 6px 0 var(--ink);
}
html{scroll-behavior:smooth}
body{background:var(--cream) !important; color:var(--ink) !important; font-family:var(--sans) !important; font-size:17px !important; line-height:1.7 !important; -webkit-font-smoothing:antialiased}
main{display:block}
p{color:var(--slate); max-width:68ch}
strong{color:var(--ink)}

/* ---------- Headlines ---------- */
h1,h2,h3,h4,.hero-headline,.section-headline,.cta-headline,.featured-title,.feed-title,.article-title,.hp-hero h1,.hp-final-cta h2,
.hp-offers-head h2,.hp-system h2,.hp-when h2,.hp-case-band h2,.hp-proof-label{
  font-family:var(--display) !important; font-weight:400 !important; font-style:normal !important;
  letter-spacing:.015em !important; text-transform:uppercase !important; line-height:.98 !important; color:var(--ink);
}
h1,.hero-headline{font-size:clamp(3rem,7.5vw,5.6rem) !important}
.section-headline,.cta-headline,.hp-final-cta h2,.hp-offers-head h2,.hp-system h2,.hp-when h2,.hp-case-band h2{font-size:clamp(2.4rem,5vw,3.6rem) !important}
h2{font-size:clamp(2rem,4vw,2.8rem)}
h3{font-size:1.7rem !important}
h1 em,h2 em,h3 em,.hero-headline em,.section-headline em,.cta-headline em,.featured-title em,.feed-title em,.node-title em{
  font-style:normal !important; font-weight:400 !important; color:var(--cobalt) !important;
  background:linear-gradient(transparent 62%,rgba(196,154,60,.45) 62%); padding:0 .08em;
}
.hp-hero em,.hp-final-cta em,.cta-section-cobalt em,.bg-cobalt em,.hp-system em,.hp-case-band em{color:var(--gold) !important; background:none}

/* ---------- Eyebrows / labels ---------- */
.section-label,.eyebrow,.hp-eyebrow,.hero-title,.featured-label,.featured-series,.article-series,.hp-proof-label,.hp-case-label,.feed-count,.testimonial-source,
.contact-tile-label,.confirmed-label,.credential{
  font-family:var(--sans) !important; font-size:.72rem !important; font-weight:900 !important; letter-spacing:.22em !important; text-transform:uppercase !important; color:var(--cobalt) !important;
  font-style:normal !important;
}
.section-label::before,.hp-eyebrow::before{content:""; display:inline-block; width:2rem; height:3px; background:var(--gold); vertical-align:middle; margin-right:.8rem}
.hp-hero .hp-eyebrow,.hp-final-cta .hp-eyebrow,.bg-cobalt .eyebrow{color:var(--gold) !important}

/* ---------- Navigation ---------- */
.nav{background:var(--paper) !important; border-bottom:3px solid var(--ink) !important; box-shadow:none !important; padding:.9rem 2rem !important}
.logo{font-family:var(--display) !important; font-size:1.9rem !important; letter-spacing:.06em !important; color:var(--cobalt) !important; font-weight:400 !important}
.nav-links a,.nav-dropdown-toggle{font-family:var(--sans) !important; font-size:.74rem !important; font-weight:900 !important; letter-spacing:.16em !important; text-transform:uppercase !important; color:var(--ink) !important}
.nav-links a:hover,.nav-links a.active{color:var(--cobalt) !important; text-decoration:underline; text-decoration-thickness:3px; text-underline-offset:8px; text-decoration-color:var(--gold)}
.nav-dropdown-menu{background:var(--paper) !important; border:3px solid var(--ink) !important; border-radius:0 !important; box-shadow:var(--shadow) !important}
.nav-cta{background:var(--cobalt) !important; color:#fff !important; border:2px solid var(--ink) !important; border-radius:0 !important; box-shadow:3px 3px 0 var(--ink); font-weight:900 !important; letter-spacing:.14em !important}
.nav-cta:hover{opacity:1 !important; transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--ink)}
.nav-subscribe-link{border-radius:0 !important}

/* ---------- Buttons ---------- */
.cta-btn,.hero-cta,.hp-btn-primary,.hp-offer-cta,.hp-case-btn,.pill-solid,.formkit-submit,.template-buy,.contact-hero-btn,.hp-sticky-cta a,button.cta,.featured-cta,.hp-prae-read-more{
  font-family:var(--sans) !important; font-weight:900 !important; font-size:.78rem !important; letter-spacing:.16em !important; text-transform:uppercase !important; font-style:normal !important;
  border-radius:0 !important; border:2px solid var(--ink) !important; box-shadow:4px 4px 0 var(--ink) !important;
  background:var(--cobalt) !important; color:#fff !important; padding:.95rem 1.8rem !important; text-decoration:none !important;
  transition:transform .15s,box-shadow .15s !important; display:inline-flex; align-items:center; gap:.6rem; cursor:pointer;
}
.cta-btn:hover,.hero-cta:hover,.hp-btn-primary:hover,.hp-offer-cta:hover,.hp-case-btn:hover,.pill-solid:hover,.formkit-submit:hover,.template-buy:hover,.contact-hero-btn:hover{
  transform:translate(-2px,-2px); box-shadow:7px 7px 0 var(--ink) !important; opacity:1 !important; gap:.6rem !important;
}
.hp-hero .hp-btn-primary,.hp-final-cta .hp-btn-primary,.hp-final-cta a.hp-btn-primary,.cta-section-cobalt .cta-btn,.bg-cobalt .pill-solid,.hp-case-btn,.contact-hero-btn{
  background:var(--gold) !important; color:var(--ink) !important; border-color:var(--ink) !important;
}
.pill-outline,.hp-btn-secondary,.hp-when-link,.tlink,.back-link{border-radius:0 !important}
.pill-outline{border:2px solid var(--ink) !important; color:var(--ink) !important; background:transparent !important; font-family:var(--sans) !important; font-style:normal !important; font-weight:900 !important; font-size:.74rem !important; letter-spacing:.14em !important; text-transform:uppercase !important; box-shadow:3px 3px 0 var(--ink); padding:.8rem 1.3rem !important; text-decoration:none !important; transition:transform .15s,box-shadow .15s}
.pill-outline:hover{background:var(--gold) !important; transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--ink)}
.tlink,main p a:not([class]),.hp-when-link,.back-link{color:var(--cobalt) !important; font-weight:900 !important; text-decoration:underline !important; text-decoration-thickness:2px !important; text-underline-offset:4px; text-decoration-color:var(--gold) !important; border-bottom:0 !important}
.tlink:hover,main p a:not([class]):hover{background:rgba(196,154,60,.3)}

/* ---------- Page sections: rhythm and width ---------- */
section,header.page-header{border-bottom:3px solid var(--ink) !important}
.bg-tint,section.testimonials,.section-tint{background:var(--paper) !important}
.bg-cream{background:var(--cream) !important}
.bg-cobalt:not([class*="btn"]):not(a),section.cta-section-cobalt,.cta-section{background:var(--cobalt) !important; color:var(--cream) !important}
.bg-cobalt p,.cta-section-cobalt p,.cta-section p{color:rgba(245,240,232,.92) !important}
.bg-cobalt h1,.bg-cobalt h2,.bg-cobalt h3,.cta-section-cobalt h2,.cta-section-cobalt .cta-headline{color:var(--cream) !important}
.bg-ink:not([class*="btn"]){background:var(--ink) !important; color:var(--cream) !important}
.bg-ink p{color:rgba(245,240,232,.88) !important}
.bg-ink h1,.bg-ink h2{color:var(--cream) !important}
section[style*="max-width:900px"],header[style*="max-width:900px"],section[style*="max-width:960px"],header[style*="max-width:960px"]{max-width:var(--wrap) !important}

/* ---------- Cards ---------- */
.testimonial,.article-card,.featured-card,.template-item,.sign-card,.contact-tile,.hp-offer-card,.hp-proof-item,.trigger,.faq-item.open,.tc-panel,.tc-guides > a,.credential,.hp-stat-item,.case-stat-item{
  border:3px solid var(--ink) !important; border-radius:0 !important; background:#fff !important; box-shadow:var(--shadow) !important;
}
.hp-proof-item,.hp-stat-item{box-shadow:none !important; border-width:0 0 0 6px !important; border-color:var(--gold) !important; background:transparent !important}
.article-card:hover,.featured-card:hover,.hp-offer-card:hover{transform:translate(-3px,-3px) !important; box-shadow:9px 9px 0 var(--ink) !important}
.hp-offer-card.hp-primary{background:var(--cobalt) !important; border-color:var(--ink) !important}
.hp-offer-card.hp-primary *{color:var(--cream) !important}
.hp-offer-card.hp-primary h3{color:#fff !important}
.hp-offer-card.hp-primary .hp-offer-cta{background:var(--gold) !important; color:var(--ink) !important}
.hp-offer-num,.hp-stat-number,.case-stat-number{font-family:var(--display) !important; font-weight:400 !important; font-style:normal !important; color:var(--cobalt) !important; letter-spacing:.01em}
.hp-stat-number{font-size:4.5rem !important; line-height:.9 !important}
.case-stat-item{background:var(--cobalt) !important}
.case-stat-number{color:var(--gold) !important}
.hp-offer-badge{border-radius:0 !important; background:var(--gold) !important; color:var(--ink) !important; font-weight:900 !important; letter-spacing:.14em; border:2px solid var(--ink)}
.hp-offer-price{font-family:var(--display) !important; font-size:1.6rem !important; letter-spacing:.04em; color:var(--cobalt) !important}
.template-price{font-family:var(--display) !important; font-size:1.7rem !important; color:var(--cobalt) !important}
.template-name,.sign-title,.outcome-title,.trigger-text{font-family:var(--sans) !important; font-weight:900 !important; font-style:normal !important}
.template-item{padding:1.1rem 1.3rem !important}
.hp-when li::marker{color:var(--gold)}

/* ---------- Quotes: the only serif italics ---------- */
.testimonial-quote,blockquote,.pullquote-gold p,.serif-note{
  font-family:var(--serif) !important; font-style:normal !important; font-weight:400 !important; color:var(--ink) !important; line-height:1.6 !important; font-size:1.15rem !important
}
.testimonial{position:relative; padding:2.4rem 2.2rem 1.8rem !important}
.testimonial::before{content:"\201C"; position:absolute; top:-.2rem; left:1.2rem; font-family:var(--serif); font-size:5rem; line-height:1; color:var(--gold)}
.testimonial-source{display:block; margin-top:1rem}
.pullquote-gold{border:0 !important; border-left:8px solid var(--gold) !important; background:transparent !important; padding:.4rem 0 .4rem 1.6rem !important; margin:2.2rem 0 !important}
.pullquote-gold p{font-size:1.5rem !important; max-width:none}

/* ---------- FAQ ---------- */
.faq-item{border:0 !important; border-bottom:3px solid var(--ink) !important; background:transparent !important; box-shadow:none !important}
.faq-item:first-child{border-top:3px solid var(--ink) !important}
.faq-item.open{background:transparent !important}
.faq-q-btn{font-family:var(--display) !important; font-size:1.5rem !important; letter-spacing:.03em !important; text-transform:uppercase; font-weight:400 !important; color:var(--ink) !important}
.faq-q-btn:hover{color:var(--cobalt) !important}
.faq-chevron{color:var(--cobalt) !important}

/* ---------- Hero blocks ---------- */
.hp-hero{background:var(--cobalt) !important}
.hp-hero h1,.hp-hero .hp-hero-inner h1{color:var(--cream) !important}
.hp-hero p,.hp-final-cta p{color:rgba(245,240,232,.92) !important}
.hp-final-cta{background:var(--cobalt) !important}
.hp-final-cta h2{color:var(--cream) !important}
.hp-top-announce{font-weight:900 !important; letter-spacing:.14em !important}
.hp-proof,.hp-when{background:var(--paper) !important}
.hp-stats{background:var(--cream) !important}
.hp-case-band{background:var(--ink) !important}
.hp-case-band h2,.hp-case-band p{color:var(--cream) !important}
.hp-system{background:var(--paper) !important}
.hp-system h2{color:var(--ink) !important}
.page-header,#page-hero{background:var(--paper)}

/* ---------- Forms ---------- */
.formkit-input,.formkit-form input[type="email"],.formkit-form input[type="text"],.seva-form input[type="email"],.seva-form input[type="text"]{
  border:3px solid var(--ink) !important; border-radius:0 !important; background:#fff !important; font-family:var(--sans) !important; font-size:1rem !important; padding:.9rem 1rem !important; color:var(--ink) !important
}
.formkit-input:focus,.formkit-form input:focus{outline:3px solid var(--gold) !important; outline-offset:2px}

/* ---------- Articles ---------- */
.article-body p,.case-body p{font-size:1.1rem !important; color:var(--ink) !important; line-height:1.85 !important}
.article-body h2,.case-body h2{font-size:2.3rem !important; margin-top:2.6rem !important}
.article-footer-tint{background:var(--paper) !important; border:3px solid var(--ink) !important; border-radius:0 !important; box-shadow:var(--shadow)}
.article-body a:not([class]),.case-body a:not([class]){color:var(--cobalt) !important; font-weight:900; text-decoration:underline; text-decoration-color:var(--gold); text-decoration-thickness:2px}

/* ---------- Footer ---------- */
.footer{background:var(--ink) !important; border-top:0 !important; padding:2.2rem 2rem !important}
.footer-stamp,.footer-stamp span{color:rgba(245,240,232,.85) !important; font-family:var(--sans) !important; font-size:.75rem !important; letter-spacing:.14em !important; text-transform:uppercase; font-style:normal !important}
.footer-stamp a{color:var(--gold) !important; text-decoration:none; font-weight:900}

/* ---------- Focus, images, phone ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold); outline-offset:3px}
img{max-width:100%; height:auto}
.hp-prae-graphic,main img{border:3px solid var(--ink); border-radius:0 !important; box-shadow:var(--shadow)}
.nav-logo img,.logo img{border:0 !important; box-shadow:none !important}
@media (max-width:700px){
  body{font-size:16px !important}
  h1,.hero-headline{font-size:clamp(2.7rem,13vw,3.6rem) !important}
  :root{--shadow:4px 4px 0 var(--ink)}
  .hp-stat-number{font-size:3.4rem !important}
  .nav{padding:.7rem 1.1rem !important}
}

/* ---------- Homepage fixes ---------- */
.hp-mid-cta{background:var(--cream) !important}
.hp-mid-cta a,.hp-prae-read-more a,.hp-when-link a{
  font-family:var(--sans) !important; font-weight:900 !important; font-size:.78rem !important; letter-spacing:.16em !important; text-transform:uppercase; font-style:normal !important;
}
.hp-mid-cta a.hp-btn-primary,.hp-mid-cta .hp-btn-primary{color:#fff !important; background:var(--cobalt) !important; border:2px solid var(--ink) !important}
.hp-mid-cta p,.hp-final-cta p,.hp-prae-captions,.hp-system-sub{font-family:var(--serif) !important; font-style:normal !important; font-weight:400 !important}
.hp-mid-cta p{color:var(--ink) !important}
.hp-prae-read-more a{display:inline-block; background:var(--cobalt) !important; color:#fff !important; border:2px solid var(--ink) !important; box-shadow:4px 4px 0 var(--ink); padding:.95rem 1.8rem; text-decoration:none !important}
.hp-prae-read-more{box-shadow:none !important; background:none !important; border:0 !important; padding:0 !important}
.hp-case-label{color:var(--gold) !important}
.hp-case-band .hp-case-label::before{background:var(--gold)}
.hp-stats .hp-stat-row{background:transparent !important; border-top:0 !important; border-radius:0 !important}
.hp-stats,.hp-proof{background:var(--cream) !important}
.hp-cap-link,.hp-capacity-line{color:rgba(245,240,232,.9) !important; font-family:var(--sans) !important; font-style:normal !important}
.hp-cap-link a{color:var(--gold) !important; font-weight:900 !important; text-decoration:underline !important; border:0 !important}
.hp-capacity-line{font-size:.85rem !important}
.hp-when h2,.hp-offers-head h2,.hp-system h2{text-wrap:balance}
.hp-when{background:var(--paper) !important}
.hp-final-cta p{color:var(--cream) !important}
.hp-offers-head p,.hp-system-sub{color:var(--slate) !important}

/* ---------- Round 2 fixes ---------- */
.logo{font-size:1.6rem !important; white-space:nowrap}
@media (max-width:700px){.logo{font-size:1.35rem !important}}
.subscribe-headline em,.bg-cobalt h1 em,[class*="subscribe"] em{background:none !important; color:var(--gold) !important}
.formkit-form .formkit-submit,.formkit-form button[type="submit"],.formkit-form [data-element="submit"]{
  border-radius:0 !important; background:var(--cobalt) !important; color:#fff !important; border:2px solid var(--ink) !important; box-shadow:4px 4px 0 var(--ink) !important;
  font-family:var(--sans) !important; font-weight:900 !important; letter-spacing:.16em !important; text-transform:uppercase !important}
.formkit-form{border:0 !important; box-shadow:none !important; border-radius:0 !important}
[class*="sign-card"]{background:#fff !important; border:3px solid var(--ink) !important; border-radius:0 !important; box-shadow:var(--shadow) !important}
.sign-row-label-cost,.sign-row-label-activation{font-family:var(--sans) !important; font-weight:900 !important; letter-spacing:.14em !important; color:var(--cobalt) !important}
.sign-title{font-size:1.2rem !important}
.hero-sub,.page-sub,.hero-bio{color:var(--slate) !important}
.article-body p{max-width:none}
.confirmed-icon{border-radius:0 !important; background:var(--gold) !important; border:3px solid var(--ink) !important}
.confirmed-icon svg{stroke:var(--ink) !important}
.contact-hero{background:var(--cobalt) !important; border:3px solid var(--ink) !important; border-radius:0 !important; box-shadow:var(--shadow)}
.contact-hero-sub{font-family:var(--serif) !important; font-style:normal !important; font-weight:400 !important}
.contact-tile-value{font-family:var(--sans) !important; font-weight:900 !important}
.contact-tile-btn{color:var(--cobalt) !important; font-weight:900 !important; letter-spacing:.14em !important}
.tile-cobalt,.tile-teal,.tile-slate,.tile-gold,.tile-soft-teal{background:#fff !important}

/* ---------- Round 3: full-width bands, footer, form boxes ---------- */
section[style*="max-width:900px"],section[style*="max-width:960px"],section[style*="max-width:1000px"],section[style*="max-width:1100px"],
header[style*="max-width:900px"],header[style*="max-width:960px"]{
  max-width:none !important; margin:0 !important;
  padding:3.5rem max(1.5rem,calc((100vw - 1120px)/2)) !important;
}
#page-hero{padding-top:5rem !important; padding-bottom:4rem !important; background:var(--paper)}
section.testimonials{max-width:none !important; margin:0 !important; padding:4rem max(1.5rem,calc((100vw - 1120px)/2)) !important}
.footer{margin:0 !important; width:100% !important; max-width:none !important; border-radius:0 !important}
.formkit-alert{border-radius:0 !important}
[class*="card"]:not(.article-card):not(.featured-card):not(.sign-card-sage):not(.hp-offer-card),.form-wrap,.kit-embed,.form-stage{border-radius:0 !important}
.form-card,.subscribe-form-card{background:#fff !important; border:3px solid var(--ink) !important; border-radius:0 !important; box-shadow:var(--shadow) !important}
.kit-embed,.form-stage.active{background:transparent !important; border:0 !important; box-shadow:none !important}
.kit-embed .formkit-submit,.kit-embed .formkit-input{border-radius:0 !important}
@media (max-width:700px){
  section[style*="max-width:900px"],section[style*="max-width:960px"],section[style*="max-width:1000px"],section[style*="max-width:1100px"],header[style*="max-width:900px"],header[style*="max-width:960px"],section.testimonials{padding:2.5rem 1.25rem !important}
}

/* ---------- Round 4: sweep leftovers ---------- */
body *:not(.hp-prae-graphic *):not(svg *):not(.nav-hamburger span){border-radius:0 !important}
.prae-card,.outcome-item-cap,.outcome-item-teal,.reflection-list,.for-who-item,.bundle-box,.node-card,.outcome-item{
  background:#fff !important; border:3px solid var(--ink) !important; box-shadow:var(--shadow) !important}
.outcome-item-cap,.outcome-item-teal,.outcome-item{box-shadow:4px 4px 0 var(--gold) !important}
.bundle-header,.bundle-footer{background:var(--paper) !important}
.bundle-header{border-bottom:3px solid var(--ink) !important}
.prae-letter,.companion-name,.node-title,.asset-title,.bundle-title,.bundle-price{
  font-family:var(--display) !important; font-style:normal !important; font-weight:400 !important; letter-spacing:.02em !important; text-transform:uppercase}
.prae-letter{font-size:3rem !important; color:var(--cobalt) !important}
.companion-name,.node-title,.asset-title,.bundle-title{font-size:1.6rem !important; line-height:1 !important}
.bundle-price{font-size:2.4rem !important; color:var(--cobalt) !important}
.companion-btn,.asset-btn,.bundle-btn,.purchase-btn{
  background:var(--cobalt) !important; color:#fff !important; border:2px solid var(--ink) !important; box-shadow:4px 4px 0 var(--ink) !important;
  font-family:var(--sans) !important; font-weight:900 !important; letter-spacing:.16em !important; text-transform:uppercase !important; text-decoration:none !important; font-style:normal !important}
.connector-label{background:var(--gold) !important; color:var(--ink) !important; border:2px solid var(--ink) !important; font-weight:900 !important; letter-spacing:.14em; text-transform:uppercase; font-size:.68rem !important}
.hp-mid-cta,.bg-tint p,p.bg-tint{background:transparent !important}
p.bg-tint,div.bg-tint,span.bg-tint{background:transparent !important}
.bg-cream:not(section){background:transparent !important}
.formkit-powered-by-convertkit{border:0 !important; box-shadow:none !important}
.bg-cobalt .eyebrow,.bg-cobalt [class*="label"],.cta-section-cobalt [class*="label"],.welcome-cta [class*="label"],[class*="cta"][class*="cobalt"] span{color:var(--gold) !important}
.bg-cobalt [class*="sub"],.bg-cobalt small{color:rgba(245,240,232,.85) !important}

/* ---------- Round 5: Nina's feedback ---------- */
/* distinct band for mid-page "Ready to..." call-to-action */
.cta-band{background:#f0e1b8 !important; border-top:3px solid var(--ink) !important; border-bottom:3px solid var(--ink) !important}
.cta-band p.serif-note{font-size:1.5rem !important; color:var(--ink) !important; margin-left:auto; margin-right:auto}
.cta-band .bg-tint{background:var(--ink) !important; height:3px !important; width:60px !important}
.cta-band p{color:var(--ink) !important}
/* one size for the paragraphs under every page headline */
header p:not(.eyebrow),.hero-sub,.page-sub,#page-hero p:not(.eyebrow),.is-this-you > p{font-size:1.1rem !important; line-height:1.7 !important; color:var(--slate) !important}
/* smaller buy buttons so they don't outweigh the block */
.template-buy,.template-item .template-buy{padding:.4rem .8rem !important; font-size:.66rem !important; letter-spacing:.12em !important; box-shadow:2px 2px 0 var(--ink) !important; border-width:2px !important}
.template-price{font-size:1.35rem !important}
.template-item{padding:.9rem 1.1rem !important; box-shadow:4px 4px 0 var(--ink) !important}
/* insights: clean inbox band, no stray rules */
.featured{border-bottom:0 !important}
section.bg-cobalt{border-top:0 !important; border-bottom:0 !important}
section.bg-cobalt p.serif-note{color:var(--cream) !important}
.feed{border-top:0 !important}
section.bg-cobalt{padding-top:2.8rem !important; padding-bottom:2.8rem !important}
section.feed{max-width:none !important; margin:0 !important; padding:4rem max(1.5rem,calc((100vw - 1120px)/2)) !important; border-bottom:0 !important; background:var(--paper) !important}
.featured{padding-bottom:3.5rem !important}

/* Homepage tiles: "Best for" leads, price supports */
.hp-offer-best-for{display:block; font-family:var(--sans) !important; font-size:1.15rem !important; line-height:1.55 !important; font-weight:900 !important; color:var(--ink) !important; letter-spacing:0 !important; text-transform:none !important}
.hp-offer-best-for span{font-weight:400 !important; color:var(--ink) !important; font-size:1.05rem !important}
.hp-offer-price{font-size:1.05rem !important; letter-spacing:.06em !important; opacity:.9}
.hp-offer-card.hp-primary .hp-offer-best-for,.hp-offer-card.hp-primary .hp-offer-best-for span{color:var(--cream) !important}
@media (max-width:700px){
  .footer-stamp{display:flex !important; flex-direction:column; align-items:center; gap:.7rem; text-align:center}
  .footer-stamp > span:nth-child(3),.footer-stamp > span:nth-child(5){display:none}
}
@media (max-width:700px){ .footer-stamp > *{width:100%; text-align:center; display:block} .footer-stamp > span:nth-child(3),.footer-stamp > span:nth-child(5){display:none} .footer{text-align:center} }

/* ---------- No italics anywhere ---------- */
*,*::before,*::after{font-style:normal !important}
.serif-note,.hp-mid-cta p,.hp-final-cta p,.hp-system-sub,.hp-prae-captions,.contact-hero-sub,.cta-band p.serif-note,section.bg-cobalt p.serif-note{
  font-family:var(--sans) !important; font-weight:700 !important; color:inherit;
}
.hp-mid-cta p{font-size:1.15rem !important; color:var(--ink) !important}
.hp-final-cta p{font-size:clamp(1.3rem,2.6vw,1.7rem) !important; font-weight:700 !important; color:var(--cream) !important}
.hp-system-sub{font-size:1.1rem !important; font-weight:400 !important; color:var(--slate) !important}
.cta-band p.serif-note{font-size:1.35rem !important; color:var(--ink) !important}
section.bg-cobalt p.serif-note{font-size:1.2rem !important; color:var(--cream) !important}
.contact-hero-sub{font-size:1.2rem !important}
/* quotes: upright serif */
.testimonial-quote,blockquote,.pullquote-gold p{font-family:var(--serif) !important; font-weight:400 !important}
.hp-mid-cta p{font-weight:400 !important; max-width:none !important}
.hp-mid-cta p a{margin-left:.5rem; white-space:nowrap}
.hp-final-cta p{font-weight:400 !important}
.contact-hero p,.contact-hero-sub,.contact-hero{color:var(--cream) !important}
.contact-hero .contact-hero-label{color:var(--gold) !important; opacity:1 !important}
.contact-hero{margin-bottom:1.6rem !important}
.contact-grid,.contact-tile{margin-bottom:1.6rem !important}
.contact-hero .contact-hero-btn{color:var(--ink) !important}
.hp-mid-cta.cta-band{background:#f0e1b8 !important; padding-top:3rem !important; padding-bottom:3rem !important}
.hp-mid-cta.cta-band p{color:var(--ink) !important; font-weight:700 !important}
.hp-stat-number{white-space:nowrap}
.hp-mid-cta a.hp-btn-primary,.hp-mid-cta .hp-btn-primary{white-space:nowrap !important; width:auto !important; max-width:none !important; display:inline-flex !important; color:#fff !important}
.hp-mid-cta.cta-band{border-bottom:3px solid var(--ink) !important}
.hp-stat-item{padding-left:1.2rem !important; padding-right:.8rem !important}
.hp-proof,.hp-proof-inner{border-top:0 !important}
.hp-case-band{border-top:3px solid var(--ink) !important}
.hp-stats,.hp-stats-inner{border-bottom:0 !important}

/* ---------- Round 6: one left edge for every full-width band ---------- */
body > section:not([class*="hp-"]):not(.cta-section),main > section:not([class*="hp-"]):not(.cta-section){
  max-width:none !important; margin-left:0 !important; margin-right:0 !important;
  padding-left:max(1.5rem,calc((100vw - 1120px)/2)) !important; padding-right:max(1.5rem,calc((100vw - 1120px)/2)) !important;
}
body > section.cta-section,main > section.cta-section{padding-left:1.5rem !important; padding-right:1.5rem !important}
body > section p,main > section p{max-width:72ch}
body > section[style*="text-align:center"] p,.cta-section p{margin-left:auto; margin-right:auto}

/* example card: a short real-world example, set apart */
.example-card{background:#fff !important; border:3px solid var(--ink) !important; border-left:12px solid var(--gold) !important; box-shadow:var(--shadow) !important; padding:1.8rem 2rem !important; margin-top:1.5rem}
.example-card p{color:var(--ink) !important; font-size:1.05rem !important}
/* PRAE link on homepage: make the text visible */
main p.hp-prae-read-more a:not([class]),.hp-prae-read-more a{color:#fff !important; border-bottom:0 !important; text-decoration:none !important}

/* capability-statement bar: one line on desktop */
.procure-bar{padding-top:1.4rem !important; padding-bottom:1.4rem !important}
.procure-bar p{max-width:none !important; margin:0 auto !important; text-align:center}
@media (min-width:900px){.procure-bar p{white-space:nowrap}}
.stat-to{font-size:.5em; letter-spacing:.04em; vertical-align:baseline; margin:0 .05em}

/* homepage: reflection tool offer, its own section */
.hp-reflect{background:#fff !important; text-align:center; padding:2.6rem 1.5rem !important; border-bottom:3px solid var(--ink) !important}
.hp-reflect p{margin:0 auto 1.1rem !important; max-width:none !important; font-size:1.15rem !important; font-weight:700 !important; color:var(--ink) !important}

/* insights inbox band: centered text over the button */
section.bg-cobalt p.serif-note,.bg-cobalt > p{text-align:center !important; margin-left:auto !important; margin-right:auto !important; max-width:none !important}
/* sample-issue link on subscribe: visible on cobalt */
.subscribe-sample a,.subscribe-sample a.tlink{color:var(--cream) !important; text-decoration-color:var(--gold) !important}
.subscribe-sample{max-width:none !important; text-align:center !important}

/* FAQ answers run the full width of the box */
.faq-a,.faq-a-wrap p,.faq-item p{max-width:none !important; width:100%}
.faq-list,.faq-item{width:100%}
.faq-item.open{border:0 !important; border-bottom:3px solid var(--ink) !important; box-shadow:none !important; background:transparent !important}
.faq-item.open:first-child{border-top:3px solid var(--ink) !important}
.faq-a{font-size:1.02rem !important; line-height:1.75 !important; color:var(--slate) !important; padding-bottom:1.6rem !important}
.faq-a-wrap{padding-right:3rem}

/* ---------- Desktop pass: text spans its container ---------- */
p,body > section p,main > section p,.hero-sub,.page-sub,.cta-sub,.tc-head p,.tc-note{max-width:none !important}
.hp-final-cta p,.hp-mid-cta p,.hp-reflect p,.cta-section p,.cta-band p{max-width:46rem !important; margin-left:auto !important; margin-right:auto !important}
.cta-section .cta-sub,.cta-section-cobalt .cta-sub{max-width:44rem !important}
.hp-system-sub,.hp-offers-head p,.hp-when-inner > p{max-width:46rem !important; margin-left:auto !important; margin-right:auto !important}

/* ---------- Desktop pass 2: one wrap everywhere ---------- */
header.page-header,header[style*="max-width:960px"]{
  max-width:none !important; margin:0 !important; background:var(--paper);
  padding:4.5rem max(1.5rem,calc((100vw - 1120px)/2)) 3rem !important;
}
/* homepage inner blocks all use the same wrap */
.hp-hero-inner,.hp-offers-inner,.hp-proof-inner,.hp-stats-inner,.hp-system-inner,.hp-case-band-inner,.hp-when-inner{max-width:1120px !important; margin-left:auto !important; margin-right:auto !important}
.hp-hero{padding-left:max(1.5rem,calc((100vw - 1120px)/2)) !important; padding-right:max(1.5rem,calc((100vw - 1120px)/2)) !important}
.hp-hero-inner{padding:0 !important}
.hp-hero p{max-width:52rem !important}
.hp-when ul{max-width:none}
.hp-when h2,.hp-offers-head,.hp-system-inner > h2{text-align:center}

/* ---------- Desktop pass 3: centered columns, aligned edges ---------- */
header[style*="max-width:720px"]{max-width:820px !important; padding:5rem 3rem 2.5rem !important; box-sizing:border-box}
.article-body,.case-body{max-width:820px !important; padding-left:3rem !important; padding-right:3rem !important; margin-left:auto !important; margin-right:auto !important; box-sizing:border-box}
article.case-body,article.article-body{max-width:820px !important}
.contact-wrap{max-width:900px !important}
.footer{display:block; text-align:center !important; padding-left:1.5rem !important; padding-right:1.5rem !important}
.footer-stamp{display:flex !important; flex-wrap:wrap; justify-content:center; align-items:center; gap:.4rem 1.2rem}
.footer-stamp > span:nth-child(3),.footer-stamp > span:nth-child(5){display:none}
@media (max-width:700px){header[style*="max-width:720px"]{padding:3rem 1.25rem 2rem !important} .article-body,.case-body{padding-left:1.25rem !important; padding-right:1.25rem !important}}

/* homepage tiles: all three white, color shows only as a top bar; gold tag stays on Workshops */
.hp-offer-card.hp-primary{background:#fff !important}
.hp-offer-card.hp-primary *{color:inherit !important}
.hp-offer-card.hp-primary,.hp-offer-card.hp-primary .hp-offer-best-for,.hp-offer-card.hp-primary .hp-offer-best-for span{color:var(--ink) !important}
.hp-offer-card.hp-primary h3{color:var(--ink) !important}
.hp-offer-card.hp-primary .hp-offer-num{color:var(--cobalt) !important}
.hp-offer-card.hp-primary .hp-offer-price{color:var(--cobalt) !important}
.hp-offer-card.hp-primary .hp-offer-cta{background:var(--cobalt) !important; color:#fff !important}
.hp-offer-card.hp-primary .hp-offer-badge{color:var(--ink) !important; background:var(--gold) !important}
.hp-offer-card.hp-c1{border-top:12px solid var(--cobalt) !important}
.hp-offer-card.hp-c2{border-top:12px solid var(--gold) !important}
.hp-offer-card.hp-c3{border-top:12px solid var(--ink) !important}
.hp-offer-card.hp-c2 .hp-offer-num{color:var(--gold) !important}
.hp-offer-card.hp-c3 .hp-offer-num{color:var(--ink) !important}

/* ---------- Round 3: gold logo on the light nav ---------- */
.logo,.logo:hover{color:#ae8834 !important; font-family:var(--display) !important; font-weight:400 !important}
/* no floating CTA on the homepage */
.hp-sticky-cta{display:none !important}

/* ---------- Round 3: new bands ---------- */
/* "Not ready for a full workshop?" on its own background */
.not-ready-band{background:var(--paper) !important; border-top:3px solid var(--ink); border-bottom:3px solid var(--ink); margin:0 !important; max-width:none !important; text-align:center; padding-top:2.75rem !important; padding-bottom:2.75rem !important}
.not-ready-band p{margin:0 auto !important; max-width:none; font-family:var(--sans) !important; font-size:1.05rem; color:var(--ink)}
/* About: direct support callout */
.direct-callout{background:var(--cobalt); color:var(--cream); border:3px solid var(--ink); box-shadow:var(--shadow); padding:1.75rem 2rem; margin:2.25rem 0}
.direct-callout p{color:var(--cream) !important; margin:0 0 1rem !important; max-width:none !important}
.direct-callout-link{color:var(--gold) !important; font-family:var(--sans); font-weight:900; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; text-decoration:underline; text-decoration-thickness:3px; text-underline-offset:6px}
.direct-callout-link:hover{color:#fff !important}
@media (max-width:700px){.direct-callout{padding:1.4rem 1.25rem}}

/* Purchase button: keep the full label inside the box on phones */
@media (max-width:768px){
  .bundle-btn{white-space:normal !important; text-align:center !important; letter-spacing:.1em !important; font-size:.72rem !important; padding:1rem 1rem !important; box-sizing:border-box !important; line-height:1.4}
}
main .direct-callout p,section .direct-callout p,.direct-callout p{color:var(--cream) !important}
.not-ready-band p{text-wrap:balance}
.not-ready-band a{white-space:nowrap}
#page-hero .direct-callout p,#page-hero .direct-callout p *{color:var(--cream) !important}
.direct-callout-link{white-space:nowrap}

/* Procurement line: its own band, apart from the Book a Call button */
.hp-procure{background:var(--paper) !important; border-top:3px solid var(--ink); text-align:center; padding:2.25rem 1.5rem !important}
.hp-procure p{margin:0 auto !important; max-width:none !important; font-family:var(--sans) !important; font-size:1rem !important; color:var(--ink) !important; text-wrap:balance}
.hp-procure a{color:var(--cobalt) !important; font-weight:900; text-decoration:underline; text-decoration-thickness:3px; text-decoration-color:var(--gold); text-underline-offset:5px; white-space:nowrap}
.direct-callout .direct-callout-head,#page-hero .direct-callout h2{font-family:var(--display) !important; font-size:1.9rem !important; line-height:1.05 !important; letter-spacing:.03em; text-transform:uppercase; color:var(--gold) !important; margin:0 0 .8rem !important; background:none !important}

/* Case study: closing call invitation */
.cs-call{background:#f0e1b8; border:3px solid var(--ink); box-shadow:var(--shadow); text-align:center; padding:2.25rem 1.75rem; margin:2.5rem 0}
.cs-call p{margin:0 auto !important; max-width:38rem !important}
.cs-call .cs-call-lead{font-family:var(--display) !important; font-size:2rem !important; line-height:1.05; text-transform:uppercase; color:var(--ink) !important; margin-bottom:.7rem !important}
.cs-call .cs-call-sub{font-family:var(--sans) !important; font-size:1.02rem; color:var(--ink) !important; margin-bottom:1.4rem !important}

.cs-glance{background:var(--paper,#f5f0e8);border:3px solid var(--ink,#111);box-shadow:6px 6px 0 var(--ink,#111);padding:1.4rem 1.6rem;margin:0 0 2.5rem}
.cs-glance-head{font-family:var(--display);font-size:1.6rem;letter-spacing:.04em;margin:0 0 .6rem;text-transform:uppercase}
.cs-glance dl{margin:0;display:grid;grid-template-columns:8.5rem 1fr;gap:.55rem 1rem}
.cs-glance dt{font-family:var(--display);font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cobalt)}
.cs-glance dd{margin:0;font-family:'Lato',sans-serif;font-size:.98rem;line-height:1.5}
@media(max-width:600px){.cs-glance dl{grid-template-columns:1fr;gap:.1rem}.cs-glance dd{margin-bottom:.6rem}}

.testimonial-featured{grid-column:1/-1}
.testimonial-featured .testimonial-quote{font-size:1.45rem !important; line-height:1.5 !important}
.about-lead{font-family:var(--serif) !important; font-size:1.35rem !important; line-height:1.5 !important; color:var(--ink) !important}
@media(max-width:768px){.testimonial-featured .testimonial-quote{font-size:1.2rem !important}.about-lead{font-size:1.15rem !important}}
p.about-lead{font-family:'Lato',sans-serif !important; font-weight:900 !important; font-size:1.2rem !important; line-height:1.45 !important; color:var(--ink) !important; margin:1.6rem 0 1.2rem !important}

.how-strip{max-width:1120px;margin:0 auto;padding:3rem 1.5rem}
.how-steps{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.how-steps li{background:#fff;border:3px solid var(--ink);box-shadow:4px 4px 0 var(--gold);padding:1.2rem 1rem;display:flex;flex-direction:column;gap:.5rem;font-family:'Lato',sans-serif;font-size:.92rem;line-height:1.45;color:#475569}
.how-steps li strong{font-weight:900;color:var(--ink);font-size:1rem}
.how-num{font-family:var(--display);font-size:2rem;line-height:1;color:var(--cobalt)}
@media(max-width:900px){.how-steps{grid-template-columns:1fr}}

.hp-hero .hp-hero-inner{max-width:1120px !important; display:grid; grid-template-columns:1.25fr 1fr; gap:3rem; align-items:center}
.hp-hero-photo{width:100%; height:100%; max-height:520px; object-fit:cover; display:block; border:3px solid var(--ink); box-shadow:8px 8px 0 var(--gold)}
@media(max-width:900px){.hp-hero .hp-hero-inner{grid-template-columns:1fr; gap:2rem}.hp-hero-photo{max-height:340px}}

.article-photo{max-width:720px; margin:0 auto 2rem; padding:0}
.article-photo img{width:100%; height:340px; object-fit:cover; display:block; border:3px solid var(--ink); box-shadow:6px 6px 0 var(--gold)}
@media(max-width:600px){.article-photo img{height:220px}}
section > img[style*="max-height:480px"]{border:3px solid var(--ink); border-radius:0 !important; box-shadow:var(--shadow)}
