:root { color-scheme: light; }
html { scroll-padding-top: 88px; }
body { font-family: 'DM Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.font-script { font-family: 'Caveat', cursive; }
.nav-link { position: relative; padding: .5rem 0; transition: color .2s ease; }
.nav-link::after { content: ''; position: absolute; left: 0; bottom: -.85rem; width: 0; height: 2px; background: #E32124; border-radius: 999px; transition: width .2s ease; }
.nav-link:hover, .nav-link.active { color: #082B55; }
.nav-link:hover::after, .nav-link.active::after { width: 22px; }
.section-kicker { display: inline-flex; align-items: center; gap: .75rem; color: #64748b; text-transform: uppercase; letter-spacing: .18em; font-size: .68rem; font-weight: 700; }
.section-kicker::before { content: ''; display: inline-block; width: 24px; height: 2px; background: #E32124; border-radius: 999px; }
.section-title { color: #082B55; font-size: clamp(1.625rem, 2.6vw, 2.25rem); line-height: 1.12; letter-spacing: -.03em; font-weight: 800; }
.stat-card { display: flex; align-items: center; gap: 1rem; padding: 1.35rem 1.5rem; }
.stat-card + .stat-card { border-top: 1px solid #eef2f7; }
.stat-card strong, .stat-card .stat-label { display: block; }
.stat-card strong { color: #082B55; font-size: 1rem; font-weight: 800; line-height: 1.25; }
.stat-card .stat-label { color: #64748b; font-size: .72rem; }
.stat-icon { display: grid; height: 2.7rem; width: 2.7rem; place-items: center; color: #082B55; }
.stat-icon svg { width: 1.55rem; height: 1.55rem; }
.subject-card { min-height: 248px; display: flex; flex-direction: column; justify-content: space-between; gap: .75rem; border: 1px solid #e8edf3; border-radius: 1.2rem; padding: 1.4rem; background: white; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.subject-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(8,43,85,.10); border-color: rgba(8,43,85,.14); }
.subject-card-copy { flex: 1; min-height: 0; }
.subject-card h4 { color: #082B55; font-weight: 800; line-height: 1.25; font-size: 1rem; }
.subject-card-desc { margin-top: .5rem; font-size: .75rem; line-height: 1.45; color: #64748b; font-weight: 500; }
.subject-card-arrow { color: #E32124; width: max-content; margin-top: auto; }
.subject-card-arrow svg { width: 1rem; height: 1rem; }
/* Home apps section: phones are absolute — height follows width.
   Assets: splash 941×1672, UI 1086×1448 (different aspect). Scale UI to match splash height at the same frame width. */
.apps-showcase-phones {
  --phone-splash-w: 941;
  --phone-splash-h: 1672;
  --phone-ui-w: 1086;
  --phone-ui-h: 1448;
  --phone-ui-match-scale: calc((var(--phone-splash-h) / var(--phone-splash-w)) / (var(--phone-ui-h) / var(--phone-ui-w)));
  position: relative;
  /* Match stacked phone height (~38% frame width × splash aspect); avoids empty space below absolutes */
  aspect-ratio: 20 / 14;
  min-height: 0;
  overflow: visible;
  margin-bottom: 0.75rem;
}
.apps-showcase-phone {
  position: absolute;
  top: 2%;
  width: 41%;
}
.apps-showcase-phone img {
  display: block;
  width: 100%;
  height: auto;
}
.apps-showcase-phone-splash {
  left: 12%;
}
.apps-showcase-phone-ui {
  left: 43%;
}
.apps-showcase-phone-ui-inner {
  transform: scale(var(--phone-ui-match-scale));
  transform-origin: top center;
}
@media (min-width: 640px) {
  .apps-showcase-phones {
    aspect-ratio: 100 / 88;
    min-height: 0;
    margin-bottom: 0;
  }
}
@media (max-width: 639px) {
  #apps {
    padding-bottom: 0;
  }
  .apps-showcase-phone {
    width: 38%;
  }
  .apps-showcase-phone-splash {
    left: 9%;
  }
  .apps-showcase-phone-ui {
    left: 47%;
  }
}
.subject-icon { display: grid; width: 2.7rem; height: 2.7rem; place-items: center; border-radius: 999px; }
.subject-icon svg { width: 1.35rem; height: 1.35rem; }
.slider-btn { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid #e2e8f0; border-radius: 999px; color: #082B55; transition: transform .2s ease, background .2s ease; }
.slider-btn:hover { transform: translateY(-2px); }
.testimonial-slide { min-width: 100%; display: flex; gap: 1.35rem; align-items: flex-start; border: 1px solid #e8edf3; border-radius: 1.5rem; background: white; padding: 1.5rem; box-shadow: 0 15px 36px rgba(8,43,85,.06); }
.review-avatar { display: grid; place-items: center; width: 4rem; height: 4rem; flex: 0 0 4rem; border-radius: 999px; }
.star { width: 1rem; height: 1rem; fill: currentColor; }
.social-btn { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border-radius: 999px; border: 1px solid #e2e8f0; transition: transform .2s ease, border-color .2s ease, color .2s ease; }
.social-btn:hover { transform: translateY(-2px); border-color: #E32124; color: #E32124; }
@media (min-width: 640px) {
  .stat-card + .stat-card { border-top: 0; border-left: 1px solid #eef2f7; }
}
@media (max-width: 639px) {
  .testimonial-slide { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ===== Expanded website components ===== */
.page-shell { background: #fff; color: #475569; }
.site-nav { position: sticky; top: 0; z-index: 70; border-bottom: 1px solid rgba(226,232,240,.75); background: rgba(255,255,255,.88); backdrop-filter: blur(18px); }
.mega-panel { position: absolute; top: calc(100% + 12px); left: 50%; width: min(760px, calc(100vw - 32px)); transform: translate(-50%, 8px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s ease, transform .2s ease, visibility .2s ease; }
.mega-trigger:hover .mega-panel, .mega-trigger:focus-within .mega-panel { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
.page-hero { position: relative; overflow: hidden; padding: clamp(5rem, 9vw, 8.5rem) 0 5rem; background: radial-gradient(circle at 85% 10%, rgba(227,33,36,.08), transparent 26%), radial-gradient(circle at 10% 80%, rgba(14,95,164,.08), transparent 24%), linear-gradient(180deg,#fff 0%,#f8fbfd 100%); }
.page-hero::after { content: ''; position: absolute; width: 340px; height: 340px; border-radius: 999px; right: -150px; bottom: -180px; border: 1px solid rgba(8,43,85,.08); box-shadow: 0 0 0 44px rgba(8,43,85,.02), 0 0 0 88px rgba(8,43,85,.018); pointer-events: none; }
.hero-eyebrow { display: inline-flex; align-items: center; gap: .65rem; color: #64748b; text-transform: uppercase; letter-spacing: .18em; font-weight: 800; font-size: .68rem; }
.hero-eyebrow::before { content:''; width: 26px; height: 2px; border-radius: 999px; background:#E32124; }
.hero-title { margin-top: 1rem; max-width: 40rem; color:#082B55; font-weight:800; letter-spacing:-.03em; line-height:1.14; font-size:clamp(1.875rem,2.8vw,2.65rem); }
.hero-copy { margin-top: 1.25rem; max-width: 720px; color:#64748b; font-size:clamp(.95rem,1.6vw,1.1rem); line-height:1.7; }
.gradient-mesh { background: radial-gradient(circle at 18% 15%, rgba(227,33,36,.08), transparent 26%), radial-gradient(circle at 82% 75%, rgba(14,95,164,.10), transparent 31%), #f8fbfd; }
.glass-panel { background: rgba(255,255,255,.72); border:1px solid rgba(255,255,255,.82); box-shadow:0 20px 60px rgba(8,43,85,.08); backdrop-filter: blur(18px); }
.bento-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:1rem; }
.bento-card { position:relative; overflow:hidden; border:1px solid #e7edf4; border-radius:1.75rem; background:#fff; box-shadow:0 14px 38px rgba(8,43,85,.05); transition:transform .26s ease, box-shadow .26s ease, border-color .26s ease; transform-style:preserve-3d; }
.bento-card:hover { border-color:rgba(8,43,85,.15); box-shadow:0 22px 55px rgba(8,43,85,.10); }
.bento-card::before { content:''; position:absolute; inset:0; background:radial-gradient(300px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(227,33,36,.07),transparent 48%); opacity:0; transition:opacity .25s ease; pointer-events:none; }
.bento-card:hover::before { opacity:1; }
.bento-card > * { position:relative; z-index:1; }
.bento-span-4 { grid-column:span 4; } .bento-span-5 { grid-column:span 5; } .bento-span-6 { grid-column:span 6; } .bento-span-7 { grid-column:span 7; } .bento-span-8 { grid-column:span 8; } .bento-span-12 { grid-column:span 12; }
.info-icon { display:grid; width:3rem; height:3rem; place-items:center; border-radius:1rem; background:#EFF7FB; color:#0D3768; }
.info-icon.red { background:rgba(227,33,36,.09); color:#E32124; }
.section-wrap { padding:clamp(4.5rem,8vw,7rem) 0; }
.section-heading { color:#082B55; font-weight:800; letter-spacing:-.03em; line-height:1.18; font-size:clamp(1.5rem,2.4vw,2.125rem); }
.section-copy { color:#64748b; line-height:1.8; }
.metric-number { color:#082B55; font-weight:800; letter-spacing:-.04em; font-size:clamp(2.3rem,5vw,4.4rem); }
.marquee-shell { overflow:hidden; mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent); }
.marquee-track { display:flex; width:max-content; gap:.75rem; animation:marquee 28s linear infinite; }
.marquee-shell:hover .marquee-track { animation-play-state:paused; }
@keyframes marquee { to { transform:translateX(-50%); } }
.pill { display:inline-flex; align-items:center; gap:.5rem; white-space:nowrap; border:1px solid #e2e8f0; border-radius:999px; background:#fff; padding:.75rem 1rem; color:#0A2342; font-size:.82rem; font-weight:700; }
.snap-row { display:flex; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:.5rem; }
.snap-row::-webkit-scrollbar { display:none; }
.snap-card { flex:0 0 min(84vw,360px); scroll-snap-align:start; }
.sticky-story { display:grid; gap:2.5rem; }
.story-nav button { width:100%; text-align:left; padding:1rem 1.1rem; border-left:2px solid #e2e8f0; color:#64748b; transition:.2s ease; }
.story-nav button.active { border-color:#E32124; color:#082B55; background:linear-gradient(90deg,rgba(227,33,36,.05),transparent); }
.story-panel { min-height:320px; border:1px solid #e7edf4; border-radius:2rem; background:#fff; padding:clamp(1.4rem,4vw,2.5rem); box-shadow:0 18px 48px rgba(8,43,85,.06); }
.reveal,
.scroll-reveal-text {
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--reveal-delay, 0s);
}
.reveal.is-visible,
.scroll-reveal-text.is-visible { opacity:1; transform:none; }
.scroll-reveal-card {
  opacity:0;
  transform:translateY(28px);
  transition:opacity .65s ease, transform .65s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--reveal-delay, 0s);
}
.scroll-reveal-card.is-visible { opacity:1; transform:none; }
.image-reveal {
  opacity:0;
  transform:translateY(18px);
  transition:opacity .8s ease, transform .8s cubic-bezier(.22,1,.36,1);
}
.image-reveal.is-visible { opacity:1; transform:none; }
.image-reveal img { transform:scale(1.06); transition:transform 1.1s cubic-bezier(.22,1,.36,1); }
.image-reveal.is-visible img { transform:scale(1); }
.journey-mobile-bridge__line {
  width:0;
  border-left:2px dashed #cbd5e1;
}
.scroll-reveal-media {
  opacity:0;
  transform:translateY(16px) scale(1.03);
  transition:opacity .75s ease, transform .75s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--reveal-delay, 0s);
}
.scroll-reveal-media.is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) {
  .reveal,.scroll-reveal-text,.scroll-reveal-card,.image-reveal,.scroll-reveal-media {
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
  .image-reveal img { transform:none !important; transition:none !important; }
}
.tilt-card { will-change:transform; }
.magnetic { will-change:transform; transition:transform .15s ease; }
.orbit-stage { position:relative; min-height:360px; display:grid; place-items:center; }
.orbit-core { position:relative; z-index:2; display:grid; width:150px; height:150px; place-items:center; border-radius:999px; background:#fff; box-shadow:0 20px 60px rgba(8,43,85,.12); border:1px solid #e8edf3; }
.orbit-ring { position:absolute; width:310px; height:310px; border:1px dashed rgba(8,43,85,.18); border-radius:999px; animation:spin 32s linear infinite; }
.orbit-item { position:absolute; top:50%; left:50%; width:54px; height:54px; display:grid; place-items:center; margin:-27px; border-radius:1rem; background:#fff; border:1px solid #e8edf3; box-shadow:0 10px 25px rgba(8,43,85,.08); color:#082B55; transform:rotate(var(--a)) translateX(155px) rotate(calc(-1 * var(--a))); }
@keyframes spin { to { transform:rotate(360deg); } }
.process-tabs { display:flex; flex-wrap:wrap; gap:.6rem; }
.process-tab { border:1px solid #e2e8f0; border-radius:999px; padding:.7rem 1rem; color:#64748b; font-weight:700; font-size:.82rem; transition:.2s; }
.process-tab.active { background:#082B55; border-color:#082B55; color:#fff; }
.process-content [data-panel] { display:none; }
.process-content [data-panel].active { display:block; animation:fadePanel .28s ease; }
@keyframes fadePanel { from { opacity:0; transform:translateY(8px) } to { opacity:1; transform:none } }
.accordion-item { border-bottom:1px solid #e8edf3; }
.accordion-btn { display:flex; width:100%; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 0; color:#082B55; font-weight:800; text-align:left; }
.accordion-panel { display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s ease; }
.accordion-panel > div { overflow:hidden; }
.accordion-item.open .accordion-panel { grid-template-rows:1fr; }
.accordion-item.open .accordion-icon { transform:rotate(45deg); }
.accordion-icon { transition:transform .25s ease; }
.toc { position:sticky; top:110px; }
.toc a { display:block; border-left:2px solid #e2e8f0; padding:.55rem .85rem; color:#64748b; font-size:.82rem; transition:.2s; }
.toc a:hover,.toc a.active { border-color:#E32124; color:#082B55; }
.policy-card { border:1px solid #e7edf4; border-radius:1.5rem; background:#fff; padding:clamp(1.25rem,3vw,2rem); }
.policy-card h4 { color:#082B55; font-size:1.55rem; font-weight:800; letter-spacing:-.025em; }
.policy-card h5 { margin-top:1.5rem; color:#0A2342; font-weight:800; }
.policy-card p,.policy-card li { color:#64748b; line-height:1.75; }
.policy-card ul { margin-top:.7rem; padding-left:1.15rem; list-style:disc; }
.policy-card ol { margin-top:.7rem; padding-left:1.25rem; list-style:decimal; }
.policy-card table { width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid #e8edf3; border-radius:1rem; }
.policy-card th,.policy-card td { padding:.85rem 1rem; border-bottom:1px solid #edf2f7; text-align:left; font-size:.9rem; }
.policy-card th { background:#f8fafc; color:#082B55; }
.policy-card tr:last-child td { border-bottom:0; }
.progress-line { position:fixed; top:0; left:0; z-index:100; height:3px; width:var(--scroll-progress,0%); background:linear-gradient(90deg,#E32124,#0D3768); pointer-events:none; }
.whatsapp-fab { position:fixed; z-index:70; right:18px; bottom:18px; display:grid; width:3.35rem; height:3.35rem; place-items:center; border-radius:999px; background:#25D366; color:#fff; box-shadow:0 12px 32px rgba(37,211,102,.45); transition:transform .2s ease, box-shadow .2s ease; }
.whatsapp-fab:hover { transform:translateY(-3px); box-shadow:0 16px 38px rgba(37,211,102,.5); }
.whatsapp-fab svg { width:1.65rem; height:1.65rem; }
body.has-floating-dock .whatsapp-fab { bottom:5.35rem; }
.floating-dock { position:fixed; z-index:60; right:18px; bottom:18px; display:flex; gap:.5rem; align-items:center; padding:.5rem; border:1px solid rgba(226,232,240,.85); border-radius:999px; background:rgba(255,255,255,.92); box-shadow:0 14px 45px rgba(8,43,85,.14); backdrop-filter:blur(14px); transform:translateY(120%); opacity:0; transition:.3s ease; }
.floating-dock.show { transform:none; opacity:1; }
.command-backdrop { position:fixed; inset:0; z-index:120; display:none; place-items:start center; padding-top:12vh; background:rgba(6,20,37,.46); backdrop-filter:blur(8px); }
.command-backdrop.open { display:grid; }
.command-box { width:min(680px,calc(100vw - 28px)); border:1px solid rgba(255,255,255,.6); border-radius:1.5rem; background:#fff; box-shadow:0 30px 90px rgba(8,43,85,.25); overflow:hidden; }
.command-result { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1rem; border-radius:1rem; color:#0A2342; }
.command-result:hover,.command-result.active { background:#f8fafc; }
.compare-switch { display:grid; grid-template-columns:1fr 1fr; border:1px solid #e2e8f0; border-radius:999px; padding:.25rem; background:#fff; }
.compare-switch button { border-radius:999px; padding:.7rem 1rem; color:#64748b; font-weight:800; font-size:.8rem; }
.compare-switch button.active { color:#fff; background:#082B55; box-shadow:0 8px 18px rgba(8,43,85,.18); }
.refund-meter { position:relative; height:14px; border-radius:999px; background:linear-gradient(90deg,#16a34a 0 25%,#84cc16 25% 50%,#f59e0b 50% 75%,#ef4444 75% 100%); }
.refund-thumb { position:absolute; top:50%; left:var(--refund-pos,0%); width:24px; height:24px; transform:translate(-50%,-50%); border:4px solid #fff; border-radius:999px; background:#082B55; box-shadow:0 4px 14px rgba(8,43,85,.25); }
.smart-footer { background:#061d38; color:#d7e3ef; }
.smart-footer a { transition:color .2s ease; }
.smart-footer a:hover { color:#fff; }
.parallax-float { transform:translateY(var(--parallax-y,0px)); will-change:transform; }
.side-progress { position:fixed; z-index:55; left:16px; top:50%; transform:translateY(-50%); display:none; gap:.6rem; flex-direction:column; }
.side-progress a { width:7px; height:7px; border-radius:999px; background:#cbd5e1; transition:.2s ease; }
.side-progress a.active { height:22px; background:#E32124; }

@media (min-width: 1024px) {
  .sticky-story { grid-template-columns:.72fr 1.28fr; }
  .story-nav { position:sticky; top:118px; align-self:start; }
  .side-progress { display:flex; }
}
@media (max-width: 900px) {
  .bento-span-4,.bento-span-5,.bento-span-6,.bento-span-7,.bento-span-8 { grid-column:span 12; }
}
@media (max-width: 767px) {
  .mega-panel { display:none; }
  .floating-dock { right:10px; bottom:10px; }
  .whatsapp-fab { right:10px; bottom:10px; }
  body.has-floating-dock .whatsapp-fab { bottom:4.85rem; }
  .toc { position:static; }
  .orbit-ring { transform:scale(.85); }
}
@media (prefers-reduced-motion: reduce) {
  .marquee-track,.orbit-ring { animation:none !important; }
  .parallax-float { transform:none !important; }
}

/* ===== v2: mobile-first swipe rows, visual editorial sections, SEO-friendly content blocks ===== */
.snap-row,
.swipe-row,
[data-swipe-row] {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  scroll-padding-inline: 1rem;
}
.snap-card,
.swipe-card { scroll-snap-stop: always; }
.swipe-row {
  display:flex;
  gap:1rem;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:.25rem .1rem .8rem;
}
.swipe-row::-webkit-scrollbar { display:none; }
.swipe-card {
  flex:0 0 min(84vw, 360px);
  scroll-snap-align:start;
}
.swipe-hint {
  display:none;
  align-items:center;
  gap:.45rem;
  color:#64748b;
  font-size:.76rem;
  font-weight:800;
  white-space:nowrap;
}
.snap-row.is-dragging,
.swipe-row.is-dragging,
[data-swipe-row].is-dragging {
  cursor:grabbing !important;
  scroll-snap-type:none !important;
  user-select:none;
}
@media (pointer:fine) {
  .snap-row,.swipe-row,[data-swipe-row] { cursor:grab; }
}
.visual-guide-section { overflow:hidden; }
.visual-split {
  display:grid;
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
}
.visual-media {
  position:relative;
  min-height:360px;
  overflow:hidden;
  border-radius:2rem;
  background:#eaf2f8;
  box-shadow:0 28px 70px rgba(8,43,85,.12);
}
.visual-media img {
  width:100%;
  height:100%;
  min-height:360px;
  max-height:620px;
  object-fit:cover;
  display:block;
}
.visual-caption {
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:1rem;
  width:max-content;
  max-width:calc(100% - 2rem);
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  padding:.7rem 1rem;
  color:#082B55;
  font-size:.75rem;
  font-weight:800;
  backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(8,43,85,.12);
}
.visual-copy { max-width:680px; }
.topic-chip {
  display:inline-flex;
  align-items:center;
  min-height:34px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#fff;
  padding:.45rem .8rem;
  color:#475569;
  font-size:.76rem;
  font-weight:800;
}
.related-card { min-height:300px; text-decoration:none; display:flex; flex-direction:column; color:inherit; cursor:pointer; }
.related-card:hover { transform:translateY(-3px); }
.swipe-row--nav,
[data-swipe-row].swipe-row--nav { cursor:default; }
.swipe-row--nav > a.swipe-card { cursor:pointer; position:relative; z-index:1; }
@media (min-width:900px) {
  .visual-split { grid-template-columns:1.04fr .96fr; }
  .swipe-card { flex-basis:calc((100% - 3rem) / 4); min-width:270px; }
}
@media (max-width:767px) {
  /* Arrows remain a desktop affordance; touch users swipe the content itself. */
  .slider-btn { display:none !important; }
  .swipe-hint { display:flex; }
  .snap-row,
  .swipe-row {
    margin-left:-1.25rem;
    margin-right:-1.25rem;
    padding-left:1.25rem;
    padding-right:1.25rem;
    scroll-padding-left:1.25rem;
    scroll-padding-right:1.25rem;
  }
  .snap-card,
  .swipe-card { flex-basis:82vw; }
  .visual-media,.visual-media img { min-height:300px; }
  .visual-caption { width:auto; border-radius:1rem; }
}
