#inai-page {
    --navy: #101e36;
    --ink: #14233a;
    --muted: #465970;
    --blue: #154d72;
    --ice: #bde8fb;
    --line: #d9e2ec;
    --paper: #fff;
    --mist: #f2f6fa;
    background: var(--paper);
    color: var(--ink);
    font: 400 16px/1.65 Inter, system-ui, sans-serif;
    isolation: isolate;
    text-align: left;
}

#inai-page *, #inai-page *::before, #inai-page *::after { box-sizing: border-box; }
#inai-page :where(h1, h2, h3, p, dl, dd, figure) { margin: 0; }
#inai-page :where(h1, h2, h3) {
    color: inherit;
    font-family: inherit;
    font-weight: 750;
    line-height: 1.12;
    letter-spacing: -.035em;
    text-transform: none;
}
#inai-page h2 { font-size: clamp(1.85rem, 3.3vw, 2.8rem); }
#inai-page h3 { font-size: 1.2rem; line-height: 1.3; letter-spacing: -.02em; }
#inai-page :where(p, dd) { color: var(--muted); }
#inai-page :where(a) { color: inherit; text-underline-offset: .22em; }
#inai-page :where(a, summary, [tabindex]):focus-visible {
    outline: 3px solid #1d81b5;
    outline-offset: 4px;
}
#inai-page :where([id]) { scroll-margin-top: 3rem; }
#inai-page .inai-skip {
    position: absolute;
    z-index: 4;
    top: 8px;
    left: 8px;
    padding: 10px 15px;
    background: var(--paper);
    border-radius: 8px;
}
#inai-page .inai-skip:not(:focus) { clip-path: inset(50%); }
#inai-page .inai-shell { width: min(100% - 2.5rem, 75rem); margin-inline: auto; }
#inai-page .inai-hero {
    background: radial-gradient(ellipse at 98% 15%, #244e68, transparent 65%), var(--navy);
    color: var(--paper);
}
#inai-page .inai-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: clamp(28px, 5vw, 75px);
    align-items: center;
    padding-block: clamp(2.75rem, 6.5vw, 6rem);
}
#inai-page .inai-hero-copy > p { color: #dce9f6; }
#inai-page .inai-hero-copy .inai-kicker {
    color: var(--ice);
    font-size: .78rem;
    font-weight: 750;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}
#inai-page h1 { font-size: clamp(2.2rem, 4.75vw, 4.4rem); overflow-wrap: break-word; }
#inai-page h1 em { display: block; color: var(--ice); font-style: normal; }
#inai-page .inai-title-suffix {
    display: block;
    margin-top: .2em;
    color: #e1ebf5;
    font-size: .5em;
    font-weight: 600;
    letter-spacing: -.025em;
}
#inai-page .inai-hero-copy .inai-lead {
    margin-block: 1.3rem .7rem;
    color: var(--paper);
    font-size: clamp(1.06rem, 1.65vw, 1.25rem);
    font-weight: 650;
    line-height: 1.45;
}
#inai-page .inai-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.55rem; }
#inai-page a.inai-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    min-height: 48px;
    padding: .66rem 1.05rem;
    border: 1px solid transparent;
    border-radius: .65rem;
    font-size: .9rem;
    font-weight: 750;
    line-height: 1.35;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease;
}
#inai-page a.inai-primary { color: #102a3d; background: var(--ice); }
#inai-page a.inai-primary:hover { background: #dcf4ff; }
#inai-page a.inai-outline { color: var(--paper); border-color: #ffffff73; background: #ffffff08; }
#inai-page a.inai-outline:hover { background: #ffffff20; }
#inai-page .inai-hero-aside { min-width: 0; position: relative; }
#inai-page .inai-hero-image {
    min-height: clamp(240px, 34vw, 460px);
    background: #274760 url('../images/hero-gestao-ia.webp') center / cover no-repeat;
    border: 1px solid #ffffff36;
    border-radius: 1.35rem;
}
#inai-page .inai-metrics {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: -3.6rem .85rem 0;
    padding: 1rem .35rem;
    border: 1px solid #ffffff4d;
    border-radius: .95rem;
    background: #11283def;
    backdrop-filter: blur(12px);
    box-shadow: 0 14px 36px #07142355;
    text-align: center;
}
#inai-page .inai-metrics > div { display: flex; flex-direction: column-reverse; padding-inline: .2rem; }
#inai-page .inai-metrics > div + div { border-left: 1px solid #ffffff38; }
#inai-page .inai-metrics dt { color: #deebf8; font-size: clamp(.72rem, 1.15vw, .88rem); }
#inai-page .inai-metrics dd {
    color: var(--paper);
    font-size: clamp(1.25rem, 2.8vw, 2.1rem);
    font-weight: 750;
    line-height: 1.2;
    white-space: nowrap;
}

