@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,600&family=Geist:wght@400;500;600;700;800&family=Bebas+Neue&family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&family=Instrument+Serif:ital@0;1&family=Caladea:ital,wght@0,400;0,700;1,400;1,700&family=Inter:wght@400;500;600;700&display=swap');
/* ==========================================================================
   IFA WORKSHOP page — native replica of React <IFAWorkshop/>. Scoped to .ifa-native.
   (Chunk 1: hero + live poll + AI adoption matrix.)
   ========================================================================== */

/* ── Astra full-bleed + heading gradient-text reset (same as article/newsroom) ── */
body.ifa-page #content { background:#FEFBF5; }
body.ifa-page #content > .ast-container { max-width:100% !important; padding-left:0 !important; padding-right:0 !important; width:100% !important; }
body.ifa-page { background:#FEFBF5; }
/* Full-bleed wrapper + hard-lock the centered inners (defends against Astra/BB cascade). */
body.ifa-page .ifa-native { width:100% !important; max-width:100% !important; margin:0 !important; }
body.ifa-page .ifa-native .ifa-hero,
body.ifa-page .ifa-native .ifa-matrix { width:100% !important; max-width:100% !important; }
body.ifa-page .ifa-native .ifa-hero-inner { max-width:1200px !important; margin-left:auto !important; margin-right:auto !important; }
body.ifa-page .ifa-native .ifa-matrix-inner { max-width:1100px !important; margin-left:auto !important; margin-right:auto !important; }
body.ifa-page .ifa-native h1, body.ifa-page .ifa-native h2, body.ifa-page .ifa-native h3, body.ifa-page .ifa-native h4,
body.ifa-page .ifa-native h1 *, body.ifa-page .ifa-native h2 *, body.ifa-page .ifa-native h3 * {
  background:none !important; -webkit-background-clip:border-box !important; background-clip:border-box !important;
  -webkit-text-fill-color:currentColor !important;
}

.ifa-native { font-family:"Geist",sans-serif; color:#0B1F3D; -webkit-font-smoothing:antialiased; }
.ifa-native *, .ifa-native *::before, .ifa-native *::after { box-sizing:border-box; }
.ifa-native img { display:block; max-width:100%; }
.ifa-native .it { font-family:"Fraunces",serif; font-style:italic; }

/* ============ HERO + LIVE POLL ============ */
.ifa-native .ifa-hero { position:relative; overflow:hidden; padding:32px 24px 64px; }
@media (min-width:768px){ .ifa-native .ifa-hero { padding:44px 24px 80px; } }
.ifa-native .ifa-hero::before { content:""; position:absolute; inset:0; background:url(images/ifa-workshop-bg.png) center/cover no-repeat; pointer-events:none; z-index:0; }
.ifa-native .ifa-hero-inner { position:relative; z-index:1; max-width:1200px; margin:0 auto; display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:48px; }
@media (min-width:1024px){ .ifa-native .ifa-hero-inner { flex-direction:row; gap:64px; } }
.ifa-native .ifa-hero-left { width:100%; flex-shrink:0; }
@media (min-width:1024px){ .ifa-native .ifa-hero-left { max-width:500px; } }
.ifa-native .ifa-eyebrow { display:flex; align-items:center; gap:8px; margin-bottom:24px; }
.ifa-native .ifa-eyebrow .dot { width:6px; height:6px; border-radius:50%; background:#FF1F5B; }
.ifa-native .ifa-eyebrow span:last-child { font-size:12px; font-weight:500; text-transform:uppercase; letter-spacing:1.68px; color:rgba(11,31,61,.66); }
.ifa-native .ifa-hero-h2 { margin:0 0 16px; font-family:"Fraunces",serif; font-weight:400; font-size:clamp(44px,5.5vw,72px); line-height:1.05; color:#0B1F3D; }
.ifa-native .ifa-hero-h2 .it { color:#FF1F5B; }
@media (min-width:640px){ .ifa-native .ifa-hero-h2 .it { white-space:nowrap; } }
.ifa-native .ifa-hero-sub { margin:0 0 32px; font-size:20px; line-height:1.6; color:rgba(11,31,61,.66); }
.ifa-native .ifa-hero-btns { display:flex; flex-wrap:wrap; gap:12px; }
.ifa-native .ifa-btn-pink { display:inline-flex; align-items:center; gap:8px; border-radius:999px; background:#FF1F5B; color:#fff; padding:12px 24px; font-size:15px; font-weight:600; text-decoration:none; box-shadow:0 8px 24px -8px rgba(255,31,91,.55); transition:background .2s,box-shadow .2s; }
.ifa-native .ifa-btn-pink:hover { background:rgba(255,31,91,.9); }
.ifa-native .ifa-btn-ghost { display:inline-flex; align-items:center; gap:8px; border-radius:999px; border:1px solid rgba(11,31,61,.16); background:transparent; color:#0B1F3D; padding:12px 24px; font-size:15px; font-weight:500; cursor:pointer; transition:background .2s; }
.ifa-native .ifa-btn-ghost:hover { background:rgba(0,0,0,.05); }

/* poll card */
.ifa-native .ifa-poll { width:100%; max-width:810px; flex-shrink:0; border-radius:20px; border:1px solid #C6C6C8; background:#EAE4D6; padding:16px; }
@media (min-width:640px){ .ifa-native .ifa-poll { border-radius:25px; padding:20px; } }
@media (min-width:768px){ .ifa-native .ifa-poll { padding:24px; } }
@media (min-width:1024px){ .ifa-native .ifa-poll { max-width:620px; } }
@media (min-width:1280px){ .ifa-native .ifa-poll { max-width:680px; } }
.ifa-native .ifa-poll-head { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:16px; }
@media (min-width:640px){ .ifa-native .ifa-poll-head { flex-direction:row; align-items:center; margin-bottom:20px; } }
.ifa-native .ifa-poll-live { display:inline-flex; align-items:center; gap:8px; border-radius:999px; background:#FFE8EE; padding:8px 16px; outline:2px solid rgba(227,11,93,.55); }
.ifa-native .ifa-poll-live .dot { width:8px; height:8px; border-radius:50%; background:#FF1F5B; }
.ifa-native .ifa-poll-live span:nth-child(2) { font-size:13px; font-weight:500; line-height:1; color:#E30B5D; }
.ifa-native .ifa-poll-live .div { width:1px; height:12px; background:rgba(227,11,93,.3); margin:0 4px; }
.ifa-native .ifa-poll-live img { height:10px; width:auto; }
.ifa-native .ifa-poll-again { display:inline-flex; align-items:center; gap:8px; border-radius:8px; border:1px solid #C6C6C8; background:#fff; padding:8px 16px; font-size:14px; font-weight:500; color:rgba(0,0,0,.7); cursor:pointer; transition:background .2s,color .2s; }
.ifa-native .ifa-poll-again:hover { background:rgba(0,0,0,.05); color:#000; }
.ifa-native .ifa-poll-limit { font-size:13px; font-weight:500; color:#E30B5D; text-align:right; line-height:1.2; }
.ifa-native .ifa-poll-q h3 { margin:0 0 12px; font-family:"Fraunces",serif; font-weight:600; font-size:clamp(20px,3.4vw,32px); line-height:1.2; color:#000; }
@media (min-width:640px){ .ifa-native .ifa-poll-q h3 { line-height:38px; } }
.ifa-native .ifa-poll-q p { margin:0; font-family:"Fraunces",serif; font-size:clamp(13px,1.6vw,16px); line-height:1.35; color:rgba(0,0,0,.7); }
.ifa-native .ifa-poll-q .ifa-poll-sub-result { font-size:clamp(14px,1.8vw,18px); font-weight:500; color:#000; }
.ifa-native .ifa-poll-q { margin-bottom:16px; }
@media (min-width:640px){ .ifa-native .ifa-poll-q { margin-bottom:20px; } }

/* options */
.ifa-native .ifa-poll-opts { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
@media (min-width:640px){ .ifa-native .ifa-poll-opts { margin-bottom:20px; } }
.ifa-native .ifa-opt { position:relative; overflow:hidden; display:flex; align-items:center; gap:16px; width:100%; border-radius:15px; border:1px solid #000; background:#fff; padding:16px; text-align:left; cursor:pointer; transition:border-color .2s,box-shadow .2s,background .2s; }
.ifa-native .ifa-opt:hover { border-color:#FF1F5B; box-shadow:0 4px 10px rgba(0,0,0,.08); }
.ifa-native .ifa-opt .l { position:relative; z-index:1; display:flex; flex:none; align-items:center; justify-content:center; width:33px; height:33px; border-radius:50%; border:1px solid #EAE4D6; background:#EAE4D6; font-family:"Fraunces",serif; font-size:18px; color:#000; transition:border-color .2s,background .2s; }
.ifa-native .ifa-opt:hover .l { border-color:#FF1F5B; background:#FFE8EE; }
.ifa-native .ifa-opt .t { position:relative; z-index:1; font-family:"Fraunces",serif; font-size:clamp(14px,1.6vw,18px); color:#000; line-height:1.2; }
.ifa-native .ifa-opt .bar { display:none; }
.ifa-native .ifa-opt .stats { display:none; }
/* selected (vote state) */
.ifa-native .ifa-opt.is-sel { border-color:#FF1F5B; background:#FFE8EE; box-shadow:0 4px 10px rgba(0,0,0,.08); }
.ifa-native .ifa-opt.is-sel .l { border-color:#FF1F5B; background:#FFE8EE; }
/* results state — show bar + stats, options not clickable */
.ifa-native .ifa-poll[data-state="result"] .ifa-opt { cursor:default; padding:12px 16px; border-color:#000; }
@media (min-width:640px){ .ifa-native .ifa-poll[data-state="result"] .ifa-opt { padding:16px; } }
.ifa-native .ifa-poll[data-state="result"] .ifa-opt:hover { border-color:#000; box-shadow:none; }
.ifa-native .ifa-poll[data-state="result"] .ifa-opt.is-sel { border:2px solid #FF1F5B; background:#fff; }
.ifa-native .ifa-poll[data-state="result"] .ifa-opt .bar { display:block; position:absolute; left:0; top:0; bottom:0; z-index:0; background:rgba(227,11,93,.2); transition:width 1s; }
.ifa-native .ifa-poll[data-state="result"] .ifa-opt .l { border-color:#EAE4D6; background:#EAE4D6; }
.ifa-native .ifa-poll[data-state="result"] .ifa-opt.is-sel .l { border-color:#FF1F5B; background:#FF1F5B; color:#fff; }
.ifa-native .ifa-poll[data-state="result"] .ifa-opt.is-sel .t { color:#E30B5D; font-weight:700; }
.ifa-native .ifa-poll[data-state="result"] .ifa-opt .stats { display:flex; align-items:center; gap:12px; margin-left:auto; position:relative; z-index:1; }
.ifa-native .ifa-poll[data-state="result"] .ifa-opt .stats .pct { font-family:"Fraunces",serif; font-size:18px; font-weight:700; color:#000; }
.ifa-native .ifa-poll[data-state="result"] .ifa-opt .stats .votes { font-family:"Fraunces",serif; font-size:14px; color:rgba(0,0,0,.5); font-style:normal; }

/* actions */
.ifa-native .ifa-poll-submit { width:100%; border:0; border-radius:15px; background:#F04F8E; padding:14px; font-size:clamp(14px,1.8vw,18px); font-weight:500; color:#fff; cursor:pointer; transition:background .2s; }
@media (min-width:640px){ .ifa-native .ifa-poll-submit { padding:16px; } }
.ifa-native .ifa-poll-submit:hover:not(:disabled) { background:#E30B5D; }
.ifa-native .ifa-poll-submit:disabled { cursor:not-allowed; opacity:.5; }
.ifa-native .ifa-poll-result-actions { display:flex; flex-direction:column; gap:12px; }
@media (min-width:640px){ .ifa-native .ifa-poll-result-actions { flex-direction:row; align-items:center; } }
.ifa-native .ifa-poll-rank { flex:1; border:0; border-radius:15px; background:#F04F8E; padding:14px 16px; font-size:clamp(13px,1.6vw,18px); font-weight:500; color:#fff; cursor:pointer; line-height:1.2; transition:background .2s; }
.ifa-native .ifa-poll-rank:hover { background:#E30B5D; }
.ifa-native .ifa-poll-total { flex-shrink:0; border-radius:8px; background:#F04F8E; padding:8px 16px; text-align:center; }
.ifa-native .ifa-poll-total span, .ifa-native .ifa-poll-total { font-size:13px; font-weight:700; color:#fff; white-space:nowrap; }
[hidden] { display:none !important; }

/* ============ AI ADOPTION MATRIX ============ */
.ifa-native .ifa-matrix { position:relative; overflow:hidden; padding:0 24px 96px; }
.ifa-native .ifa-matrix::before { content:""; position:absolute; inset:0; background:url(images/white-pink.png) center/cover no-repeat; pointer-events:none; z-index:0; }
.ifa-native .ifa-matrix-inner { position:relative; z-index:1; max-width:1100px; margin:0 auto; }
.ifa-native .ifa-matrix-h2 { margin:0 0 48px; text-align:center; font-family:"Fraunces",serif; font-weight:400; font-size:clamp(32px,4.5vw,48px); line-height:1.1; color:#0B1F3D; }
.ifa-native .ifa-matrix-h2 .it { color:#FF1F5B; }
.ifa-native .ifa-matrix-container { max-width:700px; margin:0 auto; position:relative; }
@media (min-width:1280px){ .ifa-native .ifa-matrix-container { max-width:780px; } }
.ifa-native .ifa-matrix-row { position:relative; display:flex; align-items:stretch; gap:clamp(8px,2vw,30px); }
@media (min-width:1024px){ .ifa-native .ifa-matrix-row { display:block; } }
/* Y-axis: inline on mobile; floats outside-left on desktop so the zones get the full container width (React) */
.ifa-native .ifa-yaxis { display:flex; align-items:center; gap:clamp(8px,2vw,30px); flex-shrink:0; }
@media (min-width:1024px){ .ifa-native .ifa-yaxis { position:absolute; right:calc(100% + 16px); top:0; bottom:0; } }
@media (min-width:1280px){ .ifa-native .ifa-yaxis { right:calc(100% + 24px); } }
.ifa-native .ifa-yaxis-text { display:flex; align-items:center; justify-content:center; }
.ifa-native .ifa-yaxis-text b { font-family:"Geist",sans-serif; font-weight:700; line-height:1.2; color:#000; font-size:clamp(9px,1.2vw,16px); }
.ifa-native .ifa-yaxis-text span { font-family:"Geist",sans-serif; font-weight:400; line-height:1; color:#8A7F82; font-size:clamp(10px,1.2vw,18px); writing-mode:vertical-rl; transform:rotate(180deg); white-space:nowrap; margin:0; }
.ifa-native .ifa-yaxis-bar { display:flex; flex-direction:column; align-items:center; justify-content:space-between; align-self:stretch; flex-shrink:0; width:clamp(18px,2vw,26px); padding:clamp(6px,1vw,16px) 0; }
.ifa-native .ifa-yaxis-bar .cap { font-family:"Geist",sans-serif; font-weight:800; color:#2D0E1F; font-size:clamp(7px,0.8vw,10px); white-space:nowrap; }
.ifa-native .ifa-yaxis-bar .cap:first-child { margin-bottom:clamp(4px,0.6vw,8px); }
.ifa-native .ifa-yaxis-bar .cap:last-child { margin-top:clamp(4px,0.6vw,8px); }
.ifa-native .ifa-yaxis-bar .grad { width:100%; flex:1; display:flex; align-items:center; justify-content:center; overflow:hidden; background:linear-gradient(180deg,#981D57 0%,#FFE8F1 100%); border-radius:30.5px; }
.ifa-native .ifa-yaxis-bar .grad b { font-family:"Geist",sans-serif; font-weight:700; text-transform:uppercase; color:#000; line-height:1; font-size:clamp(10px,1.4vw,18px); writing-mode:vertical-rl; transform:rotate(180deg); white-space:nowrap; }
/* zones */
.ifa-native .ifa-zones { flex:1; position:relative; display:grid; grid-template-columns:1fr 1fr; gap:clamp(6px,1.5vw,24px); }
@media (min-width:1024px){ .ifa-native .ifa-zones { width:100%; } }
.ifa-native .ifa-zone { position:relative; overflow:hidden; border:none; border-radius:clamp(10px,1.5vw,20px); height:clamp(150px,22vw,250px); opacity:1; transition:opacity .2s linear, border .2s linear, box-shadow .2s linear; }
.ifa-native .ifa-zone[data-zone="drift"]     { background:linear-gradient(135deg,#F3C7D8 0%,#D97AA3 100%); color:#2D0E1F; }
.ifa-native .ifa-zone[data-zone="execution"] { background:linear-gradient(135deg,#FF5E9C 0%,#C8276A 55%,#7A164A 100%); color:#fff; }
.ifa-native .ifa-zone[data-zone="stuck"]     { background:linear-gradient(135deg,#1A0A14 0%,#2D0E1F 60%,#3A0D22 100%); color:#fff; }
.ifa-native .ifa-zone[data-zone="aware"]     { background:linear-gradient(135deg,#FFF5FA 0%,#FDD6E3 100%); color:#2D0E1F; }
.ifa-native .ifa-zone img { position:absolute; width:clamp(55px,13vw,230px); height:auto; object-fit:contain; opacity:.4; bottom:22px; right:4px; }
@media (min-width:640px){
  .ifa-native .ifa-zone img { opacity:1; bottom:auto; right:5px; }
  .ifa-native .ifa-zone[data-zone="drift"] img, .ifa-native .ifa-zone[data-zone="execution"] img { top:-15px; }
  .ifa-native .ifa-zone[data-zone="stuck"] img { top:-5px; }
  .ifa-native .ifa-zone[data-zone="aware"] img { top:25px; }
}
.ifa-native .ifa-zone .ztext { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:space-between; padding:clamp(6px,1.5vw,18px); }
.ifa-native .ifa-zone .ztop { text-align:left; max-width:75%; }
.ifa-native .ifa-zone h3 { margin:0; font-family:"Fraunces",serif; font-weight:700; color:inherit; font-size:clamp(12px,2.2vw,32px); line-height:1.2; }
.ifa-native .ifa-zone .sub { margin:0; font-family:"Geist",sans-serif; font-weight:600; color:inherit; font-size:clamp(8.5px,1.3vw,23px); }
.ifa-native .ifa-zone .extra { margin:0; font-family:"Geist",sans-serif; font-weight:500; color:inherit; font-size:clamp(7.5px,1.1vw,22px); }
.ifa-native .ifa-zone ul { list-style:none; margin:clamp(4px,1vw,24px) 0 0; padding:0; }
.ifa-native .ifa-zone li { font-family:"Geist",sans-serif; font-weight:400; color:inherit; font-size:clamp(7.5px,1.1vw,19px); line-height:1.3; }
.ifa-native .ifa-zone .pos { margin:0; text-align:right; font-family:"Geist",sans-serif; font-weight:500; color:inherit; font-size:clamp(7px,1.2vw,24px); }
/* poll result highlight: dim non-result, spotlight result */
.ifa-native [data-result="drift"]     .ifa-zone:not([data-zone="drift"]),
.ifa-native [data-result="execution"] .ifa-zone:not([data-zone="execution"]),
.ifa-native [data-result="stuck"]     .ifa-zone:not([data-zone="stuck"]),
.ifa-native [data-result="aware"]     .ifa-zone:not([data-zone="aware"]) { opacity:.15; }
.ifa-native [data-result="drift"]     .ifa-zone[data-zone="drift"],
.ifa-native [data-result="execution"] .ifa-zone[data-zone="execution"],
.ifa-native [data-result="stuck"]     .ifa-zone[data-zone="stuck"],
.ifa-native [data-result="aware"]     .ifa-zone[data-zone="aware"] { border:3px solid #FF69B4; z-index:10; box-shadow:0 12px 30px rgba(227,11,93,.35); }
/* X-axis (aligns under the zones; offset past the inline Y-axis on mobile) */
.ifa-native .ifa-xaxis { margin-top:clamp(12px,2vw,31px); margin-left:clamp(90px,15vw,280px); }
@media (min-width:1024px){ .ifa-native .ifa-xaxis { margin-left:0; } }
.ifa-native .ifa-xaxis-row { position:relative; display:flex; align-items:center; }
.ifa-native .ifa-xaxis-row .cap { position:absolute; top:6px; font-family:"Geist",sans-serif; font-weight:800; color:#2D0E1F; font-size:clamp(7px,0.8vw,10px); }
.ifa-native .ifa-xaxis-row .cap.lo { left:0; }
.ifa-native .ifa-xaxis-row .cap.hi { right:0; }
.ifa-native .ifa-xaxis-row .grad { flex:1; display:flex; align-items:center; justify-content:center; overflow:hidden; height:clamp(16px,1.8vw,22px); background:linear-gradient(90deg,#FFE8F1 0%,#981D57 100%); border-radius:30.5px; margin:0 clamp(24px,3vw,36px); }
.ifa-native .ifa-xaxis-row .grad span { font-family:"Geist",sans-serif; font-weight:700; text-transform:uppercase; line-height:1; color:#000; font-size:clamp(9px,1.2vw,16px); }
.ifa-native .ifa-xaxis-sub { text-align:center; margin-top:clamp(6px,0.8vw,10px); }
.ifa-native .ifa-xaxis-sub span { font-family:"Geist",sans-serif; font-weight:400; color:#8A7F82; font-size:clamp(8px,1vw,16px); }
/* You Are Here — floats BESIDE the result zone on desktop (React exact); overlays the grid on mobile. */
.ifa-native .ifa-yah { display:none; position:absolute; width:250px; z-index:30; background:#fff; border:2px solid rgba(255,31,91,.2); border-radius:20px; padding:16px 20px; box-shadow:0 12px 40px rgba(224,54,109,.15); text-align:left; animation:ifaFade .3s cubic-bezier(.16,1,.3,1); }
@media (min-width:1280px){ .ifa-native .ifa-yah { width:270px; } }
@media (min-width:1024px){
  .ifa-native [data-result="drift"]     .ifa-yah[data-zone="drift"]     { display:block; right:calc(100% - 30px); top:-10px; }
  .ifa-native [data-result="execution"] .ifa-yah[data-zone="execution"] { display:block; left:calc(100% - 160px); top:-20px; }
  .ifa-native [data-result="stuck"]     .ifa-yah[data-zone="stuck"]     { display:block; right:calc(100% - 30px); bottom:-10px; }
  .ifa-native [data-result="aware"]     .ifa-yah[data-zone="aware"]     { display:block; left:calc(100% - 160px); top:calc(50% + clamp(3px,0.75vw,12px) - 10px); }
}
/* xl (>=1280): float panels overlap the card less — match React xl: */
@media (min-width:1280px){
  .ifa-native [data-result="drift"]     .ifa-yah[data-zone="drift"]     { right:calc(100% - 20px); }
  .ifa-native [data-result="execution"] .ifa-yah[data-zone="execution"] { left:calc(100% - 140px); }
  .ifa-native [data-result="stuck"]     .ifa-yah[data-zone="stuck"]     { right:calc(100% - 20px); }
  .ifa-native [data-result="aware"]     .ifa-yah[data-zone="aware"]     { left:calc(100% - 140px); }
}
/* 2xl (>=1536): panels sit mostly OUTSIDE the card so bullets (left col) & car image (right col) stay visible — match React 2xl: */
@media (min-width:1536px){
  .ifa-native [data-result="drift"]     .ifa-yah[data-zone="drift"]     { right:calc(100% - 10px); }
  .ifa-native [data-result="execution"] .ifa-yah[data-zone="execution"] { left:calc(100% - 60px); }
  .ifa-native [data-result="stuck"]     .ifa-yah[data-zone="stuck"]     { right:calc(100% - 10px); }
  .ifa-native [data-result="aware"]     .ifa-yah[data-zone="aware"]     { left:calc(100% - 60px); }
}
@media (max-width:1023px){
  .ifa-native .ifa-yah { left:-12px; right:-12px; width:auto; max-width:290px; margin:0 auto; z-index:40; }
  .ifa-native [data-result="drift"]     .ifa-yah[data-zone="drift"],
  .ifa-native [data-result="execution"] .ifa-yah[data-zone="execution"] { display:block; top:50%; }
  .ifa-native [data-result="stuck"]     .ifa-yah[data-zone="stuck"],
  .ifa-native [data-result="aware"]     .ifa-yah[data-zone="aware"] { display:block; top:0; }
}
.ifa-native .ifa-yah-head { display:flex; align-items:center; gap:8px; }
.ifa-native .ifa-yah-head .ico { display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:#FFE8EE; box-shadow:0 1px 2px rgba(0,0,0,.06); }
.ifa-native .ifa-yah-head .ico svg { width:15px; height:15px; fill:#FF1F5B; }
.ifa-native .ifa-yah-head .eye { font-family:"Geist",sans-serif; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#FF1F5B; }
.ifa-native .ifa-yah-head .zname { font-family:"Fraunces",serif; font-size:15px; font-weight:700; color:#0B1F3D; }
.ifa-native .ifa-yah hr { border:0; border-top:1px solid rgba(11,31,61,.1); margin:10px 0; }
.ifa-native .ifa-yah p { margin:0; font-family:"Geist",sans-serif; font-size:13px; line-height:1.5; color:rgba(45,14,31,.8); }
.ifa-native .ifa-yah p strong { color:#2D0E1F; font-weight:700; }
@keyframes ifaFade { from{ opacity:0; transform:translateY(10px) scale(.98); } to{ opacity:1; transform:none; } }

/* ============ EXPERIENCE IFA (session 3) ============ */
.ifa-native .ifa-exp { position:relative; overflow:hidden; padding:0 24px 32px; }
.ifa-native .ifa-exp::before { content:""; position:absolute; inset:0; background:linear-gradient(to bottom, transparent, #FEFBF5, transparent); pointer-events:none; z-index:0; }
.ifa-native .ifa-exp-inner { position:relative; z-index:1; max-width:1100px; margin:0 auto; }
.ifa-native .ifa-exp-head { margin-bottom:48px; text-align:center; }
.ifa-native .ifa-exp-head h2 { margin:0; font-family:"Fraunces",serif; font-weight:400; font-size:clamp(36px,5vw,56px); line-height:1.05; color:#0B1F3D; }
.ifa-native .ifa-exp-head h2 .it { font-style:italic; color:#FF1F5B; }
.ifa-native .ifa-exp-head p { max-width:680px; margin:20px auto 0; font-size:18px; line-height:1.6; color:rgba(11,31,61,.66); }

/* card wrappers */
.ifa-native .ifa-exp-card { max-width:1200px; margin:0 auto; border-radius:32px; background:#fff; padding:24px; box-shadow:0 8px 24px rgba(11,31,61,.06),0 1px 2px rgba(11,31,61,.04); border:1px solid rgba(0,0,0,.05); }
@media (min-width:640px){ .ifa-native .ifa-exp-card { padding:32px; } }
@media (min-width:768px){ .ifa-native .ifa-exp-card { padding:56px; } }
.ifa-native .ifa-exp-card--intro { padding:32px; }
@media (min-width:640px){ .ifa-native .ifa-exp-card--intro { padding:48px; } }
@media (min-width:768px){ .ifa-native .ifa-exp-card--intro { padding:76px 56px; } }

/* badge */
.ifa-native .ifa-exp-badge { display:flex; align-items:center; gap:12px; margin-bottom:24px; }
.ifa-native .ifa-exp-badge .dot { width:6px; height:6px; flex-shrink:0; border-radius:50%; background:#FF1F5B; }
.ifa-native .ifa-exp-badge span:last-child { font-family:"Geist",sans-serif; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:1.54px; color:rgba(11,31,61,.66); }

/* headings + lead */
.ifa-native .ifa-exp-h3 { margin:0 0 24px; font-family:"Fraunces",serif; font-weight:400; color:#0B1F3D; font-size:30px; line-height:1.15; }
@media (min-width:640px){ .ifa-native .ifa-exp-h3 { font-size:42px; } }
.ifa-native .ifa-exp-h3.sm { margin-bottom:8px; font-size:26px; line-height:1.2; }
@media (min-width:640px){ .ifa-native .ifa-exp-h3.sm { font-size:32px; } }
.ifa-native .ifa-exp-lead { max-width:700px; margin:0 0 48px; font-size:16px; line-height:1.6; color:rgba(11,31,61,.66); }
.ifa-native .ifa-exp-lead.narrow { max-width:745px; margin-bottom:32px; font-size:15px; }

/* buttons */
.ifa-native .ifa-exp-btn-pink { display:inline-flex; align-items:center; gap:8px; border:0; cursor:pointer; border-radius:9999px; background:#FF1F5B; color:#fff; font-family:"Geist",sans-serif; font-weight:600; font-size:16px; padding:18px 28px; box-shadow:0 8px 24px -8px rgba(255,31,91,.55); transition:background .2s, transform .2s, box-shadow .2s; }
.ifa-native .ifa-exp-btn-pink:hover { background:rgba(255,31,91,.9); transform:scale(1.02); }
.ifa-native .ifa-exp-btn-pink:active { transform:scale(.98); }
.ifa-native .ifa-exp-btn-pink.is-disabled, .ifa-native .ifa-exp-btn-pink:disabled { background:#9DA5B1; cursor:not-allowed; transform:none; }
.ifa-native .ifa-exp-btn-pink svg { width:7px; height:9px; margin-right:2px; }
.ifa-native .ifa-exp-back { margin-top:40px; border:0; background:none; cursor:pointer; font-family:"Geist",sans-serif; font-size:14px; font-weight:500; color:rgba(27,20,22,.5); transition:color .2s; }
.ifa-native .ifa-exp-back:hover { color:#FF1F5B; }

/* Step 1 · roles */
.ifa-native .ifa-exp-roles { display:grid; gap:20px; }
@media (min-width:640px){ .ifa-native .ifa-exp-roles { grid-template-columns:repeat(3,1fr); } }
.ifa-native .ifa-exp-role { display:flex; align-items:center; gap:12px; text-align:left; cursor:pointer; border:1px solid #D8CDB1; background:#FFFBF5; border-radius:10px; padding:24px 20px; transition:border-color .2s, box-shadow .2s; }
.ifa-native .ifa-exp-role:hover { border-color:#FF1F5B; box-shadow:0 4px 6px rgba(0,0,0,.08); }
.ifa-native .ifa-exp-role .ico { display:flex; align-items:center; justify-content:center; width:56px; height:56px; flex-shrink:0; border-radius:50%; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.06); }
.ifa-native .ifa-exp-role .ico img { width:32px; height:32px; object-fit:contain; }
.ifa-native .ifa-exp-role .meta { display:flex; flex-direction:column; }
.ifa-native .ifa-exp-role .nm { font-family:"Geist",sans-serif; font-size:20px; font-weight:500; line-height:1.2; color:#000; }
.ifa-native .ifa-exp-role .ctx { font-family:"Geist",sans-serif; font-size:14px; color:rgba(0,0,0,.6); }

/* Step 2 · decisions */
.ifa-native .ifa-exp-count { margin:0 0 24px; font-family:"Geist",sans-serif; font-size:15px; color:rgba(11,31,61,.66); }
.ifa-native .ifa-exp-count b { font-weight:600; color:#0B1F3D; }
.ifa-native .ifa-exp-decisions { display:grid; gap:12px; }
@media (min-width:640px){ .ifa-native .ifa-exp-decisions { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .ifa-native .ifa-exp-decisions { grid-template-columns:repeat(3,1fr); } }
.ifa-native .ifa-dec { min-height:180px; border-radius:10px; padding:16px; }
.ifa-native .ifa-dec--q { display:flex; flex-direction:column; justify-content:space-between; gap:16px; text-align:left; cursor:pointer; border:.5px solid #D8CDB1; background:#FFFBF5; transition:border-color .2s, box-shadow .2s; }
.ifa-native .ifa-dec--q:hover { border-color:#FF1F5B; box-shadow:0 4px 6px rgba(0,0,0,.08); }
.ifa-native .ifa-dec--q .q { font-family:"Geist",sans-serif; font-size:15px; font-weight:500; line-height:1.45; color:#000; }
.ifa-native .ifa-dec--q .tap { font-family:"Geist",sans-serif; font-size:10px; font-weight:500; text-transform:uppercase; letter-spacing:.03em; color:rgba(0,0,0,.5); }
/* revealed card: photo LEFT + text RIGHT (routes/name/answer), bg + text color per route */
.ifa-native .ifa-dec--a { display:flex; flex-direction:row; align-items:stretch; padding:0; overflow:hidden; border:0; border-radius:14px; animation:ifaFade .3s cubic-bezier(.16,1,.3,1); }
.ifa-native .ifa-dec--a .ifa-dec-pic { flex:0 0 42%; align-self:stretch; width:42%; object-fit:cover; display:block; }
.ifa-native .ifa-dec--a .ifa-dec-pic.emoji { display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.55); font-size:34px; }
.ifa-native .ifa-dec--a .ifa-dec-body { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; justify-content:center; padding:18px 20px; color:inherit; }
.ifa-native .ifa-dec--a .routes { font-family:"Geist",sans-serif; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:1.4px; opacity:.72; margin:0 0 3px; color:inherit; }
.ifa-native .ifa-dec--a .ag { font-family:"Geist",sans-serif; font-size:clamp(22px,2.1vw,26px); font-weight:800; line-height:1.04; margin:0 0 10px; color:inherit; }
.ifa-native .ifa-dec--a .ans { font-family:"Geist",sans-serif; font-size:13.5px; line-height:1.45; margin:0; opacity:.92; color:inherit; }
.ifa-native .ifa-exp-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:32px; }
.ifa-native .ifa-exp-actions .ifa-exp-btn-pink { font-size:15px; font-weight:500; padding:14px 22px; }
.ifa-native .ifa-exp-actions .ifa-exp-back { margin-top:0; font-size:12px; }

/* Step 3 · reveal */
.ifa-native .ifa-exp-board { display:grid; grid-template-columns:1fr; gap:16px; margin-bottom:32px; }
@media (min-width:640px){ .ifa-native .ifa-exp-board { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .ifa-native .ifa-exp-board { grid-template-columns:repeat(4,1fr); } }
.ifa-native .ifa-score { display:flex; align-items:center; gap:16px; border:.5px solid #EBEAE7; background:#FFFBF5; border-radius:12px; padding:20px; }
@media (min-width:640px){ .ifa-native .ifa-score { padding:24px; } }
.ifa-native .ifa-score .pic { width:80px; height:80px; flex-shrink:0; border-radius:50%; object-fit:cover; }
.ifa-native .ifa-score .pic.emoji { display:flex; align-items:center; justify-content:center; background:#EAE4D6; font-size:30px; }
.ifa-native .ifa-score .meta { display:flex; flex-direction:column; min-width:0; }
.ifa-native .ifa-score .num { font-family:"Geist",sans-serif; font-size:32px; font-weight:700; line-height:1; color:#0B1F3D; }
.ifa-native .ifa-score .num.hit { color:#00B40E; }
.ifa-native .ifa-score .lbl { margin-top:6px; font-family:"Geist",sans-serif; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:rgba(0,0,0,.7); }
@media (min-width:640px){ .ifa-native .ifa-score .lbl { font-size:12px; } }
.ifa-native .ifa-exp-cta { border-radius:12px; background:#0B1F3D; padding:20px; }
@media (min-width:640px){ .ifa-native .ifa-exp-cta { padding:24px; } }
.ifa-native .ifa-exp-cta h4 { margin:0; font-family:"Fraunces",serif; font-weight:400; font-size:18px; color:#fff; }
@media (min-width:640px){ .ifa-native .ifa-exp-cta h4 { font-size:20px; } }
.ifa-native .ifa-exp-cta > p { margin:6px 0 0; font-family:"Geist",sans-serif; font-size:13px; line-height:1.5; color:#B7BCC6; }
.ifa-native .ifa-exp-cta .btns { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:16px; }
.ifa-native .ifa-exp-cta .book { display:inline-flex; align-items:center; gap:8px; border-radius:9999px; background:#FF1F5B; color:#fff; font-family:"Geist",sans-serif; font-size:13px; font-weight:500; padding:10px 20px; text-decoration:none; transition:background .2s; }
.ifa-native .ifa-exp-cta .book:hover { background:rgba(255,31,91,.9); }
.ifa-native .ifa-exp-cta .again { border:0; cursor:pointer; border-radius:9999px; background:#fff; color:#0B1F3D; font-family:"Geist",sans-serif; font-size:13px; font-weight:500; padding:10px 20px; transition:background .2s; }
.ifa-native .ifa-exp-cta .again:hover { background:rgba(255,255,255,.9); }

/* ============ CLIENT LOGOS ============ */
.ifa-native .ifa-clients { position:relative; overflow:hidden; background:#FEFBF5; padding:32px 24px; }
.ifa-native .ifa-clients-inner { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:26px; width:100%; }
.ifa-native .ifa-clients-label { margin:0; text-align:center; font-family:"Geist",sans-serif; font-size:clamp(14px,2vw,24px); font-weight:600; text-transform:uppercase; line-height:21.7px; letter-spacing:1.2px; color:rgba(0,0,0,.8); }
.ifa-native .ifa-clients-logos { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:40px; max-width:1124px; margin:0 auto; padding:16px 20px 0; }
@media (min-width:640px){ .ifa-native .ifa-clients-logos { gap:60px; padding:16px 40px 0; } }
@media (min-width:768px){ .ifa-native .ifa-clients-logos { gap:80px; } }
.ifa-native .ifa-clients-logos img { width:auto; height:20px; flex-shrink:0; object-fit:contain; }
@media (min-width:640px){ .ifa-native .ifa-clients-logos img { height:25px; } }
@media (min-width:768px){ .ifa-native .ifa-clients-logos img { height:30px; } }
.ifa-native .ifa-clients-logos img.ifa-logo-wipro { height:30px; }
@media (min-width:640px){ .ifa-native .ifa-clients-logos img.ifa-logo-wipro { height:36px; } }
@media (min-width:768px){ .ifa-native .ifa-clients-logos img.ifa-logo-wipro { height:45px; } }

/* ============ ROADMAP (session 4) ============ */
.ifa-native .ifa-rm-hero { position:relative; overflow:hidden; padding:96px 24px 80px; background:#fff; }
.ifa-native .ifa-rm-hero-inner { max-width:1106px; margin:0 auto; text-align:center; }
.ifa-native .ifa-rm-hero h2 { margin:0; font-family:"Fraunces",serif; font-weight:400; font-size:clamp(36px,5vw,56px); line-height:1.05; letter-spacing:-.02em; color:#0B1F3D; }
.ifa-native .ifa-rm-hero h2 .it { font-style:italic; color:#FF1F5B; }
.ifa-native .ifa-rm-hero p { max-width:640px; margin:24px auto 0; font-size:17px; line-height:1.55; color:#666; }

.ifa-native .ifa-rm-timeline { position:relative; overflow:hidden; padding:0 24px 32px; background:#fff; }
.ifa-native .ifa-rm-inner { max-width:1100px; margin:0 auto; }
.ifa-native .ifa-rm-row { display:grid; gap:32px; align-items:center; margin-bottom:80px; }
@media (min-width:1024px){ .ifa-native .ifa-rm-row { grid-template-columns:0.9fr 1.1fr; gap:56px; } }
@media (min-width:1024px){ .ifa-native .ifa-rm-row--overlap { margin-top:0; } }
@media (min-width:1024px){ .ifa-native .ifa-rm-row--flip .ifa-rm-text { order:2; } .ifa-native .ifa-rm-row--flip .ifa-rm-visual { order:1; } }
@media (min-width:1024px){ .ifa-native .ifa-rm-visual--up { margin-top:0; } }
.ifa-native .ifa-rm-text h3 { margin:0 0 16px; font-family:"Fraunces",serif; font-weight:600; font-size:32px; line-height:1.15; color:#FF1F5B; }
.ifa-native .ifa-rm-text h3 .it { font-style:italic; }
.ifa-native .ifa-rm-text h3 .noit { font-style:normal; }
.ifa-native .ifa-rm-text p { margin:0; font-family:"Geist",sans-serif; font-size:16px; line-height:1.7; color:rgba(11,31,61,.66); }
.ifa-native .ifa-rm-visual { position:relative; display:flex; align-items:center; justify-content:center; width:100%; }

/* keyframes (mirror React globals) */
@keyframes ifa-card-float { 0%,100%{ transform:translate3d(0,0,0); } 50%{ transform:translate3d(0,-12px,0); } }
@keyframes ifa-soft-pulse { 0%,100%{ opacity:.6; transform:translate(-50%,-50%) scale(.92); } 50%{ opacity:1; transform:translate(-50%,-50%) scale(1.08); } }
.ifa-native .ifa-card-float { animation:ifa-card-float 12s ease-in-out infinite; will-change:transform; }

/* Hour 01 — Discovery card */
.ifa-native .ifa-rm-v1 { padding:0; }
.ifa-native .ifa-v1-card { width:300px; height:190px; border-radius:16px; border:1px solid rgba(227,11,93,.3); background:linear-gradient(to bottom,#fff,#FFFBFC); padding:24px; box-shadow:0 8px 24px rgba(227,11,93,.08); display:flex; flex-direction:column; justify-content:center; text-align:left; transform-origin:top right; transform:rotate(12deg) translate(80px,-120px); opacity:0; transition:transform 2.5s cubic-bezier(.22,1,.36,1), opacity 2s ease; }
@media (min-width:640px){ .ifa-native .ifa-v1-card { width:384px; height:233px; padding:32px; } }
.ifa-native .ifa-rm-v1.in-view .ifa-v1-card { transform:rotate(0) translate(0,0); opacity:1; }
.ifa-native .ifa-v1-card .lbl { margin-bottom:16px; font-family:"Geist",sans-serif; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:1.98px; color:#FF1F5B; }
.ifa-native .ifa-v1-card ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.ifa-native .ifa-v1-card li { display:flex; align-items:center; gap:12px; font-family:"Fraunces",serif; font-style:italic; font-weight:600; font-size:20px; letter-spacing:normal; color:#FF1F5B; }
@media (min-width:640px){ .ifa-native .ifa-v1-card li { font-size:24px; } }
.ifa-native .ifa-v1-card li .dot { width:8px; height:8px; flex-shrink:0; border-radius:50%; background:#FF1F5B; }

/* Hour 02 — Six Lenses radial */
.ifa-native .ifa-lenses { position:relative; margin:0 auto; width:320px; height:320px; }
@media (min-width:640px){ .ifa-native .ifa-lenses { width:360px; height:360px; } }
/* Hour 02 — GIF replacement for the radar (client-editable HTML module); responsive, centered */
.ifa-native .ifa-rm-gif { display:block; width:100%; max-width:700px; height:auto; margin:0 auto; border-radius:16px; box-shadow:0 24px 60px -24px rgba(11,31,61,.22); }
.ifa-native .ifa-lens-ring { position:absolute; border-radius:50%; }
.ifa-native .ifa-lens-ring.r1 { inset:0; border:1px solid rgba(233,22,86,.32); }
.ifa-native .ifa-lens-ring.r2 { inset:14%; border:1px solid rgba(233,22,86,.26); }
.ifa-native .ifa-lens-ring.r3 { inset:30%; border:1px solid rgba(233,22,86,.2); }
.ifa-native .ifa-soft-pulse { position:absolute; left:50%; top:50%; width:56%; height:56%; border-radius:50%; background:radial-gradient(ellipse 50% 50% at 50% 50%, rgba(233,22,86,.22) 0%, rgba(233,21,85,0) 70%); animation:ifa-soft-pulse 4.8s ease-in-out infinite; will-change:transform,opacity; }
.ifa-native .ifa-lens-center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); text-align:center; pointer-events:none; z-index:5; }
.ifa-native .ifa-lens-center .a { display:block; font-family:"Caladea",Georgia,serif; font-size:26px; line-height:1; color:#7D4B5E; }
.ifa-native .ifa-lens-center .b { display:block; font-family:"Fraunces",serif; font-size:30px; line-height:1.2; color:#E7224A; }
@media (min-width:640px){ .ifa-native .ifa-lens-center .a { font-size:32px; } .ifa-native .ifa-lens-center .b { font-size:36px; } }
.ifa-native .ifa-lens-pos { position:absolute; left:50%; top:50%; z-index:1; }
.ifa-native .ifa-lens-pos.is-active { z-index:20; }
.ifa-native .ifa-lens-card { display:flex; align-items:center; justify-content:center; min-width:96px; padding:8px 0; border-radius:6px; background:#fff; color:#0E2742; box-shadow:0 1px 2px rgba(0,0,0,.08); border:1px solid rgba(14,39,66,.15); transition:all .5s; }
.ifa-native .ifa-lens-pos.is-active .ifa-lens-card { transform:scale(1.1); background:linear-gradient(to bottom right,#E91656,#FF3A78); color:#fff; box-shadow:0 10px 15px rgba(0,0,0,.15); border:none; filter:none !important; }
.ifa-native .ifa-lens-card span { font-family:"Caladea",Georgia,serif; font-style:italic; font-size:22px; line-height:1; }
@media (min-width:640px){ .ifa-native .ifa-lens-card span { font-size:24px; } }

/* Hour 03 — Rank bars */
.ifa-native .ifa-rank { position:relative; margin:0 auto; width:100%; max-width:480px; padding-top:72px; }
.ifa-native .ifa-rank-star { position:absolute; width:56px; height:56px; top:4px; left:10%; z-index:10; display:flex; align-items:center; justify-content:center; color:#E30B5D; filter:drop-shadow(0 4px 3px rgba(0,0,0,.15)); transform:translate(-50%,168px); transition:left .7s cubic-bezier(.45,0,.25,1), transform .7s cubic-bezier(.45,0,.25,1); }
.ifa-native .ifa-rank-bars { display:flex; align-items:flex-end; justify-content:center; gap:12px; position:relative; z-index:0; }
@media (min-width:640px){ .ifa-native .ifa-rank-bars { gap:20px; } }
.ifa-native .ifa-rank-col { display:flex; flex:1; flex-direction:column; align-items:center; }
.ifa-native .ifa-rank-col .track { display:flex; width:100%; align-items:flex-end; justify-content:center; height:168px; }
.ifa-native .ifa-rank-col .bar { width:100%; max-width:74px; border-radius:4px 4px 0 0; background:#FFD0E0; transform:scaleY(0); transform-origin:bottom center; transition:transform .6s cubic-bezier(.22,1,.36,1), background .6s ease; }
.ifa-native .ifa-rank-col .base { height:6px; width:100%; max-width:74px; border-radius:9999px; background:#FFD0E0; transition:background .6s ease; }
.ifa-native .ifa-rank-col .lbl { margin-top:8px; font-family:"Geist",sans-serif; font-size:12px; color:#666; }

/* Hour 04 — Decision flow */
.ifa-native .ifa-flow { width:100%; max-width:760px; margin:8px auto 8px 0; padding:8px 0; }
.ifa-native .ifa-flow-svg { width:100%; height:auto; display:block; }

/* ============ LIFECYCLE (session 5) ============ */
.ifa-native .ifa-lc { position:relative; overflow:hidden; padding:32px 24px 96px; background:#FEFBF5; }
.ifa-native .ifa-lc-inner { max-width:1180px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:56px; text-align:center; }
.ifa-native .ifa-lc-head h2 { margin:0; font-family:"Fraunces",serif; font-weight:400; font-size:40px; line-height:1.05; color:#0B1F3D; }
@media (min-width:768px){ .ifa-native .ifa-lc-head h2 { font-size:56px; } }
.ifa-native .ifa-lc-head h2 .it { font-style:italic; color:#FF1F5B; }
.ifa-native .ifa-lc-head p { max-width:720px; margin:15px auto 0; font-size:16px; line-height:1.6; color:rgba(11,31,61,.66); }
@media (min-width:768px){ .ifa-native .ifa-lc-head p { font-size:18px; } }
.ifa-native .ifa-lc-cards { display:flex; flex-wrap:wrap; justify-content:center; gap:24px; width:100%; }
.ifa-native .ifa-lc-card { display:flex; flex-direction:column; width:364px; max-width:100%; box-sizing:border-box; padding:30px; border-radius:20px; background:#fff; border:1px solid rgba(11,31,61,.08); text-align:left; }
@media (min-width:768px){ .ifa-native .ifa-lc-card { min-height:312px; } }
.ifa-native .ifa-lc-card.is-here { border:2px solid #FF1F5B; }
.ifa-native .ifa-lc-top { display:flex; align-items:flex-end; justify-content:space-between; min-height:34px; margin-bottom:12px; }
.ifa-native .ifa-lc-top .num { font-family:"Bebas Neue",sans-serif; font-size:14px; letter-spacing:1.12px; color:rgba(11,31,61,.66); }
.ifa-native .ifa-lc-top .here { padding:3px 10px; border-radius:999px; background:#FF1F5B; color:#fff; font-family:"Inter",sans-serif; font-size:10px; font-weight:600; letter-spacing:.6px; line-height:16px; }
.ifa-native .ifa-lc-tag { align-self:flex-start; padding:3px 8px; border-radius:4px; font-family:"Inter",sans-serif; font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:1px; line-height:16px; margin-bottom:16px; }
.ifa-native .ifa-lc-card h3 { margin:0 0 8px; font-family:"Fraunces",serif; font-weight:400; font-size:22px; line-height:1.15; color:#0B1F3D; }
.ifa-native .ifa-lc-desc { margin:0; font-family:"Inter",sans-serif; font-size:14px; line-height:1.6; color:rgba(11,31,61,.66); }
.ifa-native .ifa-lc-foot { margin-top:auto; padding-top:20px; border-top:1px solid rgba(11,31,61,.08); }
.ifa-native .ifa-lc-foot p { margin:20px 0 0; font-family:"Inter",sans-serif; font-size:13px; line-height:1.6; color:rgba(11,31,61,.66); }
.ifa-native .ifa-lc-foot b { color:#0B1F3D; font-weight:600; }

/* ============ OUTCOMES (session 6) ============ */
.ifa-native .ifa-out { position:relative; overflow:hidden; padding:0 24px 96px; }
.ifa-native .ifa-out-inner { max-width:1240px; margin:0 auto; }
.ifa-native .ifa-out-head { margin-bottom:48px; text-align:center; }
.ifa-native .ifa-out-head h2 { margin:0; font-family:"Fraunces",serif; font-weight:400; font-size:clamp(36px,5vw,56px); line-height:1.05; color:#0B1F3D; }
.ifa-native .ifa-out-head h2 .it { font-style:italic; color:#FF1F5B; }
.ifa-native .ifa-out-head p { max-width:680px; margin:20px auto 0; font-size:18px; line-height:1.6; color:rgba(11,31,61,.66); }
.ifa-native .ifa-out-cards { display:grid; gap:24px; }
@media (min-width:768px){ .ifa-native .ifa-out-cards { grid-template-columns:repeat(3,1fr); } }
.ifa-native .ifa-out-card { border-radius:27px; border:1px solid rgba(0,0,0,.05); background:#fff; padding:24px; box-shadow:0 1px 2px rgba(0,0,0,.05); overflow:hidden; }
.ifa-native .ifa-out-card .cat { display:inline-block; margin-bottom:12px; font-family:"Inter",sans-serif; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:1.1px; color:rgba(11,31,61,.66); }
.ifa-native .ifa-out-media { height:171px; margin-bottom:16px; border-radius:15px; background:rgba(0,0,0,.2); overflow:hidden; }
.ifa-native .ifa-out-media img { width:100%; height:100%; object-fit:cover; }
.ifa-native .ifa-out-card h3 { margin:0 0 12px; font-family:"Fraunces",serif; font-weight:400; font-size:20px; line-height:1.15; color:#0B1F3D; }
@media (min-width:1280px){ .ifa-native .ifa-out-card h3 { font-size:22px; } }
.ifa-native .ifa-out-desc { margin:0 0 24px; font-family:"Inter",sans-serif; font-size:14px; line-height:1.6; color:rgba(11,31,61,.66); }
.ifa-native .ifa-out-stats { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:16px; padding-top:16px; border-top:1px solid rgba(0,0,0,.05); }
.ifa-native .ifa-out-stats .stat { flex:1; min-width:80px; }
.ifa-native .ifa-out-stats .num { margin:0; font-family:"Fraunces",serif; font-weight:400; font-size:26px; line-height:1; letter-spacing:-.01em; white-space:nowrap; }
@media (min-width:1280px){ .ifa-native .ifa-out-stats .num { font-size:32px; } }
.ifa-native .ifa-out-stats .lbl { margin:4px 0 0; font-family:"Inter",sans-serif; font-size:11px; line-height:1.4; letter-spacing:.44px; color:rgba(11,31,61,.66); }

/* ============ FAQ (session 7) ============ */
.ifa-native .ifa-faq { position:relative; overflow:hidden; padding:8px 24px 48px; background:#FEFBF5; display:flex; justify-content:center; }
.ifa-native .ifa-faq-inner { width:100%; max-width:1160px; padding:16px 24px 40px; display:flex; flex-direction:column; align-items:flex-start; gap:28px; }
.ifa-native .ifa-faq-title { margin:0; font-family:"Cormorant Garamond",serif; font-weight:600; font-size:clamp(36px,5vw,64px); line-height:1.1; color:#0E1A2B; }
.ifa-native .ifa-faq-title .it { font-style:italic; color:#FF1F5B; }
.ifa-native .ifa-faq-list { width:100%; padding-top:24px; }
.ifa-native .ifa-faq-item { width:100%; border-top:1px solid #E8DEC6; }
.ifa-native .ifa-faq-item.is-last { border-bottom:1px solid #E8DEC6; }
/* box-shadow:none - the question is a <button>, so the theme's default button drop-shadow
   (0 1px 2px rgba(0,0,0,.05)) applied. With the answer sitting flush beneath it when open, that
   1px shadow rendered as a faint grey rule between the question and its answer. */
.ifa-native .ifa-faq-q { display:flex; width:100%; align-items:flex-start; justify-content:space-between; padding:32px 0; text-align:left; background:none; border:0; box-shadow:none; cursor:pointer; }
.ifa-native .ifa-faq-q:hover,
.ifa-native .ifa-faq-q:focus,
.ifa-native .ifa-faq-q:active { background:none; border:0; box-shadow:none; outline:none; }
.ifa-native .ifa-faq-q .qt { padding-right:24px; font-family:"Cormorant Garamond",serif; font-weight:500; font-size:clamp(18px,2.2vw,24px); line-height:1.25; color:#0E1A2B; }
.ifa-native .ifa-faq-q .ic { position:relative; width:22px; height:22px; flex-shrink:0; margin-top:6px; }
.ifa-native .ifa-faq-q .ic .h { position:absolute; left:0; top:10.25px; width:22px; height:1.5px; background:#EE1A55; border-radius:1px; }
.ifa-native .ifa-faq-q .ic .v { position:absolute; left:10.25px; top:0; width:1.5px; height:22px; background:#EE1A55; border-radius:1px; transition:all .2s ease-in-out; transform:scaleY(1); opacity:1; }
.ifa-native .ifa-faq-item.is-open .ic .v { transform:scaleY(0); opacity:0; }
.ifa-native .ifa-faq-a { display:none; padding:0 48px 32px 0; font-family:"Inter",sans-serif; font-size:15px; line-height:1.6; color:rgba(11,31,61,.66); text-align:left; }
.ifa-native .ifa-faq-item.is-open .ifa-faq-a { display:block; }
.ifa-native .ifa-faq-a strong { font-weight:600; color:#0B1F3D; }

/* ============ INVESTMENT (session 8) ============ */
.ifa-native .ifa-inv { position:relative; overflow:hidden; padding:32px 24px 96px; background:#FEFBF5; display:flex; justify-content:center; }
.ifa-native .ifa-inv-inner { width:100%; max-width:1040px; display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:48px; }
@media (min-width:1024px){ .ifa-native .ifa-inv-inner { flex-direction:row; gap:64px; } }
.ifa-native .ifa-inv-text { width:100%; text-align:left; display:flex; flex-direction:column; gap:24px; }
@media (min-width:1024px){ .ifa-native .ifa-inv-text { max-width:461px; flex-shrink:0; } }
.ifa-native .ifa-inv-text h2 { margin:0; font-family:"Fraunces",serif; font-weight:400; font-size:clamp(28px,4vw,36px); line-height:1.15; color:#0B1F3D; }
.ifa-native .ifa-inv-text h2 .it { font-style:italic; color:#FF1F5B; }
.ifa-native .ifa-inv-text p { margin:0; font-family:"Inter",sans-serif; font-size:16px; line-height:1.6; color:#666; }
.ifa-native .ifa-inv-text strong { font-weight:600; color:#0A0A0A; }
.ifa-native .ifa-inv-card { width:100%; box-sizing:border-box; border-radius:20px; background:#0B1F3D; padding:47px 40px 48px; display:flex; flex-direction:column; gap:5px; text-align:left; }
@media (min-width:1024px){ .ifa-native .ifa-inv-card { width:515.43px; flex-shrink:0; } }
.ifa-native .ifa-inv-card .eyebrow { font-family:"Inter",sans-serif; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1.98px; color:#FF1F5B; }
.ifa-native .ifa-inv-card .price { margin:9px 0 0; font-family:"Fraunces",serif; font-weight:400; font-size:60px; line-height:1; color:#fff; }
.ifa-native .ifa-inv-card .sub { margin:0 0 19px; font-family:"Inter",sans-serif; font-size:13px; line-height:1.6; color:rgba(255,255,255,.6); }
.ifa-native .ifa-inv-card .credit { display:flex; align-items:center; gap:12px; min-height:53.89px; padding:0 16px; border-radius:10px; background:rgba(255,31,91,.15); outline:1px solid rgba(255,31,91,.3); outline-offset:-1px; }
.ifa-native .ifa-inv-card .credit .ic { flex-shrink:0; font-size:18px; font-weight:600; color:#FF1F5B; }
.ifa-native .ifa-inv-card .credit span:last-child { font-family:"Inter",sans-serif; font-size:13px; font-weight:600; line-height:1.25; color:#fff; }
.ifa-native .ifa-inv-bullets { display:flex; flex-direction:column; padding-top:19px; }
.ifa-native .ifa-inv-bullets .bullet { display:flex; align-items:flex-start; gap:10px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.ifa-native .ifa-inv-bullets .bullet.is-last { border-bottom:none; }
.ifa-native .ifa-inv-bullets .ar { flex-shrink:0; font-size:14px; font-weight:700; color:#FF1F5B; }
.ifa-native .ifa-inv-bullets .bullet span:last-child { font-family:"Inter",sans-serif; font-size:14px; line-height:1.6; color:rgba(255,255,255,.9); }
.ifa-native .ifa-inv-btns { display:flex; flex-wrap:wrap; gap:16px; padding-top:19px; }
.ifa-native .ifa-inv-btns a { height:60px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:9999px; font-family:"Inter",sans-serif; font-size:15px; font-weight:600; text-decoration:none; transition:background .2s,transform .2s; }
.ifa-native .ifa-inv-btns .book { padding:0 28px; background:#FF1F5B; color:#fff; box-shadow:0 8px 24px -8px rgba(255,31,91,.55); }
.ifa-native .ifa-inv-btns .book:hover { background:rgba(255,31,91,.9); transform:scale(1.02); }
.ifa-native .ifa-inv-btns .ask { padding:0 28px; border:2px solid rgba(255,255,255,.35); color:#fff; }
.ifa-native .ifa-inv-btns .ask:hover { background:rgba(255,255,255,.05); }

/* ============ CLOSING CTA — Stuck in the Drift Zone (session 9) ============ */
.ifa-native .ifa-cta { position:relative; overflow:hidden; padding:80px 24px; background:#F5EEDD; display:flex; justify-content:center; }
@media (min-width:768px){ .ifa-native .ifa-cta { padding:96px 24px; } }
.ifa-native .ifa-cta-glow { pointer-events:none; position:absolute; right:-100px; top:-200px; width:600px; height:600px; border-radius:50%; opacity:.6; background:radial-gradient(ellipse 70.71% 70.71% at 50% 50%, rgba(255,31,91,.06) 0%, rgba(255,31,91,0) 60%); }
@media (min-width:768px){ .ifa-native .ifa-cta-glow { right:50px; top:-150px; width:800px; height:800px; } }
.ifa-native .ifa-cta-inner { position:relative; width:100%; max-width:1100px; display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:40px; }
@media (min-width:768px){ .ifa-native .ifa-cta-inner { flex-direction:row; } }
@media (min-width:1024px){ .ifa-native .ifa-cta-inner { gap:64px; } }
.ifa-native .ifa-cta-text { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
@media (min-width:768px){ .ifa-native .ifa-cta-text { align-items:flex-start; text-align:left; } }
.ifa-native .ifa-cta-text h2 { margin:0 0 24px; font-family:"Fraunces",serif; font-weight:400; font-size:42px; line-height:1.05; letter-spacing:-.01em; color:#0B1F3D; }
@media (min-width:640px){ .ifa-native .ifa-cta-text h2 { font-size:48px; } }
@media (min-width:768px){ .ifa-native .ifa-cta-text h2 { font-size:56px; } }
.ifa-native .ifa-cta-text h2 .it { font-style:italic; color:#FF1F5B; }
.ifa-native .ifa-cta-text p { max-width:672px; margin:0 0 32px; font-family:"Geist",sans-serif; font-size:18px; line-height:1.6; color:rgba(11,31,61,.66); }
@media (min-width:640px){ .ifa-native .ifa-cta-text p { font-size:19px; } }
.ifa-native .ifa-cta-btns { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; }
@media (min-width:768px){ .ifa-native .ifa-cta-btns { justify-content:flex-start; } }
.ifa-native .ifa-cta-btns a { height:45px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 22px; border-radius:9999px; font-family:"Geist",sans-serif; font-size:15px; font-weight:500; text-decoration:none; transition:background .2s,transform .2s; }
.ifa-native .ifa-cta-btns .book { background:#FF1F5B; color:#fff; box-shadow:0 8px 24px -8px rgba(255,31,91,.55); }
.ifa-native .ifa-cta-btns .book:hover { background:rgba(255,31,91,.9); transform:scale(1.02); }
.ifa-native .ifa-cta-btns .ask { border:1px solid rgba(11,31,61,.16); color:#0B1F3D; background:transparent; }
.ifa-native .ifa-cta-btns .ask:hover { background:rgba(0,0,0,.05); }
.ifa-native .ifa-cta-car { width:280px; height:280px; flex-shrink:0; position:relative; display:flex; align-items:center; justify-content:center; }
@media (min-width:640px){ .ifa-native .ifa-cta-car { width:300px; height:300px; } }
@media (min-width:1024px){ .ifa-native .ifa-cta-car { width:320px; height:320px; } }
.ifa-native .ifa-cta-car img { width:100%; height:100%; object-fit:contain; }


/* ===== Client fixes (IFA sessions 1 & 2) ===== */
/* Session 1 hero: eyebrow/h2/sub/buttons are separate BB modules whose margins BB zeroes,
   so they render cramped. Restore React's vertical rhythm (mb-6 / mb-4 / mb-8). */

/* Session 2 "You are here" panel = React desktop panel: icon + "You Are Here" + callout,
   NO zone name. Hide the zone name (+ its <br>); bump the eyebrow to React's 13px. */
.ifa-native .ifa-yah .zname,
.ifa-native .ifa-yah-head br { display:none !important; }
.ifa-native .ifa-yah-head .eye { font-size:13px; }
.ifa-native .ifa-yah-head > span { display:inline-flex; align-items:center; }

/* Session 2 Y-axis: size the "Do we believe…" sub like the Expert Guidance sub-label. */


/* Roadmap: enlarge the step VISUALS (GIFs) — BB columns default ~50/50, capping the gif
   at ~518px so the text inside is hard to read. Give the visual column more room. */
@media (min-width:1024px){
  body.ifa-page .fl-col:has(> .fl-col-content .ifa-rm-visual){ flex:0 0 58% !important; max-width:58% !important; width:58% !important; }
  body.ifa-page .fl-col:has(> .fl-col-content .ifa-rm-text){ flex:0 0 42% !important; max-width:42% !important; width:42% !important; }
}

/* Roadmap: add clear vertical space between the 4 steps (they were too close). */
@media (min-width:768px){
  body.ifa-page .fl-col-group:has(.ifa-rm-visual),
  body.ifa-page .fl-col-group:has(.ifa-v1-card){ margin-bottom:56px !important; }
}

/* ── More IFA fixes (client) ── */
/* FAQ: shrink the gap between the question and its answer once revealed. */
body.ifa-page .ifa-native .ifa-faq-item.is-open .ifa-faq-q { padding-top:14px; padding-bottom:8px; }
/* Investment card bullets: 14px just overflowed, orphaning the last word ("gaps"/"AI"); 13px fits. */
.ifa-native .ifa-inv-bullets .bullet span:last-child { font-size:13px; }
/* Step 4 (Execution Plan flow) doesn't need the wide 58% visual column — balance it so the
   text column gets more room. */
@media (min-width:1024px){
  /* Step 4 text must line up under the step-3 GIF (both 58% right column); flow takes 42% left. */
  body.ifa-page .fl-col-group:has(.ifa-flow) > .fl-col:has(.ifa-flow) { flex:1 1 0 !important; max-width:none !important; }
  body.ifa-page .fl-col-group:has(.ifa-flow) > .fl-col:not(:has(.ifa-flow)) { flex:0 0 46% !important; max-width:46% !important; }
}

/* Roadmap step col-groups also carry the clearfix ::before/::after phantom flex items,
   which shove the second column right (step-4 text overflowed + misaligned vs the GIF).
   Neutralize them so both columns sit flush and align vertically across steps. */
@media (min-width:1024px){
  body.ifa-page .fl-col-group:has(.ifa-rm-visual)::before,
  body.ifa-page .fl-col-group:has(.ifa-rm-visual)::after { display:none !important; }
}
