 /* ─────────────────────────────────────────────────────────────    §1 HERO — perimenopause guide (irp-* namespace)    Dark Evergreen band · Cream Playfair H1 · italic subline ·    3 factual chips · ONE secondary link · arched visual right.    ───────────────────────────────────────────────────────────── */ .irp-hero {   --p-evergreen: #294833;   --p-cream: #FAFAF7;   --p-cream-soft: rgba(250,250,247,0.78);   --p-cream-faint: rgba(250,250,247,0.55);   --p-sprout: #ADC8A3;   --p-sunflower: #EDCC6B;   --p-chip-bg: rgba(250,250,247,0.10);   --p-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;    position: relative;   font-family: inherit;   color: var(--p-cream);   background: #294833;   overflow: hidden;   padding: 56px 24px 0; } .irp-hero, .irp-hero *, .irp-hero *::before, .irp-hero *::after {   box-sizing: border-box; }  .irp-inner {   max-width: 1200px;   margin: 0 auto;   display: flex;   align-items: center;   justify-content: space-between;   gap: 48px; }  /* ── content column ── */ .irp-content {   flex: 1.2;   min-width: 0;   padding-bottom: 64px; }  .irp-eyebrow {   display: inline-block;   font-size: 12px;   font-weight: 600;   letter-spacing: 0.12em;   text-transform: uppercase;   color: var(--p-sprout);   margin-bottom: 20px; }  /* H1 — verbatim DRAFT-04. Long; 18ch max-width lets it break to 3 lines    without running the full column width. */ .irp-h1 {   font-family: var(--p-serif);   font-weight: normal;   color: var(--p-cream);   font-size: clamp(2rem, 3.4vw + 0.7rem, 3.35rem);   line-height: 1.08;   letter-spacing: -0.01em;   margin: 0 0 20px;   max-width: 20ch; }  .irp-sub {   font-style: italic;   font-family: inherit;   font-size: clamp(1.05rem, 1.1vw + 0.8rem, 1.25rem);   line-height: 1.55;   color: var(--p-cream-soft);   max-width: 46ch;   margin: 0 0 30px; }  /* ── trust chips — factual, verifiable only ── */ .irp-chips {   display: flex;   flex-wrap: wrap;   align-items: center;   gap: 6px 8px;   margin-bottom: 34px; } .irp-chip {   display: inline-flex;   align-items: center;   font-size: 12px;   font-weight: 500;   color: var(--p-cream);   white-space: nowrap;   background: var(--p-chip-bg);   border: 1px solid rgba(250,250,247,0.08);   border-radius: 999px;   padding: 5px 12px; } .irp-chip::before {   content: "";   width: 6px;   height: 6px;   background: var(--p-sprout);   border-radius: 50%;   margin-right: 8px;   flex-shrink: 0; } .irp-chip-sep { color: var(--p-cream-faint); }  /* ── CTA area — ONE secondary link, no primary button ── */ .irp-ctas {   display: flex;   flex-direction: column;   align-items: flex-start;   gap: 14px;   margin-bottom: 0; } .irp-link2 {   display: inline-flex;   align-items: center;   gap: 9px;   font-size: 14px;   font-weight: 600;   color: var(--p-cream) !important;   text-decoration: none !important;   border-bottom: 1.5px solid rgba(237,204,107,0.85);   padding: 3px 2px 4px;   transition: gap .2s ease; } .irp-link2:hover { gap: 13px; } .irp-link2 .irp-arr {   display: inline-flex;   width: 22px;   height: 22px;   border-radius: 50%;   background: var(--p-sunflower);   align-items: center;   justify-content: center;   flex-shrink: 0; } .irp-link2 .irp-arr svg { display: block; }  /* ── visual column (arched illustration — guides signature) ── */ .irp-visual {   flex: 1;   min-width: 0;   display: flex;   justify-content: center;   align-self: stretch;   align-items: flex-end;   padding-bottom: 64px; } .irp-visual-img {   width: 100%;   max-width: 460px;   height: clamp(320px, 40vw, 480px);   object-fit: cover;   object-position: center top;   border-top-left-radius: 300px;   border-top-right-radius: 300px;   border-bottom-left-radius: 0;   border-bottom-right-radius: 0;   /* Evergreen gradient fallback paints the arch as a designed panel      until the real asset is uploaded. */      display: block; }  /* ── entrance: 4 elements only (eyebrow → h1 → sub → chips → ctas) ── */ .irp-eyebrow, .irp-h1, .irp-sub, .irp-chips, .irp-ctas {   animation: irp-in .8s cubic-bezier(.22,1,.36,1) both; } .irp-h1 { animation-delay: .08s; } .irp-sub { animation-delay: .16s; } .irp-chips { animation-delay: .24s; } .irp-ctas { animation-delay: .32s; }  @keyframes irp-in {   from { opacity: 0; transform: translateY(18px); }   to   { opacity: 1; transform: translateY(0); } }  /* ── reduced motion ── */ @media (prefers-reduced-motion: reduce) {   .irp-eyebrow, .irp-h1, .irp-sub, .irp-chips, .irp-ctas {     opacity: 1 !important;     transform: none !important;     animation: none !important;   }   .irp-link2, .irp-link2:hover { transition: none !important; gap: 9px !important; } }  /* ── mobile ── */ @media (max-width: 860px) {   .irp-hero { padding: 40px 20px 48px; }   .irp-inner { flex-direction: column; text-align: left; gap: 28px; align-items: stretch; }   .irp-content { order: 1; padding-bottom: 0; text-align: left; }   .irp-eyebrow, .irp-h1, .irp-sub { margin-left: 0; margin-right: 0; }   .irp-h1 { max-width: none; }   .irp-chips, .irp-ctas { justify-content: flex-start; align-items: flex-start; }   .irp-visual { display: none; } }  @media (max-width: 480px) {   .irp-hero { padding: 32px 18px 40px !important; }   .irp-inner, .irp-content { text-align: left !important; }   .irp-eyebrow { margin-top: 0 !important; margin-bottom: 12px !important; text-align: left !important; }   .irp-h1 { margin-bottom: 14px !important; text-align: left !important; }   .irp-sub { margin-bottom: 20px !important; text-align: left !important; }   .irp-chips {     display: flex !important;     flex-direction: row !important;     flex-wrap: wrap !important;     justify-content: flex-start !important;     align-items: center !important;     gap: 6px !important;     margin-bottom: 22px !important;   }   .irp-chip {     display: inline-flex !important;     width: auto !important;     max-width: none !important;     flex: 0 0 auto !important;     padding: 4px 9px !important;     margin: 0 !important;   }   .irp-chip-sep { display: none !important; }   .irp-ctas {     margin-bottom: 0 !important;     flex-direction: column !important;     align-items: flex-start !important;     gap: 8px !important;   }   .irp-link2 { justify-content: flex-start !important; margin-left: 0 !important; margin-right: 0 !important; } }  /* ─────────────────────────────────────────────────────────    PAGE-WIDE ANCHOR BEHAVIOUR — DECLARED ONCE, HERE, ONLY.    All 15 anchored section IDs from blueprint §6. ───────────────────────────────────────────────────────── */ html { scroll-behavior: smooth; } #start-here, #mechanism, #symptoms, #34-symptoms, #shape-of-it, #differential, #labs, #what-helps, #living-through-it, #crisis, #gets-better, #scope, #faq, #references, #book { scroll-margin-top: 90px; }  /* ── BAND: paints its own background INSIDE the block, full-bleed ── */ .irp-band {box-sizing: border-box; width: 100%; } .irp-band--cream     { background: #FAFAF7; } .irp-band--white     { background: #FFFFFF; } .irp-band--evergreen { background: #294833; }  /* ── inner wrapper: THE transparent exception ── */ .irp-def-band {background: transparent; font-family: inherit; max-width: 1000px; margin: 0 auto; padding: 56px 20px 64px 20px; } .irp-def-band, .irp-def-band *, .irp-def-band *::before, .irp-def-band *::after {box-sizing: border-box; }  /* ── the AI-visibility definition card (guidelines §2 component) ── */ .irp-llm-summary {   position: relative;    background-color: #FFFFFF;    padding: 24px 28px;    border-left: 4px solid #294833;    border-radius: 8px;    box-shadow: 0 4px 16px rgba(41,72,51,.08);    margin: 0 auto;    max-width: 900px;    overflow: hidden;    transition: box-shadow 0.35s ease, transform 0.35s ease;  } .irp-llm-summary:hover {   box-shadow: 0 10px 26px rgba(41,72,51,.13);    transform: translateY(-2px);  } .irp-llm-summary p {font-size: 16px; line-height: 1.7; color: #4a4a4a; margin: 0 0 16px 0; } .irp-llm-summary p:last-child { margin-bottom: 0; } .irp-llm-summary p strong {color: #294833; font-weight: 600; }  /* ── Sunflower rail: draws down the card's inner left edge on entry ── */ body.ir-live .irp-llm-summary.ir-reveal.ir-in::before { transform: scaleY(1); } /* editor / no-JS fallback: rail stays fully drawn */ body:not(.ir-live) .irp-llm-summary::before { transform: scaleY(1); }  /* ── per-paragraph stagger: three beats, not one slab ── */ body.ir-live .irp-llm-summary.ir-stagger > p { opacity: 0; transform: translateY(14px); } body.ir-live .irp-llm-summary.ir-stagger.ir-in > p {animation: irpDefBeat 0.75s cubic-bezier(0.16, 1, 0.3, 1) forwards; } body.ir-live .irp-llm-summary.ir-stagger.ir-in > p:nth-child(1) { animation-delay: 0.10s; } body.ir-live .irp-llm-summary.ir-stagger.ir-in > p:nth-child(2) { animation-delay: 0.26s; } body.ir-live .irp-llm-summary.ir-stagger.ir-in > p:nth-child(3) { animation-delay: 0.42s; }  @keyframes irpDefBeat {   0%   { opacity: 0; transform: translateY(14px); }    100% { opacity: 1; transform: translateY(0); }  }  /* ── card-level reveal (fade + rise) ── */ body.ir-live .irp-def-band .ir-reveal { opacity: 0; transform: translateY(36px); } body.ir-live .irp-def-band .ir-reveal.ir-in {animation: irpDefUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }  @keyframes irpDefUp {   0%   { opacity: 0; transform: translateY(36px); }    100% { opacity: 1; transform: translateY(0); }  }  /* ── mobile ── */ @media (max-width: 768px) {   .irp-def-band { padding: 44px 20px 52px 20px; }   .irp-llm-summary { padding: 22px 22px; }      /* Fix: Forces the block to be fully visible on mobile load so it doesn't get stuck blank */   body.ir-live .irp-def-band .ir-reveal,   body.ir-live .irp-llm-summary.ir-stagger > p {     opacity: 1 !important;      transform: none !important;      animation: none !important;    }   body.ir-live .irp-llm-summary.ir-reveal::before {     transform: scaleY(1) !important;   } }  @media (max-width: 480px) {   .irp-llm-summary { padding: 20px 18px; }   .irp-llm-summary p { font-size: 15.5px; } }  /* ── reduced motion ── */ @media (prefers-reduced-motion: reduce) {   html { scroll-behavior: auto; }   body.ir-live .irp-def-band .ir-reveal,    body.ir-live .irp-llm-summary.ir-stagger > p {     opacity: 1 !important; transform: none !important; animation: none !important;    }   .irp-llm-summary::before {     transform: scaleY(1) !important; transition: none !important; animation: none !important;    }   .irp-llm-summary, .irp-llm-summary:hover {     transform: none !important; transition: none !important;    } }  /* ── BAND: paints its own background INSIDE the block, full-bleed ── */ .irp-band {   box-sizing: border-box;   width: 100%; } .irp-band--white { background: #FFFFFF; }  .irp-toc-band {   font-family: inherit;   max-width: 1000px;   margin: 0 auto;   padding: 56px 20px 64px 20px; } .irp-toc-band, .irp-toc-band *, .irp-toc-band *::before, .irp-toc-band *::after {   box-sizing: border-box; }  /* ── the TOC card: Cream fill so it reads on the White band ── */ .irp-toc {   max-width: 800px;   margin: 0 auto;   background-color: #FAFAF7;   padding: 30px 40px;   border-radius: 8px;   border-top: 4px solid #294833;   font-family: inherit; } .irp-toc h3 {   font-family: 'Playfair Display', serif !important;   font-size: 26px !important;   font-weight: 700 !important;   color: #294833 !important;   margin-top: 0 !important;   margin-bottom: 6px !important; } .irp-toc-instruction {   font-size: 15px;   color: #555555;   margin: 0 0 24px 0;   font-style: italic; }  /* ── 2-col grid → 6 even rows at 12 items ── */ .irp-toc-grid {   display: grid;   grid-template-columns: 1fr 1fr;   gap: 16px 30px;   counter-reset: irptoc; }  .irp-toc-item {   display: flex;   align-items: flex-start;   border-radius: 6px;   padding: 4px 6px 4px 2px;   margin: -4px -6px -4px -2px;   transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),               background-color 0.28s ease; } .irp-toc-item:hover {   transform: translateX(4px);   background-color: rgba(41, 72, 51, 0.04); }  /* ── counter numerals, Evergreen 45% → Sunflower on hover ── */ .irp-toc-item::before {   counter-increment: irptoc;   content: counter(irptoc, decimal-leading-zero);   flex-shrink: 0;   width: 26px;   font-family: 'Playfair Display', serif;   font-size: 13px;   font-weight: 700;   line-height: 1.7;   color: rgba(41, 72, 51, 0.45);   letter-spacing: 0.04em;   transition: color 0.28s ease; } .irp-toc-item:hover::before { color: #EDCC6B; }  /* ── links: 25%-opacity underline that solidifies on hover ── */ .irp-toc-link {   position: relative;   display: inline-block;   font-size: 16px;   color: #294833;   text-decoration: none;   font-weight: 600;   line-height: 1.5;   padding-bottom: 3px;   transition: color 0.22s ease; } .irp-toc-link::after {   content: "";   position: absolute;   left: 0;   bottom: 0;   width: 100%;   height: 1.5px;   background-color: rgba(41, 72, 51, 0.25);   transform: scaleX(1);   transform-origin: left;   transition: background-color 0.34s ease; } .irp-toc-item:hover .irp-toc-link { color: #1e3626; } .irp-toc-item:hover .irp-toc-link::after { background-color: #294833; }  /* ── per-item staggered reveal: 12 beats, .04 steps → 0.48s total ── */ body.ir-live .irp-toc-grid.ir-stagger > * { opacity: 0; transform: translateY(16px); } body.ir-live .irp-toc-grid.ir-stagger.ir-in > * {   animation: irpTocBeat 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards; } body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(1)  { animation-delay: 0.04s; } body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(2)  { animation-delay: 0.08s; } body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(3)  { animation-delay: 0.12s; } body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(4)  { animation-delay: 0.16s; } body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(5)  { animation-delay: 0.20s; } body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(6)  { animation-delay: 0.24s; } body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(7)  { animation-delay: 0.28s; } body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(8)  { animation-delay: 0.32s; } body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(9)  { animation-delay: 0.36s; } body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(10) { animation-delay: 0.40s; } body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(11) { animation-delay: 0.44s; } body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(12) { animation-delay: 0.48s; } @keyframes irpTocBeat {   0%   { opacity: 0; transform: translateY(16px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── card-level reveal ── */ body.ir-live .irp-toc-band .ir-reveal { opacity: 0; transform: translateY(36px); } body.ir-live .irp-toc-band .ir-reveal.ir-in {   animation: irpTocUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; } @keyframes irpTocUp {   0%   { opacity: 0; transform: translateY(36px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── mobile: 1-col, ladder compressed to ≤0.30s total ── */ @media (max-width: 768px) {   .irp-toc-band { padding: 44px 20px 52px 20px; }   .irp-toc-grid { grid-template-columns: 1fr; gap: 16px; }   .irp-toc { padding: 24px; }    body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(1)  { animation-delay: 0.025s; }   body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(2)  { animation-delay: 0.050s; }   body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(3)  { animation-delay: 0.075s; }   body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(4)  { animation-delay: 0.100s; }   body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(5)  { animation-delay: 0.125s; }   body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(6)  { animation-delay: 0.150s; }   body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(7)  { animation-delay: 0.175s; }   body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(8)  { animation-delay: 0.200s; }   body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(9)  { animation-delay: 0.225s; }   body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(10) { animation-delay: 0.250s; }   body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(11) { animation-delay: 0.275s; }   body.ir-live .irp-toc-grid.ir-stagger.ir-in > *:nth-child(12) { animation-delay: 0.300s; } } @media (max-width: 480px) {   .irp-toc { padding: 22px 18px; }   .irp-toc h3 { font-size: 23px !important; }   /* gesture-friendly tap targets */   .irp-toc-item { padding: 7px 6px 7px 2px; margin: -3px -6px -3px -2px; } }  /* ── reduced motion ── */ @media (prefers-reduced-motion: reduce) {   body.ir-live .irp-toc-band .ir-reveal,   body.ir-live .irp-toc-grid.ir-stagger > * {     opacity: 1 !important;     transform: none !important;     animation: none !important;   }   .irp-toc-item,   .irp-toc-item:hover {     transform: none !important;     transition: none !important;   }   .irp-toc-link::after {     transform: scaleX(1) !important;     transition: none !important;     animation: none !important;   }   .irp-toc-item::before { transition: none !important; } }  /* ── BAND ── */ .irp-band { box-sizing: border-box; width: 100%; } .irp-band--cream { background: #FAFAF7; }  .irp-doors-wrap {   font-family: inherit;   max-width: 1000px;   margin: 0 auto;   padding: 64px 20px 72px 20px; } .irp-doors-wrap, .irp-doors-wrap *, .irp-doors-wrap *::before, .irp-doors-wrap *::after {   box-sizing: border-box; }  /* ─────────────────────────────────────────────    4a — THE TWO DOORS (irp-doors) · FRESH TOUCH    ───────────────────────────────────────────── */ .irp-doors-lead {   font-size: 17.5px;   line-height: 1.75;   color: #4a4a4a;   max-width: 820px;   margin: 0 auto 36px auto;   text-align: center; }  .irp-doors {   display: grid;   grid-template-columns: 1fr 1fr;   gap: 24px;   max-width: 880px;   margin: 0 auto; }  .irp-door {   position: relative;   display: block;   background: #FFFFFF;   border: 1px solid rgba(41,72,51,0.12);   border-radius: 10px;   padding: 34px 30px;   box-shadow: 0 2px 10px rgba(41,72,51,0.05);   text-decoration: none !important;   overflow: hidden;   transition: transform 0.35s cubic-bezier(0.22,1,0.36,1),               border-color 0.35s ease,               box-shadow 0.35s ease; } .irp-door:hover, .irp-door:focus-visible {   transform: translateY(-3px);   border-color: rgba(41,72,51,0.30);   box-shadow: 0 10px 24px rgba(41,72,51,0.09); } .irp-door:focus-visible {   outline: 2px solid #ADC8A3;   outline-offset: 3px; }  /* 2px Evergreen bar wipes in along the bottom edge on hover/focus */ .irp-door::after {   content: "";   position: absolute;   left: 0;   bottom: 0;   width: 100%;   height: 2px;   background-color: #294833;   transform: scaleX(0);   transform-origin: left;   transition: transform 0.35s cubic-bezier(0.22,1,0.36,1); } .irp-door:hover::after, .irp-door:focus-visible::after { transform: scaleX(1); }  .irp-door-eyebrow {   display: block;   font-size: 11px;   font-weight: 600;   letter-spacing: 0.16em;   text-transform: uppercase;   color: rgba(41,72,51,0.70);   margin: 0 0 14px 0; } .irp-door-situation {   font-family: 'Playfair Display', serif;   font-style: italic;   font-size: 19px;   line-height: 1.5;   color: #294833;   margin: 0 0 18px 0; } .irp-door-rule {   display: block;   height: 1px;   width: 100%;   background-color: rgba(41,72,51,0.15);   margin: 0 0 16px 0;   border: 0; } .irp-door-dest {   display: inline-flex;   align-items: center;   gap: 7px;   font-size: 15px;   font-weight: 600;   color: #294833;   transition: gap 0.25s ease; } .irp-door:hover .irp-door-dest { gap: 12px; }  .irp-doors-close {   font-size: 16px;   line-height: 1.7;   color: rgba(41,72,51,0.80);   text-align: center;   max-width: 700px;   margin: 30px auto 0 auto; }  /* door entry: OPPOSED horizontal movement — the page forking */ body.ir-live .irp-doors.ir-stagger > .irp-door { opacity: 0; } body.ir-live .irp-doors.ir-stagger > .irp-door:nth-child(1) { transform: translateX(-18px); } body.ir-live .irp-doors.ir-stagger > .irp-door:nth-child(2) { transform: translateX(18px); } body.ir-live .irp-doors.ir-stagger.ir-in > .irp-door:nth-child(1) {   animation: irpDoorL 0.7s cubic-bezier(0.16,1,0.3,1) 0.10s forwards; } body.ir-live .irp-doors.ir-stagger.ir-in > .irp-door:nth-child(2) {   animation: irpDoorR 0.7s cubic-bezier(0.16,1,0.3,1) 0.22s forwards; } @keyframes irpDoorL {   0%   { opacity: 0; transform: translateX(-18px); }   100% { opacity: 1; transform: translateX(0); } } @keyframes irpDoorR {   0%   { opacity: 0; transform: translateX(18px); }   100% { opacity: 1; transform: translateX(0); } }  /* ─────────────────────────────────────────────    4b — PART I: three numbered beats (irp-beat)    ───────────────────────────────────────────── */ .irp-beats-head {   max-width: 860px;   margin: 72px auto 0 auto; } .irp-h2 {   font-family: 'Playfair Display', serif !important;   font-size: 34px !important;   font-weight: 700 !important;   color: #294833 !important;   line-height: 1.25 !important;   margin: 0 0 30px 0 !important;   text-align: left !important; }  .irp-beats {   display: flex;   flex-direction: column;   gap: 22px;   max-width: 860px;   margin: 0 auto; }  .irp-beat {   position: relative;   background: rgba(41,72,51,0.035);   border-left: 4px solid #294833;   border-radius: 8px;   box-shadow: 0 2px 10px rgba(41,72,51,0.05);   padding: 28px 32px 26px 30px; }  /* Playfair roman numeral, top-right, 30% Evergreen */ .irp-beat::after {   content: attr(data-beat);   position: absolute;   top: 18px;   right: 24px;   font-family: 'Playfair Display', serif;   font-size: 30px;   font-weight: 700;   line-height: 1;   color: rgba(41,72,51,0.30);   pointer-events: none; }  /* 1px self-drawing hairline above each H3 — the only ornament here */ .irp-beat-rule {   display: block;   height: 1px;   width: 100%;   max-width: 220px;   background-color: rgba(41,72,51,0.35);   border: 0;   margin: 0 0 14px 0;   transform: scaleX(0);   transform-origin: left;   transition: transform 0.8s cubic-bezier(0.22,1,0.36,1) 0.2s; } body.ir-live .irp-beats.ir-stagger.ir-in .irp-beat-rule { transform: scaleX(1); } /* editor / no-JS: hairline drawn */ body:not(.ir-live) .irp-beat-rule { transform: scaleX(1); }  .irp-beat h3 {   font-family: 'Playfair Display', serif !important;   font-size: 22px !important;   font-weight: 700 !important;   color: #294833 !important;   line-height: 1.35 !important;   margin: 0 0 14px 0 !important;   padding-right: 44px; } .irp-beat p {   font-size: 17.5px;   line-height: 1.75;   color: #4a4a4a;   margin: 0 0 16px 0; } .irp-beat p:last-child { margin-bottom: 0; } .irp-beat p strong { color: #294833; font-weight: 700; } .irp-beat em { font-style: italic; }  /* beat stagger: .08 / .20 / .32s */ body.ir-live .irp-beats.ir-stagger > .irp-beat { opacity: 0; transform: translateY(30px); } body.ir-live .irp-beats.ir-stagger.ir-in > .irp-beat {   animation: irpBeatUp 0.75s cubic-bezier(0.16,1,0.3,1) forwards; } body.ir-live .irp-beats.ir-stagger.ir-in > .irp-beat:nth-child(1) { animation-delay: 0.08s; } body.ir-live .irp-beats.ir-stagger.ir-in > .irp-beat:nth-child(2) { animation-delay: 0.20s; } body.ir-live .irp-beats.ir-stagger.ir-in > .irp-beat:nth-child(3) { animation-delay: 0.32s; } @keyframes irpBeatUp {   0%   { opacity: 0; transform: translateY(30px); }   100% { opacity: 1; transform: translateY(0); } }  /* section-level reveal for the lead + H2 + closing line */ body.ir-live .irp-doors-wrap .ir-reveal { opacity: 0; transform: translateY(28px); } body.ir-live .irp-doors-wrap .ir-reveal.ir-in {   animation: irpDoorsUp 0.8s cubic-bezier(0.16,1,0.3,1) forwards; } @keyframes irpDoorsUp {   0%   { opacity: 0; transform: translateY(28px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── mobile ── */ @media (max-width: 720px) {   .irp-doors { grid-template-columns: 1fr; gap: 16px; }   /* mobile: both doors rise, no opposed horizontal (no room for it),      ladder compressed to ≤0.30s total */   body.ir-live .irp-doors.ir-stagger > .irp-door:nth-child(1),   body.ir-live .irp-doors.ir-stagger > .irp-door:nth-child(2) {     transform: translateY(20px);   }   body.ir-live .irp-doors.ir-stagger.ir-in > .irp-door:nth-child(1) {     animation: irpDoorUp 0.6s cubic-bezier(0.16,1,0.3,1) 0.06s forwards;   }   body.ir-live .irp-doors.ir-stagger.ir-in > .irp-door:nth-child(2) {     animation: irpDoorUp 0.6s cubic-bezier(0.16,1,0.3,1) 0.14s forwards;   }   @keyframes irpDoorUp {     0%   { opacity: 0; transform: translateY(20px); }     100% { opacity: 1; transform: translateY(0); }   }   body.ir-live .irp-beats.ir-stagger.ir-in > .irp-beat:nth-child(1) { animation-delay: 0.06s; }   body.ir-live .irp-beats.ir-stagger.ir-in > .irp-beat:nth-child(2) { animation-delay: 0.18s; }   body.ir-live .irp-beats.ir-stagger.ir-in > .irp-beat:nth-child(3) { animation-delay: 0.30s; } } @media (max-width: 768px) {   .irp-doors-wrap { padding: 48px 20px 56px 20px; }   .irp-h2 { font-size: 27px !important; }   .irp-door { padding: 26px 22px; }   .irp-door-situation { font-size: 17.5px; }   .irp-beats-head { margin-top: 56px; }   .irp-beat { padding: 24px 22px 22px 20px; }   .irp-beat h3 { font-size: 20px !important; padding-right: 38px; }   .irp-beat p { font-size: 16.5px; }   .irp-beat::after { font-size: 25px; top: 16px; right: 18px; }   .irp-doors-lead { font-size: 16.5px; text-align: left; } }  /* ── reduced motion ── */ @media (prefers-reduced-motion: reduce) {   body.ir-live .irp-doors-wrap .ir-reveal,   body.ir-live .irp-doors.ir-stagger > .irp-door,   body.ir-live .irp-beats.ir-stagger > .irp-beat {     opacity: 1 !important;     transform: none !important;     animation: none !important;   }   .irp-beat-rule {     transform: scaleX(1) !important;     transition: none !important;     animation: none !important;   }   .irp-door,   .irp-door:hover,   .irp-door:focus-visible {     transform: none !important;     transition: none !important;   }   .irp-door::after {     transition: none !important;     animation: none !important;   }   .irp-door-dest,   .irp-door:hover .irp-door-dest { transition: none !important; gap: 7px !important; } }  /* ── BAND ── */ .irp-band { box-sizing: border-box; width: 100%; } .irp-band--white { background: #FFFFFF; }  .irp-mech {   font-family: inherit;   max-width: 1000px;   margin: 0 auto;   padding: 64px 20px 76px 20px; } .irp-mech, .irp-mech *, .irp-mech *::before, .irp-mech *::after {   box-sizing: border-box; }  .irp-mech .irp-h2 {   font-family: 'Playfair Display', serif !important;   font-size: 34px !important;   font-weight: 700 !important;   color: #294833 !important;   line-height: 1.25 !important;   margin: 0 auto 8px auto !important;   max-width: 860px;   text-align: left !important; }  /* ─────────────────────────────────────────────    THE FLUCTUATION LINE — INSTANCE I of V    variant: --erratic · amplitude 100% · Evergreen stroke    SIGNATURE MOTION DEVICE. Zero labels. Never inside a card.    ───────────────────────────────────────────── */ .irp-flux {   display: block;   width: 100%;   max-width: 640px;   margin: 48px auto;   overflow: visible; } .irp-flux svg {   display: block;   width: 100%;   height: auto;   overflow: visible; } /* dotted baseline: drawn instantly, never animated */ .irp-flux .irp-flux-base {   fill: none;   stroke: rgba(173,200,163,0.45);   stroke-width: 1;   stroke-dasharray: 2 6;   stroke-linecap: round; } /* the waveform */ .irp-flux .irp-flux-path {   fill: none;   stroke: #294833;   stroke-width: 2;   stroke-linecap: round;   /* pathLength is normalized to 1000 on the <path> so the dash maths are      resolution-independent */   stroke-dasharray: 1000;   stroke-dashoffset: 1000; } body.ir-live .irp-flux.ir-reveal.ir-in .irp-flux-path {   animation: irpFluxDraw 1.4s cubic-bezier(.22,1,.36,1) forwards; } @keyframes irpFluxDraw {   from { stroke-dashoffset: 1000; }   to   { stroke-dashoffset: 0; } } /* editor / no-JS: fully drawn */ body:not(.ir-live) .irp-flux .irp-flux-path { stroke-dashoffset: 0; }  /* ─────────────────────────────────────────────    THE MECHANISM CHAIN (irp-chain) — 6 nodes on a drawing rail    ───────────────────────────────────────────── */ .irp-chain {   position: relative;   max-width: 860px;   margin: 0 auto;   padding-left: 64px; }  /* the rail: an SVG line that draws top → bottom */ .irp-chain-rail {   position: absolute;   top: 6px;   left: 22px;   width: 2px;   height: calc(100% - 12px);   overflow: visible; } .irp-chain-rail svg {   display: block;   width: 2px;   height: 100%;   overflow: visible; } .irp-chain-rail line {   stroke: #294833;   stroke-width: 2;   stroke-dasharray: 1000;   stroke-dashoffset: 1000; } body.ir-live .irp-chain.ir-stagger.ir-in .irp-chain-rail line {   animation: irpRailDraw 1.6s cubic-bezier(.22,1,.36,1) forwards; } @keyframes irpRailDraw {   from { stroke-dashoffset: 1000; }   to   { stroke-dashoffset: 0; } } body:not(.ir-live) .irp-chain-rail line { stroke-dashoffset: 0; }  .irp-node {   position: relative;   margin: 0 0 40px 0; } .irp-node:last-child { margin-bottom: 0; }  /* node dot: 11px Evergreen disc with a 3px White ring, on the rail */ .irp-node::before {   content: "";   position: absolute;   top: 8px;   left: -48px;   width: 11px;   height: 11px;   border-radius: 50%;   background: #294833;   box-shadow: 0 0 0 3px #FFFFFF; } /* node number in Playfair, beside the dot */ .irp-node::after {   content: attr(data-node);   position: absolute;   top: 2px;   left: -28px;   font-family: 'Playfair Display', serif;   font-size: 15px;   font-weight: 700;   color: #294833;   line-height: 1.4; }  .irp-node h3 {   font-family: 'Playfair Display', serif !important;   font-size: 22px !important;   font-weight: 700 !important;   color: #294833 !important;   line-height: 1.35 !important;   margin: 0 0 12px 0 !important; } .irp-node p {   font-size: 16.5px;   line-height: 1.7;   color: #4a4a4a;   max-width: 720px;   margin: 0 0 14px 0; } .irp-node p:last-child { margin-bottom: 0; } .irp-node p strong { color: #294833; font-weight: 700; } .irp-node em { font-style: italic; }  /* ── the page's single typographic time-stamp (node 4) ── */ .irp-tag {   display: inline-block;   font-size: 11px;   font-weight: 600;   letter-spacing: 0.14em;   text-transform: uppercase;   padding: 5px 11px;   border-radius: 4px;   border: 1px solid rgba(41,72,51,0.35);   background: rgba(41,72,51,0.08);   color: rgba(41,72,51,0.70);   vertical-align: middle;   margin: 0 10px 8px 0; }  /* ── the Evergreen-left-border callout (node 1, the [7] claim) ──    Same component as §2 / §11a / §15. ONE instance in this section. ── */ .irp-callout {   background: rgba(41,72,51,0.035);   border-left: 4px solid #294833;   border-radius: 0 8px 8px 0;   padding: 20px 24px;   margin: 18px 0 0 0;   max-width: 720px; } .irp-callout p {   font-size: 16.5px;   line-height: 1.7;   color: #4a4a4a;   margin: 0; } .irp-callout p strong { color: #294833; font-weight: 700; }  /* ── node stagger: .10 → .50s (closes at 0.50s; nothing waits) ── */ body.ir-live .irp-chain.ir-stagger > .irp-node { opacity: 0; transform: translateY(26px); } body.ir-live .irp-chain.ir-stagger.ir-in > .irp-node {   animation: irpNodeUp 0.7s cubic-bezier(0.16,1,0.3,1) forwards; } body.ir-live .irp-chain.ir-stagger.ir-in > .irp-node:nth-of-type(1) { animation-delay: 0.10s; } body.ir-live .irp-chain.ir-stagger.ir-in > .irp-node:nth-of-type(2) { animation-delay: 0.18s; } body.ir-live .irp-chain.ir-stagger.ir-in > .irp-node:nth-of-type(3) { animation-delay: 0.26s; } body.ir-live .irp-chain.ir-stagger.ir-in > .irp-node:nth-of-type(4) { animation-delay: 0.34s; } body.ir-live .irp-chain.ir-stagger.ir-in > .irp-node:nth-of-type(5) { animation-delay: 0.42s; } body.ir-live .irp-chain.ir-stagger.ir-in > .irp-node:nth-of-type(6) { animation-delay: 0.50s; } @keyframes irpNodeUp {   0%   { opacity: 0; transform: translateY(26px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── generic reveal for H2 / intro ── */ body.ir-live .irp-mech .ir-reveal { opacity: 0; transform: translateY(28px); } body.ir-live .irp-mech .ir-reveal.ir-in {   animation: irpMechUp 0.8s cubic-bezier(0.16,1,0.3,1) forwards; } /* the Flux wrapper reveals by opacity only — the draw IS the motion */ body.ir-live .irp-mech .irp-flux.ir-reveal { transform: none; } @keyframes irpMechUp {   0%   { opacity: 0; transform: translateY(28px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── mobile: rail left:10px, node indent 40px, ladder ≤0.30s ── */ @media (max-width: 768px) {   .irp-mech { padding: 48px 20px 56px 20px; }   .irp-mech .irp-h2 { font-size: 27px !important; }   .irp-flux { margin: 36px auto; }    .irp-chain { padding-left: 40px; }   .irp-chain-rail { left: 10px; }   .irp-node::before { left: -35px; }   .irp-node::after { left: -18px; font-size: 13px; }   .irp-node { margin-bottom: 32px; }   .irp-node h3 { font-size: 20px !important; }   .irp-node p { font-size: 16px; }   .irp-callout { padding: 18px 20px; }    body.ir-live .irp-chain.ir-stagger.ir-in > .irp-node:nth-of-type(1) { animation-delay: 0.05s; }   body.ir-live .irp-chain.ir-stagger.ir-in > .irp-node:nth-of-type(2) { animation-delay: 0.10s; }   body.ir-live .irp-chain.ir-stagger.ir-in > .irp-node:nth-of-type(3) { animation-delay: 0.15s; }   body.ir-live .irp-chain.ir-stagger.ir-in > .irp-node:nth-of-type(4) { animation-delay: 0.20s; }   body.ir-live .irp-chain.ir-stagger.ir-in > .irp-node:nth-of-type(5) { animation-delay: 0.25s; }   body.ir-live .irp-chain.ir-stagger.ir-in > .irp-node:nth-of-type(6) { animation-delay: 0.30s; } }  /* ── reduced motion ── */ @media (prefers-reduced-motion: reduce) {   body.ir-live .irp-mech .ir-reveal,   body.ir-live .irp-chain.ir-stagger > .irp-node {     opacity: 1 !important;     transform: none !important;     animation: none !important;   }   .irp-flux .irp-flux-path,   .irp-chain-rail line {     stroke-dashoffset: 0 !important;     animation: none !important;     transition: none !important;   } }  /* ── BAND ── */ .irp-band { box-sizing: border-box; width: 100%; } .irp-band--cream { background: #FAFAF7; }  .irp-sym {   font-family: inherit;   max-width: 1120px;   margin: 0 auto;   padding: 64px 20px 76px 20px; } .irp-sym, .irp-sym *, .irp-sym *::before, .irp-sym *::after {   box-sizing: border-box; }  .irp-sym .irp-h2 {   font-family: 'Playfair Display', serif !important;   font-size: 34px !important;   font-weight: 700 !important;   color: #294833 !important;   line-height: 1.25 !important;   margin: 0 auto 0 auto !important;   max-width: 860px;   text-align: center !important; }  /* ─────────────────────────────────────────────    THE FLUCTUATION LINE — INSTANCE II of V    variant: --compressed · amplitude 72% · Evergreen · max-width 420px    ───────────────────────────────────────────── */ .irp-flux {   display: block;   width: 100%;   max-width: 640px;   margin: 48px auto;   overflow: visible; } .irp-flux--compressed { max-width: 420px; } .irp-flux svg {   display: block;   width: 100%;   height: auto;   overflow: visible; } .irp-flux .irp-flux-base {   fill: none;   stroke: rgba(173,200,163,0.45);   stroke-width: 1;   stroke-dasharray: 2 6;   stroke-linecap: round; } .irp-flux .irp-flux-path {   fill: none;   stroke: #294833;   stroke-width: 2;   stroke-linecap: round;   stroke-dasharray: 1000;   stroke-dashoffset: 1000; } body.ir-live .irp-flux.ir-reveal.ir-in .irp-flux-path {   animation: irpFluxDraw 1.4s cubic-bezier(.22,1,.36,1) forwards; } @keyframes irpFluxDraw {   from { stroke-dashoffset: 1000; }   to   { stroke-dashoffset: 0; } } body:not(.ir-live) .irp-flux .irp-flux-path { stroke-dashoffset: 0; }  /* ─────────────────────────────────────────────    7-CARD GRID (card beat) — auto-fit 3-col    ───────────────────────────────────────────── */ .irp-symgrid {   display: grid;   grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));   gap: 24px;   max-width: 1080px;   margin: 0 auto; }  .irp-symcard {   background: #FFFFFF;   padding: 32px 28px;   border-radius: 8px;   border-top: 4px solid #294833;   box-shadow: 0 4px 16px rgba(41,72,51,.08);   transition: transform 0.32s cubic-bezier(0.22,1,0.36,1),               box-shadow 0.32s ease; } .irp-symcard:hover {   transform: translateY(-5px);   box-shadow: 0 14px 30px rgba(41,72,51,.14);   /* a hover can never fight the entrance waterfall */   transition-delay: 0s !important; }  .irp-symcard h3 {   font-family: 'Playfair Display', serif !important;   font-size: 22px !important;   font-weight: 700 !important;   color: #294833 !important;   line-height: 1.35 !important;   margin: 0 0 14px 0 !important; } .irp-symcard p {   font-size: 16px;   line-height: 1.65;   color: #4a4a4a;   margin: 0 0 12px 0; } .irp-symcard p:last-child { margin-bottom: 0; } .irp-symcard p strong { color: #294833; font-weight: 700; } .irp-symcard em { font-style: italic; }  /* card 4's permission line — the ONLY italic in the grid */ .irp-symcard-ask {   font-family: 'Playfair Display', serif !important;   font-style: italic !important;   font-size: 17px !important;   line-height: 1.55 !important;   color: #294833 !important;   margin: 14px 0 0 0 !important; }  /* ── card 7: the deliberate full-width wide card ── */ .irp-symcard--wide {   grid-column: 1 / -1;   background: rgba(173,200,163,0.14);   border-top: 4px solid #ADC8A3; } .irp-symcard--wide .irp-symcard-inner {   max-width: 820px;   margin: 0 auto; } .irp-symcard--wide p { font-size: 17.5px; line-height: 1.75; }  /* ── 7-card waterfall: .08 → .56s (longest ladder on the page) ── */ body.ir-live .irp-symgrid.ir-stagger > * { opacity: 0; transform: translateY(40px); } body.ir-live .irp-symgrid.ir-stagger.ir-in > * {   animation: irpCardUp 0.75s cubic-bezier(0.16,1,0.3,1) forwards; } body.ir-live .irp-symgrid.ir-stagger.ir-in > *:nth-child(1) { animation-delay: 0.08s; } body.ir-live .irp-symgrid.ir-stagger.ir-in > *:nth-child(2) { animation-delay: 0.16s; } body.ir-live .irp-symgrid.ir-stagger.ir-in > *:nth-child(3) { animation-delay: 0.24s; } body.ir-live .irp-symgrid.ir-stagger.ir-in > *:nth-child(4) { animation-delay: 0.32s; } body.ir-live .irp-symgrid.ir-stagger.ir-in > *:nth-child(5) { animation-delay: 0.40s; } body.ir-live .irp-symgrid.ir-stagger.ir-in > *:nth-child(6) { animation-delay: 0.48s; } body.ir-live .irp-symgrid.ir-stagger.ir-in > *:nth-child(7) { animation-delay: 0.56s; } @keyframes irpCardUp {   0%   { opacity: 0; transform: translateY(40px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── generic reveal ── */ body.ir-live .irp-sym .ir-reveal { opacity: 0; transform: translateY(28px); } body.ir-live .irp-sym .ir-reveal.ir-in {   animation: irpSymUp 0.8s cubic-bezier(0.16,1,0.3,1) forwards; } body.ir-live .irp-sym .irp-flux.ir-reveal { transform: none; } @keyframes irpSymUp {   0%   { opacity: 0; transform: translateY(28px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── responsive: 2-col ≤980px, 1-col ≤640px ── */ @media (max-width: 980px) {   .irp-symgrid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 768px) {   .irp-sym { padding: 48px 20px 56px 20px; }   .irp-sym .irp-h2 { font-size: 27px !important; text-align: left !important; }   .irp-flux { margin: 36px auto; }   .irp-symcard { padding: 26px 22px; }   .irp-symcard h3 { font-size: 20px !important; }   .irp-symcard--wide p { font-size: 16.5px; }    /* ladder compressed to ≤0.30s total */   body.ir-live .irp-symgrid.ir-stagger.ir-in > *:nth-child(1) { animation-delay: 0.04s; }   body.ir-live .irp-symgrid.ir-stagger.ir-in > *:nth-child(2) { animation-delay: 0.08s; }   body.ir-live .irp-symgrid.ir-stagger.ir-in > *:nth-child(3) { animation-delay: 0.12s; }   body.ir-live .irp-symgrid.ir-stagger.ir-in > *:nth-child(4) { animation-delay: 0.16s; }   body.ir-live .irp-symgrid.ir-stagger.ir-in > *:nth-child(5) { animation-delay: 0.20s; }   body.ir-live .irp-symgrid.ir-stagger.ir-in > *:nth-child(6) { animation-delay: 0.25s; }   body.ir-live .irp-symgrid.ir-stagger.ir-in > *:nth-child(7) { animation-delay: 0.30s; } } @media (max-width: 640px) {   .irp-symgrid { grid-template-columns: 1fr; } }  /* ── reduced motion ── */ @media (prefers-reduced-motion: reduce) {   body.ir-live .irp-sym .ir-reveal,   body.ir-live .irp-symgrid.ir-stagger > * {     opacity: 1 !important;     transform: none !important;     animation: none !important;   }   .irp-flux .irp-flux-path {     stroke-dashoffset: 0 !important;     animation: none !important;     transition: none !important;   }   .irp-symcard,   .irp-symcard:hover {     transform: none !important;     transition: none !important;   } }  /* ── BAND ── */ .irp-band {   box-sizing: border-box;   width: 100%; } .irp-band--white {   background: #FFFFFF; } .irp-cloud-wrap {   font-family: inherit;   max-width: 1000px;   margin: 0 auto;   padding: 80px 20px 90px 20px; /* Increased padding for better breathing room */ } .irp-cloud-wrap, .irp-cloud-wrap *, .irp-cloud-wrap *::before, .irp-cloud-wrap *::after {   box-sizing: border-box; }  /* ── Typography ── */ .irp-cloud-wrap .irp-h2 {   font-family: 'Playfair Display', serif !important;   font-size: 38px !important;    font-weight: 700 !important;   color: #294833 !important;   line-height: 1.25 !important;   margin: 0 auto 24px auto !important;   max-width: 860px;   text-align: center !important; }  .irp-cloud-lead {   font-size: 19px;   line-height: 1.6;   color: #555555;   max-width: 720px;   margin: 0 auto 56px auto;   text-align: center; }  /* ─────────────────────────────────────────────    THE SYMPTOM CLOUD  ───────────────────────────────────────────── */ .irp-cloud {   max-width: 900px;   margin: 0 auto; }  .irp-cluster {   margin: 0 0 48px 0; /* Increased gap between categories */   padding-left: 16px;   border-left: 3px solid rgba(113, 79, 102, 0.15); /* Soft vertical grounding line */ } .irp-cluster:last-child {   margin-bottom: 0; }  /* Category Labels */ .irp-tag--cluster {   display: inline-flex;   align-items: center;   font-size: 12px;   font-weight: 700;   letter-spacing: 0.18em;   text-transform: uppercase;   color: #714F66;   margin: 0 0 20px 0; }  .irp-chipset {   display: flex;   flex-wrap: wrap;   gap: 12px; /* Slightly more room between chips */ }  /* ── The Chips ── */ .irp-cloud-chip {   display: inline-block;   font-size: 14.5px;   font-weight: 500;   line-height: 1.4;   color: #294833;   background: rgba(219, 200, 221, 0.25); /* Softer, lighter background */   border: 1px solid transparent; /* Removed the harsh border */   border-radius: 8px; /* Modern rounded rectangle instead of full pill */   padding: 8px 16px;   box-shadow: 0 2px 4px rgba(0,0,0,0.02);   transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);   cursor: default; }  /* Chip Hover Effect: Gentle lift and shadow */ .irp-cloud-chip:hover {   background: rgba(219, 200, 221, 0.45);   border-color: rgba(113, 79, 102, 0.2);   transform: translateY(-3px);   box-shadow: 0 6px 12px rgba(113, 79, 102, 0.08);   transition-delay: 0s !important; }  /* ── Closing Line ── */ .irp-cloud-close {   font-size: 17px;   line-height: 1.7;   color: #555555;   max-width: 760px;   margin: 64px auto 0 auto;   text-align: center;   padding-top: 40px;   border-top: 1px solid rgba(0,0,0,0.08); } .irp-cloud-close a {   color: #294833 !important;   font-weight: 600;   text-decoration: none !important;   border-bottom: 2px solid rgba(113, 79, 102, 0.3);   padding-bottom: 2px;   transition: border-color 0.25s ease; } .irp-cloud-close a:hover {   border-bottom-color: #714F66; }  /* ─────────────────────────────────────────────    MOTION (Kept your original stagger logic) ───────────────────────────────────────────── */ body.ir-live .irp-cloud.ir-stagger > .irp-cluster { opacity: 0; transform: translateY(24px); } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster { animation: irpClusterUp 0.7s cubic-bezier(0.16,1,0.3,1) forwards; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster:nth-child(1) { animation-delay: 0.10s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster:nth-child(2) { animation-delay: 0.20s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster:nth-child(3) { animation-delay: 0.30s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster:nth-child(4) { animation-delay: 0.40s; }  @keyframes irpClusterUp {   0%   { opacity: 0; transform: translateY(24px); }   100% { opacity: 1; transform: translateY(0); } }  body.ir-live .irp-cloud.ir-stagger > .irp-cluster .irp-cloud-chip { opacity: 0; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster .irp-cloud-chip { animation: irpChipIn 0.42s ease-out forwards; animation-delay: 0.22s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster .irp-cloud-chip:nth-child(1)  { animation-delay: 0.012s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster .irp-cloud-chip:nth-child(2)  { animation-delay: 0.024s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster .irp-cloud-chip:nth-child(3)  { animation-delay: 0.036s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster .irp-cloud-chip:nth-child(4)  { animation-delay: 0.048s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster .irp-cloud-chip:nth-child(5)  { animation-delay: 0.060s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster .irp-cloud-chip:nth-child(6)  { animation-delay: 0.072s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster .irp-cloud-chip:nth-child(7)  { animation-delay: 0.084s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster .irp-cloud-chip:nth-child(8)  { animation-delay: 0.096s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster .irp-cloud-chip:nth-child(9)  { animation-delay: 0.108s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster .irp-cloud-chip:nth-child(10) { animation-delay: 0.120s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster .irp-cloud-chip:nth-child(11) { animation-delay: 0.132s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster .irp-cloud-chip:nth-child(12) { animation-delay: 0.144s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster .irp-cloud-chip:nth-child(13) { animation-delay: 0.156s; } body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster .irp-cloud-chip:nth-child(14) { animation-delay: 0.168s; }  @keyframes irpChipIn {   0%   { opacity: 0; }   100% { opacity: 1; } }  body.ir-live .irp-cloud-wrap .ir-reveal { opacity: 0; transform: translateY(28px); } body.ir-live .irp-cloud-wrap .ir-reveal.ir-in { animation: irpCloudUp 0.8s cubic-bezier(0.16,1,0.3,1) forwards; }  @keyframes irpCloudUp {   0%   { opacity: 0; transform: translateY(28px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── Mobile Overrides ── */ @media (max-width: 768px) {   .irp-cloud-wrap { padding: 56px 20px 64px 20px; }   .irp-cloud-wrap .irp-h2 { font-size: 30px !important; text-align: left !important; }   .irp-cloud-lead { font-size: 17px; text-align: left; margin-bottom: 40px; }   .irp-cluster { border-left: none; padding-left: 0; } /* Remove vertical line on mobile to save space */   .irp-cloud-close { font-size: 16px; text-align: left; margin-top: 48px; }   .irp-cloud-chip { font-size: 14px; padding: 8px 14px; }   .irp-chipset { gap: 8px; }      /* Mobile motion overrides remain exactly the same as your original */   body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster:nth-child(1) { animation-delay: 0.05s; }   body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster:nth-child(2) { animation-delay: 0.13s; }   body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster:nth-child(3) { animation-delay: 0.21s; }   body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster:nth-child(4) { animation-delay: 0.29s; }   body.ir-live .irp-cloud.ir-stagger.ir-in > .irp-cluster .irp-cloud-chip { animation-delay: 0.02s; } }  @media (prefers-reduced-motion: reduce) {   body.ir-live .irp-cloud-wrap .ir-reveal,    body.ir-live .irp-cloud.ir-stagger > .irp-cluster,    body.ir-live .irp-cloud.ir-stagger > .irp-cluster .irp-cloud-chip {     opacity: 1 !important; transform: none !important; animation: none !important;   }   .irp-cloud-chip, .irp-cloud-chip:hover {     transform: none !important; transition: none !important; box-shadow: none !important;   } }  /* ── BAND ── */ .irp-band { box-sizing: border-box; width: 100%; } .irp-band--cream { background: #FAFAF7; }  .irp-shape {   font-family: inherit;   max-width: 1000px;   margin: 0 auto;   padding: 64px 20px 76px 20px; } .irp-shape, .irp-shape *, .irp-shape *::before, .irp-shape *::after {   box-sizing: border-box; }  .irp-shape .irp-h2 {   font-family: 'Playfair Display', serif !important;   font-size: 34px !important;   font-weight: 700 !important;   color: #294833 !important;   line-height: 1.25 !important;   margin: 0 auto 26px auto !important;   max-width: 880px;   text-align: center !important; }  .irp-shape-intro {   font-size: 17.5px;   line-height: 1.75;   color: #4a4a4a;   max-width: 820px;   margin: 0 auto 18px auto; } .irp-shape-intro:last-of-type { margin-bottom: 0; } .irp-shape-intro strong { color: #294833; font-weight: 700; }  /* ── framework definition line ── */ .irp-shape-def {   font-size: 18.5px;   line-height: 1.65;   color: rgba(41,72,51,0.90);   max-width: 720px;   margin: 36px auto 0 auto;   text-align: center; } .irp-shape-def strong { color: #294833; font-weight: 700; }  /* ─────────────────────────────────────────────    THE FLUCTUATION LINE — INSTANCE III of V    variant: --step · amplitude 60% · MARMOT #714F66 stroke    One hard vertical discontinuity mid-path = the Timing lens.    ───────────────────────────────────────────── */ .irp-flux {   display: block;   width: 100%;   max-width: 640px;   margin: 48px auto;   overflow: visible; } .irp-flux svg {   display: block;   width: 100%;   height: auto;   overflow: visible; } .irp-flux .irp-flux-base {   fill: none;   stroke: rgba(173,200,163,0.45);   stroke-width: 1;   stroke-dasharray: 2 6;   stroke-linecap: round; } .irp-flux .irp-flux-path {   fill: none;   stroke-width: 2;   stroke-linecap: round;   stroke-dasharray: 1000;   stroke-dashoffset: 1000; } /* the ONLY non-Evergreen stroke among the five light-band instances */ .irp-flux--step .irp-flux-path { stroke: #714F66; }  body.ir-live .irp-flux.ir-reveal.ir-in .irp-flux-path {   animation: irpFluxDraw 1.4s cubic-bezier(.22,1,.36,1) forwards; } @keyframes irpFluxDraw {   from { stroke-dashoffset: 1000; }   to   { stroke-dashoffset: 0; } } body:not(.ir-live) .irp-flux .irp-flux-path { stroke-dashoffset: 0; }  /* ─────────────────────────────────────────────    4-UP LENS GRID (irp-lensgrid) — flat tinted reference legend    ───────────────────────────────────────────── */ .irp-lensgrid {   display: grid;   grid-template-columns: repeat(4, 1fr);   gap: 20px;   max-width: 960px;   margin: 44px auto 0 auto; }  .irp-lens {   position: relative;   background: rgba(219,200,221,0.22);   border-top: 3px solid #714F66;   border-radius: 4px;   padding: 26px 22px;   /* FLAT — no shadow, no hover lift. It is a legend, not a card. */   box-shadow: none; }  /* Marmot Playfair numeral, top-right, 40% */ .irp-lens::after {   content: attr(data-lens);   position: absolute;   top: 16px;   right: 18px;   font-family: 'Playfair Display', serif;   font-size: 30px;   font-weight: 700;   line-height: 1;   color: rgba(113,79,102,0.40);   pointer-events: none; }  /* ── THE LENS CHIP — legend half of the §8 ↔ §9 pair.    Geometry is SHARED with §9's irp-tag--lens-dark. Only colour differs. ── */ .irp-tag--lens {   display: inline-block;   font-size: 11px;   font-weight: 600;   letter-spacing: 0.14em;   text-transform: uppercase;   padding: 5px 11px;   border-radius: 4px;   color: #714F66;   border: 1px solid rgba(113,79,102,0.45);   background: rgba(113,79,102,0.08);   margin: 0 0 14px 0; }  .irp-lens p {   font-size: 15.5px;   line-height: 1.6;   color: #4a4a4a;   margin: 0;   padding-right: 6px; } .irp-lens em { font-style: italic; }  /* ── closing line ── */ .irp-shape-close {   font-size: 17.5px;   line-height: 1.75;   color: #4a4a4a;   max-width: 820px;   margin: 38px auto 0 auto;   text-align: center; }  /* ── motion: 4 lens panels .10 → .40s ── */ body.ir-live .irp-lensgrid.ir-stagger > .irp-lens { opacity: 0; transform: translateY(26px); } body.ir-live .irp-lensgrid.ir-stagger.ir-in > .irp-lens {   animation: irpLensUp 0.7s cubic-bezier(0.16,1,0.3,1) forwards; } body.ir-live .irp-lensgrid.ir-stagger.ir-in > .irp-lens:nth-child(1) { animation-delay: 0.10s; } body.ir-live .irp-lensgrid.ir-stagger.ir-in > .irp-lens:nth-child(2) { animation-delay: 0.20s; } body.ir-live .irp-lensgrid.ir-stagger.ir-in > .irp-lens:nth-child(3) { animation-delay: 0.30s; } body.ir-live .irp-lensgrid.ir-stagger.ir-in > .irp-lens:nth-child(4) { animation-delay: 0.40s; } @keyframes irpLensUp {   0%   { opacity: 0; transform: translateY(26px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── generic reveal ── */ body.ir-live .irp-shape .ir-reveal { opacity: 0; transform: translateY(28px); } body.ir-live .irp-shape .ir-reveal.ir-in {   animation: irpShapeUp 0.8s cubic-bezier(0.16,1,0.3,1) forwards; } body.ir-live .irp-shape .irp-flux.ir-reveal { transform: none; } @keyframes irpShapeUp {   0%   { opacity: 0; transform: translateY(28px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── responsive: 2×2 ≤860px, 1-col ≤520px ── */ @media (max-width: 860px) {   .irp-lensgrid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 768px) {   .irp-shape { padding: 48px 20px 56px 20px; }   .irp-shape .irp-h2 { font-size: 27px !important; text-align: left !important; }   .irp-shape-intro { font-size: 16.5px; }   .irp-shape-def { font-size: 17px; text-align: left; }   .irp-shape-close { font-size: 16.5px; text-align: left; }   .irp-flux { margin: 36px auto; }   .irp-lens { padding: 22px 18px; }   .irp-lens::after { font-size: 25px; top: 14px; right: 14px; }    /* ladder compressed to ≤0.30s total */   body.ir-live .irp-lensgrid.ir-stagger.ir-in > .irp-lens:nth-child(1) { animation-delay: 0.06s; }   body.ir-live .irp-lensgrid.ir-stagger.ir-in > .irp-lens:nth-child(2) { animation-delay: 0.14s; }   body.ir-live .irp-lensgrid.ir-stagger.ir-in > .irp-lens:nth-child(3) { animation-delay: 0.22s; }   body.ir-live .irp-lensgrid.ir-stagger.ir-in > .irp-lens:nth-child(4) { animation-delay: 0.30s; } } @media (max-width: 520px) {   .irp-lensgrid { grid-template-columns: 1fr; } }  /* ── reduced motion ── */ @media (prefers-reduced-motion: reduce) {   body.ir-live .irp-shape .ir-reveal,   body.ir-live .irp-lensgrid.ir-stagger > .irp-lens {     opacity: 1 !important;     transform: none !important;     animation: none !important;   }   .irp-flux .irp-flux-path {     stroke-dashoffset: 0 !important;     animation: none !important;     transition: none !important;   } }  /* ── BAND: dark Evergreen, painted in-block, full-bleed ── */ .irp-band { box-sizing: border-box; width: 100%; } .irp-band--evergreen { background: #294833; }  .irp-diff {   font-family: inherit;   max-width: 1000px;   margin: 0 auto;   padding: 72px 20px 80px 20px; } .irp-diff, .irp-diff *, .irp-diff *::before, .irp-diff *::after {   box-sizing: border-box; }  /* ── H2 — Cream on dark ── */ .irp-diff .irp-h2--dark {   font-family: 'Playfair Display', serif !important;   font-size: 34px !important;   font-weight: 700 !important;   color: #FAFAF7 !important;   line-height: 1.25 !important;   margin: 0 auto 20px auto !important;   max-width: 860px;   text-align: center !important; }  .irp-diff-lead {   font-size: 17.5px;   line-height: 1.75;   color: rgba(250,250,247,0.88);   max-width: 760px;   margin: 0 auto 44px auto;   text-align: center; }  /* ─────────────────────────────────────────────    THE DIFFERENTIAL LEDGER    ───────────────────────────────────────────── */ .irp-diffledger {   max-width: 880px;   margin: 0 auto;   display: flex;   flex-direction: column;   gap: 12px; }  .irp-diffrow {   background: rgba(250,250,247,0.06);   border: 1px solid rgba(250,250,247,0.14);   border-radius: 4px;   overflow: hidden; }  /* ── The Clickable Row ── */ .irp-diff-summary {   display: flex;   align-items: flex-start;   flex-wrap: wrap;   gap: 8px 14px;   cursor: pointer;   padding: 20px 56px 20px 24px;   position: relative;   transition: background-color 0.25s ease; } .irp-diff-summary:hover { background-color: rgba(250,250,247,0.03); }  .irp-diff-name {   font-family: 'Playfair Display', serif;   font-size: 20px;   font-weight: 700;   color: #FAFAF7;   line-height: 1.35;   margin: 0;   flex: 1 1 auto;   min-width: 200px; }  .irp-diff-tags {   display: flex;   flex-wrap: wrap;   gap: 7px;   align-items: center;   flex: 0 0 auto;   padding-top: 2px; }  .irp-tag--lens-dark {   display: inline-block;   font-size: 11px;   font-weight: 600;   letter-spacing: 0.14em;   text-transform: uppercase;   padding: 5px 11px;   border-radius: 4px;   color: #DBC8DD;   border: 1px solid rgba(219,200,221,0.45);   background: rgba(219,200,221,0.10);   white-space: nowrap; }  .irp-tag--safety {   display: inline-block;   font-size: 11px;   font-weight: 600;   letter-spacing: 0.14em;   text-transform: uppercase;   padding: 5px 11px;   border-radius: 4px;   color: #EDCC6B;   border: 1px solid rgba(237,204,107,0.55);   background: rgba(237,204,107,0.12);   white-space: nowrap; }  /* ── Expand Marker (+/−) ── */ .irp-diff-summary::after {   content: "+";   position: absolute;   right: 22px;   top: 18px;   font-size: 20px;   line-height: 1.2;   font-weight: 400;   color: #DBC8DD;   transition: transform 0.3s ease; } .irp-diffrow.is-open .irp-diff-summary::after {    content: "−";  }  /* ─────────────────────────────────────────────    SMOOTH GRID ANIMATION    ───────────────────────────────────────────── */ .irp-diff-grid {   display: grid;   grid-template-rows: 0fr;   transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1); } .irp-diffrow.is-open .irp-diff-grid {   grid-template-rows: 1fr; }  .irp-diff-body {   overflow: hidden; }  .irp-diff-body-inner {   padding: 0 24px 22px 24px;   opacity: 0;   transform: translateY(-8px);   transition: opacity 0.3s ease, transform 0.3s ease; } .irp-diffrow.is-open .irp-diff-body-inner {   opacity: 1;   transform: translateY(0);   transition: opacity 0.4s ease 0.1s, transform 0.4s ease 0.1s; }  .irp-diff-body-inner p {   font-size: 16.5px;   line-height: 1.7;   color: rgba(250,250,247,0.88);   margin: 0 0 14px 0; } .irp-diff-body-inner p:last-child { margin-bottom: 0; } .irp-diff-body-inner strong { color: #EDCC6B; font-weight: 700; } .irp-diff-body-inner em { font-style: italic; } .irp-diff-body-inner a {   color: #ADC8A3 !important;   text-decoration: none !important;   border-bottom: 1px solid rgba(173,200,163,0.45); } .irp-diff-body-inner a:hover { border-bottom-color: #ADC8A3; }  /* ─────────────────────────────────────────────    ENTRANCE MOTION (Staggered Load)    ───────────────────────────────────────────── */ body.ir-live .irp-diffledger.ir-stagger > .irp-diffrow { opacity: 0; transform: translateY(28px); } body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow { animation: irpDiffUp 0.65s cubic-bezier(0.16,1,0.3,1) forwards; } body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow:nth-child(1) { animation-delay: 0.06s; } body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow:nth-child(2) { animation-delay: 0.12s; } body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow:nth-child(3) { animation-delay: 0.18s; } body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow:nth-child(4) { animation-delay: 0.24s; } body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow:nth-child(5) { animation-delay: 0.30s; } body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow:nth-child(6) { animation-delay: 0.36s; } body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow:nth-child(7) { animation-delay: 0.42s; } body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow:nth-child(8) { animation-delay: 0.48s; }  @keyframes irpDiffUp {   0%   { opacity: 0; transform: translateY(28px); }   100% { opacity: 1; transform: translateY(0); } }  body.ir-live .irp-diff .ir-reveal { opacity: 0; transform: translateY(28px); } body.ir-live .irp-diff .ir-reveal.ir-in { animation: irpDiffFade 0.8s cubic-bezier(0.16,1,0.3,1) forwards; }  @keyframes irpDiffFade {   0%   { opacity: 0; transform: translateY(28px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── MOBILE OVERRIDES ── */ @media (max-width: 768px) {   .irp-diff { padding: 52px 20px 60px 20px; }   .irp-diff .irp-h2--dark { font-size: 27px !important; text-align: left !important; }   .irp-diff-lead { font-size: 16.5px; text-align: left; margin-bottom: 34px; }   .irp-diff-summary { padding: 18px 46px 18px 18px; }   .irp-diff-name { font-size: 18px; min-width: 0; flex-basis: 100%; }   .irp-diff-body-inner { padding: 0 18px 20px 18px; }   .irp-diff-body-inner p { font-size: 16px; }   .irp-diff-summary::after { right: 16px; top: 16px; }    body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow:nth-child(1) { animation-delay: 0.04s; }   body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow:nth-child(2) { animation-delay: 0.07s; }   body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow:nth-child(3) { animation-delay: 0.11s; }   body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow:nth-child(4) { animation-delay: 0.15s; }   body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow:nth-child(5) { animation-delay: 0.19s; }   body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow:nth-child(6) { animation-delay: 0.22s; }   body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow:nth-child(7) { animation-delay: 0.26s; }   body.ir-live .irp-diffledger.ir-stagger.ir-in > .irp-diffrow:nth-child(8) { animation-delay: 0.30s; } }  @media (prefers-reduced-motion: reduce) {   body.ir-live .irp-diff .ir-reveal,   body.ir-live .irp-diffledger.ir-stagger > .irp-diffrow {     opacity: 1 !important;     transform: none !important;     animation: none !important;   }   .irp-diff-grid, .irp-diff-body-inner { transition: none !important; } }  /* ── BAND ── */ .irp-band { box-sizing: border-box; width: 100%; } .irp-band--cream { background: #FAFAF7; }  .irp-labs {   font-family: inherit;   max-width: 1000px;   margin: 0 auto;   padding: 64px 20px 76px 20px; } .irp-labs, .irp-labs *, .irp-labs *::before, .irp-labs *::after {   box-sizing: border-box; }  .irp-labs .irp-h2 {   font-family: 'Playfair Display', serif !important;   font-size: 34px !important;   font-weight: 700 !important;   color: #294833 !important;   line-height: 1.25 !important;   margin: 0 auto 40px auto !important;   max-width: 860px;   text-align: center !important; }  /* ─────────────────────────────────────────────    TWO FLAT LEDGER COLUMNS (irp-labledger)    Equal height on desktop — the parity IS the argument.    ───────────────────────────────────────────── */ .irp-labledger {   display: grid;   grid-template-columns: 1fr 1fr;   gap: 28px;   align-items: stretch;   max-width: 920px;   margin: 0 auto; }  .irp-labcol {   display: flex;   flex-direction: column;   border-radius: 4px;   padding: 28px 26px 26px 26px;   /* FLAT: no shadow, no hover lift */   box-shadow: none; } .irp-labcol--ask  { background: rgba(173,200,163,0.14); border-top: 2px solid #ADC8A3; } .irp-labcol--skip { background: rgba(113,79,102,0.10);  border-top: 2px solid #714F66; }  .irp-labcol h3 {   font-family: 'Playfair Display', serif !important;   font-size: 20px !important;   font-weight: 700 !important;   color: #294833 !important;   line-height: 1.35 !important;   margin: 0 0 20px 0 !important; }  .irp-labcol ul {   list-style: none;   margin: 0 0 20px 0;   padding: 0;   flex: 1 1 auto; } .irp-labcol li {   position: relative;   font-size: 16.5px;   line-height: 1.6;   color: #4a4a4a;   padding-left: 20px;   margin: 0 0 13px 0; } .irp-labcol li:last-child { margin-bottom: 0; }  /* bullet markers: 7px Sprout disc (left) / 7px Marmot disc (right) */ .irp-labcol li::before {   content: "";   position: absolute;   left: 0;   top: 9px;   width: 7px;   height: 7px;   border-radius: 50%; } .irp-labcol--ask  li::before { background: #ADC8A3; } .irp-labcol--skip li::before { background: #714F66; }  /* column footer line */ .irp-labcol-foot {   font-size: 15.5px;   line-height: 1.6;   color: rgba(41,72,51,0.80);   margin: 0;   padding-top: 16px;   border-top: 1px solid rgba(41,72,51,0.10); } .irp-labcol-foot strong { color: #294833; font-weight: 700; }  /* ─────────────────────────────────────────────    SPROUT-RAIL INLINE CALLOUT — the skepticism line.    No card: a 3px Sprout left rail only.    ───────────────────────────────────────────── */ .irp-callout--sprout {   border-left: 3px solid #ADC8A3;   background: transparent;   padding: 4px 0 4px 22px;   margin: 40px auto 0 auto;   max-width: 820px; } .irp-callout--sprout p {   font-size: 17px;   line-height: 1.75;   color: #4a4a4a;   margin: 0 0 14px 0; } .irp-callout--sprout p:last-child { margin-bottom: 0; } .irp-callout--sprout strong { color: #294833; font-weight: 700; }  /* ── the full verbatim paragraph (the columns are only the scan layer) ── */ .irp-labs-full {   font-size: 16.5px;   line-height: 1.75;   color: #4a4a4a;   max-width: 820px;   margin: 36px auto 0 auto; } .irp-labs-full strong { color: #294833; font-weight: 700; }  /* ── motion: left → right, .10 / .24s ── */ body.ir-live .irp-labledger.ir-stagger > .irp-labcol { opacity: 0; transform: translateY(26px); } body.ir-live .irp-labledger.ir-stagger.ir-in > .irp-labcol {   animation: irpLabUp 0.72s cubic-bezier(0.16,1,0.3,1) forwards; } body.ir-live .irp-labledger.ir-stagger.ir-in > .irp-labcol:nth-child(1) { animation-delay: 0.10s; } body.ir-live .irp-labledger.ir-stagger.ir-in > .irp-labcol:nth-child(2) { animation-delay: 0.24s; } @keyframes irpLabUp {   0%   { opacity: 0; transform: translateY(26px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── generic reveal ── */ body.ir-live .irp-labs .ir-reveal { opacity: 0; transform: translateY(28px); } body.ir-live .irp-labs .ir-reveal.ir-in {   animation: irpLabsUp 0.8s cubic-bezier(0.16,1,0.3,1) forwards; } @keyframes irpLabsUp {   0%   { opacity: 0; transform: translateY(28px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── responsive: stacked ≤860px ── */ @media (max-width: 860px) {   .irp-labledger { grid-template-columns: 1fr; gap: 18px; } } @media (max-width: 768px) {   .irp-labs { padding: 48px 20px 56px 20px; }   .irp-labs .irp-h2 { font-size: 27px !important; text-align: left !important; margin-bottom: 30px !important; }   .irp-labcol { padding: 22px 20px; }   .irp-labcol li { font-size: 16px; }   .irp-callout--sprout { margin-top: 30px; padding-left: 18px; }   .irp-callout--sprout p { font-size: 16.5px; }   .irp-labs-full { font-size: 16px; }    /* ladder compressed to ≤0.30s total */   body.ir-live .irp-labledger.ir-stagger.ir-in > .irp-labcol:nth-child(1) { animation-delay: 0.06s; }   body.ir-live .irp-labledger.ir-stagger.ir-in > .irp-labcol:nth-child(2) { animation-delay: 0.18s; } }  /* ── reduced motion ── */ @media (prefers-reduced-motion: reduce) {   body.ir-live .irp-labs .ir-reveal,   body.ir-live .irp-labledger.ir-stagger > .irp-labcol {     opacity: 1 !important;     transform: none !important;     animation: none !important;   } }  /* ── BAND ── */ .irp-band { box-sizing: border-box; width: 100%; } .irp-band--white { background: #FFFFFF; }  .irp-helps {   font-family: inherit;   max-width: 1000px;   margin: 0 auto;   padding: 64px 20px 80px 20px; } .irp-helps, .irp-helps *, .irp-helps *::before, .irp-helps *::after {   box-sizing: border-box; }  .irp-helps .irp-h2 {   font-family: 'Playfair Display', serif !important;   font-size: 34px !important;   font-weight: 700 !important;   color: #294833 !important;   line-height: 1.25 !important;   margin: 0 auto 0 auto !important;   max-width: 860px;   text-align: center !important; }  /* ─────────────────────────────────────────────    THE FLUCTUATION LINE — INSTANCE IV of V    variant: --damped · amplitude 35% · Evergreen    ───────────────────────────────────────────── */ .irp-flux {   display: block;   width: 100%;   max-width: 640px;   margin: 48px auto;   overflow: visible; } .irp-flux svg { display: block; width: 100%; height: auto; overflow: visible; } .irp-flux .irp-flux-base {   fill: none;   stroke: rgba(173,200,163,0.45);   stroke-width: 1;   stroke-dasharray: 2 6;   stroke-linecap: round; } .irp-flux .irp-flux-path {   fill: none;   stroke: #294833;   stroke-width: 2;   stroke-linecap: round;   stroke-dasharray: 1000;   stroke-dashoffset: 1000; } body.ir-live .irp-flux.ir-reveal.ir-in .irp-flux-path {   animation: irpFluxDraw 1.4s cubic-bezier(.22,1,.36,1) forwards; } @keyframes irpFluxDraw {   from { stroke-dashoffset: 1000; }   to   { stroke-dashoffset: 0; } } body:not(.ir-live) .irp-flux .irp-flux-path { stroke-dashoffset: 0; }  /* ─────────────────────────────────────────────    11a — FIXED SCOPE BANNER (the regulatory frame)    ───────────────────────────────────────────── */ .irp-scopebanner {   background: rgba(41,72,51,0.035);   border-left: 4px solid #294833;   border-radius: 0 8px 8px 0;   padding: 24px 28px;   max-width: 880px;   margin: 0 auto 48px auto; } .irp-scopebanner h3 {   font-family: 'Playfair Display', serif !important;   font-size: 20px !important;   font-weight: 700 !important;   color: #294833 !important;   margin: 0 0 12px 0 !important;   line-height: 1.35 !important; } .irp-scopebanner p {   font-size: 16.5px;   line-height: 1.7;   color: #4a4a4a;   margin: 0; } .irp-scopebanner strong { color: #294833; font-weight: 700; }  /* ─────────────────────────────────────────────    11b — 5 SCOPE-TAGGED OPTION PANELS (irp-option)    ───────────────────────────────────────────── */ .irp-options {   display: flex;   flex-direction: column;   gap: 24px;   max-width: 860px;   margin: 0 auto; }  .irp-option {   position: relative;   background: rgba(41,72,51,0.03);   border-left: 3px solid #294833;   border-radius: 0 6px 6px 0;   padding: 28px 32px; }  .irp-option-head {   display: flex;   align-items: flex-start;   justify-content: space-between;   gap: 14px;   margin-bottom: 14px; } .irp-option h3 {   font-family: 'Playfair Display', serif !important;   font-size: 22px !important;   font-weight: 700 !important;   color: #294833 !important;   line-height: 1.35 !important;   margin: 0 !important;   flex: 1 1 auto; }  /* ── THE SCOPE CHIP — same base geometry as every irp-tag variant ── */ .irp-tag--scope {   display: inline-block;   flex: 0 0 auto;   font-size: 11px;   font-weight: 600;   letter-spacing: 0.14em;   text-transform: uppercase;   padding: 5px 11px;   border-radius: 4px;   white-space: nowrap;   color: #294833;   border: 1px solid rgba(41,72,51,0.40);   background: rgba(41,72,51,0.08);   margin-top: 4px; } /* the ONE Sprout chip on the page: "this is ours" */ .irp-tag--scope-ours {   color: #3d5a45;   border-color: rgba(173,200,163,0.95);   background: rgba(173,200,163,0.26); } /* Evergreen at 70% for the therapy-and-lifestyle panel */ .irp-tag--scope-soft {   color: rgba(41,72,51,0.70);   border-color: rgba(41,72,51,0.28);   background: rgba(41,72,51,0.05); }  .irp-option p {   font-size: 16.5px;   line-height: 1.7;   color: #4a4a4a;   margin: 0 0 14px 0; } .irp-option p:last-child { margin-bottom: 0; } .irp-option strong { color: #294833; font-weight: 700; } .irp-option em { font-style: italic; }  /* nested 1./2. considerations inside the hormone-therapy panel —    Evergreen Playfair numerals, NOT a third card system */ .irp-subnum {   list-style: none;   counter-reset: irpsub;   margin: 16px 0 0 0;   padding: 0; } .irp-subnum li {   position: relative;   counter-increment: irpsub;   padding-left: 34px;   margin: 0 0 14px 0;   font-size: 16.5px;   line-height: 1.7;   color: #4a4a4a; } .irp-subnum li:last-child { margin-bottom: 0; } .irp-subnum li::before {   content: counter(irpsub) ".";   position: absolute;   left: 0;   top: -1px;   font-family: 'Playfair Display', serif;   font-size: 19px;   font-weight: 700;   color: #294833; }  /* ─────────────────────────────────────────────    11c — 2-STEP CARE-TEAM STEPPER (irp-steps)    ───────────────────────────────────────────── */ .irp-steps-head {   font-family: 'Playfair Display', serif !important;   font-size: 26px !important;   font-weight: 700 !important;   color: #294833 !important;   text-align: center !important;   margin: 64px auto 8px auto !important;   max-width: 860px;   line-height: 1.3 !important; } .irp-steps-lead {   font-size: 17px;   line-height: 1.7;   color: #4a4a4a;   max-width: 760px;   margin: 0 auto 36px auto;   text-align: center; }  .irp-steps {   position: relative;   max-width: 860px;   margin: 0 auto;   display: flex;   flex-direction: column;   gap: 30px; }  .irp-step {   position: relative;   padding-left: 72px; } .irp-step::before {   content: attr(data-step);   position: absolute;   left: 0;   top: -6px;   font-family: 'Playfair Display', serif;   font-size: 44px;   font-weight: 700;   line-height: 1;   color: rgba(41,72,51,0.55); }  /* connecting hairline between the two numerals: draws on entry */ .irp-step-rule {   position: absolute;   left: 21px;   top: 46px;   width: 1px;   height: calc(100% - 34px);   background-color: rgba(41,72,51,0.30);   transform: scaleY(0);   transform-origin: top;   transition: transform 0.9s cubic-bezier(0.22,1,0.36,1) 0.2s;   border: 0;   margin: 0; } body.ir-live .irp-steps.ir-stagger.ir-in .irp-step-rule { transform: scaleY(1); } body:not(.ir-live) .irp-step-rule { transform: scaleY(1); }  .irp-step h4 {   font-family: 'Playfair Display', serif !important;   font-size: 20px !important;   font-weight: 700 !important;   color: #294833 !important;   margin: 0 0 10px 0 !important;   line-height: 1.35 !important; } .irp-step p {   font-size: 16.5px;   line-height: 1.7;   color: #4a4a4a;   margin: 0 0 12px 0; } .irp-step p:last-child { margin-bottom: 0; } .irp-step strong { color: #294833; font-weight: 700; }  /* the one contextual sibling link */ .irp-sibling-link {   color: #294833 !important;   font-weight: 600;   text-decoration: none !important;   border-bottom: 1.5px solid rgba(41,72,51,0.30);   padding-bottom: 1px;   transition: border-color 0.25s ease; } .irp-sibling-link:hover { border-bottom-color: #294833; }  /* OHIP / insurance line — Sprout-rail inline callout */ .irp-callout--sprout {   border-left: 3px solid #ADC8A3;   background: transparent;   padding: 4px 0 4px 22px;   margin: 34px auto 0 auto;   max-width: 820px; } .irp-callout--sprout p {   font-size: 16.5px;   line-height: 1.75;   color: #4a4a4a;   margin: 0; } .irp-callout--sprout strong { color: #294833; font-weight: 700; }  /* ── the quiet inline chatbot trigger (1 of 2 on the page) ── */ .irp-inline-cta {   font-size: 17px;   line-height: 1.75;   color: #4a4a4a;   max-width: 820px;   margin: 30px auto 0 auto;   text-align: center; } .irp-inline-link {   position: relative;   color: #294833 !important;   font-weight: 600;   text-decoration: none !important;   border-bottom: 1.5px solid rgba(237,204,107,0.85);   padding-bottom: 1px;   cursor: pointer;   transition: border-color 0.25s ease; } .irp-inline-link:hover { border-bottom-color: #EDCC6B; }  /* ─────────────────────────────────────────────    MOTION    ───────────────────────────────────────────── */ /* scope banner: OPACITY ONLY — it should not move */ body.ir-live .irp-scopebanner.ir-reveal { opacity: 0; transform: none; } body.ir-live .irp-scopebanner.ir-reveal.ir-in {   animation: irpFadeOnly 0.8s ease-out forwards; } @keyframes irpFadeOnly {   0%   { opacity: 0; }   100% { opacity: 1; } }  /* 5 option panels: .08 → .40s */ body.ir-live .irp-options.ir-stagger > .irp-option { opacity: 0; transform: translateY(28px); } body.ir-live .irp-options.ir-stagger.ir-in > .irp-option {   animation: irpOptUp 0.7s cubic-bezier(0.16,1,0.3,1) forwards; } body.ir-live .irp-options.ir-stagger.ir-in > .irp-option:nth-child(1) { animation-delay: 0.08s; } body.ir-live .irp-options.ir-stagger.ir-in > .irp-option:nth-child(2) { animation-delay: 0.16s; } body.ir-live .irp-options.ir-stagger.ir-in > .irp-option:nth-child(3) { animation-delay: 0.24s; } body.ir-live .irp-options.ir-stagger.ir-in > .irp-option:nth-child(4) { animation-delay: 0.32s; } body.ir-live .irp-options.ir-stagger.ir-in > .irp-option:nth-child(5) { animation-delay: 0.40s; } @keyframes irpOptUp {   0%   { opacity: 0; transform: translateY(28px); }   100% { opacity: 1; transform: translateY(0); } }  /* stepper */ body.ir-live .irp-steps.ir-stagger > .irp-step { opacity: 0; transform: translateY(24px); } body.ir-live .irp-steps.ir-stagger.ir-in > .irp-step {   animation: irpOptUp 0.7s cubic-bezier(0.16,1,0.3,1) forwards; } body.ir-live .irp-steps.ir-stagger.ir-in > .irp-step:nth-of-type(1) { animation-delay: 0.10s; } body.ir-live .irp-steps.ir-stagger.ir-in > .irp-step:nth-of-type(2) { animation-delay: 0.24s; }  /* generic reveal */ body.ir-live .irp-helps .ir-reveal:not(.irp-scopebanner) { opacity: 0; transform: translateY(28px); } body.ir-live .irp-helps .ir-reveal.ir-in:not(.irp-scopebanner) {   animation: irpHelpsUp 0.8s cubic-bezier(0.16,1,0.3,1) forwards; } body.ir-live .irp-helps .irp-flux.ir-reveal { transform: none; } @keyframes irpHelpsUp {   0%   { opacity: 0; transform: translateY(28px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── mobile ── */ @media (max-width: 768px) {   .irp-helps { padding: 48px 20px 60px 20px; }   .irp-helps .irp-h2 { font-size: 27px !important; text-align: left !important; }   .irp-flux { margin: 36px auto; }   .irp-scopebanner { padding: 22px 20px; margin-bottom: 36px; }   .irp-option { padding: 24px 22px; }   .irp-option-head { flex-direction: column; gap: 10px; }   .irp-option h3 { font-size: 20px !important; }   .irp-tag--scope { margin-top: 0; }   .irp-steps-head { font-size: 23px !important; margin-top: 48px !important; text-align: left !important; }   .irp-steps-lead { font-size: 16.5px; text-align: left; }   .irp-step { padding-left: 52px; }   .irp-step::before { font-size: 34px; }   .irp-step-rule { left: 15px; top: 36px; }   .irp-inline-cta { font-size: 16.5px; text-align: left; }    /* ladders compressed to ≤0.30s total */   body.ir-live .irp-options.ir-stagger.ir-in > .irp-option:nth-child(1) { animation-delay: 0.06s; }   body.ir-live .irp-options.ir-stagger.ir-in > .irp-option:nth-child(2) { animation-delay: 0.12s; }   body.ir-live .irp-options.ir-stagger.ir-in > .irp-option:nth-child(3) { animation-delay: 0.18s; }   body.ir-live .irp-options.ir-stagger.ir-in > .irp-option:nth-child(4) { animation-delay: 0.24s; }   body.ir-live .irp-options.ir-stagger.ir-in > .irp-option:nth-child(5) { animation-delay: 0.30s; }   body.ir-live .irp-steps.ir-stagger.ir-in > .irp-step:nth-of-type(1) { animation-delay: 0.06s; }   body.ir-live .irp-steps.ir-stagger.ir-in > .irp-step:nth-of-type(2) { animation-delay: 0.18s; } }  /* ── reduced motion ── */ @media (prefers-reduced-motion: reduce) {   body.ir-live .irp-helps .ir-reveal,   body.ir-live .irp-scopebanner.ir-reveal,   body.ir-live .irp-options.ir-stagger > .irp-option,   body.ir-live .irp-steps.ir-stagger > .irp-step {     opacity: 1 !important;     transform: none !important;     animation: none !important;   }   .irp-flux .irp-flux-path {     stroke-dashoffset: 0 !important;     animation: none !important;     transition: none !important;   }   .irp-step-rule {     transform: scaleY(1) !important;     transition: none !important;     animation: none !important;   } }  /* ── BAND ── */ .irp-band { box-sizing: border-box; width: 100%; } .irp-band--cream { background: #FAFAF7; }  .irp-living {   font-family: inherit;   max-width: 1000px;   margin: 0 auto;   padding: 64px 20px 76px 20px; } .irp-living, .irp-living *, .irp-living *::before, .irp-living *::after {   box-sizing: border-box; }  .irp-living .irp-h2 {   font-family: 'Playfair Display', serif !important;   font-size: 34px !important;   font-weight: 700 !important;   color: #294833 !important;   line-height: 1.25 !important;   margin: 0 auto 40px auto !important;   max-width: 860px;   text-align: center !important; }  /* ─────────────────────────────────────────────    12a — 2-COL FLAT FIELD PANELS (irp-field)    ───────────────────────────────────────────── */ .irp-fieldgrid {   display: grid;   grid-template-columns: 1fr 1fr;   gap: 24px;   max-width: 940px;   margin: 0 auto; }  .irp-field {   position: relative;   background: #FFFFFF;   border: 1px solid rgba(41,72,51,0.10);   border-radius: 6px;   padding: 26px 28px;   /* FLAT: no shadow. Hover darkens the border only — NO LIFT. */   box-shadow: none;   transition: border-color 0.3s ease; } .irp-field:hover { border-color: rgba(41,72,51,0.24); }  .irp-field-head {   display: flex;   align-items: flex-start;   justify-content: space-between;   gap: 12px;   margin-bottom: 12px; } .irp-field h3 {   font-family: 'Playfair Display', serif !important;   font-size: 21px !important;   font-weight: 700 !important;   color: #294833 !important;   line-height: 1.35 !important;   margin: 0 !important;   flex: 1 1 auto; } .irp-field p {   font-size: 16.5px;   line-height: 1.7;   color: #4a4a4a;   margin: 0 0 12px 0; } .irp-field p:last-child { margin-bottom: 0; } .irp-field strong { color: #294833; font-weight: 700; } .irp-field a {   color: #294833 !important;   font-weight: 600;   text-decoration: none !important;   border-bottom: 1.5px solid rgba(41,72,51,0.30);   padding-bottom: 1px;   transition: border-color 0.25s ease; } .irp-field a:hover { border-bottom-color: #294833; }  /* ── the ONE urgent-flagged panel on the page ── */ .irp-field--urgent {   border-left: 3px solid #EDCC6B;   border-top-color: rgba(41,72,51,0.10);   border-right-color: rgba(41,72,51,0.10);   border-bottom-color: rgba(41,72,51,0.10); } .irp-field--urgent:hover { border-left-color: #EDCC6B; }  .irp-tag--urgent {   display: inline-block;   flex: 0 0 auto;   font-size: 10px;   font-weight: 700;   letter-spacing: 0.14em;   text-transform: uppercase;   padding: 5px 11px;   border-radius: 4px;   background: #EDCC6B;   color: #294833;   border: 1px solid #EDCC6B;   white-space: nowrap;   margin-top: 3px; }  /* the one 18px emphasis inside the urgent panel */ .irp-field--urgent .irp-pmb {   font-size: 18px !important;   font-weight: 700;   color: #294833; }  /* ─────────────────────────────────────────────    12b — THE DOCTOR SCRIPT (irp-script) — flat, full-width    ───────────────────────────────────────────── */ .irp-script {   max-width: 880px;   margin: 56px auto 0 auto; } .irp-script h3 {   font-family: 'Playfair Display', serif !important;   font-size: 26px !important;   font-weight: 700 !important;   color: #294833 !important;   line-height: 1.3 !important;   margin: 0 0 16px 0 !important;   text-align: center !important; } .irp-script-intro {   font-size: 17px;   line-height: 1.75;   color: #4a4a4a;   max-width: 780px;   margin: 0 auto 34px auto;   text-align: center; }  .irp-script-lines {   max-width: 800px;   margin: 0 auto; } .irp-script-line {   position: relative;   padding: 22px 0 22px 54px;   border-bottom: 1px solid rgba(41,72,51,0.12); } .irp-script-line:first-child { border-top: 1px solid rgba(41,72,51,0.12); }  /* large Sunflower quote glyph in the left gutter */ .irp-script-line::before {   content: "\201C";   position: absolute;   left: 0;   top: 14px;   font-family: 'Playfair Display', serif;   font-size: 34px;   line-height: 1;   color: #EDCC6B;   opacity: 0;   transition: opacity 0.6s ease; } body.ir-live .irp-script-lines.ir-stagger.ir-in .irp-script-line::before {   opacity: 0.55;   transition-delay: 0.1s; } /* editor / no-JS: glyph visible */ body:not(.ir-live) .irp-script-line::before { opacity: 0.55; }  .irp-script-line p {   font-family: 'Playfair Display', serif;   font-style: italic;   font-size: 19px;   line-height: 1.55;   color: #294833;   margin: 0; }  .irp-script-close {   font-size: 17px;   line-height: 1.75;   color: #4a4a4a;   max-width: 800px;   margin: 28px auto 0 auto; }  /* ─────────────────────────────────────────────    12c — THE INCLUSION BEAT — the plainest block here, on purpose    ───────────────────────────────────────────── */ .irp-quiet {   background: rgba(41,72,51,0.035);   border: none;   border-radius: 6px;   padding: 30px 32px;   max-width: 880px;   margin: 56px auto 0 auto; } .irp-quiet h3 {   font-family: 'Playfair Display', serif !important;   font-size: 21px !important;   font-weight: 700 !important;   color: #294833 !important;   line-height: 1.35 !important;   margin: 0 0 14px 0 !important; } .irp-quiet p {   font-size: 17.5px;   line-height: 1.75;   color: #4a4a4a;   max-width: 820px;   margin: 0; }  /* ─────────────────────────────────────────────    MOTION    ───────────────────────────────────────────── */ /* 4 field panels, .08 steps */ body.ir-live .irp-fieldgrid.ir-stagger > .irp-field { opacity: 0; transform: translateY(26px); } body.ir-live .irp-fieldgrid.ir-stagger.ir-in > .irp-field {   animation: irpFieldUp 0.7s cubic-bezier(0.16,1,0.3,1) forwards; } body.ir-live .irp-fieldgrid.ir-stagger.ir-in > .irp-field:nth-child(1) { animation-delay: 0.08s; } body.ir-live .irp-fieldgrid.ir-stagger.ir-in > .irp-field:nth-child(2) { animation-delay: 0.16s; } body.ir-live .irp-fieldgrid.ir-stagger.ir-in > .irp-field:nth-child(3) { animation-delay: 0.24s; } body.ir-live .irp-fieldgrid.ir-stagger.ir-in > .irp-field:nth-child(4) { animation-delay: 0.32s; } @keyframes irpFieldUp {   0%   { opacity: 0; transform: translateY(26px); }   100% { opacity: 1; transform: translateY(0); } }  /* script lines .10 / .22 / .34s */ body.ir-live .irp-script-lines.ir-stagger > .irp-script-line { opacity: 0; transform: translateY(20px); } body.ir-live .irp-script-lines.ir-stagger.ir-in > .irp-script-line {   animation: irpFieldUp 0.7s cubic-bezier(0.16,1,0.3,1) forwards; } body.ir-live .irp-script-lines.ir-stagger.ir-in > .irp-script-line:nth-child(1) { animation-delay: 0.10s; } body.ir-live .irp-script-lines.ir-stagger.ir-in > .irp-script-line:nth-child(2) { animation-delay: 0.22s; } body.ir-live .irp-script-lines.ir-stagger.ir-in > .irp-script-line:nth-child(3) { animation-delay: 0.34s; }  /* 12c: OPACITY ONLY, no transform */ body.ir-live .irp-quiet.ir-reveal { opacity: 0; transform: none; } body.ir-live .irp-quiet.ir-reveal.ir-in {   animation: irpQuietFade 0.85s ease-out forwards; } @keyframes irpQuietFade {   0%   { opacity: 0; }   100% { opacity: 1; } }  /* generic reveal */ body.ir-live .irp-living .ir-reveal:not(.irp-quiet) { opacity: 0; transform: translateY(28px); } body.ir-live .irp-living .ir-reveal.ir-in:not(.irp-quiet) {   animation: irpLivingUp 0.8s cubic-bezier(0.16,1,0.3,1) forwards; } @keyframes irpLivingUp {   0%   { opacity: 0; transform: translateY(28px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── mobile ── */ @media (max-width: 768px) {   .irp-living { padding: 48px 20px 56px 20px; }   .irp-living .irp-h2 { font-size: 27px !important; text-align: left !important; margin-bottom: 30px !important; }   .irp-fieldgrid { grid-template-columns: 1fr; gap: 16px; }   .irp-field { padding: 22px 20px; }   .irp-field-head { flex-direction: column; gap: 10px; }   .irp-field h3 { font-size: 19.5px !important; }   .irp-tag--urgent { margin-top: 0; }   .irp-script { margin-top: 44px; }   .irp-script h3 { font-size: 23px !important; text-align: left !important; }   .irp-script-intro { font-size: 16.5px; text-align: left; }   .irp-script-line { padding: 18px 0 18px 42px; }   .irp-script-line p { font-size: 17.5px; }   .irp-script-line::before { font-size: 29px; top: 12px; }   .irp-script-close { font-size: 16.5px; }   .irp-quiet { padding: 24px 22px; margin-top: 44px; }   .irp-quiet p { font-size: 16.5px; }    /* ladders compressed to ≤0.30s total */   body.ir-live .irp-fieldgrid.ir-stagger.ir-in > .irp-field:nth-child(1) { animation-delay: 0.05s; }   body.ir-live .irp-fieldgrid.ir-stagger.ir-in > .irp-field:nth-child(2) { animation-delay: 0.13s; }   body.ir-live .irp-fieldgrid.ir-stagger.ir-in > .irp-field:nth-child(3) { animation-delay: 0.21s; }   body.ir-live .irp-fieldgrid.ir-stagger.ir-in > .irp-field:nth-child(4) { animation-delay: 0.29s; }   body.ir-live .irp-script-lines.ir-stagger.ir-in > .irp-script-line:nth-child(1) { animation-delay: 0.06s; }   body.ir-live .irp-script-lines.ir-stagger.ir-in > .irp-script-line:nth-child(2) { animation-delay: 0.18s; }   body.ir-live .irp-script-lines.ir-stagger.ir-in > .irp-script-line:nth-child(3) { animation-delay: 0.30s; } }  /* ── reduced motion ── */ @media (prefers-reduced-motion: reduce) {   body.ir-live .irp-living .ir-reveal,   body.ir-live .irp-quiet.ir-reveal,   body.ir-live .irp-fieldgrid.ir-stagger > .irp-field,   body.ir-live .irp-script-lines.ir-stagger > .irp-script-line {     opacity: 1 !important;     transform: none !important;     animation: none !important;   }   .irp-script-line::before {     opacity: 0.55 !important;     transition: none !important;     animation: none !important;   }   .irp-field,   .irp-field:hover { transition: none !important; } }  /* ── BAND ── */ .irp-band { box-sizing: border-box; width: 100%; } .irp-band--white { background: #FFFFFF; }  .irp-crisis-wrap {   font-family: inherit;   max-width: 900px;   margin: 0 auto;   padding: 64px 20px 72px 20px; } .irp-crisis-wrap, .irp-crisis-wrap *, .irp-crisis-wrap *::before, .irp-crisis-wrap *::after {   box-sizing: border-box; }  /* ── the crisis block ── */ .irp-crisis {   background-color: #FAFAF7;   border-left: 4px solid #EDCC6B;   border-radius: 0 8px 8px 0;   padding: 32px 36px;   max-width: 780px;   margin: 0 auto;   /* no shadow, no lift, no transition: this block never moves */ }  .irp-crisis h2 {   font-family: 'Playfair Display', serif !important;   color: #294833 !important;   font-size: 30px !important;   font-weight: 700 !important;   text-align: left !important;   margin-top: 0 !important;   margin-bottom: 20px !important;   line-height: 1.3 !important; }  .irp-crisis p {   font-size: 17px;   line-height: 1.75;   color: #4a4a4a;   margin: 0 0 18px 0; } .irp-crisis p:last-child { margin-bottom: 0; } .irp-crisis strong { color: #294833; font-weight: 600; }  /* grabbable number: larger than body, Evergreen 700 */ .irp-crisis-num {   font-size: 19px !important;   font-weight: 700 !important;   color: #294833 !important;   text-decoration: underline;   text-decoration-color: rgba(237,204,107,0.9);   text-underline-offset: 4px; } /* the two verbatim verbs become the two taps: call → tel, text → sms */ .irp-crisis-verb {   color: #294833 !important;   font-weight: 700;   text-decoration: underline;   text-decoration-color: rgba(237,204,107,0.9);   text-underline-offset: 3px; }  .irp-crisis a:not(.irp-crisis-num):not(.irp-crisis-verb) {   color: #294833 !important;   font-weight: 600;   text-decoration: none !important;   border-bottom: 1.5px solid rgba(41,72,51,0.30);   padding-bottom: 1px; } .irp-crisis a:not(.irp-crisis-num):not(.irp-crisis-verb):hover { border-bottom-color: #294833; }  .irp-crisis-close { font-style: italic; }  /* ── mobile ── */ @media (max-width: 768px) {   .irp-crisis-wrap { padding: 48px 20px 56px 20px; }   .irp-crisis { padding: 26px 24px; }   .irp-crisis h2 { font-size: 25px !important; }   .irp-crisis p { font-size: 16px; }   .irp-crisis-num { font-size: 18px !important; } }  /* ── reduced motion: nothing animates here anyway; stated explicitly       so this block can never inherit a reveal from elsewhere ── */ @media (prefers-reduced-motion: reduce) {   .irp-crisis-wrap,   .irp-crisis,   .irp-crisis * {     opacity: 1 !important;     transform: none !important;     animation: none !important;     transition: none !important;   } }  /* ── HARD GUARD: even if a global reveal rule ever targets this       subtree, it stays visible. ── */ body.ir-live .irp-crisis, body.ir-live .irp-crisis * {   opacity: 1 !important;   transform: none !important;   animation: none !important; }  /* ── BAND: dark Evergreen, painted in-block, full-bleed ── */ .irp-band { box-sizing: border-box; width: 100%; } .irp-band--evergreen { background: #294833; }  .irp-better {   font-family: inherit;   max-width: 1000px;   margin: 0 auto;   padding: 76px 20px 84px 20px; } .irp-better, .irp-better *, .irp-better *::before, .irp-better *::after {   box-sizing: border-box; }  .irp-better .irp-h2--dark {   font-family: 'Playfair Display', serif !important;   font-size: 36px !important;   font-weight: 700 !important;   color: #FAFAF7 !important;   line-height: 1.22 !important;   margin: 0 auto 28px auto !important;   max-width: 820px;   text-align: center !important; }  .irp-better-body {   font-size: 17.5px;   line-height: 1.75;   color: rgba(250,250,247,0.92);   max-width: 760px;   margin: 0 auto 20px auto; } .irp-better-body:last-of-type { margin-bottom: 0; } .irp-better-body strong { color: #EDCC6B; font-weight: 700; }  /* ─────────────────────────────────────────────    THE FLUCTUATION LINE — INSTANCE V of V · THE RESOLUTION    variant: --settled · amplitude 8% → dead flat from x=420    stroke: Sprout → Sunflower in the final third · draw 1.8s    ───────────────────────────────────────────── */ .irp-flux {   display: block;   width: 100%;   max-width: 640px;   margin: 56px auto;   overflow: visible; } .irp-flux svg { display: block; width: 100%; height: auto; overflow: visible; }  /* dark-band baseline: Sprout at 50% per the base spec */ .irp-flux .irp-flux-base {   fill: none;   stroke: rgba(173,200,163,0.50);   stroke-width: 1;   stroke-dasharray: 2 6;   stroke-linecap: round; } .irp-flux .irp-flux-path {   fill: none;   stroke-width: 2;   stroke-linecap: round;   stroke-dasharray: 1000;   stroke-dashoffset: 1000; } /* the only gradient-stroked instance: Sprout → Sunflower terminal */ .irp-flux--settled .irp-flux-path { stroke: url(#irpFluxSettledGrad); }  /* 1.8s — the slowest instance on the page. It settles, it doesn't draw. */ body.ir-live .irp-flux--settled.ir-reveal.ir-in .irp-flux-path {   animation: irpFluxSettle 1.8s cubic-bezier(.22,1,.36,1) forwards; } @keyframes irpFluxSettle {   from { stroke-dashoffset: 1000; }   to   { stroke-dashoffset: 0; } } body:not(.ir-live) .irp-flux .irp-flux-path { stroke-dashoffset: 0; }  /* ─────────────────────────────────────────────    THE PAGE'S SINGLE PULL-QUOTE (irp-quote)    ───────────────────────────────────────────── */ .irp-quote {   position: relative;   font-family: 'Playfair Display', serif !important;   font-style: italic !important;   font-size: 26px !important;   line-height: 1.5 !important;   color: #FAFAF7 !important; /* Forces text to stay off-white */   background: rgba(250, 250, 247, 0.05) !important; /* Kills the solid white box, uses a very subtle transparent fill instead */   border: none !important;    border-left: 3px solid #EDCC6B !important; /* Keeps the Sunflower yellow accent line */   padding: 32px 40px !important;   margin: 56px auto !important;   max-width: 760px;   box-shadow: none !important; /* Removes any default builder shadows */   border-radius: 0 8px 8px 0; /* Softens the right corners */ } .irp-quote::after {   content: "”";   font-family: 'Playfair Display', serif;   position: absolute;   right: 24px;   bottom: -40px;   font-size: 120px;   color: rgba(237, 204, 107, 0.08); /* Very faint yellow */   line-height: 1;   pointer-events: none; }  /* ─────────────────────────────────────────────    MOTION — reveal on H2/body; pull-quote fades with NO transform    ───────────────────────────────────────────── */ body.ir-live .irp-better .ir-reveal:not(.irp-quote):not(.irp-flux) {   opacity: 0;   transform: translateY(28px); } body.ir-live .irp-better .ir-reveal.ir-in:not(.irp-quote):not(.irp-flux) {   animation: irpBetterUp 0.85s cubic-bezier(0.16,1,0.3,1) forwards; } @keyframes irpBetterUp {   0%   { opacity: 0; transform: translateY(28px); }   100% { opacity: 1; transform: translateY(0); } }  /* flux + quote: opacity only */ body.ir-live .irp-better .irp-flux.ir-reveal { opacity: 0; transform: none; } body.ir-live .irp-better .irp-flux.ir-reveal.ir-in {   animation: irpBetterFade 0.7s ease-out forwards; } body.ir-live .irp-better .irp-quote.ir-reveal { opacity: 0; transform: none; } body.ir-live .irp-better .irp-quote.ir-reveal.ir-in {   animation: irpBetterFade 1s ease-out forwards; } @keyframes irpBetterFade {   0%   { opacity: 0; }   100% { opacity: 1; } }  /* ── mobile ── */ @media (max-width: 768px) {   .irp-better { padding: 56px 20px 64px 20px; }   .irp-better .irp-h2--dark { font-size: 28px !important; text-align: left !important; }   .irp-better-body { font-size: 16.5px; }   .irp-flux { margin: 40px auto; }   .irp-quote {     font-size: 20.5px;     margin: 34px auto;     padding-left: 18px;   } }  /* ── reduced motion: all five Flux instances included ── */ @media (prefers-reduced-motion: reduce) {   body.ir-live .irp-better .ir-reveal,   body.ir-live .irp-better .irp-quote.ir-reveal,   body.ir-live .irp-better .irp-flux.ir-reveal {     opacity: 1 !important;     transform: none !important;     animation: none !important;   }   .irp-flux .irp-flux-path {     stroke-dashoffset: 0 !important;     animation: none !important;     transition: none !important;   } }  /* ── BAND ── */ .irp-band { box-sizing: border-box; width: 100%; } .irp-band--cream { background: #FAFAF7; }  .irp-scope-wrap {   font-family: inherit;   max-width: 1000px;   margin: 0 auto;   padding: 64px 20px 72px 20px; } .irp-scope-wrap, .irp-scope-wrap *, .irp-scope-wrap *::before, .irp-scope-wrap *::after {   box-sizing: border-box; }  .irp-scope-wrap .irp-h2 {   font-family: 'Playfair Display', serif !important;   font-size: 32px !important;   font-weight: 700 !important;   color: #294833 !important;   line-height: 1.25 !important;   margin: 0 auto 28px auto !important;   max-width: 860px;   text-align: center !important; }  /* ── the regulatory callout — same component as §2 and §11a ── */ .irp-callout {   background: rgba(41,72,51,0.035);   border-left: 4px solid #294833;   border-radius: 0 8px 8px 0;   padding: 26px 30px;   max-width: 880px;   margin: 0 auto; } .irp-callout p {   font-size: 16.5px;   line-height: 1.7;   color: #4a4a4a;   margin: 0 0 16px 0; } .irp-callout p:last-child { margin-bottom: 0; } .irp-callout strong { color: #294833; font-weight: 700; }  .irp-scope-crisis {   padding-top: 16px;   border-top: 1px solid rgba(41,72,51,0.12); } .irp-crisis-num {   font-size: 18px !important;   font-weight: 700 !important;   color: #294833 !important;   text-decoration: underline;   text-decoration-color: rgba(237,204,107,0.9);   text-underline-offset: 4px; }  /* ─────────────────────────────────────────────    COMPACT THERAPIST CREDENTIAL ROW (irp-people) — 3 cards    ───────────────────────────────────────────── */ .irp-people {   display: grid;   grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));   gap: 20px;   max-width: 900px;   margin: 48px auto 0 auto; }  .irp-person {   text-align: center;   padding: 8px 10px; }  .irp-person img {   width: 96px;   height: 96px;   border-radius: 50%;   object-fit: cover;   border: 2px solid rgba(173,200,163,0.85);   display: block;   margin: 0 auto 14px auto;   background: rgba(173,200,163,0.18);   transition: border-color 0.32s ease,               transform 0.32s cubic-bezier(0.22,1,0.36,1); } .irp-person:hover img {   border-color: #ADC8A3;   transform: scale(1.04); }  .irp-person-name {   font-family: 'Playfair Display', serif;   font-size: 17px;   font-weight: 700;   color: #294833;   margin: 0 0 4px 0;   line-height: 1.3; } .irp-person-cred {   font-size: 13px;   color: rgba(41,72,51,0.70);   margin: 0 0 10px 0; }  .irp-person-link {   position: relative;   display: inline-block;   font-size: 13.5px;   font-weight: 600;   color: #294833 !important;   text-decoration: none !important;   padding-bottom: 3px; } .irp-person-link::after {   content: "";   position: absolute;   left: 0;   bottom: 0;   width: 100%;   height: 1.5px;   background-color: rgba(237,204,107,0.75);   transform: scaleX(0);   transform-origin: left;   transition: transform 0.34s cubic-bezier(0.22,1,0.36,1),               background-color 0.34s ease; } .irp-person:hover .irp-person-link::after, .irp-person-link:hover::after {   transform: scaleX(1);   background-color: #EDCC6B; } /* editor / no-JS: underline visible so the link is never unstyled */ body:not(.ir-live) .irp-person-link::after { transform: scaleX(1); }  /* ── byline row — the E-E-A-T signal ── */ .irp-byline {   font-size: 14px;   line-height: 1.7;   color: rgba(41,72,51,0.70);   text-align: center;   max-width: 880px;   margin: 36px auto 0 auto;   padding-top: 20px;   border-top: 1px solid rgba(41,72,51,0.10); } .irp-byline strong { color: rgba(41,72,51,0.85); font-weight: 600; }  /* ─────────────────────────────────────────────    MOTION — reveal + credential row stagger .10 steps    ───────────────────────────────────────────── */ body.ir-live .irp-people.ir-stagger > .irp-person { opacity: 0; transform: translateY(26px); } body.ir-live .irp-people.ir-stagger.ir-in > .irp-person {   animation: irpPersonUp 0.75s cubic-bezier(0.16,1,0.3,1) forwards; } body.ir-live .irp-people.ir-stagger.ir-in > .irp-person:nth-child(1) { animation-delay: 0.10s; } body.ir-live .irp-people.ir-stagger.ir-in > .irp-person:nth-child(2) { animation-delay: 0.20s; } body.ir-live .irp-people.ir-stagger.ir-in > .irp-person:nth-child(3) { animation-delay: 0.30s; } @keyframes irpPersonUp {   0%   { opacity: 0; transform: translateY(26px); }   100% { opacity: 1; transform: translateY(0); } }  body.ir-live .irp-scope-wrap .ir-reveal { opacity: 0; transform: translateY(28px); } body.ir-live .irp-scope-wrap .ir-reveal.ir-in {   animation: irpScopeUp 0.8s cubic-bezier(0.16,1,0.3,1) forwards; } @keyframes irpScopeUp {   0%   { opacity: 0; transform: translateY(28px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── responsive: 2-col ≤860px, 1-col ≤520px ── */ @media (max-width: 860px) {   .irp-people { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 768px) {   .irp-scope-wrap { padding: 48px 20px 56px 20px; }   .irp-scope-wrap .irp-h2 { font-size: 27px !important; text-align: left !important; }   .irp-callout { padding: 22px 20px; }   .irp-byline { font-size: 13.5px; }    /* ladder compressed to ≤0.30s total */   body.ir-live .irp-people.ir-stagger.ir-in > .irp-person:nth-child(1) { animation-delay: 0.06s; }   body.ir-live .irp-people.ir-stagger.ir-in > .irp-person:nth-child(2) { animation-delay: 0.16s; }   body.ir-live .irp-people.ir-stagger.ir-in > .irp-person:nth-child(3) { animation-delay: 0.26s; } } @media (max-width: 520px) {   .irp-people { grid-template-columns: 1fr; gap: 14px; } }  /* ── reduced motion ── */ @media (prefers-reduced-motion: reduce) {   body.ir-live .irp-scope-wrap .ir-reveal,   body.ir-live .irp-people.ir-stagger > .irp-person {     opacity: 1 !important;     transform: none !important;     animation: none !important;   }   .irp-person img,   .irp-person:hover img { transform: none !important; transition: none !important; }   .irp-person-link::after,   .irp-person:hover .irp-person-link::after {     transform: scaleX(1) !important;     transition: none !important;     animation: none !important;   } }  /* ── full-bleed Evergreen band, painted here like the hero ── */ .irp-final-cta {   font-family: inherit;   text-align: center;   padding: 96px 24px;   background: #294833; } .irp-final-cta, .irp-final-cta *, .irp-final-cta *::before, .irp-final-cta *::after {   box-sizing: border-box; } .irp-cta-inner {   max-width: 1200px;   margin: 0 auto; }  .irp-final-cta h2 {   font-family: 'Playfair Display', serif !important;   color: #FAFAF7 !important;   font-size: 40px !important;   font-weight: 700 !important;   line-height: 1.15 !important;   margin: 0 auto 16px auto !important;   max-width: 20ch; }  .irp-cta-sub {   color: rgba(250,250,247,0.8);   font-size: 18px;   font-style: italic;   line-height: 1.6;   max-width: 560px;   margin: 0 auto 36px; }  /* ── the button: Sunflower on Evergreen ── */ .irp-btn {   display: inline-block;   background: #EDCC6B;   color: #294833 !important;   font-size: 17px;   font-weight: 600;   padding: 18px 36px;   border-radius: 999px;   text-decoration: none !important;   border: none !important;   cursor: pointer;   box-shadow: 0 4px 16px rgba(237,204,107,0.4);   transition: transform .2s ease, box-shadow .2s ease; } .irp-btn:hover {   transform: translateY(-2px);   box-shadow: 0 8px 24px rgba(237,204,107,0.55); }  .irp-cta-micro {   margin-top: 22px;   font-size: 14px;   font-style: normal;   color: rgba(250,250,247,0.6); }  /* ── keep-reading strip ── */ .irp-keepreading {   margin-top: 28px;   padding-top: 22px;   border-top: 1px solid rgba(250,250,247,0.12);   font-size: 14.5px;   line-height: 1.9; } .irp-keepreading-label {   color: rgba(250,250,247,0.55);   margin-right: 6px; } .irp-keepreading a {   color: #ADC8A3 !important;   text-decoration: none !important;   transition: color 0.25s ease; } .irp-keepreading a:hover { color: #EDCC6B !important; } .irp-keepreading-sep {   color: rgba(250,250,247,0.35);   margin: 0 10px; }  /* ── reveal: hooks defined locally for this section ── */ body.ir-live .irp-final-cta .ir-reveal { opacity: 0; transform: translateY(40px); } body.ir-live .irp-final-cta .ir-reveal.ir-in {   animation: irpCtaUp 0.8s cubic-bezier(0.16,1,0.3,1) forwards; } body.ir-live .irp-final-cta .irp-cta-delay-1.ir-in { animation-delay: 0.1s; } @keyframes irpCtaUp {   0%   { opacity: 0; transform: translateY(40px); }   100% { opacity: 1; transform: translateY(0); } }  /* ── mobile ── */ @media (max-width: 768px) {   .irp-final-cta { padding: 64px 20px; }   .irp-final-cta h2 { font-size: 30px !important; }   .irp-cta-sub { font-size: 16.5px; }   .irp-btn {     display: block;     width: 100%;     max-width: 340px;     margin: 0 auto;     min-height: 48px;   }   .irp-keepreading-sep { margin: 0 7px; } }  /* ── reduced motion ── */ @media (prefers-reduced-motion: reduce) {   body.ir-live .irp-final-cta .ir-reveal {     opacity: 1 !important;     transform: none !important;     animation: none !important;   }   .irp-btn,   .irp-btn:hover { transform: none !important; transition: none !important; }   .irp-keepreading a { transition: none !important; } }  :root {   --ir-font: 'Playfair Display', Georgia, serif;   --evergreen: #294833;   --sprout: #ADC8A3;   --sunflower: #EDCC6B;   --cream: #FAFAF7;   --text-dark: #2C2C2C;   --text-light: #5A5A5A; } .ir-sp { font-family: var(--ir-font); color: var(--evergreen); } .ir-sp *, .ir-sp *::before, .ir-sp *::after { box-sizing: border-box; } .ir-sp a { color: var(--evergreen); } .ir-container { max-width: 1200px; margin: 0 auto; } .ir-band { padding: 40px 24px 10px 24px; } .ir-band--cream { background: var(--cream); } .ir-head-center { text-align: center; } .ir-head-center .ir-section-sub { margin-left: auto; margin-right: auto; } .ir-eyebrow-sm { font-size: 13px; font-weight: 600; letter-spacing: 3.5px; text-transform: uppercase; color: rgba(41,72,51,0.6); margin-bottom: 14px; } .ir-h2 { font-size: 42px; line-height: 1.15; font-weight: 700; color: var(--evergreen); margin: 0 0 12px; } .ir-section-sub { font-style: italic; font-size: 19px; color: rgba(41,72,51,0.72); margin: 0 0 44px; max-width: 620px; } .ir-accordion { max-width: 860px; margin: 0 auto; text-align: left; } .ir-acc-item { background: #fff; border: 1px solid rgba(173,200,163,0.28); border-radius: 12px; margin-bottom: 12px; overflow: hidden; box-shadow: 0 2px 10px rgba(41,72,51,0.04); } .ir-acc-item summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 24px; font-size: 17px; font-weight: 600; color: var(--evergreen); } .ir-acc-item summary::-webkit-details-marker { display: none; } .ir-acc-item summary::after { content: "+"; font-size: 22px; line-height: 1; color: var(--sunflower); font-weight: 400; flex-shrink: 0; transition: transform 0.25s ease; } .ir-acc-item[open] summary::after { transform: rotate(45deg); color: var(--evergreen); } .ir-acc-item .ir-acc-body { padding: 0 24px 22px; font-size: 15.5px; line-height: 1.7; color: rgba(41,72,51,0.85); } .ir-acc-item .ir-acc-body a { border-bottom: 1.5px solid var(--sunflower); text-decoration: none; } .ir-faq-steer { margin-top: 14px; font-size: 15px; } .ir-faq-steer a { border-bottom: 1.5px solid var(--sunflower); text-decoration: none; font-weight: 600; color: var(--evergreen); } body.ir-live .ir-reveal { opacity: 0; transform: translateY(40px); } body.ir-live .ir-reveal.ir-in { animation: irWaterfallUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; } body.ir-live .ir-reveal-delay-1.ir-in { animation-delay: 0.1s; } body.ir-live .ir-reveal-delay-2.ir-in { animation-delay: 0.2s; } @media (prefers-reduced-motion: reduce) { body.ir-live .ir-reveal { opacity: 1 !important; transform: none !important; animation: none !important; } } @media (max-width: 768px) {   .ir-band { padding: 64px 20px; }   .ir-h2 { font-size: 32px; }   .ir-acc-item summary { padding: 17px 18px; font-size: 16px; }   .ir-acc-item .ir-acc-body { padding: 0 18px 18px; } } @keyframes irWaterfallUp { 0% { opacity: 0; transform: translateY(40px); } 100% { opacity: 1; transform: translateY(0); } }  /* ── BAND ── */ .irp-band { box-sizing: border-box; width: 100%; } .irp-band--cream { background: #FAFAF7; }  .irp-refs-wrap {   font-family: inherit;   max-width: 1000px;   margin: 0 auto;   padding: 64px 20px 72px 20px; } .irp-refs-wrap, .irp-refs-wrap *, .irp-refs-wrap *::before, .irp-refs-wrap *::after {   box-sizing: border-box; }  /* ── references card — COUPLED to the house component ── */ .references-section {   max-width: 860px;   margin: 0 auto;   padding: 40px;   background-color: #f9faf9;   border-top: 1px solid rgba(41, 72, 51, 0.15);   border-radius: 8px;   font-family: inherit; }  .references-section h2 {   font-family: 'Playfair Display', serif !important;   font-size: 32px !important;   font-weight: 700 !important;   color: #294833 !important;   margin-top: 0 !important;   margin-bottom: 24px !important;   line-height: 1.3 !important; }  .ref-list {   display: flex;   flex-direction: column;   gap: 16px; } .ref-item {   display: flex;   align-items: baseline;   font-size: 14px;   line-height: 1.6;   color: rgba(41, 72, 51, 0.80); } .ref-num {   font-family: 'Playfair Display', serif;   font-size: 16px;   font-weight: 700;   color: #294833;   min-width: 32px;   flex-shrink: 0; } .ref-text { flex-grow: 1; } .ref-text i { color: #294833; font-style: italic; } .ref-text a {   color: #294833;   text-decoration: underline;   text-decoration-color: rgba(41, 72, 51, 0.3);   text-underline-offset: 3px;   transition: all 0.2s ease;   overflow-wrap: anywhere; } .ref-text a:hover {   text-decoration-color: #294833;   color: #1e3626; }  /* ── footer disclaimer ── */ .irp-refs-disclaimer {   font-size: 13.5px;   font-style: italic;   line-height: 1.7;   color: rgba(41, 72, 51, 0.65);   text-align: center;   max-width: 820px;   margin: 28px auto 0 auto; }  /* ── reveal: OPACITY ONLY ── */ body.ir-live .irp-refs-wrap .ir-reveal { opacity: 0; } body.ir-live .irp-refs-wrap .ir-reveal.ir-in {   animation: irpRefsFade 0.9s ease-out forwards; } @keyframes irpRefsFade {   0%   { opacity: 0; }   100% { opacity: 1; } }  /* ── mobile ── */ @media (max-width: 768px) {   .irp-refs-wrap { padding: 48px 20px 56px 20px; }   .references-section { padding: 26px 22px; }   .references-section h2 { font-size: 27px !important; }   .ref-item { font-size: 13px; }   .ref-num { min-width: 28px; font-size: 15px; } }  /* ── reduced motion ── */ @media (prefers-reduced-motion: reduce) {   body.ir-live .irp-refs-wrap .ir-reveal {     opacity: 1 !important;     transform: none !important;     animation: none !important;   }   .ref-text a { transition: none !important; } } #sp-dip9vp{background-color: rgb(41, 72, 51); width: 100%; max-width: 100%; padding: 0px;}#sp-n6j0vd{padding: 20px 0px 0px; background-color: rgb(41, 72, 51); width: auto; max-width: 1920px; margin-top: 0px;}#sp-bg6zw7{width: calc(100% + 0px);}#sp-gie22n{margin: 0px;}#sp-ozu1hu{margin: 0px;}#sp-e2a14b{background-color: rgb(250, 250, 247); width: 100%; max-width: 100%; padding: 10px 0px;}#sp-wk5qvk{width: calc(100% + 0px);}#sp-yqa5xd{margin: 0px;}#sp-ejd5m5{background-color: rgb(255, 255, 255); width: 100%; max-width: 100%;}#sp-mo8z14{width: calc(100% + 0px);}#sp-v9casb{margin: 0px;}#sp-qzafsb{background-color: rgb(250, 250, 247); width: 100%; max-width: 100%;}#sp-zt3fnp{width: calc(100% + 0px);}#sp-a0fkyz{margin: 0px;}#sp-kqb0ci{background-color: rgb(255, 255, 255); width: 100%; max-width: 100%;}#sp-hobjm0{width: calc(100% + 0px);}#sp-q5pgzy{margin: 0px;}#sp-m50fpm{background-color: rgb(250, 250, 247); width: 100%; max-width: 100%;}#sp-de59ld{width: calc(100% + 0px);}#sp-aq68kf{margin: 0px;}#sp-aa0u7c{background-color: rgb(255, 255, 255); width: 100%; max-width: 100%;}#sp-exbwkb{width: calc(100% + 0px);}#sp-tvw1sv{margin: 0px;}#sp-tbwxt1{background-color: rgb(250, 250, 247); width: 100%; max-width: 100%;}#sp-av10ll{width: calc(100% + 0px);}#sp-kudmnk{margin: 0px;}#sp-kbcesh7urt{margin-top:18px;}#sp-xyuuua{background-color: rgb(41, 72, 51); width: 100%; max-width: 100%;}#sp-u6f967{width: calc(100% + 0px);}#sp-u7p1b9{margin: 0px;}#sp-q0bwak{background-color: rgb(250, 250, 247); width: 100%; max-width: 100%;}#sp-o2lxyr{width: calc(100% + 0px);}#sp-n5yjq6{margin: 0px;}#sp-ykd5ql{background-color: rgb(255, 255, 255); width: 100%; max-width: 100%;}#sp-dmgegk{width: calc(100% + 0px);}#sp-d8u7s3{margin: 0px;}#sp-f1jjg967z2{text-decoration: underline;}#sp-vm7vml{background-color: rgb(250, 250, 247); width: 100%; max-width: 100%;}#sp-nfbu1m{width: calc(100% + 0px);}#sp-v25xy3{margin: 0px;}#sp-g52rp7{width: 100%; max-width: 100%;}#sp-efqruh{width: calc(100% + 0px);}#sp-shxwgx{margin: 0px;}#sp-is1alc{background-color: rgb(41, 72, 51); width: 100%; max-width: 100%;}#sp-vgxq5m{background-color: rgb(41, 72, 51);}#sp-m8ueye{width: calc(100% + 0px);}#sp-gxwr10{margin: 0px;}#sp-trsjw6{background-color: rgb(250, 250, 247); width: 100%; max-width: 100%;}#sp-dt1jz1{width: calc(100% + 0px);}#sp-tkat9f{margin: 0px;}#sp-q9n077{background-color: rgb(41, 72, 51); width: 100%; max-width: 100%;}#sp-s5bqz9{width: calc(100% + 0px);}#sp-yaax9i{margin: 0px;}#sp-k5pioh{background-color: rgb(250, 250, 247); width: 100%; max-width: 100%; padding: 40px 0px 80px;}#sp-icn8a9{width: auto; max-width: 1200px;}#sp-todb1g{width: calc(100% + 0px);}#sp-zx6i2v{margin: 0px;}#sp-gntoiu{margin: 0px;}#sp-kgm57axyqn{margin: 0px 0px 12px;}#sp-acc-closed-icon-id-gntoiu{width: 32px; line-height: 32px;}#sp-acc-open-icon-id-gntoiu{width: 32px; line-height: 32px; color: rgb(41, 72, 51);}#sp-f1eddjwzqq{color: rgb(41, 72, 51);}#sp-qxzctkyw6c{border-top: 1px solid rgb(39, 39, 39);}#sp-k8x4df1in4{margin: 12px 0px;}#sp-qs7yip0sfs{color: rgb(41, 72, 51);}#sp-e24i10ow8b{border-top: 1px solid rgb(39, 39, 39);}#sp-vpmq128vfb{margin: 12px 0px;}#sp-bbcxv9njl8{color: rgb(41, 72, 51);}#sp-cx37qq3aku{border-top: 1px solid rgb(39, 39, 39);}#sp-tp6zi0e3he{margin: 12px 0px;}#sp-fohmmz07nq{color: rgb(41, 72, 51);}#sp-v5v1as8uea{border-top: 1px solid rgb(39, 39, 39);}#sp-r4w2wcfm1z{margin: 12px 0px;}#sp-n836b60tgd{color: rgb(41, 72, 51);}#sp-zo4fh73h9v{border-top: 1px solid rgb(39, 39, 39);}#sp-ulvhjgkr5u{margin: 12px 0px;}#sp-epwrpuznug{color: rgb(41, 72, 51);}#sp-84ngle8ayc{border-top: 1px solid rgb(39, 39, 39);}#sp-5g65fumovy{margin: 12px 0px;}#sp-o4fzsa6p6r{color: rgb(41, 72, 51);}#sp-sc21ocsy3x{border-top: 1px solid rgb(39, 39, 39);}#sp-62t6uiqb6p{margin: 12px 0px;}#sp-tw4ykfj1nn{color: rgb(41, 72, 51);}#sp-sr91s2unof{border-top: 1px solid rgb(39, 39, 39);}#sp-ne8001p5fh{margin: 12px 0px 0px;}#sp-d961p79jg9{color: rgb(41, 72, 51);}#sp-0bhbi56x8g{border-top: 0px solid rgb(39, 39, 39);}#sp-e8m8rt{background-color: rgb(250, 250, 247); width: 100%; max-width: 100%; padding: 40px 0px 80px;}#sp-sea2xd{width: auto; max-width: 1200px;}#sp-b17ao2{width: calc(100% + 0px);}#sp-ejp2y1{margin: 0px;}@media only screen and (max-width: 480px) { #sp-n6j0vd {padding:0px 0px 0px 0px  !important;} #sp-zx6i2v {margin:0px 0px 0px 0px  !important;padding:0px 0px 0px 0px  !important;}}