/* ==========================================================================
   IBD Delta, design system layer
   Tokens live in theme.json; this file holds only what theme.json cannot express.
   ========================================================================== */

/* Border-box reset.
   WordPress block themes ship no global box-sizing rule, so any padded box
   that a grid or flex parent stretches ends up taller than its track by
   exactly its padding + border. That is what pushed the package cards and
   the testimonial cards into each other on narrow viewports. */
*,*::before,*::after{box-sizing:border-box}

:root{
  --ibd-ink:        var(--wp--preset--color--contrast);
  --ibd-ink-2:      var(--wp--preset--color--contrast-2);
  --ibd-muted:      var(--wp--preset--color--muted);
  --ibd-faint:      #78705F;
  --ibd-line:       var(--wp--preset--color--line);
  --ibd-hair:       #F1EBE1;
  --ibd-primary:    var(--wp--preset--color--primary);
  --ibd-primary-2:  var(--wp--preset--color--primary-2);
  --ibd-accent:     var(--wp--preset--color--accent);
  --ibd-accent-2:   var(--wp--preset--color--accent-2);
  --ibd-soft:       var(--wp--preset--color--soft);
  --ibd-tint:       #EFE8D9;
  --ibd-panel:      var(--wp--preset--color--panel);
  --ibd-surface:    var(--wp--preset--color--surface);
  --ibd-r:  10px;
  --ibd-rs: 8px;
  --ibd-sh:  0 1px 2px rgba(35,32,25,.045), 0 12px 28px -20px rgba(60,46,24,.28);
  --ibd-shl: 0 1px 2px rgba(35,32,25,.04);
}

body{-webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}

/* ---------- brand marks ---------- */
.ibd-gem{width:var(--gem,19px);height:var(--gem,19px);flex:none;color:var(--ibd-accent);display:inline-block;line-height:0}
.ibd-brand .ibd-gem{width:42px;height:42px;transform:rotate(7deg);transform-origin:50% 55%}
.ibd-gem svg{width:100%;height:100%;display:block}
/* The bullet is the logo silhouette, so the mark above a heading and the mark
   in the header are the same gem at two sizes. */
:root{--ibd-gem-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.5 9 7 4h10l4.5 5L12 20.5Z'/%3E%3C/svg%3E")}
.ibd-dmd{width:13px;height:11.5px;background:currentColor;flex:none;display:inline-block;
  -webkit-mask:var(--ibd-gem-mask) center/contain no-repeat;
  mask:var(--ibd-gem-mask) center/contain no-repeat}
.ibd-tri{width:0;height:0;display:inline-block;flex:none;
  border-inline-start:6px solid transparent;border-inline-end:6px solid transparent;
  border-bottom:10px solid var(--ibd-primary)}

/* ---------- eyebrow label ---------- */
.ibd-label{display:inline-flex;align-items:center;gap:11px;font-size:1rem;letter-spacing:.11em;
  font-weight:600;color:var(--ibd-primary);text-transform:none;margin:0 0 1.3rem}
.ibd-label .ibd-dmd{color:var(--ibd-accent)}
.ibd-label .ibd-tri{border-bottom-color:var(--ibd-accent)}

/* Latin inside Hebrew copy — same family, tuned tracking */
.ibd-en{font-weight:500;letter-spacing:.06em}

/* ---------- header ---------- */
.ibd-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--wp--preset--color--base) 90%,transparent);
  backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color .3s}
.ibd-header.is-stuck{border-bottom-color:var(--ibd-line);box-shadow:0 6px 18px -16px rgba(51,39,26,.5)}
.ibd-header{transition:border-color .3s,box-shadow .3s}
.ibd-header .wp-block-group{transition:padding .28s ease}
.ibd-brand__tag{max-height:none;opacity:1}
.ibd-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.ibd-brand__name{font-weight:700;font-size:1.36rem;letter-spacing:-.02em;line-height:1.24;display:block;color:var(--ibd-ink)}
.ibd-brand__tag{display:block;font-size:.82rem;font-weight:400;color:var(--ibd-muted);line-height:1.35}
.ibd-header .wp-block-navigation{font-size:1.02rem;font-weight:400}
.ibd-header .wp-block-navigation a{color:var(--ibd-ink-2);text-decoration:none;padding-bottom:4px;position:relative}
.ibd-header .wp-block-navigation a::after{content:"";position:absolute;bottom:0;inset-inline-end:0;width:0;height:1.5px;
  background:var(--ibd-primary);transition:width .28s}
.ibd-header .wp-block-navigation a:hover{color:var(--ibd-primary)}
.ibd-header .wp-block-navigation a:hover::after{width:100%}
@media(max-width:920px){.ibd-header .ibd-hide-mobile{display:none}}
/* the nav block keeps its own hamburger at small sizes — never hide it */
.ibd-header .wp-block-navigation{display:flex}

/* ---------- cards ---------- */
.ibd-card{background:var(--ibd-surface);border:1px solid var(--ibd-line);border-radius:var(--ibd-rs);
  box-shadow:var(--ibd-shl);height:100%}
.ibd-card--pad{padding:1.6rem 1.5rem}
.ibd-card__kicker{display:block;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ibd-primary);font-weight:600;margin-bottom:.7rem}

