.elementor-kit-6{--e-global-color-primary:#FF6B4A;--e-global-color-secondary:#1A1A1A;--e-global-color-text:#1A1A1A;--e-global-color-accent:#FF6B4A;--e-global-color-ink:#1A1A1A;--e-global-color-paper:#FBFAF8;--e-global-color-surface:#F2EFEA;--e-global-color-accentlight:#FFF1ED;--e-global-color-accentdark:#C43D22;--e-global-color-navy:#0E0E10;--e-global-color-mid:#4A4A4A;--e-global-color-soft:#8A8A8A;--e-global-color-borderc:#E7E3DD;--e-global-color-borderdark:#D6D1C9;--e-global-color-green:#00BDA5;--e-global-color-greenlight:#E5F8F6;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;background-color:#FBFAF8;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* reset guard: classless flow elements keep the design's zero margins */
:where(.elementor) :is(p, ul, ol, blockquote):not([class]) { margin: 0; }
  :root {
    --ink:          #1A1A1A;
    --paper:        #FBFAF8;
    --surface:      #F2EFEA;
    --accent:       #FF6B4A;
    --accent-light: #FFF1ED;
    --accent-dark:  #C43D22;
    --navy:         #0E0E10;
    --mid:          #4A4A4A;
    --soft:         #8A8A8A;
    --border:       #E7E3DD;
    --border-dark:  #D6D1C9;
    --green:        #00BDA5;
    --green-light:  #E5F8F6;
    --white:        #FFFFFF;
  }
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }
  body { font-family: 'Inter', sans-serif; background: var(--paper); color: var(--ink); font-size: 17px; line-height: 1.6; overflow-x: hidden; }

  .nav-brand { display: flex; align-items: center; }
  .nav-brand svg { display: block; }
  .nav-links { display: flex; gap: 28px; align-items: center; }
  .nav-links a { text-decoration: none; color: var(--mid); font-size: 15px; transition: color 0.2s; }
  .nav-links a:hover { color: var(--ink); }
  .nav-cta { background: var(--accent) !important; color: white !important; padding: 10px 22px !important; border-radius: 6px; font-weight: 500 !important; font-size: 14px !important; }
  .nav-cta:hover { opacity: 0.88 !important; }
  .nav-login { color: var(--ink) !important; padding: 10px 18px !important; border-radius: 6px; border: 1px solid var(--border-dark, #D8D2C8); font-weight: 500 !important; font-size: 14px !important; margin-left: 4px; }
  .nav-login:hover { border-color: var(--accent); color: var(--accent) !important; }
  .mobile-login { color: var(--ink) !important; text-align: center; border: 1px solid var(--border-dark, #D8D2C8); border-radius: 8px; padding: 12px !important; font-weight: 500; margin-top: 4px; }
  .nav-toggle { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 42px; height: 42px; padding: 0; background: none; border: none; cursor: pointer; }
  .nav-toggle span { display: block; width: 24px; height: 2.5px; background: var(--ink); border-radius: 2px; margin: 0 auto; transition: transform 0.25s, opacity 0.25s; }
  .nav-toggle.open span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
  .nav-toggle.open span:nth-child(2) { opacity: 0; }
  .nav-toggle.open span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }
  .mobile-menu { display: none; }

  .hero {
    padding: 104px 56px 100px;
    display: flex; flex-direction: column; align-items: center;
    text-align: center;
    background: var(--paper);
  }

  .hero-text { max-width: 820px !important; width: 100%; margin-bottom: 56px; }
  h1, h2, h3, .hero-logo, .hero-eyebrow, .page-hero, .cta-h2, .fraunces-h2, .tried-h2, .nav-brand { -webkit-user-select: none; -moz-user-select: none; user-select: none; }

  .hero-logo { margin-bottom: 28px; text-align: center; }
  .hero-logo svg { display: inline-block; width: 400px; max-width: 100% !important; height: auto; overflow: visible; }
  .hero-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 32px; font-family: 'Inter', sans-serif; font-size: 17px; font-weight: 700; color: #fff; background: var(--ink); border: none; padding: 11px 26px; border-radius: 100px; letter-spacing: -0.2px; box-shadow: 0 4px 14px rgba(0,0,0,0.18); }
  .eyebrow-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); flex-shrink: 0; animation: pulse-dot 2s ease-in-out infinite; }
  @keyframes pulse-dot { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.4; transform: scale(0.7); } }
  .eyebrow-line { display: none; }

  h1 { font-family: 'Inter', sans-serif; font-size: clamp(38px, 5.2vw, 76px); font-weight: 700; line-height: 1.07; letter-spacing: -2px; margin-bottom: 28px; color: var(--ink); }
  .h1-line { display: inline-block; white-space: nowrap; }
  h1 em { font-style: normal; color: var(--accent); }

  .hero-sub { font-size: 19px; font-weight: 300; color: var(--mid); line-height: 1.7; margin-bottom: 40px; max-width: 720px !important; margin-left: auto; margin-right: auto; }
  .hero-sub strong { font-weight: 600; color: var(--ink); }

  .hero-actions { display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; margin-bottom: 48px; }
  .btn-primary { background: var(--accent); color: white; padding: 15px 30px; border-radius: 6px; font-size: 16px; font-weight: 500; text-decoration: none; transition: opacity 0.2s; font-family: 'Inter', sans-serif; }
  .hero-actions .btn-primary { padding: 11px 22px; font-size: 15px; }
  .btn-primary:hover { opacity: 0.88; }
  .btn-ghost { color: var(--mid); font-size: 15px; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; transition: color 0.2s; }
  .btn-ghost:hover { color: var(--ink); }

  .hero-proof { display: flex; align-items: center; justify-content: center; gap: 16px; padding-top: 32px; border-top: 1px solid var(--border); }
  .proof-pips { display: flex; }
  .proof-pip { width: 32px; height: 32px; border-radius: 50%; border: 2px solid var(--paper); margin-left: -7px; font-size: 10px; font-weight: 600; display: flex; align-items: center; justify-content: center; color: white; font-family: 'Inter', sans-serif; }
  .proof-pip:first-child { margin-left: 0; }
  .pp1 { background: #FF6B4A; } .pp2 { background: #00BDA5; } .pp3 { background: #F5C26B; color: #1A1A1A; } .pp4 { background: #333333; }
  .proof-text { font-size: 13px; color: var(--mid); line-height: 1.5; }
  .proof-text strong { color: var(--ink); font-weight: 600; }

  .hero-mock-wrap { width: 100%; max-width: 860px !important; }

  /* ── hero sample cards ── */
  .hero-samples { width: 100%; max-width: 1000px !important; }
  .hsample-label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--soft); margin-bottom: 22px; }
  .hsample-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .hsample-card { background: var(--white); border: 1px solid var(--border); border-radius: 14px; overflow: hidden; box-shadow: 0 6px 28px rgba(0,0,0,0.07); text-align: left; transition: transform .2s, box-shadow .2s; }
  .hsample-card:hover { transform: translateY(-4px); box-shadow: 0 14px 38px rgba(0,0,0,0.11); }
  .hsc-tag { display: flex; align-items: center; gap: 7px; padding: 9px 13px; font-size: 9.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--soft); border-bottom: 1px solid #F2EFEA; background: #FBFAF8; }
  .hsc-dot { width: 6px; height: 6px; border-radius: 50%; }
  .hsc-kind { margin-left: auto; color: #B5B0A8; }
  .hsc-head { padding: 15px 15px 14px; color: #fff; }
  .hsc-biz { display: flex; align-items: center; gap: 8px; margin-bottom: 11px; }
  .hsc-logo { width: 26px; height: 26px; border-radius: 7px; display: flex; align-items: center; justify-content: center; font-size: 13px; flex-shrink: 0; }
  .hsc-name { font-size: 12px; font-weight: 700; line-height: 1.25; color: #fff; }
  .hsc-name small { display: block; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; opacity: .8; font-weight: 500; }
  .hsc-q { font-size: 13.5px; font-weight: 600; line-height: 1.3; }
  .hsc-prog { margin-top: 12px; height: 4px; border-radius: 100px; }
  .hsc-prog span { display: block; height: 100%; border-radius: 100px; }
  .hsc-body { padding: 13px 15px 15px; }
  .hsc-opt { display: flex; align-items: center; gap: 9px; border: 1.5px solid var(--border); border-radius: 9px; padding: 9px 11px; margin-bottom: 8px; font-size: 11.5px; font-weight: 500; color: var(--ink); }
  .hsc-opt:last-child { margin-bottom: 0; }
  .hsc-l { width: 19px; height: 19px; border-radius: 50%; background: #F2EFEA; font-size: 9px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .hsc-opt.s { border-color: var(--c); background: var(--w); }
  .hsc-opt.s .hsc-l { background: var(--c); color: #fff; }
  /* gym */
  .hsc-gym { background: #161616; color: #fff; padding: 20px 16px; text-align: center; }
  .hsc-gym-biz { font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; color: #84CC16; font-weight: 700; margin-bottom: 14px; }
  .hsc-gauge { width: 84px; height: 84px; border-radius: 50%; margin: 0 auto 12px; background: conic-gradient(#84CC16 0deg 280deg,#2A2A2A 280deg 360deg); display: flex; align-items: center; justify-content: center; }
  .hsc-gauge-in { width: 66px; height: 66px; border-radius: 50%; background: #161616; display: flex; flex-direction: column; align-items: center; justify-content: center; }
  .hsc-gnum { font-size: 22px; font-weight: 800; line-height: 1; }
  .hsc-gof { font-size: 8px; color: #999; }
  .hsc-gh { font-size: 13px; font-weight: 700; margin-bottom: 4px; }
  .hsc-gp { font-size: 10.5px; color: #B5B5B5; margin-bottom: 13px; line-height: 1.4; }
  .hsc-gbtn { display: inline-block; background: #84CC16; color: #161616; border-radius: 7px; padding: 8px 16px; font-size: 11px; font-weight: 700; }
  /* restaurant */
  .hsc-rhead { padding: 14px 15px; border-bottom: 1px solid #F2EFEA; }
  .hsc-rbody { padding: 14px 15px 15px; }
  .hsc-cal { display: grid; grid-template-columns: repeat(7,1fr); gap: 4px; margin-bottom: 12px; }
  .hsc-cal .d { aspect-ratio: 1; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 500; color: var(--mid); background: #F7F4F0; }
  .hsc-cal .d.muted { color: #C5C0B8; }
  .hsc-cal .d.sel { background: #9B2D3B; color: #fff; font-weight: 700; }
  .hsc-times { display: flex; gap: 6px; margin-bottom: 13px; }
  .hsc-times .t { flex: 1; text-align: center; border: 1.5px solid var(--border); border-radius: 7px; padding: 6px 0; font-size: 10.5px; font-weight: 600; color: var(--mid); }
  .hsc-times .t.sel { border-color: #9B2D3B; background: #F7E8EA; color: #9B2D3B; }
  .hsc-rbtn { background: #9B2D3B; color: #fff; border-radius: 8px; padding: 10px; font-size: 12px; font-weight: 600; text-align: center; }
  .hsample-more { display: inline-block; margin-top: 26px; color: var(--accent); font-size: 15px; font-weight: 600; text-decoration: none; }
  .hsample-more:hover { text-decoration: underline; }
  .mock-app { background: var(--white); border: 1px solid var(--border); border-radius: 14px; overflow: hidden; box-shadow: 0 4px 24px rgba(0,0,0,0.08); }
  .mock-topbar { background: #1A1A1A; padding: 14px 20px; display: flex; align-items: center; gap: 8px; }
  .mock-dot { width: 10px; height: 10px; border-radius: 50%; }
  .md1 { background: #FF5F57; } .md2 { background: #FEBC2E; } .md3 { background: #28C840; }
  .mock-title { font-family: 'Inter', sans-serif; font-size: 10px; color: #888; margin-left: 8px; letter-spacing: 0.5px; }
  .mock-body { padding: 24px; }
  .mock-step { display: flex; gap: 14px; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid var(--border); }
  .mock-step:last-child { border-bottom: none; }
  .mock-step-num { width: 28px; height: 28px; border-radius: 50%; background: var(--accent); color: white; font-family: 'Inter', sans-serif; font-size: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }
  .mock-step-content { flex: 1; min-width: 0; text-align: left; }
  .mock-step-label { font-size: 13px; font-weight: 600; color: var(--ink); margin-bottom: 3px; }
  .mock-step-sub { font-size: 12px; color: var(--mid); }
  .mock-progress { margin-top: 20px; background: var(--surface); border-radius: 8px; padding: 14px 16px; }
  .mock-progress-label { display: flex; justify-content: space-between; font-size: 12px; color: var(--mid); margin-bottom: 8px; font-family: 'Inter', sans-serif; }
  .mock-bar-track { height: 6px; background: var(--border); border-radius: 3px; overflow: hidden; }
  .mock-bar-fill { height: 100%; width: 75%; background: var(--accent); border-radius: 3px; }
  .mock-tag { display: inline-flex; align-items: center; gap: 6px; background: var(--green-light); color: var(--green); font-size: 11px; font-weight: 600; font-family: 'Inter', sans-serif; padding: 4px 10px; border-radius: 4px; margin-top: 16px; letter-spacing: 0.5px; }

  .compat-bar { background: var(--surface); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 20px 56px; display: flex; align-items: center; justify-content: center; gap: 32px; flex-wrap: wrap; }
  .compat-label { font-family: 'Inter', sans-serif; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--soft); white-space: nowrap; flex-shrink: 0; }
  .compat-items { display: flex; align-items: center; gap: 32px; flex-wrap: nowrap; overflow-x: auto; }
  .compat-item { font-size: 14px; font-weight: 500; color: var(--mid); white-space: nowrap; }

  .tried-section { padding: 110px 56px; background: var(--paper); }
  .tried-inner { max-width: 760px !important; margin: 0 auto; text-align: center; }
  .tried-label { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); margin-bottom: 16px; }
  .tried-h2 { font-family: 'Inter', sans-serif; font-size: clamp(30px, 4vw, 46px); font-weight: 700; letter-spacing: -1.5px; line-height: 1.12; margin-bottom: 24px; color: var(--ink); }
  .tried-h2 em { font-style: normal; color: var(--accent); }
  .tried-sub { font-size: 18px; font-weight: 300; color: var(--mid); line-height: 1.7; margin-bottom: 20px; }
  .tried-sub:last-of-type { margin-bottom: 0; }
  .tried-tip { display: flex; align-items: flex-start; gap: 14px; text-align: left; background: var(--accent-light); border: 1px solid #FFC4B5; border-radius: 12px; padding: 18px 22px; margin: 36px auto 0; max-width: 620px !important; }
  .tried-tip-icon { font-size: 22px; line-height: 1.4; flex-shrink: 0; }
  .tried-tip p { font-size: 15px; color: var(--ink); line-height: 1.6; margin: 0; font-weight: 400; }
  .tried-tip strong { font-weight: 700; color: var(--accent-dark); }
  .tried-video { margin: 44px 0; }
  .tried-video-inner { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; border: 1px solid var(--border); background: #1A1A1A; box-shadow: 0 14px 40px rgba(0,0,0,0.12); }
  .tried-video-inner iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
  .tried-cta { display: inline-block; margin-top: 4px; }
  .problem-section { padding: 120px 56px; background: var(--surface); color: var(--ink); }
  .problem-inner { max-width: 1100px !important; margin: 0 auto; }
  .mono-label { font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 500; letter-spacing: 2px; text-transform: uppercase; color: var(--accent); margin-bottom: 20px; display: flex; align-items: center; gap: 12px; }
  .mono-label-dark { color: var(--accent); }
  .fraunces-h2 { font-family: 'Inter', sans-serif; font-size: clamp(34px, 4vw, 52px); font-weight: 700; letter-spacing: -1.5px; line-height: 1.1; margin-bottom: 20px; color: var(--ink); }
  .problem-sub { font-size: 19px; font-weight: 300; color: var(--mid); max-width: 580px !important; line-height: 1.7; margin-bottom: 64px; }

  .pain-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
  .pain-card { background: var(--paper); padding: 36px 30px; transition: background 0.2s; }
  .pain-card:hover { background: var(--surface); }
  .pain-num { font-family: 'Inter', sans-serif; font-size: 11px; color: var(--accent); letter-spacing: 2px; margin-bottom: 16px; }
  .pain-title { font-family: 'Inter', sans-serif; font-size: 20px; font-weight: 700; margin-bottom: 10px; color: var(--ink); }
  .pain-desc { font-size: 15px; color: var(--mid); line-height: 1.65; font-weight: 300; }

  .section-padded { padding: 120px 56px; }
  .section-inner { max-width: 1100px !important; margin: 0 auto; }

  .how-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; margin-top: 64px; }
  .how-card { padding: 48px 40px; background: var(--surface); position: relative; overflow: hidden; transition: background 0.2s; }
  .how-card:hover { background: #EBEBEB; }
  .how-card:nth-child(1) { border-radius: 12px 0 0 0; }
  .how-card:nth-child(2) { border-radius: 0 12px 0 0; }
  .how-card:nth-child(3) { border-radius: 0 0 0 12px; }
  .how-card:nth-child(4) { border-radius: 0 0 12px 0; background: var(--accent); }
  .how-card:nth-child(4):hover { background: var(--accent-dark); }
  .how-num { font-family: 'Inter', sans-serif; font-size: 80px; font-weight: 900; color: var(--border); position: absolute; top: 12px; right: 20px; line-height: 1; letter-spacing: -4px; }
  .how-card:nth-child(4) .how-num { color: rgba(255,255,255,0.12); }
  .how-chip { display: inline-block; font-family: 'Inter', sans-serif; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--mid); background: var(--white); border: 1px solid var(--border); border-radius: 4px; padding: 3px 10px; margin-bottom: 18px; }
  .how-card:nth-child(4) .how-chip { background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.2); color: rgba(255,255,255,0.7); }
  .how-title { font-family: 'Inter', sans-serif; font-size: 24px; font-weight: 700; margin-bottom: 12px; letter-spacing: -0.5px; color: var(--ink); }
  .how-card:nth-child(4) .how-title { color: white; }
  .how-desc { font-size: 15px; color: var(--mid); line-height: 1.7; font-weight: 300; }
  .how-card:nth-child(4) .how-desc { color: rgba(255,255,255,0.75); }

  .features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 64px; }
  .feat-card { background: var(--white); border: 1px solid var(--border); border-radius: 12px; padding: 32px 28px; transition: transform 0.2s, box-shadow 0.2s; }
  .feat-card:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,0,0,0.07); }
  .feat-icon { width: 42px; height: 42px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 18px; margin-bottom: 18px; }
  .fi-blue { background: var(--accent-light); } .fi-green { background: var(--green-light); } .fi-amber { background: #FFF8EE; } .fi-purple { background: #F5F3FF; } .fi-slate { background: var(--surface); } .fi-ink { background: var(--surface); }
  .feat-title { font-family: 'Inter', sans-serif; font-size: 18px; font-weight: 700; margin-bottom: 8px; color: var(--ink); }
  .feat-desc { font-size: 14px; color: var(--mid); line-height: 1.65; font-weight: 300; }

  .use-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 64px; }
  .use-card { border: 1px solid var(--border); border-radius: 12px; padding: 36px 32px; display: flex; gap: 20px; background: var(--white); }
  .use-icon-wrap { width: 48px; height: 48px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; background: var(--surface); }
  .use-title { font-family: 'Inter', sans-serif; font-size: 20px; font-weight: 700; margin-bottom: 8px; color: var(--ink); }
  .use-desc { font-size: 15px; color: var(--mid); line-height: 1.65; font-weight: 300; }

  .pricing-section { padding: 120px 56px; background: var(--surface); color: var(--ink); }
  .pricing-inner { max-width: 1100px !important; margin: 0 auto; }
  .pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 64px; }
  .plan-card { border: 1px solid var(--border); border-radius: 14px; padding: 40px 32px; background: var(--white); transition: border-color 0.2s, box-shadow 0.2s; position: relative; display: flex; flex-direction: column; }
  .plan-card:hover { border-color: var(--accent); box-shadow: 0 6px 24px rgba(255,122,89,0.1); }
  .plan-card.featured { border: 2px solid var(--accent); background: var(--white); }
  .plan-badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); background: var(--accent); color: white; font-family: 'Inter', sans-serif; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; padding: 4px 14px; border-radius: 100px; white-space: nowrap; }
  .plan-tier { font-family: 'Inter', sans-serif; font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: var(--soft); margin-bottom: 14px; }
  .plan-card.featured .plan-tier { color: var(--accent); }
  .plan-price { font-family: 'Inter', sans-serif; font-size: 54px; font-weight: 900; letter-spacing: -2px; line-height: 1; margin-bottom: 4px; color: var(--ink); }
  .plan-period { font-size: 16px; font-weight: 300; color: var(--mid); letter-spacing: 0; font-family: 'Inter', sans-serif; }
  .plan-who { font-size: 14px; color: var(--mid); margin-bottom: 28px; padding-bottom: 28px; border-bottom: 1px solid var(--border); font-weight: 300; }
  .plan-feats { list-style: none; display: flex; flex-direction: column; gap: 10px; margin-bottom: 36px; flex: 1; }
  .plan-feats li { font-size: 14px; color: var(--ink); display: flex; align-items: flex-start; gap: 10px; font-weight: 300; }
  .plan-feats li::before { content: '✓'; color: var(--green); font-weight: 600; flex-shrink: 0; margin-top: 1px; }
  .plan-btn { display: block; text-align: center; padding: 13px 24px; border-radius: 7px; font-size: 15px; font-weight: 500; text-decoration: none; transition: all 0.2s; font-family: 'Inter', sans-serif; border: 1px solid var(--border-dark); color: var(--mid); }
  .plan-btn:hover { border-color: var(--accent); color: var(--accent); }
  .plan-btn.feat-btn { background: var(--accent); border-color: var(--accent); color: white; }
  .plan-btn.feat-btn:hover { background: var(--accent-dark); }

  .testi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 64px; }
  .testi-card { border: 1px solid var(--border); border-radius: 12px; padding: 32px 28px; background: var(--white); }
  .testi-stars { color: #D97706; font-size: 13px; letter-spacing: 3px; margin-bottom: 16px; }
  .testi-quote { font-family: 'Inter', sans-serif; font-size: 16px; line-height: 1.75; color: var(--mid); margin-bottom: 24px; font-style: italic; font-weight: 300; }
  .testi-author { display: flex; align-items: center; gap: 12px; }
  .testi-av { width: 36px; height: 36px; border-radius: 50%; font-family: 'Inter', sans-serif; font-size: 11px; display: flex; align-items: center; justify-content: center; color: white; }
  .testi-name { font-size: 14px; font-weight: 600; color: var(--ink); }
  .testi-role { font-size: 12px; color: var(--mid); font-weight: 300; }

  .cta-section { padding: 120px 56px; background: var(--ink); color: white; text-align: center; }
  .cta-eyebrow { font-family: 'Inter', sans-serif; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: rgba(255,255,255,0.4); margin-bottom: 20px; }
  .cta-h2 { font-family: 'Inter', sans-serif; font-size: clamp(38px, 5vw, 64px); font-weight: 900; letter-spacing: -2px; line-height: 1.0; margin-bottom: 20px; color: white; }
  .cta-sub { font-size: 20px; font-weight: 300; opacity: 0.7; max-width: 500px !important; margin: 0 auto 48px; line-height: 1.6; }
  .btn-white { background: var(--accent); color: white; padding: 18px 40px; border-radius: 8px; font-size: 17px; font-weight: 600; text-decoration: none; display: inline-block; font-family: 'Inter', sans-serif; transition: all 0.2s; }
  .btn-white:hover { background: var(--accent-dark); transform: translateY(-2px); }

  .footer-brand { font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 700; color: #CCCCCC; }
  .footer-brand span { color: var(--accent); }


  /* ── SHARED NAV ACTIVE STATE ── */
  .nav-links a.active { color: var(--accent); font-weight: 500; }

  /* ── INTERIOR PAGE HERO ── */
  .page-hero { padding: 140px 56px 80px; background: var(--surface); border-bottom: 1px solid var(--border); }
  .page-hero-inner { max-width: 800px !important; margin: 0 auto; }
  .page-hero .mono-label { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
  .page-hero h1 { font-family: 'Inter', sans-serif; font-size: clamp(36px, 5vw, 60px); font-weight: 700; letter-spacing: -2px; line-height: 1.05; margin-bottom: 20px; color: var(--ink); }
  .page-hero p { font-size: 19px; font-weight: 300; color: var(--mid); line-height: 1.7; max-width: 600px !important; }

  /* ── BLOG CARD ── */
  .blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 48px; }
  .blog-card { background: var(--white); border: 1px solid var(--border); border-radius: 14px; padding: 32px 28px; display: flex; flex-direction: column; transition: box-shadow 0.2s, transform 0.2s; text-decoration: none; }
  .blog-card:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,0,0,0.07); }
  .blog-cat { font-family: 'Inter', sans-serif; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--accent); margin-bottom: 12px; }
  .blog-title { font-family: 'Inter', sans-serif; font-size: 18px; font-weight: 600; color: var(--ink); line-height: 1.35; margin-bottom: 12px; letter-spacing: -0.3px; }
  .blog-excerpt { font-size: 14px; color: var(--mid); font-weight: 300; line-height: 1.65; flex: 1; }
  .blog-meta { margin-top: 20px; font-size: 12px; color: var(--soft); font-family: 'Inter', sans-serif; letter-spacing: 0.5px; }

  /* ── LEGAL PAGES ── */
  .legal-body { max-width: 800px !important; margin: 0 auto; padding: 80px 56px; }
  .legal-body h2 { font-family: 'Inter', sans-serif; font-size: 22px; font-weight: 600; color: var(--ink); margin: 40px 0 12px; letter-spacing: -0.3px; }
  .legal-body h3 { font-family: 'Inter', sans-serif; font-size: 17px; font-weight: 600; color: var(--ink); margin: 24px 0 8px; }
  .legal-body p { font-size: 15px; color: var(--mid); line-height: 1.8; margin-bottom: 16px; font-weight: 300; }
  .legal-body ul { margin: 0 0 16px 20px; }
  .legal-body li { font-size: 15px; color: var(--mid); line-height: 1.8; margin-bottom: 6px; font-weight: 300; }
  .legal-body a { color: var(--accent); text-decoration: none; }
  .legal-body a:hover { text-decoration: underline; }
  .legal-updated { font-family: 'Inter', sans-serif; font-size: 11px; color: var(--soft); letter-spacing: 1px; text-transform: uppercase; margin-bottom: 40px; }

  @keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
  .fu { animation: fadeUp 0.6s ease forwards; }
  .d1 { animation-delay: 0.1s; opacity: 0; } .d2 { animation-delay: 0.22s; opacity: 0; } .d3 { animation-delay: 0.36s; opacity: 0; } .d4 { animation-delay: 0.5s; opacity: 0; }

  /* ── MOBILE RESPONSIVE ── */
  @media (max-width: 900px) {

    .nav-links { display: none !important; }
    .nav-toggle { display: flex; }
    .mobile-menu { display: flex; flex-direction: column; position: fixed; top: 78px; left: 0; right: 0; z-index: 99; background: var(--paper); border-bottom: 1px solid var(--border); box-shadow: 0 12px 30px rgba(0,0,0,0.08); padding: 8px 24px 20px; max-height: 0; overflow: hidden; opacity: 0; pointer-events: none; transition: max-height 0.3s ease, opacity 0.2s ease, padding 0.3s ease; }
    .mobile-menu.open { max-height: 460px; opacity: 1; pointer-events: auto; }
    .mobile-menu a { text-decoration: none; color: var(--ink); font-size: 17px; font-weight: 500; padding: 14px 4px; border-bottom: 1px solid var(--border); }
    .mobile-menu a.active { color: var(--accent); }
    .mobile-menu a.mobile-cta { margin-top: 14px; background: var(--accent); color: #fff; text-align: center; border: none; border-radius: 8px; padding: 14px; font-weight: 600; }
    .hero { padding: 100px 24px 60px; }
    .hero-text { max-width: 100% !important; }
    .hsample-row { grid-template-columns: 1fr; max-width: 380px !important; margin: 0 auto; }
    .hero-mock-wrap { max-width: 100% !important; }
    .compat-bar { padding: 16px 24px; gap: 16px; }
    .compat-items { gap: 16px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .problem-section { padding: 72px 24px; }
    .tried-section { padding: 72px 24px; }
    .problem-inner { max-width: 100% !important; }
    .pain-grid { grid-template-columns: 1fr; }
    .section-padded { padding: 72px 24px; }
    .section-inner { max-width: 100% !important; }
    .how-grid { grid-template-columns: 1fr; gap: 3px; }
    .how-card:nth-child(1) { border-radius: 12px 12px 0 0; }
    .how-card:nth-child(2) { border-radius: 0; }
    .how-card:nth-child(3) { border-radius: 0; }
    .how-card:nth-child(4) { border-radius: 0 0 12px 12px; }
    .features-grid { grid-template-columns: 1fr; gap: 16px; }
    .use-grid { grid-template-columns: 1fr; gap: 16px; }
    .testi-grid { grid-template-columns: 1fr; gap: 16px; }
    .pricing-section { padding: 72px 24px; }
    .pricing-inner { max-width: 100% !important; }
    .pricing-grid { grid-template-columns: 1fr; gap: 20px; }
    .cta-section { padding: 72px 24px; }
    .cta-h2 { font-size: clamp(32px, 8vw, 52px); }

    .page-hero { padding: 100px 24px 60px; }
    .blog-grid { grid-template-columns: 1fr; }
    .legal-body { padding: 60px 24px; }
  }

  @media (max-width: 600px) {

    .nav-brand-name { font-size: 14px !important; }
    h1 { font-size: clamp(30px, 8.5vw, 48px); letter-spacing: -1.2px; }
    .h1-line { white-space: normal; }
    .hero-sub { font-size: 16px; }
    .hero { padding: 90px 20px 48px; }
    .mock-body { padding: 16px; }
    .mock-step-sub { font-size: 11px; }
    .compat-items { gap: 16px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .compat-item { font-size: 13px; }
    .fraunces-h2 { font-size: clamp(28px, 7vw, 40px); letter-spacing: -1px; }
    .how-card { padding: 32px 24px; }
    .how-num { font-size: 56px; }
    .section-padded { padding: 56px 20px; }
    .problem-section { padding: 56px 20px; }
    .pricing-section { padding: 56px 20px; }
    .cta-section { padding: 56px 20px; }
    .feat-card { padding: 24px 20px; }
    .use-card { flex-direction: column; gap: 12px; padding: 24px 20px; }
    .plan-card { padding: 28px 20px; }
    .testi-card { padding: 24px 20px; }
    .btn-primary { padding: 14px 24px; font-size: 15px; width: 100%; text-align: center; display: block; }
    .btn-ghost { display: none; }
    .hero-actions { flex-direction: column; align-items: stretch; }

    .page-hero { padding: 90px 20px 48px; }
    .legal-body { padding: 48px 20px; }
  }

/* ===== flng header template (Elementor Pro theme builder) ===== */
.flng-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(251,250,248,0.95); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border); }
.flng-header.e-con { padding: 16px 56px; max-width: none; }
/* right-align the menu+buttons cluster (child containers default to full width) */
.flng-header > .elementor-element.e-con { width: auto !important; max-width: none !important; flex: 0 0 auto !important; margin-left: auto; }
.flng-header > .elementor-element.e-con { gap: 16px !important; }
body { padding-top: 0; }
.flng-header .nav-brand svg { display: block; }
.flng-header .elementor-nav-menu--main .elementor-item { color: var(--mid); font-size: 15px; padding: 0 14px; }
.flng-header .elementor-nav-menu--main .elementor-item:hover { color: var(--ink); }
.flng-header .elementor-nav-menu--main .current-menu-item > .elementor-item,
.flng-header .elementor-nav-menu--main .current-menu-ancestor > .elementor-item { color: var(--accent); font-weight: 500; }
.flng-header .elementor-nav-menu--dropdown .elementor-item { color: var(--ink); font-size: 17px; font-weight: 500; }
.flng-header .elementor-nav-menu--dropdown .current-menu-item > .elementor-item { color: var(--accent); }
.flng-header .elementor-menu-toggle { color: var(--ink); }
.flng-start-btn .elementor-button { background: var(--accent); color: #fff; padding: 10px 22px;
  border-radius: 6px; font-weight: 500; font-size: 14px; font-family: 'Inter', sans-serif; }
.flng-start-btn .elementor-button:hover { opacity: 0.88; }
.flng-login-btn .elementor-button { background: transparent; color: var(--ink); padding: 10px 18px;
  border-radius: 6px; border: 1px solid var(--border-dark); font-weight: 500; font-size: 14px; font-family: 'Inter', sans-serif; }
.flng-login-btn .elementor-button:hover { border-color: var(--accent); color: var(--accent); }
@media (max-width: 900px) {
  .flng-header.e-con { padding: 14px 24px; }
  .flng-login-btn { display: none; }
}

/* ===== flng footer template ===== */
.flng-footer { background: #111111; color: #888888; font-size: 13px; border-top: 1px solid #222222; }
.flng-footer.e-con { padding: 40px 56px; max-width: none; }
.flng-footer a { color: #888888; text-decoration: none; }
.flng-footer a:hover { color: #CCCCCC; }
.flng-footer .footer-brand svg { display: block; }
@media (max-width: 900px) {
  .flng-footer.e-con { padding: 32px 24px; text-align: center; }
}

/* ===== header/footer widget polish (win over Elementor button/menu defaults) ===== */
.flng-header .elementor-nav-menu--main .elementor-item { color: var(--mid) !important; font-size: 15px !important; font-weight: 400 !important; padding: 0 14px !important; }
.flng-header .elementor-nav-menu--main .elementor-item:hover { color: var(--ink) !important; }
.flng-header .elementor-nav-menu--main .current-menu-item > .elementor-item,
.flng-header .elementor-nav-menu--main .current-menu-ancestor > .elementor-item { color: var(--accent) !important; font-weight: 500 !important; }
.flng-start-btn .elementor-button { background: var(--accent) !important; color: #fff !important; padding: 10px 22px !important; border-radius: 6px !important; font-weight: 500 !important; font-size: 14px !important; }
.flng-start-btn .elementor-button:hover { opacity: 0.88; }
.flng-login-btn .elementor-button { background: transparent !important; color: var(--ink) !important; padding: 10px 18px !important; border-radius: 6px !important; border: 1px solid var(--border-dark) !important; font-weight: 500 !important; font-size: 14px !important; }
.flng-login-btn .elementor-button:hover { border-color: var(--accent) !important; color: var(--accent) !important; }
.flng-footer .elementor-widget-text-editor { color: #888888 !important; font-size: 13px; }
.flng-footer .elementor-widget-text-editor a { color: #888888 !important; }
.flng-footer .elementor-widget-text-editor a:hover { color: #CCCCCC !important; }
@media (max-width: 1024px) {
  .flng-start-btn, .flng-login-btn { display: none !important; }
  /* Elementor containers stack to column on small screens by default — keep the bar a row */
  .flng-header.e-con, .flng-header > .e-con { flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between !important; align-items: center !important; width: auto !important; }
  .flng-header .elementor-menu-toggle { margin-left: auto; }
}

/* Flex containers don't collapse margins the way the original block sections did:
   a paragraph's bottom margin and the next heading's top margin would both apply.
   Emulate collapsing for the text-then-heading case. */
.elementor-widget-text-editor:has(+ .elementor-widget-heading) :is(p, ul, ol, blockquote, table):last-child { margin-bottom: 0 !important; }
/* same for text/heading followed by an html widget starting with a figure-like
   block (post figures/mockup wrappers carry margin-top that collapsed on the
   live site), and for such a block followed by a heading widget */
.elementor-widget-text-editor:has(+ .elementor-widget-html :is(figure, .post-figure, .ex-figure, .convo-block):first-child) :is(p, ul, ol):last-child { margin-bottom: 0 !important; }
.elementor-widget-heading:has(+ .elementor-widget-html :is(figure, .post-figure, .ex-figure, .convo-block):first-child) .elementor-heading-title { margin-bottom: 0 !important; }
.elementor-widget-html:has(+ .elementor-widget-heading) :is(figure, .post-figure, .ex-figure, .convo-block):last-child { margin-bottom: 0 !important; }
/* figure-like wrappers that hold paragraphs convert to e-con containers —
   the same collapse emulation for the container-sibling shape */
.elementor-widget-text-editor:has(+ .e-con:is(.ex-figure, .convo-block)) :is(p, ul, ol):last-child { margin-bottom: 0 !important; }
.elementor-widget-heading:has(+ .e-con:is(.ex-figure, .convo-block)) .elementor-heading-title { margin-bottom: 0 !important; }
.e-con:is(.ex-figure, .convo-block):has(+ .elementor-widget-heading) { margin-bottom: 0 !important; }
/* text/heading widgets preceding a card grid: the grid's own margin-top (64px)
   provides the gap on the live site via margin collapsing — zero the leading side */
.elementor-widget-text-editor:has(+ .elementor-widget-html .e-grid-first) p:last-child,
.elementor-widget-text-editor:has(+ .elementor-widget-html :is(.features-grid,.how-grid,.use-grid,.pricing-grid,.testi-grid,.blog-grid,.pain-grid):first-child) p:last-child { margin-bottom: 0 !important; }
.elementor-widget-heading:has(+ .elementor-widget-html :is(.features-grid,.how-grid,.use-grid,.pricing-grid,.testi-grid,.blog-grid,.pain-grid):first-child) .elementor-heading-title { margin-bottom: 0 !important; }

/* ===== Elementor widget defaults must not repaint the design ===== */
/* Widget CSS classes live on the wrapper div; let their typography flow into the
   heading tag itself. :where() keeps specificity low so tag-scoped rules
   (.legal-body h2, article h2, ...) still win. */
:where(.elementor-widget-heading) .elementor-heading-title { font-size: inherit; font-weight: inherit; letter-spacing: inherit; line-height: inherit; }
/* bare-tag rules (0,0,1) lose to the inherit rule above — restate them at 0,1,1 */
h1.elementor-heading-title { font-size: clamp(38px, 5.2vw, 76px); font-weight: 700; line-height: 1.07; letter-spacing: -2px; }
.page-hero h1.elementor-heading-title { font-size: clamp(36px, 5vw, 60px); line-height: 1.05; }
.elementor-widget-heading .elementor-heading-title { color: inherit !important; }
.elementor-widget-heading .elementor-heading-title em { font-style: normal; color: var(--accent) !important; }
.elementor-kit-6 .how-card:nth-child(4) .how-title { color: #fff !important; }
/* ===== native card grids: restate rules to beat .e-con base/element CSS ===== */
.pain-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 1px !important; background: var(--border) !important; border: 1px solid var(--border) !important; border-radius: 12px !important; overflow: hidden !important; }
.pain-card { background: var(--paper) !important; padding: 36px 30px !important; transition: background 0.2s !important; }
.pain-card:hover { background: var(--surface) !important; }
.how-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 3px !important; margin-top: 64px !important; }
.how-card { padding: 48px 40px !important; background: var(--surface) !important; position: relative !important; overflow: hidden !important; transition: background 0.2s !important; }
.how-card:hover { background: #EBEBEB !important; }
.how-card:nth-child(1) { border-radius: 12px 0 0 0 !important; }
.how-card:nth-child(2) { border-radius: 0 12px 0 0 !important; }
.how-card:nth-child(3) { border-radius: 0 0 0 12px !important; }
.how-card:nth-child(4) { border-radius: 0 0 12px 0 !important; background: var(--accent) !important; }
.how-card:nth-child(4):hover { background: var(--accent-dark) !important; }
.how-card:nth-child(4) .how-num { color: rgba(255,255,255,0.12) !important; }
.how-card:nth-child(4) .how-chip { background: rgba(255,255,255,0.15) !important; border-color: rgba(255,255,255,0.2) !important; color: rgba(255,255,255,0.7) !important; }
.how-card:nth-child(4) .how-title { color: white !important; }
.how-card:nth-child(4) .how-desc { color: rgba(255,255,255,0.75) !important; }
.features-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; margin-top: 64px !important; }
.feat-card { background: var(--white) !important; border: 1px solid var(--border) !important; border-radius: 12px !important; padding: 32px 28px !important; transition: transform 0.2s, box-shadow 0.2s !important; }
.feat-card:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 28px rgba(0,0,0,0.07) !important; }
.use-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 24px !important; margin-top: 64px !important; }
.use-card { border: 1px solid var(--border) !important; border-radius: 12px !important; padding: 36px 32px !important; display: flex !important; gap: 20px !important; background: var(--white) !important; }
.testi-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; margin-top: 64px !important; }
.testi-card { border: 1px solid var(--border) !important; border-radius: 12px !important; padding: 32px 28px !important; background: var(--white) !important; }
.blog-grid { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 24px !important; margin-top: 48px !important; }
.blog-card { background: var(--white) !important; border: 1px solid var(--border) !important; border-radius: 14px !important; padding: 32px 28px !important; display: flex !important; flex-direction: column !important; transition: box-shadow 0.2s, transform 0.2s !important; text-decoration: none !important; }
.blog-card:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 28px rgba(0,0,0,0.07) !important; }
@media (max-width: 900px) {
.pain-grid { grid-template-columns: 1fr !important; }
.how-grid { grid-template-columns: 1fr !important; gap: 3px !important; }
.how-card:nth-child(1) { border-radius: 12px 12px 0 0 !important; }
.how-card:nth-child(2) { border-radius: 0 !important; }
.how-card:nth-child(3) { border-radius: 0 !important; }
.how-card:nth-child(4) { border-radius: 0 0 12px 12px !important; }
.features-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
.use-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
.testi-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
.blog-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 600px) {
.how-card { padding: 32px 24px !important; }
.feat-card { padding: 24px 20px !important; }
.use-card { flex-direction: column !important; gap: 12px !important; padding: 24px 20px !important; }
.testi-card { padding: 24px 20px !important; }
}

/* Elementor's default container padding (10px) must not shrink/grow the grids
   or cards; the originals define their own (or no) padding */
.e-con:is(.features-grid,.how-grid,.use-grid,.testi-grid,.pain-grid,.blog-grid) { padding: 0 !important; }
/* grids are e-con containers now; the sibling .elementor-kit-6s above target html
   widgets — these are the container-sibling equivalents (margin-collapse) */
.elementor-widget-text-editor:has(+ .e-con:is(.features-grid,.how-grid,.use-grid,.testi-grid,.blog-grid,.pain-grid)) p:last-child { margin-bottom: 0 !important; }
.elementor-widget-heading:has(+ .e-con:is(.features-grid,.how-grid,.use-grid,.testi-grid,.blog-grid,.pain-grid)) .elementor-heading-title { margin-bottom: 0 !important; }
/* use-card is a native container: icon widget | flex:1 text sub-container.
   e-con defaults to column, so force the row back above the mobile breakpoint
   (the re-emitted mobile rule keeps flex-direction: column under 768px) */
@media (min-width: 769px) {
  .e-con.use-card { flex-direction: row !important; }
}
.e-con.use-card > .elementor-widget:has(.use-icon-wrap) { width: auto !important; flex-shrink: 0; }
.e-con.use-card > .e-con { padding: 0 !important; gap: 0 !important; flex: 1 1 0% !important; min-width: 0; }
/* card containers are flex-column; widgets span full width like block flow */
.e-con:is(.feat-card,.how-card,.testi-card,.pain-card,.blog-card) > .elementor-widget { width: 100%; }
/* card spacing comes from the original margins - kill Elementor's default gap */
.e-con:is(.feat-card,.how-card,.testi-card,.pain-card,.blog-card) { gap: 0 !important; }
/* heading-widget wrapper classes lose their margins to Elementor element CSS */
.e-con.feat-card > .elementor-widget.feat-title { margin-bottom: 8px !important; }
.e-con.how-card > .elementor-widget.how-title { margin-bottom: 12px !important; }
.e-con.use-card .elementor-widget.use-title { margin-bottom: 8px !important; }
/* blog-card: the excerpt is the flexible row (was .blog-excerpt { flex: 1 }) */
.e-con.blog-card > .elementor-widget:has(.blog-excerpt) { flex-grow: 1 !important; }
/* the design's universal reset gave the card's trailing paragraph no bottom
   margin; theme/UA styles re-add one inside text-editor widgets - zero it */
.e-con:is(.feat-card,.how-card,.testi-card,.pain-card,.blog-card) > .elementor-widget-text-editor:last-child :is(p,ul,ol,blockquote):last-child { margin-bottom: 0 !important; }
.e-con.use-card > .e-con > .elementor-widget-text-editor:last-child :is(p,ul,ol,blockquote):last-child { margin-bottom: 0 !important; }/* End custom CSS */