#inai-page .inai-section { padding-block: clamp(2.8rem, 6vw, 5rem); }
#inai-page .inai-tinted { background: var(--mist); }
#inai-page .inai-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    align-items: start;
    gap: 1.2rem clamp(2rem, 6vw, 6rem);
}
#inai-page .inai-section-copy p, #inai-page .inai-intro { margin-top: .7rem; }
#inai-page .inai-intro { max-width: 67ch; }
#inai-page .inai-fdc {
    display: flex;
    align-items: center;
    gap: .9rem 1.4rem;
    min-height: 118px;
    padding: clamp(1.1rem, 3vw, 1.7rem);
    border-radius: 1rem;
    color: var(--paper);
    background: linear-gradient(122deg, #5f2d68, #4d245a);
}
#inai-page .inai-fdc img { display: block; width: 76px; height: auto; flex: none; }
#inai-page .inai-fdc strong { display: block; line-height: 1.35; }
#inai-page .inai-fdc a { display: inline-block; margin-top: .25rem; color: #f4e2fa; font-size: .86rem; }

#inai-page .inai-table-hint {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}
#inai-page .inai-table-wrap {
    margin-top: 1.4rem;
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: .9rem;
    background: var(--paper);
}
#inai-page .inai-table {
    width: 100%;
    min-width: 680px;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    color: var(--ink);
    font: inherit;
    font-size: .9rem;
}
#inai-page .inai-table :is(th, td) {
    padding: .92rem 1rem;
    border: 0;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: middle;
}
#inai-page .inai-table thead th { background: var(--navy); color: var(--paper); font-weight: 700; }
#inai-page .inai-table tbody th { width: 49%; font-weight: 650; }
#inai-page .inai-table tbody tr:nth-child(even) { background: #f8fafd; }
#inai-page .inai-table tfoot { background: #e8f0f7; font-weight: 750; }
#inai-page .inai-table tfoot :is(th, td) { border-bottom: 0; }
#inai-page .inai-table tr > :last-child { white-space: nowrap; }
#inai-page .inai-mode {
    display: inline-block;
    padding: .15rem .55rem;
    border-radius: .4rem;
    background: #e4edf6;
    color: #244767;
    font-size: .8rem;
    font-weight: 700;
    white-space: nowrap;
}
#inai-page .inai-mode[data-mode="Online"] { background: #dbf1ed; color: #17574d; }
#inai-page .inai-mode[data-mode="A confirmar"] { background: #f5ecda; color: #694a11; }
#inai-page .inai-syllabi, #inai-page .inai-audience { margin-top: clamp(2.8rem, 5vw, 4.4rem); }
#inai-page .inai-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .9rem;
    margin-top: 1.25rem;
}
#inai-page .inai-course, #inai-page .inai-competencies dl > div {
    padding: clamp(1rem, 2.5vw, 1.5rem);
    border: 1px solid var(--line);
    border-radius: .9rem;
    background: var(--paper);
}
#inai-page .inai-course h3 { overflow-wrap: break-word; }
#inai-page .inai-course p { margin-top: .65rem; font-size: .91rem; }
#inai-page .inai-course .inai-course-meta { color: var(--blue); font-size: .82rem; font-weight: 700; }
#inai-page .inai-teachers { gap: clamp(.9rem, 2vw, 1.25rem); }
#inai-page .inai-teacher-card {
    display: grid;
    grid-template-rows: 1fr auto;
    min-width: 0;
    padding: clamp(1rem, 2.5vw, 1.5rem);
    border: 1px solid var(--line);
    border-radius: .9rem;
    background: linear-gradient(145deg, var(--mist), transparent 65%), var(--paper);
    box-shadow: 0 7px 20px #14233a0a;
}
#inai-page .inai-teacher-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: clamp(.75rem, 1.6vw, 1rem);
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--line);
}
#inai-page .inai-teacher-avatar {
    display: grid;
    place-items: center;
    width: clamp(3.1rem, 6vw, 4.25rem);
    aspect-ratio: 1;
    border-radius: .75rem;
    background: #e4edf6;
    color: var(--blue);
    font-size: clamp(1rem, 1.8vw, 1.35rem);
    font-weight: 750;
    letter-spacing: .025em;
}
#inai-page .inai-teacher-heading { overflow-wrap: anywhere; }
#inai-page .inai-teacher-discipline {
    margin-bottom: .28rem;
    color: var(--blue);
    font-size: .82rem;
    font-weight: 650;
    line-height: 1.4;
}
#inai-page .inai-teacher-meta {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-top: .85rem;
    font-size: .85rem;
}