/* ---------- pull quote panel ---------- */
.ibd-panel{background:var(--ibd-panel);color:#fff;border-radius:var(--ibd-r)}
.ibd-panel :where(h1,h2,h3,p){color:#fff}
.ibd-panel .ibd-dim{color:#B4AB98}
.ibd-panel .ibd-label{color:var(--ibd-accent-2)}

/* ---------- journey ---------- */
.ibd-journey{position:relative;padding-inline-start:44px;margin-top:2.6rem}
.ibd-journey::before{content:"";position:absolute;inset-inline-start:14px;top:12px;bottom:12px;width:1.5px;
  background:linear-gradient(var(--ibd-line),var(--ibd-primary))}
.ibd-step{position:relative;padding-bottom:2.2rem;z-index:1}
.ibd-step:last-child{padding-bottom:0}
.ibd-step::before{content:"";position:absolute;inset-inline-start:-37px;top:8px;width:11px;height:15px;
  background:var(--ibd-primary);clip-path:polygon(50% 0,100% 38%,50% 100%,0 38%)}
.ibd-step:last-child::before{background:var(--ibd-panel)}
.ibd-step h3{margin:0 0 .35rem}
.ibd-step p{margin:0;color:var(--ibd-muted)}

/* ---------- promise ---------- */
.ibd-promise{position:relative;background:var(--ibd-surface);border:1px solid var(--ibd-line);
  border-radius:var(--ibd-r);box-shadow:var(--ibd-shl);text-align:center}
.ibd-promise::before{content:"";position:absolute;top:-1px;inset-inline-start:50%;transform:translateX(50%);
  width:64px;height:2px;background:var(--ibd-accent)}

/* ---------- package cards ---------- */
.ibd-pack{display:flex;flex-direction:column;position:relative;transition:transform .25s,box-shadow .25s,border-color .25s}
.ibd-pack:hover{transform:translateY(-3px);box-shadow:var(--ibd-sh);border-color:var(--ibd-primary)}
.ibd-pack__verb{display:inline-block;background:var(--ibd-soft);color:var(--ibd-primary);font-size:1.4rem;
  font-weight:700;padding:.25rem 1rem;border-radius:6px;margin-bottom:1rem;align-self:flex-start;letter-spacing:-.03em}
.ibd-pack__sub{display:block;font-size:.72rem;letter-spacing:.15em;color:var(--ibd-faint);
  text-transform:uppercase;font-weight:500;margin-bottom:.9rem}
.ibd-pack__meta{margin-top:auto;padding-top:1rem;border-top:1px solid var(--ibd-hair)}
.ibd-pack__price{display:block;font-size:1.4rem;font-weight:700;letter-spacing:-.03em;color:var(--ibd-ink)}
.ibd-pack__note{font-size:.82rem;color:var(--ibd-muted)}
.ibd-pack.is-featured{border-color:var(--ibd-accent)}
.ibd-pack.is-featured::before{content:"";position:absolute;top:-1px;inset-inline:22px;height:2px;background:var(--ibd-accent)}
.ibd-pack.is-featured .ibd-pack__verb{background:#F3EDE0;color:var(--ibd-primary)}

/* ---------- media frame placeholder ---------- */
.ibd-frame{position:relative;border:1px solid var(--ibd-line);border-radius:var(--ibd-r);background:var(--ibd-tint);
  display:grid;place-items:center;overflow:hidden;aspect-ratio:4/5}
.ibd-frame--square{aspect-ratio:1/1}
.ibd-frame::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(-45deg,transparent 0 15px,rgba(107,83,44,.06) 15px 16px)}
.ibd-frame__cap{position:relative;z-index:2;text-align:center;padding:1.5rem}
.ibd-frame__cap b{display:block;font-size:.92rem;font-weight:600;color:var(--ibd-primary)}
.ibd-frame__cap span{display:block;font-size:.75rem;color:var(--ibd-muted);margin-top:.4rem;line-height:1.7}
.ibd-frame__cap .ibd-gem{color:var(--ibd-primary);margin-bottom:.8rem}

/* ---------- real portraits ---------- */
.ibd-portrait{margin:0 0 0 auto;border-radius:var(--ibd-r);overflow:hidden;background:var(--ibd-tint);
  border:1px solid var(--ibd-line);line-height:0;max-width:400px}
.ibd-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block;aspect-ratio:4/5}
.ibd-portrait--square img{aspect-ratio:1/1}
@media(max-width:880px){.ibd-portrait{max-width:330px;margin-inline:auto}}
@media(max-width:520px){.ibd-portrait{max-width:250px}}

/* ---------- testimonials ---------- */
.ibd-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.6rem}
@media(max-width:900px){.ibd-quotes{grid-template-columns:1fr}}
.ibd-quote{margin:0;padding:1.7rem 1.6rem 1.5rem;display:flex;flex-direction:column;position:relative}
.ibd-quote__pillar{display:inline-block;align-self:flex-start;font-size:.68rem;letter-spacing:.15em;
  text-transform:uppercase;font-weight:600;color:var(--ibd-primary);background:var(--ibd-soft);
  padding:.25rem .7rem;border-radius:var(--ibd-rb,6px);margin-bottom:1rem}
.ibd-quote blockquote{margin:0;padding:0;border:0;font-size:1.02rem;line-height:1.72;color:var(--ibd-ink-2);flex:1}
.ibd-quote blockquote em{font-style:normal;font-weight:600;color:var(--ibd-ink);
  box-shadow:inset 0 -0.42em 0 rgba(169,136,78,.22)}
.ibd-quote figcaption{margin-top:1.2rem;padding-top:.9rem;border-top:1px solid var(--ibd-hair);
  display:flex;flex-direction:column;gap:.12rem}
.ibd-quote figcaption b{font-size:.95rem;font-weight:600;color:var(--ibd-ink)}
.ibd-quote figcaption span{font-size:.82rem;color:var(--ibd-muted)}
.ibd-quote.is-key{border-color:var(--ibd-accent)}
.ibd-quote.is-key::before{content:"";position:absolute;top:-1px;inset-inline:22px;height:2px;background:var(--ibd-accent)}

/* ---------- placeholder notice (content pending) ---------- */
.ibd-placeholder{border:1px dashed var(--ibd-accent);background:#F3EDE0;border-radius:var(--ibd-r);text-align:center}
.ibd-placeholder b{display:block;color:var(--ibd-primary);font-weight:700;margin-bottom:.5rem}

/* ---------- footer ---------- */
.ibd-footer{background:#211E18;color:#958D7E}
.ibd-footer :where(h3,h4){color:#fff;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.ibd-footer a{color:#958D7E;text-decoration:none}
.ibd-footer a:hover{color:var(--ibd-accent-2);text-decoration:none}
.ibd-footer .ibd-brand__name{color:#fff}
.ibd-footer .ibd-brand__tag{color:#958D7E}

/* ---------- tap targets (WCAG 2.5.8: 24px minimum) ---------- */
:where(.wp-block-list) li a{min-height:24px}

/* ---------- hero support line ---------- */
.ibd-herolead{display:flex;gap:14px;align-items:flex-start;margin-top:2.1rem;padding-top:1.5rem;
  border-top:1px solid var(--ibd-line);max-width:44ch}
.ibd-herolead p{margin:0;font-size:1rem;line-height:1.65;color:var(--ibd-muted);max-width:38ch;text-wrap:pretty}
.ibd-herolead .ibd-gem{margin-top:3px;width:17px;height:17px;opacity:.8}

/* ---------- headings that must hold one line on desktop ---------- */
@media(min-width:1024px){.ibd-nowrap{white-space:nowrap;max-width:none}}

/* ---------- QA corrections ---------- */
/* outline button must match the solid button's box exactly */
.wp-block-button.is-style-outline > .wp-block-button__link{
  padding:calc(1rem - 1px) calc(1.9rem - 1px);border-width:1px;border-style:solid;line-height:inherit}

/* the sticky header CTA is persistent utility, not a fourth shout */
.ibd-header .wp-block-button__link{font-size:1.02rem;padding:.7rem 1.3rem}

/* keep prose in a readable measure at tablet widths */
main :where(p:not(.ibd-label):not(.has-text-align-center)){max-width:68ch}
.ibd-panel p,.ibd-quote blockquote{max-width:none}

/* testimonial text should not sit below body size */
.ibd-quote blockquote{font-size:1.15rem}

/* stacked layouts: a full-width 4:5 portrait swallows the fold */
@media(max-width:880px){
  .ibd-portrait img{aspect-ratio:3/2}
  .ibd-portrait--square img{aspect-ratio:3/2}
}
@media(max-width:520px){.ibd-portrait img,.ibd-portrait--square img{aspect-ratio:4/5}}

/* ---------- readability pass: explanatory copy ---------- */
.ibd-card p,.ibd-step p,.ibd-pack p{font-size:1.15rem;line-height:1.72}
.ibd-card__kicker{font-size:.95rem;letter-spacing:.1em;text-transform:none;margin-bottom:.55rem}
.ibd-step h3{font-size:1.5rem}
.ibd-step p{color:var(--ibd-muted)}
.ibd-journey{padding-inline-start:50px}
.ibd-step{padding-bottom:2.6rem}

/* ---------- package cards: never collide, readable ---------- */
.ibd-packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:3rem;align-items:stretch}
@media(max-width:1000px){.ibd-packs{grid-template-columns:1fr;max-width:560px;margin-inline:auto}}
.ibd-pack{min-width:0}
.ibd-pack__verb{font-size:1.6rem;padding:.3rem 1.1rem;margin-bottom:1.1rem}
.ibd-pack__sub{font-size:.9rem;letter-spacing:.12em;margin-bottom:1rem}
.ibd-pack h3{font-size:1.3rem;margin-bottom:.25rem}
.ibd-pack__meta{margin-top:1.4rem;padding-top:1.1rem}
.ibd-pack__price{font-size:1.6rem}
.ibd-pack__note{font-size:.95rem}

/* ---------- flagship business section ---------- */
.ibd-deep{background:var(--wp--preset--color--deep,#33271A);color:#F2EDE4}
.ibd-deep :where(h1,h2,h3,p,span,div,small){color:inherit}
.ibd-deep .ibd-label{color:var(--ibd-accent-2)}
.ibd-deep .ibd-label .ibd-dmd{color:var(--ibd-accent-2)}
.ibd-deep .ibd-tri{border-bottom-color:var(--ibd-accent-2)}
.ibd-deep .ibd-lead,.ibd-deep p{color:#D9D0C2}
.ibd-bedo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin-top:2.6rem;align-items:stretch}
@media(max-width:860px){.ibd-bedo{grid-template-columns:1fr}}
.ibd-bedo > div{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);
  border-radius:var(--ibd-rs);padding:1.6rem 1.5rem;min-width:0}
.ibd-bedo b{display:block;font-size:1.5rem;font-weight:700;color:var(--ibd-accent-2);
  margin-bottom:.6rem;letter-spacing:.02em}
.ibd-bedo span{display:block;font-size:1.05rem;line-height:1.7;color:#D9D0C2}
.ibd-bizfoot{display:flex;flex-wrap:wrap;gap:1.4rem 2rem;align-items:center;justify-content:space-between;
  margin-top:2.8rem;padding-top:1.8rem;border-top:1px solid rgba(255,255,255,.14)}
.ibd-bizfoot__price{min-width:0}
.ibd-bizfoot__price b{display:block;font-size:2.05rem;font-weight:700;letter-spacing:-.03em;line-height:1.15;color:#fff}
.ibd-bizfoot__price span{display:block;font-size:1rem;font-weight:400;letter-spacing:0;color:#BFB4A2;margin-top:.35rem}
@media(max-width:640px){.ibd-bizfoot{flex-direction:column;align-items:stretch;text-align:start}
  .ibd-bizfoot .ibd-btn{width:100%}}


/* ---------- testimonials: tighter, larger, never collide ---------- */
.ibd-quotes{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;align-items:stretch}
@media(max-width:1000px){.ibd-quotes{grid-template-columns:1fr;max-width:600px;margin-inline:auto}}
.ibd-quote{min-width:0;padding:1.8rem 1.7rem 1.5rem}
.ibd-quote blockquote{font-size:1.15rem;line-height:1.74}
.ibd-quote figcaption{margin-top:.9rem;padding-top:.8rem}
.ibd-quote figcaption b{font-size:1.02rem}
.ibd-quote figcaption span{font-size:.92rem}
.ibd-quote__pillar{font-size:.86rem;letter-spacing:.1em;text-transform:none;padding:.3rem .85rem;margin-bottom:1.1rem}


/* ---------- utility ---------- */
.ibd-lead{font-size:clamp(1.2rem,1.02rem + .72vw,1.46rem);line-height:1.62;color:var(--ibd-ink-2);max-width:34ch}
.ibd-measure{max-width:58ch}
.ibd-hairline{border-top:1px solid var(--ibd-line)}
:where(a,button,.wp-block-button__link):focus-visible{outline:2px solid var(--ibd-primary);outline-offset:3px;border-radius:3px}

/* reveal on scroll — progressive enhancement only */
.ibd-reveal{opacity:0;transform:translateY(18px);
  transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}
.ibd-reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.ibd-reveal{opacity:1;transform:none;transition:none}}
.no-js .ibd-reveal{opacity:1;transform:none}

/* ==================================================================
   REVISION PASS · typography, buttons, Insight form, new sections
   ================================================================== */

/* ---------- larger explanatory copy ---------- */
.ibd-body-lg{font-size:1.15rem;line-height:1.78}
@media(max-width:600px){.ibd-body-lg{font-size:1.08rem}}
.ibd-deep__h{font-size:clamp(1.9rem,1.25rem + 2.4vw,2.9rem);line-height:1.22;letter-spacing:-.025em;
  font-weight:700;margin:0 0 1.1rem;max-width:20ch;text-wrap:balance}
.ibd-deep__lead{font-size:1.15rem;line-height:1.78;max-width:60ch;margin:0;color:#D9D0C2}
.ibd-label--on-dark{color:var(--ibd-accent-2)}

/* ---------- standalone button system (outside wp-block-button) ---------- */
.ibd-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:inherit;font-weight:600;font-size:1.12rem;line-height:1.2;letter-spacing:-.01em;
  padding:1rem 1.9rem;border-radius:var(--ibd-rs,6px);text-decoration:none;border:1px solid transparent;
  min-height:48px;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .15s}
.ibd-btn:hover{transform:translateY(-1px)}
.ibd-btn--gold{background:var(--ibd-primary,#6B532C);color:#fff}
.ibd-btn--gold:hover{background:var(--ibd-primary-h,#7A5C2E);color:#fff}
.ibd-deep .ibd-btn--gold{background:var(--ibd-accent-2,#C6A575);color:#241B10}
.ibd-deep .ibd-btn--gold:hover{background:#D6B788;color:#241B10}
.ibd-btn--outline{background:transparent;color:var(--ibd-primary,#6B532C);border-color:currentColor}
.ibd-btn--outline:hover{background:var(--ibd-primary,#6B532C);color:#fff;border-color:var(--ibd-primary,#6B532C)}
.ibd-btn--lg{font-size:1.12rem;padding:1.15rem 2.4rem;min-height:54px}
@media(max-width:600px){.ibd-btn{font-size:1.06rem;width:100%}}

/* ---------- Insight offer + lead form ---------- */
.ibd-insight{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(1.8rem,4vw,3.4rem);align-items:start}
@media(max-width:940px){.ibd-insight{grid-template-columns:1fr;gap:2.2rem}}
.ibd-insight__copy{min-width:0}
.ibd-insight__h{font-size:clamp(2rem,1.3rem + 2.5vw,3rem);line-height:1.18;letter-spacing:-.03em;
  font-weight:700;margin:0 0 1rem;color:#fff}
.ibd-insight__lead{font-size:1.18rem;line-height:1.72;color:#D8D0BF;margin:0;max-width:42ch}
.ibd-ticks{list-style:none;margin:1.7rem 0 0;padding:0;display:grid;gap:.85rem}
.ibd-ticks li{position:relative;padding-inline-start:26px;color:#D8D0BF;font-size:1.12rem;line-height:1.62}
.ibd-ticks li .ibd-dmd{position:absolute;inset-inline-start:0;top:.5em;color:var(--ibd-accent-2,#C6A575)}

.ibd-form{background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.15);
  border-radius:10px;padding:clamp(1.5rem,3vw,2.1rem);min-width:0}
.ibd-form__h{font-size:1.32rem;font-weight:700;color:#fff;margin:0 0 .35rem;line-height:1.3}
.ibd-form__sub{font-size:1rem;color:#B4AB98;margin:0 0 1.5rem;line-height:1.6}
.ibd-form__row{margin-bottom:1.05rem}
.ibd-form label{display:block;font-size:.98rem;font-weight:500;color:#D8D0BF;margin-bottom:.42rem}
.ibd-form input[type=text],.ibd-form input[type=tel],.ibd-form input[type=email]{
  width:100%;box-sizing:border-box;font-family:inherit;font-size:1.06rem;line-height:1.4;
  padding:.85rem 1rem;min-height:50px;color:#fff;background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.22);border-radius:6px;transition:border-color .2s,background .2s}
.ibd-form input::placeholder{color:#8A8172}
.ibd-form input:focus{outline:none;border-color:var(--ibd-accent-2,#C6A575);background:rgba(0,0,0,.3)}
.ibd-form input[aria-invalid=true]{border-color:#D98A6A}
.ibd-form .ibd-btn{width:100%;margin-top:.5rem}
.ibd-form__hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ibd-form__fine{font-size:.92rem;color:#9A9182;line-height:1.6;margin:1.05rem 0 0}
.ibd-form__price{display:flex;align-items:baseline;gap:.5rem;margin:0 0 1.4rem;
  padding-bottom:1.1rem;border-bottom:1px solid rgba(255,255,255,.13)}
.ibd-form__price b{font-size:1.85rem;font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1}
.ibd-form__price span{font-size:.98rem;color:#B4AB98}
.ibd-form__msg{margin:0 0 1.1rem;padding:.85rem 1rem;border-radius:6px;font-size:1rem;line-height:1.55}
.ibd-form__msg.is-ok{background:rgba(198,165,117,.16);border:1px solid rgba(198,165,117,.42);color:#EFE4D2}
.ibd-form__msg.is-err{background:rgba(217,138,106,.14);border:1px solid rgba(217,138,106,.44);color:#F2DDD3}

/* ---------- courses teaser (catalog removed from homepage) ---------- */
.ibd-teaser{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(1.8rem,4vw,3.4rem);align-items:center}
@media(max-width:900px){.ibd-teaser{grid-template-columns:1fr;gap:1.8rem}}
.ibd-teaser__copy,.ibd-teaser__side{min-width:0}
.ibd-teaser h2{margin:0 0 1rem}
.ibd-teaser__lead{font-size:1.15rem;line-height:1.78;color:var(--ibd-ink-2);margin:0;max-width:46ch}
.ibd-teaser__list{list-style:none;margin:0 0 1.9rem;padding:0;display:grid;gap:.85rem}
.ibd-teaser__list li{position:relative;padding-inline-start:26px;font-size:1.15rem;line-height:1.62;color:var(--ibd-ink-2)}
.ibd-teaser__list li .ibd-dmd{position:absolute;inset-inline-start:0;top:.42em;color:var(--ibd-primary,#6B532C)}

/* ---------- about, imageless ---------- */
.ibd-about{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(1.6rem,4vw,3.4rem);align-items:start}
@media(max-width:900px){.ibd-about{grid-template-columns:1fr;gap:1.4rem}}
.ibd-about__head,.ibd-about__body{min-width:0}
.ibd-about h2{margin:0}
.ibd-about__body p{font-size:1.15rem;line-height:1.8;max-width:58ch;margin:0 0 1.15rem;color:var(--ibd-ink-2)}
.ibd-about__body .ibd-btn{margin-top:.6rem}

/* ---------- closing CTA ---------- */
.ibd-finalcta{text-align:center}
.ibd-finalcta__h{font-size:clamp(1.85rem,1.2rem + 2.4vw,2.95rem);line-height:1.22;letter-spacing:-.03em;
  font-weight:700;color:#fff;margin:0 auto 1.3rem;max-width:34ch;text-wrap:pretty}
@media(max-width:640px){.ibd-finalcta__h br{display:none}}
.ibd-finalcta__lead{font-size:clamp(1.15rem,1.02rem + .6vw,1.35rem);line-height:1.68;color:#D8D0BF;
  margin:0 auto 2.2rem;max-width:44ch}
@media(max-width:600px){.ibd-finalcta .ibd-btn{width:100%}}

/* ---------- anchored sections must clear the sticky header ---------- */
html{scroll-padding-top:92px}
@media(max-width:920px){html{scroll-padding-top:78px}}
[id]{scroll-margin-top:0}
/* No smooth scrolling: the page is long enough that a 3,000px animated jump
   disorients more than it helps, and it makes anchor CTAs feel unresponsive. */

/* ---------- RTL: a narrower max-width must not centre the block ----------
   WordPress's constrained layout gives every direct child `margin-inline:auto`.
   Anything we cap with a max-width therefore drifts to the middle of the column
   instead of hugging the start (right) edge. Two defences:
   1. a raw-HTML section that still needs one emits ONE wrapper element, so
      only that wrapper is a layout child;
   2. anything promoted to a real core block carries the escape below instead,
      because an inline style would make the block invalid in Gutenberg. */
.ibd-secwrap{max-width:none}
/* WordPress emits `margin-left/right:auto !important` on constrained-layout
   children, which even an inline style cannot beat. This is the opt-in escape. */
main .ibd-startedge{margin-inline-start:0!important;margin-inline-end:auto!important}

/* ---------- bidi: Latin product names must not be reordered ----------
   isolate is what keeps a trailing ™ or slash attached to its own run.
   No nowrap: the footer columns are narrow and these names must still wrap. */
.ibd-footer [dir="ltr"]{unicode-bidi:isolate}

/* ---------- inline link that acts as a control needs a 24px hit area ---------- */
main p > a[href="/clients/"]{display:inline-block;padding-block:.25rem}

/* ==================================================================
   FINAL REFINEMENT PASS
   ================================================================== */

/* ---------- header: keep the enlarged nav from crowding ---------- */
@media(max-width:1100px){.ibd-header .wp-block-navigation{font-size:.96rem}}
/* the tagline stays on at every width; it just tightens on small screens */
@media(max-width:600px){
  .ibd-header .ibd-brand .ibd-gem{width:36px;height:36px}
  .ibd-header .ibd-brand__name{font-size:1.2rem}
  .ibd-header .ibd-brand__tag{font-size:.75rem}
}

/* ---------- hero: the support line holds one desktop line ---------- */
.ibd-herolead--wide{max-width:none}
@media(min-width:1024px){.ibd-herolead--wide p{white-space:nowrap}}

/* ---------- Insight form: price lives in the packages section only ---------- */
.ibd-form__note{margin:0 0 1.5rem;padding-bottom:1.2rem;font-size:1.04rem;color:#C6BCA8;
  border-bottom:1px solid rgba(255,255,255,.13)}

/* ---------- the pack-card hover, extended to the other card families ----------
   Same restrained language: 3px lift, the standing shadow, a gold border. */
.ibd-bedo__item,.ibd-quote{transition:transform .25s,box-shadow .25s,border-color .25s,background-color .25s}
.ibd-bedo__item:hover{transform:translateY(-3px);border-color:var(--ibd-accent-2,#C6A575);
  background:rgba(255,255,255,.085);box-shadow:0 14px 30px -22px rgba(0,0,0,.85)}
.ibd-quote:hover{transform:translateY(-3px);box-shadow:var(--ibd-sh);border-color:var(--ibd-accent)}
@media(hover:none){
  .ibd-bedo__item:hover,.ibd-quote:hover,.ibd-pack:hover{transform:none;box-shadow:var(--ibd-shl)}
}

/* ---------- footer: an explicit RTL grid, not stacked columns ---------- */
.ibd-footgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:2.4rem 2.2rem;align-items:start}
@media(max-width:1000px){.ibd-footgrid{grid-template-columns:1fr 1fr;gap:2.4rem 2rem}}
@media(max-width:620px){.ibd-footgrid{grid-template-columns:1fr;gap:2.2rem}}
.ibd-footgrid > *{min-width:0}
.ibd-footgrid__blurb{margin:1.1rem 0 0;font-size:1rem;line-height:1.75;color:#958D7E;max-width:34ch}
.ibd-footer .ibd-brand{margin:0}
.ibd-footer .ibd-brand .ibd-gem{width:46px;height:46px}
.ibd-footer .ibd-brand__name{font-size:1.36rem;color:#fff}
.ibd-footer .ibd-brand__tag{font-size:.88rem;color:#A79E8D;max-height:none;opacity:1}

.ibd-footcol__h{font-size:1.02rem;font-weight:600;color:#fff;margin:0 0 1rem;
  letter-spacing:-.01em;text-transform:none}
.ibd-footcol ul,.ibd-footgrp ul{list-style:none;margin:0;padding:0;display:grid;gap:.62rem}
.ibd-footcol li,.ibd-footgrp li{margin:0}
.ibd-footcol a,.ibd-footgrp a{color:#B7AE9D;text-decoration:none;font-size:1rem;line-height:1.5;
  display:inline-block;padding-block:.1rem;transition:color .2s}
.ibd-footcol a:hover,.ibd-footgrp a:hover{color:var(--ibd-accent-2,#C6A575)}

.ibd-footbottom{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;justify-content:space-between;
  align-items:center;margin-top:3rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.11)}
.ibd-footbottom p{margin:0;font-size:.92rem;color:#8C8474;line-height:1.6;max-width:none}
.ibd-footbottom a{color:#8C8474;text-decoration:none}
.ibd-footbottom a:hover{color:#B7AE9D}
@media(max-width:620px){.ibd-footbottom{justify-content:flex-start}}

/* ---------- bidi: Latin runs keep their own direction everywhere ---------- */
.ibd-footer [dir="ltr"]{unicode-bidi:isolate}

/* ---------- footer diamond leans right, matching the header ---------- */
.ibd-footer .ibd-brand .ibd-gem{transform:rotate(7deg);transform-origin:50% 55%}

/* ==================================================================
   COMPONENT LIBRARY
   Styles for the reusable patterns under "דלתא · רכיבים לשימוש חוזר".
   Everything here reuses the tokens already defined above; no new colours.
   ================================================================== */

/* ---------- generic three-up grid ---------- */
.ibd-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;
  margin-top:2.6rem;align-items:stretch}
@media(max-width:1000px){.ibd-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ibd-grid3{grid-template-columns:1fr}}
.ibd-grid3 > *{min-width:0}
.ibd-grid3 h3{font-size:1.3rem;margin:0 0 .5rem}
.ibd-grid3 p{margin:0}

/* the same restrained hover the offer cards use, as an opt-in class */
.ibd-hoverable{transition:transform .25s,box-shadow .25s,border-color .25s}
.ibd-hoverable:hover{transform:translateY(-3px);box-shadow:var(--ibd-sh);border-color:var(--ibd-accent)}
@media(hover:none){.ibd-hoverable:hover{transform:none;box-shadow:var(--ibd-shl)}}

/* ---------- FAQ: native details/summary, no JavaScript ---------- */
.ibd-faqwrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(1.6rem,4vw,3.4rem);align-items:start}
@media(max-width:900px){.ibd-faqwrap{grid-template-columns:1fr;gap:1.6rem}}
.ibd-faqwrap h2{margin:0}
.ibd-faq{display:grid;gap:.7rem;min-width:0}
.ibd-faq details{background:var(--ibd-surface);border:1px solid var(--ibd-line);
  border-radius:var(--ibd-rs);overflow:hidden;transition:border-color .25s,box-shadow .25s}
.ibd-faq details[open]{border-color:var(--ibd-accent);box-shadow:var(--ibd-shl)}
.ibd-faq summary{cursor:pointer;list-style:none;padding:1.15rem 1.4rem;
  font-size:1.12rem;font-weight:600;color:var(--ibd-ink);line-height:1.5;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px}
.ibd-faq summary::-webkit-details-marker{display:none}
.ibd-faq summary::after{content:"";flex:none;width:10px;height:10px;
  border-inline-start:2px solid var(--ibd-primary);border-bottom:2px solid var(--ibd-primary);
  transform:rotate(-45deg);transition:transform .25s;margin-top:-4px}
.ibd-faq details[open] summary::after{transform:rotate(135deg);margin-top:2px}
.ibd-faq summary:hover{color:var(--ibd-primary)}
.ibd-faq__a{padding:0 1.4rem 1.3rem}
.ibd-faq__a p{margin:0;font-size:1.1rem;line-height:1.75;color:var(--ibd-ink-2);max-width:62ch}

/* ---------- breadcrumbs ---------- */
.ibd-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;
  font-size:.98rem;color:var(--ibd-muted);margin:0 0 1.6rem}
.ibd-crumbs a{color:var(--ibd-muted);text-decoration:none;padding-block:.2rem;transition:color .2s}
.ibd-crumbs a:hover{color:var(--ibd-primary)}
.ibd-crumbs span[aria-hidden]{opacity:.5}
.ibd-crumbs [aria-current]{color:var(--ibd-ink-2)}

/* ---------- product hero ---------- */
.ibd-prodhero__h{font-size:clamp(2.1rem,1.3rem + 3vw,3.6rem);line-height:1.12;
  letter-spacing:-.035em;font-weight:700;margin:0 0 1.1rem;max-width:20ch;text-wrap:balance}
.ibd-prodhero__lead{font-size:clamp(1.18rem,1.02rem + .7vw,1.42rem);line-height:1.62;
  color:var(--ibd-ink-2);margin:0 0 2rem;max-width:46ch}
.ibd-prodhero__cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:2.6rem}
@media(max-width:600px){.ibd-prodhero__cta{flex-direction:column}}
.ibd-facts{list-style:none;display:flex;flex-wrap:wrap;gap:1rem 2.6rem;margin:0;padding:1.5rem 0 0;
  border-top:1px solid var(--ibd-line)}
.ibd-facts li{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.ibd-facts b{font-size:.95rem;letter-spacing:.1em;color:var(--ibd-primary);font-weight:600}
.ibd-facts span{font-size:1.08rem;color:var(--ibd-ink-2)}

/* ---------- product pricing block ---------- */
.ibd-pricebox{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  gap:clamp(1.6rem,4vw,3rem);align-items:start;
  background:var(--ibd-surface);border:1px solid var(--ibd-line);border-radius:var(--ibd-r);
  box-shadow:var(--ibd-shl);padding:clamp(1.8rem,4vw,3rem)}
@media(max-width:860px){.ibd-pricebox{grid-template-columns:1fr}}
.ibd-pricebox > *{min-width:0}
.ibd-pricebox h2{font-size:1.7rem;margin:0 0 1.3rem}
.ibd-ticks--light li{color:var(--ibd-ink-2)}
.ibd-ticks--light li .ibd-dmd{color:var(--ibd-primary)}
.ibd-pricebox__buy{background:var(--ibd-soft);border-radius:var(--ibd-rs);
  padding:1.7rem 1.5rem;text-align:center}
.ibd-pricebox__amount{display:block;font-size:2.5rem;font-weight:800;letter-spacing:-.04em;
  line-height:1;color:var(--ibd-ink)}
.ibd-pricebox__note{display:block;font-size:1rem;color:var(--ibd-muted);margin:.6rem 0 1.4rem}
.ibd-pricebox__buy .ibd-btn{width:100%}
.ibd-pricebox__fine{font-size:.95rem;color:var(--ibd-muted);line-height:1.6;margin:1rem 0 0}

/* ==================================================================
   BLOG
   The archive previously rendered title + excerpt only; every one of the
   53 posts has a featured image and none of them was being shown.
   ================================================================== */
.ibd-blog h1{margin-bottom:.6rem}
.ibd-postlist{list-style:none;margin:3rem 0 0;padding:0;display:grid;gap:1.2rem}
.ibd-postlist > li{margin:0}

.ibd-postcard{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);
  gap:clamp(1.1rem,2.5vw,2rem);align-items:center;
  background:var(--ibd-surface);border:1px solid var(--ibd-line);border-radius:var(--ibd-rs);
  box-shadow:var(--ibd-shl);padding:1.2rem;
  transition:transform .25s,box-shadow .25s,border-color .25s}
.ibd-postcard:hover{transform:translateY(-3px);box-shadow:var(--ibd-sh);border-color:var(--ibd-accent)}
@media(hover:none){.ibd-postcard:hover{transform:none;box-shadow:var(--ibd-shl)}}
@media(max-width:720px){.ibd-postcard{grid-template-columns:1fr;gap:1rem}}
.ibd-postcard > *{min-width:0}

.ibd-postcard__img{margin:0}
.ibd-postcard__img img{width:100%;height:100%;object-fit:cover;display:block;border-radius:8px}
.ibd-postcard__img a{display:block;line-height:0}
/* a post with no featured image must not leave a hole in the grid */
.ibd-postcard__img:empty{display:none}
.ibd-postcard:has(.ibd-postcard__img:empty){grid-template-columns:1fr}

.ibd-postcard__body{display:flex;flex-direction:column;gap:.5rem}
.ibd-postcard__date{margin:0;color:var(--ibd-muted);font-size:.98rem;letter-spacing:.02em}
.ibd-postcard__title{margin:0;line-height:1.28;letter-spacing:-.02em}
.ibd-postcard__title a{color:var(--ibd-ink);text-decoration:none;transition:color .2s}
.ibd-postcard__title a:hover{color:var(--ibd-primary)}
.ibd-postcard__ex{margin:0;font-size:1.08rem;line-height:1.7;color:var(--ibd-ink-2);max-width:64ch}
.ibd-postcard__ex .wp-block-post-excerpt__more-link{display:inline-block;margin-top:.5rem;
  color:var(--ibd-primary);font-weight:600;text-decoration:none;padding-block:.2rem}

.ibd-pagination{margin-top:3rem;gap:.5rem;font-size:1.05rem}
.ibd-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;
  min-width:44px;min-height:44px;padding:0 .7rem;border-radius:6px;text-decoration:none;
  color:var(--ibd-ink-2);border:1px solid transparent;transition:background .2s,border-color .2s,color .2s}
.ibd-pagination .page-numbers:hover{color:var(--ibd-primary);border-color:var(--ibd-line);background:var(--ibd-soft)}
.ibd-pagination .page-numbers.current{background:var(--ibd-primary);color:#fff;font-weight:600}

/* ---------- single post ---------- */
.ibd-single__meta{color:var(--ibd-muted);font-size:1rem;margin:0 0 1.6rem}

/* ---------- optional marketing consent, visibly separate from the enquiry ---------- */
.ibd-form__opt{display:flex;align-items:flex-start;gap:.7rem;margin:1.3rem 0 0;
  padding:.9rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:6px;cursor:pointer;transition:border-color .2s,background .2s}
.ibd-form__opt:hover{border-color:rgba(198,165,117,.45);background:rgba(255,255,255,.075)}
.ibd-form__opt input{flex:none;width:20px;height:20px;margin:.1rem 0 0;accent-color:var(--ibd-accent-2,#C6A575);cursor:pointer}
.ibd-form__opt span{font-size:.98rem;line-height:1.6;color:#C6BCA8}
.ibd-form__opt:focus-within{border-color:var(--ibd-accent-2,#C6A575)}

/* ==========================================================================
   Stage 4 — page components
   ========================================================================== */

/* Two-column prose. Collapses to one column before the lines get too short
   to read comfortably, not at an arbitrary device width. */
.ibd-twocol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 3rem;margin-top:1.6rem}
.ibd-twocol > *{min-width:0}
.ibd-twocol p{margin:0 0 1rem;font-size:1.1rem;line-height:1.72;color:var(--ibd-ink-2)}
.ibd-twocol p:last-child{margin-bottom:0}
.ibd-twocol h3{font-size:1.24rem;margin:0 0 .6rem;color:var(--ibd-ink)}
@media(max-width:820px){.ibd-twocol{grid-template-columns:1fr;gap:1.4rem}}

/* Ordered stack — BE / DO / HAVE and other numbered sequences.
   The mark is a fixed-width column so the headings align on the start edge. */
.ibd-stack{display:grid;gap:1px;background:var(--ibd-line);border:1px solid var(--ibd-line);border-radius:var(--ibd-r);overflow:hidden}
.ibd-stack__item{display:grid;grid-template-columns:112px minmax(0,1fr);gap:1.4rem;
  align-items:start;padding:1.6rem 1.7rem;background:var(--wp--preset--color--base)}
.ibd-stack__item > div{min-width:0}
.ibd-stack__mark{display:inline-flex;align-items:center;justify-content:center;
  min-height:38px;padding:.2rem .7rem;border-radius:var(--ibd-rs);
  background:var(--ibd-soft);color:var(--ibd-primary);
  font-size:1.15rem;font-weight:700;letter-spacing:.08em}
.ibd-stack h3{font-size:1.26rem;margin:0 0 .45rem;line-height:1.35;color:var(--ibd-ink)}
.ibd-stack p{margin:0;font-size:1.06rem;line-height:1.68;color:var(--ibd-ink-2)}
@media(max-width:640px){
  .ibd-stack__item{grid-template-columns:1fr;gap:.9rem;padding:1.4rem 1.2rem}
  .ibd-stack__mark{justify-self:start}
}

/* Fit / not-fit columns */
.ibd-fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-top:2rem}
.ibd-fit > *{min-width:0}
.ibd-fit__col{padding:1.7rem 1.6rem;border:1px solid var(--ibd-line);border-radius:var(--ibd-r);
  background:var(--wp--preset--color--base)}
.ibd-fit__col h3{font-size:1.2rem;margin:0;color:var(--ibd-ink)}
.ibd-fit__col--no{background:var(--ibd-surface);border-color:var(--ibd-hair)}
@media(max-width:820px){.ibd-fit{grid-template-columns:1fr}}

/* The tick list is styled for dark panels by default; on light sections it
   needs the ink colours, which is what these two contexts supply. */
.ibd-fit .ibd-ticks li,.ibd-twocol .ibd-ticks li{color:var(--ibd-ink-2)}
.ibd-fit .ibd-ticks li .ibd-dmd,.ibd-twocol .ibd-ticks li .ibd-dmd{color:var(--ibd-primary)}
.ibd-ticks--no li{color:var(--ibd-muted)}
.ibd-x{position:absolute;inset-inline-start:0;top:.34em;width:12px;height:12px;flex:none;display:inline-block}
.ibd-x::before,.ibd-x::after{content:"";position:absolute;inset-inline-start:0;top:5px;
  width:12px;height:1.5px;background:var(--ibd-faint);border-radius:2px}
.ibd-x::before{transform:rotate(45deg)}
.ibd-x::after{transform:rotate(-45deg)}

/* A short grounded caveat under a section. Deliberately quiet. */
.ibd-note{margin-top:1.8rem;font-size:.98rem;line-height:1.62;color:var(--ibd-muted)}
.ibd-textlink{color:var(--ibd-primary);text-decoration:none;border-bottom:1px solid var(--ibd-accent);
  padding-bottom:1px;transition:color .2s,border-color .2s}
.ibd-textlink:hover{color:var(--ibd-ink);border-color:var(--ibd-primary)}

/* Whole-card links: the card keeps its own look, the link keeps its semantics. */
a.ibd-pack{text-decoration:none;color:inherit}
a.ibd-pack h2,a.ibd-pack h3{color:var(--ibd-ink)}
.ibd-pack h2{font-size:1.42rem;margin:0 0 .2rem;line-height:1.25}
.ibd-pack__for{font-size:.92rem;color:var(--ibd-muted);margin:0 0 .8rem}
.ibd-pack__go{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;
  font-size:.98rem;font-weight:600;color:var(--ibd-primary)}
.ibd-pack__go::after{content:"‹";font-size:1.15em;line-height:1;transition:transform .2s}
a.ibd-pack:hover .ibd-pack__go::after{transform:translateX(-3px)}

/* Dark flagship hero — the business page only. */
.ibd-prodhero--deep{background:var(--ibd-panel);color:#F3EEE5}
.ibd-prodhero--deep .ibd-prodhero__h,.ibd-prodhero--deep .ibd-prodhero__lead{color:#F3EEE5}
.ibd-prodhero--deep .ibd-label{color:var(--ibd-accent-2,#C6A575)}
.ibd-prodhero--deep .ibd-tri{border-bottom-color:var(--ibd-accent-2,#C6A575)}
.ibd-prodhero__h--long{font-size:clamp(1.6rem,1.05rem + 2.1vw,2.5rem);line-height:1.32;max-width:26ch}
.ibd-crumbs--light a,.ibd-crumbs--light [aria-current]{color:#C9C0AF}
.ibd-crumbs--light a:hover{color:var(--ibd-accent-2,#C6A575)}
.ibd-facts--light{border-top-color:rgba(255,255,255,.14)}
.ibd-facts--light b{color:var(--ibd-accent-2,#C6A575)}
.ibd-facts--light span{color:#E2DACB}
.ibd-btn--onlight{border-color:rgba(255,255,255,.4);color:#F3EEE5}
.ibd-btn--onlight:hover{border-color:var(--ibd-accent-2,#C6A575);color:#fff}

/* Pull quote inside a light section. Not a testimonial — a stated principle. */
.ibd-quotebox{margin:2.2rem 0 0;padding:1.6rem 1.8rem;border-radius:var(--ibd-r);
  background:var(--ibd-soft);border-inline-start:3px solid var(--ibd-accent)}
.ibd-quotebox p{margin:0;font-size:clamp(1.15rem,1rem + .6vw,1.38rem);line-height:1.6;
  font-weight:600;color:var(--ibd-ink);max-width:46ch}

/* ==========================================================================
   Structure stabilization pass
   ========================================================================== */

/* Sticky header, actually sticky.
   The template part used to emit its own <header> wrapper, and a sticky
   element can never travel outside its parent's box — so the bar scrolled
   away with a wrapper exactly its own height. The wrapper is gone from the
   templates; this rule neutralises it if a customised part reintroduces one. */
.wp-block-template-part:has(> .ibd-header){display:contents}

/* The stuck state stays a settle, not a jump: the tagline folds and the
   mark eases down by 8px over the same 0.28s the padding uses. */

/* Blog archive subtitle */
.ibd-blog__sub{margin:.6rem 0 2.2rem;font-size:clamp(1.06rem,.98rem + .4vw,1.24rem);
  line-height:1.6;color:var(--ibd-muted);max-width:44ch}

/* Lecture cards. Three across, then two, then one — the fourth and fifth
   sit centred on the second row rather than stranded at one edge. */
.ibd-lect{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;
  justify-content:center}
.ibd-lect__card{min-width:0;background:var(--ibd-surface);border:1px solid var(--ibd-line);
  border-radius:var(--ibd-r);box-shadow:var(--ibd-shl);padding:1.9rem 1.7rem;
  display:flex;flex-direction:column;
  transition:transform .25s,box-shadow .25s,border-color .25s}
.ibd-lect__card:hover{transform:translateY(-3px);box-shadow:var(--ibd-sh);border-color:var(--ibd-accent)}
@media(hover:none){.ibd-lect__card:hover{transform:none;box-shadow:var(--ibd-shl)}}
.ibd-lect__field{display:inline-block;align-self:flex-start;margin-bottom:1rem;
  padding:.24rem .8rem;border-radius:6px;background:var(--ibd-soft);
  color:var(--ibd-primary);font-size:.86rem;font-weight:600;letter-spacing:.04em}
.ibd-lect__card h2{font-size:1.28rem;line-height:1.38;margin:0 0 .7rem;color:var(--ibd-ink)}
.ibd-lect__card p{margin:0;font-size:1.03rem;line-height:1.68;color:var(--ibd-ink-2)}
@media(max-width:1000px){
  .ibd-lect{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ibd-lect__card:last-child{grid-column:1/-1;max-width:calc(50% - .65rem);justify-self:center}
}
@media(max-width:640px){
  .ibd-lect{grid-template-columns:1fr}
  .ibd-lect__card:last-child{grid-column:auto;max-width:none}
}
.ibd-pricebox__vat{display:block;font-size:.92rem;color:var(--ibd-muted);margin-top:-.2rem}

/* Testimonial wall. Twelve quotes of very different lengths: a grid would
   force short ones to the height of the longest in their row, so this flows
   in columns instead and each card keeps its natural height. */
.ibd-quotewall{columns:3;column-gap:1.2rem;margin-top:2.4rem}
@media(max-width:1000px){.ibd-quotewall{columns:2}}
@media(max-width:680px){.ibd-quotewall{columns:1;max-width:600px;margin-inline:auto}}
.ibd-quotewall .ibd-quote{break-inside:avoid;margin:0 0 1.2rem;display:block;height:auto}
.ibd-quotewall .ibd-quote blockquote p{margin:0;font-size:1.06rem;line-height:1.72;color:var(--ibd-ink-2)}
.ibd-quote figcaption.ibd-quote__who{display:flex;flex-direction:row;align-items:center;gap:.9rem;
  margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--ibd-hair)}
.ibd-quote__who > span{display:flex;flex-direction:column;gap:.12rem;min-width:0;text-align:start}
.ibd-quote__img{width:52px;height:52px;flex:none;border-radius:50%;object-fit:cover;
  background:var(--ibd-tint);border:1px solid var(--ibd-hair)}
.ibd-quote__role{font-size:.9rem;color:var(--ibd-muted);line-height:1.4}

/* Hero with a video beside the copy. The frame keeps 16:9 without the
   padding-top hack so the iframe cannot drift out of its box. */
.ibd-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.4rem;align-items:center}
@media(max-width:900px){.ibd-split{grid-template-columns:1fr;gap:1.8rem}}
.ibd-split__copy{min-width:0}
.ibd-split__media{min-width:0}
.ibd-video{position:relative;aspect-ratio:16/9;border-radius:var(--ibd-r);overflow:hidden;
  border:1px solid var(--ibd-line);box-shadow:var(--ibd-sh);background:var(--ibd-panel)}
.ibd-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}

/* Two-price offer blocks */
.ibd-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;margin-top:2.2rem}
@media(max-width:820px){.ibd-offers{grid-template-columns:1fr}}
.ibd-offer{position:relative;min-width:0;display:flex;flex-direction:column;
  background:var(--ibd-surface);border:1px solid var(--ibd-line);border-radius:var(--ibd-r);
  box-shadow:var(--ibd-shl);padding:1.9rem 1.8rem}
.ibd-offer h3{margin:0 0 .5rem;font-size:1.3rem;color:var(--ibd-ink)}
.ibd-offer__price{display:block;font-size:2.1rem;font-weight:800;letter-spacing:-.04em;color:var(--ibd-ink)}
.ibd-offer .ibd-ticks{margin-top:1.2rem;flex:1}
.ibd-offer .ibd-ticks li{color:var(--ibd-ink-2)}
.ibd-offer .ibd-ticks li .ibd-dmd{color:var(--ibd-primary)}
.ibd-offer .ibd-btn{margin-top:1.6rem;width:100%;text-align:center;justify-content:center}
.ibd-offer--best{border-color:var(--ibd-accent);background:var(--wp--preset--color--base)}
.ibd-offer--best::before{content:"";position:absolute;top:-1px;inset-inline:22px;height:2px;background:var(--ibd-accent)}
.ibd-offer__flag{position:absolute;top:-.85rem;inset-inline-end:1.6rem;background:var(--ibd-accent);
  color:#2A2118;font-size:.82rem;font-weight:700;padding:.22rem .8rem;border-radius:6px}

/* Seven items no longer fit on one line below ~900px, and a two-row menu
   inside a sticky bar looks broken. WordPress flips the navigation to its
   overlay at 600px; these two rules move that switch to 900px using the
   block's own markup, so the hamburger and the overlay behave exactly as
   they already do on a phone. */
@media(min-width:600px) and (max-width:1024px){
  .ibd-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none}
  .ibd-header .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}
  .ibd-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{display:flex}
}
/* With the menu collapsed there is room for the CTA again, so it only drops
   away on genuinely narrow phones. */
@media(max-width:1024px){.ibd-header .ibd-hide-mobile{display:block}}
@media(max-width:600px){.ibd-header .ibd-hide-mobile{display:none}}
/* Latin trademark strings inside Hebrew need their own bidi run, or the ™
   jumps to the wrong end of the name. */
.ibd-en[dir="ltr"]{unicode-bidi:isolate;display:inline-block}

/* About hero: copy beside the portrait, using the same split as the course pages.
   The image column is narrower here so the portrait does not dominate the page. */
.ibd-split--about{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:3rem;align-items:center}
@media(max-width:900px){.ibd-split--about{grid-template-columns:1fr;gap:2rem}}
.ibd-split--about .ibd-portrait{margin:0}
.ibd-split--about .ibd-portrait img{width:100%;height:auto;display:block;border-radius:var(--ibd-r)}
@media(max-width:900px){.ibd-split--about .ibd-portrait{max-width:340px}}

/* Sibling navigation: from a course page back to its category and across to the
   pages beside it, so an inner page is never a dead end. */
.ibd-sibnav{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.4rem;
  padding-top:1.4rem;border-top:1px solid var(--ibd-line)}
.ibd-sibnav__lead{font-size:.95rem;font-weight:600;color:var(--ibd-faint);letter-spacing:.04em}
.ibd-sibnav a{color:var(--ibd-primary);text-decoration:none;font-size:1.02rem;
  border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.ibd-sibnav a:hover{border-bottom-color:var(--ibd-accent);color:var(--ibd-ink)}
.ibd-sibnav__all{margin-inline-start:auto;font-weight:600}
@media(max-width:600px){.ibd-sibnav__all{margin-inline-start:0}}

/* Breadcrumb bar prepended to legacy pages that still use the default template. */
.ibd-crumbwrap{margin-bottom:1.6rem}

/* Two groups now share a footer column, so a heading that follows a list needs
   air above it. Nothing else about the footer changes. */
.ibd-footgrp + .ibd-footgrp,.ibd-brand + .ibd-footgrp{margin-top:1.7rem}
/* An item whose page does not exist yet sits in the list without a link. */
.ibd-footcol li > span,.ibd-footgrp li > span{color:#B7AE9D;font-size:1rem;line-height:1.5}

/* ---------- sticky header vs. the WordPress admin bar ----------
   For a logged-in user the admin bar occupies the top of the viewport:
   absolute and 32px tall at desktop widths, fixed and 46px tall at 782px and
   below. A header pinned to top:0 slides underneath it and the brand line gets
   clipped. WordPress publishes the bar's height as --wp-admin--admin-bar--height
   and updates it at that same breakpoint, so the sticky offset follows it.
   The media query repeats the value as a fallback for older installs.
   Logged out, body.admin-bar is absent and the header stays at top:0.
   z-index stays 50 — far below the admin bar's 99999 — so the header covers
   page content and never the bar. */
body.admin-bar .ibd-header{top:var(--wp-admin--admin-bar--height,32px)}
@media screen and (max-width:782px){
  body.admin-bar .ibd-header{top:var(--wp-admin--admin-bar--height,46px)}
}
/* Anchor targets were offset for a header sitting at the very top; with the bar
   pushing it down, the landing point moves by the same amount. */
html:has(body.admin-bar){scroll-padding-top:calc(92px + var(--wp-admin--admin-bar--height,32px))}
@media(max-width:920px){
  html:has(body.admin-bar){scroll-padding-top:calc(78px + var(--wp-admin--admin-bar--height,46px))}
}
/* At 600px and below WordPress switches the bar to position:absolute, so it
   scrolls away with the page. Holding the header 46px down there would leave a
   permanent gap under a bar that is no longer on screen, so the offset is
   released and the header returns to the top edge. */
@media screen and (max-width:600px){
  body.admin-bar .ibd-header{top:0}
  html:has(body.admin-bar){scroll-padding-top:78px}
}

/* Social row in the contact column. Icons only, so each link carries an
   aria-label; the row keeps the same muted-to-gold behaviour as the text links. */
.ibd-footcol ul.ibd-social{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.ibd-social li{margin:0}
.ibd-social a{display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.16);
  color:#B7AE9D;transition:color .2s,border-color .2s,background-color .2s}
.ibd-social a:hover{color:var(--ibd-accent-2,#C6A575);border-color:var(--ibd-accent-2,#C6A575);
  background:rgba(198,165,117,.08)}
.ibd-social svg{width:15px;height:15px;fill:currentColor;display:block}

/* ---------- mobile menu: full-screen overlay ----------
   The header carries backdrop-filter, and a filtered element becomes the
   containing block for its fixed-position descendants. That trapped the open
   navigation overlay inside the header bar — a 72px-tall strip with a taller
   list scrolling invisibly inside it. Dropping the filter only while the menu
   is open lets the overlay resolve against the viewport again, which is what
   WordPress's own inset:0 expects. */
.ibd-header:has(.wp-block-navigation__responsive-container.is-menu-open){backdrop-filter:none}

.ibd-header .wp-block-navigation__responsive-container.is-menu-open{
  background:var(--wp--preset--color--base);
  padding:0;overflow-y:auto}
/* never cover the admin bar */
body.admin-bar .ibd-header .wp-block-navigation__responsive-container.is-menu-open{
  top:var(--wp-admin--admin-bar--height,32px)}

.ibd-header .is-menu-open .wp-block-navigation__responsive-container-content{
  width:100%;padding:.6rem 1.5rem 2.4rem}
.ibd-header .is-menu-open ul.wp-block-navigation__container{
  width:100%;flex-direction:column;align-items:stretch;gap:0;flex-wrap:nowrap}
.ibd-header .is-menu-open .wp-block-navigation-item{
  width:100%;border-bottom:1px solid var(--ibd-line)}
.ibd-header .is-menu-open .wp-block-navigation-item:last-child{border-bottom:0}
.ibd-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
  display:block;width:100%;padding:1.05rem .2rem;
  font-size:1.18rem;line-height:1.4;color:var(--ibd-ink)}
/* the desktop underline animation has no place in a stacked list */
.ibd-header .is-menu-open .wp-block-navigation-item__content::after{display:none}
.ibd-header .is-menu-open .wp-block-navigation-item__content:hover{color:var(--ibd-primary)}
.ibd-header .wp-block-navigation__responsive-container-close{
  color:var(--ibd-ink);padding:.6rem}
.ibd-header .wp-block-navigation__responsive-container-close svg{width:26px;height:26px}

/* ---------- footer groups: static on desktop, collapsible on mobile ----------
   Each group is a <details> so the open/closed state is native and keyboard
   accessible. delta.js keeps every group open above 1000px and closes them
   below, so the desktop footer is unchanged and the phone footer starts as a
   short list of headings. With JS off the groups stay open — today's behaviour. */
.ibd-footgrp{margin:0}
.ibd-footgrp > summary{list-style:none;cursor:default}
.ibd-footgrp > summary::-webkit-details-marker{display:none}
.ibd-footgrp > summary::marker{content:""}
.ibd-footgrp > ul{margin-top:0}

@media(max-width:1000px){
  .ibd-footgrp{border-bottom:1px solid rgba(255,255,255,.12)}
  .ibd-footgrp + .ibd-footgrp,.ibd-brand + .ibd-footgrp{margin-top:0}
  .ibd-footgrp > summary{cursor:pointer;display:flex;align-items:center;
    justify-content:space-between;gap:1rem;padding:.95rem 0;margin:0;
    -webkit-tap-highlight-color:transparent}
  /* chevron rotates to point down when the group is open */
  .ibd-footgrp > summary::after{content:"";flex:none;width:9px;height:9px;
    border-inline-end:1.5px solid var(--ibd-accent-2,#C6A575);
    border-bottom:1.5px solid var(--ibd-accent-2,#C6A575);
    transform:rotate(-45deg);margin-block-start:-4px;transition:transform .2s}
  .ibd-footgrp[open] > summary::after{transform:rotate(45deg);margin-block-start:2px}
  .ibd-footgrp > ul{padding-bottom:1rem}
  .ibd-footcol{margin:0}
}

/* The contact column carries the social row at its foot, level with the
   second row of groups rather than floating up under the phone number. */
.ibd-footgrid > .ibd-footcol--contact{display:flex;flex-direction:column;align-self:stretch}
.ibd-footcol--contact ul.ibd-social{margin-top:auto;padding-top:2.4rem}
@media(max-width:1000px){
  .ibd-footcol--contact ul.ibd-social{margin-top:0;padding-top:1.4rem}
}
/* In the single-column footer every group carries its own divider, so the
   grid's row gap would break the accordion into uneven blocks. */
@media(max-width:620px){.ibd-footgrid{row-gap:0}}

/* Desktop: the business group aligns under the wordmark rather than under the
   diamond, and drops onto the bottom baseline shared by the other columns. */
@media(min-width:1001px){
  .ibd-footgrid__brand .ibd-footgrp{margin-block-start:59px;margin-inline-start:58px}
  .ibd-footcol--contact ul.ibd-social{padding-top:0}
}

/* Phones: one flow instead of a grid, so the groups can be ordered
   independently of the desktop columns. Processes lead; business follows. */
@media(max-width:620px){
  .ibd-footgrid{display:flex;flex-direction:column;gap:0;align-items:stretch}
  .ibd-footgrid__brand,.ibd-footgrid > .ibd-footcol{display:contents}
  .ibd-footgrid__brand > .ibd-brand{order:1}
  .ibd-footgrp--processes{order:2}
  .ibd-footgrp--business{order:3}
  .ibd-footgrp--lectures{order:4}
  .ibd-footgrp--personal{order:5}
  .ibd-footgrp--training{order:6}
  .ibd-footgrp--contact{order:7}
  .ibd-footcol--contact .ibd-social{order:8}
}

/* ---- Delta core pages, master-brief pass ------------------------------- */

/* the ecology line under the four journey steps */
.ibd-ecology{margin:2.2rem auto 0;max-width:62ch;text-align:center;
  font-size:1.06rem;line-height:1.72;color:var(--ibd-ink-2)}

/* the recommended-entry badge on the Insight card */
.ibd-pack{position:relative}
.ibd-pack__badge{position:absolute;top:-.72rem;inset-inline-end:1.4rem;
  display:inline-block;padding:.3rem .7rem;border-radius:999px;
  background:var(--ibd-accent);color:#2A2113;
  font-size:.74rem;font-weight:600;letter-spacing:.06em;white-space:nowrap}
.ibd-pack__fit{margin:.9rem 0 0;font-size:.99rem;line-height:1.65;color:var(--ibd-ink-2)}
.ibd-pack__fit b{color:var(--ibd-ink);font-weight:600}
.ibd-packs__lead{margin:1.6rem 0 0;max-width:62ch;font-size:1.1rem;line-height:1.72;color:var(--ibd-ink-2)}
.ibd-packs__note{margin:2rem 0 0;max-width:70ch;font-size:1rem;line-height:1.7;color:var(--ibd-ink-2)}
.ibd-packs__note a{color:var(--ibd-primary)}

/* Breakthrough: the two systems the process works on */
.ibd-bizdual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;margin-top:1.6rem}
@media(max-width:860px){.ibd-bizdual{grid-template-columns:1fr}}
.ibd-bizdual p{margin:0;font-size:1.03rem;line-height:1.72;color:#D9D0C2;
  padding-inline-start:1rem;border-inline-start:2px solid var(--ibd-accent-2,#C6A575)}
.ibd-bizdual b{color:#fff;font-weight:600}

/* the self-study alternative under the Method closing CTA */
.ibd-finalcta__alt{margin:1.5rem 0 0;font-size:1rem;line-height:1.7;color:#BFB4A2}
.ibd-finalcta__alt a{color:var(--ibd-accent-2,#C6A575);text-decoration:none;
  border-bottom:1px solid rgba(198,165,117,.45)}
.ibd-finalcta__alt a:hover{border-bottom-color:var(--ibd-accent-2,#C6A575)}

/* Breakthrough sub-headline, one step under the section H2 */
.ibd-deep__sub{font-size:clamp(1.1rem,1rem + .5vw,1.3rem);line-height:1.6;font-weight:600;
  max-width:58ch;margin:.9rem 0 0;color:var(--ibd-accent-2,#C6A575)}

/* the two closing lines of the Insight panel copy column */
.ibd-insight__more{margin:1.3rem 0 0;font-size:1.03rem;line-height:1.7;color:var(--ibd-ink-2)}
.ibd-insight__facts{margin:.9rem 0 0;font-size:1.03rem;line-height:1.7;font-weight:600;color:var(--ibd-ink)}

/* ---- newsletter exit ramp --------------------------------------------- */
.ibd-nl{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4vw,3.6rem);align-items:center}
@media(max-width:900px){.ibd-nl{grid-template-columns:1fr;gap:2rem}}
.ibd-nl__copy h2{font-size:clamp(1.5rem,1.2rem + 1.1vw,2.05rem);line-height:1.3;margin:.5rem 0 0}
.ibd-nl__lead{margin:1rem 0 0;font-size:1.08rem;line-height:1.75;color:var(--ibd-ink-2);max-width:52ch}
.ibd-nl__form{background:var(--ibd-surface,#fff);border:1px solid var(--ibd-line);
  border-radius:var(--ibd-r);padding:clamp(1.4rem,3vw,2.2rem)}
.ibd-nl__form form{margin:0}
.ibd-nl__form p{margin:0 0 1rem}
.ibd-nl__form p:last-child{margin-bottom:0}
.ibd-nl__form label{display:block;font-size:.95rem;font-weight:600;color:var(--ibd-ink);margin-bottom:.4rem}
.ibd-nl__form input[type=text],.ibd-nl__form input[type=email]{
  width:100%;padding:.8rem .9rem;font:inherit;font-size:1rem;color:var(--ibd-ink);
  background:#fff;border:1px solid var(--ibd-line);border-radius:10px}
.ibd-nl__form input[type=text]:focus,.ibd-nl__form input[type=email]:focus{
  outline:2px solid var(--ibd-accent-2,#C6A575);outline-offset:1px;border-color:transparent}
.ibd-nl__form .ibd-mcconsent{display:flex;gap:.6rem;align-items:flex-start;
  font-size:.92rem;font-weight:400;line-height:1.6;color:var(--ibd-ink-2)}
.ibd-nl__form .ibd-mcconsent input[type=checkbox]{margin-top:.25rem;flex:none;accent-color:var(--ibd-primary)}
.ibd-nl__form .ibd-mcconsent a{color:var(--ibd-primary)}
.ibd-nl__form input[type=submit]{width:100%;cursor:pointer;font:inherit;font-size:1.02rem;font-weight:600;
  padding:.9rem 1.4rem;border:0;border-radius:999px;background:var(--ibd-accent);color:#2A2113}
.ibd-nl__form input[type=submit]:hover{filter:brightness(.96)}
.ibd-nl__form .mc4wp-alert{margin:1rem 0 0;font-size:.98rem;line-height:1.6}
.ibd-nl__form .mc4wp-success{color:#2F6B45}
.ibd-nl__form .mc4wp-error{color:#8C3A2E}

/* ==================================================================
   EDITABILITY PASS — measures moved out of inline styles
   ------------------------------------------------------------------
   Gutenberg validates every block against what its own save() would
   emit, so a hand-written style="max-width:…" on a Heading or a
   Paragraph marks the block "invalid" and locks it out of normal
   editing. The measures below are exactly the values those inline
   styles carried, moved here unchanged and scoped to the section they
   belong to, so the rendering is identical and the blocks stay
   editable. Nothing here introduces a new value.
   ================================================================== */
#problem .ibd-startedge{max-width:24ch!important}
#regression .ibd-startedge{max-width:28ch!important}
#ladder .ibd-startedge{max-width:24ch!important}
main .ibd-panel > p.has-xxl-font-size,
main .ibd-promise > p.has-xxl-font-size{max-width:32ch!important;margin-inline:auto!important}

/* Copy promoted out of a raw-HTML wrapper becomes a direct child of the
   constrained layout, so it needs the same RTL escape as .ibd-startedge
   (see "RTL: a narrower max-width must not centre the block" above):
   without it a capped measure drifts to the middle of the column. */
main .ibd-deep__h,
main .ibd-deep__sub,
main .ibd-deep__lead,
main .ibd-packs__lead{margin-inline-start:0!important;margin-inline-end:auto!important}

/* The closing CTA's gold button is raw HTML, so promoting the copy around it to
   real blocks made the link a direct layout child and WordPress started giving
   it the block gap. It never had a top margin; this keeps it at zero. */
main .ibd-finalcta > a.ibd-btn{margin-block-start:0}

/* ==================================================================
   HEADER DROPDOWNS
   ------------------------------------------------------------------
   Three top-level items carry a short submenu. Core supplies the
   markup and the show/hide behaviour; everything below is the brand
   surface for it. Nothing here touches the top-level bar itself.
   The navigation still collapses to the overlay at 1024px, so these
   rules only apply on real desktop widths.
   ================================================================== */
.ibd-header .wp-block-navigation .has-child > .wp-block-navigation__submenu-container{
  background-color:var(--wp--preset--color--base);
  border:1px solid var(--ibd-line);
  border-radius:var(--ibd-rs,6px);
  box-shadow:0 18px 40px -26px rgba(51,39,26,.55);
  padding:.4rem 0;
  width:max-content!important;min-width:14rem;max-width:min(24rem,88vw);
  inset-block-start:calc(100% + .55rem);
  /* Core pins the panel with `left:0`, which in an RTL bar drops it to the
     wrong side of its own item and pushes it toward the screen edge. The
     panel has to hang from the item's start (right) edge and open inward.
     Physical properties with !important because core's own rule wins on
     specificity, the same escape used for .ibd-startedge above. */
  right:0!important;left:auto!important;
}
/* The 0.55rem gap between the trigger and the panel has to stay hoverable,
   or the panel closes while the pointer crosses it. */
.ibd-header .wp-block-navigation .has-child > .wp-block-navigation__submenu-container::before{
  content:"";position:absolute;inset-inline:0;bottom:100%;height:.6rem;
}
.ibd-header .wp-block-navigation__submenu-container .wp-block-navigation-item{width:100%}
.ibd-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  display:block;width:100%;padding:.52rem 1.15rem;
  font-size:.99rem;line-height:1.5;color:var(--ibd-ink-2);white-space:nowrap;
  /* A Latin product name inside an RTL menu needs its own bidi run, or a
     trailing ™ lands at the wrong end of the name. */
  unicode-bidi:plaintext;text-align:start;
}
.ibd-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after{display:none}
.ibd-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.ibd-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible{
  color:var(--ibd-primary);background:var(--ibd-tint,#F3EDE0);
}
/* A Latin product name that ends in a trademark sign needs its own LTR run,
   or the sign is pushed to the wrong end of the name by the RTL context. */
.ibd-header .ibd-nav-ltr .wp-block-navigation-item__label{
  direction:ltr;unicode-bidi:isolate;display:inline-block;
}
.ibd-header .wp-block-navigation__submenu-icon{margin-inline-start:.28rem;padding:0}
.ibd-header .wp-block-navigation__submenu-icon svg{width:.7em;height:.7em}

/* ---------- the same three groups inside the mobile overlay ---------- */
.ibd-header .is-menu-open .wp-block-navigation__submenu-container{
  position:static;opacity:1;visibility:visible;
  background:transparent;border:0;box-shadow:none;
  min-width:0;width:100%;padding:0 0 .55rem;margin:0;
}
.ibd-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item{border-bottom:0}
.ibd-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  padding:.5rem 1.2rem .5rem 0;font-size:1.02rem;color:var(--ibd-ink-2);
  unicode-bidi:plaintext;
}
.ibd-header .is-menu-open .wp-block-navigation__submenu-icon{display:none}

/* ---------- the CTA has to stay reachable on a phone ----------
   Above 600px the header still shows the real button. Below it the button
   is hidden for width, so the same call to action rides at the foot of the
   open overlay instead. */
.ibd-header .wp-block-navigation-item.ibd-nav-cta,
.ibd-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.ibd-nav-cta{display:none}
@media(max-width:600px){
  .ibd-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.ibd-nav-cta{
    display:block;border-bottom:0;margin-top:1.3rem}
  .ibd-header .is-menu-open .ibd-nav-cta .wp-block-navigation-item__content{
    background:var(--ibd-primary);color:#fff;border-radius:var(--ibd-rs,6px);
    text-align:center;font-weight:600;padding:1rem 1.2rem;
  }
  .ibd-header .is-menu-open .ibd-nav-cta .wp-block-navigation-item__content:hover{
    background:var(--ibd-primary-h,#7A5C2E);color:#fff;
  }
}

/* ==================================================================
   EDITABILITY PASS — homepage components as real blocks
   ------------------------------------------------------------------
   The four "what happened to you" cards used to be one raw-HTML grid
   with an inline <style> that matched on `div[style*="repeat(4"]`.
   The grid is now a Group block, so the same three column counts live
   here under a real class name. Values are unchanged.
   ================================================================== */
.ibd-cardgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem;margin-top:2.8rem}
@media(max-width:1000px){.ibd-cardgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ibd-cardgrid{grid-template-columns:1fr}}

/* A tick item's diamond is a decorative empty <span>, and Gutenberg's
   rich-text editor drops empty inline elements when the line is retyped.
   If that happens the marker is redrawn from CSS instead, so editing the
   text can never leave a list item without its diamond. */
.ibd-ticks li:not(:has(.ibd-dmd))::before{
  content:"";position:absolute;inset-inline-start:0;top:.5em;
  width:13px;height:11.5px;background:var(--ibd-accent-2,#C6A575);
  -webkit-mask:var(--ibd-gem-mask) center/contain no-repeat;
  mask:var(--ibd-gem-mask) center/contain no-repeat;
}
.ibd-ticks--light li:not(:has(.ibd-dmd))::before,
.ibd-fit .ibd-ticks li:not(:has(.ibd-dmd))::before,
.ibd-twocol .ibd-ticks li:not(:has(.ibd-dmd))::before,
.ibd-offer .ibd-ticks li:not(:has(.ibd-dmd))::before{background:var(--ibd-primary)}

/* The card kicker used to be a <span>, so `.ibd-card p` never touched it.
   As a real Paragraph block it now matches that rule and would jump from
   .95rem to 1.15rem. This restores its own type scale; nothing else changes. */
.ibd-card p.ibd-card__kicker{font-size:.95rem;line-height:inherit}

/* ==================================================================
   2026-09-17 · approved homepage adjustments (courses + newsletter)
   Scoped to >=901px so the existing tablet/mobile behaviour is
   byte-for-byte unchanged (the legacy rules live in max-width:900px).
   ================================================================== */

/* --- Courses & Guides: centre the CTA inside its own column -------
   .ibd-btn is display:inline-flex, i.e. an inline-level box, so it sat
   flush against the column's inline-start edge (the right, in RTL).
   text-align centres it without touching the grid or the button. */
@media(min-width:901px){
  .ibd-teaser__side{text-align:center}
}

/* --- Newsletter: form sits under the copy, fields in one row ------- */
@media(min-width:901px){
  .ibd-nl{grid-template-columns:1fr;gap:1.8rem}
  /* drop the card chrome so the form reads as part of the section */
  .ibd-nl__form{background:none;border:0;padding:0}
  .ibd-nl__form .mc4wp-form-fields{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
    gap:.9rem 1rem;
    align-items:end}
  .ibd-nl__form .mc4wp-form-fields > p{margin:0}
  /* submit joins row 1, third column; consent spans the full width below */
  .ibd-nl__form .mc4wp-form-fields > p:has(input[type=submit]){grid-column:3;grid-row:1}
  .ibd-nl__form .mc4wp-form-fields > p:has(.ibd-mcconsent){grid-column:1 / -1;grid-row:2}
  .ibd-nl__form input[type=submit]{width:auto}
}

/* ==================================================================
   2026-09-17 · homepage visual polish
   Width and visibility only. No font-size, colour, spacing or copy
   changes. Every line-length rule is above 1024px, so tablet and phone
   keep wrapping exactly as they do today.
   ================================================================== */

/* --- 1 · navigation: drop the chevron, keep the dropdown -----------
   The mobile overlay already hid this icon (see .is-menu-open rule
   above), so hiding it outright changes nothing on a phone. Core opens
   the panel from a handler on the <li>, not on this button, so pointer
   hover is unaffected; the focus-within rule below keeps the submenu
   reachable by keyboard now that the button is gone. */
.ibd-header .wp-block-navigation__submenu-icon{display:none}
@media(min-width:1025px){
  .ibd-header .wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-container,
  .ibd-header .wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container{
    opacity:1;visibility:visible}
}

/* 1024px is included: the user checks this width and the 1180/969 content
   column is wide enough for every target below. 768 and down are untouched. */
@media(min-width:1024px){

  /* 3 · dark quote panel   ·   5 · promise callout
     Both were capped at 32ch (~700px), which split each authored line
     in half and produced 4 and 3 lines. The longest authored line
     measures 817px, so 840px lands each one on a line of its own. */
  main #problem .ibd-panel > p.has-xxl-font-size,
  main .ibd-promise > p.has-xxl-font-size{max-width:min(840px,100%)!important}

  /* 4 · regression quote box
     The whole sentence measures ~510px and the box was already 514px:
     the authored <br> was the only thing splitting it. Suppressing the
     break on desktop only (the same technique .ibd-finalcta__h uses)
     lets it read as one line; the extra width is headroom. */
  #regression .ibd-quotebox > p{max-width:min(640px,100%)}
  #regression .ibd-quotebox > p br{display:none}

  /* 6.1 · Breakthrough headline — more room to choose a break on.
     text-wrap:balance (already on .ibd-deep__h) keeps it to two even
     lines rather than letting it run long. */
  #biz .ibd-deep__h{max-width:24ch}

  /* 6.2 · Breakthrough intro reads as a section-wide introduction
     again rather than a narrow right-hand column. Start alignment is
     preserved by the existing margin-inline-start:0 escape. */
  #biz .ibd-deep__lead{max-width:min(960px,100%)}

  /* 7 · newsletter description centred under its heading. The text was
     already text-align:center; the box itself was start-aligned. */
  .ibd-nl__lead{max-width:640px;margin-inline:auto;text-align:center}
}

/* ==================================================================
   2026-09-17 · final typography / alignment pass
   Each rule below is anchored to a traced root cause, noted inline.
   ================================================================== */

/* --- 1 · Breakthrough headline --------------------------------------
   ROOT CAUSE: there is no bug and no competing rule. The only thing
   constraining the H2 is the authored measure cap on .ibd-deep__h
   (line ~281, max-width:20ch). Two earlier passes raised it to 24ch,
   which is still under half of the 1180px column, and text-wrap:balance
   re-balanced the two lines each time so the change looked like nothing
   happened. Proved by setting max-width:none on the live element:
   the box went 582px -> 1180px and the headline collapsed to ONE line
   (height 113px -> 57px). No `width`, no inherited heading rule, no
   editor/front-end mismatch, no container problem. */
@media(min-width:1024px){
  #biz .ibd-deep__h{max-width:none}
}

/* --- 2 · Breakthrough subheadline colour ----------------------------
   ROOT CAUSE: .ibd-deep__sub already declares color:var(--ibd-accent-2)
   at line ~973, specificity (0,1,0). It loses to
   `.ibd-deep .ibd-lead,.ibd-deep p{color:#D9D0C2}` at line ~232, which
   is (0,2,1). Matching that specificity restores the intended copper. */
.ibd-deep p.ibd-deep__sub{color:var(--ibd-accent-2,#C6A575)}

/* --- 3 · pack cards: price block off by one text line ---------------
   ROOT CAUSE: the card containers were never misaligned (all three sit
   at the same top and share an identical height). The Insight card's
   description is one line shorter, so its .ibd-pack__meta started ~32px
   higher. The design already intended a bottom-anchored meta block
   (.ibd-pack__meta{margin-top:auto} at line ~118, plus
   .ibd-pack__verb{align-self:flex-start} at ~116) but .ibd-card was
   never given `display:flex`, so `margin-top:auto` was inert -- and a
   later rule (~line 222) overwrote it with margin-top:1.4rem anyway.
   Restoring the flex column and letting the description absorb the
   slack aligns all three meta blocks while keeping card height (435px)
   and the 41px gap above the divider exactly as they are. */
@media(min-width:1001px){
  #ladder .ibd-packs > .ibd-card{display:flex;flex-direction:column}
  #ladder .ibd-packs > .ibd-card > p{flex:1 0 auto}
}

/* --- 4 · Insight paragraph contrast ---------------------------------
   ROOT CAUSE: .ibd-insight__more (line ~977) uses var(--ibd-ink-2),
   a dark ink meant for light backgrounds, but this paragraph sits on
   the dark .ibd-panel (#242019) -- roughly 1.3:1. Its own siblings in
   the same panel already use #D8D0BF (.ibd-insight__lead, line ~307),
   which is the design system's light neutral for this surface and
   measures about 10.6:1 here. Colour only; background untouched. */
.ibd-panel .ibd-insight__more{color:#D8D0BF}

/* --- 6 · personal-processes heading and intro -----------------------
   ROOT CAUSE: two authored caps. The heading is held at
   `#ladder .ibd-startedge{max-width:24ch!important}` (line ~1020) =
   542px against a 662px natural single line; the intro at
   `.ibd-packs__lead{max-width:62ch}` (line ~955) = 537px against 655px.
   700px clears both at every desktop width and still reads as a measure
   rather than a full-bleed line. RTL start alignment is preserved by
   the existing margin-inline-start:0 escapes. */
@media(min-width:1024px){
  #ladder .ibd-startedge{max-width:min(700px,100%)!important}
  #ladder .ibd-packs__lead{max-width:min(700px,100%)}
}

/* 5 · the emphasised phrase in the promise callout.
   ROOT CAUSE: the phrase had no wrapping element left at all -- applying
   bold in Gutenberg set font-weight:700 inline on the whole <p> and
   dropped the previous <strong style="color:#6B532C">, so there was
   nothing for CSS to target. The wrapper is restored in the page
   content; this rule only stops <strong> from jumping to Assistant's
   900 weight (20px wider than the rest of the line, which is 700). */
.ibd-promise p strong{font-weight:700}

/* ==================================================================
   2026-09-18 · homepage copy + typography polish
   ================================================================== */

/* --- 1 · quote attribution --------------------------------------------
   The attribution under a dark quote panel is
   <p class="has-text-align-center ibd-dim has-sm-font-size">, i.e. the
   `sm` preset at 0.98rem = 15.68px. Bumped ~17% to 1.15rem so it reads
   at a comfortable size while staying far below the quote itself
   (43.2px). Colour (#B4AB98 from .ibd-panel .ibd-dim), position,
   spacing and wording are untouched. Scoped to the dim + sm pairing
   inside a panel, which is what this attribution treatment is. */
/* WordPress emits the preset class as `.has-sm-font-size{font-size:...!important}`,
   so the override needs !important to land at all. */
.ibd-panel p.ibd-dim.has-sm-font-size{font-size:1.3rem!important}

/* --- 2 · Insight section colour hierarchy -----------------------------
   On the dark panel (#242019):
     eyebrow .ibd-label      -> copper   (already correct, untouched)
     h2/h3                   -> white    (already correct, untouched)
     .ibd-insight__lead      -> white    (was #D8D0BF)
     .ibd-insight__more      -> #D8D0BF  (set in the previous pass, kept)
     bullet text             -> white    (was #D8D0BF)
     bullet diamonds .ibd-dmd-> copper   (already correct, untouched)
   No copper on body paragraphs; background unchanged. */
.ibd-panel .ibd-insight__lead{color:#fff}
.ibd-panel .ibd-ticks li{color:#fff}

/* The facts line sat at var(--ibd-ink) = #232019 on the #242019 panel,
   i.e. effectively invisible (about 1.0:1). Same defect class as
   .ibd-insight__more in the previous pass. Raised to white to match the
   other strong elements on this panel. Flagged to the client. */
.ibd-panel .ibd-insight__facts{color:#fff}

/* ==================================================================
   2026-09-19 · /method/ rewrite (page 12746)
   ------------------------------------------------------------------
   The page is rebuilt from raw-HTML sections into real blocks. Native
   headings cannot carry an arbitrary inline max-width (Gutenberg would
   mark the block invalid), so the per-heading measures that used to be
   written as style="max-width:24ch" live here as utility classes.
   Everything else below restores a rule that an existing component
   only had while its text was raw HTML.
   ================================================================== */
.ibd-mw20{max-width:20ch}
.ibd-mw22{max-width:22ch}
.ibd-mw24{max-width:24ch}
.ibd-mw26{max-width:26ch}
.ibd-mw28{max-width:28ch}
.ibd-mw46{max-width:46ch}
.ibd-mw60{max-width:60ch}
.ibd-mw62{max-width:62ch}

/* Hero lead is now several paragraphs instead of one. Each keeps its own
   2rem bottom margin, which reads as a gap between them; this closes it
   to 1rem without touching the type scale. */
.ibd-prodhero__lead + .ibd-prodhero__lead{margin-top:-1rem}
.ibd-prodhero__lead--sm{font-size:clamp(1.08rem,1rem + .4vw,1.2rem);line-height:1.7;max-width:52ch}

/* .ibd-cardgrid carried only a kicker + paragraph on the homepage, so it
   never needed heading rules. The /method/ "what may change" row uses a
   real h3 per card; these mirror .ibd-grid3's own values exactly. */
.ibd-cardgrid h3{font-size:1.3rem;line-height:1.35;margin:0 0 .5rem}
.ibd-cardgrid p{margin:0}

/* .ibd-stack p{margin:0} wins over the block-gap layout rule, so two
   paragraphs inside one step would touch. */
.ibd-stack p + p{margin-top:.7rem}

/* Self-study guide panel: the same dark panel as the Insight invitation,
   deliberately one step down in heading scale so it stays secondary. */
#guide h2{font-size:clamp(1.5rem,1.2rem + 1.1vw,2.05rem);line-height:1.3;margin:0 0 1rem}
#guide .ibd-teaser__copy p{margin:0 0 .9rem}
#guide .ibd-teaser__copy p:last-child{margin-bottom:0}

/* ==================================================================
   2026-09-19 · /about/ rewrite (page 43)
   ================================================================== */

/* ---------- Six professional worlds ----------------------------------
   One horizontal row of six cards on desktop; clicking one expands it
   and collapses the rest. Below 1025px the same markup becomes a
   swipeable, snapping strip. With JavaScript off, .is-js is never added
   and every card stays fully open and readable. */
.ibd-worlds{margin-top:2.4rem}
.ibd-worlds__list{display:flex;gap:.7rem;align-items:stretch;margin:0;padding:0;list-style:none}
.ibd-world{flex:1 1 0;min-width:0;display:flex;flex-direction:column;
  background:var(--ibd-surface);border:1px solid var(--ibd-line);border-radius:var(--ibd-r);
  transition:flex-grow .45s cubic-bezier(.4,0,.2,1),border-color .25s,box-shadow .25s}
.ibd-world__head{position:relative;padding:1.1rem 1rem 2.1rem;display:flex;flex-direction:column;gap:.5rem}
.ibd-world__num{margin:0!important;font-size:.88rem;font-weight:700;letter-spacing:.12em;
  color:var(--ibd-accent);line-height:1}
.ibd-world__t{margin:0;font-size:1.04rem;line-height:1.34;color:var(--ibd-ink);text-wrap:balance;font-weight:700}
.ibd-world__btn{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;border:0;
  background:none;color:inherit;font:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
.ibd-world__head::after{content:"";position:absolute;inset-inline-start:1rem;bottom:1rem;
  width:9px;height:9px;border-right:2px solid var(--ibd-accent);border-bottom:2px solid var(--ibd-accent);
  transform:rotate(45deg);transition:transform .3s;opacity:.9}
.ibd-world.is-open .ibd-world__head::after{transform:rotate(-135deg);margin-bottom:-3px}
.ibd-world__body{padding:0 1rem 1.3rem;display:grid;gap:.8rem}
.ibd-world__body p{margin:0;font-size:1.04rem;line-height:1.68;color:var(--ibd-ink-2);max-width:none}
.ibd-world__rel{font-size:.96rem;color:var(--ibd-muted)}
.ibd-world__more a{color:var(--ibd-primary);text-decoration:none;font-weight:600;
  border-bottom:1px solid transparent;transition:border-color .2s}
.ibd-world__more a:hover{border-bottom-color:currentColor}
.ibd-world:hover{border-color:var(--ibd-accent)}
.ibd-world:has(.ibd-world__btn:focus-visible){outline:2px solid var(--ibd-primary);outline-offset:3px}

@media(min-width:1025px){
  .ibd-worlds.is-js .ibd-world{flex-grow:1}
  .ibd-worlds.is-js .ibd-world.is-open{flex-grow:2.6;border-color:var(--ibd-accent);box-shadow:var(--ibd-shl)}
  .ibd-worlds.is-js .ibd-world__body{height:0;padding-bottom:0;opacity:0;visibility:hidden;
    overflow:hidden;transition:opacity .28s ease}
  .ibd-worlds.is-js .ibd-world.is-open .ibd-world__body{height:auto;padding-bottom:1.3rem;
    opacity:1;visibility:visible;overflow:visible}
}
@media(max-width:1024px){
  .ibd-worlds__list{overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;
    align-items:flex-start;padding-bottom:.7rem;-webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--ibd-line) transparent}
  .ibd-worlds__list::-webkit-scrollbar{height:6px}
  .ibd-worlds__list::-webkit-scrollbar-thumb{background:var(--ibd-line);border-radius:3px}
  .ibd-worlds__list::-webkit-scrollbar-track{background:transparent}
  .ibd-world{flex:0 0 min(78%,330px);scroll-snap-align:center}
  .ibd-world__head{padding:1.2rem 1.2rem 2.2rem}
  .ibd-worlds.is-js .ibd-world__body{display:none}
  .ibd-worlds.is-js .ibd-world.is-open .ibd-world__body{display:grid}
}
@media(max-width:560px){.ibd-world{flex:0 0 84%}}

/* ---------- How I work: three ruled columns, no boxes ---------------- */
.ibd-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1.6rem,3vw,2.8rem);margin-top:2.2rem}
.ibd-trio > *{min-width:0;border-top:2px solid var(--ibd-accent);padding-top:1.05rem}
.ibd-trio .ibd-trio__n{margin:0 0 .5rem;font-size:.88rem;font-weight:700;letter-spacing:.12em;
  color:var(--ibd-accent);line-height:1}
.ibd-trio h3{margin:0 0 .45rem;font-size:1.22rem;line-height:1.3;color:var(--ibd-ink)}
.ibd-trio p{margin:0;font-size:1.05rem;line-height:1.72;color:var(--ibd-ink-2)}
@media(max-width:820px){.ibd-trio{grid-template-columns:1fr;gap:1.5rem}}

/* ---------- Credentials: two flowing columns, hairline rows ---------- */
.ibd-creds{list-style:none;margin:2rem 0 0;padding:0;columns:2;column-gap:clamp(2rem,4vw,3.4rem)}
.ibd-creds li{break-inside:avoid;position:relative;padding-block:.72rem;padding-inline-start:26px;
  border-bottom:1px solid var(--ibd-line);font-size:1.05rem;line-height:1.6;color:var(--ibd-ink-2)}
.ibd-creds li .ibd-dmd{position:absolute;inset-inline-start:0;top:1.05rem;color:var(--ibd-accent)}
@media(max-width:820px){.ibd-creds{columns:1}}

/* ---------- Larger pull quote for the connecting statement ----------- */
.ibd-quotebox--lg{padding:clamp(1.7rem,3vw,2.3rem) clamp(1.6rem,3vw,2.4rem)}
.ibd-quotebox--lg p{font-size:clamp(1.28rem,1.05rem + .9vw,1.7rem);line-height:1.46;
  max-width:min(38ch,100%)}

/* ---------- /about/ rhythm ------------------------------------------
   Section padding is set per section on the page itself. This only
   opens the gap between a section heading and the content under it,
   which the 1.25rem global block gap leaves too tight. */
.ibd-aboutpg h2 + *{margin-top:2.2rem}
.ibd-aboutpg .ibd-quotebox{margin-top:2rem}

/* ==================================================================
   2026-09-19 · Insight / Focus / Anchor product family
   (pages 12748, 12749, 12750)
   ------------------------------------------------------------------
   One visual system across the three process pages. Everything here
   is either a variant of a component the site already has, or the
   page-level rhythm rule the three share.
   ================================================================== */
.ibd-procpg h2 + *{margin-top:2.2rem}
.ibd-procpg .ibd-quotebox{margin-top:2rem}

/* Product facts under the hero. The existing .ibd-facts expects a
   label + value pair; these pages show values only, as a real List
   block so each fact stays editable. */
.ibd-facts--plain li{font-size:1.08rem;line-height:1.5;color:var(--ibd-ink-2)}

/* Four ruled columns, the same treatment as the three-column version. */
.ibd-trio--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.ibd-trio--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 2rem}}
@media(max-width:560px){.ibd-trio--4{grid-template-columns:1fr}}

/* A long tick list reads better in two columns on wide screens. */
@media(min-width:760px){.ibd-ticks--cols{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2.6rem}}

/* The Insight lead form stands alone in its panel instead of sitting
   beside a copy column, so it needs its own measure. */
.ibd-formwrap{max-width:620px;margin-inline:auto}

/* ==================================================================
   2026-09-19 · Delta Business Breakthrough
   public page (12751) + hidden webinar page
   ------------------------------------------------------------------
   The homepage Breakthrough band already owns .ibd-deep, .ibd-bedo and
   .ibd-bizfoot, but their copy lived in <b> and <span> inside raw HTML.
   These rules give the same type to real headings, paragraphs and lists
   so the copy becomes editable without changing how anything looks.
   ================================================================== */
.ibd-bedo__item h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;letter-spacing:.06em;
  line-height:1.2;color:var(--ibd-accent-2)}
.ibd-bedo__item .ibd-bedo__sub{margin:0 0 1rem;font-size:1.06rem;line-height:1.55;
  font-weight:600;color:#fff}
.ibd-bedo__item p{margin:0 0 .9rem;font-size:1.05rem;line-height:1.7;color:#D9D0C2;max-width:none}
.ibd-bedo__item p:last-child{margin-bottom:0}
.ibd-bedo__item .ibd-bedo__goal{margin-top:1.1rem;padding-top:1rem;color:#fff;
  border-top:1px solid rgba(255,255,255,.13)}
.ibd-bedo__item .ibd-ticks{margin-top:1rem}

/* The ruled-column treatment at two-up, for owner vs business. */
.ibd-trio--2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:820px){.ibd-trio--2{grid-template-columns:1fr}}
.ibd-trio .ibd-ticks{margin-top:1.1rem}

/* Price + CTA row inside a dark panel. Used by the Diagnostic card,
   the investment block and the webinar offer. */
.ibd-offerrow{display:flex;flex-wrap:wrap;gap:1.2rem 2rem;align-items:center;
  justify-content:space-between;margin-top:2rem;padding-top:1.8rem;
  border-top:1px solid rgba(255,255,255,.14)}
.ibd-offerrow__col{min-width:0}
.ibd-offerrow .ibd-offerrow__price{margin:0;font-size:clamp(1.7rem,1.3rem + 1.4vw,2.2rem);
  font-weight:700;letter-spacing:-.03em;line-height:1.15;color:#fff}
.ibd-offerrow .ibd-offerrow__note{margin:.4rem 0 0;font-size:1rem;line-height:1.6;color:#BFB4A2}
@media(max-width:640px){
  .ibd-offerrow{flex-direction:column;align-items:stretch}
  .ibd-offerrow .ibd-btn{width:100%}
}

/* ==================================================================
   2026-09-19 · Hub pages
   /processes/ (12747) · /business-organizations/ (12830) · /courses/ (12753)
   ------------------------------------------------------------------
   One card system shared by the three hubs. A hub card carries four
   things and no more: a title, a short description, one metadata line
   and one call to action. Every part is a native block, so every
   string on the three pages stays editable in Gutenberg.

   These pages route, they do not sell. There are no verbs, no badges,
   no "who it suits" paragraphs and no second CTA.
   ================================================================== */
.ibd-hubpg h2 + *{margin-top:2.2rem}

/* The grid. A Group block with layout "default" renders as flow, so
   the flow margins WP puts on its children have to be cleared first. */
.ibd-hubgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.2rem;align-items:stretch;margin-top:2.2rem}
.ibd-hubgrid > *{min-width:0;margin-block:0}
@media(max-width:1000px){.ibd-hubgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ibd-hubgrid{grid-template-columns:1fr;max-width:560px;margin-inline:auto}}

/* The card. Equal height comes from the grid stretching the row; the
   description takes the slack so the metadata line and the CTA sit on
   the same baseline across every card in the row. */
.ibd-hub{display:flex;flex-direction:column;height:100%;
  background:var(--ibd-surface);border:1px solid var(--ibd-line);
  border-radius:var(--ibd-rs);padding:1.6rem 1.5rem;
  transition:transform .25s,box-shadow .25s,border-color .25s}
.ibd-hub:hover{transform:translateY(-3px);box-shadow:var(--ibd-sh);border-color:var(--ibd-primary)}
.ibd-hub > *{margin-block:0}
.ibd-hub h3{margin:0 0 .6rem;font-size:1.3rem;line-height:1.3;color:var(--ibd-ink)}
.ibd-hub .ibd-hub__desc{flex:1 0 auto;margin:0;font-size:1.05rem;line-height:1.7;color:var(--ibd-ink-2)}
.ibd-hub .ibd-hub__meta{margin-top:1.4rem;padding-top:1.1rem;
  border-top:1px solid var(--ibd-hair);font-size:.95rem;line-height:1.5;color:var(--ibd-muted)}
.ibd-hub .ibd-hub__go{margin-top:.9rem}
.ibd-hub .ibd-hub__go a{display:inline-flex;align-items:center;gap:.4rem;
  font-size:1rem;font-weight:600;color:var(--ibd-primary);text-decoration:none}
.ibd-hub .ibd-hub__go a::after{content:"\2039";font-size:1.15em;line-height:1;transition:transform .2s}
.ibd-hub .ibd-hub__go a:hover{color:var(--ibd-ink)}
.ibd-hub .ibd-hub__go a:hover::after{transform:translateX(-3px)}
@media(prefers-reduced-motion:reduce){.ibd-hub:hover{transform:none;box-shadow:var(--ibd-shl)}}

/* The row that ties the three hubs together, at the foot of each one.
   Secondary navigation, not a section: it closes the last section of a
   hub rather than standing on its own, and stays small and quiet. */
.ibd-hubnav{margin-top:2rem;padding-top:1.1rem;border-top:1px solid var(--ibd-line)}
.ibd-hubnav > *{margin-block:0}
.ibd-hubnav p{font-size:.95rem;line-height:1.65;color:var(--ibd-muted)}
.ibd-hubnav a{color:var(--ibd-primary);text-decoration:none;
  border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.ibd-hubnav a:hover{color:var(--ibd-ink);border-bottom-color:var(--ibd-accent)}

/* A secondary offering that belongs under a primary block without
   becoming a section, or a card, of its own. */
.ibd-hubaside{margin-top:2.2rem;padding-top:1.6rem;border-top:1px solid var(--ibd-line)}
.ibd-hubaside > *{margin-block:0}
.ibd-hubaside h3{margin:0 0 .5rem;font-size:1.18rem;line-height:1.35;color:var(--ibd-ink)}
.ibd-hubaside p{margin:0 0 .6rem;font-size:1.02rem;line-height:1.7;color:var(--ibd-ink-2);max-width:62ch}
.ibd-hubaside p:last-child{margin-bottom:0}
.ibd-hubaside a{color:var(--ibd-primary);text-decoration:none;font-weight:600;
  border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.ibd-hubaside a:hover{color:var(--ibd-ink);border-bottom-color:var(--ibd-accent)}

/* The entry-point CTA that sits below the service cards: one price,
   one button, no card treatment, so it never reads as a fifth service. */
.ibd-entry__meta{margin-top:1.7rem}
.ibd-entry__price{margin:0;font-size:clamp(1.5rem,1.2rem + 1vw,1.9rem);font-weight:700;
  letter-spacing:-.03em;line-height:1.15;color:var(--ibd-ink)}
.ibd-entry__note{margin:.4rem 0 0;font-size:1rem;line-height:1.6;color:var(--ibd-muted)}

/* Grids that hold two, four or one card look wrong split across three
   columns, so each count gets the shape that fills its row. */
@media(min-width:1001px){
  .ibd-hubgrid--2,.ibd-hubgrid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.ibd-hubgrid--1{grid-template-columns:minmax(0,1fr);max-width:560px;
  margin-inline-start:0;margin-inline-end:auto}
main .ibd-hubgrid--1{margin-inline-start:0!important;margin-inline-end:auto!important}
@media(max-width:640px){.ibd-hubgrid--1{margin-inline:auto}}

/* ==================================================================
   2026-09-20 · Organizational services family
   /executive-coaching/ (12832) · /organizational-consulting/ (12831)
   /ai-automation-organizations/ (12833)
   ------------------------------------------------------------------
   Professional service pages, not product pages. Everything here is
   built from what the site already has: the ivory surface, the
   hairline, the bronze rule and the gem bullet. Cards appear only
   where a visitor needs to scan categories quickly; everywhere else
   the structure is ruled columns and open lists, so the pages stay
   restrained rather than turning into a grid of white boxes.

   Every component below is a native Group with a className, so all
   the copy inside stays editable in Gutenberg.
   ================================================================== */
.ibd-orgpg h2 + *{margin-top:2.2rem}
.ibd-orgpg .ibd-quotebox{margin-top:2.2rem}

/* ---- Service cards ------------------------------------------------
   Equal height comes from the grid stretching the row; the
   description takes the slack so that where cards carry a list, the
   lists start on the same line across the row. */
.ibd-svcgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.2rem;align-items:stretch;margin-top:2.2rem}
.ibd-svcgrid > *{min-width:0;margin-block:0}
.ibd-svcgrid--4{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
@media(max-width:1180px){.ibd-svcgrid--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}}
@media(max-width:1000px){.ibd-svcgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:660px){.ibd-svcgrid,.ibd-svcgrid--4{grid-template-columns:1fr;max-width:560px;margin-inline:auto}}

.ibd-svc{display:flex;flex-direction:column;height:100%;
  background:var(--ibd-surface);border:1px solid var(--ibd-line);
  border-top:2px solid var(--ibd-accent);border-radius:var(--ibd-rs);
  padding:1.5rem 1.4rem}
.ibd-svc > *{margin-block:0}
.ibd-svc h3{margin:0 0 .6rem;font-size:1.24rem;line-height:1.3;color:var(--ibd-ink)}
.ibd-svc .ibd-svc__desc{flex:1 0 auto;margin:0;font-size:1.04rem;line-height:1.7;color:var(--ibd-ink-2)}
.ibd-svc .ibd-svc__list{margin:1.3rem 0 0;padding:1.1rem 0 0;list-style:none;
  border-top:1px solid var(--ibd-hair);display:grid;gap:.5rem}
.ibd-svc .ibd-svc__list li{position:relative;padding-inline-start:20px;
  font-size:.98rem;line-height:1.55;color:var(--ibd-ink-2)}
.ibd-svc .ibd-svc__list li::before{content:"";position:absolute;inset-inline-start:0;top:.5em;
  width:9px;height:8px;background:var(--ibd-accent);
  -webkit-mask:var(--ibd-gem-mask) center/contain no-repeat;
  mask:var(--ibd-gem-mask) center/contain no-repeat}

/* ---- Two ruled columns, for a side-by-side comparison ------------- */
.ibd-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1.8rem,4vw,3.2rem);margin-top:2.2rem}
.ibd-split > *{min-width:0;margin-block:0}
@media(max-width:820px){.ibd-split{grid-template-columns:1fr;gap:1.8rem}}
.ibd-split__col{border-top:2px solid var(--ibd-accent);padding-top:1.1rem}
.ibd-split__col > *{margin-block:0}
.ibd-split__col h3{margin:0 0 .3rem;font-size:1.22rem;line-height:1.3;color:var(--ibd-ink)}
.ibd-split__col .ibd-ticks{margin-top:1rem}

/* ---- Numbered stages. Reuses .ibd-trio, which already draws the
   bronze rule and the numeral; these only clear the flow margins
   WordPress puts on the children of a Group. -------------------- */
.ibd-trio > *{margin-block:0}
.ibd-trio__step > *{margin-block:0}

/* ---- An open list of topics: no cards, no pills, just the gem ----- */
.ibd-topics{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin:2.2rem 0 0;padding:0;list-style:none}
.ibd-topics li{position:relative;padding-inline-start:19px;
  font-size:1.06rem;line-height:1.6;color:var(--ibd-ink-2)}
.ibd-topics li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;
  width:9px;height:8px;background:var(--ibd-accent);
  -webkit-mask:var(--ibd-gem-mask) center/contain no-repeat;
  mask:var(--ibd-gem-mask) center/contain no-repeat}

/* ---- The hero's two buttons sit on one row and wrap on a phone ---- */
.ibd-orgpg .ibd-ctarow{display:flex;flex-wrap:wrap;gap:.8rem 1rem;margin-top:2rem}
.ibd-orgpg .ibd-ctarow > *{margin-block:0}
@media(max-width:600px){.ibd-orgpg .ibd-ctarow{flex-direction:column;align-items:stretch}}

/* ---- A short statement that closes a section --------------------- */
.ibd-orgpg .ibd-stmt{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--ibd-line)}
.ibd-orgpg .ibd-stmt > *{margin-block:0}
.ibd-orgpg .ibd-stmt p{font-size:clamp(1.12rem,1rem + .5vw,1.28rem);line-height:1.6;
  color:var(--ibd-ink);max-width:56ch}

/* A highlight can carry two short lines; .ibd-quotebox p zeroes the
   margin, so the pair needs its own separation. */
.ibd-quotebox p + p{margin-top:.45rem}

/* Six stages collapse badly straight from three columns to one, so on
   these pages the ruled columns pass through a two-column step first.
   Scoped to .ibd-orgpg so the three-item .ibd-trio elsewhere is
   untouched. */
@media(max-width:820px){
  .ibd-orgpg .ibd-trio{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 2rem}
}
@media(max-width:560px){
  .ibd-orgpg .ibd-trio{grid-template-columns:1fr;gap:1.5rem}
}

/* ==================================================================
   2026-09-20 · Compass product family
   /success-compass/ (12834) · /business-compass/ (12835)
   ------------------------------------------------------------------
   Each Compass is one body of material offered four ways. The
   workshop is the product; the lecture and the digital course are
   two secondary cards; the free email series is the low-friction
   entry at the foot. The hierarchy has to be visible, so the
   workshop gets a panel of its own and the other three do not.
   ================================================================== */
.ibd-cmppg h2 + *{margin-top:2.2rem}
.ibd-cmppg .ibd-quotebox{margin-top:2.2rem}

/* Seven or eight modules collapse badly from four columns straight to
   one, so these pages step through two first. */
@media(max-width:1000px){.ibd-cmppg .ibd-trio{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 2rem}}
@media(max-width:600px){.ibd-cmppg .ibd-trio{grid-template-columns:1fr;gap:1.5rem}}

/* ---- The workshop panel: the one block that dominates ------------- */
.ibd-workshop{margin-top:2.2rem;padding:clamp(1.6rem,3vw,2.4rem) clamp(1.5rem,3vw,2.2rem);
  background:var(--ibd-surface);border:1px solid var(--ibd-line);
  border-top:3px solid var(--ibd-accent);border-radius:var(--ibd-r)}
.ibd-workshop > *{margin-block:0}
.ibd-workshop p{font-size:1.08rem;line-height:1.75;color:var(--ibd-ink-2);max-width:66ch}
.ibd-workshop p + p{margin-top:.9rem}

/* The three product facts read as one line on a desktop and stack on
   a phone. A real list block, so each fact stays editable. */
.ibd-facts3{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin:0 0 1.4rem;padding:0 0 1.3rem;
  list-style:none;border-bottom:1px solid var(--ibd-hair)}
.ibd-facts3 li{position:relative;padding-inline-start:19px;
  font-size:1.06rem;line-height:1.5;font-weight:600;color:var(--ibd-ink)}
.ibd-facts3 li::before{content:"";position:absolute;inset-inline-start:0;top:.5em;
  width:9px;height:8px;background:var(--ibd-accent);
  -webkit-mask:var(--ibd-gem-mask) center/contain no-repeat;
  mask:var(--ibd-gem-mask) center/contain no-repeat}

/* ---- Price treatment, shared by the workshop CTA and the cards ---- */
.ibd-price{margin:0;font-size:clamp(1.7rem,1.3rem + 1.4vw,2.2rem);font-weight:700;
  letter-spacing:-.03em;line-height:1.15;color:var(--ibd-ink)}
.ibd-pricenote{margin:.4rem 0 0;font-size:1rem;line-height:1.6;color:var(--ibd-muted)}

/* ---- The two secondary cards ------------------------------------- */
.ibd-svc .ibd-svc__price{margin:1.3rem 0 0;padding-top:1.1rem;
  border-top:1px solid var(--ibd-hair);font-size:1.45rem;font-weight:700;
  letter-spacing:-.03em;line-height:1.2;color:var(--ibd-ink)}
.ibd-svc .ibd-svc__go{margin-top:.9rem}
.ibd-svc .ibd-svc__go a{display:inline-flex;align-items:center;gap:.4rem;
  font-size:1rem;font-weight:600;color:var(--ibd-primary);text-decoration:none}
.ibd-svc .ibd-svc__go a::after{content:"\2039";font-size:1.15em;line-height:1;transition:transform .2s}
.ibd-svc .ibd-svc__go a:hover{color:var(--ibd-ink)}
.ibd-svc .ibd-svc__go a:hover::after{transform:translateX(-3px)}

/* ---- The free email series: dark, separate, and smaller than the
   workshop panel so it reads as an entry point, not a rival ------- */
.ibd-mail{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(1.6rem,4vw,3rem);align-items:start}
@media(max-width:900px){.ibd-mail{grid-template-columns:1fr;gap:1.8rem}}
.ibd-mail > *{min-width:0;margin-block:0}
.ibd-mail__copy > *{margin-block:0}
.ibd-mail__copy .ibd-label{color:var(--ibd-accent-2)}
.ibd-mail__copy h2{margin:.6rem 0 .9rem;font-size:clamp(1.6rem,1.2rem + 1.6vw,2.2rem);
  line-height:1.25;letter-spacing:-.02em;color:#fff}
.ibd-mail__copy p{margin:0;font-size:1.08rem;line-height:1.72;color:#D8D0BF;max-width:52ch}
.ibd-mail__copy .ibd-mail__free{margin-top:1.2rem;font-size:1.3rem;font-weight:700;color:var(--ibd-accent-2)}

/* The MC4WP form inside the dark panel. The theme already styles
   .ibd-form for this surface; these rules only cover the markup
   MC4WP emits, which is plain <p><label><input>. */
.ibd-mail__form{background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.15);
  border-radius:10px;padding:clamp(1.3rem,3vw,1.8rem)}
.ibd-mail__form .mc4wp-form p{margin:0 0 1.05rem}
.ibd-mail__form .mc4wp-form p:last-child{margin-bottom:0}
.ibd-mail__form label{display:block;font-size:.98rem;font-weight:500;color:#D8D0BF;margin-bottom:.42rem}
.ibd-mail__form input[type=text],.ibd-mail__form input[type=email]{
  width:100%;box-sizing:border-box;font-family:inherit;font-size:1.06rem;line-height:1.4;
  padding:.85rem 1rem;min-height:50px;color:#fff;background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.22);border-radius:6px;transition:border-color .2s,background .2s}
.ibd-mail__form input::placeholder{color:#8A8172}
.ibd-mail__form input:focus{outline:none;border-color:var(--ibd-accent-2,#C6A575);background:rgba(0,0,0,.3)}
.ibd-mail__form label.ibd-mcconsent{display:flex;align-items:flex-start;gap:.7rem;
  margin:0 0 1.05rem;font-weight:400}
.ibd-mail__form label.ibd-mcconsent input{flex:none;width:20px;height:20px;margin:.1rem 0 0;
  accent-color:var(--ibd-accent-2,#C6A575);cursor:pointer}
.ibd-mail__form label.ibd-mcconsent span{font-size:.95rem;line-height:1.6;color:#C6BCA8}
.ibd-mail__form label.ibd-mcconsent a{color:var(--ibd-accent-2,#C6A575)}
.ibd-mail__form input[type=submit]{width:100%;cursor:pointer;
  font-family:inherit;font-size:1.06rem;font-weight:600;line-height:1.2;
  padding:1rem 1.4rem;min-height:52px;border:0;border-radius:var(--ibd-rs,8px);
  background:var(--ibd-accent-2,#C6A575);color:#231F18;transition:background .2s}
.ibd-mail__form input[type=submit]:hover{background:#D8BC91}
.ibd-mail__form .mc4wp-alert{margin:1rem 0 0;font-size:.98rem;line-height:1.6;color:#EFE4D2}

/* A pair of cards in a three-column grid leaves an empty third, so the
   "two ways to learn" section gets its own shape. */
@media(min-width:1001px){.ibd-svcgrid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ==================================================================
   2026-09-20 · Professional training family
   /nlp-practitioner/ (12836) · /nlp-master/ (12837)
   /delta-coach-training/ (12838) · /open-dialogue-facilitator-training/
   ------------------------------------------------------------------
   Four trainings, one visual family. These are professional
   programmes, not products, so the pages are built from ruled rails
   and hairlines rather than a grid of white cards. The only filled
   panel on each page is the price / duration block, because that is
   the one thing a visitor scrolls back to find.

   Modules reuse .ibd-trio: a bronze rule, a numeral, a heading and a
   line of copy. No icons, no badges, no boxes.

   Everything below is a native Group with a className, so every
   heading, paragraph, list item, price and CTA stays editable in
   Gutenberg.
   ================================================================== */
.ibd-trnpg h2 + *{margin-top:2.2rem}
.ibd-trnpg .ibd-quotebox{margin-top:2.2rem}

/* Six or seven modules collapse badly from three columns straight to
   one, so these pages step through two first. */
@media(max-width:1000px){
  .ibd-trnpg .ibd-trio{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 2rem}
}
@media(max-width:620px){
  .ibd-trnpg .ibd-trio{grid-template-columns:1fr;gap:1.5rem}
}

/* The hero's buttons sit on one row and stack on a phone. */
.ibd-trnpg .ibd-ctarow{display:flex;flex-wrap:wrap;gap:.8rem 1rem;margin-top:2rem}
.ibd-trnpg .ibd-ctarow > *{margin-block:0}
@media(max-width:600px){.ibd-trnpg .ibd-ctarow{flex-direction:column;align-items:stretch}}

/* A short statement that closes a section. */
.ibd-trnpg .ibd-stmt{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--ibd-line)}
.ibd-trnpg .ibd-stmt > *{margin-block:0}
.ibd-trnpg .ibd-stmt p{font-size:clamp(1.12rem,1rem + .5vw,1.28rem);line-height:1.6;
  color:var(--ibd-ink);max-width:56ch}

/* Duration / hours / price read as one line under the hero lead. */
.ibd-trnpg .ibd-prodhero .ibd-facts3{margin:1.9rem 0 0;padding:1.4rem 0 0;
  border-top:1px solid var(--ibd-line);border-bottom:0}

/* ---- The price / duration panel ----------------------------------
   The one filled block on the page. Same construction as the
   Compass workshop panel, named for what it is here. */
.ibd-trnbox{margin-top:2.2rem;padding:clamp(1.6rem,3vw,2.4rem) clamp(1.5rem,3vw,2.2rem);
  background:var(--ibd-surface);border:1px solid var(--ibd-line);
  border-top:3px solid var(--ibd-accent);border-radius:var(--ibd-r)}
.ibd-trnbox > *{margin-block:0}
.ibd-trnbox h2{margin:0 0 1.4rem;font-size:clamp(1.45rem,1.15rem + 1.2vw,1.9rem);
  line-height:1.25;letter-spacing:-.02em;color:var(--ibd-ink)}
.ibd-trnbox .ibd-facts3{margin:0 0 1.3rem}
.ibd-trnbox .ibd-price{margin:0}
.ibd-trnbox .ibd-trnbox__go{margin-top:1.6rem}
/* The panel sets its own internal rhythm, so the page-level
   heading rule must not also apply inside it. */
.ibd-trnbox h2 + *{margin-top:0}

/* ---- A quiet arrow link, for cross-training routes ---------------- */
.ibd-golink{margin-top:1.1rem}
.ibd-golink > *{margin-block:0}
.ibd-golink a{display:inline-flex;align-items:center;gap:.4rem;
  font-size:1rem;font-weight:600;color:var(--ibd-primary);text-decoration:none}
.ibd-golink a::after{content:"\2039";font-size:1.15em;line-height:1;transition:transform .2s}
.ibd-golink a:hover{color:var(--ibd-ink)}
.ibd-golink a:hover::after{transform:translateX(-3px)}

/* ---- The Practitioner / Master comparison ------------------------
   Two ruled columns, not two cards. .ibd-split already draws the
   bronze rule; these add the level's copy, its meta line and the
   route out of the column. */
.ibd-split__col .ibd-split__desc{margin:0;font-size:1.05rem;line-height:1.72;color:var(--ibd-ink-2)}
.ibd-split__col .ibd-split__meta{margin:1.2rem 0 0;padding-top:1rem;
  border-top:1px solid var(--ibd-hair);font-size:.98rem;line-height:1.6;color:var(--ibd-muted)}
.ibd-split__col .ibd-golink{margin-top:1rem}
/* The column a visitor is already on carries no route out, so its
   meta line is the last thing in the column and needs no extra space. */
.ibd-split__col > :last-child{margin-bottom:0}

/* ---- Professional boundaries -------------------------------------
   Deliberately the quietest block on the page: a hairline and muted
   copy. It states a limit; it is not a selling point. */
.ibd-boundary{margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid var(--ibd-line)}
.ibd-boundary > *{margin-block:0}
.ibd-boundary p{margin:0;font-size:1rem;line-height:1.72;color:var(--ibd-muted);max-width:66ch}
.ibd-boundary p + p{margin-top:.7rem}

/* ------------------------------------------------------------------
   INSIGHT HERO WATERMARK — /insight/ (12748) · 2026-09-22
   Same structure as the compass watermark in compass-family.css:
   empty left half of the hero, behind the copy, decorative only
   (pseudo-element, so no alt text and no hit area). Same box, inset
   and breakpoints as the compass. The bulb is centred (-50%) rather
   than -46% so its base clears the divider above the facts row.
   Asset: Media Library #13106 (transparent webp, tilt baked in).
   Rollback: delete this block.
   ------------------------------------------------------------------ */
.page-id-12748 .ibd-prodhero{
  position:relative;
  isolation:isolate;
  overflow:clip;
}
.page-id-12748 .ibd-prodhero::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:50%;
  left:max(2rem, calc(50% - 590px + 2.5rem));
  width:clamp(250px, 24vw, 360px);
  aspect-ratio:1;
  transform:translateY(-50%);
  background:url("/wp-content/uploads/2026/09/insight-bulb-watermark.webp") center/contain no-repeat;
  opacity:.14;
  pointer-events:none;
}
@media (min-width:1024px){
  .page-id-12748 .ibd-prodhero::after{
    width:clamp(375px, 36vw, 540px);
  }
}
@media (max-width:900px){
  .page-id-12748 .ibd-prodhero::after{display:none}
}
@media print{
  .page-id-12748 .ibd-prodhero::after{display:none}
}

/* ------------------------------------------------------------------
   ANCHOR HERO WATERMARK — /anchor/ (12750) · 2026-09-22
   Same pattern as the compass (compass-family.css) and Insight
   watermarks: empty left half of the hero, behind the copy,
   decorative only (pseudo-element: no alt, no hit area). Same box,
   inset and breakpoints; centred (-50%) like Insight so the flukes
   clear the divider above the facts row.
   Asset: Media Library #13107 (transparent webp, tilt baked in).
   Rollback: delete this block.
   ------------------------------------------------------------------ */
.page-id-12750 .ibd-prodhero{
  position:relative;
  isolation:isolate;
  overflow:clip;
}
.page-id-12750 .ibd-prodhero::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:50%;
  left:max(2rem, calc(50% - 590px + 2.5rem));
  width:clamp(250px, 24vw, 360px);
  aspect-ratio:1;
  transform:translateY(-50%);
  background:url("/wp-content/uploads/2026/09/anchor-watermark.webp") center/contain no-repeat;
  opacity:.12;
  pointer-events:none;
}
@media (min-width:1024px){
  .page-id-12750 .ibd-prodhero::after{
    width:clamp(375px, 36vw, 540px);
  }
}
@media (max-width:900px){
  .page-id-12750 .ibd-prodhero::after{display:none}
}
@media print{
  .page-id-12750 .ibd-prodhero::after{display:none}
}

/* ------------------------------------------------------------------
   FOCUS HERO WATERMARK — /focus/ (12749) · 2026-09-22
   Same pattern as the compass (compass-family.css), Insight and
   Anchor watermarks: empty left half of the hero, behind the copy,
   decorative only (pseudo-element: no alt, no hit area). Same box,
   inset and breakpoints; centred (-50%) like Insight/Anchor.
   Asset: Media Library #13108 (transparent webp, 15deg tilt baked in).
   Rollback: delete this block.
   ------------------------------------------------------------------ */
.page-id-12749 .ibd-prodhero{
  position:relative;
  isolation:isolate;
  overflow:clip;
}
.page-id-12749 .ibd-prodhero::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:50%;
  left:max(2rem, calc(50% - 590px + 2.5rem));
  width:clamp(250px, 24vw, 360px);
  aspect-ratio:1;
  transform:translateY(-50%);
  background:url("/wp-content/uploads/2026/09/focus-watermark.webp") center/contain no-repeat;
  opacity:.10;
  pointer-events:none;
}
@media (min-width:1024px){
  .page-id-12749 .ibd-prodhero::after{
    width:clamp(375px, 36vw, 540px);
  }
}
@media (max-width:900px){
  .page-id-12749 .ibd-prodhero::after{display:none}
}
@media print{
  .page-id-12749 .ibd-prodhero::after{display:none}
}

/* ------------------------------------------------------------------
   ORGANIZATIONAL CONSULTING HERO WATERMARK — /organizational-consulting/
   (12831) · 2026-09-22
   Same pattern as the compass (compass-family.css) and the Insight,
   Anchor and Focus watermarks: empty left half of the hero, behind
   the copy, decorative only (pseudo-element: no alt, no hit area).
   Same box, inset and breakpoints; centred (-50%).
   Asset: Media Library #13109 (transparent webp, 8-sector wheel).
   Rollback: delete this block.
   ------------------------------------------------------------------ */
.page-id-12831 .ibd-prodhero{
  position:relative;
  isolation:isolate;
  overflow:clip;
}
.page-id-12831 .ibd-prodhero::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:50%;
  left:max(2rem, calc(50% - 590px + 2.5rem));
  width:clamp(250px, 24vw, 360px);
  aspect-ratio:1;
  transform:translateY(-50%);
  background:url("/wp-content/uploads/2026/09/org-consulting-watermark.webp") center/contain no-repeat;
  opacity:.10;
  pointer-events:none;
}
@media (min-width:1024px){
  .page-id-12831 .ibd-prodhero::after{
    width:clamp(375px, 36vw, 540px);
  }
}
@media (max-width:900px){
  .page-id-12831 .ibd-prodhero::after{display:none}
}
@media print{
  .page-id-12831 .ibd-prodhero::after{display:none}
}

/* ------------------------------------------------------------------
   EXECUTIVE COACHING HERO WATERMARK — /executive-coaching/ (12832)
   2026-09-22
   Same pattern as the compass (compass-family.css) and the other
   hero watermarks: empty left half of the hero, behind the copy,
   decorative only (pseudo-element: no alt, no hit area). Same box,
   inset and breakpoints; centred (-50%).
   Asset: Media Library #13110 (transparent webp, target + arrow,
   original orientation).
   Rollback: delete this block.
   ------------------------------------------------------------------ */
.page-id-12832 .ibd-prodhero{
  position:relative;
  isolation:isolate;
  overflow:clip;
}
.page-id-12832 .ibd-prodhero::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:50%;
  left:max(2rem, calc(50% - 590px + 2.5rem));
  width:clamp(250px, 24vw, 360px);
  aspect-ratio:1;
  transform:translateY(-50%);
  background:url("/wp-content/uploads/2026/09/exec-coaching-watermark.webp") center/contain no-repeat;
  opacity:.10;
  pointer-events:none;
}
@media (min-width:1024px){
  .page-id-12832 .ibd-prodhero::after{
    width:clamp(375px, 36vw, 540px);
  }
}
@media (max-width:900px){
  .page-id-12832 .ibd-prodhero::after{display:none}
}
@media print{
  .page-id-12832 .ibd-prodhero::after{display:none}
}

/* ------------------------------------------------------------------
   AI & AUTOMATION HERO WATERMARK — /ai-automation-organizations/
   (12833) · 2026-09-22
   Same pattern as the compass (compass-family.css) and the other
   hero watermarks: empty left half of the hero, behind the copy,
   decorative only (pseudo-element: no alt, no hit area). Same box,
   inset and breakpoints; centred (-50%).
   Asset: Media Library #13111 (transparent webp, robot holding a
   bulb, original orientation).
   Rollback: delete this block.
   ------------------------------------------------------------------ */
.page-id-12833 .ibd-prodhero{
  position:relative;
  isolation:isolate;
  overflow:clip;
}
.page-id-12833 .ibd-prodhero::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:50%;
  left:max(2rem, calc(50% - 590px + 2.5rem));
  width:clamp(250px, 24vw, 360px);
  aspect-ratio:1;
  transform:translateY(-50%);
  background:url("/wp-content/uploads/2026/09/ai-automation-watermark.webp") center/contain no-repeat;
  opacity:.10;
  pointer-events:none;
}
@media (min-width:1024px){
  .page-id-12833 .ibd-prodhero::after{
    width:clamp(375px, 36vw, 540px);
  }
}
@media (max-width:900px){
  .page-id-12833 .ibd-prodhero::after{display:none}
}
@media print{
  .page-id-12833 .ibd-prodhero::after{display:none}
}

/* ------------------------------------------------------------------
   LEARN HUB · EXPANDING CARD STRIPS — /courses/ (12753) · 2026-09-22
   Sections with more than three items reuse the About page's
   "six worlds" component (.ibd-worlds, same markup and JS). These
   rules only add what the hub needs and are scoped to .ibd-hubpg, so
   the About page is untouched:
     - a short format/price line under each card title (collapsed state)
     - a separate button to the product page inside the open card
     - a readable minimum width per card; if the row cannot fit, the
       strip scrolls inside itself (never the page) and says so
   Rollback: delete this block (the cards stay readable without it).
   ------------------------------------------------------------------ */
.ibd-hubpg[id]{scroll-margin-top:calc(var(--ibd-header-h, 76px) + 1rem)}
.ibd-hubpg .ibd-worlds{margin-top:2.2rem}
.ibd-hubpg .ibd-world__head{gap:.45rem}
.ibd-hubpg .ibd-world__tag{margin:0!important;font-size:.92rem;line-height:1.45;color:var(--ibd-muted)}
.ibd-hubpg .ibd-world__body p{font-size:1rem}
.ibd-hubpg .ibd-world__rel{font-size:.95rem}
.ibd-hubpg .ibd-world__cta{margin-top:.3rem!important}
.ibd-hubpg .ibd-world__cta .ibd-btn{font-size:.95rem;padding:.62rem 1.05rem}
.ibd-worlds__hint{display:none}
@media(min-width:1025px){
  .ibd-hubpg .ibd-worlds__list{overflow-x:auto;overscroll-behavior-x:contain;
    scrollbar-width:thin;scrollbar-color:var(--ibd-line) transparent;padding-bottom:.35rem}
  .ibd-hubpg .ibd-worlds.is-js .ibd-world{min-width:150px}
  .ibd-hubpg .ibd-worlds.is-js .ibd-world.is-open{min-width:300px}
}
@media(max-width:1024px){
  .ibd-hubpg .ibd-worlds__hint{display:flex;align-items:center;gap:.45rem;margin:.55rem 0 0!important;
    font-size:.92rem;color:var(--ibd-muted)}
  .ibd-hubpg .ibd-worlds__hint::after{content:"\2190";color:var(--ibd-accent);font-weight:700}
}
@media (prefers-reduced-motion:reduce){
  .ibd-hubpg .ibd-world{transition:none}
}

/* ------------------------------------------------------------------
   HAGSHAMA GUIDE PAGE — /hagshama/ (1482) · 2026-09-22
   1) Hero watermark: same pattern as the compass (compass-family.css)
      and the other hero watermarks — empty left half of the hero,
      behind the copy, decorative only (pseudo-element: no alt, no hit
      area). Asset: Media Library #13131 (transparent webp, original
      orientation). Hidden below 900px like the compass.
   2) Small page components (subtitle, BETA badge, bonus box, the two
      purchase tracks side by side). All scoped to this page.
   Rollback: delete this block.
   ------------------------------------------------------------------ */
.page-id-1482 .ibd-prodhero{position:relative;isolation:isolate;overflow:clip}
.page-id-1482 .ibd-prodhero::after{
  content:"";position:absolute;z-index:-1;top:50%;
  left:max(2rem, calc(50% - 590px + 2.5rem));
  width:clamp(250px, 24vw, 360px);aspect-ratio:1;transform:translateY(-50%);
  background:url("/wp-content/uploads/2026/09/hagshama-plane-watermark.webp") center/contain no-repeat;
  opacity:.10;pointer-events:none;
}
@media (min-width:1024px){.page-id-1482 .ibd-prodhero::after{width:clamp(375px, 36vw, 540px)}}
@media (max-width:900px){.page-id-1482 .ibd-prodhero::after{display:none}}
@media print{.page-id-1482 .ibd-prodhero::after{display:none}}

.page-id-1482 .ibd-hg__sub{display:block;margin-top:.55rem;font-size:.5em;line-height:1.35;font-weight:600;color:var(--ibd-ink-2)}
.page-id-1482 .ibd-hg__beta{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin:.9rem 0 0;color:var(--ibd-ink-2);font-size:1.02rem}
.page-id-1482 .ibd-hg__badge{display:inline-block;padding:.22rem .75rem;border:1px solid var(--ibd-accent);border-radius:999px;
  background:var(--ibd-surface);color:var(--ibd-primary);font-weight:700;font-size:.92rem;line-height:1.5}
.page-id-1482 .ibd-hgpg .ibd-split{align-items:center}
.page-id-1482 .ibd-hgpg .ibd-split__copy h2{margin:.2rem 0 1.2rem}
.page-id-1482 .ibd-hg__bonus{margin-top:2.2rem;padding:1.4rem 1.5rem;border:1px solid var(--ibd-line);
  border-radius:var(--ibd-rs);background:var(--ibd-surface)}
.page-id-1482 .ibd-hg__bonus h3{margin:0 0 .7rem}
.page-id-1482 .ibd-hg__bonus ul{margin:0}
.page-id-1482 .ibd-hgpg .ibd-quotes{margin-top:2rem}
.page-id-1482 .ibd-hg__about p{line-height:1.75;max-width:62ch}
.page-id-1482 .ibd-hg__about h3{margin:1.4rem 0 .4rem}
.page-id-1482 .ibd-hg__portrait{margin:0 auto;max-width:380px;border-radius:var(--ibd-r);overflow:hidden;border:1px solid var(--ibd-line)}
.page-id-1482 .ibd-hg__portrait img{display:block;width:100%;height:auto}
.page-id-1482 .ibd-hg__plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-top:2rem}
.page-id-1482 .ibd-hg__plan{display:flex;flex-direction:column;gap:.55rem;padding:1.6rem 1.5rem;min-width:0}
.page-id-1482 .ibd-hg__plan h3{margin:0;font-size:1.25rem;line-height:1.35}
.page-id-1482 .ibd-hg__price{margin:.2rem 0 0;font-size:2.2rem;font-weight:800;line-height:1.1;color:var(--ibd-ink)}
.page-id-1482 .ibd-hg__note{margin:0;font-size:1rem;line-height:1.6;color:var(--ibd-ink-2)}
.page-id-1482 .ibd-hg__vat{margin:0;font-size:.9rem;color:var(--ibd-muted)}
.page-id-1482 .ibd-hg__plan ul{margin:.5rem 0 .9rem}
.page-id-1482 .ibd-hg__plan .ibd-btn{margin-top:auto;text-align:center;white-space:normal}
.page-id-1482 .ibd-hg__access{margin-top:2.2rem;max-width:64ch}
.page-id-1482 .ibd-hg__access h3{margin:0 0 .5rem}
.page-id-1482 .ibd-hg__access p{margin:0 0 .75rem;line-height:1.75}
@media (max-width:760px){
  .page-id-1482 .ibd-hg__plans{grid-template-columns:1fr}
  .page-id-1482 .ibd-hg__bonus{padding:1.2rem 1.1rem}
}

/* ------------------------------------------------------------------
   DELTA DIAGNOSTIC — /diagnostic/ (12752) · 2026-09-22 · page-scoped
   1) One contact section: the offer copy + price (right, first in RTL)
      and the existing form (left) share the dark panel #diagnostic-form.
      Stacks copy-above-form below 900px.
   2) FAQ ("לפני שמתאמים"): the global rule makes <summary> a flex row
      with justify-content:space-between. When a question contains an
      inline <span class="ibd-en"> (Delta Diagnostic, Insight,
      Breakthrough), the text is split into several flex items and
      space-between pushes them apart across the row. Here the summary
      is a normal text block and the arrow is positioned on its own.
   Rollback: delete this block.
   ------------------------------------------------------------------ */
.page-id-12752 .ibd-dgcontact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);
  gap:clamp(1.8rem,4vw,3.4rem);align-items:start}
.page-id-12752 .ibd-dgcontact__copy{min-width:0}
.page-id-12752 .ibd-dgcontact__copy h2{margin-top:.2rem}
.page-id-12752 .ibd-dgcontact .ibd-offerrow{display:block;margin-top:1.6rem}
.page-id-12752 .ibd-dgcontact .ibd-formwrap{max-width:none;margin:0;min-width:0}
@media (max-width:900px){
  .page-id-12752 .ibd-dgcontact{grid-template-columns:1fr;gap:1.8rem}
}
.page-id-12752 .ibd-faq summary{display:block;position:relative;text-align:start;
  padding-inline-end:3.2rem;text-wrap:pretty}
.page-id-12752 .ibd-faq summary::after{position:absolute;inset-inline-end:1.4rem;top:50%;margin-top:-7px}
.page-id-12752 .ibd-faq details[open] summary::after{margin-top:-3px}
.page-id-12752 .ibd-faq details > :not(summary){text-align:start}

/* ------------------------------------------------------------------
   INSIGHT BOOKING SECTION — anchor offset · 2026-09-23
   /insight/#insight-form (and the same section on the home page) must
   land below the sticky header, so the panel's heading is not hidden.
   The section itself is one shared synced pattern used by both pages.
   Rollback: delete this block.
   ------------------------------------------------------------------ */
#insight-form{scroll-margin-top:calc(var(--ibd-header-h, 84px) + 1.2rem)}


/* ==================================================================
   ACCESSIBILITY (a11y) 2026-09-23
   1) Contrast fixes found in the WCAG AA audit.
   2) Visible focus ring on form fields (was outline:none).
   3) Contact-form fields fit a 320px viewport.
   4) The accessibility button, its panel and the display preferences.
   Rollback: delete this block.
   ================================================================== */

/* --- 1. contrast fixes ------------------------------------------- */
.ibd-form__fine{color:#a9a191}          /* was 4.28:1 -> 5.20:1 */
.ibd-form__fine a{color:#d9b880}        /* was 1.84:1 -> 7.06:1 */
.ibd-form .ibd-form__fine a:hover,.ibd-form .ibd-form__fine a:focus-visible{color:#f0d7a8}
.ibd-footer .ibd-footbottom p{color:#9a9282}   /* was 4.49:1 -> 5.39:1 */

/* --- 2. visible focus ------------------------------------------- */
.ibd-form input:focus-visible,.ibd-form textarea:focus-visible,.ibd-form select:focus-visible,
.ibd-mail__form input:focus-visible,.ibd-mail__form textarea:focus-visible,
.wpcf7 input:focus-visible,.wpcf7 textarea:focus-visible,.wpcf7 select:focus-visible{
  outline:3px solid #d9b880;outline-offset:2px;border-color:#d9b880}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible,
.ibd-btn:focus-visible,.ibd-world__head:focus-visible{
  outline:3px solid #8a6c3a;outline-offset:3px;border-radius:4px}
.ibd-panel a:focus-visible,.ibd-insight a:focus-visible,.ibd-formwrap a:focus-visible,
.ibd-panel button:focus-visible,.ibd-formwrap button:focus-visible{outline-color:#e8c78d}

/* --- 3. narrow screens: form fields must not overflow ----------- */
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],
.wpcf7 input[type=url],.wpcf7 input[type=number],.wpcf7 textarea,.wpcf7 select{
  max-width:100%;width:100%;box-sizing:border-box}
.wpcf7 .wpcf7-form-control-wrap{display:block;max-width:100%}

/* --- 4. accessibility widget ------------------------------------ */
.ibd-a11y{position:fixed;inset-block-end:1rem;inset-inline-end:1rem;z-index:9990;
  font-family:inherit;direction:rtl}
.ibd-a11y [hidden]{display:none!important}
.ibd-a11y__btn{display:inline-flex;align-items:center;gap:.45rem;min-height:46px;
  background:#241f18;color:#f0e6d2;border:1px solid #8a6c3a;border-radius:999px;
  padding:.68rem 1rem;font-size:.95rem;line-height:1;cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.28)}
.ibd-a11y__btn:hover{background:#31291f;border-color:#d9b880}
.ibd-a11y__btn svg{width:22px;height:22px;flex:0 0 auto;fill:currentColor}
.ibd-a11y__panel{position:absolute;inset-block-end:calc(100% + .6rem);inset-inline-end:0;
  width:min(19rem,calc(100vw - 2rem));background:#fffdf8;color:#221f19;
  border:1px solid #cdbfa3;border-radius:14px;padding:1rem 1rem 1.1rem;
  box-shadow:0 18px 44px rgba(0,0,0,.24)}
.ibd-a11y__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin:0 0 .75rem}
.ibd-a11y__head h2{margin:0;font-size:1.02rem;font-weight:700;color:#221f19;line-height:1.3}
.ibd-a11y__close{flex:0 0 auto;background:none;border:0;font-size:1.5rem;line-height:1;
  cursor:pointer;color:#5c5346;padding:.05rem .35rem;border-radius:6px}
.ibd-a11y__close:hover{background:#f0e9db;color:#221f19}
.ibd-a11y__row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  margin-bottom:.55rem}
.ibd-a11y__rowlabel{font-size:.92rem}
.ibd-a11y__group{display:flex;gap:.35rem;align-items:center}
.ibd-a11y__panel [data-a11y-out]{min-width:3.2rem;text-align:center;font-size:.88rem;color:#5c5346}
.ibd-a11y__sq{min-width:2.6rem;text-align:center}
.ibd-a11y__panel button[data-a11y][disabled]{opacity:.45;cursor:default}
.ibd-a11y__panel button[data-a11y]{background:#f4eee2;color:#221f19;border:1px solid #cdbfa3;
  border-radius:8px;padding:.42rem .7rem;font-size:.9rem;cursor:pointer;line-height:1.2}
.ibd-a11y__panel button[data-a11y]:hover{background:#e9dfc9;border-color:#8a6c3a}
.ibd-a11y__panel button[aria-pressed=true]{background:#241f18;color:#f6ecd8;border-color:#241f18}
.ibd-a11y__panel button[aria-pressed=true]::after{content:" \2713"}
.ibd-a11y__opt{display:block;width:100%;text-align:start;margin-block-start:.42rem}
.ibd-a11y__reset{margin-block-start:.7rem}
.ibd-a11y__note a{color:#6b5320;text-decoration:underline}
.ibd-a11y__note a:hover{color:#8a6c3a}
.ibd-a11y__fine{font-size:.78rem}
.ibd-a11y__note{margin:.55rem 0 0;font-size:.78rem;color:#5c5346;line-height:1.5}
@media (max-width:600px){
  .ibd-a11y{inset-block-end:.75rem;inset-inline-end:.75rem}
  .ibd-a11y__btn{min-height:46px;padding:.62rem .9rem;font-size:.92rem}
  .ibd-a11y__panel{position:fixed;inset-inline:.75rem;inset-block-end:4.9rem;width:auto;
    max-height:min(72vh,30rem);overflow-y:auto}
}
.ibd-a11y__panel{max-height:min(80vh,34rem);overflow-y:auto}
@media print{.ibd-a11y{display:none}}

/* preferences set by the widget (saved in the visitor's browser) */
html.ibd-a11y-links a:not(.ibd-btn):not(.ibd-a11y__btn){
  text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;
  outline:1px dashed currentColor;outline-offset:2px}
html.ibd-a11y-motion *,html.ibd-a11y-motion *::before,html.ibd-a11y-motion *::after{
  animation-duration:.001ms!important;animation-iteration-count:1!important;
  transition-duration:.001ms!important;scroll-behavior:auto!important}
html.ibd-a11y-motion .ibd-reveal{opacity:1!important;transform:none!important}
html.ibd-a11y-contrast body{background:#fff;color:#14110c}
html.ibd-a11y-contrast a:not(.ibd-btn){text-decoration:underline}
html.ibd-a11y-contrast .ibd-form__fine,html.ibd-a11y-contrast .ibd-crumbs,
html.ibd-a11y-contrast .is-muted,html.ibd-a11y-contrast .ibd-form__fine a{color:#f3ead9}
html.ibd-a11y-contrast .ibd-trio__n,html.ibd-a11y-contrast .ibd-world__num{color:#6d5221}
html.ibd-a11y-contrast .ibd-btn--outline{border-width:2px}
html.ibd-a11y-contrast .ibd-prodhero::after,html.ibd-a11y-contrast .ibd-cmp-hero::after{opacity:.05}


/* --- 5. bronze step numerals: AA contrast (approved 2026-09-23) -----
   var(--ibd-accent) #A9884E on the light sections is 3.05-3.32:1 at 14px
   bold, below the 4.5:1 AA threshold for normal text. Darkened to #8A6C3A
   (4.69:1) for these two numeral classes only; the accent colour itself is
   untouched everywhere else. Rollback: delete these two rules. */
.ibd-trio .ibd-trio__n{color:#856835}
.ibd-world__num{color:#856835}


/* --- 6. remaining AA contrast fixes found in the full 48-page sweep ---
   a) breadcrumbs sitting on the dark hero (.ibd-deep): 2.76:1 -> 6.61:1
   b) legal links in the footer bottom row: 4.49:1 -> 5.39:1
   c) price-box small print on the beige card: 4.35:1 -> 4.85:1
   d) inline #99cc00 green carried over from the old editor on the legacy
      pages: 1.75:1 -> 6.00:1. The inline style needs !important to beat it.
   Rollback: delete this block. */
.ibd-deep .ibd-crumbs,.ibd-deep .ibd-crumbs a,.ibd-deep .ibd-crumbs span{color:#b7ae9d}
.ibd-footer .ibd-footbottom a{color:#9a9282}
.ibd-footer .ibd-footbottom a:hover,.ibd-footer .ibd-footbottom a:focus-visible{color:#d9c9a8}
.ibd-pricebox__note,.ibd-pricebox__fine{color:#6b6456}
.entry-content [style*="99cc00"],.entry-content [style*="99CC00"]{color:#4d6600!important}


/* --- 7. the floating accessibility button must not cover the footer ----
   At 320px the fixed button overlapped the last legal link in the footer
   bottom row. Extra bottom padding keeps that row clear of it.
   Rollback: delete this rule. */
@media (max-width:700px){
  .ibd-footer .ibd-footbottom{padding-block-end:4.4rem}
}


/* ==================================================================
   DIAGNOSTIC PAGES (/leadershipdiagnosys/, /personalmoneydiagnosys/)
   A framed, responsive shell around the existing Google Form embed.
   The form URL, its id and its destination are untouched.
   Rollback: delete this block.
   ================================================================== */
.ibd-gform{max-width:720px;margin-inline:auto;background:#fff;border:1px solid #ddd4c4;
  border-radius:16px;padding:clamp(.5rem,1.6vw,1.1rem);box-shadow:0 14px 34px rgba(35,31,25,.08)}
.ibd-gform iframe{display:block;width:100%;border:0;border-radius:10px;
  height:clamp(600px,72vh,720px)}                 /* mobile: 600-720 */
@media (min-width:601px){
  .ibd-gform iframe{height:clamp(700px,76vh,800px)}   /* tablet: 700-800 */
}
@media (min-width:1024px){
  .ibd-gform iframe{height:clamp(750px,80vh,850px)}   /* desktop: 750-850 */
}
.ibd-gform__note{max-width:720px;margin:.9rem auto 0;text-align:center;font-size:.86rem;
  color:#5c5346;line-height:1.6}
#form{scroll-margin-top:calc(var(--ibd-header-h, 84px) + 1.2rem)}
@media (max-width:600px){
  .ibd-gform{padding:.35rem;border-radius:12px}
}
@media print{.ibd-gform{box-shadow:none}}
