/* ============================================================================
   REAL ACADEMY — DESIGN SYSTEM DA ÁREA DO ALUNO (realacademy-app.css)
   Redesign "Cockpit" 2026-07-08 · coerente com a landing (light navy+gold)
   ============================================================================ */
:root{
  --bg:#FAF8F4; --bg-2:#F2ECE1; --paper:#FFFFFF;
  --navy:#002452; --navy-2:#0A356B; --navy-deep:#001233;
  --ink:#122642; --mut:#5A6B82;
  --gold:#E8A33C; --gold-2:#F4B95A; --gold-deep:#C9821F;
  --sky:#5B9DC4;
  --ok:#16A34A; --ok-bg:#DCFCE7;
  --line:rgba(0,36,82,.12); --line-soft:rgba(0,36,82,.07);
  --shadow-l:0 30px 80px -20px rgba(0,18,51,.22);
  --shadow-m:0 18px 50px -18px rgba(0,18,51,.16);
  --shadow-s:0 8px 24px -10px rgba(0,18,51,.12);
  --r-lg:26px; --r-md:18px; --r-sm:13px;
  --ease-expo-out:cubic-bezier(0.16,1,0.3,1);
  --ease-expo-inout:cubic-bezier(0.83,0,0.17,1);
  --ease-power3:cubic-bezier(0.215,0.61,0.355,1);
  --ease-back:cubic-bezier(0.34,1.56,0.64,1);
  --f-disp:'Raleway',sans-serif; --f-body:'DM Sans',system-ui,sans-serif; --f-brand:'Cinzel',serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{font-family:var(--f-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.6}
::selection{background:var(--gold);color:var(--navy-deep)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}
input,textarea,select{font-family:inherit}
.wrap{width:min(1240px,92vw);margin-inline:auto}
.icn{width:1em;height:1em;display:inline-block;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body::after{content:"";position:fixed;inset:0;z-index:3;pointer-events:none;opacity:.3;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .028 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ============ TIPO ============ */
.kicker{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep)}
.kicker::before{content:"";width:34px;height:2px;background:var(--gold);border-radius:2px}
.h2{font-family:var(--f-disp);font-weight:800;letter-spacing:-.02em;font-size:clamp(28px,3.6vw,44px);line-height:1.06;color:var(--navy)}
.h2 em{font-style:normal;color:var(--gold-deep)}
.h3{font-family:var(--f-disp);font-weight:800;font-size:clamp(20px,2.2vw,26px);letter-spacing:-.01em;color:var(--navy)}
.lead{color:var(--mut);font-size:16px;max-width:560px}
html.js [data-ar]{opacity:0}

/* ============ BRAND LOCKUP ============ */
.brand{display:inline-flex;align-items:center;gap:12px;line-height:1}
.brand .bgem{display:block;width:auto;filter:drop-shadow(0 4px 14px rgba(91,157,196,.35))}
.brand .btxt{display:flex;flex-direction:column;align-items:center}
.brand .btxt b{font-family:var(--f-brand);font-weight:600;letter-spacing:.14em;line-height:1;color:#fff;transform:translateX(.07em)}
.brand .btxt i{font-style:normal;font-weight:600;letter-spacing:.36em;text-transform:uppercase;color:rgba(234,242,251,.75);white-space:nowrap;transform:translateX(.18em)}
.brand-top .bgem{height:38px}.brand-top .btxt{gap:5px}.brand-top .btxt b{font-size:20px}.brand-top .btxt i{font-size:7px}
.brand-mini .bgem{height:30px}.brand-mini .btxt{gap:4px}.brand-mini .btxt b{font-size:15px}.brand-mini .btxt i{font-size:5.5px}

/* ============ TOPBAR APP ============ */
.atb{position:fixed;top:0;left:0;right:0;z-index:900;background:rgba(0,18,51,.82);backdrop-filter:blur(12px);transition:background .4s var(--ease-power3),box-shadow .4s}
.atb.scrolled{background:rgba(0,18,51,.94);box-shadow:0 10px 40px -18px rgba(0,18,51,.55)}
.atb-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px;width:min(1360px,94vw);margin-inline:auto}
.atb-nav{display:flex;gap:6px;align-items:center}
.atb-nav a{color:#DCE7F5;font-size:14.5px;font-weight:600;padding:9px 18px;border-radius:999px;transition:color .25s,background .25s}
.atb-nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
.atb-nav a.on{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--navy-deep)}
.atb-user{display:flex;align-items:center;gap:14px}
.atb-user .entrar{color:#DCE7F5;font-size:14px;font-weight:600}
.uchip{position:relative;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 12px 6px 6px;cursor:pointer;transition:background .25s,border-color .25s}
.uchip:hover,.uchip.open{background:rgba(255,255,255,.14);border-color:rgba(232,163,60,.5)}
.uav{width:36px;height:36px;border-radius:99px;background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--navy-deep);display:grid;place-items:center;font-weight:800;font-size:13px;flex-shrink:0}
.umeta{display:flex;flex-direction:column;line-height:1.2}
.umeta b{color:#fff;font-size:13.5px;font-weight:700}
.umeta i{font-style:normal;color:rgba(234,242,251,.65);font-size:10.5px;font-weight:600}
.uchev{color:rgba(234,242,251,.6);transition:transform .3s var(--ease-power3)}
.uchip.open .uchev{transform:rotate(180deg)}
.umenu{position:absolute;top:calc(100% + 10px);right:0;min-width:230px;background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-sm);box-shadow:var(--shadow-m);padding:8px;opacity:0;pointer-events:none;transform:translateY(-8px) scale(.98);transition:all .3s var(--ease-power3);z-index:50}
.uchip.open .umenu{opacity:1;pointer-events:auto;transform:none}
.umenu-head{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);padding:10px 12px 8px}
.umenu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;color:var(--ink);font-size:14px;font-weight:600;transition:background .2s}
.umenu a:hover{background:var(--bg)}
.umenu a .icn{color:var(--navy-2)}
.umenu a.sair{color:#B91C1C;border-top:1px solid var(--line-soft);margin-top:6px}
.atb-burger{display:none;width:42px;height:42px;place-items:center;color:#fff}
.adrawer{position:fixed;inset:0;z-index:950;background:rgba(0,18,51,.97);backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:center;padding:8vw;gap:6px;opacity:0;pointer-events:none;transition:opacity .35s var(--ease-power3)}
.adrawer.on{opacity:1;pointer-events:auto}
.adrawer a{color:#fff;font-family:var(--f-disp);font-weight:800;font-size:clamp(28px,7.5vw,40px);padding:9px 0;letter-spacing:-.02em}
.adrawer a.on,.adrawer a em{color:var(--gold);font-style:normal}
.adrawer-x{position:absolute;top:20px;right:6vw;color:#fff}
.adrawer-foot{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}

/* ============ BOTÕES ============ */
.abtn{display:inline-flex;align-items:center;gap:9px;justify-content:center;background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--navy-deep);font-weight:700;font-size:14.5px;padding:13px 24px;border-radius:999px;box-shadow:0 10px 28px -10px rgba(232,163,60,.5);transition:transform .25s var(--ease-power3),box-shadow .25s,filter .25s;will-change:transform}
.abtn:hover{filter:brightness(1.05);box-shadow:0 15px 36px -12px rgba(232,163,60,.65)}
.abtn .icn{transition:transform .3s var(--ease-power3)}
.abtn:hover .icn{transform:translateX(4px)}
.abtn-sm{padding:10px 18px;font-size:13.5px}
.abtn-lg{padding:16px 32px;font-size:16px}
.abtn-navy{background:var(--navy);color:#fff;box-shadow:0 10px 28px -10px rgba(0,36,82,.45)}
.abtn-ghost{background:transparent;color:var(--navy);border:1.5px solid var(--line);box-shadow:none}
.abtn-ghost:hover{border-color:var(--gold);color:var(--gold-deep);filter:none}
.abtn-ghost.on-dark{color:#fff;border-color:rgba(255,255,255,.35)}
.abtn-ghost.on-dark:hover{border-color:var(--gold);color:var(--gold-2)}

/* ============ PAGE SHELL ============ */
.apage{padding-top:72px;min-height:100vh}
.asec{padding:44px 0}
.asec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.asec-head .link-more{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--navy);border-bottom:2px solid var(--gold);padding-bottom:3px;transition:gap .3s var(--ease-power3)}
.asec-head .link-more:hover{gap:13px}

/* ============ CHIPS GAMIFICAÇÃO ============ */
.gami{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gchip{display:inline-flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line-soft);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700;color:var(--ink);box-shadow:var(--shadow-s)}
.gchip .icn{color:var(--gold-deep);font-size:15px}
.gchip.hot .icn{color:#EA580C}
.gchip small{font-weight:600;color:var(--mut)}

/* ============ HERO CONTINUAR (dashboard) ============ */
.dhero{position:relative;border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(120deg,var(--navy-deep) 0%,var(--navy) 55%,#0E3A72 100%);color:#fff;box-shadow:var(--shadow-l);display:grid;grid-template-columns:1.1fr .9fr;min-height:340px}
.dhero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.05) 1px,transparent 1px);background-size:68px 68px;pointer-events:none}
.dhero::after{content:"";position:absolute;width:520px;height:520px;right:-140px;top:-190px;border-radius:999px;background:radial-gradient(circle,rgba(232,163,60,.26),transparent 62%);filter:blur(40px);pointer-events:none}
.dhero-body{padding:42px 46px;display:flex;flex-direction:column;justify-content:center;gap:16px;position:relative;z-index:2}
.dhero-hello{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);color:#EAF2FB;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:7px 14px;border-radius:999px;width:fit-content}
.dhero-hello .icn{color:var(--gold-2)}
.dhero-tit{font-family:var(--f-disp);font-weight:800;font-size:clamp(26px,3vw,38px);line-height:1.08;letter-spacing:-.02em}
.dhero-tit em{font-style:normal;color:var(--gold-2)}
.dhero-sub{color:rgba(234,242,251,.78);font-size:15px;max-width:440px}
.dhero-prog{margin-top:6px;max-width:420px}
.dhero-prog small{display:flex;justify-content:space-between;font-size:12px;color:rgba(234,242,251,.7);margin-bottom:7px;font-weight:600}
.dhero-bar{height:8px;background:rgba(255,255,255,.14);border-radius:99px;overflow:hidden}
.dhero-fill{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-2));border-radius:99px}
.dhero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
.dhero-media{position:relative;overflow:hidden;min-height:260px}
.dhero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.dhero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(0,36,82,.2) 40%,rgba(0,36,82,0) 70%)}
.dhero-tag{position:absolute;top:18px;right:18px;z-index:3;background:rgba(0,18,51,.72);backdrop-filter:blur(6px);color:var(--gold-2);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:7px 13px;border-radius:999px;border:1px solid rgba(232,163,60,.35)}

/* ============ RINGS (metas) ============ */
.rings-card,.acard{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-md);box-shadow:var(--shadow-s);padding:24px}
.rings-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.rings-head b{font-family:var(--f-disp);font-size:17px;color:var(--navy)}
.rings-head .hoje{background:var(--bg-2);color:var(--gold-deep);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:999px}
.rings{display:flex;justify-content:space-around;gap:8px}
.ring{display:flex;flex-direction:column;align-items:center;gap:8px}
.ring svg{width:74px;height:74px;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:6.5;stroke-linecap:round}
.ring .tr{stroke:var(--line-soft)}
.ring .pr{stroke:url(#ringGrad);stroke-dasharray:207.3;stroke-dashoffset:207.3}
.ring .rv{position:absolute;font-weight:800;font-size:13.5px;color:var(--navy);font-variant-numeric:tabular-nums}
.ring .rwrap{position:relative;display:grid;place-items:center}
.ring .rlab{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}

/* ============ STATS ============ */
.dstats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.dstat{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-md);box-shadow:var(--shadow-s);padding:20px 22px;display:flex;align-items:center;gap:14px;transition:transform .35s var(--ease-power3),box-shadow .35s,border-color .35s}
.dstat:hover{transform:translateY(-4px);box-shadow:var(--shadow-m);border-color:rgba(232,163,60,.4)}
.dstat .ic{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:var(--gold-2);display:grid;place-items:center;flex-shrink:0}
.dstat b{display:block;font-family:var(--f-disp);font-weight:800;font-size:24px;color:var(--navy);line-height:1.1;font-variant-numeric:tabular-nums}
.dstat span{display:block;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--mut);margin-top:2px}

