:root{
  --navy:#07152f;
  --navy-2:#0d2146;
  --blue:#1266f1;
  --cyan:#31d4ff;
  --orange:#ff8a22;
  --yellow:#ffd166;
  --white:#ffffff;
  --paper:#f6f8fc;
  --muted:#667085;
  --text:#0d1321;
  --border:rgba(13,19,33,.12);
  --shadow:0 24px 70px rgba(7,21,47,.16);
  --radius:28px;
  --radius-sm:16px;
  --container:min(1160px, calc(100vw - 40px));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--white);line-height:1.55}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}

.container{width:var(--container);margin-inline:auto}
.section{padding:96px 0}
.section-dark{background:radial-gradient(circle at 18% 12%,rgba(49,212,255,.22),transparent 26%),linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 62%,#081128 100%);color:var(--white)}
.section-soft{background:var(--paper)}
.center{text-align:center}

.skip-link{position:absolute;left:16px;top:-48px;z-index:999;background:var(--white);color:var(--navy);padding:10px 14px;border-radius:10px;box-shadow:var(--shadow)}
.skip-link:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}


/* Barras superiores */
.top-announcement{height:34px;overflow:hidden;background:#c83743;color:#fff;display:flex;align-items:center;font-size:.78rem;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.top-announcement-track{display:flex;width:max-content;animation:marquee-right-to-left 42s linear infinite;will-change:transform}
.top-announcement-group{display:flex;align-items:center;gap:34px;padding-right:34px;flex-shrink:0}
.top-announcement-group span{display:inline-flex;align-items:center}
.top-announcement-group span + span::before{content:"•";margin-right:34px;color:rgba(255,255,255,.72)}
@keyframes marquee-right-to-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.top-contact-bar{background:#006c72;color:rgba(255,255,255,.74);font-size:.83rem;border-bottom:1px solid rgba(255,255,255,.08)}
.top-contact-bar .container{width:100%;max-width:none;margin:0;padding-inline:20px}
.top-contact-inner{min-height:36px;display:flex;align-items:center;justify-content:flex-start;gap:30px;flex-wrap:wrap}
.top-contact-item{display:inline-flex;align-items:center;gap:8px;font-weight:500;line-height:1.1;transition:color .2s ease}
a.top-contact-item:hover{color:#fff}
.top-contact-icon{width:15px;height:15px;flex:0 0 15px;opacity:.78}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(13,19,33,.08);transition:.25s ease}
.site-header.is-scrolled{box-shadow:0 10px 30px rgba(0,0,0,.08)}
.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:14px;font-weight:800;letter-spacing:-.02em;min-width:210px}
.brand-logo{width:96px;height:auto;object-fit:contain;display:block}
.brand-text{font-size:.82rem;line-height:1.12;color:var(--navy)}
.main-nav{display:flex;align-items:center;gap:20px;font-size:.94rem;font-weight:800;color:#17213a}
.main-nav a:not(.btn),.nav-link{opacity:.86;transition:color .2s ease,opacity .2s ease}.main-nav a:not(.btn):hover,.nav-link:hover{opacity:1;color:var(--blue)}
.nav-link{border:0;background:transparent;color:inherit;font-weight:800;cursor:pointer;padding:10px 0}
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:5px}
.chevron{width:14px;height:14px;transition:transform .2s ease}.nav-dropdown.is-open .chevron,.nav-dropdown:focus-within .chevron,.nav-dropdown:hover .chevron{transform:rotate(180deg)}
.courses-dropdown{position:absolute;top:calc(100% + 15px);left:0;width:260px;background:#fff;border:1px solid var(--border);border-radius:7px;box-shadow:0 22px 55px rgba(7,21,47,.18);padding:16px 10px;display:grid;gap:1px;opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:80}
.nav-dropdown:hover .courses-dropdown,.nav-dropdown:focus-within .courses-dropdown,.nav-dropdown.is-open .courses-dropdown{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.courses-dropdown::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.dropdown-heading{margin:0 0 8px;padding:0 10px;font-size:.72rem;line-height:1.1;text-transform:uppercase;letter-spacing:.14em;color:#9aa3ad;font-weight:900}
.dropdown-link{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:12px;padding:9px 10px;border-radius:8px;color:#1f2933;font-weight:500;line-height:1.35;opacity:1!important}
.dropdown-link:hover{background:#f5f7f9;color:#0d6f76!important}
.dropdown-link svg{width:18px;height:18px;margin-top:2px;color:#1f2933}
.dropdown-divider{height:1px;background:#e6e8eb;margin:10px 0 12px}
.nav-toggle{display:none;width:44px;height:44px;border:0;border-radius:12px;background:var(--paper);padding:10px}
.nav-toggle span:not(.sr-only){display:block;height:2px;background:var(--navy);margin:5px 0;border-radius:10px}

.hero{padding:96px 0 72px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) 430px;gap:48px;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:.78rem;color:var(--blue);margin:0 0 14px}.section-dark .eyebrow{color:var(--cyan)}
h1,h2,h3{line-height:.98;letter-spacing:-.055em;margin:0;color:inherit}
h1{font-size:clamp(3rem,8vw,6.7rem);max-width:780px}h2{font-size:clamp(2.35rem,5vw,5rem)}h3{font-size:1.5rem;letter-spacing:-.035em}
.lead{font-size:1.15rem;color:rgba(255,255,255,.78);max-width:710px;margin:26px 0 0}
.slogan-card{display:inline-flex;flex-direction:column;margin:24px 0 0;padding:18px 22px;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:rgba(255,255,255,.08);box-shadow:inset 0 1px rgba(255,255,255,.2);transform:rotate(-1deg)}
.slogan-card span{font-size:1.1rem;font-weight:800;color:var(--cyan)}.slogan-card strong{font-size:2rem;line-height:1;color:#fff}
.hero-pills{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}.hero-pills span,.chip{display:inline-flex;align-items:center;border-radius:999px;padding:9px 13px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);font-weight:800;font-size:.88rem;color:#fff}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}

.lead-form-card{background:#fff;color:var(--text);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);position:relative}.lead-form-card:before{content:"";position:absolute;inset:-12px;border-radius:calc(var(--radius) + 12px);background:linear-gradient(135deg,rgba(49,212,255,.28),rgba(255,138,34,.22));z-index:-1}.lead-form-card h2{font-size:2rem;letter-spacing:-.04em;margin:6px 0 6px}.lead-form-card p{color:var(--muted);margin:.2rem 0 1rem}.form-kicker{font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--blue)!important}.badge-open{display:inline-flex;background:#fff3d8;color:#5f3500;border:1px solid rgba(255,138,34,.25);font-weight:900;border-radius:999px;padding:8px 12px}
.quick-form{display:grid;gap:14px}.quick-form label,.form-grid label{display:grid;gap:7px;font-weight:800;font-size:.9rem;color:#26344d}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:14px;padding:13px 14px;background:#fff;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(18,102,241,.12)}.rgpd,.small-text{font-size:.82rem;color:var(--muted)!important;margin:0!important}

.trust-strip{background:#fff;border-bottom:1px solid var(--border);padding:22px 0}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.trust-grid div{padding:14px 16px;border-radius:18px;background:var(--paper)}.trust-grid strong,.trust-grid span{display:block}.trust-grid strong{font-size:.92rem}.trust-grid span{font-size:.82rem;color:var(--muted)}

.section-heading{max-width:800px;margin-bottom:42px}.section-heading p:not(.eyebrow){font-size:1.06rem;color:var(--muted);max-width:650px}.section-dark .section-heading p:not(.eyebrow){color:rgba(255,255,255,.72)}
.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.course-card{display:flex;flex-direction:column;min-height:420px;padding:24px;border-radius:24px;background:#fff;border:1px solid var(--border);box-shadow:0 16px 42px rgba(7,21,47,.08);transition:.22s ease}.course-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(7,21,47,.13)}.course-meta{font-size:.77rem;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-weight:900}.course-card .for{font-weight:800;color:var(--muted);min-height:50px}.course-card p{color:#40506a}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.tags span{background:var(--paper);border:1px solid var(--border);padding:7px 9px;border-radius:999px;font-size:.78rem;font-weight:800}.career{font-size:.88rem;margin-top:auto;color:var(--muted)}.card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:18px;margin-top:18px}.card-footer strong{color:var(--navy)}

.section-cte{background:linear-gradient(180deg,#fff 0%,var(--paper) 100%)}.cte-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:42px;align-items:center}.image-panel{min-height:360px;border-radius:var(--radius);background:radial-gradient(circle at 20% 20%,rgba(49,212,255,.35),transparent 30%),linear-gradient(135deg,var(--navy),var(--blue));color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:var(--shadow);overflow:hidden}.cte-logo{font-size:6rem;line-height:1;font-weight:900;letter-spacing:-.08em}.image-panel span{font-weight:900;color:rgba(255,255,255,.75)}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.benefit-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:26px;min-height:250px;box-shadow:0 16px 42px rgba(7,21,47,.07)}.benefit-icon{font-size:2.15rem;font-weight:900;color:var(--blue);margin-bottom:20px}.benefit-card p{color:var(--muted)}.benefit-card a{font-weight:900;color:var(--blue)}

.cet-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;border-radius:var(--radius);padding:42px;box-shadow:var(--shadow)}.cet-panel p:not(.eyebrow){color:rgba(255,255,255,.72)}.cet-cards{display:grid;gap:16px}.cet-card{display:grid;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:24px}.cet-card span{color:var(--cyan);font-weight:900}.cet-card strong{font-size:1.3rem;line-height:1.1}.cet-card em{font-style:normal;color:rgba(255,255,255,.66)}

.companies{overflow:hidden}.logo-marquee{width:100%;overflow:hidden;margin:28px 0}.logo-track{display:flex;gap:12px;width:max-content;animation:marquee 36s linear infinite}.logo{display:inline-flex;align-items:center;justify-content:center;min-width:160px;height:62px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font-weight:900;color:#fff;padding:0 20px}@keyframes marquee{to{transform:translateX(-50%)}}

.testimonial-shell{position:relative;overflow:hidden}.testimonial-track{display:flex;gap:18px;transition:transform .35s ease}.testimonial-card{flex:0 0 calc((100% - 36px)/3);background:#fff;border:1px solid var(--border);border-radius:24px;padding:26px;box-shadow:0 16px 42px rgba(7,21,47,.07)}.quote-mark{font-size:3rem;line-height:.7;color:var(--blue);font-weight:900}.testimonial-card blockquote{margin:12px 0 24px;color:#344054}.person{display:flex;align-items:center;gap:12px}.avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font-weight:900}.person strong,.person span{display:block}.person span{font-size:.84rem;color:var(--muted)}.slider-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.round-btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--border);background:#fff;box-shadow:0 8px 24px rgba(7,21,47,.08);cursor:pointer;font-weight:900}

.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px}.faq-list{display:grid;gap:12px}.faq-item{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden}.faq-question{width:100%;border:0;background:#fff;display:flex;justify-content:space-between;gap:20px;padding:20px 22px;text-align:left;font-weight:900;cursor:pointer}.faq-question span:first-child:before{content:"P";display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--paper);color:var(--blue);font-size:.78rem;margin-right:10px}.faq-answer{display:none;padding:0 22px 20px;color:var(--muted)}.faq-item.is-open .faq-answer{display:block}.faq-item.is-open .faq-question .plus{transform:rotate(45deg)}.plus{transition:.2s ease;font-size:1.35rem}

.final-cta-inner{text-align:center;border-radius:var(--radius);padding:52px;background:linear-gradient(135deg,#eef5ff,#fff4e5);box-shadow:0 16px 42px rgba(7,21,47,.08)}.final-cta-inner h2{color:var(--navy)}.final-cta-inner p{max-width:650px;margin:18px auto;color:#40506a}.inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;max-width:760px;margin:28px auto 0}

.site-footer{background:var(--navy);color:#fff;padding:34px 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:22px;align-items:center}.site-footer p,.site-footer span{display:block;color:rgba(255,255,255,.66);margin:.2rem 0}.site-footer a{display:inline-flex;margin-left:18px;font-weight:900;color:var(--cyan)}
.toast{position:fixed;right:20px;bottom:20px;max-width:360px;background:var(--navy);color:#fff;border-radius:18px;padding:16px 18px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s ease;z-index:100}.toast.is-visible{opacity:1;transform:translateY(0)}

/* Páginas de curso */
.page-hero{padding:92px 0 70px}.page-hero-grid{display:grid;grid-template-columns:1fr 370px;gap:42px;align-items:end}.page-hero h1{font-size:clamp(2.7rem,6vw,5.7rem)}.stats-card{background:#fff;color:var(--text);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.stats-card h3{margin-bottom:16px}.stat-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--border)}.stat-row:last-child{border-bottom:0}.stat-row span{color:var(--muted)}.course-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px}.panel{background:#fff;border:1px solid var(--border);border-radius:24px;padding:28px;box-shadow:0 16px 42px rgba(7,21,47,.06)}.company-list{display:flex;flex-wrap:wrap;gap:10px}.company-list span,.pill-light{display:inline-flex;padding:8px 11px;border-radius:999px;background:var(--paper);border:1px solid var(--border);font-weight:800;font-size:.86rem;color:#344054}.related-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.related-links a{background:var(--paper);border-radius:999px;padding:9px 12px;font-weight:900}.competence-list{columns:2;column-gap:26px}.competence-list li{break-inside:avoid;margin:0 0 10px;color:#40506a}

/* Página de formulário */
.form-page{background:linear-gradient(180deg,var(--paper),#fff)}.form-layout{display:grid;grid-template-columns:1fr 360px;gap:34px;align-items:start}.form-card{background:#fff;border-radius:var(--radius);padding:34px;border:1px solid var(--border);box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}.course-choice{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.choice{position:relative}.choice input{position:absolute;opacity:0}.choice span{display:block;border:1px solid var(--border);border-radius:18px;padding:16px;background:#fff;font-weight:900;cursor:pointer}.choice small{display:block;color:var(--muted);font-weight:700;margin-top:3px}.choice input:checked + span{border-color:var(--blue);box-shadow:0 0 0 4px rgba(18,102,241,.12)}.steps{display:grid;gap:14px}.step{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;background:#fff;border:1px solid var(--border);border-radius:18px;padding:16px}.step-num{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--blue);color:#fff;font-weight:900}.doc-list{margin-top:22px}.doc-list li{margin-bottom:10px;color:#40506a}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}.reveal.is-visible{opacity:1;transform:none}


@media (prefers-reduced-motion: reduce){
  .top-announcement-track{animation:none;transform:none}
}

@media (max-width: 980px){
  .main-nav{position:absolute;inset:82px 20px auto 20px;background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:20px;display:none;flex-direction:column;align-items:stretch}.main-nav.is-open{display:flex}.nav-toggle{display:block}.hero-grid,.page-hero-grid,.cte-grid,.cet-panel,.faq-grid,.form-layout,.course-detail-grid{grid-template-columns:1fr}.course-grid,.benefit-grid{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:repeat(2,1fr)}.testimonial-card{flex-basis:calc((100% - 18px)/2)}.inline-form{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.site-footer a{margin:8px 16px 0 0}.competence-list{columns:1}
}
@media (max-width: 640px){

  .top-announcement{height:32px;font-size:.7rem}
  .top-announcement-group{gap:24px;padding-right:24px}
  .top-announcement-group span + span::before{margin-right:24px}
  .top-contact-inner{min-height:42px;gap:10px 18px;padding-block:7px;font-size:.78rem}
  :root{--container:min(100vw - 28px, 1160px)}.section{padding:68px 0}.hero{padding:70px 0 52px}h1{font-size:3rem}h2{font-size:2.4rem}.course-grid,.benefit-grid,.trust-grid,.form-grid,.course-choice{grid-template-columns:1fr}.testimonial-card{flex-basis:100%}.lead-form-card,.cet-panel,.final-cta-inner,.form-card{padding:24px}.brand-text{display:none}.nav-wrap{min-height:72px}.main-nav{inset:72px 14px auto 14px}.footer-grid{gap:10px}.page-hero{padding:66px 0 52px}
}

/* Ajustes do novo topo e dropdown */
@media (max-width: 980px){
  .brand{min-width:auto}.brand-logo{width:82px}.brand-text{display:none}
  .main-nav{position:absolute;inset:82px 20px auto 20px;background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:16px;display:none;flex-direction:column;align-items:stretch;gap:8px}.main-nav.is-open{display:flex}
  .nav-toggle{display:block}
  .nav-link{padding:10px 8px;text-align:left}.nav-dropdown{display:block}.nav-dropdown-toggle{width:100%;justify-content:space-between}
  .courses-dropdown{position:static;width:100%;box-shadow:none;border-radius:14px;opacity:1;visibility:visible;transform:none;pointer-events:auto;display:none;margin-top:6px}.nav-dropdown.is-open .courses-dropdown{display:grid}.nav-dropdown:hover .courses-dropdown,.nav-dropdown:focus-within .courses-dropdown{display:grid}
  .courses-dropdown::before{display:none}
}
@media (max-width: 640px){
  .top-contact-bar .container{padding-inline:14px}.top-contact-inner{justify-content:flex-start}
  .brand-logo{width:74px}
}

/* Atualização IPTA — topo, menu e hero conforme protótipo */
:root{
  --ip-teal:#11777a;
  --ip-teal-dark:#075154;
  --ip-red:#c93a43;
  --ip-yellow:#f4ef2e;
}
.top-announcement{background:var(--ip-red);height:35px;font-size:.79rem;letter-spacing:.035em}
.top-announcement-track{animation:marquee-right-to-left 38s linear infinite}
.top-contact-bar{background:#075a5d;color:rgba(255,255,255,.58);font-size:.82rem;border-bottom:0}
.top-contact-bar .container{width:var(--container);max-width:none;margin-inline:auto;padding-inline:0}
.top-contact-inner{min-height:34px;justify-content:flex-end;gap:28px}
.top-contact-item{font-weight:500}.top-contact-icon{width:14px;height:14px}
.site-header{background:var(--ip-teal);backdrop-filter:none;border-bottom:1px solid rgba(255,255,255,.08)}
.site-header.is-scrolled{box-shadow:0 14px 34px rgba(0,0,0,.16)}
.nav-wrap{min-height:72px}.brand{min-width:0}.brand-logo{width:86px;filter:brightness(0) invert(1)}.brand-text{display:none}
.main-nav{gap:24px;color:#fff;font-size:.92rem}.main-nav a:not(.btn),.nav-link{opacity:.95;color:#fff}.main-nav a:not(.btn):hover,.nav-link:hover{color:#fff;opacity:1}.nav-link{font-weight:900}
.nav-dropdown-toggle{padding:9px 17px;border:2px solid rgba(255,255,255,.72);border-radius:4px}.nav-dropdown-toggle:hover{border-color:#fff}.chevron{width:12px;height:12px}
.courses-dropdown{top:calc(100% + 14px);width:286px;border-radius:7px;padding:18px 10px;color:#1f2933}.dropdown-link{padding:10px 12px;font-size:.94rem}.dropdown-heading{padding:0 12px}.dropdown-link:hover{background:#f3f6f6;color:#0c6e72!important}.dropdown-link svg{color:#1f2933}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:4px;background:var(--ip-yellow);color:#061315;font-weight:950;text-transform:uppercase;letter-spacing:.015em;padding:15px 28px;min-height:46px;line-height:1;cursor:pointer;box-shadow:none;transition:transform .18s ease,filter .18s ease,background .18s ease}.btn:hover{transform:translateY(-1px);filter:brightness(.98)}.btn-small{padding:12px 28px;min-height:42px}.btn-full{width:100%;background:var(--ip-teal);color:#fff}.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55)}.btn-ghost:hover{background:rgba(255,255,255,.08);filter:none}.main-nav .btn{background:var(--ip-yellow);color:#071313;min-width:154px}.text-link{font-weight:900;color:var(--ip-teal)}
.hero-home{position:relative;min-height:calc(100vh - 141px);display:flex;align-items:center;padding:78px 0 82px;background:linear-gradient(90deg,rgba(8,104,105,.93) 0%,rgba(10,105,106,.86) 48%,rgba(4,70,72,.94) 100%),url('assets/hero-audiovisuais.jpg') center center/cover no-repeat;color:#fff}.hero-home::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:64px 64px;opacity:.45;pointer-events:none}.hero-home::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 31% 35%,rgba(255,255,255,.06),transparent 25%),linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.12) 100%);pointer-events:none}.hero-home .container{position:relative;z-index:1}.hero-grid{grid-template-columns:minmax(0,1fr) 425px;gap:78px;align-items:center}.hero-copy{max-width:665px}.hero-eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 30px;background:rgba(4,55,57,.78);border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#fff!important;padding:8px 17px;font-size:.78rem;letter-spacing:.14em;box-shadow:0 9px 22px rgba(0,0,0,.14)}.hero-eyebrow span{width:7px;height:7px;background:var(--ip-yellow);border-radius:999px;display:inline-block}.hero-slogan{width:min(545px,100%);max-width:100%;margin:0 0 56px;filter:drop-shadow(0 8px 0 rgba(0,0,0,.28))}.hero-home .lead{font-size:1.07rem;line-height:1.62;color:#fff;max-width:590px;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.12)}.hero-home .lead strong{font-weight:950;color:#fff}.hero-pills{gap:10px 12px;margin:31px 0 32px;max-width:620px}.hero-pills span{position:relative;background:rgba(4,61,64,.85);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:7px 13px 7px 32px;font-size:.82rem;color:#fff}.hero-pills span::before{content:"✓";position:absolute;left:9px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--ip-yellow);color:#0e4f52;font-size:.68rem;font-weight:1000}.hero-actions{gap:14px}.slogan-card{display:none}
.lead-form-card{border-radius:5px;padding:0;background:#fff;color:#263238;box-shadow:0 24px 50px rgba(0,0,0,.26);overflow:visible}.lead-form-card::before{display:none}.lead-form-head{background:var(--ip-teal);color:#fff;padding:26px 30px 20px;border-radius:5px 5px 0 0}.lead-form-card .form-kicker{color:rgba(255,255,255,.74)!important;margin:0 0 6px;font-size:.75rem;letter-spacing:.14em}.lead-form-card h2{font-size:1.55rem;line-height:1.08;letter-spacing:-.035em;margin:0 0 6px}.lead-form-card p{color:rgba(255,255,255,.72);margin:0}.lead-form-card .quick-form{padding:26px 30px 0;gap:14px}.form-alert{display:flex;align-items:center;gap:9px;background:#fff7ef;border:1px solid #f0b27a;color:#8a4c20;border-radius:3px;padding:10px 14px;font-weight:800;font-size:.88rem;margin-bottom:8px}.form-alert::before{content:"";width:8px;height:8px;background:#f07c22;border-radius:50%;display:inline-block}.quick-form label,.form-grid label{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:#29343a}.quick-form input,.quick-form select{border-color:#c9d6d9;border-radius:4px;padding:11px 14px;color:#2d3a40}.quick-form input::placeholder{color:#9aa8ac}.lead-form-card .btn-full{border-radius:4px;background:var(--ip-teal);min-height:43px;margin-top:0}.lead-form-card .rgpd{display:block;margin:22px -30px 0!important;padding:12px 24px 13px;background:#eef3f3;border-top:1px solid #d6e1e2;color:#6d7a7d!important;text-align:center;font-size:.72rem;line-height:1.25;text-transform:none;letter-spacing:0;font-weight:500;border-radius:0 0 5px 5px}.limited-sticker{position:absolute;right:-14px;top:-37px;z-index:3;width:106px;height:106px;display:grid;place-items:center;text-align:center;background:var(--ip-red);color:#fff;text-transform:uppercase;font-weight:950;line-height:1.05;font-size:.95rem;letter-spacing:.04em;filter:drop-shadow(0 10px 14px rgba(0,0,0,.18));clip-path:polygon(50% 0%,60% 9%,73% 6%,80% 18%,93% 22%,94% 36%,100% 50%,94% 64%,93% 78%,80% 82%,73% 94%,60% 91%,50% 100%,40% 91%,27% 94%,20% 82%,7% 78%,6% 64%,0% 50%,6% 36%,7% 22%,20% 18%,27% 6%,40% 9%)}
.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none!important}.form-status{font-size:.84rem;font-weight:800;margin:8px 0 0;color:var(--ip-teal)}
@media (max-width: 980px){.top-contact-bar .container{width:var(--container)}.top-contact-inner{justify-content:center}.site-header{position:sticky}.nav-wrap{min-height:72px}.main-nav{inset:72px 20px auto 20px;background:#0f7376;color:#fff;border-color:rgba(255,255,255,.18)}.main-nav.is-open{display:flex}.nav-link{color:#fff!important}.courses-dropdown{background:#fff;color:#1f2933}.nav-dropdown-toggle{justify-content:space-between}.hero-home{min-height:auto;padding:62px 0 66px}.hero-grid{grid-template-columns:1fr;gap:48px}.hero-slogan{margin-bottom:34px}.lead-form-card{max-width:480px}.limited-sticker{right:-8px}}
@media (max-width: 640px){.top-contact-inner{justify-content:flex-start}.top-contact-bar .container{padding-inline:14px}.brand-logo{width:76px}.hero-home{padding:46px 0 54px}.hero-eyebrow{font-size:.66rem;letter-spacing:.09em;line-height:1.3}.hero-slogan{margin-bottom:28px}.hero-home .lead{font-size:1rem}.hero-actions .btn{width:100%}.lead-form-head,.lead-form-card .quick-form{padding-left:22px;padding-right:22px}.lead-form-card .rgpd{margin-left:-22px!important;margin-right:-22px!important}.limited-sticker{width:86px;height:86px;font-size:.78rem;top:-30px}}
.lead-form-card .form-status{display:block;margin:10px 0 14px!important;color:var(--ip-teal)!important;text-transform:none;letter-spacing:0;font-size:.8rem;line-height:1.3;text-align:center;padding:0 18px}.form-card .form-status,.inline-form .form-status{grid-column:1/-1;color:var(--ip-teal);text-transform:none;letter-spacing:0}

/* v5 — correções finais de topo, menu, acessibilidade e responsividade */
body{overflow-x:hidden}
:focus-visible{outline:3px solid var(--ip-yellow);outline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ip-yellow);outline-offset:3px}
.top-contact-bar{background:#075a5d;color:rgba(255,255,255,.86)}
.top-contact-bar .container{width:100%;max-width:none;margin:0;padding-inline:clamp(16px,3vw,40px)}
.top-contact-inner{justify-content:flex-end!important;text-align:right;gap:28px;max-width:none;margin:0 0 0 auto}
.top-contact-item{white-space:nowrap}.top-contact-icon{opacity:.92}
.site-header{background:#11777a}.nav-wrap{min-height:72px}.brand{min-width:auto;flex:0 0 auto}.brand-logo{width:92px;max-height:45px;object-fit:contain;filter:brightness(0) invert(1);transform:translateY(1px)}
.main-nav{gap:24px}.nav-link{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;color:#fff;padding:10px 0}.nav-dropdown-toggle{border:0!important;background:transparent!important;box-shadow:none!important;padding:10px 0!important;border-radius:0!important}.nav-dropdown-toggle:hover,.nav-dropdown-toggle:focus{border:0!important;background:transparent!important}.nav-dropdown-toggle:focus-visible{border-radius:4px!important}.chevron{width:12px;height:12px}.courses-dropdown{top:calc(100% + 13px);left:0;width:286px;border:0;border-radius:7px;padding:18px 10px;background:#fff;box-shadow:0 22px 55px rgba(7,21,47,.22)}.dropdown-heading{color:#969da5;font-size:.7rem;letter-spacing:.14em}.dropdown-link{font-weight:500;color:#1f2933!important}.dropdown-link:focus-visible{outline:3px solid rgba(17,119,122,.35);outline-offset:1px;background:#f3f6f6}
.main-nav .btn{background:#f4ef2e;color:#061315;border-radius:4px;min-width:154px}.main-nav .btn:focus-visible{outline-color:#fff}
.limited-sticker{clip-path:none!important;background:transparent!important;right:-16px;top:-39px;width:110px;height:110px;padding:0;filter:none;display:grid;place-items:center;overflow:visible}.limited-sticker img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(0,0,0,.18))}.limited-sticker span{position:relative;z-index:1;color:#fff;text-transform:uppercase;font-weight:950;line-height:1.05;font-size:.93rem;letter-spacing:.04em;transform:rotate(10deg);text-shadow:0 2px 4px rgba(0,0,0,.18)}
.lead-form-card .btn-full:focus-visible{outline-color:#f4ef2e}.lead-form-card .quick-form{position:relative}.hp-field{clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
@media (max-width:1180px){.main-nav{gap:18px;font-size:.88rem}.brand-logo{width:86px}.main-nav .btn{min-width:142px;padding-inline:20px}}
@media (max-width:980px){.top-contact-bar .container{width:100%;padding-inline:16px}.top-contact-inner{justify-content:flex-end!important}.brand-logo{width:84px}.nav-toggle{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}.nav-toggle span:not(.sr-only){background:#fff}.main-nav{inset:72px 16px auto 16px;max-height:calc(100vh - 92px);overflow:auto;background:#0f7376;color:#fff;border-color:rgba(255,255,255,.18);border-radius:18px}.nav-dropdown-toggle{width:100%;justify-content:space-between!important}.courses-dropdown{width:100%;position:static;display:none;margin-top:6px;box-shadow:none;border-radius:12px}.nav-dropdown.is-open .courses-dropdown{display:grid}.nav-dropdown:hover .courses-dropdown,.nav-dropdown:focus-within .courses-dropdown{display:grid}.limited-sticker{right:8px;top:-34px;width:98px;height:98px}.limited-sticker span{font-size:.82rem}.hero-grid{grid-template-columns:1fr;gap:48px}.lead-form-card{justify-self:start;width:min(100%,480px)}}
@media (max-width:640px){.top-contact-inner{justify-content:center!important;text-align:center;gap:8px 16px}.top-contact-item{font-size:.76rem}.brand-logo{width:76px}.main-nav{inset:72px 12px auto 12px}.hero-home{padding-top:48px}.limited-sticker{right:6px;top:-29px;width:84px;height:84px}.limited-sticker span{font-size:.7rem}.courses-dropdown{padding:14px 8px}.dropdown-link{grid-template-columns:18px 1fr;gap:10px;font-size:.9rem}.dropdown-heading{font-size:.68rem}.hero-slogan{width:100%}.hero-pills span{font-size:.78rem}.lead-form-card{width:100%}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.top-announcement-track,.logo-track{animation:none!important;transform:none!important}.reveal{opacity:1!important;transform:none!important}}

/* v6 — logotipo oficial e bloco visual de reconhecimentos/espaços */
.site-header .brand-logo{
  width:96px;
  height:auto;
  max-height:none;
  object-fit:contain;
  filter:none!important;
  transform:none;
}
.site-header .brand{
  display:flex;
  align-items:center;
  min-height:72px;
}
.school-proof{
  background:#0c4f54;
  color:#fff;
  overflow:hidden;
}
.school-proof-info{
  background:#0c4f54;
  border-top:6px solid var(--ip-yellow);
  box-shadow:0 10px 24px rgba(0,0,0,.2);
  position:relative;
  z-index:2;
}
.school-proof-grid{
  min-height:86px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center;
  gap:0;
}
.school-proof-item{
  min-height:86px;
  padding:18px 28px;
  border-left:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
}
.school-proof-item:last-child{border-right:1px solid rgba(255,255,255,.08)}
.school-proof-item::before{
  content:"";
  width:28px;
  height:2px;
  background:#17898d;
  display:block;
  margin-bottom:4px;
}
.school-proof-item strong{
  color:#fff;
  font-weight:900;
  font-size:.93rem;
  line-height:1.2;
}
.school-proof-item span{
  color:rgba(255,255,255,.5);
  font-size:.86rem;
  line-height:1.25;
}
.school-photo-strip{
  width:100%;
  overflow:hidden;
  background:#092f33;
}
.school-photo-track{
  display:grid;
  grid-template-columns:43fr 29fr 28fr;
  height:258px;
}
.school-photo{
  margin:0;
  min-width:0;
  overflow:hidden;
  background:#092f33;
}
.school-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.school-photo-wide img{object-position:center center}
.school-photo:nth-child(2) img{object-position:center center}
.school-photo:nth-child(3) img{object-position:center center}
@media (max-width:1180px){
  .site-header .brand-logo{width:90px}
  .school-proof-item{padding-inline:20px}
}
@media (max-width:980px){
  .site-header .brand-logo{width:86px}
  .school-proof-grid{grid-template-columns:repeat(2,1fr)}
  .school-proof-item,.school-proof-grid{min-height:auto}
  .school-proof-item{padding:18px 22px}
  .school-photo-track{height:300px}
}
@media (max-width:640px){
  .site-header .brand{min-height:72px}
  .site-header .brand-logo{width:78px}
  .school-proof-info{border-top-width:5px}
  .school-proof-grid{grid-template-columns:1fr}
  .school-proof-item{
    border-left:0;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.08);
    padding:16px 20px;
  }
  .school-proof-item:last-child{border-bottom:0}
  .school-photo-strip{position:relative}
  .school-photo-track{
    width:300%;
    height:245px;
    display:flex;
    animation:schoolMobileLoop 13.5s infinite;
  }
  .school-photo{
    flex:0 0 33.333333%;
    width:33.333333%;
  }
}
@keyframes schoolMobileLoop{
  0%,28%{transform:translateX(0)}
  34%,61%{transform:translateX(-33.333333%)}
  67%,94%{transform:translateX(-66.666666%)}
  100%{transform:translateX(0)}
}
@media (prefers-reduced-motion:reduce){
  .school-photo-track{animation:none!important;transform:none!important}
}

/* v7 — novo logotipo, menu mobile e grafismo das secções seguintes */
.nav-home,
.mobile-pre-btn{display:none}
.site-header .brand-logo{width:92px;height:auto;max-height:50px;object-fit:contain;filter:none!important;transform:none!important}
.site-header .brand{min-height:72px}

/* Oferta formativa */
#cursos.section{padding:108px 0 98px;background:#fff}
#cursos .container{width:min(1120px,calc(100vw - 40px))}
#cursos .section-heading{max-width:690px;margin-bottom:48px}
#cursos .section-heading .eyebrow{display:flex;align-items:center;gap:12px;color:#08787d;font-size:.74rem;letter-spacing:.16em;margin-bottom:18px}
#cursos .section-heading .eyebrow::before{content:"";width:22px;height:2px;background:#08787d;display:inline-block}
#cursos .section-heading h2{font-size:clamp(2.8rem,4.4vw,4.65rem);line-height:.95;letter-spacing:-.06em;color:#050505;margin-bottom:22px}
#cursos .section-heading h2 br + *{color:#11777a}
#cursos .section-heading h2{background:linear-gradient(#050505 0 48%,#11777a 48%);-webkit-background-clip:text;background-clip:text;color:transparent}
#cursos .section-heading p:not(.eyebrow){font-size:1.06rem;line-height:1.55;color:#4b5a63;max-width:600px}
.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}
.course-card{display:flex;min-height:0;padding:0;border-radius:4px;border:1px solid #c9dde0;background:#fff;box-shadow:none;overflow:hidden;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.course-card:hover{transform:translateY(-3px);border-color:#9cc2c6;box-shadow:0 18px 42px rgba(7,70,74,.08)}
.course-media{position:relative;min-height:122px;background:linear-gradient(90deg,rgba(1,38,40,.9),rgba(1,38,40,.68)),var(--course-bg) center/cover no-repeat;color:#fff;overflow:hidden}
.course-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,34,36,.1),rgba(2,34,36,.5));pointer-events:none}
.course-icon{position:absolute;left:25px;top:25px;z-index:1;color:#fff;width:62px;height:62px;display:grid;place-items:center}
.course-icon svg{width:60px;height:60px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.22))}
.course-level{position:absolute;right:24px;top:20px;z-index:1;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.09);border-radius:2px;padding:5px 13px;color:#fff;font-size:.72rem;line-height:1;text-transform:uppercase;font-weight:950;letter-spacing:.08em}
.course-area{position:absolute;left:25px;bottom:15px;z-index:1;color:rgba(255,255,255,.72);font-size:.72rem;text-transform:uppercase;font-weight:950;letter-spacing:.16em}
.course-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 18px}
.course-card .for{min-height:0;margin:0 0 8px;color:#0d666d;font-style:italic;font-weight:500;line-height:1.45}
.course-card h3{font-size:1.35rem;letter-spacing:-.04em;line-height:1.1;color:#050505;margin-bottom:10px}
.course-card p{color:#41535b;margin:.25rem 0 .45rem;line-height:1.5}
.course-card .tags{gap:8px;margin:13px 0 11px}
.course-card .tags span{border-radius:3px;background:#eef9fa;border-color:#b8d9dd;color:#00666d;padding:5px 10px;font-size:.78rem;font-weight:900}
.course-card .career{margin-top:auto;font-size:.82rem;color:#5b6870}.course-card .career strong{display:inline-block;color:#050505;margin-bottom:2px}
.course-card .card-footer{margin-top:16px;padding-top:14px;border-top:1px solid #c9dde0;color:#697981;font-size:.78rem}.course-card .card-footer strong{display:inline-flex;margin-left:6px;padding:2px 8px;border-radius:2px;background:#eef9fa;color:#00666d;font-size:.72rem}.course-card .text-link{text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;color:#006c72;font-weight:950}

/* Centro Tecnológico Especializado */
.section-cte{padding:0!important;background:#2799ce;color:#fff;overflow:hidden}
.section-cte .cte-grid{width:100%;max-width:none;margin:0;display:grid;grid-template-columns:minmax(260px,316px) 1fr;gap:0;align-items:stretch}
.cte-brand-panel{min-height:297px;background:#4aaef0;display:flex;align-items:center;justify-content:center;gap:24px;padding:34px 22px;color:#fff;text-transform:uppercase;overflow:hidden}
.cte-brand-panel strong{font-size:1.55rem;letter-spacing:.14em;line-height:1.25;font-weight:950;color:#fff}
.cte-emblem{position:relative;width:105px;height:105px;flex:0 0 105px}
.cte-emblem::before{content:"";position:absolute;inset:31px;border:13px solid #fff;border-radius:50%}
.cte-emblem::after{content:"";position:absolute;left:49px;top:0;width:8px;height:105px;background:#fff;box-shadow:-43px 49px 0 #fff,43px 49px 0 #fff;transform:rotate(45deg);opacity:.98}
.cte-emblem span{position:absolute;width:21px;height:21px;border-radius:50%;background:#fff;z-index:1}.cte-emblem span:nth-child(1){left:0;top:22px}.cte-emblem span:nth-child(2){right:0;top:22px}.cte-emblem span:nth-child(3){left:0;bottom:22px}.cte-emblem span:nth-child(4){right:0;bottom:22px}.cte-emblem span:nth-child(5){left:42px;top:42px;width:22px;height:22px}
.cte-copy{min-height:297px;background:#2799ce;padding:56px clamp(32px,9vw,180px);display:flex;flex-direction:column;justify-content:center}.cte-copy .eyebrow{color:rgba(255,255,255,.72)!important;font-size:.72rem;letter-spacing:.18em;margin-bottom:18px}.cte-copy h2{font-size:clamp(2.25rem,3.3vw,3.4rem);line-height:.96;letter-spacing:-.055em;color:#fff;margin-bottom:20px}.cte-copy p:not(.eyebrow){max-width:640px;margin:0;color:rgba(255,255,255,.92);font-size:1.05rem;line-height:1.58}

@media (max-width:980px){
  .top-contact-bar{display:none}
  .site-header{position:sticky;top:0;z-index:70;background:#11777a}
  .nav-wrap{min-height:68px;gap:14px;width:calc(100vw - 32px)}
  .site-header .brand{min-height:68px}.site-header .brand-logo{width:86px;max-height:47px}
  .mobile-pre-btn{display:inline-flex;margin-left:auto;margin-right:8px;min-width:152px;min-height:38px;padding:10px 18px;font-size:.82rem;border-radius:4px;background:#f4ef2e;color:#061315}
  .nav-toggle{display:grid;place-items:center;width:42px;height:42px;border:2px solid rgba(255,255,255,.8);border-radius:4px;background:transparent;padding:0;flex:0 0 42px;position:relative}
  .nav-toggle span:not(.sr-only){position:absolute;width:22px;height:2px;background:#fff;margin:0;border-radius:2px;transition:transform .2s ease,opacity .2s ease}.nav-toggle span:nth-child(1){transform:translateY(-7px)}.nav-toggle span:nth-child(2){transform:translateY(0)}.nav-toggle span:nth-child(3){transform:translateY(7px)}.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg)}.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg)}
  .main-nav{position:absolute;left:0;right:auto;top:68px;width:100vw;max-height:calc(100vh - 68px);overflow:auto;display:none;padding:16px 20px 26px;background:#0b5558;border:0;border-radius:0;box-shadow:0 24px 50px rgba(0,0,0,.28);gap:0;color:#d8eff0;align-items:stretch;z-index:75}.main-nav.is-open{display:flex}.main-nav .btn{display:none}.nav-home{display:block!important}.nav-link{display:flex;width:100%;min-height:46px;align-items:center;padding:12px 8px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;color:#eaf8f8!important;font-weight:900;text-align:left;opacity:1!important}.nav-dropdown{display:block;order:2}.nav-home{order:1}.nav-dropdown-toggle{display:none!important}.courses-dropdown{display:grid!important;position:static;width:100%;padding:0;margin:0;background:transparent!important;border:0!important;box-shadow:none!important;color:#eaf8f8!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important}.courses-dropdown::before,.dropdown-heading,.dropdown-divider{display:none!important}.dropdown-link{display:flex;align-items:center;min-height:46px;padding:12px 8px!important;border-bottom:1px solid rgba(255,255,255,.08);border-radius:0;color:#eaf8f8!important;background:transparent!important;font-size:.98rem;font-weight:900;line-height:1.25}.dropdown-link:hover,.dropdown-link:focus{background:rgba(255,255,255,.06)!important;color:#fff!important}.dropdown-link svg{display:none}.dropdown-link:nth-of-type(n+5){padding-left:28px!important;color:rgba(234,248,248,.78)!important;font-size:.93rem}.dropdown-link:nth-of-type(n+5) span::before{content:"↳ ";color:rgba(234,248,248,.78)}
  #cursos.section{padding:78px 0}.course-grid{grid-template-columns:1fr;gap:22px}.course-card{max-width:640px}.section-cte .cte-grid{grid-template-columns:1fr}.cte-brand-panel{min-height:180px}.cte-copy{min-height:auto;padding:42px 28px 50px}.cte-copy h2{font-size:2.3rem}.cte-copy p:not(.eyebrow){font-size:1rem}.nav-open{overflow:hidden}
}
@media (max-width:640px){
  .top-announcement{height:34px;font-size:.74rem}.top-announcement-group{gap:26px;padding-right:26px}.top-announcement-group span+span::before{margin-right:26px}
  .nav-wrap{width:calc(100vw - 28px);gap:8px}.site-header .brand-logo{width:82px}.mobile-pre-btn{min-width:132px;padding-inline:14px;font-size:.76rem}.nav-toggle{width:40px;height:40px;flex-basis:40px}.main-nav{top:68px;padding-inline:20px}.nav-link,.dropdown-link{min-height:47px;font-size:1rem}
  #cursos .container{width:min(100vw - 28px,1120px)}#cursos .section-heading h2{font-size:2.75rem}#cursos .section-heading p:not(.eyebrow){font-size:1rem}.course-media{min-height:118px}.course-body{padding:20px}.course-card h3{font-size:1.22rem}.course-area{font-size:.62rem;letter-spacing:.12em;left:20px}.course-icon{left:20px}.course-level{right:18px}.card-footer{gap:12px}.cte-brand-panel{justify-content:flex-start;padding-inline:28px}.cte-brand-panel strong{font-size:1.18rem}.cte-emblem{width:80px;height:80px;flex-basis:80px}.cte-emblem::before{inset:24px;border-width:10px}.cte-emblem::after{left:37px;width:7px;height:80px;box-shadow:-32px 37px 0 #fff,32px 37px 0 #fff}.cte-emblem span{width:17px;height:17px}.cte-emblem span:nth-child(1){top:17px}.cte-emblem span:nth-child(2){top:17px}.cte-emblem span:nth-child(3){bottom:17px}.cte-emblem span:nth-child(4){bottom:17px}.cte-emblem span:nth-child(5){left:31px;top:31px;width:18px;height:18px}.cte-copy{padding:38px 24px 44px}.cte-copy h2{font-size:2.05rem}
}
#cursos .section-heading h2{background:none!important;color:#050505!important}
#cursos .section-heading h2 span{color:#11777a!important}
@media (max-width:980px){.main-nav>.nav-link:not(.nav-home){order:3}.nav-dropdown{order:2!important}.nav-home{order:1!important}}
.label-mobile{display:none}
@media (max-width:980px){.dropdown-link .label-mobile{display:inline}.dropdown-link .label-long{display:none}}

/* v8 — apoios, CET e empresas conforme novo grafismo */
.section-benefits-dark{
  --benefit-border:rgba(206,238,238,.15);
  background:#071f1d;
  color:#fff;
  padding:112px 0 116px;
}
.section-benefits-dark .section-heading{max-width:660px;margin-bottom:54px}
.section-benefits-dark .eyebrow,
.section-companies-dark .eyebrow,
.section-cet-list .eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  letter-spacing:.18em;
  font-size:.72rem;
  margin-bottom:20px;
}
.section-benefits-dark .eyebrow::before,
.section-companies-dark .eyebrow::before,
.section-cet-list .eyebrow::before{
  content:"";
  display:inline-block;
  width:24px;
  height:2px;
  background:currentColor;
}
.section-benefits-dark .eyebrow{color:var(--ip-yellow)!important}
.section-benefits-dark .section-heading h2{
  color:#fff;
  font-size:clamp(2.7rem,4.7vw,4.85rem);
  line-height:.98;
  letter-spacing:-.06em;
  margin-bottom:22px;
}
.section-benefits-dark .section-heading h2 span{color:var(--ip-yellow)}
.section-benefits-dark .section-heading p:not(.eyebrow){
  color:rgba(224,244,244,.72);
  max-width:590px;
  font-size:1.05rem;
  line-height:1.62;
}
.section-benefits-dark .benefit-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border:1px solid var(--benefit-border);
  border-radius:5px;
  overflow:hidden;
  background:rgba(255,255,255,.01);
}
.section-benefits-dark .benefit-card{
  background:transparent;
  border:0;
  border-right:1px solid var(--benefit-border);
  border-bottom:1px solid var(--benefit-border);
  border-radius:0;
  box-shadow:none;
  min-height:272px;
  padding:34px 34px 32px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.section-benefits-dark .benefit-card:nth-child(3n){border-right:0}
.section-benefits-dark .benefit-card:nth-last-child(-n+3){border-bottom:0}
.section-benefits-dark .benefit-icon{
  min-height:56px;
  display:flex;
  align-items:center;
  margin:0 0 17px;
  color:var(--ip-yellow);
  font-family:Impact,"Arial Black",system-ui,sans-serif;
  font-size:3.1rem;
  line-height:.9;
  letter-spacing:-.06em;
  text-transform:uppercase;
}
.section-benefits-dark .benefit-card:nth-child(4) .benefit-icon,
.section-benefits-dark .benefit-card:nth-child(5) .benefit-icon{
  font-size:2.75rem;
  letter-spacing:-.04em;
}
.eu-flag{
  position:relative;
  display:inline-block;
  width:46px;
  height:30px;
  border-radius:3px;
  background:#0755c9;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.eu-flag::before{
  content:"✦ ✦ ✦\A ✦ ✦ ✦";
  white-space:pre;
  position:absolute;
  inset:5px 0 0;
  text-align:center;
  color:#ffdf32;
  font-size:8px;
  line-height:9px;
  letter-spacing:2px;
  font-family:system-ui,sans-serif;
}
.section-benefits-dark .benefit-card h3{
  color:#fff;
  font-size:1rem;
  line-height:1.2;
  letter-spacing:-.02em;
  margin:0 0 12px;
}
.section-benefits-dark .benefit-card p{
  color:rgba(224,244,244,.68);
  margin:0 0 18px;
  line-height:1.55;
}
.section-benefits-dark .benefit-card a{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 13px;
  border:1px solid rgba(244,239,46,.5);
  border-radius:999px;
  background:rgba(244,239,46,.08);
  color:var(--ip-yellow);
  font-size:.78rem;
  line-height:1;
  font-weight:950;
}
.section-benefits-dark .benefit-card a:hover,
.section-benefits-dark .benefit-card a:focus-visible{background:rgba(244,239,46,.15)}

.section-cet-list{
  background:#eef6f5;
  padding:92px 0 98px;
  color:#050505;
}
.section-cet-list .cet-panel{
  display:grid;
  grid-template-columns:1fr;
  gap:34px;
  background:transparent;
  color:#050505;
  border-radius:0;
  padding:0;
  box-shadow:none;
}
.section-cet-list .cet-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);
  gap:54px;
  align-items:start;
}
.section-cet-list .eyebrow{color:#08787d!important;margin-bottom:22px}
.section-cet-list h2{
  font-size:clamp(2.8rem,4.5vw,4.65rem);
  color:#050505;
  line-height:.96;
  letter-spacing:-.065em;
}
.section-cet-list h2 span{color:#11777a}
.section-cet-list .cet-intro > p{
  max-width:430px;
  color:#394d52!important;
  font-size:1.06rem;
  line-height:1.55;
  margin:22px 0 0;
}
.section-cet-list .cet-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.section-cet-list .cet-card{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 20px;
  align-items:center;
  gap:18px;
  min-height:112px;
  padding:24px 26px;
  border:1px solid #b9d8dc;
  border-radius:5px;
  background:#fff;
  color:#050505;
  box-shadow:none;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.section-cet-list .cet-card:hover{
  transform:translateY(-2px);
  border-color:#83b8bd;
  box-shadow:0 16px 38px rgba(8,70,74,.08);
}
.section-cet-list .cet-card-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  color:#11777a;
}
.section-cet-list .cet-card-icon svg{width:52px;height:52px}
.section-cet-list .cet-card-copy{display:grid;gap:3px;min-width:0}
.section-cet-list .cet-card small{
  color:#006c72;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:950;
  font-size:.72rem;
}
.section-cet-list .cet-card strong{
  color:#050505;
  font-size:1.28rem;
  line-height:1.12;
  letter-spacing:-.035em;
}
.section-cet-list .cet-card em{
  color:#526368;
  font-style:normal;
  font-size:.91rem;
}
.section-cet-list .cet-arrow{
  color:#72adb3;
  font-size:2rem;
  line-height:1;
  transform:translateY(-1px);
}

.section-companies-dark{
  background:#071f1d;
  color:#fff;
  padding:104px 0 96px;
  overflow:hidden;
}
.section-companies-dark .section-heading{max-width:680px;margin-bottom:38px}
.section-companies-dark .eyebrow{color:rgba(226,241,241,.68)!important}
.section-companies-dark h2{
  color:#fff;
  font-size:clamp(2.8rem,4.55vw,4.7rem);
  line-height:.96;
  letter-spacing:-.065em;
  margin-bottom:22px;
}
.section-companies-dark h2 span{color:var(--ip-yellow)}
.section-companies-dark .section-heading p:not(.eyebrow){
  max-width:520px;
  color:rgba(226,241,241,.66);
  line-height:1.6;
}
.section-companies-dark .logo-marquee{
  margin:26px 0 38px;
  width:100vw;
  overflow:hidden;
}
.section-companies-dark .logo-track{
  display:grid;
  gap:13px;
  width:100%;
  animation:none!important;
}
.logo-row{
  display:flex;
  gap:12px;
  width:max-content;
  will-change:transform;
}
.logo-row-one{animation:marquee-left 44s linear infinite}
.logo-row-two{animation:marquee-right 50s linear infinite;transform:translateX(-50%)}
.section-companies-dark .logo{
  min-width:auto;
  height:38px;
  padding:0 20px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.085);
  color:rgba(255,255,255,.62);
  font-size:.9rem;
  line-height:1;
  font-weight:950;
  white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.section-companies-dark .center{margin-top:8px}
.section-companies-dark .btn-ghost{
  border:2px solid rgba(255,255,255,.5);
  color:#fff;
  background:transparent;
  min-height:42px;
  padding:12px 28px;
  border-radius:3px;
}
@keyframes marquee-left{to{transform:translateX(-50%)}}
@keyframes marquee-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}

@media (max-width:980px){
  .section-benefits-dark,.section-cet-list,.section-companies-dark{padding:78px 0}
  .section-benefits-dark .benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-benefits-dark .benefit-card:nth-child(3n){border-right:1px solid var(--benefit-border)}
  .section-benefits-dark .benefit-card:nth-child(2n){border-right:0}
  .section-benefits-dark .benefit-card:nth-last-child(-n+3){border-bottom:1px solid var(--benefit-border)}
  .section-benefits-dark .benefit-card:nth-last-child(-n+2){border-bottom:0}
  .section-cet-list .cet-intro{grid-template-columns:1fr;gap:18px}
  .section-cet-list .cet-intro > p{margin:0;max-width:620px}
  .section-cet-list .cet-cards{grid-template-columns:1fr}
}
@media (max-width:640px){
  .section-benefits-dark .section-heading h2,
  .section-cet-list h2,
  .section-companies-dark h2{font-size:2.65rem}
  .section-benefits-dark .benefit-grid{grid-template-columns:1fr}
  .section-benefits-dark .benefit-card,
  .section-benefits-dark .benefit-card:nth-child(n){border-right:0;border-bottom:1px solid var(--benefit-border);padding:30px 24px;min-height:230px}
  .section-benefits-dark .benefit-card:last-child{border-bottom:0}
  .section-benefits-dark .benefit-icon{font-size:2.8rem;min-height:48px}
  .section-cet-list .cet-card{grid-template-columns:46px minmax(0,1fr) 18px;padding:20px 18px;gap:13px}
  .section-cet-list .cet-card-icon,.section-cet-list .cet-card-icon svg{width:42px;height:42px}
  .section-cet-list .cet-card strong{font-size:1.1rem}
  .section-companies-dark .logo-marquee{margin-left:-14px;margin-right:-14px;width:100vw}
  .section-companies-dark .logo{height:34px;padding-inline:16px;font-size:.82rem}
}
@media (prefers-reduced-motion:reduce){
  .logo-row-one,.logo-row-two{animation:none!important;transform:none!important}
}

/* v9 — revisão tipográfica dos apoios, bandeira UE real e FAQ conforme grafismo */
.section-benefits-dark .benefit-icon{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-weight:950;
  font-stretch:normal;
  letter-spacing:-.035em;
  text-transform:none;
  font-size:clamp(2.65rem,3.6vw,3.65rem);
  line-height:1;
}
.section-benefits-dark .benefit-card:nth-child(4) .benefit-icon,
.section-benefits-dark .benefit-card:nth-child(5) .benefit-icon{
  font-size:clamp(2.35rem,3vw,3.25rem);
  letter-spacing:-.025em;
}
.section-benefits-dark .eu-flag{display:none!important}
.eu-flag-img{
  width:56px;
  height:auto;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(255,255,255,.1);
}

#faq.section-soft,
#faq{
  background:#071f1d;
  color:#fff;
}
#faq{
  padding:106px 0 104px;
}
#faq .faq-grid{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);
  gap:clamp(42px,8vw,96px);
  align-items:start;
}
#faq .section-heading{
  max-width:430px;
  margin:0;
}
#faq .eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  color:rgba(224,244,244,.67)!important;
  letter-spacing:.18em;
  font-size:.72rem;
  margin-bottom:22px;
}
#faq .eyebrow::before{
  content:"";
  width:24px;
  height:2px;
  background:currentColor;
  display:inline-block;
}
#faq h2{
  color:#fff;
  font-size:clamp(2.85rem,4.8vw,4.75rem);
  line-height:.98;
  letter-spacing:-.06em;
  margin-bottom:26px;
}
#faq h2::first-line{color:#fff}
#faq h2{color:var(--ip-yellow)}
#faq h2 br + *{color:var(--ip-yellow)}
#faq .section-heading p:not(.eyebrow){
  color:rgba(224,244,244,.82);
  font-size:1.06rem;
  line-height:1.62;
  margin:0 0 22px;
}
#faq .section-heading .btn{
  margin-top:16px;
  min-height:52px;
  padding:15px 28px;
  border-radius:4px;
  background:var(--ip-yellow);
  color:#061315;
  border:0;
  box-shadow:none;
}
#faq .section-heading .btn:hover,
#faq .section-heading .btn:focus-visible{
  background:#fff94a;
  color:#061315;
}
#faq .faq-list{
  display:grid;
  gap:0;
  padding-top:6px;
}
#faq .faq-item{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:16px;
  align-items:start;
  padding:0 0 24px;
  margin:0 0 24px;
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(206,238,238,.13);
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
#faq .faq-item:last-child{
  border-bottom:0;
  margin-bottom:0;
  padding-bottom:0;
}
#faq .faq-marker{
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  margin-top:1px;
  border-radius:4px;
  background:#0c8d91;
  color:#eafcfc;
  font-size:.78rem;
  line-height:1;
  font-weight:950;
}
#faq .faq-copy h3{
  margin:0 0 8px;
  color:#fff;
  font-size:1.06rem;
  line-height:1.25;
  letter-spacing:-.025em;
}
#faq .faq-copy p{
  margin:0;
  color:rgba(224,244,244,.44);
  font-size:1rem;
  line-height:1.55;
}
#faq .faq-question,
#faq .faq-answer,
#faq .plus{display:none!important}

@media (max-width:980px){
  #faq{padding:78px 0}
  #faq .faq-grid{grid-template-columns:1fr;gap:38px}
  #faq .section-heading{max-width:640px}
  #faq .faq-list{padding-top:0}
}
@media (max-width:640px){
  .section-benefits-dark .benefit-icon{font-size:2.85rem!important;min-height:48px}
  .section-benefits-dark .benefit-card:nth-child(4) .benefit-icon,
  .section-benefits-dark .benefit-card:nth-child(5) .benefit-icon{font-size:2.35rem!important}
  .eu-flag-img{width:52px}
  #faq h2{font-size:2.65rem}
  #faq .faq-item{grid-template-columns:22px 1fr;gap:13px;margin-bottom:22px;padding-bottom:22px}
  #faq .section-heading .btn{width:100%;justify-content:center;text-align:center}
}

#faq h2{color:#fff!important}
#faq h2 span{color:var(--ip-yellow)!important}

/* v10 — CTA final de pré-inscrição conforme grafismo */
.final-cta{
  position:relative;
  overflow:hidden;
  padding:96px 0 104px;
  background-color:#13787c;
  background-image:
    linear-gradient(rgba(5,60,63,.34) 1px, transparent 1px),
    linear-gradient(90deg, rgba(5,60,63,.34) 1px, transparent 1px);
  background-size:72px 72px;
  color:#fff;
}
.final-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 8%, rgba(255,255,255,.08), transparent 34%);
  pointer-events:none;
}
.final-cta .final-cta-inner{
  position:relative;
  z-index:1;
  max-width:720px;
  margin-inline:auto;
  padding:0;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  text-align:center;
}
.final-cta .eyebrow{
  justify-content:center;
  color:rgba(255,255,255,.82)!important;
  font-size:.78rem;
  letter-spacing:.18em;
  margin:0 0 16px;
}
.final-cta .eyebrow::before{display:none}
.final-cta h2{
  margin:0;
  color:#fff;
  font-family:"Arial Narrow","Roboto Condensed","Helvetica Neue Condensed",Impact,system-ui,sans-serif;
  font-size:clamp(3.15rem,5vw,5.35rem);
  line-height:.98;
  letter-spacing:-.035em;
  text-transform:uppercase;
  font-weight:950;
}
.final-cta h2 span{
  display:inline-block;
  color:#fff;
  text-decoration:underline;
  text-decoration-thickness:5px;
  text-underline-offset:8px;
}
.final-cta .final-cta-inner > p:not(.eyebrow):not(.small-text){
  max-width:620px;
  margin:26px auto 36px;
  color:rgba(255,255,255,.93);
  font-size:1.08rem;
  line-height:1.5;
}
.final-cta .inline-form{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  max-width:620px;
  margin:0 auto;
}
.final-cta .inline-fields{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:10px;
}
.final-cta input,
.final-cta select{
  width:100%;
  min-height:46px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:4px;
  background:rgba(255,255,255,.18);
  color:#fff;
  padding:0 16px;
  outline:none;
}
.final-cta input::placeholder{color:rgba(255,255,255,.66)}
.final-cta select{appearance:auto;color:#fff}
.final-cta select option{color:#0b2424;background:#fff}
.final-cta input:focus-visible,
.final-cta select:focus-visible{
  outline:3px solid var(--ip-yellow);
  outline-offset:3px;
  border-color:transparent;
}
.final-cta .btn{
  justify-self:start;
  width:min(300px,100%);
  min-height:50px;
  border-radius:4px;
  background:var(--ip-yellow);
  color:#071313;
}
.final-cta .small-text{
  margin:18px auto 0;
  max-width:600px;
  color:rgba(255,255,255,.9)!important;
  font-size:1rem;
  line-height:1.45;
}
.final-cta .small-text a{
  text-decoration:underline;
  text-underline-offset:4px;
  color:#fff;
}
.final-cta .form-status{
  grid-column:1/-1;
  color:#fff!important;
  text-align:left;
  margin:4px 0 0;
  font-weight:800;
}

@media (max-width:760px){
  .final-cta{padding:76px 0 84px;background-size:54px 54px}
  .final-cta .inline-fields{grid-template-columns:1fr}
  .final-cta .btn{width:100%;justify-self:stretch}
  .final-cta .form-status{text-align:center}
}
@media (max-width:480px){
  .final-cta h2{font-size:3rem}
  .final-cta h2 span{text-decoration-thickness:4px;text-underline-offset:6px}
  .final-cta .final-cta-inner > p:not(.eyebrow):not(.small-text){font-size:1rem;margin:22px auto 28px}
}

/* v11 — CTA reduzido, footer institucional, menu mobile mais leve e ações flutuantes */
.final-cta h2{
  font-size:clamp(2.65rem,4.15vw,4.45rem)!important;
  letter-spacing:-.025em;
}
@media (max-width:480px){
  .final-cta h2{font-size:2.45rem!important;line-height:1.02}
}

@media (max-width:980px){
  .main-nav{font-weight:500!important;letter-spacing:0!important}
  .main-nav .nav-link,
  .main-nav .dropdown-link{
    font-weight:560!important;
    letter-spacing:0!important;
    font-stretch:normal!important;
    line-height:1.35!important;
    color:#e6f4f4!important;
  }
  .main-nav .dropdown-link:nth-of-type(n+5){
    font-weight:500!important;
    color:rgba(230,244,244,.8)!important;
  }
  .main-nav .dropdown-link span::before{font-weight:500!important}
  .main-nav .nav-link:hover,
  .main-nav .nav-link:focus-visible,
  .main-nav .dropdown-link:hover,
  .main-nav .dropdown-link:focus-visible{
    color:#fff!important;
  }
}
@media (max-width:640px){
  .main-nav .nav-link,
  .main-nav .dropdown-link{font-size:.96rem!important}
}

.site-footer{
  background:#111;
  color:#d8dde1;
  padding:0;
  border-top:1px solid rgba(255,255,255,.06);
}
.site-footer a{
  color:inherit;
  margin:0;
  text-decoration:none;
  font-weight:inherit;
}
.site-footer a:hover,
.site-footer a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-main{
  display:grid;
  grid-template-columns:1.28fr 1.05fr .92fr 1fr 1fr;
  gap:clamp(28px,4vw,58px);
  padding:58px 0 46px;
}
.footer-brand-block p,
.footer-column p,
.footer-column a,
.footer-strip span,
.footer-bottom p{
  color:#9aa3aa;
  line-height:1.55;
}
.footer-ipta-logo{
  width:118px;
  max-width:100%;
  height:auto;
  display:block;
  margin-bottom:18px;
  filter:grayscale(1) brightness(0) invert(1);
}
.footer-brand-block p{max-width:270px;margin:0 0 22px}
.footer-social{display:flex;gap:9px;flex-wrap:wrap}
.footer-social a{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:6px;
  background:rgba(255,255,255,.06);
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.footer-social a:hover,
.footer-social a:focus-visible{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.34);
  transform:translateY(-1px);
}
.footer-social img{width:19px;height:19px;filter:grayscale(1) brightness(0) invert(1);opacity:.88}
.footer-column h2{
  margin:0 0 20px;
  color:#666c72;
  font-size:.73rem;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.footer-column h3{
  margin:0 0 11px;
  color:#777d83;
  font-size:.78rem;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.footer-column h3:not(:first-of-type){margin-top:18px}
.footer-column p{margin:0 0 14px}
.footer-column strong{color:#fff;font-weight:850}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-contact-list p{
  display:grid;
  grid-template-columns:20px 1fr;
  gap:12px;
  align-items:start;
}
.footer-contact-list p > span:first-child{color:#7a8288;line-height:1.5;text-align:center}
.footer-strip{
  display:grid;
  grid-template-columns:1fr .7fr .85fr auto;
  gap:0;
  align-items:center;
  padding:22px 0;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.footer-strip > div{
  min-height:42px;
  padding-right:26px;
  margin-right:26px;
  border-right:1px solid rgba(255,255,255,.13);
}
.footer-strip strong{
  display:block;
  color:#62686e;
  font-size:.72rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin-bottom:7px;
}
.complaints-book{
  display:flex!important;
  align-items:center;
  gap:12px;
  color:#bfc4c8!important;
  text-transform:uppercase;
  font-size:1.05rem;
  line-height:.88;
  font-weight:950!important;
  letter-spacing:-.03em;
  white-space:nowrap;
}
.complaints-book span{
  width:34px;
  height:34px;
  border-radius:50%;
  background:#aeb1b4;
  flex:0 0 auto;
}
.footer-logos{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
  padding:34px 0 30px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-logos img{
  display:block;
  width:auto;
  max-width:132px;
  max-height:42px;
  object-fit:contain;
  filter:grayscale(1) brightness(0) invert(1);
  opacity:.86;
}
.footer-logos img:first-child{max-height:46px;max-width:112px}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:18px 0 22px;
}
.footer-bottom p{margin:0;font-size:.86rem;color:#5f666c}
.footer-bottom a{color:#8e969c}

.floating-actions{
  position:fixed;
  right:clamp(16px,2.1vw,30px);
  bottom:clamp(16px,2.1vw,30px);
  z-index:120;
  display:grid;
  gap:12px;
  justify-items:center;
}
.floating-actions a,
.floating-actions button{
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:transform .18s ease,opacity .18s ease,visibility .18s ease,box-shadow .18s ease;
}
.floating-actions svg{width:26px;height:26px;display:block}
.floating-whatsapp{
  background:#25d366;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(37,211,102,.32);
}
.floating-whatsapp:hover,
.floating-whatsapp:focus-visible{transform:translateY(-2px);text-decoration:none!important}
.floating-top{
  border:2px solid #fff;
  background:#0f777b;
  color:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.2);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
}
.floating-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.floating-top:hover,
.floating-top:focus-visible{background:#0b686c}

@media (max-width:1100px){
  .footer-main{grid-template-columns:1.2fr 1fr 1fr;gap:34px 46px}
  .footer-strip{grid-template-columns:1fr 1fr;gap:20px 0}
  .footer-strip > div{border-right:0;margin-right:0;padding-right:20px}
  .complaints-book{justify-content:flex-start}
}
@media (max-width:720px){
  .footer-main{grid-template-columns:1fr;padding:46px 0 34px;gap:30px}
  .footer-brand-block p{max-width:none}
  .footer-strip{grid-template-columns:1fr;padding:22px 0;gap:18px}
  .footer-strip > div{min-height:0;padding:0}
  .footer-logos{justify-content:flex-start;gap:18px;padding:28px 0}
  .footer-logos img{max-width:116px;max-height:38px}
  .footer-bottom{display:grid;gap:10px}
  .floating-actions{right:16px;bottom:16px;gap:10px}
  .floating-actions a,.floating-actions button{width:48px;height:48px}
  .floating-actions svg{width:23px;height:23px}
}
@media (prefers-reduced-motion:reduce){
  .footer-social a,.floating-actions a,.floating-actions button{transition:none!important}
}
.footer-social span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:6px;
  background:rgba(255,255,255,.06);
}
.footer-social span img{width:19px;height:19px;filter:grayscale(1) brightness(0) invert(1);opacity:.88}

/* v12 — ajustes finais: footer, contactos, redes sociais, menu mobile e testemunhos */
.site-footer{
  font-size:.9rem;
}
.footer-main{
  gap:clamp(24px,3.6vw,50px);
}
.footer-ipta-logo{
  width:92px;
  max-height:50px;
  object-fit:contain;
  filter:none!important;
  opacity:1!important;
  margin-bottom:18px;
}
.footer-brand-block p{
  max-width:250px;
  font-size:.88rem;
  line-height:1.55;
}
.footer-column p,
.footer-column a,
.footer-strip span{
  font-size:.86rem;
}
.footer-column h2{
  font-size:.68rem;
  letter-spacing:.18em;
  margin-bottom:18px;
}
.footer-column h3{
  font-size:.72rem;
  letter-spacing:.12em;
}
.footer-contact-list p{
  grid-template-columns:17px 1fr;
  gap:12px;
  margin-bottom:13px;
}
.footer-contact-icon{
  width:16px;
  height:16px;
  object-fit:contain;
  margin-top:3px;
  opacity:.85;
  filter:none!important;
}
.footer-social a{
  width:36px;
  height:36px;
}
.footer-social a img{
  width:18px;
  height:18px;
}
.footer-logos img:first-child{
  max-height:42px;
  max-width:100px;
}

.testimonials{
  background:#fff;
}
.testimonial-track{
  align-items:stretch;
}
.testimonial-card{
  display:flex;
  flex-direction:column;
  min-height:310px;
}
.testimonial-card blockquote{
  flex:1 1 auto;
}
.testimonial-card .person{
  margin-top:auto;
  padding-top:18px;
}
.testimonial-card .person strong{
  color:#061315;
  font-weight:850;
}
.testimonial-card .person span{
  color:#667085;
}

@media (max-width:980px){
  .main-nav{
    font-weight:400!important;
  }
  .main-nav .nav-link,
  .main-nav .dropdown-link{
    font-weight:450!important;
    letter-spacing:0!important;
    line-height:1.35!important;
    color:#e9f5f5!important;
  }
  .main-nav .dropdown-link:nth-of-type(n+5){
    font-weight:400!important;
  }
}
@media (max-width:720px){
  .footer-ipta-logo{width:86px;max-height:48px}
  .footer-brand-block p{font-size:.86rem;max-width:270px}
  .footer-column p,
  .footer-column a,
  .footer-strip span{font-size:.85rem}
  .testimonial-card{min-height:280px}
}
.footer-contact-icon{
  filter:invert(63%) sepia(9%) saturate(725%) hue-rotate(158deg) brightness(94%) contrast(88%)!important;
}

/* Ajustes v13 — menu mais leve, vídeo/fotos aleatórios e CTE sem corte */
.site-header .main-nav,
.site-header .nav-link,
.site-header .nav-dropdown-toggle,
.site-header .dropdown-link{
  font-weight:500!important;
  letter-spacing:0!important;
}
.site-header .main-nav .btn{font-weight:800!important;}
@media (max-width:980px){
  .main-nav .nav-link,
  .main-nav .dropdown-link{
    font-weight:500!important;
    letter-spacing:0!important;
  }
}
.school-video-wrap{
  width:100%;
  height:330px;
  overflow:hidden;
  background:#071f22;
}
.school-video-wrap[hidden]{display:none!important;}
.school-random-video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.school-proof.is-video-mode .school-photo-strip{display:none!important;}
.section-cte .cte-grid{grid-template-columns:minmax(360px,420px) 1fr;}
.cte-brand-panel{
  overflow:visible!important;
  padding:44px 38px!important;
  justify-content:center!important;
}
.cte-brand-logo{
  width:min(100%,300px);
  max-width:300px;
  height:auto;
  object-fit:contain;
}
@media (max-width:980px){
  .section-cte .cte-grid{grid-template-columns:1fr;}
  .cte-brand-panel{min-height:168px!important;padding:36px 26px!important;}
  .cte-brand-logo{max-width:280px;}
}
@media (max-width:640px){
  .school-video-wrap{height:300px;}
  .cte-brand-panel{min-height:142px!important;padding:30px 22px!important;}
  .cte-brand-logo{max-width:250px;}
}
@media (prefers-reduced-motion: reduce){
  .school-random-video{animation:none!important;}
}

/* Audiovisuais page hero */
.course-hero{position:relative;overflow:hidden;background-color:#082b30;color:#fff}
.course-hero-audiovisuais{background-image:linear-gradient(90deg,rgba(5,24,28,.92) 0%,rgba(5,24,28,.74) 32%,rgba(5,24,28,.4) 62%,rgba(5,24,28,.58) 100%), url('assets/hero-audiovisuais.jpg');background-size:cover;background-position:center center}
.course-hero-cet-multimedia{background-image:linear-gradient(90deg,rgba(5,24,28,.94) 0%,rgba(5,24,28,.8) 34%,rgba(5,24,28,.48) 62%,rgba(5,24,28,.62) 100%), url('assets/mm-galeria-animacao.jpg');background-size:cover;background-position:center center}
.course-hero-cet-ciberseguranca{background-image:linear-gradient(90deg,rgba(5,24,28,.94) 0%,rgba(5,24,28,.82) 34%,rgba(5,24,28,.5) 62%,rgba(5,24,28,.64) 100%), url('assets/hero-cet-ciberseguranca.jpg');background-size:cover;background-position:center center}
.course-hero-a-escola{background-image:linear-gradient(90deg,rgba(5,24,28,.94) 0%,rgba(5,24,28,.84) 33%,rgba(5,24,28,.52) 63%,rgba(5,24,28,.6) 100%), url('assets/hero-a-escola.jpg');background-size:cover;background-position:center center}
.course-hero-a-escola .course-hero-copy{max-width:860px}
.course-hero-a-escola .lead{max-width:760px}
.hero-badges-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;max-width:1000px}
.eyebrow-on-dark-no-dot::before{display:none}
.course-hero-cet-multimedia .course-hero-copy{max-width:980px}
.course-hero-cet-multimedia .lead{max-width:760px}
.course-hero-cet-multimedia .hero-actions{margin-top:38px}

.course-hero-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);background-size:48px 48px;opacity:.23;pointer-events:none}
.course-hero-inner{position:relative;z-index:1;min-height:670px;display:flex;align-items:center;padding:82px 0 84px}
.course-hero-copy{max-width:960px}
.eyebrow-on-dark{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:rgba(7,26,29,.4);border:1px solid rgba(255,255,255,.18);color:#fff;font-weight:800;letter-spacing:.08em}
.eyebrow-on-dark::before{content:'';width:9px;height:9px;border-radius:50%;background:var(--yellow);flex:0 0 auto}
.course-hero h1{margin-top:26px;margin-bottom:24px;font-size:clamp(3.2rem,6.5vw,5.8rem);line-height:.96;letter-spacing:-.03em;text-transform:uppercase}
.course-hero h1 span{display:block;color:var(--yellow)}
.course-hero .lead{max-width:720px;color:rgba(255,255,255,.9);font-size:clamp(1.08rem,2vw,1.32rem);line-height:1.55}
.course-hero .hero-pills{margin-top:34px;margin-bottom:34px;display:flex;flex-wrap:wrap;gap:12px}
.course-hero .hero-pills span{position:relative;display:inline-flex;align-items:center;padding:11px 16px 11px 42px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(2,20,24,.42);color:#fff;font-weight:800;font-size:.96rem;line-height:1.12;letter-spacing:-.01em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.course-hero .hero-pills span::before{content:'✓';position:absolute;left:14px;top:50%;transform:translateY(-50%);display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--yellow);color:#09272c;font-size:.72rem;font-weight:900;flex:0 0 auto}
.btn-ghost-light{color:#fff;border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.02)}
.btn-ghost-light:hover,.btn-ghost-light:focus-visible{background:rgba(255,255,255,.12);color:#fff}

@media (max-width: 980px){
  .course-hero-inner{min-height:auto;padding:72px 0 78px}
  .course-hero-copy{max-width:100%}
}
@media (max-width: 680px){
  .course-hero-audiovisuais{background-position:64% center}
  .course-hero-cet-multimedia{background-position:68% center}
  .course-hero-overlay{background-size:32px 32px;opacity:.18}
  .eyebrow-on-dark{padding:10px 14px;font-size:.78rem}
  .hero-badges-row{gap:10px}
  .course-hero h1{font-size:clamp(2.5rem,13vw,4rem);margin-top:20px}
  .course-hero .lead{font-size:1.02rem}
  .course-hero .hero-pills{gap:10px;margin-top:28px;margin-bottom:28px}
  .course-hero .hero-pills span{padding:10px 14px 10px 38px;font-size:.86rem}
  .course-hero .hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
  .course-hero .hero-actions .btn{width:100%;max-width:320px;justify-content:center}
}


/* Audiovisuais - galeria e sidebar sticky */
.course-showcase-section{padding-top:78px;padding-bottom:92px;scroll-margin-top:110px}
.course-showcase-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:56px;align-items:start}
.course-showcase-main{min-width:0}
.audiovisuais-gallery{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch}
.gallery-tile{margin:0;border-radius:14px;overflow:hidden;background:#dbe7e8;box-shadow:0 12px 28px rgba(7,21,47,.08)}
.gallery-tile img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-main-tall{grid-row:1 / span 2;min-height:690px}
.gallery-top-right{min-height:338px}
.gallery-bottom-right{min-height:340px}
.gallery-small{min-height:228px}
.course-showcase-sidebar{position:sticky;top:112px;align-self:start;display:grid;gap:14px}
.course-summary-card,.course-related-panel{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 16px 42px rgba(7,21,47,.06)}
.course-summary-visual{background-image:linear-gradient(90deg,rgba(5,24,28,.88) 0%,rgba(5,24,28,.7) 38%,rgba(5,24,28,.38) 100%),url('assets/hero-audiovisuais.jpg');background-size:cover;background-position:center center;min-height:142px;padding:24px 24px 22px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;gap:18px}
.course-summary-icon{width:54px;height:54px;border-radius:14px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.12)}
.course-summary-icon svg,.course-summary-icon img{width:34px;height:34px;display:block}
.course-summary-copy p{margin:0 0 6px;font-size:.92rem;line-height:1.2;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.course-summary-copy h3{margin:0;color:#fff;font-size:2rem;line-height:1}
.course-summary-body{padding:22px 22px 24px}
.course-status{display:flex;align-items:center;gap:10px;padding:14px 16px;margin:0 0 18px;border:1px solid #efc6a2;border-radius:10px;background:#fff9f4;color:#a95e20;font-weight:800}
.course-status span{color:#e7802d;font-size:1rem}
.course-summary-list{margin:0;padding:0}
.course-summary-list div{display:grid;grid-template-columns:1fr auto;gap:18px;padding:15px 0;border-bottom:1px solid #d1dde1}
.course-summary-list div:last-child{border-bottom:0}
.course-summary-list dt,.course-summary-list dd{margin:0;font-size:1.02rem}
.course-summary-list dt{color:#567176}
.course-summary-list dd{font-weight:800;color:#22343a;text-align:right}
.course-summary-list dd.highlight{color:#11777a}
.course-sidebar-form{margin-top:20px;padding-top:20px;border-top:1px solid var(--border);display:grid;gap:14px}
.course-sidebar-form .form-field{display:grid;gap:6px}
.course-sidebar-form label{font-weight:700;color:#244347;font-size:.95rem}
.course-sidebar-form input{width:100%;min-height:50px;border:1px solid #c6d7da;border-radius:12px;padding:0 14px;font:inherit;color:var(--text);background:#fff}
.course-sidebar-form input:focus{outline:2px solid transparent;border-color:var(--blue);box-shadow:0 0 0 4px rgba(17,119,122,.15)}
.course-sidebar-form .btn-block{width:100%;justify-content:center}
.course-contact-btn{color:var(--blue);border-color:var(--blue)}
.course-related-panel{padding:8px 0}
.course-related-panel a{display:flex;align-items:center;gap:14px;padding:18px 22px;color:var(--text);font-weight:800;border-bottom:1px solid var(--border)}
.course-related-panel a:last-child{border-bottom:0}
.course-related-panel a::after{content:'›';margin-left:auto;color:#8ca3ab;font-size:1.35rem;line-height:1}
.course-related-icon{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;color:var(--blue)}
.course-related-icon svg{width:24px;height:24px;display:block}
.honeypot-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media (max-width: 1180px){
  .course-showcase-grid{grid-template-columns:minmax(0,1fr) 360px;gap:36px}
}
@media (max-width: 980px){
  .course-showcase-section{padding-top:58px;padding-bottom:70px}
  .course-showcase-grid{grid-template-columns:1fr;gap:28px}
  .course-showcase-sidebar{position:static;top:auto}
}
@media (max-width: 767px){
  .audiovisuais-gallery{grid-template-columns:1fr;gap:10px}
  .gallery-main-tall,.gallery-top-right,.gallery-bottom-right,.gallery-small{grid-row:auto;min-height:auto}
  .gallery-tile img{height:auto;aspect-ratio:4/3}
  .course-summary-copy h3{font-size:1.78rem}
  .course-summary-body{padding:20px}
  .course-summary-list div{grid-template-columns:1fr;gap:4px}
  .course-summary-list dd{text-align:left}
  .course-related-panel a{padding:16px 18px}
}


/* Audiovisuais - empresas e FAQ */
.course-followup-section{padding-top:8px;padding-bottom:92px}
.course-followup-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:56px;align-items:start}
.course-followup-main{min-width:0}
.course-copy-block + .course-copy-block{margin-top:72px}
.eyebrow-accent{display:flex;align-items:center;gap:14px;margin:0 0 18px;color:var(--blue)!important;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800}
.eyebrow-accent::before{content:"";display:inline-block;width:28px;height:2px;background:currentColor}
.course-copy-block h2{margin:0 0 20px;font-size:clamp(3.2rem,5vw,4.9rem);line-height:.94;letter-spacing:-.065em;color:#08161d}
.course-copy-block h2 span{color:var(--blue)}
.course-copy-block .lead{margin:0;max-width:920px;font-size:1.06rem;line-height:1.6;color:#5a6d70}
.company-pills{display:flex;flex-wrap:wrap;gap:12px 10px;margin-top:28px}
.company-pills span{display:inline-flex;align-items:center;padding:10px 18px;border:1px solid #c7d8db;border-radius:999px;background:transparent;color:#213940;font-size:1rem;font-weight:500;line-height:1.25}
.course-faq-list{display:grid;gap:0;margin-top:34px}
.course-faq-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:16px;align-items:start;padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid #d1dde1}
.course-faq-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.course-faq-marker{display:inline-grid;place-items:center;width:24px;height:24px;margin-top:2px;border-radius:4px;background:var(--blue);color:#f2fbfb;font-size:.82rem;line-height:1;font-weight:900}
.course-faq-copy h3{margin:0 0 10px;color:#0f1f26;font-size:1.08rem;line-height:1.25;letter-spacing:-.02em}
.course-faq-copy p{margin:0;max-width:860px;color:#5a6d70;font-size:1.06rem;line-height:1.6}
.course-followup-sidebar{position:sticky;top:112px;align-self:start;display:grid;gap:14px}
@media (max-width:1180px){
  .course-followup-grid{grid-template-columns:minmax(0,1fr) 360px;gap:36px}
}
@media (max-width:980px){
  .course-followup-section{padding-top:0;padding-bottom:70px}
  .course-followup-grid{grid-template-columns:1fr;gap:28px}
  .course-copy-block + .course-copy-block{margin-top:56px}
  .course-followup-sidebar{position:static;top:auto}
}
@media (max-width:767px){
  .course-copy-block h2{font-size:2.95rem}
  .company-pills{gap:10px}
  .company-pills span{padding:10px 15px;font-size:.96rem}
  .course-faq-list{margin-top:28px}
  .course-faq-item{grid-template-columns:22px minmax(0,1fr);gap:14px;padding-bottom:24px;margin-bottom:24px}
  .course-faq-copy h3{font-size:1.02rem}
  .course-faq-copy p{font-size:1rem}
}


/* Audiovisuais — famílias e CTA final */
.benefit-icon-svg svg{width:46px;height:46px;display:block}
.final-cta-buttons{border-top:2px solid var(--ip-yellow);padding-bottom:88px}
.final-cta-buttons .final-cta-inner{max-width:860px}
.final-cta-actions{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;margin-top:10px}
.final-cta-actions .btn{min-width:340px;max-width:100%;min-height:62px;padding-inline:28px;border-radius:4px;font-size:1rem;font-weight:900;letter-spacing:.01em}
.final-cta-primary{background:#f4f4f4!important;color:#0d5f62!important;border:1px solid #f4f4f4!important}
.final-cta-primary:hover,.final-cta-primary:focus-visible{background:#fff!important;color:#0b5256!important}
.final-cta-secondary{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.55)!important}
.final-cta-secondary:hover,.final-cta-secondary:focus-visible{background:rgba(255,255,255,.08)!important;color:#fff!important}
@media (max-width:767px){
  .final-cta-buttons{padding-bottom:78px}
  .final-cta-actions{gap:12px}
  .final-cta-actions .btn{width:100%;min-width:0;min-height:56px}
}


/* v19 — Correções página Audiovisuais */
.school-proof-bar-only .school-photo-strip,
.school-proof-bar-only .school-video-wrap{display:none!important}
.school-proof-bar-only{margin:0}
.course-sidebar-actions{margin-top:20px;padding-top:20px;border-top:1px solid var(--border);display:grid;gap:12px}
.course-sidebar-actions .btn-block{width:100%;justify-content:center}
.course-followup-grid-full{grid-template-columns:1fr!important;gap:0!important}
.course-followup-grid-full .course-followup-main{width:100%;max-width:none}
.course-followup-grid-full .course-copy-block{max-width:1120px}
.course-followup-grid-full .course-copy-block h2{font-weight:900;letter-spacing:-.055em}
.course-followup-grid-full .company-pills{max-width:980px}
.course-followup-grid-full .course-faq-list{max-width:980px}
#familias-audiovisuais .eu-flag-img{width:56px;height:auto;display:block;border-radius:3px;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
#familias-audiovisuais .benefit-icon:has(.eu-flag-img){min-height:56px}
@media (max-width:980px){.course-followup-grid-full .course-copy-block,.course-followup-grid-full .company-pills,.course-followup-grid-full .course-faq-list{max-width:none}}
@media (max-width:640px){.course-followup-grid-full .course-copy-block h2{letter-spacing:-.045em}}


/* v20 — refinamento visual: botões, empresas e FAQ Audiovisuais */
.school-proof-bar-only .school-photo-strip,
.school-proof-bar-only .school-video-wrap{
  display:none!important;
}

/* Botões do card lateral conforme referência */
.course-sidebar-actions{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--border);
  display:grid;
  gap:10px;
}
.course-sidebar-actions .btn,
.course-sidebar-form .btn-block{
  width:100%;
  min-height:58px;
  justify-content:center;
  border-radius:5px;
  font-size:1.02rem;
  letter-spacing:.025em;
  font-weight:950;
  box-shadow:none;
}
.course-sidebar-actions .btn:not(.btn-ghost),
.course-sidebar-form .btn-block:not(.btn-ghost){
  background:#137c81;
  border:2px solid #137c81;
  color:#fff;
}
.course-sidebar-actions .btn:not(.btn-ghost):hover,
.course-sidebar-actions .btn:not(.btn-ghost):focus-visible,
.course-sidebar-form .btn-block:not(.btn-ghost):hover,
.course-sidebar-form .btn-block:not(.btn-ghost):focus-visible{
  background:#0f6f74;
  border-color:#0f6f74;
  color:#fff;
}
.course-sidebar-actions .btn-ghost,
.course-sidebar-form .course-contact-btn{
  background:#fff!important;
  border:2px solid #08727a!important;
  color:#08727a!important;
}
.course-sidebar-actions .btn-ghost:hover,
.course-sidebar-actions .btn-ghost:focus-visible,
.course-sidebar-form .course-contact-btn:hover,
.course-sidebar-form .course-contact-btn:focus-visible{
  background:#eef9f9!important;
  color:#075e65!important;
}

/* Empresas/FAQ com mais largura horizontal e cores da referência */
.course-followup-grid-full{
  grid-template-columns:1fr!important;
  gap:0!important;
}
.course-followup-grid-full .course-followup-main{
  width:100%;
  max-width:none;
}
.course-followup-grid-full .course-copy-block{
  max-width:1200px;
  width:100%;
}
.course-followup-grid-full .company-pills,
.course-followup-grid-full .course-faq-list{
  max-width:1080px;
}
.course-copy-block .eyebrow-accent,
.eyebrow-accent{
  color:#006f78!important;
  font-weight:850;
}
.course-copy-block h2{
  color:#070707;
  font-weight:950;
  letter-spacing:-.055em;
}
.course-copy-block h2 span{
  color:#14787d!important;
}
.course-copy-block .lead,
.course-faq-copy p{
  color:#344b5a;
}
.company-pills{
  gap:12px 10px;
}
.company-pills span{
  background:#fff;
  color:#07131a;
  border:1px solid #bfd9df;
  font-weight:500;
  font-size:1.05rem;
  padding:10px 18px;
  line-height:1.25;
}
.course-faq-marker{
  background:#08747c!important;
  color:#fff!important;
}
.course-faq-copy h3{
  color:#050505!important;
  font-weight:900;
}
.course-faq-item{
  border-bottom-color:#c9dbe0!important;
}

/* União Europeia no bloco Erasmus+ */
#familias-audiovisuais .eu-flag-img{
  width:56px;
  height:auto;
  display:block;
  border-radius:3px;
  box-shadow:0 0 0 1px rgba(255,255,255,.12);
}
#familias-audiovisuais .benefit-icon:has(.eu-flag-img){
  min-height:56px;
}

@media (max-width:980px){
  .course-followup-grid-full .course-copy-block,
  .course-followup-grid-full .company-pills,
  .course-followup-grid-full .course-faq-list{
    max-width:none;
  }
}
@media (max-width:640px){
  .course-sidebar-actions .btn,
  .course-sidebar-form .btn-block{
    min-height:55px;
    font-size:.95rem;
  }
  .course-copy-block h2{
    letter-spacing:-.045em;
  }
  .company-pills span{
    font-size:.96rem;
    padding:9px 14px;
  }
}


/* v21 — melhoria visual do painel de cursos relacionados */
.course-related-panel{
  background:#f7fbfb;
  border:1px solid #c6dadd;
  border-radius:14px;
  padding:10px 0;
  box-shadow:none;
}
.course-related-panel a{
  padding:18px 20px;
  color:#20363d;
  font-weight:700;
  border-bottom:1px solid #d5e4e7;
  transition:background-color .2s ease,color .2s ease;
}
.course-related-panel a:hover,
.course-related-panel a:focus-visible{
  background:#edf7f7;
  color:#0e5559;
}
.course-related-panel a::after{
  color:#afc0c5;
  font-size:1.25rem;
}
.course-related-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  background:#e6f3f4;
  color:#177a80;
}
.course-related-icon svg{
  width:22px;
  height:22px;
}
.course-related-panel a:nth-child(1) .course-related-icon{
  background:#e7f5f6;
  color:#167e84;
}
.course-related-panel a:nth-child(2) .course-related-icon{
  background:#e8f6f7;
  color:#0b7a80;
}
.course-related-panel a:nth-child(3) .course-related-icon{
  background:#e7f6f1;
  color:#0e7f6a;
}
@media (max-width:640px){
  .course-related-panel a{padding:16px 18px;}
  .course-related-icon{width:36px;height:36px;}
}


/* v22 — correção mobile dos badges/pílulas no hero de Audiovisuais */
@media (max-width: 640px){
  .course-hero .hero-pills{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    max-width:100%;
    margin-top:22px;
    margin-bottom:24px;
  }

  .course-hero .hero-pills span{
    width:100%;
    min-width:0;
    padding:8px 10px 8px 30px;
    font-size:.78rem;
    line-height:1.15;
    white-space:normal;
    overflow-wrap:anywhere;
    position:relative;
  }

  .course-hero .hero-pills span::before{
    position:absolute;
    left:9px;
    top:50%;
    transform:translateY(-50%);
    width:16px;
    height:16px;
    font-size:.66rem;
  }
}

@media (max-width: 390px){
  .course-hero .hero-pills{
    grid-template-columns:1fr;
  }

  .course-hero .hero-pills span{
    font-size:.8rem;
  }
}


/* v23 — página Multimédia */
 .course-hero-multimedia{
  background-image:linear-gradient(90deg,rgba(5,24,28,.92) 0%,rgba(5,24,28,.72) 34%,rgba(5,24,28,.42) 68%,rgba(5,24,28,.58) 100%), url('assets/hero-multimedia.jpg');
  background-size:cover;
  background-position:center center;
}
.multimedia-summary-card .course-summary-visual{
  background-image:linear-gradient(90deg,rgba(5,24,28,.9) 0%,rgba(5,24,28,.72) 42%,rgba(5,24,28,.44) 100%),url('assets/hero-multimedia.jpg');
  background-size:cover;
  background-position:center center;
}
.multimedia-gallery .gallery-main-tall img{object-position:center center}
.multimedia-gallery .gallery-top-right img{object-position:center center}
.multimedia-gallery .gallery-bottom-right img{object-position:center 42%}
.multimedia-gallery .gallery-small-left img{object-position:center center}
.multimedia-gallery .gallery-small-middle img{object-position:center 38%}
.multimedia-gallery .gallery-small-right img{object-position:center center}

@media (max-width: 1100px){
  .course-hero-multimedia .hero-pills span{font-size:.88rem;padding:10px 14px 10px 38px}
}
@media (max-width: 680px){
  .course-hero-multimedia{background-position:54% center}
}

/* v25 — ajustes Multimédia */
@media (max-width: 640px){
  .course-hero-multimedia .hero-pills{
    gap:8px;
  }
  .course-hero-multimedia .hero-pills span{
    font-size:.72rem;
    line-height:1.12;
    padding:8px 10px 8px 29px;
    letter-spacing:-.01em;
  }
  .course-hero-multimedia .hero-pills span::before{
    left:8px;
    width:15px;
    height:15px;
    font-size:.62rem;
  }
  .multimedia-summary-card .course-summary-visual{
    background-position:center top;
  }
}
@media (max-width: 390px){
  .course-hero-multimedia .hero-pills span{
    font-size:.7rem;
  }
}


/* v29 — página Desenvolvimento de Software: hero inicial */
.course-hero-software{
  background-image:
    linear-gradient(90deg,rgba(5,24,28,.92) 0%,rgba(5,24,28,.76) 34%,rgba(5,24,28,.48) 68%,rgba(5,24,28,.62) 100%),
    url('assets/hero-software.jpg');
  background-size:cover;
  background-position:center center;
}

.course-hero-software .course-hero-copy{
  max-width:1260px;
}

.course-hero-software h1{
  max-width:1180px;
  font-size:clamp(3rem,5.25vw,5.35rem);
  letter-spacing:-.035em;
}

.course-hero-software .lead{
  max-width:760px;
}

/* Garante que as pílulas não cortam texto em desktop nem em mobile */
.course-hero-software .hero-pills{
  max-width:1120px;
}

.course-hero-software .hero-pills span{
  font-size:.94rem;
  line-height:1.12;
  padding:11px 16px 11px 42px;
  white-space:normal;
}

.course-hero-software .hero-pills span::before{
  left:14px;
}

@media (max-width:1100px){
  .course-hero-software h1{
    font-size:clamp(2.8rem,7vw,4.6rem);
  }

  .course-hero-software .hero-pills span{
    font-size:.86rem;
    padding:10px 14px 10px 38px;
  }
}

@media (max-width:680px){
  .course-hero-software{
    background-position:48% center;
  }

  .course-hero-software h1{
    font-size:clamp(2.25rem,10vw,3.7rem);
  }

  .course-hero-software .hero-pills{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    max-width:100%;
    margin-top:22px;
    margin-bottom:24px;
  }

  .course-hero-software .hero-pills span{
    width:100%;
    min-width:0;
    padding:8px 10px 8px 29px;
    font-size:.72rem;
    line-height:1.12;
    letter-spacing:-.01em;
    overflow-wrap:anywhere;
  }

  .course-hero-software .hero-pills span::before{
    left:8px;
    width:15px;
    height:15px;
    font-size:.62rem;
  }
}

@media (max-width:390px){
  .course-hero-software .hero-pills{
    grid-template-columns:1fr;
  }

  .course-hero-software .hero-pills span{
    font-size:.74rem;
  }
}




/* v36 — página Sistemas e Redes: hero inicial */
.course-hero-sistemas-redes{
  background-image:
    linear-gradient(90deg,rgba(5,24,28,.92) 0%,rgba(5,24,28,.76) 34%,rgba(5,24,28,.48) 68%,rgba(5,24,28,.62) 100%),
    url('assets/hero-sistemas-redes.jpg');
  background-size:cover;
  background-position:center center;
}

.course-hero-sistemas-redes .course-hero-copy{
  max-width:1260px;
}

.course-hero-sistemas-redes h1{
  max-width:1180px;
  font-size:clamp(3rem,5.25vw,5.35rem);
  letter-spacing:-.035em;
}

.course-hero-sistemas-redes .lead{
  max-width:760px;
}

.course-hero-sistemas-redes .hero-pills{
  max-width:1120px;
}

.course-hero-sistemas-redes .hero-pills span{
  font-size:.94rem;
  line-height:1.12;
  padding:11px 16px 11px 42px;
  white-space:normal;
}

.course-hero-sistemas-redes .hero-pills span::before{
  left:14px;
}

@media (max-width:1100px){
  .course-hero-sistemas-redes h1{
    font-size:clamp(2.8rem,7vw,4.6rem);
  }

  .course-hero-sistemas-redes .hero-pills span{
    font-size:.86rem;
    padding:10px 14px 10px 38px;
  }
}

@media (max-width:680px){
  .course-hero-sistemas-redes{
    background-position:60% center;
  }

  .course-hero-sistemas-redes h1{
    font-size:clamp(2.25rem,10vw,3.7rem);
  }

  .course-hero-sistemas-redes .hero-pills{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    max-width:100%;
    margin-top:22px;
    margin-bottom:24px;
  }

  .course-hero-sistemas-redes .hero-pills span{
    width:100%;
    min-width:0;
    padding:8px 10px 8px 29px;
    font-size:.72rem;
    line-height:1.12;
    letter-spacing:-.01em;
    overflow-wrap:anywhere;
  }

  .course-hero-sistemas-redes .hero-pills span::before{
    left:8px;
    width:15px;
    height:15px;
    font-size:.62rem;
  }
}

@media (max-width:390px){
  .course-hero-sistemas-redes .hero-pills{
    grid-template-columns:1fr;
  }

  .course-hero-sistemas-redes .hero-pills span{
    font-size:.74rem;
  }
}

/* v30 — Desenvolvimento de Software: galeria e card lateral */
.software-summary-card .course-summary-visual{
  background-image:linear-gradient(90deg,rgba(5,24,28,.9) 0%,rgba(5,24,28,.72) 42%,rgba(5,24,28,.44) 100%),url('assets/hero-software.jpg');
  background-size:cover;
  background-position:center center;
}
.software-summary-card .course-summary-copy h3{
  font-size:1.74rem;
  line-height:1.04;
}

.software-gallery{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.software-gallery .gallery-main-tall{
  grid-column:1 / span 3;
  grid-row:1 / span 2;
  min-height:690px;
}
.software-gallery .gallery-top-right{
  grid-column:4 / span 3;
  grid-row:1;
  min-height:338px;
}
.software-gallery .gallery-bottom-right{
  grid-column:4 / span 3;
  grid-row:2;
  min-height:340px;
}
.software-gallery .gallery-small-left{
  grid-column:1 / span 2;
  grid-row:3;
  min-height:228px;
}
.software-gallery .gallery-small-middle{
  grid-column:3 / span 2;
  grid-row:3;
  min-height:228px;
}
.software-gallery .gallery-small-right{
  grid-column:5 / span 2;
  grid-row:3;
  min-height:228px;
}
.software-gallery .gallery-main-tall img{object-position:center center}
.software-gallery .gallery-top-right img{object-position:center center}
.software-gallery .gallery-bottom-right img{object-position:center center}
.software-gallery .gallery-small-left img{object-position:center center}
.software-gallery .gallery-small-middle img{object-position:center center}
.software-gallery .gallery-small-right img{object-position:center center}

@media (max-width: 767px){
  .software-gallery{
    grid-template-columns:1fr;
    gap:10px;
  }
  .software-gallery .gallery-main-tall,
  .software-gallery .gallery-top-right,
  .software-gallery .gallery-bottom-right,
  .software-gallery .gallery-small-left,
  .software-gallery .gallery-small-middle,
  .software-gallery .gallery-small-right{
    grid-column:auto;
    grid-row:auto;
    min-height:auto;
  }
  .software-summary-card .course-summary-copy h3{
    font-size:1.62rem;
  }
}


/* v33 — Desenvolvimento de Software: remover faixa branca antes do rodapé */
body:has(.course-hero-software) main{
  margin-bottom:0;
  padding-bottom:0;
}

body:has(.course-hero-software) .final-cta-buttons{
  margin-bottom:0;
}

body:has(.course-hero-software) .final-cta-buttons + .site-footer,
body:has(.course-hero-software) main + .site-footer{
  margin-top:0;
}


/* v37 — Sistemas e Redes: galeria e card lateral */
.sistemas-redes-summary-card .course-summary-visual{
  background-image:linear-gradient(90deg,rgba(5,24,28,.9) 0%,rgba(5,24,28,.72) 42%,rgba(5,24,28,.44) 100%),url('assets/hero-sistemas-redes.jpg');
  background-size:cover;
  background-position:center center;
}
.sistemas-redes-summary-card .course-summary-copy h3{
  font-size:1.74rem;
  line-height:1.04;
}

.sistemas-redes-gallery{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.sistemas-redes-gallery .gallery-main-tall{
  grid-column:1 / span 3;
  grid-row:1 / span 2;
  min-height:690px;
}
.sistemas-redes-gallery .gallery-top-right{
  grid-column:4 / span 3;
  grid-row:1;
  min-height:338px;
}
.sistemas-redes-gallery .gallery-bottom-right{
  grid-column:4 / span 3;
  grid-row:2;
  min-height:340px;
}
.sistemas-redes-gallery .gallery-small-left{
  grid-column:1 / span 2;
  grid-row:3;
  min-height:228px;
}
.sistemas-redes-gallery .gallery-small-middle{
  grid-column:3 / span 2;
  grid-row:3;
  min-height:228px;
}
.sistemas-redes-gallery .gallery-small-right{
  grid-column:5 / span 2;
  grid-row:3;
  min-height:228px;
}
.sistemas-redes-gallery .gallery-main-tall img{object-position:center center}
.sistemas-redes-gallery .gallery-top-right img{object-position:center 52%}
.sistemas-redes-gallery .gallery-bottom-right img{object-position:center center}
.sistemas-redes-gallery .gallery-small-left img{object-position:center center}
.sistemas-redes-gallery .gallery-small-middle img{object-position:center center}
.sistemas-redes-gallery .gallery-small-right img{object-position:center center}

@media (max-width: 767px){
  .sistemas-redes-gallery{
    grid-template-columns:1fr;
    gap:10px;
  }
  .sistemas-redes-gallery .gallery-main-tall,
  .sistemas-redes-gallery .gallery-top-right,
  .sistemas-redes-gallery .gallery-bottom-right,
  .sistemas-redes-gallery .gallery-small-left,
  .sistemas-redes-gallery .gallery-small-middle,
  .sistemas-redes-gallery .gallery-small-right{
    grid-column:auto;
    grid-row:auto;
    min-height:auto;
  }
  .sistemas-redes-summary-card .course-summary-copy h3{
    font-size:1.62rem;
  }
}


/* v41 — CET Desenvolvimento de Produtos Multimédia */
.cet-detail-section{padding-top:74px;padding-bottom:54px;background:#fff}
.cet-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 342px;gap:52px;align-items:start}
.cet-detail-main{min-width:0}
.cet-detail-main .course-copy-block{max-width:860px}
.cet-detail-main .course-copy-block + .course-copy-block{margin-top:56px}
.cet-detail-main .lead{max-width:none;font-size:1.08rem;color:#4d5f68}
.cet-detail-sidebar{position:sticky;top:112px;align-self:start;display:grid;gap:30px}
.cet-info-card{background:#177b80;color:#fff;border-radius:8px;padding:28px 30px 26px;box-shadow:0 16px 42px rgba(7,21,47,.08)}
.cet-info-card h3{margin:0 0 18px;font-size:1.18rem;line-height:1.25;color:#fff}
.cet-info-list{margin:0;padding:0}
.cet-info-list div{display:grid;grid-template-columns:1fr auto;gap:18px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.22)}
.cet-info-list div:last-child{border-bottom:0;padding-bottom:0}
.cet-info-list dt,.cet-info-list dd{margin:0;font-size:1rem}
.cet-info-list dt{color:rgba(255,255,255,.78)}
.cet-info-list dd{font-weight:800;color:#fff;text-align:right}
.cet-info-list dd.is-open{color:#e6ea2f}
.cet-detail-sidebar > .course-sidebar-actions{margin-top:-4px;padding-top:0;border-top:0}
.cet-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;margin-top:12px;max-width:940px}
.cet-access-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:10px 14px 12px;border:1px solid #c6d8db;border-radius:4px;background:#fff;min-height:82px}
.cet-access-label{font-weight:900;color:#0f7d82;line-height:1.25}
.cet-access-item p{margin:0;color:#394a54;font-size:1rem;line-height:1.45}
.cet-related-panel{padding:10px 20px 14px;border-radius:8px;background:#f5f8f8;box-shadow:none}
.cet-related-heading{padding:12px 0 10px;font-size:.75rem;line-height:1.2;letter-spacing:.18em;font-weight:900;color:#5b6a71;text-transform:uppercase}
.cet-related-heading.courses{padding-top:18px}
.cet-related-panel a{padding:13px 0;color:#22343a;border-bottom:1px solid #d5e0e3}
.cet-related-panel a:last-child{border-bottom:0}
.cet-related-panel .course-related-icon{width:24px;height:24px;color:#11777a}
.cet-related-panel .course-related-icon img{width:22px;height:22px;display:block}
.cet-competence-section{padding-top:18px;padding-bottom:86px;background:#fff}
.cet-competence-heading{max-width:none;margin-bottom:28px}
.cet-competence-card{border:1px solid #c6d8db;border-radius:6px;background:#fff;overflow:hidden}
.cet-competence-list{list-style:none;margin:0;padding:0}
.cet-competence-list li{display:grid;grid-template-columns:20px 1fr;gap:14px;align-items:start;padding:16px 18px;border-bottom:1px solid #c6d8db;color:#22343a;font-size:1rem;line-height:1.45}
.cet-competence-list li:last-child{border-bottom:0}
.cet-check{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#11777a;color:#fff;font-size:.82rem;font-weight:900;line-height:1;margin-top:1px}
@media (max-width:1180px){.cet-detail-grid{grid-template-columns:minmax(0,1fr) 320px;gap:34px}}
@media (max-width:980px){.cet-detail-section{padding-top:58px;padding-bottom:44px}.cet-detail-grid{grid-template-columns:1fr;gap:28px}.cet-detail-sidebar{position:static;top:auto;order:2}.cet-detail-main .course-copy-block{max-width:none}.cet-access-grid{grid-template-columns:1fr 1fr;max-width:none}.cet-competence-section{padding-top:8px;padding-bottom:72px}}
@media (max-width:767px){.cet-detail-main .course-copy-block + .course-copy-block{margin-top:44px}.cet-access-grid{grid-template-columns:1fr}.cet-access-item{min-height:0;padding:12px 14px}.cet-info-card{padding:24px 22px}.cet-related-panel{padding:8px 16px 12px}.cet-competence-card{border-radius:4px}.cet-competence-list li{grid-template-columns:18px 1fr;gap:12px;padding:14px 14px;font-size:.98rem}.cet-check{width:18px;height:18px;font-size:.75rem}}


/* v45 — página A Escola: missão, valores, imagens e números */
.escola-missao-section{
  background:#fff;
  color:#0c161b;
  padding:96px 0 104px;
}
.escola-missao-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,560px);
  gap:56px;
  align-items:start;
}
.escola-missao-copy .eyebrow-accent{
  margin-bottom:20px;
  color:#08727a!important;
}
.escola-missao-copy h2{
  margin:0 0 26px;
  font-size:clamp(3rem,5.2vw,5rem);
  line-height:.96;
  letter-spacing:-.06em;
  color:#101010;
  font-weight:950;
}
.escola-missao-copy h2 span{
  color:#147a7d;
}
.escola-missao-lead{
  max-width:690px;
  margin:0;
  color:#536970;
  font-size:1.08rem;
  line-height:1.65;
}
.escola-missao-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:34px 0 44px;
}
.escola-info-card{
  min-height:154px;
  padding:24px 24px 22px;
  border:1px solid #c7dfe3;
  border-radius:6px;
  background:#f1f8f8;
}
.escola-info-card h3{
  margin:0 0 14px;
  color:#076e75;
  font-size:.82rem;
  line-height:1.2;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:900;
}
.escola-info-card p{
  margin:0;
  color:#244149;
  font-size:1rem;
  line-height:1.55;
}
.escola-info-card p span{
  color:#08727a;
}
.escola-valores-list{
  display:grid;
  gap:0;
  max-width:700px;
}
.escola-valores-list article{
  padding:0 0 22px;
  margin:0 0 22px;
  border-bottom:1px solid #d3e1e4;
}
.escola-valores-list article:last-child{
  margin-bottom:0;
}
.escola-valores-list h3{
  display:flex;
  gap:10px;
  align-items:baseline;
  margin:0 0 8px;
  color:#111;
  font-size:1.03rem;
  line-height:1.35;
  font-weight:900;
  letter-spacing:-.02em;
}
.escola-valores-list h3 span{
  color:#08727a;
  font-size:.92rem;
  letter-spacing:.04em;
  flex:0 0 auto;
}
.escola-valores-list p{
  margin:0;
  color:#536970;
  font-size:1rem;
  line-height:1.55;
}
.escola-missao-media{
  display:grid;
  gap:14px;
}
.escola-photo-composition{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.escola-photo{
  margin:0;
  overflow:hidden;
  border-radius:6px;
  background:#e9f0f0;
}
.escola-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.escola-photo-large{
  grid-column:1 / -1;
  height:300px;
}
.escola-photo-large img{
  object-position:center center;
}
.escola-photo-small{
  height:128px;
}
.escola-photo-small:first-of-type img{
  object-position:center center;
}
.escola-photo-small:nth-of-type(3) img{
  object-position:center center;
}
.escola-numbers-card{
  margin-top:0;
  padding:24px 22px 28px;
  border:1px solid #c7dfe3;
  border-radius:6px;
  background:#f1f8f8;
}
.escola-numbers-card h3{
  margin:0 0 18px;
  color:#2b3c43;
  font-size:.84rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:900;
}
.escola-numbers-card dl{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 22px;
  margin:0;
  text-align:center;
}
.escola-numbers-card div{
  min-width:0;
}
.escola-numbers-card dt{
  margin:0;
  color:#147a7d;
  font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  font-size:clamp(2.4rem,4vw,3rem);
  line-height:1;
  letter-spacing:-.02em;
  text-transform:uppercase;
}
.escola-numbers-card dd{
  margin:6px 0 0;
  color:#6b7b80;
  font-size:.94rem;
  line-height:1.25;
}
@media (max-width:1180px){
  .escola-missao-grid{
    grid-template-columns:minmax(0,1fr) minmax(360px,500px);
    gap:38px;
  }
}
@media (max-width:980px){
  .escola-missao-section{
    padding:76px 0 82px;
  }
  .escola-missao-grid{
    grid-template-columns:1fr;
    gap:42px;
  }
  .escola-missao-copy h2{
    font-size:clamp(2.7rem,9vw,4.3rem);
  }
  .escola-photo-large{
    height:min(52vw,330px);
  }
  .escola-photo-small{
    height:min(28vw,165px);
  }
}
@media (max-width:640px){
  .escola-missao-section{
    padding:62px 0 70px;
  }
  .escola-missao-cards{
    grid-template-columns:1fr;
    margin:28px 0 36px;
  }
  .escola-info-card{
    min-height:auto;
    padding:20px;
  }
  .escola-photo-composition{
    gap:10px;
  }
  .escola-photo-large{
    height:54vw;
    min-height:220px;
  }
  .escola-photo-small{
    height:32vw;
    min-height:120px;
  }
  .escola-numbers-card{
    padding:22px 18px 24px;
  }
  .escola-numbers-card dl{
    gap:18px 12px;
  }
  .escola-numbers-card dt{
    font-size:2.35rem;
  }
}
@media (max-width:430px){
  .escola-missao-copy h2{
    font-size:2.55rem;
  }
  .escola-missao-lead,
  .escola-valores-list p,
  .escola-info-card p{
    font-size:.98rem;
  }
}


/* v46 — página A Escola: Qualidade, Certificações e CTA final */
.escola-certificacoes-section{
  padding:96px 0 104px;
  background:#f1f8f8;
  color:#101010;
}
.escola-certificacoes-heading{
  max-width:980px;
  margin-bottom:34px;
}
.escola-certificacoes-heading .eyebrow-accent{
  margin-bottom:22px;
  color:#08727a!important;
}
.escola-certificacoes-heading h2{
  margin:0;
  font-size:clamp(3rem,5.2vw,5rem);
  line-height:.96;
  letter-spacing:-.06em;
  color:#101010;
  font-weight:950;
}
.escola-certificacoes-heading h2 span{
  color:#147a7d;
}
.escola-certificacoes-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.escola-cert-card{
  min-height:236px;
  padding:34px 30px 28px;
  border:1px solid #c7dfe3;
  border-radius:6px;
  background:#fff;
}
.escola-cert-sigla{
  margin:0 0 22px;
  color:#147a7d;
  font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  font-size:2.15rem;
  line-height:1;
  letter-spacing:-.02em;
  text-transform:uppercase;
}
.escola-cert-card h3{
  margin:0 0 16px;
  color:#080808;
  font-size:1.03rem;
  line-height:1.35;
  letter-spacing:-.02em;
  font-weight:900;
}
.escola-cert-card p:not(.escola-cert-sigla){
  margin:0;
  color:#4f636a;
  font-size:1rem;
  line-height:1.6;
}
.escola-certificacoes-actions{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  margin-top:22px;
  flex-wrap:wrap;
}
.escola-outline-btn{
  background:transparent;
  color:#08727a;
  border:2px solid #08727a;
  min-width:300px;
  justify-content:center;
  box-shadow:none;
}
.escola-outline-btn:hover,
.escola-outline-btn:focus-visible{
  background:#08727a;
  color:#fff;
}
@media (max-width:980px){
  .escola-certificacoes-section{
    padding:76px 0 84px;
  }
  .escola-certificacoes-cards{
    grid-template-columns:1fr;
  }
  .escola-cert-card{
    min-height:auto;
  }
  .escola-certificacoes-heading h2{
    font-size:clamp(2.7rem,9vw,4.3rem);
  }
}
@media (max-width:640px){
  .escola-certificacoes-section{
    padding:62px 0 72px;
  }
  .escola-cert-card{
    padding:28px 24px 24px;
  }
  .escola-certificacoes-actions{
    align-items:stretch;
  }
  .escola-outline-btn{
    width:100%;
    min-width:0;
  }
}
@media (max-width:430px){
  .escola-certificacoes-heading h2{
    font-size:2.55rem;
  }
}


/* v47 — página Alunos: primeira secção */
.course-hero-alunos{
  background-image:
    linear-gradient(90deg,rgba(5,24,28,.94) 0%,rgba(5,24,28,.82) 34%,rgba(5,24,28,.54) 64%,rgba(5,24,28,.66) 100%),
    url('assets/hero-estudante01.jpg');
  background-size:cover;
  background-position:center center;
  border-bottom:6px solid var(--yellow);
}
.alunos-hero-inner{
  min-height:560px;
  padding:78px 0 82px;
}
.alunos-hero-copy{
  max-width:760px;
}
.course-hero-alunos h1{
  max-width:620px;
  margin-top:26px;
  margin-bottom:24px;
  font-size:clamp(4rem,7.4vw,6.6rem);
  line-height:.94;
  letter-spacing:-.035em;
}
.course-hero-alunos .lead{
  max-width:720px;
  font-size:clamp(1.12rem,2vw,1.35rem);
  line-height:1.5;
}
@media (max-width:980px){
  .alunos-hero-inner{
    min-height:500px;
    padding:72px 0 78px;
  }
}
@media (max-width:680px){
  .course-hero-alunos{
    background-position:58% center;
  }
  .alunos-hero-inner{
    min-height:470px;
  }
  .course-hero-alunos h1{
    font-size:clamp(3.3rem,17vw,4.8rem);
  }
  .course-hero-alunos .lead{
    font-size:1.02rem;
  }
}
@media (max-width:430px){
  .course-hero-alunos h1{
    font-size:3.25rem;
  }
  .alunos-hero-inner{
    min-height:450px;
  }
}


/* v48 — página Alunos: secção Plataformas Digitais */
.alunos-plataformas-section{
  padding:94px 0 102px;
  background:#f3f7f7;
  color:#101010;
}
.alunos-plataformas-heading{
  max-width:700px;
  margin-bottom:38px;
}
.alunos-plataformas-heading .eyebrow-accent{
  margin-bottom:22px;
  color:#08727a!important;
}
.alunos-plataformas-heading h2{
  margin:0;
  font-size:clamp(3rem,5.6vw,5rem);
  line-height:.95;
  letter-spacing:-.06em;
  color:#101010;
  font-weight:950;
}
.alunos-plataformas-heading h2 span{
  color:#147a7d;
}
.alunos-plataformas-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.alunos-platform-card{
  display:flex;
  align-items:center;
  gap:20px;
  min-height:128px;
  padding:22px 26px;
  border:1px solid #c7dfe3;
  border-radius:8px;
  background:#fff;
  box-shadow:none;
}
.alunos-platform-icon{
  flex:0 0 60px;
  width:60px;
  height:60px;
  border-radius:12px;
  display:grid;
  place-items:center;
  color:#167a80;
}
.alunos-platform-icon svg{
  width:30px;
  height:30px;
  display:block;
}
.alunos-platform-icon-blue{background:#dce4f4;}
.alunos-platform-icon-yellow{background:#f7ebaf;}
.alunos-platform-icon-green{background:#dff0e8;}
.alunos-platform-copy{
  min-width:0;
}
.alunos-platform-copy h3{
  margin:0 0 8px;
  font-size:1.18rem;
  line-height:1.15;
  letter-spacing:-.03em;
  color:#101010;
  font-weight:900;
}
.alunos-platform-copy p{
  margin:0;
  font-size:1rem;
  line-height:1.5;
  color:#55656a;
}
@media (max-width:1100px){
  .alunos-plataformas-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:680px){
  .alunos-plataformas-section{
    padding:74px 0 82px;
  }
  .alunos-platform-card{
    align-items:flex-start;
    padding:20px 18px;
    gap:16px;
  }
  .alunos-platform-icon{
    flex-basis:56px;
    width:56px;
    height:56px;
    border-radius:11px;
  }
  .alunos-platform-icon svg{
    width:28px;
    height:28px;
  }
  .alunos-platform-copy h3{
    font-size:1.08rem;
  }
  .alunos-platform-copy p{
    font-size:.97rem;
  }
}


/* v49 — página Alunos: secção Documentos e Recursos */
.alunos-recursos-section{
  padding:4px 0 112px;
  background:#f3f7f7;
  color:#101010;
}
.alunos-recursos-heading{
  max-width:690px;
  margin-bottom:34px;
}
.alunos-recursos-heading .eyebrow-accent{
  margin-bottom:20px;
  color:#08727a!important;
}
.alunos-recursos-heading h2{
  margin:0;
  font-size:clamp(3rem,5.6vw,5rem);
  line-height:.95;
  letter-spacing:-.06em;
  color:#101010;
  font-weight:950;
}
.alunos-recursos-heading h2 span{
  color:#147a7d;
}
.alunos-recursos-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.alunos-recurso-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:18px;
  min-height:222px;
  padding:26px 24px 32px;
  border:1px solid #c7dfe3;
  border-radius:8px;
  background:#fff;
  text-decoration:none;
  transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.alunos-recurso-card:hover,
.alunos-recurso-card:focus-visible{
  border-color:#7dbbc3;
  box-shadow:0 12px 28px rgba(5, 72, 80, .08);
  transform:translateY(-2px);
}
.alunos-recurso-card:focus-visible{
  outline:3px solid rgba(20,122,125,.22);
  outline-offset:3px;
}
.alunos-recurso-icon{
  width:48px;
  height:48px;
  border-radius:11px;
  display:grid;
  place-items:center;
  background:#edf6f5;
  border:1px solid #c8dfde;
  color:#167a80;
}
.alunos-recurso-icon svg{
  width:26px;
  height:26px;
  display:block;
}
.alunos-recurso-icon-erasmus svg{
  width:28px;
  height:28px;
}
.alunos-recurso-copy h3{
  margin:0 0 10px;
  font-size:1.22rem;
  line-height:1.18;
  letter-spacing:-.03em;
  font-weight:900;
  color:#101010;
}
.alunos-recurso-copy p{
  margin:0;
  font-size:1rem;
  line-height:1.45;
  color:#55656a;
}
.alunos-recurso-arrow{
  position:absolute;
  right:18px;
  bottom:16px;
  width:18px;
  height:18px;
  color:#7db7bd;
}
.alunos-recurso-arrow svg{
  width:100%;
  height:100%;
  display:block;
}
@media (max-width:1180px){
  .alunos-recursos-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:720px){
  .alunos-recursos-section{
    padding:0 0 86px;
  }
  .alunos-recursos-grid{
    grid-template-columns:1fr;
  }
  .alunos-recurso-card{
    min-height:unset;
    padding:22px 18px 30px;
    gap:16px;
  }
  .alunos-recurso-icon{
    width:46px;
    height:46px;
  }
  .alunos-recurso-copy h3{
    font-size:1.12rem;
  }
  .alunos-recurso-copy p{
    font-size:.97rem;
  }
}


/* v50 — página Alunos: FCT e Prosseguimento de Estudos */
.alunos-fct-section{
  padding:34px 0 92px;
  background:#f3f7f7;
}
.alunos-fct-panel{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:70px;
  padding:46px 48px;
  border-radius:8px;
  background:#177c82;
  color:#fff;
}
.alunos-fct-kicker{
  margin:0 0 18px;
  color:rgba(255,255,255,.62);
  font-size:.82rem;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.alunos-fct-copy h2{
  margin:0 0 26px;
  max-width:520px;
  color:#fff;
  font-size:clamp(1.75rem,2.4vw,2.2rem);
  line-height:1.28;
  letter-spacing:-.04em;
  font-weight:950;
}
.alunos-fct-copy p:not(.alunos-fct-kicker){
  max-width:760px;
  margin:0 0 22px;
  color:rgba(255,255,255,.9);
  font-size:clamp(1.06rem,1.6vw,1.28rem);
  line-height:1.55;
}
.alunos-fct-steps-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-bottom:28px;
}
.alunos-fct-step{
  min-height:170px;
  padding:22px 18px 20px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:6px;
  background:rgba(255,255,255,.1);
}
.alunos-fct-step strong{
  display:block;
  margin-bottom:10px;
  color:#eef32f;
  font-size:2rem;
  line-height:1;
  font-weight:950;
}
.alunos-fct-step h3{
  margin:0 0 8px;
  color:#fff;
  font-size:1rem;
  line-height:1.2;
  font-weight:900;
}
.alunos-fct-step p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:.95rem;
  line-height:1.35;
}
.alunos-fct-btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-width:300px;
  min-height:54px;
  padding:14px 26px;
  border:0;
  border-radius:5px;
  background:#fff;
  color:#053b42;
  font-size:.98rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
}
.alunos-fct-btn:hover,
.alunos-fct-btn:focus-visible{
  background:#f2f6f6;
  color:#053b42;
}
.alunos-prosseguimento-section{
  padding:74px 0 80px;
  background:#eef7f7;
  color:#101010;
}
.alunos-prosseguimento-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:48px;
  align-items:center;
}
.alunos-prosseguimento-inner .eyebrow-accent{
  margin-bottom:18px;
  color:#08727a!important;
}
.alunos-prosseguimento-inner h2{
  margin:0 0 16px;
  color:#101010;
  font-size:clamp(1.75rem,2.5vw,2.15rem);
  line-height:1.05;
  letter-spacing:-.04em;
  font-weight:950;
}
.alunos-prosseguimento-inner p{
  margin:0;
  max-width:900px;
  color:#485a60;
  font-size:1.08rem;
  line-height:1.45;
}
.alunos-prosseguimento-btn{
  min-width:330px;
  min-height:56px;
  justify-content:center;
  border:0;
  border-radius:5px;
  background:#177c82;
  color:#fff;
  font-size:.98rem;
  font-weight:950;
  letter-spacing:.07em;
  text-transform:uppercase;
  text-decoration:none;
}
.alunos-prosseguimento-btn:hover,
.alunos-prosseguimento-btn:focus-visible{
  background:#126d72;
  color:#fff;
}
@media (max-width:1120px){
  .alunos-fct-panel{
    grid-template-columns:1fr;
    gap:38px;
  }
}
@media (max-width:760px){
  .alunos-fct-section{
    padding:24px 0 74px;
  }
  .alunos-fct-panel{
    padding:30px 22px;
  }
  .alunos-fct-steps-grid{
    grid-template-columns:1fr;
  }
  .alunos-fct-step{
    min-height:unset;
  }
  .alunos-fct-btn,
  .alunos-prosseguimento-btn{
    width:100%;
    min-width:0;
  }
  .alunos-prosseguimento-inner{
    grid-template-columns:1fr;
    gap:26px;
  }
  .alunos-prosseguimento-section{
    padding:58px 0 66px;
  }
}



/* v51 — página Erasmus+: primeira secção */
.erasmus-page-hero{
  background-image:
    linear-gradient(90deg,rgba(5,24,28,.94) 0%,rgba(5,24,28,.82) 34%,rgba(5,24,28,.54) 64%,rgba(5,24,28,.66) 100%),
    url('assets/hero-erasmus-ipta.jpg');
  background-size:cover;
  background-position:center center;
  border-bottom:6px solid var(--yellow);
}
.erasmus-hero-inner{
  min-height:610px;
  padding:84px 0 88px;
}
.erasmus-hero-copy{
  max-width:830px;
}
.erasmus-page-hero h1{
  max-width:720px;
  margin-top:28px;
  margin-bottom:28px;
  color:#fff;
  font-size:clamp(4.4rem,7.4vw,7.1rem);
  line-height:.92;
  letter-spacing:-.035em;
}
.erasmus-page-hero h1 span{
  color:var(--yellow);
}
.erasmus-page-hero .lead{
  max-width:780px;
  color:rgba(255,255,255,.92);
  font-size:clamp(1.12rem,1.75vw,1.38rem);
  line-height:1.55;
}
.erasmus-hero-actions{
  margin-top:42px;
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}
.erasmus-hero-actions .btn{
  min-height:64px;
  min-width:238px;
  justify-content:center;
  border-radius:5px;
  font-size:1rem;
  letter-spacing:.06em;
}
.erasmus-hero-flag{
  position:absolute;
  top:34px;
  right:clamp(28px,5vw,92px);
  z-index:1;
  width:96px;
  height:auto;
  opacity:.36;
  filter:saturate(.95);
  pointer-events:none;
}
.erasmus-funding-strip{
  background:#0f777a;
  color:#fff;
}
.erasmus-funding-inner{
  min-height:74px;
  display:flex;
  align-items:center;
  gap:26px;
}
.erasmus-funding-inner img{
  width:56px;
  height:auto;
  flex:0 0 auto;
}
.erasmus-funding-inner strong{
  color:#fff;
  font-size:clamp(.95rem,1.4vw,1.1rem);
  line-height:1.25;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-weight:950;
}
@media (max-width:980px){
  .erasmus-hero-inner{
    min-height:560px;
    padding:76px 0 82px;
  }
  .erasmus-hero-flag{
    width:82px;
    top:26px;
    right:22px;
  }
}
@media (max-width:680px){
  .erasmus-page-hero{
    background-position:center center;
  }
  .erasmus-hero-inner{
    min-height:540px;
    padding:70px 0 76px;
  }
  .erasmus-page-hero h1{
    font-size:clamp(3.4rem,17vw,4.9rem);
  }
  .erasmus-page-hero .lead{
    font-size:1.02rem;
  }
  .erasmus-hero-actions{
    gap:12px;
  }
  .erasmus-hero-actions .btn{
    width:100%;
    min-width:0;
    min-height:58px;
  }
  .erasmus-hero-flag{
    width:68px;
    opacity:.3;
  }
  .erasmus-funding-inner{
    min-height:92px;
    gap:16px;
    align-items:center;
  }
  .erasmus-funding-inner img{
    width:44px;
  }
  .erasmus-funding-inner strong{
    font-size:.86rem;
  }
}


/* v52 — Erasmus+: secção Programa e remoção do segundo botão no topo */
.erasmus-page-hero .erasmus-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
}
.erasmus-page-hero .erasmus-hero-actions .btn{
  min-width:260px;
}
.erasmus-program-section{
  padding:92px 0 104px;
  background:#f3f7f7;
  color:#101010;
}
.erasmus-program-inner{
  max-width:1080px;
}
.erasmus-program-copy{
  max-width:1000px;
  margin-bottom:46px;
}
.erasmus-program-copy .eyebrow-accent{
  margin-bottom:20px;
  color:#08727a!important;
}
.erasmus-program-copy h2{
  margin:0 0 26px;
  color:#101010;
  font-size:clamp(3rem,5.3vw,5.05rem);
  line-height:.95;
  letter-spacing:-.06em;
  font-weight:950;
}
.erasmus-program-copy h2 span{
  color:#147a7d;
}
.erasmus-program-copy p{
  max-width:1000px;
  margin:0 0 24px;
  color:#4d6267;
  font-size:clamp(1.12rem,1.45vw,1.38rem);
  line-height:1.55;
}
.erasmus-program-copy strong{
  color:#101010;
  font-weight:900;
}
.erasmus-program-images{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.erasmus-program-images img{
  width:100%;
  height:305px;
  object-fit:cover;
  border-radius:4px;
  display:block;
}
.erasmus-program-images img:first-child{
  object-position:50% 28%;
}
.erasmus-program-images img:last-child{
  object-position:50% 45%;
}
@media (max-width:760px){
  .erasmus-page-hero .erasmus-hero-actions .btn{
    width:100%;
    min-width:0;
  }
  .erasmus-program-section{
    padding:72px 0 82px;
  }
  .erasmus-program-copy{
    margin-bottom:32px;
  }
  .erasmus-program-copy h2{
    font-size:clamp(2.55rem,13vw,3.8rem);
  }
  .erasmus-program-copy p{
    font-size:1.02rem;
  }
  .erasmus-program-images{
    grid-template-columns:1fr;
  }
  .erasmus-program-images img{
    height:280px;
  }
}


/* v53 — Erasmus+: condições e edição 2025/26 */
.erasmus-conditions-section{
  padding:72px 0 56px;
  background:#fff;
}
.erasmus-conditions-card{
  max-width:1320px;
  margin:0 auto;
  padding:42px 56px 36px;
  border:1px solid #b8dcdf;
  border-radius:8px;
  background:#eef9f9;
  color:#092f34;
}
.erasmus-conditions-card .eyebrow-accent{
  margin-bottom:24px;
  color:#08727a!important;
}
.erasmus-conditions-card h2{
  margin:0 0 24px;
  color:#101010;
  font-size:1.45rem;
  line-height:1.25;
  font-weight:900;
  letter-spacing:-.03em;
}
.erasmus-check-list{
  display:grid;
  gap:16px;
  margin:0;
  padding:0;
  list-style:none;
  color:#123a40;
  font-size:1.12rem;
  line-height:1.45;
}
.erasmus-check-list li{
  position:relative;
  padding-left:30px;
}
.erasmus-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#08777d;
  font-weight:900;
}
.erasmus-edition-section{
  padding:36px 0 96px;
  background:#fff;
}
.erasmus-edition-card{
  max-width:1160px;
  overflow:hidden;
  border:1px solid #c9e2e4;
  border-radius:8px;
  background:#fff;
}
.erasmus-edition-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:28px 32px;
  background:#147a7d;
  color:#fff;
}
.erasmus-edition-header p{
  margin:0 0 8px;
  color:#c7e5e7;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.erasmus-edition-header h2{
  margin:0;
  color:#fff;
  font-size:1.55rem;
  line-height:1.15;
  font-weight:950;
  letter-spacing:-.03em;
}
.erasmus-edition-header > span{
  flex:0 0 auto;
  margin-top:2px;
  padding:9px 18px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-weight:900;
  font-size:.92rem;
}
.erasmus-edition-body{
  padding:30px 32px 32px;
}
.erasmus-resource-group{
  display:grid;
  gap:10px;
  margin-bottom:26px;
}
.erasmus-edition-body{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 26px;
}
.erasmus-resource-group-wide,
.erasmus-edition-gallery{
  grid-column:1 / -1;
}
.erasmus-resource-group h3{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:34px;
  margin:0;
  padding:10px 14px;
  border-radius:5px;
  background:#eef8f8;
  color:#004c55;
  font-size:.82rem;
  font-weight:950;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.erasmus-resource-group h3 svg{
  width:18px;
  height:18px;
  color:#08777d;
  flex:0 0 auto;
}
.erasmus-resource-link{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:46px;
  padding:12px 14px;
  border:1px solid #c9e2e4;
  border-radius:5px;
  background:#fff;
  color:#263f45;
  font-size:1.05rem;
  line-height:1.25;
  text-decoration:none;
  transition:transform .2s ease, border-color .2s ease, background .2s ease;
}
.erasmus-resource-link:hover,
.erasmus-resource-link:focus-visible{
  transform:translateY(-1px);
  border-color:#08777d;
  background:#f7fcfc;
}
.erasmus-resource-link svg{
  width:20px;
  height:20px;
  color:#81979c;
  flex:0 0 auto;
}
.erasmus-resource-link .resource-arrow{
  margin-left:auto;
  color:#6ca7ad;
  font-weight:900;
}
.erasmus-resource-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 26px;
}
.erasmus-resource-link.is-disabled{
  pointer-events:none;
  color:#5f7378;
  font-style:italic;
}
.erasmus-resource-link.is-disabled .resource-arrow{
  display:none;
}
.erasmus-edition-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:2px;
}
.erasmus-edition-gallery img{
  width:100%;
  height:360px;
  object-fit:cover;
  display:block;
  border-radius:5px;
}
.erasmus-edition-gallery img:nth-child(1){ object-position:50% 24%; }
.erasmus-edition-gallery img:nth-child(2){ object-position:50% 50%; }
.erasmus-edition-gallery img:nth-child(3){ object-position:50% 45%; }

.erasmus-archive-section{
  padding:0 0 96px;
  background:#fff;
}
.erasmus-archive-card{
  max-width:1160px;
  border:1px solid #c9e2e4;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}
.erasmus-archive-card summary{
  list-style:none;
}
.erasmus-archive-card summary::-webkit-details-marker{
  display:none;
}
.erasmus-archive-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:110px;
  padding:28px 32px;
  background:#555;
  color:#fff;
  cursor:pointer;
}
.erasmus-archive-summary:focus-visible{
  outline:3px solid #f3ff2b;
  outline-offset:-6px;
}
.erasmus-archive-summary-copy{
  display:grid;
  gap:10px;
}
.erasmus-archive-kicker{
  color:#d7d7d7;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.erasmus-archive-title{
  color:#fff;
  font-size:1.55rem;
  line-height:1.15;
  font-weight:950;
  letter-spacing:-.03em;
}
.erasmus-archive-button{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:11px 20px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:.95rem;
  font-weight:900;
}
.erasmus-archive-button span{
  transition:transform .2s ease;
}
.erasmus-archive-card[open] .erasmus-archive-button span{
  transform:rotate(180deg);
}
.erasmus-archive-body{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 26px;
  padding:30px 32px 32px;
}
@media (max-width:900px){
  .erasmus-archive-body{
    grid-template-columns:1fr;
    gap:0;
  }
}
@media (max-width:640px){
  .erasmus-archive-section{
    padding:0 0 64px;
  }
  .erasmus-archive-summary{
    align-items:flex-start;
    flex-direction:column;
    min-height:0;
    padding:24px 22px;
  }
  .erasmus-archive-title{
    font-size:1.35rem;
  }
  .erasmus-archive-button{
    width:100%;
    justify-content:center;
  }
  .erasmus-archive-body{
    padding:22px;
  }
}

@media (max-width:900px){
  .erasmus-conditions-card{
    padding:34px 28px 30px;
  }
  .erasmus-edition-body{
    grid-template-columns:1fr;
    gap:0;
  }
  .erasmus-resource-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .erasmus-edition-gallery{
    grid-template-columns:1fr;
  }
  .erasmus-edition-gallery img{
    height:280px;
  }
}
@media (max-width:640px){
  .erasmus-conditions-section{
    padding:48px 0 36px;
  }
  .erasmus-conditions-card{
    padding:28px 20px 24px;
  }
  .erasmus-conditions-card h2{
    font-size:1.22rem;
  }
  .erasmus-check-list{
    font-size:1rem;
    gap:13px;
  }
  .erasmus-edition-section{
    padding:28px 0 72px;
  }
  .erasmus-edition-header{
    flex-direction:column;
    padding:24px 22px;
  }
  .erasmus-edition-body{
    padding:22px;
  }
  .erasmus-resource-link{
    font-size:1rem;
  }
}

/* v57 — página Certificação EQAVET: hero */
.eqavet-page-hero{
  background-image:
    linear-gradient(90deg,rgba(5,24,28,.94) 0%,rgba(5,24,28,.82) 34%,rgba(5,24,28,.54) 64%,rgba(5,24,28,.68) 100%),
    url('assets/hero-eqavet.jpg');
  background-size:cover;
  background-position:center center;
  border-bottom:6px solid var(--yellow);
}
.eqavet-hero-inner{
  min-height:610px;
  padding:84px 0 88px;
}
.eqavet-page-hero .course-hero-copy{
  max-width:780px;
}
.eqavet-page-hero h1{
  max-width:720px;
  margin-top:28px;
  margin-bottom:28px;
  color:#fff;
  font-size:clamp(4.2rem,7.1vw,6.9rem);
  line-height:.92;
  letter-spacing:-.035em;
}
.eqavet-page-hero h1 span{
  color:var(--yellow);
}
.eqavet-page-hero .lead{
  max-width:760px;
  color:rgba(255,255,255,.92);
  font-size:clamp(1.08rem,1.72vw,1.34rem);
  line-height:1.55;
}
@media (max-width:980px){
  .eqavet-hero-inner{
    min-height:560px;
    padding:76px 0 82px;
  }
}
@media (max-width:680px){
  .eqavet-page-hero{
    background-position:62% center;
  }
  .eqavet-hero-inner{
    min-height:520px;
    padding:70px 0 76px;
  }
  .eqavet-page-hero h1{
    font-size:clamp(3.25rem,16vw,4.8rem);
  }
  .eqavet-page-hero .lead{
    font-size:1.02rem;
  }
}

/* v58 — EQAVET: secção explicativa, políticas e página de privacidade */
.eqavet-about-section{
  padding:96px 0 104px;
  background:#fff;
}
.eqavet-about-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 400px;
  gap:46px;
  align-items:start;
}
.eqavet-about-card{
  min-height:560px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:36px;
  align-items:center;
  padding:52px 50px;
  border-radius:6px;
  background:#177b80;
  color:#fff;
  box-shadow:0 18px 50px rgba(7,21,47,.08);
}
.eqavet-about-card h2{
  margin:0 0 26px;
  color:#fff;
  font-size:clamp(1.7rem,2.3vw,2.1rem);
  line-height:1.15;
  letter-spacing:-.03em;
  font-weight:950;
}
.eqavet-about-card p{
  margin:0 0 24px;
  color:rgba(255,255,255,.92);
  font-size:clamp(1.02rem,1.35vw,1.25rem);
  line-height:1.55;
}
.eqavet-about-card p:last-child{
  margin-bottom:0;
}
.eqavet-about-card strong{
  color:#fff;
  font-weight:950;
}
.eqavet-seal{
  width:min(100%,250px);
  height:auto;
  justify-self:center;
  filter:drop-shadow(0 14px 28px rgba(0,0,0,.08));
}
.eqavet-side{
  position:sticky;
  top:112px;
  display:grid;
  gap:22px;
  align-self:start;
}
.eqavet-side-card{
  padding:28px 30px;
  border:1px solid #c7dfe3;
  border-radius:6px;
  background:#f3fafa;
  color:#10272d;
}
.eqavet-side-card h2{
  margin:0 0 22px;
  color:#101010;
  font-size:1.25rem;
  line-height:1.25;
  font-weight:950;
  letter-spacing:-.03em;
}
.eqavet-contact-list{
  display:grid;
  gap:18px;
  margin:0;
  padding:0;
  list-style:none;
}
.eqavet-contact-list li{
  display:grid;
  grid-template-columns:20px 1fr;
  gap:14px;
  align-items:start;
  color:#10272d;
  font-size:1rem;
  line-height:1.45;
}
.eqavet-contact-list svg{
  width:18px;
  height:18px;
  margin-top:3px;
  color:#8a9da2;
}
.eqavet-contact-list a{
  color:#10272d;
  text-decoration:none;
}
.eqavet-contact-list a:hover,
.eqavet-contact-list a:focus-visible{
  color:#08777d;
  text-decoration:underline;
  text-underline-offset:3px;
}
.eqavet-hours{
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid #c7dfe3;
}
.eqavet-hours h3,
.eqavet-policy-card h2{
  margin:0 0 16px;
  color:#425057;
  font-size:.82rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
}
.eqavet-hours p{
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin:0;
  padding:12px 0;
  border-bottom:1px solid #d8e7e9;
  color:#263f45;
  line-height:1.3;
}
.eqavet-hours p:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.eqavet-hours strong{
  flex:0 0 auto;
  color:#101010;
  font-weight:950;
}
.eqavet-policy-card{
  display:grid;
  gap:12px;
}
.eqavet-policy-link{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:62px;
  padding:12px 14px;
  border:1px solid #c7dfe3;
  border-radius:5px;
  background:#f7fcfc;
  color:#10272d;
  font-size:1.05rem;
  font-weight:650;
  line-height:1.25;
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.eqavet-policy-link:hover,
.eqavet-policy-link:focus-visible{
  transform:translateY(-1px);
  border-color:#08777d;
  background:#fff;
}
.eqavet-policy-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:0 0 auto;
  border:1px solid #a8d4d8;
  border-radius:6px;
  background:#eef8f8;
  color:#08777d;
}
.eqavet-policy-icon svg{
  width:22px;
  height:22px;
}
.eqavet-policy-link .resource-arrow{
  margin-left:auto;
  color:#6ca7ad;
  font-weight:950;
}
.privacy-page-hero{
  background-image:
    linear-gradient(90deg,rgba(5,24,28,.94) 0%,rgba(5,24,28,.82) 34%,rgba(5,24,28,.54) 64%,rgba(5,24,28,.68) 100%),
    url('assets/hero-a-escola.jpg');
  background-size:cover;
  background-position:center center;
  border-bottom:6px solid var(--yellow);
}
.privacy-hero-inner{
  min-height:520px;
  padding:82px 0 86px;
}
.privacy-page-hero h1{
  margin-top:28px;
  margin-bottom:28px;
  color:#fff;
  font-size:clamp(3.8rem,7vw,6.2rem);
  line-height:.92;
  letter-spacing:-.035em;
}
.privacy-page-hero h1 span{
  color:var(--yellow);
}
.privacy-page-hero .lead{
  max-width:760px;
  color:rgba(255,255,255,.92);
}
.legal-section{
  padding:88px 0 104px;
  background:#fff;
}
.legal-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:48px;
  align-items:start;
}
.legal-content{
  max-width:900px;
}
.legal-content .eyebrow-accent{
  margin-bottom:18px;
  color:#08727a!important;
}
.legal-content h2{
  margin:0 0 26px;
  color:#101010;
  font-size:clamp(2.8rem,5.2vw,4.8rem);
  line-height:.96;
  letter-spacing:-.06em;
  font-weight:950;
}
.legal-content > p{
  margin:0 0 18px;
  color:#536970;
  font-size:1.08rem;
  line-height:1.65;
}
.legal-block{
  margin-top:30px;
  padding-top:28px;
  border-top:1px solid #d3e1e4;
}
.legal-block h3{
  margin:0 0 12px;
  color:#101010;
  font-size:1.18rem;
  line-height:1.35;
  font-weight:950;
  letter-spacing:-.02em;
}
.legal-block p{
  margin:0 0 14px;
  color:#536970;
  font-size:1rem;
  line-height:1.65;
}
.legal-block p:last-child{
  margin-bottom:0;
}
.legal-block a{
  color:#08777d;
  font-weight:800;
}
.legal-sidebar{
  position:sticky;
  top:112px;
  display:grid;
  gap:22px;
}
@media (max-width:1120px){
  .eqavet-about-grid{
    grid-template-columns:minmax(0,1fr) 360px;
    gap:32px;
  }
  .eqavet-about-card{
    grid-template-columns:1fr;
    gap:30px;
  }
  .eqavet-seal{
    justify-self:start;
    max-width:230px;
  }
}
@media (max-width:980px){
  .eqavet-about-section,
  .legal-section{
    padding:72px 0 82px;
  }
  .eqavet-about-grid,
  .legal-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .eqavet-side,
  .legal-sidebar{
    position:static;
    top:auto;
  }
  .eqavet-about-card{
    min-height:auto;
    padding:42px 36px;
  }
  .privacy-hero-inner{
    min-height:500px;
  }
}
@media (max-width:640px){
  .eqavet-about-section,
  .legal-section{
    padding:60px 0 70px;
  }
  .eqavet-about-card{
    padding:32px 24px;
  }
  .eqavet-about-card p,
  .legal-content > p,
  .legal-block p{
    font-size:.98rem;
  }
  .eqavet-side-card{
    padding:24px 20px;
  }
  .eqavet-hours p{
    display:grid;
    gap:5px;
  }
  .privacy-hero-inner{
    min-height:480px;
    padding:70px 0 76px;
  }
  .privacy-page-hero h1{
    font-size:clamp(3rem,15vw,4.6rem);
  }
  .legal-content h2{
    font-size:clamp(2.45rem,12vw,3.7rem);
  }
}


/* v59 — EQAVET: Documentos Orientadores */
.eqavet-docs-section{
  padding:74px 0 110px;
  background:#fff;
  color:#101010;
}
.eqavet-docs-container{
  max-width:1280px;
}
.eqavet-docs-heading{
  max-width:760px;
  margin-bottom:34px;
}
.eqavet-docs-heading .eyebrow-accent{
  margin-bottom:18px;
  color:#08727a!important;
}
.eqavet-docs-heading h2{
  margin:0;
  color:#101010;
  font-size:clamp(3rem,5.6vw,5rem);
  line-height:.94;
  letter-spacing:-.06em;
  font-weight:950;
}
.eqavet-docs-heading h2 span{
  color:#147a7d;
}
.eqavet-docs-list{
  width:min(100%,790px);
  border:1px solid #c7dfe3;
  border-radius:6px;
  overflow:hidden;
  background:#fff;
}
.eqavet-doc-link{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 22px;
  gap:16px;
  align-items:center;
  min-height:64px;
  padding:11px 18px;
  border-bottom:1px solid #d7e9eb;
  color:#203b41;
  text-decoration:none;
  font-weight:760;
  line-height:1.25;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.eqavet-doc-link:last-child{
  border-bottom:0;
}
.eqavet-doc-link:hover,
.eqavet-doc-link:focus-visible{
  background:#f2fbfb;
  color:#08777d;
}
.eqavet-doc-link:focus-visible{
  outline:3px solid rgba(20,122,125,.22);
  outline-offset:-3px;
}
.eqavet-doc-link.is-placeholder{
  cursor:default;
}
.eqavet-doc-link.is-placeholder:hover{
  background:#fff;
  color:#203b41;
}
.eqavet-doc-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid #c4dfe2;
  border-radius:5px;
  background:#edf8f8;
  color:#15818a;
}
.eqavet-doc-icon svg{
  width:20px;
  height:20px;
  display:block;
}
.eqavet-doc-link:nth-last-child(2) .eqavet-doc-icon{
  background:#fff7cf;
  color:#e2c61b;
  border-color:#f0e6a8;
}
.eqavet-doc-label{
  min-width:0;
  overflow-wrap:anywhere;
}
.eqavet-doc-arrow{
  width:18px;
  height:18px;
  color:#6ca7ad;
  justify-self:end;
}
.eqavet-doc-arrow svg{
  display:block;
  width:100%;
  height:100%;
}
.eqavet-doc-link.is-featured{
  border-top:3px solid #6d7f81;
  background:#eaf6f6;
  color:#15777d;
  font-weight:850;
}
.eqavet-doc-link.is-featured .eqavet-doc-icon{
  width:38px;
  height:38px;
  border-color:#147a7d;
  background:#147a7d;
  color:#fff;
}
.eqavet-doc-link.is-featured:hover,
.eqavet-doc-link.is-featured:focus-visible{
  background:#e4f2f2;
  color:#0b6870;
}
@media (max-width:980px){
  .eqavet-docs-section{
    padding:62px 0 88px;
  }
  .eqavet-docs-list{
    width:100%;
  }
}
@media (max-width:640px){
  .eqavet-docs-section{
    padding:54px 0 74px;
  }
  .eqavet-docs-heading{
    margin-bottom:28px;
  }
  .eqavet-docs-heading h2{
    font-size:clamp(2.5rem,13vw,3.7rem);
  }
  .eqavet-doc-link{
    grid-template-columns:36px minmax(0,1fr) 20px;
    gap:12px;
    min-height:58px;
    padding:10px 13px;
    font-size:.95rem;
  }
  .eqavet-doc-icon{
    width:32px;
    height:32px;
  }
  .eqavet-doc-icon svg{
    width:19px;
    height:19px;
  }
}



/* v60 — Página Contactos: hero inicial */
.course-hero-contactos{
  background-image:linear-gradient(90deg,rgba(5,24,28,.94) 0%,rgba(5,24,28,.82) 34%,rgba(5,24,28,.52) 64%,rgba(5,24,28,.6) 100%), url('assets/hero-contactos.jpg');
  background-size:cover;
  background-position:center center;
  border-bottom:5px solid var(--yellow);
}
.contactos-hero-inner{
  min-height:590px;
  padding:82px 0 88px;
}
.contactos-hero-copy{
  max-width:835px;
}
.course-hero-contactos h1{
  max-width:760px;
}
.course-hero-contactos .lead{
  max-width:760px;
}

@media (max-width:980px){
  .course-hero-contactos{background-position:center center}
  .contactos-hero-inner{min-height:auto;padding:72px 0 78px}
}

@media (max-width:640px){
  .contactos-hero-inner{padding:58px 0 66px}
  .course-hero-contactos .eyebrow{font-size:.7rem;letter-spacing:.08em;white-space:normal}
  .course-hero-contactos h1{font-size:clamp(2.75rem,15vw,4rem)}
}

/* v61 — Página Contactos: informação de contacto e localização */
.contact-details-section{
  background:#fff;
  padding:96px 0 110px;
}
.contact-details-grid{
  display:grid;
  grid-template-columns:minmax(0,530px) minmax(0,1fr);
  gap:62px;
  align-items:start;
}
.section-kicker{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 18px;
  color:#006f78;
  font-size:.76rem;
  font-weight:900;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.section-kicker::before{
  content:"";
  display:inline-block;
  width:26px;
  height:2px;
  background:#0b7a80;
  border-radius:999px;
  flex:0 0 26px;
}
.contact-details-left h2,
.contact-map-column h2{
  margin:0 0 28px;
  color:#0b0d10;
  font-size:clamp(3.2rem,5vw,4.85rem);
  line-height:.96;
  letter-spacing:-.055em;
  font-weight:950;
}
.contact-info-card{
  overflow:hidden;
  border:1px solid rgba(15,119,124,.25);
  border-radius:8px;
  background:#fff;
  box-shadow:0 24px 70px rgba(7,21,47,.06);
}
.contact-info-head{
  padding:28px 30px 25px;
  background:#177b80;
  color:#fff;
}
.contact-info-head h3{
  margin:0 0 10px;
  font-size:1.06rem;
  line-height:1.15;
  color:#fff;
  font-weight:950;
  letter-spacing:-.02em;
  text-transform:uppercase;
}
.contact-info-head p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:1rem;
}
.contact-info-body{
  padding:30px 30px 34px;
  display:grid;
  gap:24px;
}
.contact-info-row{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:16px;
  align-items:start;
}
.contact-info-icon{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(15,119,124,.22);
  border-radius:6px;
  background:#f1fbfb;
  color:#11777a;
}
.contact-info-icon svg{
  width:24px;
  height:24px;
}
.contact-info-row h4{
  margin:1px 0 6px;
  color:#4d5a62;
  font-size:.78rem;
  line-height:1.25;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:900;
}
.contact-info-row p{
  margin:0;
  color:#45545c;
  font-size:1rem;
  line-height:1.43;
}
.contact-info-row strong{
  color:#0f171b;
  font-weight:850;
}
.contact-info-row a{
  color:#08767d;
  font-weight:750;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}
.contact-info-row a:hover,
.contact-info-row a:focus-visible{
  text-decoration:underline;
}
.contact-info-row span{
  color:#6d7b83;
}
.contact-hours{
  margin:8px 0 0;
  max-width:260px;
}
.contact-hours div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  padding:8px 0;
  border-bottom:1px solid rgba(15,119,124,.18);
}
.contact-hours div:first-child{padding-top:0}
.contact-hours div:last-child{border-bottom:0;padding-bottom:0}
.contact-hours dt,
.contact-hours dd{
  margin:0;
  font-size:1rem;
  line-height:1.35;
}
.contact-hours dt{color:#56656d;font-weight:500}
.contact-hours dd{color:#0d1321;font-weight:850;text-align:right;white-space:nowrap}
.contact-map-column{
  min-width:0;
}
.contact-map-column h2{
  margin-bottom:28px;
  max-width:650px;
}
.contact-map-card{
  position:relative;
  overflow:hidden;
  min-height:420px;
  border:1px solid rgba(15,119,124,.24);
  border-radius:8px;
  background:#f1fbfb;
  box-shadow:0 24px 70px rgba(7,21,47,.05);
}
.contact-map-card iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  filter:saturate(.86) contrast(.98);
}
.contact-map-link{
  display:inline-flex;
  align-items:center;
  margin-top:16px;
  color:#08767d;
  font-size:.9rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.contact-map-link:hover,
.contact-map-link:focus-visible{
  text-decoration:underline;
  text-underline-offset:4px;
}
@media (max-width:1100px){
  .contact-details-grid{
    grid-template-columns:1fr;
    gap:50px;
  }
  .contact-info-card{
    max-width:680px;
  }
  .contact-map-card{
    min-height:380px;
  }
}
@media (max-width:640px){
  .contact-details-section{
    padding:62px 0 76px;
  }
  .section-kicker{
    font-size:.68rem;
    letter-spacing:.12em;
    margin-bottom:14px;
  }
  .section-kicker::before{
    width:20px;
    flex-basis:20px;
  }
  .contact-details-left h2,
  .contact-map-column h2{
    font-size:clamp(2.65rem,13vw,3.7rem);
    margin-bottom:22px;
  }
  .contact-info-head{
    padding:24px 22px 22px;
  }
  .contact-info-body{
    padding:24px 22px 28px;
    gap:21px;
  }
  .contact-info-row{
    grid-template-columns:38px minmax(0,1fr);
    gap:14px;
  }
  .contact-info-icon{
    width:38px;
    height:38px;
  }
  .contact-info-icon svg{
    width:21px;
    height:21px;
  }
  .contact-info-row p,
  .contact-hours dt,
  .contact-hours dd{
    font-size:.95rem;
  }
  .contact-hours{
    max-width:none;
  }
  .contact-hours div{
    grid-template-columns:1fr;
    gap:2px;
  }
  .contact-hours dd{
    text-align:left;
  }
  .contact-map-card{
    min-height:330px;
  }
}


/* v62 — Página Contactos: secção transportes */
.contact-transport-section{
  background:var(--soft-bg);
  padding:10px 0 108px;
}
.contact-transport-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,552px);
  gap:60px;
  align-items:start;
}
.contact-transport-copy h2{
  margin:0 0 36px;
  color:#0b0d10;
  font-size:clamp(3.2rem,5vw,4.8rem);
  line-height:.96;
  letter-spacing:-.055em;
  font-weight:950;
}
.contact-transport-copy h2 span{
  color:#11777a;
}
.transport-options{
  display:grid;
  gap:0;
}
.transport-option{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:22px 0;
  border-bottom:1px solid rgba(15,119,124,.16);
}
.transport-option:first-child{padding-top:6px}
.transport-option:last-child{border-bottom:0;padding-bottom:0}
.transport-option-icon{
  width:52px;
  height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(15,119,124,.22);
  border-radius:6px;
  background:#f1fbfb;
  color:#11777a;
}
.transport-option-icon svg{
  width:27px;
  height:27px;
}
.transport-option-icon-fill svg{
  width:24px;
  height:24px;
}
.transport-option-content h3{
  margin:2px 0 10px;
  color:#0f171b;
  font-size:1.04rem;
  line-height:1.25;
  letter-spacing:-.02em;
  font-weight:900;
}
.transport-option-content p{
  margin:0;
  color:#56656d;
  font-size:1rem;
  line-height:1.48;
}
.transport-option-content strong{
  color:#0f171b;
  font-weight:850;
}
.contact-transport-sidebar{
  display:grid;
  gap:22px;
}
.transport-summary-card,
.transport-visit-card{
  border:1px solid rgba(15,119,124,.2);
  border-radius:8px;
}
.transport-summary-card{
  padding:34px 34px 18px;
  background:#fff;
}
.transport-summary-card h3{
  margin:0 0 18px;
  color:#006f78;
  font-size:.78rem;
  line-height:1.2;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.15em;
}
.transport-summary-list{
  margin:0;
  padding:0;
  list-style:none;
}
.transport-summary-list li{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:17px 0;
  border-top:1px solid rgba(15,119,124,.16);
}
.transport-summary-list li:first-child{border-top:0;padding-top:6px}
.transport-summary-list li:last-child{padding-bottom:6px}
.transport-summary-mode{
  display:flex;
  align-items:center;
  gap:10px;
  color:#24323b;
  font-size:1rem;
  line-height:1.35;
}
.transport-summary-mode svg{
  width:18px;
  height:18px;
  flex:0 0 18px;
  color:#34434b;
}
.transport-summary-bullet{
  width:18px;
  height:18px;
  border-radius:50%;
  background:#0f171b;
  flex:0 0 18px;
}
.transport-summary-list strong{
  color:#11777a;
  font-size:1rem;
  font-weight:900;
  white-space:nowrap;
}
.transport-visit-card{
  padding:28px 28px 28px;
  background:#177b80;
  color:#fff;
  box-shadow:0 24px 70px rgba(7,21,47,.08);
}
.transport-visit-card p{
  margin:0 0 10px;
  color:rgba(255,255,255,.78);
  font-size:1rem;
  line-height:1.35;
}
.transport-visit-card h3{
  margin:0 0 22px;
  color:#fff;
  font-size:1.18rem;
  line-height:1.34;
  font-weight:900;
  letter-spacing:-.02em;
  max-width:440px;
}
.btn-light{
  background:#fff;
  color:#0e4f55;
  border-color:#fff;
}
.btn-light:hover,
.btn-light:focus-visible{
  background:#f4fffe;
  color:#0e4f55;
  border-color:#f4fffe;
}
@media (max-width:1100px){
  .contact-transport-grid{
    grid-template-columns:1fr;
    gap:42px;
  }
  .contact-transport-sidebar{
    max-width:640px;
  }
}
@media (max-width:640px){
  .contact-transport-section{
    padding:0 0 72px;
  }
  .contact-transport-copy h2{
    font-size:clamp(2.65rem,13vw,3.7rem);
    margin-bottom:24px;
  }
  .transport-option{
    grid-template-columns:42px minmax(0,1fr);
    gap:14px;
    padding:18px 0;
  }
  .transport-option-icon{
    width:42px;
    height:42px;
  }
  .transport-option-icon svg{
    width:23px;
    height:23px;
  }
  .transport-option-content h3{
    font-size:1rem;
    margin-bottom:7px;
  }
  .transport-option-content p,
  .transport-summary-mode,
  .transport-summary-list strong,
  .transport-visit-card p,
  .transport-visit-card h3{
    font-size:.96rem;
  }
  .transport-summary-card{
    padding:24px 22px 14px;
  }
  .transport-summary-list li{
    grid-template-columns:1fr;
    gap:6px;
    align-items:start;
  }
  .transport-summary-list strong{
    white-space:normal;
  }
  .transport-visit-card{
    padding:24px 22px;
  }
  .transport-visit-card .btn{
    width:100%;
    justify-content:center;
  }
}


/* v63 — Página Contactos: formulário de contacto */
.contact-form-section{
  background:var(--soft-bg);
  padding:0 0 108px;
}
.contact-form-wrap{
  max-width:760px;
}
.contact-form-wrap h2{
  margin:0 0 18px;
  color:#0b0d10;
  font-size:clamp(3.2rem,5vw,4.8rem);
  line-height:.96;
  letter-spacing:-.055em;
  font-weight:950;
}
.contact-form-wrap h2 span{
  color:#11777a;
}
.contact-form-intro{
  max-width:760px;
  margin:0 0 42px;
  color:#56656d;
  font-size:1.02rem;
  line-height:1.55;
}
.contact-form-card{
  display:grid;
  gap:18px;
  padding:40px 40px 42px;
  border:1px solid rgba(15,119,124,.22);
  border-radius:8px;
  background:#fff;
  box-shadow:0 24px 70px rgba(7,21,47,.05);
}
.contact-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.contact-form-card label{
  display:grid;
  gap:8px;
  margin:0;
  color:#0f171b;
  font-size:.76rem;
  font-weight:900;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.contact-form-card input,
.contact-form-card select,
.contact-form-card textarea{
  width:100%;
  border:1px solid rgba(15,119,124,.23);
  border-radius:4px;
  background:#fff;
  color:#25343b;
  font:inherit;
  font-size:1rem;
  font-weight:500;
  line-height:1.4;
  letter-spacing:0;
  text-transform:none;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.contact-form-card input,
.contact-form-card select{
  min-height:43px;
  padding:0 14px;
}
.contact-form-card textarea{
  min-height:116px;
  resize:vertical;
  padding:13px 14px;
}
.contact-form-card input::placeholder,
.contact-form-card textarea::placeholder{
  color:#9fb1b7;
}
.contact-form-card select:invalid{
  color:#3e5058;
}
.contact-form-card input:focus-visible,
.contact-form-card select:focus-visible,
.contact-form-card textarea:focus-visible{
  border-color:#11777a;
  box-shadow:0 0 0 3px rgba(17,119,122,.18);
}
.contact-form-submit{
  width:100%;
  min-height:50px;
  margin-top:10px;
  border-radius:4px;
  background:#177b80;
  color:#fff;
}
.contact-form-submit:hover,
.contact-form-submit:focus-visible{
  background:#0f6d71;
  color:#fff;
}
.contact-form-rgpd{
  margin:2px 0 0;
  color:#6a7a82;
  font-size:.78rem;
  line-height:1.45;
  text-align:center;
}
.contact-form-card .form-status{
  margin:0;
  color:#0f6d71;
  font-size:.9rem;
  font-weight:850;
  text-align:center;
}
.hp-field{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
@media (max-width:760px){
  .contact-form-section{
    padding-bottom:78px;
  }
  .contact-form-wrap h2{
    font-size:clamp(2.65rem,13vw,3.7rem);
  }
  .contact-form-intro{
    font-size:.98rem;
    margin-bottom:30px;
  }
  .contact-form-card{
    padding:26px 22px 28px;
    gap:16px;
  }
  .contact-form-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .contact-form-submit{
    min-height:48px;
  }
}

/* v64 — Página Pré-inscrições: formulário completo com estilo IPTA */
.course-hero-preinscricao{
  background-image:linear-gradient(90deg,rgba(5,24,28,.94) 0%,rgba(5,24,28,.82) 34%,rgba(5,24,28,.52) 64%,rgba(5,24,28,.6) 100%), url('assets/hero-contactos.jpg');
  background-size:cover;
  background-position:center center;
  border-bottom:5px solid var(--yellow);
}
.preinscricao-hero-inner{
  min-height:590px;
  padding:82px 0 88px;
}
.preinscricao-hero-copy{
  max-width:870px;
}
.course-hero-preinscricao h1{
  max-width:820px;
}
.course-hero-preinscricao .lead{
  max-width:760px;
}
.preinscricao-section{
  background:#f2f8f8;
  padding:96px 0 110px;
}
.preinscricao-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:36px;
  align-items:start;
}
.preinscricao-intro{
  grid-column:1 / -1;
  max-width:820px;
}
.preinscricao-intro h2{
  margin:0 0 18px;
  color:#0b0d10;
  font-size:clamp(3rem,6.4vw,5.2rem);
  line-height:.95;
  letter-spacing:-.055em;
}
.preinscricao-intro h2 span{
  display:block;
  color:var(--ip-teal);
}
.preinscricao-intro p:not(.section-kicker){
  max-width:760px;
  color:#4a5b62;
  font-size:1.08rem;
  line-height:1.65;
}
.preinscricao-form-card{
  background:#fff;
  border:1px solid #c7dfe2;
  border-radius:7px;
  padding:34px;
  box-shadow:0 20px 44px rgba(10,39,46,.06);
}
.preinscricao-form-card fieldset{
  border:0;
  margin:0;
  padding:0 0 30px;
}
.preinscricao-form-card fieldset + fieldset{
  border-top:1px solid #d7e7e9;
  padding-top:30px;
}
.preinscricao-form-card legend{
  margin:0 0 20px;
  color:#0b0d10;
  font-weight:950;
  font-size:1.12rem;
  letter-spacing:-.02em;
}
.preinscricao-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.preinscricao-form-grid .full{
  grid-column:1 / -1;
}
.preinscricao-form-card label,
.preinscricao-course-label{
  display:grid;
  gap:8px;
  color:#1a292f;
  font-weight:900;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.preinscricao-form-card input,
.preinscricao-form-card select,
.preinscricao-form-card textarea{
  width:100%;
  border:1px solid #c7dfe2;
  border-radius:5px;
  background:#fff;
  color:#17252b;
  padding:12px 14px;
  font:inherit;
  font-size:1rem;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  outline:0;
}
.preinscricao-form-card input,
.preinscricao-form-card select{
  min-height:46px;
}
.preinscricao-form-card textarea{
  resize:vertical;
  min-height:108px;
}
.preinscricao-form-card input::placeholder,
.preinscricao-form-card textarea::placeholder{
  color:#9aaeb4;
}
.preinscricao-form-card select:invalid{
  color:#6d8188;
}
.preinscricao-form-card input:focus-visible,
.preinscricao-form-card select:focus-visible,
.preinscricao-form-card textarea:focus-visible{
  border-color:var(--ip-teal);
  box-shadow:0 0 0 3px rgba(18,126,130,.16);
}
.preinscricao-course-label + .preinscricao-course-label{
  margin-top:16px;
}
.preinscricao-consent{
  display:grid!important;
  grid-template-columns:18px 1fr;
  align-items:start;
  gap:12px!important;
  margin:0 0 22px;
  color:#4b5f66!important;
  font-size:.9rem!important;
  font-weight:600!important;
  line-height:1.55;
  letter-spacing:0!important;
  text-transform:none!important;
}
.preinscricao-consent input{
  width:18px;
  height:18px;
  min-height:0;
  margin-top:3px;
  accent-color:var(--ip-teal);
}
.preinscricao-consent a{
  color:var(--ip-teal);
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:900;
}
.preinscricao-submit{
  width:100%;
  min-height:52px;
  border-radius:5px;
  background:var(--ip-teal);
  color:#fff;
}
.preinscricao-submit:hover,
.preinscricao-submit:focus-visible{
  background:#0d686b;
  color:#fff;
}
.preinscricao-rgpd,
.preinscricao-form-card .form-status{
  margin:18px 0 0;
  color:#667b82;
  text-align:center;
  font-size:.86rem;
  line-height:1.45;
}
.preinscricao-form-card .form-status{
  color:var(--ip-teal);
  font-weight:850;
}
.preinscricao-side{
  position:sticky;
  top:110px;
  background:#fff;
  border:1px solid #c7dfe2;
  border-radius:7px;
  padding:28px;
  box-shadow:0 16px 36px rgba(10,39,46,.05);
}
.preinscricao-side h3{
  margin:0 0 20px;
  color:#0b0d10;
  font-size:1.35rem;
  letter-spacing:-.03em;
}
.preinscricao-steps{
  list-style:none;
  counter-reset:presteps;
  display:grid;
  gap:14px;
  margin:0;
  padding:0;
}
.preinscricao-steps li{
  counter-increment:presteps;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:13px;
  align-items:start;
  padding:14px;
  border:1px solid #d7e7e9;
  border-radius:5px;
  background:#f7fbfb;
}
.preinscricao-steps li::before{
  content:counter(presteps);
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--ip-yellow);
  color:#09272c;
  font-weight:950;
  font-size:1.1rem;
  grid-row:1 / span 2;
}
.preinscricao-steps strong{
  display:block;
  grid-column:2;
  color:#0b0d10;
  font-weight:950;
  margin-bottom:3px;
}
.preinscricao-steps span{
  display:block;
  grid-column:2;
  color:#5c7077;
  font-size:.92rem;
  line-height:1.45;
  max-width:100%;
}
.preinscricao-note{
  margin-top:22px;
  border-radius:5px;
  background:#0f7b7f;
  color:#fff;
  padding:18px;
}
.preinscricao-note strong{
  display:block;
  margin-bottom:8px;
  font-weight:950;
}
.preinscricao-note p{
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:.94rem;
  line-height:1.5;
}
@media (max-width:980px){
  .preinscricao-hero-inner{min-height:auto;padding:72px 0 78px}
  .course-hero-preinscricao{background-position:center center}
  .preinscricao-layout{grid-template-columns:1fr;gap:28px}
  .preinscricao-side{position:relative;top:auto;order:3}
}
@media (max-width:760px){
  .preinscricao-section{padding:72px 0 84px}
  .preinscricao-form-card{padding:26px 22px}
  .preinscricao-form-grid{grid-template-columns:1fr}
  .preinscricao-intro h2{font-size:clamp(2.7rem,13vw,3.8rem)}
  .preinscricao-intro p:not(.section-kicker){font-size:1rem}
  .preinscricao-side{padding:22px}
  .preinscricao-steps li{grid-template-columns:36px 1fr}
  .preinscricao-steps li::before{width:36px;height:36px}
}
@media (max-width:640px){
  .course-hero-preinscricao .eyebrow{font-size:.7rem;letter-spacing:.08em;white-space:normal}
  .course-hero-preinscricao h1{font-size:clamp(2.75rem,15vw,4rem)}
}


/* Ajuste da secção "O que acontece depois?" na página de pré-inscrição:
   mantém a numeração à esquerda e o texto com largura útil, evitando que as frases fiquem em coluna estreita. */
.preinscricao-steps li{
  grid-auto-flow:row;
}
.preinscricao-steps li::before{
  align-self:start;
}
.preinscricao-steps strong,
.preinscricao-steps span{
  min-width:0;
  overflow-wrap:normal;
  word-break:normal;
}
@media (max-width:520px){
  .preinscricao-steps li{
    grid-template-columns:38px minmax(0,1fr);
    gap:12px;
    padding:13px;
  }
  .preinscricao-steps li::before{
    width:38px;
    height:38px;
    font-size:1rem;
  }
}


/* v66 — ajustes EQAVET test server */
.complaints-book{
  min-width:174px;
  justify-content:flex-start;
  line-height:1.08!important;
  letter-spacing:.01em!important;
}
.complaints-book img{
  display:block;
  width:174px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  opacity:.88;
}
.complaints-book:hover img,
.complaints-book:focus-visible img{opacity:1}
.eqavet-doc-link.is-no-link{
  cursor:default;
  color:var(--ink);
}
.eqavet-doc-link.is-no-link:hover,
.eqavet-doc-link.is-no-link:focus-visible{
  background:#fff;
  transform:none;
  text-decoration:none;
}
@media (max-width:680px){
  .eqavet-page-hero h1{
    font-size:clamp(2.55rem,12.1vw,3.85rem)!important;
    line-height:.96;
    letter-spacing:-.052em;
    max-width:100%;
    overflow-wrap:normal;
  }
  .eqavet-page-hero .course-hero-copy{max-width:100%}
}
@media (max-width:420px){
  .eqavet-page-hero h1{
    font-size:clamp(2.35rem,11.6vw,3.1rem)!important;
    letter-spacing:-.055em;
  }
}
@media (max-width:720px){
  .complaints-book img{width:164px}
}


/* v67 — favicon IPTA e Livro de Reclamações atualizado */
.complaints-book{
  min-width:220px;
  min-height:76px;
  align-items:center;
}
.complaints-book img{
  width:220px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  opacity:1;
}
@media (max-width:900px){
  .complaints-book{min-width:190px;min-height:68px}
  .complaints-book img{width:190px}
}


/* v68 — ajustes página inicial */
.section-benefits-dark .benefit-card .benefit-pill{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 13px;
  border:1px solid rgba(244,239,46,.5);
  border-radius:999px;
  background:rgba(244,239,46,.08);
  color:var(--ip-yellow);
  font-size:.78rem;
  line-height:1;
  font-weight:950;
}
.lead-form-card .rgpd a{color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:900}
.testimonials .eyebrow{display:flex;align-items:center;gap:12px;color:var(--blue)!important;letter-spacing:.18em;font-size:.72rem;margin-bottom:20px}
.testimonials .eyebrow::before{content:"";display:inline-block;width:24px;height:2px;background:currentColor;flex:0 0 auto}
.section-companies-dark.companies-compact{padding-bottom:70px}
.section-companies-dark.companies-compact .logo-marquee{margin-bottom:0}
.final-cta .final-cta-inner{max-width:900px;display:flex;flex-direction:column;align-items:center;text-align:center}
.final-cta .eyebrow{width:100%;text-align:center;justify-content:center}
.final-cta h2{width:100%;max-width:900px;margin-left:auto;margin-right:auto;text-align:center}
.final-cta .inline-form{width:100%;justify-items:center}
.final-cta .inline-fields{width:100%;max-width:620px}
.final-cta .btn{justify-self:center}
.final-cta .small-text{text-align:center}
@media (max-width:760px){
  .final-cta .btn{width:100%;justify-self:stretch}
}

/* v71 — Desenvolvimento de Software: galeria sem imagens duplicadas e espaçamento consistente */
.software-gallery-clean{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.software-gallery-clean .gallery-main-tall{
  grid-column:1 / span 3;
  grid-row:1 / span 2;
  min-height:690px;
}
.software-gallery-clean .gallery-top-right{
  grid-column:4 / span 3;
  grid-row:1;
  min-height:338px;
}
.software-gallery-clean .gallery-bottom-right{
  grid-column:4 / span 3;
  grid-row:2;
  min-height:340px;
}
.software-gallery-clean .gallery-wide-bottom{
  grid-column:1 / span 6;
  grid-row:3;
  min-height:260px;
}
.software-gallery-clean .gallery-wide-bottom img{object-position:center center}
.course-showcase-section + .course-followup-section{
  padding-top:24px;
}
@media (max-width: 767px){
  .software-gallery-clean{
    grid-template-columns:1fr;
    gap:10px;
  }
  .software-gallery-clean .gallery-main-tall,
  .software-gallery-clean .gallery-top-right,
  .software-gallery-clean .gallery-bottom-right,
  .software-gallery-clean .gallery-wide-bottom{
    grid-column:auto;
    grid-row:auto;
    min-height:auto;
  }
  .software-gallery-clean .gallery-wide-bottom img{height:auto;aspect-ratio:4/3}
  .course-showcase-section + .course-followup-section{
    padding-top:8px;
  }
}

/* v72 — Sistemas e Redes: galeria sem imagem repetida e com composição coerente */
.sistemas-redes-gallery-clean{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.sistemas-redes-gallery-clean .gallery-main-tall{
  grid-column:1 / span 3;
  grid-row:1 / span 2;
  min-height:690px;
}
.sistemas-redes-gallery-clean .gallery-top-right{
  grid-column:4 / span 3;
  grid-row:1;
  min-height:338px;
}
.sistemas-redes-gallery-clean .gallery-bottom-right{
  grid-column:4 / span 3;
  grid-row:2;
  min-height:340px;
}
.sistemas-redes-gallery-clean .gallery-wide-left{
  grid-column:1 / span 3;
  grid-row:3;
  min-height:250px;
}
.sistemas-redes-gallery-clean .gallery-wide-right{
  grid-column:4 / span 3;
  grid-row:3;
  min-height:250px;
}
.sistemas-redes-gallery-clean .gallery-wide-left img,
.sistemas-redes-gallery-clean .gallery-wide-right img{object-position:center center}
@media (max-width: 767px){
  .sistemas-redes-gallery-clean{
    grid-template-columns:1fr;
    gap:10px;
  }
  .sistemas-redes-gallery-clean .gallery-main-tall,
  .sistemas-redes-gallery-clean .gallery-top-right,
  .sistemas-redes-gallery-clean .gallery-bottom-right,
  .sistemas-redes-gallery-clean .gallery-wide-left,
  .sistemas-redes-gallery-clean .gallery-wide-right{
    grid-column:auto;
    grid-row:auto;
    min-height:auto;
  }
  .sistemas-redes-gallery-clean .gallery-wide-left img,
  .sistemas-redes-gallery-clean .gallery-wide-right img{height:auto;aspect-ratio:4/3}
}


/* Ajustes CET mobile: evita corte dos títulos longos e mantém o layout responsivo */
@media (max-width: 680px){
  .course-hero-cet-multimedia h1,
  .course-hero-cet-ciberseguranca h1{
    font-size: clamp(2rem, 9.2vw, 2.85rem);
    line-height: .98;
    letter-spacing: -.035em;
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
  }
  .course-hero-cet-multimedia .course-hero-inner,
  .course-hero-cet-ciberseguranca .course-hero-inner{
    padding-top: 64px;
    padding-bottom: 70px;
  }
}

@media (max-width: 380px){
  .course-hero-cet-multimedia h1,
  .course-hero-cet-ciberseguranca h1{
    font-size: clamp(1.85rem, 8.8vw, 2.25rem);
  }
}

/* v75 — página GAEE */
.gaee-page-hero{
  background-image:
    linear-gradient(90deg,rgba(5,24,28,.95) 0%,rgba(5,24,28,.82) 36%,rgba(5,24,28,.55) 66%,rgba(5,24,28,.70) 100%),
    url('assets/hero-gaee.jpg');
  background-size:cover;
  background-position:center center;
  border-bottom:6px solid var(--yellow);
}
.gaee-hero-inner{
  min-height:600px;
  padding:82px 0 88px;
}
.gaee-hero-copy{
  max-width:900px;
}
.gaee-page-hero h1{
  max-width:850px;
  margin:28px 0 26px;
  color:#fff;
  font-size:clamp(3.6rem,6.6vw,6.5rem);
  line-height:.92;
  letter-spacing:-.04em;
}
.gaee-page-hero h1 span{
  color:var(--yellow);
}
.gaee-page-hero .lead{
  max-width:780px;
  color:rgba(255,255,255,.92);
  font-size:clamp(1.08rem,1.72vw,1.34rem);
  line-height:1.55;
}
.gaee-hero-actions{
  margin-top:34px;
}
.gaee-intro-section{
  padding:96px 0 98px;
  background:#fff;
  color:#101010;
}
.gaee-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:56px;
  align-items:start;
}
.gaee-intro-copy{
  max-width:840px;
}
.gaee-intro-copy .eyebrow-accent,
.gaee-section-heading .eyebrow-accent,
.gaee-employment-copy .eyebrow-accent{
  margin-bottom:20px;
  color:#08727a!important;
}
.gaee-intro-copy h2,
.gaee-section-heading h2,
.gaee-employment-copy h2{
  margin:0 0 26px;
  color:#101010;
  font-size:clamp(3rem,5.4vw,5.05rem);
  line-height:.95;
  letter-spacing:-.06em;
  font-weight:950;
}
.gaee-intro-copy h2 span,
.gaee-section-heading h2 span,
.gaee-employment-copy h2 span{
  color:#147a7d;
}
.gaee-intro-copy p,
.gaee-employment-copy p{
  margin:0 0 18px;
  color:#536970;
  font-size:1.08rem;
  line-height:1.7;
}
.gaee-contact-card{
  position:sticky;
  top:112px;
  padding:30px 30px 32px;
  border:1px solid #c7dfe3;
  border-radius:8px;
  background:#f3fafa;
  color:#10272d;
}
.gaee-contact-card h2{
  margin:0 0 20px;
  color:#101010;
  font-size:1.35rem;
  line-height:1.2;
  letter-spacing:-.03em;
  font-weight:950;
}
.gaee-contact-person{
  display:grid;
  gap:3px;
  margin-bottom:22px;
  padding-bottom:20px;
  border-bottom:1px solid #c7dfe3;
}
.gaee-contact-person strong{
  color:#08777d;
  font-size:1.15rem;
  line-height:1.2;
  font-weight:950;
}
.gaee-contact-person span{
  color:#536970;
  font-size:.94rem;
  line-height:1.45;
}
.gaee-contact-list{
  display:grid;
  gap:18px;
  margin:0 0 26px;
  padding:0;
  list-style:none;
}
.gaee-contact-list li{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:14px;
  color:#10272d;
  line-height:1.45;
}
.gaee-contact-list svg{
  width:20px;
  height:20px;
  margin-top:2px;
  color:#08777d;
}
.gaee-contact-list a{
  color:#10272d;
  text-decoration:none;
  font-weight:750;
}
.gaee-contact-list a:hover,
.gaee-contact-list a:focus-visible{
  color:#08777d;
  text-decoration:underline;
  text-underline-offset:3px;
}
.gaee-contact-btn{
  width:100%;
  justify-content:center;
  background:#147a7d;
  color:#fff;
}
.gaee-services-section{
  padding:92px 0 106px;
  background:#f3f7f7;
  color:#101010;
}
.gaee-section-heading{
  max-width:860px;
  margin-bottom:40px;
}
.gaee-services-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid #c7dfe3;
  border-radius:8px;
  overflow:hidden;
  background:#fff;
}
.gaee-service-card{
  min-height:230px;
  padding:32px 30px;
  border-right:1px solid #d7e9eb;
  border-bottom:1px solid #d7e9eb;
}
.gaee-service-card:nth-child(3n){
  border-right:0;
}
.gaee-service-card:nth-child(n+4){
  border-bottom:0;
}
.gaee-service-number{
  display:inline-flex;
  margin-bottom:22px;
  color:#147a7d;
  font-size:.95rem;
  font-weight:950;
  letter-spacing:.08em;
}
.gaee-service-card h3{
  margin:0 0 12px;
  color:#101010;
  font-size:1.2rem;
  line-height:1.25;
  letter-spacing:-.03em;
  font-weight:950;
}
.gaee-service-card p{
  margin:0;
  color:#536970;
  font-size:1rem;
  line-height:1.6;
}
.gaee-employment-section{
  padding:94px 0 104px;
  background:#fff;
}
.gaee-employment-grid{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:46px;
  align-items:start;
}
.gaee-employment-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.gaee-employment-card{
  min-height:300px;
  padding:34px 32px;
  border:1px solid #c7dfe3;
  border-radius:8px;
  background:#f7fcfc;
}
.gaee-employment-card h3{
  margin:0 0 16px;
  color:#101010;
  font-size:1.28rem;
  line-height:1.25;
  letter-spacing:-.03em;
  font-weight:950;
}
.gaee-employment-card p{
  margin:0 0 22px;
  color:#536970;
  line-height:1.65;
}
.gaee-employment-card a{
  color:#08777d;
  font-weight:950;
  text-decoration:none;
}
.gaee-employment-card a:hover,
.gaee-employment-card a:focus-visible{
  text-decoration:underline;
  text-underline-offset:3px;
}
.gaee-indicators-section{
  padding:94px 0 106px;
  background:#f3f7f7;
}
.gaee-indicators-grid{
  display:block;
}
.gaee-indicator-group{
  padding:34px;
  border:1px solid #c7dfe3;
  border-radius:8px;
  background:#fff;
}
.gaee-indicator-group-wide{
  width:100%;
}
.gaee-indicator-group h3{
  margin:0 0 22px;
  color:#101010;
  font-size:1.25rem;
  line-height:1.25;
  letter-spacing:-.03em;
  font-weight:950;
}
.gaee-indicators-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.gaee-indicators-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:420px;
}
.gaee-indicators-table th,
.gaee-indicators-table td{
  padding:22px 24px;
  border-bottom:1px solid #d7e9eb;
  background:#f7fcfc;
  text-align:left;
}
.gaee-indicators-table thead th{
  color:#536970;
  font-size:.88rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.gaee-indicators-table tbody th{
  color:#101010;
  font-size:1rem;
  font-weight:900;
}
.gaee-indicators-table td{
  color:#147a7d;
  font-size:2.3rem;
  line-height:1;
  font-weight:950;
  letter-spacing:-.04em;
  text-align:right;
}
.gaee-indicators-table tr:last-child th,
.gaee-indicators-table tr:last-child td{
  border-bottom:0;
}
.gaee-final-contact{
  padding:96px 0 104px;
  background:#177b80;
  color:#fff;
}
.gaee-final-inner{
  max-width:920px;
  text-align:center;
}
.gaee-final-inner .eyebrow{
  color:rgba(255,255,255,.78);
}
.gaee-final-inner h2{
  margin:0 0 22px;
  color:#fff;
  font-size:clamp(3rem,5.8vw,5.2rem);
  line-height:.95;
  letter-spacing:-.06em;
  font-weight:950;
}
.gaee-final-inner h2 span{
  color:var(--yellow);
}
.gaee-final-inner p{
  max-width:780px;
  margin:0 auto 30px;
  color:rgba(255,255,255,.86);
  font-size:1.12rem;
  line-height:1.6;
}
.gaee-final-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
}
.gaee-final-primary{
  background:#fff;
  color:#064f54;
}
.gaee-final-secondary{
  color:#fff;
}
@media (max-width:1100px){
  .gaee-intro-grid,
  .gaee-employment-grid{
    grid-template-columns:1fr;
  }
  .gaee-contact-card{
    position:static;
  }
  .gaee-services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .gaee-service-card,
  .gaee-service-card:nth-child(3n),
  .gaee-service-card:nth-child(n+4){
    border-right:1px solid #d7e9eb;
    border-bottom:1px solid #d7e9eb;
  }
  .gaee-service-card:nth-child(2n){
    border-right:0;
  }
  .gaee-service-card:nth-child(n+5){
    border-bottom:0;
  }
}
@media (max-width:780px){
  .gaee-hero-inner{
    min-height:540px;
    padding:72px 0 78px;
  }
  .gaee-page-hero h1{
    font-size:clamp(3rem,13vw,4.7rem);
    max-width:100%;
  }
  .gaee-page-hero .lead{
    font-size:1.02rem;
  }
  .gaee-intro-section,
  .gaee-services-section,
  .gaee-employment-section,
  .gaee-indicators-section,
  .gaee-final-contact{
    padding:70px 0 78px;
  }
  .gaee-intro-copy h2,
  .gaee-section-heading h2,
  .gaee-employment-copy h2,
  .gaee-final-inner h2{
    font-size:clamp(2.55rem,11vw,3.8rem);
  }
  .gaee-services-grid,
  .gaee-employment-cards,
  .gaee-indicators-grid{
    grid-template-columns:1fr;
  }
  .gaee-service-card,
  .gaee-service-card:nth-child(2n),
  .gaee-service-card:nth-child(n+5){
    border-right:0;
    border-bottom:1px solid #d7e9eb;
  }
  .gaee-service-card:last-child{
    border-bottom:0;
  }
  .gaee-indicator-group{
    padding:22px;
  }
  .gaee-indicators-table{
    min-width:0;
  }
  .gaee-indicators-table th,
  .gaee-indicators-table td{
    padding:18px 16px;
  }
  .gaee-indicators-table td{
    font-size:2rem;
  }
}
@media (max-width:430px){
  .gaee-page-hero{
    background-position:58% center;
  }
  .gaee-page-hero h1{
    font-size:2.8rem;
    line-height:.95;
  }
  .gaee-hero-actions .btn{
    width:100%;
    justify-content:center;
  }
  .gaee-contact-card,
  .gaee-service-card,
  .gaee-employment-card,
  .gaee-indicator-group{
    padding:24px 20px;
  }
}

/* v76 — GAEE: melhorias de leitura em mobile */
.gaee-intro-copy h2,
.gaee-section-heading h2,
.gaee-employment-copy h2{
  line-height:1.04;
}

@media (max-width:640px){
  .gaee-page-hero h1{
    font-size:clamp(2.15rem,10.2vw,3rem);
    line-height:1;
    letter-spacing:-.035em;
    max-width:100%;
  }
  .gaee-page-hero .lead{
    font-size:.98rem;
    line-height:1.52;
  }
  .gaee-hero-actions .btn{
    width:100%;
    max-width:320px;
    min-height:50px;
    justify-content:center;
    padding:14px 18px;
    font-size:.82rem;
    line-height:1.2;
    letter-spacing:.045em;
    white-space:normal;
    text-align:center;
  }
  .gaee-hero-actions .btn.btn-ghost{
    font-size:.78rem;
  }
  .gaee-intro-copy h2,
  .gaee-section-heading h2,
  .gaee-employment-copy h2{
    font-size:clamp(2.25rem,10vw,3.1rem);
    line-height:1.08;
    letter-spacing:-.045em;
  }
}

@media (max-width:380px){
  .gaee-page-hero h1{
    font-size:2.05rem;
  }
  .gaee-hero-actions .btn{
    max-width:100%;
    font-size:.76rem;
  }
}

/* v77 — página Gabinete de Psicologia */
.psicologia-page-hero{
  background-image:
    linear-gradient(90deg,rgba(5,24,28,.95) 0%,rgba(5,24,28,.82) 38%,rgba(5,24,28,.48) 70%,rgba(5,24,28,.64) 100%),
    url('assets/hero-psicologia.jpg');
  background-size:cover;
  background-position:center center;
  border-bottom:6px solid var(--yellow);
}
.psicologia-hero-inner{
  min-height:600px;
  padding:82px 0 88px;
}
.psicologia-hero-copy{
  max-width:870px;
}
.psicologia-page-hero h1{
  max-width:830px;
  margin:28px 0 26px;
  color:#fff;
  font-size:clamp(3.8rem,6.6vw,6.6rem);
  line-height:.92;
  letter-spacing:-.045em;
}
.psicologia-page-hero h1 span{
  color:var(--yellow);
}
.psicologia-page-hero .lead{
  max-width:760px;
  color:rgba(255,255,255,.92);
  font-size:clamp(1.08rem,1.72vw,1.34rem);
  line-height:1.55;
}
.psicologia-hero-actions{
  margin-top:34px;
}
.psicologia-intro-section,
.psicologia-employment-section{
  padding:96px 0 98px;
  background:#fff;
  color:#101010;
}
.psicologia-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:56px;
  align-items:start;
}
.psicologia-intro-copy{
  max-width:840px;
}
.psicologia-intro-copy .eyebrow-accent,
.psicologia-section-heading .eyebrow-accent,
.psicologia-ethics-inner .eyebrow-accent{
  margin-bottom:20px;
  color:#08727a!important;
}
.psicologia-intro-copy h2,
.psicologia-section-heading h2,
.psicologia-ethics-inner h2{
  margin:0 0 26px;
  color:#101010;
  font-size:clamp(3rem,5.4vw,5.05rem);
  line-height:1.04;
  letter-spacing:-.06em;
  font-weight:950;
}
.psicologia-intro-copy h2 span,
.psicologia-section-heading h2 span,
.psicologia-ethics-inner h2 span{
  color:#147a7d;
}
.psicologia-intro-copy p,
.psicologia-ethics-inner p{
  margin:0 0 18px;
  color:#536970;
  font-size:1.08rem;
  line-height:1.7;
}
.psicologia-contact-card{
  position:sticky;
  top:112px;
  padding:30px 30px 32px;
  border:1px solid #c7dfe3;
  border-radius:8px;
  background:#f3fafa;
  color:#10272d;
}
.psicologia-contact-card h2{
  margin:0 0 22px;
  color:#101010;
  font-size:1.35rem;
  line-height:1.2;
  letter-spacing:-.03em;
  font-weight:950;
}
.psicologia-contact-list{
  display:grid;
  gap:18px;
  margin:0 0 26px;
  padding:0;
  list-style:none;
}
.psicologia-contact-list li{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:14px;
  color:#10272d;
  line-height:1.45;
}
.psicologia-contact-list svg{
  width:20px;
  height:20px;
  margin-top:2px;
  color:#08777d;
}
.psicologia-contact-list a{
  color:#10272d;
  text-decoration:none;
  font-weight:750;
}
.psicologia-contact-list a:hover,
.psicologia-contact-list a:focus-visible{
  color:#08777d;
  text-decoration:underline;
  text-underline-offset:3px;
}
.psicologia-contact-btn{
  width:100%;
  justify-content:center;
  background:#147a7d;
  color:#fff;
}
.psicologia-services-section{
  padding:92px 0 106px;
  background:#f3f7f7;
  color:#101010;
}
.psicologia-section-heading{
  max-width:860px;
  margin-bottom:40px;
}
.psicologia-services-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid #c7dfe3;
  border-radius:8px;
  overflow:hidden;
  background:#fff;
}
.psicologia-service-card{
  min-height:246px;
  padding:32px 30px;
  border-right:1px solid #d7e9eb;
  border-bottom:1px solid #d7e9eb;
}
.psicologia-service-card:nth-child(3n){
  border-right:0;
}
.psicologia-service-card:nth-child(n+4){
  border-bottom:0;
}
.psicologia-service-number{
  display:inline-flex;
  margin-bottom:22px;
  color:#147a7d;
  font-size:.95rem;
  font-weight:950;
  letter-spacing:.08em;
}
.psicologia-service-card h3{
  margin:0 0 12px;
  color:#101010;
  font-size:1.2rem;
  line-height:1.25;
  letter-spacing:-.03em;
  font-weight:950;
}
.psicologia-service-card p{
  margin:0;
  color:#536970;
  font-size:1rem;
  line-height:1.6;
}
.psicologia-ethics-section{
  padding:96px 0 102px;
  background:#fff;
}
.psicologia-ethics-inner{
  max-width:980px;
  padding:46px 52px;
  border:1px solid #c7dfe3;
  border-radius:8px;
  background:#f3fafa;
}
.psicologia-final-contact{
  padding:96px 0 104px;
  background:#177b80;
  color:#fff;
}
.psicologia-final-inner{
  max-width:940px;
  text-align:center;
}
.psicologia-final-inner .eyebrow{
  color:rgba(255,255,255,.78);
}
.psicologia-final-inner h2{
  margin:0 0 22px;
  color:#fff;
  font-size:clamp(3rem,5.8vw,5.2rem);
  line-height:.95;
  letter-spacing:-.06em;
  font-weight:950;
}
.psicologia-final-inner h2 span{
  color:var(--yellow);
}
.psicologia-final-inner p{
  max-width:780px;
  margin:0 auto 30px;
  color:rgba(255,255,255,.86);
  font-size:1.12rem;
  line-height:1.6;
}
.psicologia-final-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
}
.psicologia-final-primary{
  background:#fff;
  color:#064f54;
}
.psicologia-final-secondary{
  color:#fff;
}
@media (max-width:1100px){
  .psicologia-intro-grid{
    grid-template-columns:1fr;
  }
  .psicologia-contact-card{
    position:static;
  }
  .psicologia-services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .psicologia-service-card,
  .psicologia-service-card:nth-child(3n),
  .psicologia-service-card:nth-child(n+4){
    border-right:1px solid #d7e9eb;
    border-bottom:1px solid #d7e9eb;
  }
  .psicologia-service-card:nth-child(2n){
    border-right:0;
  }
  .psicologia-service-card:nth-child(n+5){
    border-bottom:0;
  }
}
@media (max-width:780px){
  .psicologia-hero-inner{
    min-height:540px;
    padding:72px 0 78px;
  }
  .psicologia-page-hero h1{
    font-size:clamp(2.7rem,12vw,4.2rem);
    line-height:1;
    max-width:100%;
  }
  .psicologia-page-hero .lead{
    font-size:1.02rem;
  }
  .psicologia-intro-section,
  .psicologia-services-section,
  .psicologia-ethics-section,
  .psicologia-final-contact{
    padding:70px 0 78px;
  }
  .psicologia-intro-copy h2,
  .psicologia-section-heading h2,
  .psicologia-ethics-inner h2,
  .psicologia-final-inner h2{
    font-size:clamp(2.35rem,10.5vw,3.6rem);
    line-height:1.08;
    letter-spacing:-.045em;
  }
  .psicologia-services-grid{
    grid-template-columns:1fr;
  }
  .psicologia-service-card,
  .psicologia-service-card:nth-child(2n),
  .psicologia-service-card:nth-child(n+5){
    border-right:0;
    border-bottom:1px solid #d7e9eb;
  }
  .psicologia-service-card:last-child{
    border-bottom:0;
  }
  .psicologia-ethics-inner{
    padding:32px 24px;
  }
}
@media (max-width:430px){
  .psicologia-page-hero{
    background-position:54% center;
  }
  .psicologia-page-hero h1{
    font-size:clamp(2.25rem,11vw,3.05rem);
    line-height:1;
    letter-spacing:-.035em;
  }
  .psicologia-hero-actions .btn{
    width:100%;
    max-width:320px;
    min-height:50px;
    justify-content:center;
    padding:14px 18px;
    font-size:.82rem;
    line-height:1.2;
    letter-spacing:.045em;
    white-space:normal;
    text-align:center;
  }
  .psicologia-hero-actions .btn.btn-ghost{
    font-size:.78rem;
  }
  .psicologia-contact-card,
  .psicologia-service-card{
    padding:24px 20px;
  }
}


/* v78 — página Parcerias IPTA */
.parcerias-page-hero{
  background-image:linear-gradient(90deg,rgba(5,24,28,.96) 0%,rgba(5,24,28,.82) 34%,rgba(5,24,28,.52) 65%,rgba(5,24,28,.66) 100%),url('assets/hero-parcerias.jpg');
  background-size:cover;
  background-position:center center;
}
.parcerias-hero-inner{position:relative;z-index:1;min-height:670px;display:flex;align-items:center;padding:82px 0 84px}
.parcerias-page-hero .course-hero-copy{max-width:900px}
.parcerias-page-hero h1{max-width:840px}
.parcerias-page-hero .lead{max-width:720px}
.parcerias-intro-section,
.parcerias-companies-section{background:#fff;color:#050505}
.parcerias-intro-section{padding:100px 0 76px}
.parcerias-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(360px,1fr);
  gap:clamp(36px,5vw,72px);
  align-items:start;
}
.parcerias-intro-copy h2,
.parcerias-section-heading h2{
  font-size:clamp(3rem,5.2vw,5.05rem);
  line-height:.94;
  letter-spacing:-.07em;
  margin:18px 0 24px;
  color:#050505;
}
.parcerias-intro-copy h2 span,
.parcerias-section-heading h2 span{color:#11777a}
.parcerias-intro-copy p:not(.eyebrow-accent),
.parcerias-section-heading p:not(.eyebrow-accent){
  color:#40555a;
  font-size:1.05rem;
  line-height:1.65;
  max-width:680px;
}
.parcerias-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.parcerias-feature-card{
  border:1px solid #c7dde0;
  border-radius:6px;
  background:#f2f8f8;
  padding:26px;
  min-height:190px;
}
.parcerias-feature-number{
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--yellow);
  color:#082b30;
  font-weight:950;
  margin-bottom:18px;
}
.parcerias-feature-card h3{
  font-size:1.1rem;
  letter-spacing:-.02em;
  margin-bottom:9px;
}
.parcerias-feature-card p{color:#4f6469;line-height:1.55;margin:0}
.parcerias-companies-section{padding:34px 0 104px}
.parcerias-section-heading{max-width:820px;margin-bottom:42px}
.parcerias-course-groups{display:grid;gap:26px}
.parcerias-company-group{
  border:1px solid #c7dde0;
  border-radius:8px;
  background:#fff;
  padding:28px;
  box-shadow:0 16px 44px rgba(8,70,74,.05);
}
.parcerias-company-heading{
  display:flex;
  align-items:center;
  gap:15px;
  margin-bottom:18px;
  color:#11777a;
}
.parcerias-company-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#edf7f7;
  border:1px solid #c7dde0;
  flex:0 0 auto;
}
.parcerias-company-icon svg{width:24px;height:24px}
.parcerias-company-heading h3{
  margin:0;
  color:#050505;
  font-size:1.42rem;
  letter-spacing:-.035em;
}
.parcerias-company-pills{gap:10px 10px}
.parcerias-company-pills span{
  background:#fff;
  color:#09292e;
  border-color:#c4dce0;
}
.parcerias-cta-section{
  background:#071f1d;
  color:#fff;
  padding:88px 0;
}
.parcerias-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
  padding:clamp(30px,4vw,52px);
  background:linear-gradient(135deg,rgba(17,119,122,.38),rgba(5,24,28,.35));
}
.parcerias-cta-inner h2{
  color:#fff;
  font-size:clamp(2.55rem,4vw,4.2rem);
  line-height:.96;
  letter-spacing:-.06em;
  margin:12px 0 18px;
}
.parcerias-cta-inner h2 span{color:var(--yellow)}
.parcerias-cta-inner p:not(.eyebrow){max-width:660px;color:rgba(226,241,241,.78);line-height:1.6;margin:0}
.parcerias-cta-inner .btn{flex:0 0 auto;background:var(--yellow);color:#071f1d}
@media (max-width:980px){
  .parcerias-hero-inner{min-height:auto;padding:78px 0 80px}
  .parcerias-intro-section{padding:78px 0 60px}
  .parcerias-intro-grid{grid-template-columns:1fr;gap:34px}
  .parcerias-companies-section{padding-bottom:78px}
  .parcerias-cta-inner{align-items:flex-start;flex-direction:column}
}
@media (max-width:640px){
  .parcerias-page-hero{background-position:center center}
  .parcerias-page-hero h1{font-size:clamp(2.75rem,15vw,4.15rem)}
  .parcerias-intro-copy h2,
  .parcerias-section-heading h2{font-size:clamp(2.7rem,12vw,3.65rem)}
  .parcerias-feature-grid{grid-template-columns:1fr}
  .parcerias-company-group{padding:22px 18px}
  .parcerias-company-heading{align-items:flex-start}
  .parcerias-company-heading h3{font-size:1.24rem}
  .parcerias-company-pills span{font-size:.88rem;padding:8px 14px}
  .parcerias-cta-section{padding:64px 0}
}


/* v79 — ajustes página Parcerias IPTA */
.parcerias-general-group{
  background:linear-gradient(180deg,#f2f8f8,#fff);
}
.parcerias-general-group .parcerias-company-heading{
  align-items:flex-start;
}
.parcerias-general-group .parcerias-company-heading p{
  margin:.35rem 0 0;
  color:#4f6469;
  line-height:1.55;
  max-width:760px;
}
.parcerias-cta-inner .eyebrow{
  color:var(--yellow)!important;
}
@media (max-width:640px){
  .parcerias-page-hero .container{
    width:min(100vw - 44px,1160px);
  }
  .parcerias-page-hero .course-hero-inner,
  .parcerias-page-hero .parcerias-hero-inner{
    padding-top:72px;
    padding-bottom:74px;
  }
  .parcerias-page-hero h1{
    font-size:clamp(2.35rem,11.2vw,3.55rem)!important;
    line-height:.98;
    letter-spacing:-.045em;
    max-width:100%;
  }
  .parcerias-page-hero .lead{
    font-size:1rem;
    line-height:1.58;
  }
  .parcerias-hero-actions .btn{
    max-width:100%;
  }
  .parcerias-general-group .parcerias-company-heading{
    gap:12px;
  }
}

/* v80 — página Oferta de Emprego */
.oferta-page-hero{
  background-image:
    linear-gradient(90deg,rgba(5,24,28,.96) 0%,rgba(5,24,28,.84) 34%,rgba(5,24,28,.48) 68%,rgba(5,24,28,.60) 100%),
    url('assets/hero-oferta-emprego.jpg');
  background-size:cover;
  background-position:center center;
  border-bottom:6px solid var(--yellow);
}
.oferta-hero-inner{
  min-height:620px;
  padding:84px 0 88px;
}
.oferta-hero-copy{max-width:920px}
.oferta-page-hero h1{
  max-width:860px;
  margin:28px 0 24px;
  color:#fff;
  font-size:clamp(3.55rem,6.5vw,6.3rem);
  line-height:.92;
  letter-spacing:-.05em;
}
.oferta-page-hero h1 span{display:block;color:var(--yellow)}
.oferta-page-hero .lead{
  max-width:760px;
  color:rgba(255,255,255,.92);
  font-size:clamp(1.05rem,1.7vw,1.3rem);
  line-height:1.58;
}
.oferta-hero-actions{margin-top:34px}

.oferta-intro-section,
.oferta-highlight-section,
.oferta-employers-section{color:#101010}
.oferta-intro-section{padding:96px 0 98px;background:#fff}
.oferta-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:56px;
  align-items:start;
}
.oferta-intro-copy{max-width:820px}
.oferta-intro-copy .eyebrow-accent,
.oferta-section-heading .eyebrow-accent,
.oferta-employers-copy .eyebrow-accent{margin-bottom:20px;color:#08727a!important}
.oferta-intro-copy h2,
.oferta-section-heading h2,
.oferta-employers-copy h2,
.oferta-final-inner h2{
  margin:0 0 24px;
  color:#101010;
  font-size:clamp(3rem,5.4vw,5.05rem);
  line-height:.95;
  letter-spacing:-.06em;
  font-weight:950;
}
.oferta-intro-copy h2 span,
.oferta-section-heading h2 span,
.oferta-employers-copy h2 span,
.oferta-final-inner h2 span{color:#147a7d}
.oferta-intro-copy p,
.oferta-employers-copy p,
.oferta-highlight-card p,
.oferta-application-card p{
  margin:0 0 18px;
  color:#536970;
  font-size:1.06rem;
  line-height:1.68;
}
.oferta-side-card{
  position:sticky;
  top:112px;
  padding:30px;
  border:1px solid #c7dfe3;
  border-radius:8px;
  background:#f3fafa;
}
.oferta-side-card h2,
.oferta-highlight-card h3,
.oferta-application-card h3,
.oferta-employers-step h3{
  margin:0 0 18px;
  color:#101010;
  font-size:1.32rem;
  line-height:1.2;
  letter-spacing:-.03em;
  font-weight:950;
}
.oferta-side-list{display:grid;gap:18px;margin:0 0 26px;padding:0;list-style:none}
.oferta-side-list li{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.oferta-side-number,
.oferta-step-number{
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--yellow);
  color:#082b30;
  font-size:.95rem;
  font-weight:950;
}
.oferta-side-list strong{display:block;margin-bottom:4px;color:#10272d;font-size:1rem}
.oferta-side-list p,
.oferta-employers-step p{margin:0;color:#536970;font-size:.98rem;line-height:1.55}
.oferta-side-btn{width:100%;justify-content:center;background:#147a7d;color:#fff}

.oferta-highlight-section{padding:94px 0 104px;background:#f3f7f7}
.oferta-section-heading{max-width:860px;margin-bottom:40px}
.oferta-highlight-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:20px;
  align-items:start;
}
.oferta-highlight-card,
.oferta-application-card,
.oferta-employers-step{
  border:1px solid #c7dfe3;
  border-radius:8px;
  background:#fff;
  box-shadow:0 16px 44px rgba(8,70,74,.05);
}
.oferta-highlight-card{padding:34px 34px 36px}
.oferta-highlight-topline{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}
.oferta-badge{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:999px;
  background:#0c5d62;
  color:#fff;
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.oferta-empresa{
  color:#08777d;
  font-size:.95rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.oferta-highlight-card h3{
  font-size:2rem;
  line-height:1.02;
  letter-spacing:-.045em;
  margin-bottom:16px;
}
.oferta-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}
.oferta-detail-grid div{
  padding:18px 18px 20px;
  border:1px solid #d7e9eb;
  border-radius:8px;
  background:#f7fcfc;
}
.oferta-detail-label{
  display:block;
  margin-bottom:8px;
  color:#536970;
  font-size:.82rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.oferta-detail-grid strong{
  color:#101010;
  font-size:1rem;
  line-height:1.35;
}
.oferta-application-card{padding:34px 30px}
.oferta-contact-list{display:grid;gap:18px;margin:0 0 24px;padding:0;list-style:none}
.oferta-contact-list li{
  display:grid;
  gap:8px;
  padding-bottom:18px;
  border-bottom:1px solid #d7e9eb;
}
.oferta-contact-list li:last-child{padding-bottom:0;border-bottom:0}
.oferta-contact-list strong{
  color:#101010;
  font-size:.92rem;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.oferta-contact-list a,
.oferta-email-stack a{
  color:#08777d;
  text-decoration:none;
  font-weight:800;
  word-break:break-word;
}
.oferta-contact-list a:hover,
.oferta-contact-list a:focus-visible,
.oferta-email-stack a:hover,
.oferta-email-stack a:focus-visible{
  text-decoration:underline;
  text-underline-offset:3px;
}
.oferta-email-stack{display:grid;gap:10px}
.oferta-apply-btn{width:100%;justify-content:center;background:#147a7d;color:#fff}

.oferta-employers-section{padding:96px 0 104px;background:#fff}
.oferta-employers-grid{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:46px;
  align-items:start;
}
.oferta-employers-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.oferta-employers-step{padding:30px;min-height:230px;background:#f7fcfc}
.oferta-employers-step h3{font-size:1.16rem;margin:18px 0 10px}

.oferta-final-section{
  padding:96px 0 104px;
  background:#177b80;
  color:#fff;
}
.oferta-final-inner{max-width:920px;text-align:center}
.oferta-final-inner .eyebrow{color:rgba(255,255,255,.78)}
.oferta-final-inner h2{
  color:#fff;
}
.oferta-final-inner h2 span{color:var(--yellow)}
.oferta-final-inner p{
  max-width:760px;
  margin:0 auto 30px;
  color:rgba(255,255,255,.86);
  font-size:1.12rem;
  line-height:1.62;
}
.oferta-final-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}
.oferta-final-primary{background:#fff;color:#064f54}
.oferta-final-secondary{color:#fff}

@media (max-width:1100px){
  .oferta-intro-grid,
  .oferta-highlight-grid,
  .oferta-employers-grid{grid-template-columns:1fr}
  .oferta-side-card{position:static}
  .oferta-employers-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:780px){
  .oferta-hero-inner{min-height:560px;padding:74px 0 80px}
  .oferta-page-hero h1{font-size:clamp(2.85rem,12.5vw,4.5rem);max-width:100%}
  .oferta-page-hero .lead{font-size:1rem}
  .oferta-intro-section,
  .oferta-highlight-section,
  .oferta-employers-section,
  .oferta-final-section{padding:70px 0 78px}
  .oferta-intro-copy h2,
  .oferta-section-heading h2,
  .oferta-employers-copy h2,
  .oferta-final-inner h2{font-size:clamp(2.45rem,10.8vw,3.8rem);line-height:1.02}
  .oferta-detail-grid,
  .oferta-employers-steps{grid-template-columns:1fr}
}
@media (max-width:430px){
  .oferta-page-hero{background-position:54% center}
  .oferta-page-hero h1{
    font-size:clamp(2.2rem,11vw,3.1rem);
    line-height:.98;
    letter-spacing:-.04em;
  }
  .oferta-hero-actions .btn{
    width:100%;
    max-width:320px;
    min-height:50px;
    justify-content:center;
    padding:14px 18px;
    font-size:.82rem;
    line-height:1.2;
    letter-spacing:.045em;
    white-space:normal;
    text-align:center;
  }
  .oferta-intro-copy h2,
  .oferta-section-heading h2,
  .oferta-employers-copy h2,
  .oferta-final-inner h2{
    font-size:clamp(2.2rem,10.5vw,3.1rem);
    line-height:1.06;
  }
  .oferta-side-card,
  .oferta-highlight-card,
  .oferta-application-card,
  .oferta-employers-step{padding:24px 20px}
  .oferta-highlight-card h3{font-size:1.58rem}
}

/* v81 — ajustes Oferta de Emprego: leitura mobile e título desktop */
.oferta-employers-copy h2{
  max-width:560px;
  font-size:clamp(2.9rem,4.35vw,4.35rem);
  line-height:1;
  letter-spacing:-.055em;
}
.oferta-employers-grid{
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
}
@media (max-width:1100px){
  .oferta-employers-copy h2{
    max-width:100%;
    font-size:clamp(2.55rem,7vw,4.2rem);
  }
}
@media (max-width:640px){
  .oferta-page-hero h1{
    font-size:clamp(2.15rem,9.6vw,3.25rem);
    line-height:1.02;
    letter-spacing:-.04em;
    max-width:100%;
  }
  .oferta-page-hero .lead{
    font-size:.98rem;
    line-height:1.52;
  }
}
@media (max-width:430px){
  .oferta-page-hero h1{
    font-size:clamp(1.95rem,8.8vw,2.65rem)!important;
    line-height:1.04;
    letter-spacing:-.035em;
  }
  .oferta-hero-inner{
    min-height:540px;
    padding-top:66px;
    padding-bottom:72px;
  }
}
@media (max-width:360px){
  .oferta-page-hero h1{
    font-size:1.82rem!important;
  }
}


/* v82 — Oferta de Emprego: reorganização mobile da secção Para empresas e instituições */
@media (max-width: 900px){
  .oferta-employers-grid{
    grid-template-columns: 1fr !important;
    gap: 28px;
  }
  .oferta-employers-copy{
    max-width: 100%;
  }
  .oferta-employers-copy h2{
    max-width: 100%;
  }
}
@media (max-width: 640px){
  .oferta-employers-section{
    padding-top: 62px;
    padding-bottom: 72px;
  }
  .oferta-employers-copy .eyebrow-accent{
    margin-bottom: 14px;
  }
  .oferta-employers-copy h2{
    font-size: clamp(2.1rem, 8.6vw, 2.95rem) !important;
    line-height: 1.02;
    letter-spacing: -0.04em;
    margin-bottom: 18px;
  }
  .oferta-employers-copy h2 br{
    display: none;
  }
  .oferta-employers-copy h2 span{
    display: block;
  }
  .oferta-employers-copy p{
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 0;
  }
  .oferta-employers-steps{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .oferta-employers-step{
    min-height: 0;
    padding: 22px 20px;
  }
  .oferta-employers-step h3{
    font-size: 1.08rem;
    margin: 16px 0 8px;
  }
}
@media (max-width: 430px){
  .oferta-employers-grid{
    gap: 24px;
  }
  .oferta-employers-copy h2{
    font-size: clamp(1.95rem, 8.2vw, 2.45rem) !important;
    line-height: 1.04;
  }
}

/* v83 — página Calendário Escolar 25/26 */
.calendario-page-hero{
  background-image:
    linear-gradient(90deg,rgba(5,24,28,.96) 0%,rgba(5,24,28,.86) 36%,rgba(5,24,28,.50) 68%,rgba(5,24,28,.62) 100%),
    url('assets/hero-calendario.jpg');
  background-size:cover;
  background-position:center center;
  border-bottom:6px solid var(--yellow);
}
.calendario-hero-inner{
  min-height:590px;
  padding:82px 0 86px;
}
.calendario-hero-copy{max-width:880px}
.calendario-page-hero h1{
  max-width:780px;
  margin:28px 0 24px;
  color:#fff;
  font-size:clamp(3.6rem,7vw,6.4rem);
  line-height:.92;
  letter-spacing:-.055em;
}
.calendario-page-hero h1 span{display:block;color:var(--yellow)}
.calendario-page-hero .lead{
  max-width:760px;
  color:rgba(255,255,255,.92);
  font-size:clamp(1.05rem,1.7vw,1.28rem);
  line-height:1.58;
}
.calendario-hero-actions{margin-top:34px}

.calendario-docs-section,
.calendario-periodos-section,
.calendario-momentos-section{color:#101010}
.calendario-docs-section{padding:96px 0 102px;background:#fff}
.calendario-docs-heading{
  max-width:900px;
  margin-bottom:38px;
}
.calendario-docs-heading .eyebrow-accent,
.calendario-periodos-heading .eyebrow-accent,
.calendario-momentos-copy .eyebrow-accent{margin-bottom:20px;color:#08727a!important}
.calendario-docs-heading h2,
.calendario-periodos-heading h2,
.calendario-momentos-copy h2,
.calendario-contact-inner h2{
  margin:0 0 22px;
  color:#101010;
  font-size:clamp(3rem,5.5vw,5.1rem);
  line-height:.95;
  letter-spacing:-.06em;
  font-weight:950;
}
.calendario-docs-heading h2 span,
.calendario-periodos-heading h2 span,
.calendario-momentos-copy h2 span,
.calendario-contact-inner h2 span{color:#147a7d}
.calendario-docs-heading p,
.calendario-momentos-copy p,
.calendario-contact-inner p{
  max-width:840px;
  margin:0;
  color:#536970;
  font-size:1.07rem;
  line-height:1.68;
}
.calendario-docs-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.calendario-doc-card{
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 24px;
  gap:18px;
  align-items:start;
  min-height:210px;
  padding:28px 24px;
  border:1px solid #c7dfe3;
  border-radius:8px;
  background:#f7fcfc;
  color:inherit;
  text-decoration:none;
  box-shadow:0 16px 44px rgba(8,70,74,.04);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.calendario-doc-card:hover,
.calendario-doc-card:focus-visible{
  transform:translateY(-3px);
  border-color:#0f7a80;
  box-shadow:0 18px 52px rgba(8,70,74,.10);
}
.calendario-doc-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border:1px solid #b8dce0;
  border-radius:8px;
  background:#eaf7f7;
  color:#0f7a80;
}
.calendario-doc-icon svg{width:30px;height:30px}
.calendario-doc-kicker{
  display:block;
  margin-bottom:10px;
  color:#08777d;
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.calendario-doc-copy h3{
  margin:0 0 10px;
  color:#101010;
  font-size:1.22rem;
  line-height:1.14;
  letter-spacing:-.025em;
  font-weight:950;
}
.calendario-doc-copy p{
  margin:0;
  color:#536970;
  font-size:.98rem;
  line-height:1.55;
}
.calendario-doc-arrow{
  color:#0f7a80;
  font-size:1.15rem;
  font-weight:900;
  align-self:start;
}

.calendario-periodos-section{padding:94px 0 100px;background:#f3f7f7}
.calendario-periodos-heading{max-width:880px;margin-bottom:38px}
.calendario-periodos-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.calendario-periodo-card{
  padding:34px 30px;
  border:1px solid #c7dfe3;
  border-radius:8px;
  background:#fff;
}
.calendario-periodo-number{
  display:inline-grid;
  place-items:center;
  min-width:72px;
  min-height:58px;
  margin-bottom:18px;
  color:var(--yellow);
  font-size:3.2rem;
  line-height:1;
  font-weight:950;
  letter-spacing:-.04em;
}
.calendario-periodo-card h3{
  margin:0 0 18px;
  color:#101010;
  font-size:1.35rem;
  line-height:1.15;
  font-weight:950;
}
.calendario-periodo-card dl{display:grid;gap:12px;margin:0}
.calendario-periodo-card dl div{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding-top:12px;
  border-top:1px solid #d6e8ea;
}
.calendario-periodo-card dt{
  color:#536970;
  font-weight:750;
}
.calendario-periodo-card dd{
  margin:0;
  color:#101010;
  font-weight:900;
  text-align:right;
}
.calendario-note{
  margin:26px 0 0;
  color:#596d73;
  font-size:.96rem;
  line-height:1.55;
}

.calendario-momentos-section{padding:96px 0 104px;background:#fff}
.calendario-momentos-grid{
  display:grid;
  grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);
  gap:52px;
  align-items:start;
}
.calendario-timeline{
  display:grid;
  border:1px solid #c7dfe3;
  border-radius:8px;
  background:#f7fcfc;
  overflow:hidden;
}
.calendario-timeline-item{
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  gap:22px;
  padding:22px 26px;
  border-bottom:1px solid #d6e8ea;
}
.calendario-timeline-item:last-child{border-bottom:0}
.calendario-timeline-date{
  color:#0f7a80;
  font-size:.86rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.calendario-timeline-item h3{
  margin:0 0 6px;
  color:#101010;
  font-size:1.05rem;
  font-weight:950;
}
.calendario-timeline-item p{
  margin:0;
  color:#536970;
  font-size:.98rem;
  line-height:1.5;
}

.calendario-contact-section{
  padding:96px 0 104px;
  background:#177b80;
  color:#fff;
}
.calendario-contact-inner{
  max-width:920px;
  text-align:center;
}
.calendario-contact-inner .eyebrow{color:rgba(255,255,255,.78)}
.calendario-contact-inner h2{color:#fff}
.calendario-contact-inner h2 span{color:var(--yellow)}
.calendario-contact-inner p{
  max-width:720px;
  margin:0 auto 30px;
  color:rgba(255,255,255,.86);
}
.calendario-contact-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
}
.calendario-contact-primary{background:#fff;color:#064f54}
.calendario-contact-secondary{color:#fff}

.alunos-platform-card[href]{text-decoration:none;color:inherit}
.alunos-platform-card[href]:hover,
.alunos-platform-card[href]:focus-visible{
  border-color:#0f7a80;
  box-shadow:0 18px 52px rgba(8,70,74,.10);
}

@media (max-width:1080px){
  .calendario-docs-grid,
  .calendario-periodos-grid{grid-template-columns:1fr 1fr}
  .calendario-momentos-grid{grid-template-columns:1fr;gap:34px}
}
@media (max-width:760px){
  .calendario-hero-inner{min-height:540px;padding:72px 0 78px}
  .calendario-page-hero h1{
    font-size:clamp(2.7rem,12vw,4.3rem);
    line-height:1;
    max-width:100%;
  }
  .calendario-page-hero .lead{font-size:1rem;line-height:1.55}
  .calendario-docs-section,
  .calendario-periodos-section,
  .calendario-momentos-section,
  .calendario-contact-section{padding:70px 0 78px}
  .calendario-docs-heading h2,
  .calendario-periodos-heading h2,
  .calendario-momentos-copy h2,
  .calendario-contact-inner h2{
    font-size:clamp(2.35rem,10.5vw,3.65rem);
    line-height:1.04;
  }
  .calendario-docs-grid,
  .calendario-periodos-grid{grid-template-columns:1fr}
  .calendario-doc-card{
    grid-template-columns:52px minmax(0,1fr) 20px;
    min-height:0;
    padding:24px 20px;
  }
  .calendario-doc-icon{width:52px;height:52px}
  .calendario-timeline-item{
    grid-template-columns:1fr;
    gap:8px;
    padding:20px 20px;
  }
}
@media (max-width:420px){
  .calendario-page-hero h1{
    font-size:clamp(2.2rem,10vw,3rem);
    line-height:1.03;
    letter-spacing:-.04em;
  }
  .calendario-hero-actions .btn{
    width:100%;
    max-width:320px;
    justify-content:center;
    min-height:50px;
    padding:14px 18px;
    white-space:normal;
    text-align:center;
  }
  .calendario-doc-card{grid-template-columns:1fr;gap:14px}
  .calendario-doc-arrow{position:absolute;right:20px;top:20px}
  .calendario-periodo-card{padding:28px 22px}
  .calendario-periodo-card dl div{display:grid;gap:4px}
  .calendario-periodo-card dd{text-align:left}
}

/* v84 — Página Acesso ao Ensino Superior */
.ensino-page-hero{
  background-image:
    linear-gradient(90deg,rgba(5,24,28,.96) 0%,rgba(5,24,28,.82) 34%,rgba(5,24,28,.44) 68%,rgba(5,24,28,.52) 100%),
    url('assets/hero-ensino-superior.jpg');
  background-size:cover;
  background-position:center center;
  border-bottom:6px solid var(--yellow);
}
.ensino-hero-inner{min-height:620px;padding:84px 0 90px}
.ensino-hero-copy{max-width:930px}
.ensino-page-hero h1{
  max-width:920px;
  margin:28px 0 24px;
  color:#fff;
  font-size:clamp(3.5rem,6.4vw,6.15rem);
  line-height:.92;
  letter-spacing:-.055em;
}
.ensino-page-hero h1 span{display:block;color:var(--yellow)}
.ensino-page-hero .lead{
  max-width:780px;
  color:rgba(255,255,255,.92);
  font-size:clamp(1.05rem,1.7vw,1.3rem);
  line-height:1.58;
}
.ensino-hero-actions{margin-top:34px}

.ensino-intro-section,
.ensino-vias-section,
.ensino-exames-section,
.ensino-instituicoes-section{color:#101010}
.ensino-intro-section{padding:96px 0 98px;background:#fff}
.ensino-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:56px;
  align-items:start;
}
.ensino-intro-copy{max-width:820px}
.ensino-intro-copy .eyebrow-accent,
.ensino-section-heading .eyebrow-accent,
.ensino-exames-copy .eyebrow-accent{margin-bottom:20px;color:#08727a!important}
.ensino-intro-copy h2,
.ensino-section-heading h2,
.ensino-exames-copy h2,
.ensino-bolsas-inner h2,
.ensino-final-inner h2{
  margin:0 0 24px;
  color:#101010;
  font-size:clamp(3rem,5.4vw,5.05rem);
  line-height:.95;
  letter-spacing:-.06em;
  font-weight:950;
}
.ensino-intro-copy h2 span,
.ensino-section-heading h2 span,
.ensino-exames-copy h2 span,
.ensino-bolsas-inner h2 span,
.ensino-final-inner h2 span{color:#147a7d}
.ensino-intro-copy p,
.ensino-section-heading p,
.ensino-exames-copy p,
.ensino-via-card p,
.ensino-bolsas-inner p,
.ensino-final-inner p{
  margin:0 0 18px;
  color:#536970;
  font-size:1.06rem;
  line-height:1.68;
}
.ensino-side-card{
  position:sticky;
  top:112px;
  padding:30px;
  border:1px solid #c7dfe3;
  border-radius:8px;
  background:#f3fafa;
}
.ensino-side-card h2,
.ensino-via-card h3,
.ensino-exames-panel h3{
  margin:0 0 18px;
  color:#101010;
  font-size:1.32rem;
  line-height:1.2;
  letter-spacing:-.03em;
  font-weight:950;
}
.ensino-link-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.ensino-link-list a{
  display:block;
  padding:15px 16px;
  border:1px solid #c7dfe3;
  border-radius:8px;
  background:#fff;
  color:#08777d;
  text-decoration:none;
  font-weight:850;
  line-height:1.35;
}
.ensino-link-list a:hover,
.ensino-link-list a:focus-visible{border-color:#08777d;text-decoration:underline;text-underline-offset:3px}

.ensino-vias-section{padding:96px 0 104px;background:#f3f7f7}
.ensino-section-heading{max-width:880px;margin-bottom:40px}
.ensino-vias-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.ensino-via-card,
.ensino-instituicao-card{
  border:1px solid #c7dfe3;
  border-radius:8px;
  background:#fff;
  box-shadow:0 16px 44px rgba(8,70,74,.05);
}
.ensino-via-card{padding:32px 30px 34px;display:flex;flex-direction:column;min-height:430px}
.ensino-via-icon{
  display:inline-grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:12px;
  margin-bottom:22px;
  color:#08777d;
  background:#eff8f8;
  border:1px solid #c7dfe3;
}
.ensino-via-icon svg{width:32px;height:32px}
.ensino-via-icon-yellow{color:#062d32;background:#fff6c8;border-color:#ffe37c}
.ensino-via-card h3{font-size:1.5rem;letter-spacing:-.04em}
.ensino-via-card ul{display:grid;gap:10px;margin:8px 0 0;padding:0;list-style:none}
.ensino-via-card li{
  position:relative;
  padding-left:24px;
  color:#243e44;
  font-size:.98rem;
  line-height:1.45;
  font-weight:650;
}
.ensino-via-card li::before{
  content:'✓';
  position:absolute;
  left:0;
  top:0;
  color:#08777d;
  font-weight:950;
}

.ensino-exames-section{padding:96px 0 104px;background:#fff}
.ensino-exames-grid{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:52px;
  align-items:start;
}
.ensino-exames-panel{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.ensino-exames-panel article{
  min-height:245px;
  padding:28px;
  border:1px solid #c7dfe3;
  border-radius:8px;
  background:#f7fcfc;
}
.ensino-exames-panel span{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:20px;
  border-radius:50%;
  background:var(--yellow);
  color:#082b30;
  font-weight:950;
}
.ensino-exames-panel h3{font-size:1.14rem;margin-bottom:10px}
.ensino-exames-panel p{margin:0;color:#536970;line-height:1.55}

.ensino-bolsas-section{
  padding:88px 0;
  background:#147a7d;
  color:#fff;
}
.ensino-bolsas-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:32px;
  align-items:center;
}
.ensino-bolsas-inner .eyebrow{color:rgba(255,255,255,.78)}
.ensino-bolsas-inner h2{color:#fff;margin-bottom:16px}
.ensino-bolsas-inner h2 span{color:var(--yellow)}
.ensino-bolsas-inner p{max-width:800px;color:rgba(255,255,255,.86);margin:0}
.ensino-bolsas-btn{background:#fff;color:#064f54;white-space:nowrap}

.ensino-instituicoes-section{padding:96px 0 104px;background:#fff}
.ensino-instituicoes-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.ensino-instituicao-card{
  display:flex;
  min-height:184px;
  flex-direction:column;
  gap:12px;
  padding:24px 22px;
  color:#101010;
  text-decoration:none;
}
.ensino-instituicao-card strong{
  color:#08777d;
  font-size:1.5rem;
  font-weight:950;
  letter-spacing:-.04em;
}
.ensino-instituicao-card span{color:#536970;line-height:1.45;flex:1}
.ensino-instituicao-card em{color:#08777d;font-style:normal;font-weight:900;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}
.ensino-instituicao-card:hover,
.ensino-instituicao-card:focus-visible{border-color:#08777d;transform:translateY(-2px)}

.ensino-final-section{
  padding:96px 0 104px;
  background:#eef7f8;
  color:#101010;
}
.ensino-final-inner{max-width:920px;text-align:center}
.ensino-final-inner .eyebrow{color:#08777d}
.ensino-final-inner p{max-width:760px;margin:0 auto 30px}
.ensino-final-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}
.ensino-final-primary{background:#147a7d;color:#fff}
.ensino-final-secondary{color:#064f54;border-color:#147a7d}

@media (max-width:1120px){
  .ensino-intro-grid,
  .ensino-exames-grid{grid-template-columns:1fr}
  .ensino-side-card{position:static}
  .ensino-vias-grid{grid-template-columns:1fr}
  .ensino-via-card{min-height:0}
  .ensino-exames-panel{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ensino-instituicoes-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:820px){
  .ensino-hero-inner{min-height:560px;padding:74px 0 80px}
  .ensino-page-hero h1{font-size:clamp(2.85rem,12.5vw,4.5rem);max-width:100%}
  .ensino-page-hero .lead{font-size:1rem;line-height:1.55}
  .ensino-intro-section,
  .ensino-vias-section,
  .ensino-exames-section,
  .ensino-instituicoes-section,
  .ensino-final-section{padding:70px 0 78px}
  .ensino-intro-copy h2,
  .ensino-section-heading h2,
  .ensino-exames-copy h2,
  .ensino-bolsas-inner h2,
  .ensino-final-inner h2{font-size:clamp(2.45rem,10.8vw,3.8rem);line-height:1.02}
  .ensino-exames-panel,
  .ensino-instituicoes-grid{grid-template-columns:1fr}
  .ensino-bolsas-inner{grid-template-columns:1fr;text-align:left}
  .ensino-bolsas-btn{justify-content:center;white-space:normal}
}
@media (max-width:430px){
  .ensino-page-hero{background-position:52% center}
  .ensino-page-hero h1{
    font-size:clamp(2.25rem,10.7vw,3.05rem);
    line-height:1;
    letter-spacing:-.04em;
  }
  .ensino-hero-actions .btn{
    width:100%;
    max-width:320px;
    min-height:50px;
    justify-content:center;
    padding:14px 18px;
    font-size:.82rem;
    line-height:1.2;
    letter-spacing:.045em;
    white-space:normal;
    text-align:center;
  }
  .ensino-intro-copy h2,
  .ensino-section-heading h2,
  .ensino-exames-copy h2,
  .ensino-bolsas-inner h2,
  .ensino-final-inner h2{
    font-size:clamp(2.2rem,10.4vw,3.1rem);
    line-height:1.06;
  }
  .ensino-intro-copy .eyebrow-accent{
    font-size:.68rem;
    letter-spacing:.12em;
    gap:10px;
    white-space:nowrap;
  }
  .ensino-intro-copy .eyebrow-accent::before{width:20px}
  .ensino-side-card,
  .ensino-via-card,
  .ensino-exames-panel article,
  .ensino-instituicao-card{padding:24px 20px}
}


/* v87 — página Alunos: links e nova imagem */
.alunos-platform-card{
  color:inherit;
  text-decoration:none;
  transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.alunos-platform-card:hover,
.alunos-platform-card:focus-visible{
  border-color:#7dbbc3;
  box-shadow:0 12px 28px rgba(5,72,80,.08);
  transform:translateY(-2px);
}
.alunos-platform-card:focus-visible{
  outline:3px solid rgba(20,122,125,.22);
  outline-offset:3px;
}
@media (max-width:430px){
  .course-hero-alunos{
    background-position:center center;
  }
}
