:root {
  --w-ink: #201d1b;
  --w-red: #b71831;
  --w-red-dark: #8f1125;
  --w-paper: #f6f1e8;
  --w-white: #fffdf9;
  --w-muted: #756e67;
  --w-rule: rgba(32,29,27,.16);
  --w-display: "Playfair Display", Georgia, serif;
  --w-body: "DM Sans", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--w-paper); }
body { margin: 0; background: var(--w-paper); color: var(--w-ink); font-family: var(--w-body); font-size: 16px; line-height: 1.65; }
body::selection { background: rgba(183,24,49,.2); }
button, input, select { font: inherit; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
.webinar-page { overflow: hidden; }
.webinar-header { align-items:center; background:rgba(255,253,249,.96); border-bottom:1px solid var(--w-rule); display:flex; height:78px; justify-content:space-between; padding:0 clamp(22px,6.3vw,96px); position:relative; z-index:4; }
.webinar-logo { display:block; width:176px; }
.webinar-logo img { display:block; width:100%; }
.header-cta { align-items:center; border-bottom:1px solid var(--w-red); color:var(--w-red); display:flex; font-size:.76rem; font-weight:700; gap:13px; letter-spacing:.08em; padding:8px 0; text-transform:uppercase; }
.header-cta:hover { color:var(--w-red-dark); border-color:var(--w-red-dark); }
.webinar-hero { align-items:center; background:#1b1918; color:#fff; display:flex; min-height:min(800px,calc(100svh - 78px)); overflow:hidden; padding:clamp(70px,9vw,130px) clamp(24px,9vw,138px); position:relative; }
.hero-image { background-image:url("/images/editorial/john-annie-cover-portrait-2.webp"); background-position:center 38%; background-size:cover; inset:0; position:absolute; transform:scale(1.02); }
.hero-wash { background:linear-gradient(90deg,rgba(22,20,20,.93) 0%,rgba(22,20,20,.82) 40%,rgba(22,20,20,.3) 75%,rgba(22,20,20,.12) 100%),linear-gradient(0deg,rgba(22,20,20,.53),transparent 42%); inset:0; position:absolute; }
.hero-copy { max-width:875px; position:relative; z-index:1; }
.eyebrow { color:var(--w-red); font-size:.7rem; font-weight:700; letter-spacing:.17em; line-height:1.35; margin:0 0 22px; text-transform:uppercase; }
.webinar-hero .eyebrow { color:#f3a6b2; }
.webinar-hero h1,.webinar-page h2 { font-family:var(--w-display); font-weight:500; letter-spacing:-.045em; line-height:1.03; margin:0; }
.webinar-hero h1 { font-size:clamp(3.35rem,7.2vw,7.2rem); max-width:960px; text-wrap:balance; }
.webinar-hero h1 em,.webinar-page h2 em { color:#e85168; font-weight:500; }
.hero-intro { color:rgba(255,255,255,.82); font-family:var(--w-display); font-size:clamp(1.14rem,1.7vw,1.42rem); line-height:1.55; margin:28px 0 0; max-width:665px; }
.hero-actions { align-items:center; display:flex; flex-wrap:wrap; gap:22px; margin-top:32px; }
.button { align-items:center; border:1px solid transparent; display:inline-flex; font-size:.76rem; font-weight:700; gap:22px; justify-content:space-between; letter-spacing:.085em; min-height:56px; padding:0 22px; text-align:left; text-transform:uppercase; transition:background .2s ease,color .2s ease,transform .2s ease; }
.button:hover { transform:translateY(-2px); }
.button:focus-visible,.header-cta:focus-visible,.text-button:focus-visible,a:focus-visible { outline:3px solid #e85168; outline-offset:4px; }
.button-red { background:var(--w-red); color:#fff; }
.button-red:hover { background:var(--w-red-dark); }
.hero-note { color:rgba(255,255,255,.8); font-size:.79rem; letter-spacing:.06em; }
.hero-footnote { color:rgba(255,255,255,.63); font-size:.81rem; margin:22px 0 0; }
.hero-index { bottom:26px; color:rgba(255,255,255,.64); display:flex; font-size:.63rem; justify-content:space-between; left:clamp(24px,9vw,138px); letter-spacing:.16em; position:absolute; right:clamp(24px,9vw,138px); }
.hero-index span { color:#fff; }
.promise-band { align-items:center; background:var(--w-red); color:#fff; display:grid; gap:32px; grid-template-columns:minmax(155px,.55fr) 1fr 1.1fr; padding:46px clamp(24px,8vw,122px); }
.promise-label { font-size:.65rem; font-weight:700; letter-spacing:.17em; }
.promise-band > p { font-family:var(--w-display); font-size:clamp(1.65rem,3vw,2.7rem); line-height:1.14; margin:0; }
.promise-band > p em { color:#f4c5cc; }
.promise-points { border-left:1px solid rgba(255,255,255,.36); display:grid; gap:12px; padding-left:30px; }
.promise-points div { align-items:baseline; display:flex; gap:15px; }
.promise-points b { color:#f6b5c0; font-size:.65rem; letter-spacing:.12em; }
.promise-points span { font-size:.85rem; }
.pattern-section { display:grid; gap:70px; grid-template-columns:.95fr 1fr; padding:clamp(90px,12vw,170px) clamp(24px,11vw,168px) 55px; position:relative; }
.pattern-section::before { border:1px solid rgba(183,24,49,.25); border-radius:50%; content:""; height:370px; position:absolute; right:-200px; top:90px; width:370px; }
.section-heading { position:relative; z-index:1; }
.pattern-section h2,.method-section h2,.exercise-section h2,.hosts-section h2,.details-band h2,.register-section h2,.closing-note h2 { font-size:clamp(2.75rem,5vw,5.2rem); }
.pattern-section h2 em,.method-section h2 em,.exercise-section h2 em,.hosts-section h2 em,.register-section h2 em { color:var(--w-red); }
.pattern-copy { align-self:end; color:var(--w-muted); max-width:635px; padding-bottom:7px; }
.pattern-copy p { margin:0 0 20px; }
.pattern-copy .standfirst { color:var(--w-ink); font-family:var(--w-display); font-size:1.38rem; line-height:1.55; }
.pattern-quote { border-bottom:1px solid var(--w-rule); border-top:1px solid var(--w-rule); grid-column:1/-1; margin-top:25px; padding:25px 0; }
.pattern-quote span { color:var(--w-red); font-size:.65rem; font-weight:700; letter-spacing:.16em; }
.pattern-quote p { font-family:var(--w-display); font-size:clamp(1.3rem,2.2vw,2rem); margin:9px 0 0; }
.pattern-quote i { color:var(--w-red); font-style:normal; padding:0 12px; }
.method-section { background:#252120; color:#fff; padding:clamp(80px,10vw,140px) clamp(24px,9vw,138px); }
.method-intro { align-items:end; display:grid; gap:50px; grid-template-columns:1fr .7fr; margin:0 auto 70px; max-width:1340px; }
.method-intro .eyebrow { color:#ed8797; }
.method-intro > p { color:#c9c0bb; font-size:1.05rem; margin:0 0 7px; max-width:490px; }
.method-section h2 em { color:#ed6d81; }
.pillar-list { border-top:1px solid rgba(255,255,255,.22); margin:0 auto; max-width:1340px; }
.pillar { align-items:start; border-bottom:1px solid rgba(255,255,255,.22); display:grid; gap:22px; grid-template-columns:65px minmax(190px,.78fr) minmax(300px,1fr); padding:35px 0 38px; }
.pillar-number { color:#e56b7e; font-family:var(--w-display); font-size:1.1rem; padding-top:6px; }
.pillar-title h3 { font-family:var(--w-display); font-size:clamp(2rem,3vw,3.1rem); font-weight:500; line-height:1.05; margin:0; }
.pillar-title p { color:#d1c8c1; font-family:var(--w-display); font-size:1.14rem; font-style:italic; margin:10px 0 0; }
.pillar-content { max-width:630px; }
.pillar-content > p { color:#c9c0bb; font-size:.92rem; margin:17px 0 0; max-width:600px; }
.pillar-tags { display:flex; flex-wrap:wrap; gap:8px; }
.pillar-tags span { border:1px solid rgba(255,255,255,.34); color:#f2e9e3; font-size:.7rem; letter-spacing:.05em; padding:7px 11px; }
.method-note { color:#a99f99; font-size:.78rem; margin:27px auto 0; max-width:1340px; }
.exercise-section { background:#e9dfd2; display:grid; gap:clamp(35px,8vw,120px); grid-template-columns:minmax(135px,.45fr) 1fr; padding:clamp(85px,11vw,150px) clamp(24px,12vw,184px); }
.exercise-stamp { align-self:start; border:1px solid var(--w-red); border-radius:50%; color:var(--w-red); display:grid; font-family:var(--w-display); font-size:.8rem; height:126px; letter-spacing:.08em; line-height:1.5; place-content:center; text-align:center; transform:rotate(-9deg); width:126px; }
.exercise-copy { max-width:790px; }
.exercise-copy > p:not(.eyebrow):not(.exercise-aside) { color:#675f57; font-size:1rem; margin:24px 0; max-width:680px; }
.exercise-prompts { border-bottom:1px solid rgba(32,29,27,.2); border-top:1px solid rgba(32,29,27,.2); margin-top:32px; }
.exercise-prompts p { align-items:baseline; border-bottom:1px solid rgba(32,29,27,.14); display:flex; gap:20px; margin:0; padding:15px 0; }
.exercise-prompts p:last-child { border-bottom:0; }
.exercise-prompts span { color:var(--w-red); font-size:.68rem; font-weight:700; letter-spacing:.1em; }
.exercise-aside { border-left:2px solid var(--w-red); color:#756e67; font-family:var(--w-display); font-size:1.06rem; font-style:italic; margin:25px 0 0; padding-left:17px; }
.hosts-section { align-items:center; background:var(--w-white); display:grid; gap:clamp(45px,9vw,130px); grid-template-columns:minmax(270px,.83fr) minmax(0,1fr); padding:clamp(85px,11vw,150px) clamp(24px,12vw,184px); }
.hosts-photo { aspect-ratio:.86; background:#e7dfd7; max-height:690px; overflow:hidden; position:relative; }
.hosts-photo img { height:100%; object-fit:cover; object-position:center; width:100%; }
.hosts-photo span { background:var(--w-red); bottom:0; color:white; font-size:.65rem; font-weight:700; left:0; letter-spacing:.17em; padding:13px 18px; position:absolute; }
.hosts-copy { max-width:680px; }
.hosts-copy > p:not(.eyebrow) { color:var(--w-muted); margin:23px 0 0; }
.host-signoff { border-top:1px solid var(--w-rule); display:flex; font-size:.65rem; font-weight:700; justify-content:space-between; letter-spacing:.12em; margin-top:35px; padding-top:16px; }
.host-signoff span:last-child { color:var(--w-red); }
.details-band { background:#e2d4c4; display:grid; gap:60px; grid-template-columns:.82fr 1.18fr; padding:clamp(80px,10vw,130px) clamp(24px,10vw,152px); }
.details-band > div:first-child { position:relative; }
.detail-mark { color:rgba(183,24,49,.16); font-family:var(--w-display); font-size:clamp(10rem,20vw,19rem); left:-15px; line-height:.75; position:absolute; top:45px; }
.details-band .eyebrow,.details-band h2 { position:relative; }
.details-band h2 { font-size:clamp(2.5rem,4.7vw,4.7rem); }
.details-grid { align-self:center; display:grid; grid-template-columns:1fr 1fr; }
.details-grid div { border-bottom:1px solid rgba(32,29,27,.2); padding:22px 15px 25px 0; }
.details-grid div:nth-child(odd) { border-right:1px solid rgba(32,29,27,.2); }
.details-grid div:nth-child(even) { padding-left:24px; }
.details-grid div:nth-child(n+3) { border-bottom:0; }
.details-grid span { color:var(--w-red); display:block; font-size:.62rem; font-weight:700; letter-spacing:.15em; margin-bottom:12px; }
.details-grid strong { display:block; font-family:var(--w-display); font-size:1.3rem; font-weight:500; line-height:1.32; }
.details-grid p { color:#70675e; font-size:.82rem; margin:9px 0 0; }
.register-section { align-items:start; background:var(--w-paper); display:grid; gap:clamp(45px,9vw,130px); grid-template-columns:.86fr 1fr; padding:clamp(88px,11vw,150px) clamp(24px,10vw,152px); scroll-margin-top:24px; }
.register-intro { max-width:580px; position:sticky; top:45px; }
.register-intro > p:not(.eyebrow) { color:var(--w-muted); font-size:1.04rem; margin:24px 0 0; }
.invite-note { align-items:start; display:flex; gap:17px; margin-top:46px; }
.invite-line { background:var(--w-red); flex:0 0 24px; height:1px; margin-top:11px; }
.invite-note b { font-family:var(--w-display); font-size:1.2rem; font-weight:500; }
.invite-note p { color:var(--w-muted); font-size:.86rem; margin:5px 0 0; }
.register-card { background:var(--w-white); border:1px solid rgba(32,29,27,.12); box-shadow:14px 17px 0 rgba(183,24,49,.14); padding:clamp(28px,4vw,48px); }
.form-topline { border-bottom:1px solid var(--w-rule); color:var(--w-red); display:flex; font-size:.62rem; font-weight:700; justify-content:space-between; letter-spacing:.13em; padding-bottom:13px; }
.register-card h3 { font-family:var(--w-display); font-size:2.3rem; font-weight:500; letter-spacing:-.03em; line-height:1.15; margin:22px 0 0; }
.form-subtitle { color:var(--w-muted); font-size:.86rem; margin:8px 0 27px; }
.session-fieldset,.partner-fields { border:0; margin:0 0 24px; padding:0; }
.session-fieldset legend,.partner-fields legend { font-size:.8rem; font-weight:700; margin-bottom:10px; }
.session-fieldset legend span,.field label span { color:var(--w-red); }
.session-options { display:grid; gap:8px; }
.session-option { align-items:center; border:1px solid var(--w-rule); cursor:pointer; display:flex; gap:12px; min-height:70px; padding:11px 13px; transition:border-color .18s,background .18s; }
.session-option:hover,.session-option.is-selected { background:#f8f1ed; border-color:var(--w-red); }
.session-option input { accent-color:var(--w-red); flex:0 0 auto; height:17px; width:17px; }
.session-option > span { display:flex; flex:1; flex-direction:column; gap:2px; }
.session-option strong { font-size:.86rem; }
.session-option small { color:var(--w-muted); font-size:.75rem; }
.session-option i { color:var(--w-red); font-size:.64rem; font-style:normal; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.session-state { background:#f5eee8; color:var(--w-muted); font-size:.82rem; padding:15px; }
.session-state p { margin:0 0 5px; }
.session-state.skeleton { animation: softPulse 1.3s ease-in-out infinite alternate; color:#756e67; min-height:50px; }
@keyframes softPulse { from { opacity:.56; } to { opacity:1; } }
.session-error { background:#f9e9e8; color:#7e2027; }
.text-button { background:none; border:0; color:var(--w-red); font-size:.77rem; font-weight:700; padding:4px 0; text-decoration:underline; text-underline-offset:3px; }
.form-row { display:grid; gap:13px; grid-template-columns:1fr 1fr; }
.field { margin-bottom:16px; min-width:0; }
.field label { display:block; font-size:.76rem; font-weight:700; margin-bottom:7px; }
.field label small { color:var(--w-muted); font-size:.69rem; font-weight:400; margin-left:5px; }
.field input,.field select { background:#fff; border:1px solid #d8cec3; border-radius:0; color:var(--w-ink); min-height:48px; outline:none; padding:10px 12px; width:100%; }
.field input:focus,.field select:focus { border-color:var(--w-red); box-shadow:0 0 0 2px rgba(183,24,49,.12); }
.field input[aria-invalid="true"],.field .lj-phone.lj-phone--invalid { border-color:#b3262f; }
.field-error { color:#a9232d; display:block; font-size:.72rem; line-height:1.35; margin-top:5px; }
.field .lj-phone { border-radius:0; min-height:48px; }
.field .lj-phone__country { border-radius:0; }
.field .lj-phone .lj-phone__num { border-radius:0; font-size:16px; }
.partner-toggle { align-items:flex-start; background:#f4eee7; cursor:pointer; display:flex; gap:12px; margin:2px 0 20px; padding:14px; }
.partner-toggle input { accent-color:var(--w-red); height:17px; margin:3px 0 0; width:17px; }
.partner-toggle span { display:flex; flex-direction:column; }
.partner-toggle strong { font-size:.81rem; }
.partner-toggle small { color:var(--w-muted); font-size:.72rem; margin-top:3px; }
.partner-fields { border-left:2px solid var(--w-red); margin:0 0 20px; padding:2px 0 0 15px; }
.partner-fields legend { color:var(--w-red); padding-top:3px; }
.form-alert { background:#f9e9e8; border-left:3px solid #b3262f; color:#77232a; font-size:.82rem; margin:0 0 16px; padding:12px 14px; }
.submit-button { justify-content:space-between; margin-top:5px; width:100%; }
.submit-button:disabled { cursor:not-allowed; opacity:.58; transform:none; }
.privacy-note { color:#827970; font-size:.68rem; line-height:1.55; margin:15px 0 0; }
.privacy-note a { color:var(--w-red); text-decoration:underline; text-underline-offset:2px; }
.registration-success { padding:32px 0 20px; }
.success-mark { align-items:center; background:var(--w-red); border-radius:50%; color:#fff; display:flex; font-size:1.15rem; height:47px; justify-content:center; margin-bottom:30px; width:47px; }
.registration-success h3 { font-size:2.5rem; }
.registration-success > p:not(.eyebrow) { color:var(--w-muted); margin-top:18px; }
.reference-code { border-top:1px solid var(--w-rule); margin-top:28px!important; padding-top:18px; }
.reference-code strong { color:var(--w-ink); font-family:monospace; }
.closing-note { align-items:center; background:var(--w-red); color:#fff; display:flex; flex-direction:column; padding:clamp(75px,10vw,130px) 24px; text-align:center; }
.closing-note > p { color:#f6ccd2; font-family:var(--w-display); font-size:1.2rem; font-style:italic; margin:0 0 18px; }
.closing-note h2 { font-size:clamp(3rem,6vw,6rem); }
.closing-note h2 em { color:#f4b8c2; }
.button-light { background:var(--w-white); color:var(--w-ink); margin-top:30px; }
.button-light:hover { background:#f1e6dd; }
.webinar-footer { align-items:center; background:#211e1c; color:#fff; display:grid; gap:20px; grid-template-columns:180px 1fr auto; padding:44px clamp(24px,7vw,106px) 26px; }
.footer-mark { display:block; width:155px; }
.footer-mark img { display:block; width:100%; }
.webinar-footer > p { color:#c8c0ba; font-family:var(--w-display); font-size:.94rem; font-style:italic; margin:0; text-align:center; }
.webinar-footer > div { display:flex; gap:20px; }
.webinar-footer > div a { font-size:.71rem; font-weight:600; }
.webinar-footer > div a:hover { color:#f0a2ad; }
.webinar-footer small { border-top:1px solid rgba(255,255,255,.15); color:#968e88; font-size:.68rem; grid-column:1/-1; margin-top:10px; padding-top:18px; text-align:center; }
@media (max-width:900px) {
  .promise-band { grid-template-columns:1fr 1.3fr; }
  .promise-label { grid-column:1/-1; }
  .promise-points { padding-left:20px; }
  .pattern-section { gap:40px; grid-template-columns:1fr 1fr; padding-inline:8vw; }
  .method-intro { gap:30px; }
  .pillar { grid-template-columns:45px minmax(160px,.7fr) 1fr; }
  .exercise-section,.hosts-section,.register-section { padding-inline:8vw; }
  .details-band { gap:35px; padding-inline:7vw; }
}
@media (max-width:680px) {
  .webinar-header { height:66px; padding-inline:18px; }
  .webinar-logo { width:142px; }
  .header-cta { font-size:.62rem; gap:7px; letter-spacing:.04em; }
  .webinar-hero { align-items:flex-end; min-height:780px; min-height:max(740px,calc(100svh - 66px)); padding:80px 23px 76px; }
  .hero-image { background-position:57% center; }
  .hero-wash { background:linear-gradient(0deg,rgba(22,20,20,.96) 0%,rgba(22,20,20,.83) 46%,rgba(22,20,20,.32) 100%),linear-gradient(90deg,rgba(22,20,20,.24),transparent); }
  .webinar-hero h1 { font-size:clamp(3rem,12vw,4.5rem); }
  .hero-intro { font-size:1.1rem; margin-top:20px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:13px; margin-top:25px; }
  .button { min-height:54px; }
  .hero-index { bottom:20px; left:23px; right:23px; }
  .promise-band { align-items:start; gap:19px; grid-template-columns:1fr; padding:31px 24px; }
  .promise-label { grid-column:auto; }
  .promise-points { border-left:0; border-top:1px solid rgba(255,255,255,.36); gap:9px; padding:17px 0 0; }
  .promise-points span { font-size:.8rem; }
  .pattern-section { gap:28px; grid-template-columns:1fr; padding:78px 24px 42px; }
  .pattern-section::before { height:240px; right:-140px; top:70px; width:240px; }
  .pattern-section h2,.method-section h2,.exercise-section h2,.hosts-section h2,.register-section h2 { font-size:clamp(2.8rem,12vw,4.2rem); }
  .pattern-copy .standfirst { font-size:1.22rem; }
  .pattern-quote { margin-top:2px; }
  .pattern-quote p { font-size:1.26rem; }
  .pattern-quote i { padding:0 5px; }
  .method-section { padding:76px 24px; }
  .method-intro { gap:20px; grid-template-columns:1fr; margin-bottom:40px; }
  .method-intro > p { font-size:.94rem; }
  .pillar { gap:9px 14px; grid-template-columns:33px 1fr; padding:25px 0; }
  .pillar-number { grid-row:1/3; }
  .pillar-title h3 { font-size:2.2rem; }
  .pillar-content { grid-column:2; }
  .pillar-tags span { font-size:.64rem; padding:6px 8px; }
  .pillar-content > p { font-size:.85rem; }
  .exercise-section { gap:28px; grid-template-columns:1fr; padding:76px 24px; }
  .exercise-stamp { height:92px; width:92px; font-size:.67rem; }
  .exercise-prompts p { font-size:.88rem; gap:12px; }
  .hosts-section { gap:34px; grid-template-columns:1fr; padding:76px 24px; }
  .hosts-photo { aspect-ratio:.95; max-height:570px; }
  .hosts-copy > p:not(.eyebrow) { font-size:.93rem; }
  .details-band { gap:35px; grid-template-columns:1fr; padding:70px 24px; }
  .details-band h2 { font-size:3rem; }
  .details-grid { grid-template-columns:1fr 1fr; }
  .details-grid div:nth-child(even) { padding-left:15px; }
  .details-grid strong { font-size:1.1rem; }
  .details-grid p { font-size:.75rem; }
  .register-section { gap:34px; grid-template-columns:1fr; padding:76px 20px; }
  .register-intro { position:static; }
  .invite-note { margin-top:27px; }
  .register-card { box-shadow:8px 10px 0 rgba(183,24,49,.14); padding:24px 19px; }
  .register-card h3 { font-size:2rem; }
  .form-row { gap:10px; }
  .field input,.field select { font-size:16px; }
  .session-option { align-items:flex-start; }
  .session-option i { font-size:.57rem; padding-top:3px; }
  .closing-note { padding:76px 20px; }
  .webinar-footer { gap:18px; grid-template-columns:1fr; justify-items:center; padding:38px 20px 22px; text-align:center; }
  .webinar-footer > p { max-width:290px; }
  .webinar-footer small { grid-column:auto; width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
