/* cases — estilos de seção extraídos do protótipo */
  .logocell{ display:flex; align-items:center; justify-content:center; padding:clamp(.7rem,1.6vw,1rem); border-radius:10px; border:1px solid rgba(244,244,242,.08); background:#F4F4F2; }
  .logocell img{ max-width:100%; max-height:26px; width:auto; height:auto; object-fit:contain; }

  .fstep{ position:relative; display:grid; grid-template-columns:auto 1fr; gap:.9rem; }
  .fbadge{ width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.8rem; font-weight:700; flex:none; z-index:1; }
  .frail{ position:absolute; left:14.5px; top:30px; bottom:-6px; width:1.5px; background:rgba(124,126,178,.28); }
  .ftit{ font-size:.98rem; font-weight:700; color:#F4F4F2; letter-spacing:-.01em; }
  .fsub{ font-size:.86rem; line-height:1.4; font-weight:450; color:rgba(244,244,242,.6); margin-top:.12rem; }
  .restricted{ display:flex; align-items:center; gap:.7rem; padding:.7rem .85rem; border-radius:10px; border:1px solid rgba(244,244,242,.12); background:rgba(0,0,0,.2); }

  @keyframes dp-play{ 0%,100%{ box-shadow:0 16px 40px -12px rgba(221,57,21,.9), 0 0 0 0 rgba(232,85,46,.5); } 50%{ box-shadow:0 16px 40px -12px rgba(221,57,21,.9), 0 0 0 13px rgba(232,85,46,0); } }
  @media (prefers-reduced-motion:reduce){ [data-pulse]{ animation:none !important; } }
  .partrow{ display:grid; grid-template-columns:auto 1fr; gap:.9rem; padding:clamp(.8rem,1.7vh,1.1rem) 0; border-top:1px solid rgba(244,244,242,.1); }
  .partrow.last{ border-bottom:1px solid rgba(244,244,242,.1); }
  .partic{ width:34px; height:34px; border-radius:9px; flex:none; display:flex; align-items:center; justify-content:center; background:rgba(232,85,46,.14); border:1px solid rgba(221,57,21,.28); }
  .parttit{ font-size:1rem; font-weight:700; color:#F4F4F2; letter-spacing:-.01em; }
  .partsub{ font-size:.88rem; line-height:1.4; font-weight:450; color:rgba(244,244,242,.62); margin-top:.12rem; }

  .gift{ display:flex; align-items:center; gap:.85rem; padding:.8rem .9rem; border-radius:12px; border:1px solid rgba(244,244,242,.12); background:rgba(255,255,255,.03); cursor:pointer; transition:none; text-align:left; width:100%; font-family:inherit; }
  .gift:hover{ background:rgba(255,255,255,.06); }
  .gift.gifted{ cursor:default; opacity:.55; }
  .gift.gifted .gname{ text-decoration:line-through; }
  .gthumb{ width:38px; height:38px; border-radius:9px; flex:none; }
  .gname{ font-size:.95rem; font-weight:600; color:#F4F4F2; }
  .gby{ font-size:.76rem; font-weight:500; color:rgba(244,244,242,.55); margin-top:.1rem; }
  .gcheck{ width:22px; height:22px; border-radius:50%; border:1.5px solid rgba(244,244,242,.28); flex:none; display:flex; align-items:center; justify-content:center; }
  .gift.gifted .gcheck{ background:#3DD68C; border-color:#3DD68C; }

  .ccard{ display:flex; flex-direction:column; gap:.9rem; padding:clamp(1.3rem,2.2vw,1.7rem); border-radius:16px; border:1px solid rgba(244,244,242,.1); background:rgba(255,255,255,.02); }
  .csector{ font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(124,126,178,.9); }
  .clogo{ height:36px; width:auto; max-width:150px; object-fit:contain; background:#F4F4F2; border-radius:8px; padding:6px 11px; box-sizing:border-box; }
  .ctag{ display:inline-flex; align-items:center; gap:.45rem; align-self:flex-start; flex:none; white-space:nowrap; padding:.28rem .7rem; border-radius:99px; background:rgba(232,85,46,.12); border:1px solid rgba(221,57,21,.26); font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#FF6A3D; }
  .cbody{ font-size:.93rem; line-height:1.46; font-weight:450; color:rgba(244,244,242,.74); }
  .cbody b{ color:#F4F4F2; font-weight:600; }
  .cquote{ margin-top:auto; padding-top:.9rem; border-top:1px solid rgba(244,244,242,.08); font-size:.86rem; line-height:1.4; font-style:italic; color:rgba(244,244,242,.66); }
  .cquote b{ font-style:normal; color:#F4F4F2; font-weight:600; }
  .cname{ font-size:1.05rem; font-weight:800; letter-spacing:-.01em; color:#F4F4F2; }

  .acard{ display:flex; flex-direction:column; gap:.7rem; padding:clamp(1.2rem,2vw,1.5rem); border-radius:14px; border:1px solid rgba(244,244,242,.1); background:rgba(255,255,255,.02); }
  .alogo{ height:34px; width:auto; max-width:130px; object-fit:contain; background:#F4F4F2; border-radius:7px; padding:5px 9px; box-sizing:border-box; }
  .aname{ font-size:.98rem; font-weight:800; letter-spacing:-.01em; color:#F4F4F2; }
  .asector{ font-size:.66rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:rgba(124,126,178,.85); }
  .aline{ font-size:.88rem; line-height:1.42; font-weight:450; color:rgba(244,244,242,.7); }
  .aline b{ color:#F4F4F2; font-weight:600; }
  .atag{ display:inline-flex; align-self:flex-start; flex:none; white-space:nowrap; padding:.22rem .6rem; border-radius:99px; font-size:.64rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }

  @keyframes cl-ring{ 0%,100%{ box-shadow:0 0 0 1.5px rgba(255,255,255,.22), 0 18px 50px -12px rgba(0,0,0,.6); } 50%{ box-shadow:0 0 0 4px rgba(255,255,255,.10), 0 18px 60px -10px rgba(0,0,0,.7); } }
  @media (prefers-reduced-motion:reduce){ [data-ring]{ animation:none !important; } }