#inai-page .inai-competencies { margin-top: 2rem; }
#inai-page .inai-competencies dl > div { background: var(--mist); }
#inai-page .inai-competencies dt { font-weight: 750; }
#inai-page .inai-competencies dd { margin-top: .35rem; font-size: .94rem; }
#inai-page .inai-audience { padding-top: 2rem; border-top: 1px solid var(--line); }

#inai-page .inai-faq details {
    border: 1px solid var(--line);
    border-radius: .75rem;
    background: var(--paper);
}
#inai-page .inai-faq details + details { margin-top: .65rem; }
#inai-page .inai-faq summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .8rem;
    list-style: none;
    padding: .88rem 1rem;
    border-radius: inherit;
    font-weight: 700;
    cursor: pointer;
}
#inai-page .inai-faq summary::-webkit-details-marker { display: none; }
#inai-page .inai-faq summary::after {
    content: "";
    width: .54rem;
    height: .54rem;
    flex: none;
    margin-right: .12rem;
    border: solid var(--blue);
    border-width: 0 2px 2px 0;
    transform: translateY(-2px) rotate(45deg);
}
#inai-page .inai-faq details[open] summary::after { transform: translateY(2px) rotate(225deg); }
#inai-page .inai-faq summary:hover { background: #eaf3f9; }
#inai-page .inai-faq p { padding: 0 1rem 1rem; }
#inai-page .inai-contact {
    color: var(--paper);
    background: linear-gradient(110deg, var(--navy), #204864);
    padding-bottom: clamp(6.5rem, 9vw, 8.4rem);
}
#inai-page .inai-contact-panel { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.2rem; }
#inai-page .inai-contact-panel p { color: #dce9f6; margin-top: .65rem; }
#inai-page a.inai-floating {
    position: fixed;
    z-index: 20;
    bottom: max(1rem, env(safe-area-inset-bottom));
    right: max(1rem, env(safe-area-inset-right));
    color: var(--paper);
    background: #125446;
    border-color: #ffffff40;
    box-shadow: 0 7px 20px #0c2f2a35;
}
#inai-page a.inai-floating:hover { background: #0d4337; }
#inai-page .inai-floating svg { display: block; width: 22px; height: 22px; flex: none; }

@media (max-width: 900px) {
    #inai-page .inai-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #inai-page .inai-split { gap: 1.2rem 2rem; }
}
@media (max-width: 740px) {
    #inai-page .inai-hero-grid, #inai-page .inai-split { grid-template-columns: minmax(0, 1fr); }
    #inai-page .inai-hero-image { min-height: clamp(170px, 45vw, 300px); }
    #inai-page .inai-table-hint { position: static; width: auto; height: auto; clip-path: none; margin-top: .85rem; font-size: .82rem; }
    #inai-page .inai-table-wrap { margin-top: .5rem; }
}
@media (max-width: 520px) {
    #inai-page .inai-shell { width: calc(100% - 2rem); }
    #inai-page .inai-grid { grid-template-columns: minmax(0, 1fr); }
    #inai-page .inai-actions > a { width: 100%; }
    #inai-page .inai-fdc img { width: 58px; }
}
@media (prefers-reduced-motion: reduce) {
    #inai-page a.inai-button { transition: none; }
}
