/* ═══════════════════════════════════════════════════════════════════
   ROMAFLOW · TADMIT · CORE STYLES · 111
   Shared primitives used by every section widget: bento grid,
   tile classes, buttons, eyebrows, section head, cell skins,
   reveal-on-scroll, orbs, tap targets, RTL logical properties.
   Every rule scoped under .rf-111 to isolate from the site + other plugins.
   ═══════════════════════════════════════════════════════════════════ */

/* ── scope + base ── */
.rf-111 *,.rf-111 *::before,.rf-111 *::after{box-sizing:border-box;}
.rf-111{font-family:var(--rf-font); font-size:var(--fs-body); line-height:var(--lh-body); color:var(--text-primary);}
.rf-111 img,.rf-111 svg{max-width:100%; display:block;}
.rf-111 ul{margin:0; padding:0; list-style:none;}
.rf-111 p{margin:0;}
.rf-111 h1,.rf-111 h2,.rf-111 h3,.rf-111 h4{margin:0; line-height:var(--lh-head); font-weight:700;}
.rf-111 a{color:inherit; text-decoration:none;}
.rf-111 button{font-family:inherit; cursor:pointer;}

/* ── container ── */
.rf-111 .rf-container{max-width:var(--content-max); margin-inline:auto; padding-inline:20px;}
@media (min-width:768px){ .rf-111 .rf-container{padding-inline:32px;} }
@media (min-width:1024px){ .rf-111 .rf-container{padding-inline:40px;} }

/* ── section shell ── */
.rf-111 .rf-section{padding-block:var(--section-gap);}
.rf-111 .rf-section-head{max-width:720px; margin-block-end:32px; position:relative;}
.rf-111 .rf-eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--rf-font-mono);
  font-size:var(--fs-micro); letter-spacing:.08em; text-transform:uppercase;
  color:var(--accent-cyan-text); margin-block-end:12px;
}
.rf-111 .rf-secnum{
  display:block; font-family:var(--rf-font-mono); font-weight:700; line-height:1;
  font-size:clamp(2.2rem,9vw,3.4rem); letter-spacing:-.02em;
  color:var(--text-outline); opacity:.32; margin-block-end:6px;
}
@media (min-width:1280px){
  .rf-111 .rf-secnum{position:absolute; inset-inline-end:100%; margin-inline-end:20px; inset-block-start:-6px; margin-block-end:0;}
}
.rf-111 .rf-h2{font-size:var(--fs-h2); color:var(--text-primary);}
.rf-111 .rf-h3{font-size:var(--fs-h3); color:var(--text-primary);}
.rf-111 .rf-lede{font-size:var(--fs-body-lg); color:var(--text-secondary); margin-block-start:12px; max-width:62ch;}