/* ============ COURSE CARDS ============ */
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ccard{position:relative;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-s);display:flex;flex-direction:column;transition:transform .35s var(--ease-power3),box-shadow .35s,border-color .35s;isolation:isolate;will-change:transform}
.ccard::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(232,163,60,.10),transparent 45%)}
.ccard:hover{transform:translateY(-6px);box-shadow:var(--shadow-m);border-color:rgba(232,163,60,.45)}
.ccard:hover::before{opacity:1}
.ccard-img{position:relative;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#0A356B,#002452)}
.ccard-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-expo-out)}
.ccard:hover .ccard-img img{transform:scale(1.05)}
.ccard-img .cat{position:absolute;top:12px;left:12px;z-index:2;background:rgba(0,18,51,.72);backdrop-filter:blur(6px);color:var(--gold-2);font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:6px 11px;border-radius:999px;border:1px solid rgba(232,163,60,.35)}
.ccard-img .stbadge{position:absolute;top:12px;right:12px;z-index:2;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:6px 11px;border-radius:999px}
.stbadge.done{background:var(--ok-bg);color:#14532D}
.stbadge.doing{background:#FEF3C7;color:#92400E}
.stbadge.new{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--navy-deep)}
.stbadge.free{background:var(--ok-bg);color:#14532D}
.ccard-prog{position:absolute;left:0;right:0;bottom:0;height:5px;background:rgba(0,18,51,.35);z-index:2}
.ccard-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-2))}
.ccard-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.ccard-tit{font-family:var(--f-disp);font-weight:800;font-size:17.5px;line-height:1.25;letter-spacing:-.01em;color:var(--navy)}
.ccard-sub{color:var(--mut);font-size:13.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ccard-prof{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--mut)}
.ccard-prof .av{width:26px;height:26px;border-radius:99px;object-fit:cover;background:linear-gradient(135deg,var(--sky),var(--navy));color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;flex-shrink:0}
.ccard-prof b{color:var(--ink);font-weight:700}
.ccard-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:10px}
.ccard-hrs{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--mut);font-weight:600}
.ccard-pct{font-size:12.5px;font-weight:800;color:var(--gold-deep)}
.ccard-cta{position:absolute;inset:0;z-index:3}
.ccard-btn{position:relative;z-index:4;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;padding:9px 16px;border-radius:999px;transition:filter .25s,transform .25s var(--ease-power3)}
.ccard-btn:hover{filter:brightness(1.06)}
.ccard-btn.b-start{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--navy-deep)}
.ccard-btn.b-cont{background:var(--navy);color:#fff}
.ccard-btn.b-review{background:var(--bg-2);color:var(--navy);border:1px solid var(--line)}

/* ============ CERTIFICADOS STRIP ============ */
.certstrip{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px}
.certmini{position:relative;display:flex;gap:18px;align-items:center;background:linear-gradient(140deg,#041B3F,var(--navy) 60%,#0B3468);color:#fff;border-radius:var(--r-md);padding:20px 22px;box-shadow:var(--shadow-m);overflow:hidden}
.certmini::before{content:"";position:absolute;inset:8px;border:1px solid rgba(232,163,60,.4);border-radius:12px;pointer-events:none}
.certmini .seal{width:52px;height:52px;border-radius:99px;background:radial-gradient(circle at 32% 28%,var(--gold-2),var(--gold-deep));display:grid;place-items:center;color:var(--navy-deep);flex-shrink:0;box-shadow:0 8px 22px -6px rgba(232,163,60,.7)}
.certmini .seal svg{width:22px;height:22px}
.certmini b{display:block;font-family:var(--f-disp);font-size:15.5px;line-height:1.3}
.certmini small{display:block;color:rgba(234,242,251,.65);font-size:12px;margin-top:3px}
.certmini .go{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--gold-2);border:1px solid rgba(232,163,60,.4);padding:8px 14px;border-radius:999px;transition:background .25s;position:relative;z-index:2}
.certmini .go:hover{background:rgba(232,163,60,.15)}

/* ============ BANNER AJUDA ============ */
.helpband{display:flex;align-items:center;gap:18px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:20px 24px;flex-wrap:wrap}
.helpband .ic{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:var(--gold-2);display:grid;place-items:center}
.helpband b{display:block;font-family:var(--f-disp);color:var(--navy);font-size:16px}
.helpband span{display:block;color:var(--mut);font-size:13.5px}
.helpband .abtn{margin-left:auto}

/* ============ CATÁLOGO: BUSCA + CHIPS ============ */
.catbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:28px}
.catsearch{flex:1;min-width:240px;position:relative}
.catsearch .icn{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--mut);font-size:17px}
.catsearch input{width:100%;background:var(--paper);border:1.5px solid var(--line-soft);border-radius:999px;padding:13px 18px 13px 46px;font-size:14.5px;color:var(--ink);outline:none;transition:border-color .25s,box-shadow .25s;box-shadow:var(--shadow-s)}
.catsearch input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(232,163,60,.15)}
.catchips{display:flex;gap:8px;flex-wrap:wrap}
.catchip{background:var(--paper);border:1.5px solid var(--line-soft);color:var(--mut);font-size:13px;font-weight:700;padding:10px 18px;border-radius:999px;transition:all .25s var(--ease-power3)}
.catchip:hover{border-color:var(--gold);color:var(--gold-deep)}
.catchip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.cat-empty{text-align:center;color:var(--mut);padding:60px 0;font-size:15px;display:none}
.cat-empty b{color:var(--navy)}

/* ============ CONTINUE STRIP ============ */
.controw{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:18px}
.contcard{position:relative;display:flex;gap:16px;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:14px;box-shadow:var(--shadow-s);align-items:center;overflow:hidden;transition:transform .3s var(--ease-power3),box-shadow .3s,border-color .3s}
.contcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-m);border-color:rgba(232,163,60,.4)}
.contcard .thumb{position:relative;width:132px;aspect-ratio:16/10;border-radius:10px;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,#0A356B,#002452)}
.contcard .thumb img{width:100%;height:100%;object-fit:cover}
.contcard .thumb .pl{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,18,51,.35);color:#fff;opacity:0;transition:opacity .25s}
.contcard:hover .thumb .pl{opacity:1}
.contcard .meta{flex:1;min-width:0}
.contcard .meta small{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep)}
.contcard .meta b{display:block;font-family:var(--f-disp);font-size:15.5px;color:var(--navy);line-height:1.3;margin:3px 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contbar{height:6px;background:var(--line-soft);border-radius:99px;overflow:hidden}
.contbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-2))}
.contcard .pct{font-size:11.5px;color:var(--mut);font-weight:600;margin-top:5px;display:block}
.contcard .ccta{position:absolute;inset:0}

/* ============ PROFESSORES ============ */
.pfgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
/* Card compacto — foto quadrada B&W, cor no hover, click abre modal */
.pfc{position:relative;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-s);transition:transform .35s var(--ease-power3),box-shadow .35s,border-color .35s;cursor:pointer;will-change:transform}
.pfc:hover{transform:translateY(-6px);box-shadow:var(--shadow-m);border-color:rgba(232,163,60,.5)}
.pfc:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.pfc-photo{position:relative;aspect-ratio:1/1;overflow:hidden;background:linear-gradient(160deg,#0A356B,#001233)}
.pfc-photo img{width:100%;height:100%;object-fit:cover;object-position:center 15%;filter:grayscale(1) contrast(1.02);transition:filter .55s var(--ease-expo-out),transform .8s var(--ease-expo-out)}
.pfc:hover .pfc-photo img,.pfc:focus-visible .pfc-photo img{filter:grayscale(0) contrast(1);transform:scale(1.05)}
.pfc-photo .init{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-disp);font-weight:900;font-size:58px;color:rgba(255,255,255,.9)}
.pfc-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(190deg,transparent 55%,rgba(0,18,51,.55) 100%);pointer-events:none}
.pfc-count{position:absolute;bottom:10px;left:12px;z-index:2;color:#fff;font-size:11px;font-weight:700;background:rgba(0,18,51,.65);backdrop-filter:blur(6px);padding:5px 10px;border-radius:999px;display:inline-flex;gap:6px;align-items:center}
.pfc-count .icn{color:var(--gold-2);width:14px;height:14px}
.pfc-hoverhint{position:absolute;top:10px;right:10px;z-index:2;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);color:var(--navy);font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:5px 9px;border-radius:999px;opacity:0;transform:translateY(-4px);transition:opacity .3s,transform .3s;pointer-events:none}
.pfc:hover .pfc-hoverhint{opacity:1;transform:translateY(0)}
.pfc-body{padding:14px 16px 16px}
.pfc-area{font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.pfc-nome{font-family:var(--f-disp);font-weight:800;font-size:16px;color:var(--navy);margin-top:4px;letter-spacing:-.01em;line-height:1.25}

/* Modal do professor */
.pfmodal{position:fixed;inset:0;z-index:9998;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(0,18,51,.55);backdrop-filter:blur(8px)}
.pfmodal.open{display:flex;animation:pfmfade .3s ease}
@keyframes pfmfade{from{opacity:0}to{opacity:1}}
.pfmodal-in{position:relative;background:var(--paper);border-radius:var(--r-lg);max-width:920px;width:100%;max-height:88vh;overflow:hidden;display:grid;grid-template-columns:340px 1fr;box-shadow:0 30px 80px rgba(0,18,51,.35);animation:pfmpop .45s var(--ease-power3)}
@keyframes pfmpop{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.pfmodal-photo{position:relative;background:linear-gradient(160deg,#0A356B,#001233);overflow:hidden}
.pfmodal-photo img{width:100%;height:100%;object-fit:cover;object-position:center 15%}
.pfmodal-photo .init{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-disp);font-weight:900;font-size:96px;color:rgba(255,255,255,.9)}
.pfmodal-close{position:absolute;top:14px;right:14px;z-index:3;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);border:0;width:38px;height:38px;border-radius:999px;display:grid;place-items:center;color:var(--navy);cursor:pointer;box-shadow:0 4px 14px rgba(0,18,51,.2);transition:transform .25s}
.pfmodal-close:hover{transform:rotate(90deg) scale(1.05)}
.pfmodal-body{padding:32px 36px;overflow-y:auto;max-height:88vh}
.pfmodal-area{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep)}
.pfmodal-nome{font-family:var(--f-disp);font-weight:800;font-size:28px;color:var(--navy);margin-top:6px;letter-spacing:-.015em;line-height:1.2}
.pfmodal-bio{color:var(--ink);font-size:14.5px;line-height:1.65;margin-top:14px;white-space:pre-line}
.pfmodal-h{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin:22px 0 10px;display:flex;align-items:center;gap:8px}
.pfmodal-h::after{content:"";flex:1;height:1px;background:var(--line)}
.pfmodal-cursos{display:flex;flex-direction:column;gap:8px}
.pfmodal-cursos a{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line-soft);border-radius:10px;background:#FDFBF7;font-size:13.5px;font-weight:700;color:var(--ink);transition:border-color .2s,background .2s,transform .2s}
.pfmodal-cursos a:hover{border-color:var(--gold);background:#FFF6E5;transform:translateX(2px)}
.pfmodal-cursos a .cnome{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pfmodal-cursos a .chrs{font-size:12px;color:var(--mut);font-weight:600;flex-shrink:0}
.pfmodal-cursos a .icn{color:var(--gold-deep);flex-shrink:0}
.pfmodal-empty{color:var(--mut);font-size:13.5px;padding:14px;border:1px dashed var(--line);border-radius:10px;text-align:center}
@media (prefers-reduced-motion: reduce){.pfmodal.open,.pfmodal-in{animation:none}}
@media (max-width: 820px){
  .pfmodal-in{grid-template-columns:1fr;max-height:92vh}
  .pfmodal-photo{aspect-ratio:16/9}
  .pfmodal-body{padding:22px 22px 26px}
  .pfmodal-nome{font-size:24px}
}

/* ============ SUPORTE ============ */
.sup-hero{position:relative;background:linear-gradient(120deg,var(--navy-deep),var(--navy) 60%,#0E3A72);color:#fff;border-radius:var(--r-lg);padding:52px 50px;overflow:hidden;box-shadow:var(--shadow-l)}
.sup-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.05) 1px,transparent 1px);background-size:64px 64px}
.sup-hero .in{position:relative;z-index:2;max-width:640px;margin-inline:auto;text-align:center}
.sup-hero h1{font-family:var(--f-disp);font-weight:800;font-size:clamp(26px,3.4vw,40px);letter-spacing:-.02em}
.sup-hero p{color:rgba(234,242,251,.75);margin-top:8px;font-size:15px}
.sup-status{display:inline-flex;align-items:center;gap:8px;margin-top:14px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);font-size:12.5px;font-weight:700;padding:7px 15px;border-radius:999px}
.sup-status .dot{width:8px;height:8px;border-radius:99px;background:#4ADE80;box-shadow:0 0 10px #4ADE80;animation:pulse 1.8s infinite}
.sup-status.off .dot{background:#FBBF24;box-shadow:0 0 10px #FBBF24}
@keyframes pulse{50%{opacity:.5}}
.sup-search{position:relative;margin-top:24px}
.sup-search .icn{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:var(--mut);font-size:18px}
.sup-search input{width:100%;background:#fff;border:0;border-radius:999px;padding:17px 22px 17px 52px;font-size:15px;color:var(--ink);outline:none;box-shadow:0 18px 50px -18px rgba(0,0,0,.4)}
.sup-search input:focus{box-shadow:0 0 0 4px rgba(232,163,60,.35),0 18px 50px -18px rgba(0,0,0,.4)}
.sup-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:-34px;position:relative;z-index:5;padding-inline:26px}
.sup-card{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-md);box-shadow:var(--shadow-m);padding:24px;display:flex;flex-direction:column;gap:10px;transition:transform .35s var(--ease-power3),border-color .35s;text-align:left}
.sup-card:hover{transform:translateY(-6px);border-color:rgba(232,163,60,.5)}
.sup-card .ic{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:var(--gold-2);display:grid;place-items:center}
.sup-card b{font-family:var(--f-disp);font-size:16.5px;color:var(--navy)}
.sup-card span{color:var(--mut);font-size:13.5px;line-height:1.55;flex:1}
.sup-card .golink{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--gold-deep)}
/* FAQ */
.faq-list{max-width:780px;margin-inline:auto;display:flex;flex-direction:column;gap:12px}
.faq-item{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-sm);box-shadow:var(--shadow-s);overflow:hidden;transition:border-color .3s}
.faq-item.open{border-color:rgba(232,163,60,.5)}
.faq-item.hide{display:none}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:19px 22px;font-family:var(--f-disp);font-weight:700;font-size:15.5px;color:var(--navy)}
.faq-q .pm{width:28px;height:28px;border-radius:99px;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--gold-deep);flex-shrink:0;transition:transform .4s var(--ease-expo-inout),background .3s,color .3s,border-color .3s}
.faq-item.open .pm{transform:rotate(135deg);background:var(--gold);border-color:var(--gold);color:var(--navy-deep)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease-expo-inout)}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-a>div{overflow:hidden}
.faq-a p{padding:0 22px 20px;color:var(--mut);font-size:14px;line-height:1.7}
/* Chat inline + ticket */
.sup-panel{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-md);box-shadow:var(--shadow-s);overflow:hidden}
.sup-panel-head{display:flex;align-items:center;gap:12px;padding:18px 22px;background:linear-gradient(120deg,var(--navy-deep),var(--navy));color:#fff}
.sup-panel-head .ic{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.1);display:grid;place-items:center;color:var(--gold-2)}
.sup-panel-head b{font-family:var(--f-disp);font-size:15.5px}
.sup-panel-head small{display:block;color:rgba(234,242,251,.65);font-size:11.5px}
.chatlog{height:320px;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:10px;background:var(--bg)}
.cmsg{max-width:80%;padding:11px 15px;border-radius:14px;font-size:13.5px;line-height:1.5}
.cmsg.me{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:4px}
.cmsg.op{align-self:flex-start;background:#fff;border:1px solid var(--line-soft);border-bottom-left-radius:4px}
.cmsg.sys{align-self:center;background:transparent;color:var(--mut);font-size:12px}
.chatbox{display:flex;gap:10px;padding:14px;border-top:1px solid var(--line-soft);background:#fff}
.chatbox input{flex:1;border:1.5px solid var(--line-soft);border-radius:999px;padding:11px 18px;font-size:14px;outline:none;transition:border-color .25s}
.chatbox input:focus{border-color:var(--gold)}
.chatbox .send{width:44px;height:44px;border-radius:99px;background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--navy-deep);display:grid;place-items:center;transition:filter .2s}
.chatbox .send:hover{filter:brightness(1.07)}
.tkform{padding:22px;display:flex;flex-direction:column;gap:14px}
.tkform label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.tkform input,.tkform textarea,.tkform select{border:1.5px solid var(--line-soft);border-radius:12px;padding:12px 15px;font-size:14px;color:var(--ink);outline:none;background:#fff;transition:border-color .25s;resize:vertical}
.tkform input:focus,.tkform textarea:focus{border-color:var(--gold)}
.tkok{display:none;padding:26px;text-align:center}
.tkok .ic{width:56px;height:56px;border-radius:99px;background:var(--ok-bg);color:var(--ok);display:grid;place-items:center;margin:0 auto 12px;font-size:24px}
.tkok b{font-family:var(--f-disp);color:var(--navy);font-size:17px}
.tkok p{color:var(--mut);font-size:13.5px;margin-top:6px}

/* ============ FOOTER APP ============ */
.aft{background:#000E26;color:#8FA3BF;margin-top:60px}
.aft-in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px 0;flex-wrap:wrap}
.aft-copy{font-size:12.5px}
.aft-links{display:flex;gap:20px}
.aft-links a{font-size:13px;color:#8FA3BF;transition:color .25s}
.aft-links a:hover{color:var(--gold-2)}

/* ============ LOGO PNG (paridade com a landing) ============ */
.brand .lg{display:block;width:auto;filter:drop-shadow(0 4px 14px rgba(91,157,196,.35));max-width:100%}
.brand-top .lg-top{height:44px;width:auto}
.brand-mini .lg-ft{height:34px;width:auto;filter:drop-shadow(0 2px 8px rgba(91,157,196,.28))}

/* ============ RESPONSIVO ============ */
@media (max-width:1200px){ .pfgrid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:1100px){
  .cgrid{grid-template-columns:repeat(2,1fr)}
  .dstats{grid-template-columns:repeat(2,1fr)}
  .dhero{grid-template-columns:1fr}
  .dhero-media{order:-1;min-height:200px}
  .sup-cards{grid-template-columns:1fr;padding-inline:14px}
}
@media (max-width:860px){
  .atb-nav{display:none}
  .atb-burger{display:grid}
  .atb-in{height:64px}
  .umeta{display:none}
  .uchev{display:none}
  .uchip{padding:5px}
  .brand-top .lg-top{height:34px}
  .apage{padding-top:64px}
}
@media (max-width:820px){ .pfgrid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){
  .cgrid,.pfgrid,.controw,.certstrip{grid-template-columns:1fr}
  .dstats{grid-template-columns:1fr 1fr;gap:12px}
  .dhero-body{padding:28px 24px}
  .sup-hero{padding:38px 22px}
  .rings svg{width:64px;height:64px}
}
@media (prefers-reduced-motion:reduce){
  html.js [data-ar]{opacity:1!important}
  *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