/* ── gradient text — per-theme AA-safe ramps ── */
.rf-111 .rf-text-gradient{
  font-weight:800; background-image:linear-gradient(90deg,#7FF5E6 0%,#8FB5FF 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}
:root[data-rf-theme="light"] .rf-111 .rf-text-gradient{
  background-image:linear-gradient(90deg,#00776B 0%,#0044C7 100%);
}
@supports not (-webkit-background-clip:text){
  .rf-111 .rf-text-gradient{background:none; color:var(--accent-cyan-text); -webkit-text-fill-color:currentColor;}
}

/* ── bento grid ── */
.rf-111 .rf-bento{
  display:grid; gap:var(--bento-gap);
  grid-template-columns: repeat(var(--bento-cols-m), minmax(0,1fr));
  grid-auto-rows: minmax(var(--bento-cell-min), auto);
}
.rf-111 .rf-bento > *{border-radius:var(--bento-radius); min-width:0;}
.rf-111 .rf-span-2{grid-column:span 2;}
@media (min-width:768px){
  .rf-111 .rf-bento{gap:20px; grid-template-columns: repeat(var(--bento-cols-t), minmax(0,1fr));}
  .rf-111 .rf-span-t3{grid-column:span 3;} .rf-111 .rf-span-t4{grid-column:span 4;}
  .rf-111 .rf-row-t2{grid-row:span 2;}
}
@media (min-width:1024px){
  .rf-111 .rf-bento{gap:24px; grid-template-columns: repeat(var(--bento-cols-d), minmax(0,1fr));}
  .rf-111 .rf-span-d2{grid-column:span 2;} .rf-111 .rf-span-d3{grid-column:span 3;}
  .rf-111 .rf-span-d4{grid-column:span 4;} .rf-111 .rf-span-d6{grid-column:span 6;}
  .rf-111 .rf-row-t2{grid-row:span 1;} .rf-111 .rf-row-d2{grid-row:span 2;} .rf-111 .rf-row-d3{grid-row:span 3;}
}

/* ── tile ── */
.rf-111 .rf-tile{
  background:var(--card-bg); border:1px solid var(--card-border); box-shadow:var(--elev-1), var(--neu-tile);
  padding:20px; display:flex; flex-direction:column; gap:10px;
  transition: transform var(--dur-std) var(--ease-std), box-shadow var(--dur-std) var(--ease-std), border-color var(--dur-std) var(--ease-std);
}
.rf-111 .rf-tile:hover{transform:translateY(-4px); box-shadow:var(--elev-3), var(--neu-tile-hover); border-color:var(--rf-cyan);}
.rf-111 .rf-tile h3{font-size:var(--fs-h3);}
.rf-111 .rf-tile p{color:var(--text-secondary); font-size:var(--fs-body);}
.rf-111 .rf-tile-icon{
  width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background:var(--neu-bg); box-shadow:var(--neu-raised); color:var(--accent-cyan-text); flex-shrink:0;
}
.rf-111 .rf-tile-icon svg{width:24px; height:24px;}
.rf-111 .rf-tile-link{
  margin-block-start:auto; display:inline-flex; align-items:center; gap:6px;
  color:var(--accent-blue-text); font-weight:600; font-size:var(--fs-label);
  min-height:var(--tap-min); padding-block:10px;
}
.rf-111 .rf-tile-link svg{width:16px; height:16px;}

/* narrow-tile guard: icon + short label only, no paragraphs under 220px */
.rf-111 .rf-tile-mini{min-width:0; align-items:center; justify-content:center; text-align:center;}
.rf-111 .rf-tile-mini p{display:none;}
.rf-111 .rf-tile-mini .rf-tile-label{font-size:var(--fs-label); font-weight:600; color:var(--text-primary);}

/* ── cell skins (from reference refinement pass) ── */
.rf-111 .rf-sk-ring{
  background:var(--card-bg); border:1.5px solid transparent;
  background-image:linear-gradient(var(--card-bg),var(--card-bg)), var(--rf-conic);
  background-origin:border-box; background-clip:padding-box, border-box;
  box-shadow:var(--elev-1);
}
.rf-111 .rf-sk-glass{
  background:var(--glass-bg); border:1px solid var(--glass-border); box-shadow:var(--elev-1);
  backdrop-filter:blur(var(--glass-blur)) saturate(150%);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);
}
.rf-111 .rf-sk-glass2{
  background:var(--glass-bg-strong); border:1px solid var(--glass-border); box-shadow:var(--elev-3);
  backdrop-filter:blur(26px) saturate(170%);
  -webkit-backdrop-filter:blur(26px) saturate(170%);
}
.rf-111 .rf-sk-neu{background:var(--neu-bg); border:1px solid transparent; box-shadow:var(--neu-tile);}
.rf-111 .rf-sk-neu-flat{background:var(--surface-high); border:1px solid transparent; box-shadow:var(--neu-tile);}
.rf-111 .rf-sk-neu-in{background:var(--surface); border:1px solid transparent; box-shadow:var(--neu-tile);}
.rf-111 .rf-sk-neu:hover,.rf-111 .rf-sk-neu-flat:hover,.rf-111 .rf-sk-neu-in:hover{box-shadow:var(--neu-tile-hover);}
.rf-111 .rf-sk-md{background:var(--card-bg); border:1px solid var(--card-border); box-shadow:var(--elev-1);}
.rf-111 .rf-sk-grad{background:var(--rf-gradient-135); border:1px solid transparent; color:#fff;}
.rf-111 .rf-sk-grad :is(h2,h3,h4,p,span,li,a,strong,div,time,small){color:#fff;}
.rf-111 .rf-sk-grad .rf-tile-icon{background:rgba(255,255,255,.2); color:#fff; box-shadow:none;}
.rf-111 .rf-sk-grad .rf-tile-link{color:#fff;}

/* ── badge ── */
.rf-111 .rf-badge{
  display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:var(--ts-full);
  background:var(--rf-gradient-cta); color:#fff; font-size:var(--fs-label); font-weight:600;
}
.rf-111 .rf-badge svg{width:15px; height:15px; flex-shrink:0;}

/* ── buttons ── */
.rf-111 .rf-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:var(--tap-min); padding-inline:24px; border-radius:var(--ts-full);
  font-weight:600; font-size:var(--fs-body); border:1px solid transparent;
  transition:transform var(--dur-fast) var(--ease-std), box-shadow var(--dur-fast) var(--ease-std), border-color var(--dur-fast) var(--ease-std);
}
.rf-111 .rf-btn svg{width:18px; height:18px;}
.rf-111 .rf-btn:hover{transform:translateY(-2px);}
.rf-111 .rf-btn-primary{background:var(--rf-gradient-cta); color:#fff; box-shadow:var(--elev-1);}
.rf-111 .rf-btn-primary:hover{box-shadow:var(--elev-3);}
.rf-111 .rf-btn-secondary{background:transparent; border-color:var(--card-border); color:var(--text-primary);}
.rf-111 .rf-btn-secondary:hover{border-color:var(--rf-cyan);}
.rf-111 .rf-btn-block{width:100%;}

/* ── chip ── */
.rf-111 .rf-chip{
  display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:var(--ts-full);
  background:var(--neu-bg); box-shadow:var(--neu-flat); font-size:var(--fs-label); font-weight:600; color:var(--text-primary);
}
.rf-111 .rf-chip svg{width:16px; height:16px;}

/* ── orbs (hero + checklist section backgrounds) ── */
.rf-111 .rf-orbs{position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.55;}
.rf-111 .rf-orbs span{position:absolute; border-radius:50%; filter:blur(60px);}
.rf-111 .rf-orbs span:nth-child(1){width:280px; height:280px; inset-inline-end:-60px; inset-block-start:-40px; background:var(--rf-orb-cyan);}
.rf-111 .rf-orbs span:nth-child(2){width:220px; height:220px; inset-inline-start:-50px; inset-block-end:-30px; background:var(--rf-orb-purple);}

/* ── reveal on scroll ── */
.rf-111 [data-rf-reveal]{
  opacity:0; transform:translateY(16px);
  transition:opacity var(--dur-slow) var(--ease-std), transform var(--dur-slow) var(--ease-std);
}
.rf-111 [data-rf-reveal].is-visible{opacity:1; transform:translateY(0);}

/* Elementor editor canvas: never hide content behind reveal state — user needs to see it. */
body.elementor-editor-active .rf-111 [data-rf-reveal]{opacity:1 !important; transform:none !important;}

/* ── a11y floor ── */
.rf-111 :focus-visible{outline:none; box-shadow:var(--focus-ring);}
@media (prefers-reduced-motion: reduce){
  .rf-111 *,.rf-111 *::before,.rf-111 *::after{
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important;
  }
  .rf-111 [data-rf-reveal]{opacity:1 !important; transform:none !important;}
}

/* ═══════════════════════════════════════════════════════════════════
   PER-WIDGET SKINS — merged here so we don't ship 20 CSS files
   ═══════════════════════════════════════════════════════════════════ */

/* ── 01 · HERO ── */
.rf-111 .rf-hero{position:relative; overflow:clip; padding-block:48px 56px;}
.rf-111 .rf-hero-inner{position:relative; z-index:1;}
.rf-111 .rf-hero h1{font-size:var(--fs-display); letter-spacing:-.01em; max-width:16ch;}
.rf-111 .rf-hero .rf-lede{font-size:var(--fs-body-lg); max-width:56ch; margin-block-start:18px;}
.rf-111 .rf-hero-bullets{display:grid; grid-template-columns:1fr; gap:10px; margin-block:28px; max-width:520px;}
@media (min-width:640px){ .rf-111 .rf-hero-bullets{grid-template-columns:1fr 1fr;} }
.rf-111 .rf-hero-bullets li{display:flex; align-items:flex-start; gap:10px; font-size:var(--fs-body); color:var(--text-secondary);}
.rf-111 .rf-hero-bullets svg{width:20px; height:20px; flex-shrink:0; color:var(--accent-cyan-text); margin-block-start:2px;}
.rf-111 .rf-hero-ctas{display:flex; flex-wrap:wrap; gap:12px;}
.rf-111 .rf-hero .rf-badge{margin-block-end:20px;}

/* ── 02 · HUB ── */
.rf-111 .rf-hub-card{padding:22px;}
.rf-111 .rf-hub-card h3{margin-block-end:4px;}

/* ── 03 · TRUST BAR ── */
.rf-111 .rf-stat-tile{align-items:center; text-align:center; padding-block:26px;}
.rf-111 .rf-stat-num{font-family:var(--rf-font-disp); font-size:clamp(1.6rem,4vw,2.4rem); font-weight:700; color:var(--text-primary);}
.rf-111 .rf-stat-num .rf-suffix{color:var(--accent-cyan-text);}
.rf-111 .rf-stat-label{font-size:var(--fs-label); color:var(--text-secondary);}

/* ── 04 · PAIN ── */
.rf-111 .rf-pain-grid{grid-auto-rows:min-content;}
.rf-111 .rf-pain-tile{padding:22px;}
.rf-111 .rf-pain-tile .rf-tile-icon{color:var(--accent-pink-text);}

/* ── 05 · SOLUTION ── */
.rf-111 .rf-flow{display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-block-start:24px;}
.rf-111 .rf-flow-step{
  display:flex; align-items:center; gap:8px; padding:10px 16px; border-radius:var(--ts-full);
  background:var(--card-bg); border:1px solid var(--card-border); font-size:var(--fs-label); font-weight:600; color:var(--text-primary);
}
.rf-111 .rf-flow-arrow{width:18px; height:18px; color:var(--text-outline); flex-shrink:0;}

/* ── 06 · WHAT/WHO ── */
.rf-111 .rf-audience-list{display:flex; flex-wrap:wrap; gap:10px; margin-block-start:16px;}

/* ── 07 · MUST HAVES ── */
.rf-111 .rf-musthave-grid{display:grid; gap:var(--bento-gap); grid-template-columns:minmax(0,1fr);}
@media (min-width:768px){ .rf-111 .rf-musthave-grid{gap:20px; grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (min-width:1024px){ .rf-111 .rf-musthave-grid{gap:24px;} }
.rf-111 .rf-musthave-grid > *{border-radius:var(--bento-radius); min-width:0;}
.rf-111 .rf-musthave-lead{
  grid-column:1/-1; display:flex; flex-direction:column; gap:10px; padding:24px;
  color:var(--text-primary); background:var(--card-bg); border:1px solid var(--card-border); box-shadow:var(--elev-1);
}
@media (min-width:768px){ .rf-111 .rf-musthave-lead{grid-column:span 2;} }
.rf-111 .rf-musthave-item{
  display:flex; align-items:center; gap:12px; padding:16px 18px;
  color:var(--text-primary); background:var(--card-bg); border:1px solid var(--card-border); box-shadow:var(--elev-1);
  transition:transform var(--dur-std) var(--ease-std), box-shadow var(--dur-std) var(--ease-std), border-color var(--dur-std) var(--ease-std);
}
.rf-111 .rf-musthave-item:hover{transform:translateY(-4px); box-shadow:var(--elev-3); border-color:var(--rf-cyan);}
.rf-111 .rf-musthave-item .rf-tile-label{font-size:var(--fs-label); font-weight:600;}

/* ── 08 · EEAT ── */
.rf-111 .rf-eeat-tile .rf-tile-icon{color:var(--accent-purple-text);}
.rf-111 .rf-eeat-kicker{font-family:var(--rf-font-mono); font-size:var(--fs-micro); letter-spacing:.06em; color:var(--accent-purple-text); text-transform:uppercase;}

/* ── 09 · PROCESS ── */
.rf-111 .rf-step-tile{position:relative;}
.rf-111 .rf-step-num{
  position:absolute; inset-block-start:14px; inset-inline-end:16px; font-family:var(--rf-font-disp);
  font-size:1.6rem; font-weight:700; color:var(--outline-variant);
  -webkit-text-stroke:1px var(--text-outline);
}

/* ── 10 · PRICING ── */
.rf-111 .rf-price-frame{position:relative; border-radius:var(--bento-radius); min-width:0;}
.rf-111 .rf-price-frame > .rf-price-tile{border-radius:var(--bento-radius); height:100%;}
.rf-111 .rf-price-frame.is-popular-frame{
  background:var(--rf-gradient-135); padding:2px; border-radius:calc(var(--bento-radius) + 2px);
}
.rf-111 .rf-price-frame.is-popular-frame > .rf-price-tile{
  background:var(--surface-low); border:none; margin:0; height:100%; border-radius:var(--bento-radius);
}
:root[data-rf-theme="light"] .rf-111 .rf-price-frame.is-popular-frame > .rf-price-tile{background:#FFFFFF;}
.rf-111 .rf-price-tile{padding:24px; position:relative; display:flex; flex-direction:column; gap:10px;}
.rf-111 .rf-price-tile:not(.is-popular){background:var(--card-bg); border:1px solid var(--card-border); box-shadow:var(--elev-1);}
.rf-111 .rf-price-tile:not(.is-popular):hover{box-shadow:var(--elev-3); border-color:var(--rf-cyan);}
.rf-111 .rf-price-tile.is-popular{box-shadow:var(--elev-5), var(--neu-tile);}
.rf-111 .rf-price-ribbon{
  position:absolute; inset-block-start:0; inset-inline-start:50%; transform:translate(-50%,-50%);
  z-index:3; padding:7px 22px; background:var(--rf-gradient-cta); color:#fff;
  font-size:var(--fs-micro); font-weight:800; letter-spacing:.04em; white-space:nowrap;
  border-radius:var(--ts-m) var(--ts-s) var(--ts-m) var(--ts-s); box-shadow:var(--elev-3);
}
.rf-111 .rf-price-row{display:flex; align-items:baseline; gap:8px; margin-block:6px;}
.rf-111 .rf-price-now{font-family:var(--rf-font-disp); font-size:2rem; font-weight:700; color:var(--text-primary);}
.rf-111 .rf-price-was{font-size:var(--fs-body); color:var(--text-outline); text-decoration:line-through;}
.rf-111 .rf-price-save{
  display:inline-flex; align-self:flex-start; padding:4px 10px; border-radius:8px;
  font-size:var(--fs-micro); font-weight:700;
  background:var(--md-tertiary-container); color:var(--md-on-tertiary-container); margin-block-end:8px;
}
.rf-111 .rf-price-feats{display:flex; flex-direction:column; gap:8px; margin-block:14px;}
.rf-111 .rf-price-feats li{display:flex; align-items:flex-start; gap:8px; font-size:var(--fs-label); color:var(--text-secondary);}
.rf-111 .rf-price-feats svg{width:16px; height:16px; color:var(--accent-cyan-text); flex-shrink:0; margin-block-start:3px;}

/* ── 11 · PROMOS ── */
.rf-111 .rf-promo-tile{border-color:rgba(0,229,204,.2);}
.rf-111 .rf-promo-reason{font-size:var(--fs-micro); color:var(--accent-cyan-text); font-family:var(--rf-font-mono); margin-block-start:auto;}

/* ── 13 · MOBILE MOCKUP ── */
.rf-111 .rf-mobile-tile{display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:24px;}
.rf-111 .rf-mobile-copy{flex:1; min-width:240px;}
.rf-111 .rf-mobile-visual{display:flex; align-items:center; justify-content:center; padding-block:12px;}
.rf-111 .rf-phone{
  width:150px; height:300px; border-radius:32px; background:var(--surface-high);
  border:6px solid var(--surface-highest); position:relative; box-shadow:var(--elev-3); flex-shrink:0;
}
.rf-111 .rf-phone::before{
  content:""; position:absolute; inset-inline:0; inset-block-start:0; margin-inline:auto;
  width:50px; height:16px; background:var(--surface-highest); border-radius:0 0 12px 12px;
}
.rf-111 .rf-phone-thumb-zone{
  position:absolute; inset-inline:8px; inset-block-end:10px; block-size:36%;
  border-radius:20px; background:var(--rf-gradient-soft); border:1px dashed var(--rf-cyan);
}
.rf-111 .rf-phone-bar{position:absolute; inset-inline:14px; height:10px; border-radius:6px; background:var(--outline-variant);}

/* ── 16 · PORTFOLIO ── */
.rf-111 .rf-folio-grid{grid-auto-rows:min-content;}
@media (min-width:768px){ .rf-111 .rf-folio-grid{grid-auto-flow:dense;} }
.rf-111 .rf-work-tile{padding:20px; align-self:stretch;}
.rf-111 .rf-work-tag{font-family:var(--rf-font-mono); font-size:var(--fs-micro); color:var(--accent-blue-text); text-transform:uppercase; letter-spacing:.05em;}
.rf-111 .rf-work-metric{margin-block-start:auto; font-weight:700; color:var(--accent-cyan-text); font-size:var(--fs-label);}
.rf-111 .rf-work-feats{display:flex; flex-direction:column; gap:8px; margin:0; padding:0; list-style:none;}
.rf-111 .rf-work-feats li{display:flex; align-items:center; gap:8px; color:var(--text-secondary); font-size:var(--fs-label);}
.rf-111 .rf-work-feats svg{width:16px; height:16px; color:var(--accent-cyan-text); flex-shrink:0;}
.rf-111 .rf-ba-bars{display:flex; flex-direction:column; gap:14px; margin-block-start:12px;}
.rf-111 .rf-ba-row{display:grid; grid-template-columns:100px 1fr 60px; align-items:center; gap:10px; font-size:var(--fs-label); color:var(--text-secondary);}
.rf-111 .rf-ba-track{height:10px; border-radius:6px; background:var(--outline-variant); overflow:hidden; position:relative;}
.rf-111 .rf-ba-fill{height:100%; border-radius:6px; background:var(--rf-gradient);}

/* ── 17 · TESTIMONIALS ── */
.rf-111 .rf-quote-tile{padding:22px;}
.rf-111 .rf-quote-stars{display:flex; gap:3px; color:var(--accent-cyan-text); margin-block-end:10px;}
.rf-111 .rf-quote-stars svg{width:16px; height:16px;}
.rf-111 .rf-quote-text{font-size:var(--fs-body); color:var(--text-primary);}
.rf-111 .rf-quote-who{margin-block-start:12px; font-size:var(--fs-label); color:var(--text-secondary);}
.rf-111 .rf-quote-who strong{color:var(--text-primary);}

/* ── 18 · COMPARE ── */
.rf-111 .rf-compare-table{width:100%; border-collapse:separate; border-spacing:0; display:none;}
.rf-111 .rf-compare-table caption{text-align:start; color:var(--text-secondary); font-size:var(--fs-label); margin-block-end:10px;}
.rf-111 .rf-compare-table th,.rf-111 .rf-compare-table td{padding:14px 16px; text-align:start; border-block-end:1px solid var(--outline-variant); font-size:var(--fs-label);}
.rf-111 .rf-compare-table thead th{color:var(--text-secondary); font-weight:700;}
.rf-111 .rf-compare-table tbody th{color:var(--text-primary); font-weight:600; white-space:nowrap;}
.rf-111 .rf-compare-table td{color:var(--text-secondary);}
.rf-111 .rf-compare-table .rf-us-col{background:var(--surface-high); color:var(--text-primary); font-weight:600;}
.rf-111 .rf-compare-table thead .rf-us-col{color:var(--accent-cyan-text); border-radius:12px 12px 0 0;}
.rf-111 .rf-compare-cards{display:grid; gap:14px;}
.rf-111 .rf-compare-card{padding:18px;}
.rf-111 .rf-compare-card.is-us{border-color:var(--rf-cyan);}
.rf-111 .rf-compare-card-head{display:flex; align-items:center; justify-content:space-between; margin-block-end:10px;}
.rf-111 .rf-compare-card-head strong{font-size:var(--fs-h3); color:var(--text-primary);}
.rf-111 .rf-compare-card dl{display:grid; grid-template-columns:1fr auto; gap:8px 12px; margin:0;}
.rf-111 .rf-compare-card dt{color:var(--text-secondary); font-size:var(--fs-label);}
.rf-111 .rf-compare-card dd{margin:0; font-size:var(--fs-label); font-weight:600; color:var(--text-primary); text-align:end;}
@media (min-width:768px){
  .rf-111 .rf-compare-table{display:table;}
  .rf-111 .rf-compare-cards{display:none;}
}

/* ── 19 · FAQ ── */
.rf-111 .rf-faq-grid{grid-auto-rows:min-content; align-items:start;}
.rf-111 .rf-faq-intro{display:flex; flex-direction:column; gap:10px; padding:24px; color:var(--text-primary); height:100%;}
.rf-111 .rf-faq-intro h3{font-size:var(--fs-h3);}
.rf-111 .rf-faq-intro p{color:var(--text-secondary);}
.rf-111 .rf-faq-intro-links{display:flex; flex-direction:column; gap:10px; margin-block-start:auto; padding-block-start:8px;}
.rf-111 .rf-faq-intro-link{
  display:flex; align-items:center; gap:10px; min-height:var(--tap-min); padding-inline:14px;
  border-radius:var(--ts-full); background:var(--surface-low); border:1px solid var(--card-border);
  color:var(--text-primary); font-weight:600; font-size:var(--fs-label);
}
.rf-111 .rf-faq-intro-link:hover{border-color:var(--rf-cyan);}
.rf-111 .rf-faq-intro-link svg{width:18px; height:18px; color:var(--accent-cyan-text); flex-shrink:0;}
.rf-111 .rf-faq-cell{border-radius:var(--bento-radius); overflow:hidden;}
.rf-111 .rf-faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px;
  min-height:var(--tap-min); padding:16px 18px; background:transparent; border:none; color:var(--text-primary);
  font-size:var(--fs-body-lg); font-weight:600; text-align:start;
}
.rf-111 .rf-faq-q svg{width:20px; height:20px; color:var(--accent-cyan-text); flex-shrink:0; transition:transform var(--dur-std) var(--ease-std);}
.rf-111 [data-rf-faq][data-open="true"] .rf-faq-q svg{transform:rotate(45deg);}
.rf-111 .rf-faq-body{display:grid; grid-template-rows:0fr; transition:grid-template-rows var(--dur-std) var(--ease-std);}
.rf-111 [data-rf-faq][data-open="true"] .rf-faq-body{grid-template-rows:1fr;}
.rf-111 .rf-faq-body-inner{overflow:hidden; min-height:0;}
.rf-111 .rf-faq-body-inner p{padding:0 18px 18px; color:var(--text-secondary); font-size:var(--fs-body);}

/* ── 20 · CHECKLIST ── */
.rf-111 .rf-checklist-section{position:relative; overflow:clip;}
.rf-111 .rf-checklist-inner{position:relative; z-index:1;}
.rf-111 .rf-checklist-panel{padding:22px 16px; border-radius:var(--bento-radius);
  background:var(--glass-bg); border:1px solid var(--glass-border);
  backdrop-filter:blur(var(--glass-blur)); -webkit-backdrop-filter:blur(var(--glass-blur));
}
@media (min-width:768px){ .rf-111 .rf-checklist-panel{padding:32px;} }
.rf-111 .rf-checklist{display:grid; grid-template-columns:1fr; gap:12px;}
@media (min-width:768px){ .rf-111 .rf-checklist{grid-template-columns:1fr 1fr;} }
.rf-111 .rf-checklist li{display:flex; align-items:flex-start; gap:12px; padding:14px 16px; background:var(--card-bg); border:1px solid var(--card-border); border-radius:14px;}
.rf-111 .rf-check-box{
  width:22px; height:22px; border-radius:6px; border:2px solid var(--accent-cyan-text);
  flex-shrink:0; margin-block-start:1px; display:flex; align-items:center; justify-content:center; color:var(--accent-cyan-text);
}
.rf-111 .rf-check-box svg{width:14px; height:14px;}
.rf-111 .rf-checklist p{color:var(--text-primary); font-size:var(--fs-body); margin:0;}
.rf-111 .rf-checklist-note{margin-block-start:24px; color:var(--text-secondary); font-size:var(--fs-body);}

/* ── Silo interlinks footer line (2026-08-29). The section itself reuses
   .rf-bento / .rf-tile / .rf-hub-card, so this is the only new rule.
   --accent-cyan-text is the theme-correct accent: cyan on dark, #006E63 on
   light. The raw --rf-cyan would be 1.61:1 on the light surface. ── */
.rf-111 .rf-web-silo-foot{margin-top:22px; text-align:center; font-size:.95rem; color:var(--text-secondary);}
.rf-111 .rf-web-silo-foot a{color:var(--accent-cyan-text); font-weight:600; text-decoration:none; border-bottom:1px solid transparent;}
.rf-111 .rf-web-silo-foot a:hover,.rf-111 .rf-web-silo-foot a:focus-visible{border-bottom-color:var(--accent-cyan-text);}
.rf-111 .rf-web-silo-foot span{margin-inline:8px; opacity:.6;}
