/* OXY: estilos limitados às páginas institucionais; nenhuma regra para LPs. */
body.oxy-institutional-page { margin:0; background:#060707; }
.oxy-site { --oxy-bg:#060707; --oxy-surface:#101111; --oxy-surface-2:#171818; --oxy-text:#f7f7f3; --oxy-muted:#b7bab4; --oxy-yellow:#ffd126; --oxy-line:rgba(255,255,255,.16); background:var(--oxy-bg); color:var(--oxy-text); font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.65; overflow-wrap:anywhere; }
.oxy-site *, .oxy-site *::before, .oxy-site *::after { box-sizing:border-box; }
.oxy-site a { color:inherit; text-underline-offset:4px; }
.oxy-site a:hover { color:var(--oxy-yellow); }
.oxy-site :focus-visible { outline:3px solid var(--oxy-yellow); outline-offset:5px; }
.oxy-site img { max-width:100%; height:auto; }
.oxy-site h1,.oxy-site h2,.oxy-site h3 { color:var(--oxy-text); font-family:Impact,'Arial Narrow',Arial,sans-serif; font-weight:700; letter-spacing:-.025em; line-height:1.03; margin:0; text-transform:uppercase; overflow-wrap:anywhere; }
.oxy-site h1 { font-size:clamp(43px,5.9vw,86px); }
.oxy-site h2 { font-size:clamp(34px,4vw,58px); }
.oxy-site h3 { font-size:clamp(24px,2.4vw,31px); }
.oxy-site p { margin:18px 0; }
.oxy-site button,.oxy-site input { font:inherit; }
.oxy-site .oxy-skip { position:absolute; top:-160px; left:15px; z-index:100000; padding:14px; background:var(--oxy-yellow); color:#080909; }
.oxy-site .oxy-skip:focus { top:38px; }
.oxy-header { position:relative; display:flex; align-items:center; gap:22px; min-height:88px; padding:16px clamp(20px,4vw,64px); border-bottom:1px solid var(--oxy-line); }
.oxy-brand { display:inline-flex; flex-shrink:0; align-items:center; }
.oxy-brand img { width:116px; display:block; background:#fff; padding:4px; border-radius:3px; }
.oxy-navigation { display:flex; align-items:center; gap:24px; margin-left:auto; }
.oxy-nav-list { display:flex; list-style:none; gap:20px; align-items:center; padding:0!important; margin:0!important; }
.oxy-nav-list a { font-size:13px; font-weight:700; text-decoration:none; display:inline-flex; align-items:center; min-height:44px; }
.oxy-site .oxy-button { display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:48px; padding:13px 22px; border:1px solid var(--oxy-yellow); border-radius:4px; background:var(--oxy-yellow); color:#080909; font-family:Arial,Helvetica,sans-serif; font-weight:800; font-size:14px; line-height:1.35; text-align:center; text-decoration:none; transition:background .16s,color .16s; }
.oxy-site .oxy-button:hover { background:#ffe16e; color:#080909; }
.oxy-site .oxy-button.secondary { background:transparent; border-color:var(--oxy-line); color:var(--oxy-text); }
.oxy-site .oxy-button.secondary:hover { border-color:var(--oxy-yellow); color:var(--oxy-yellow); }
.oxy-site .oxy-button.small { min-height:44px; padding:11px 16px; font-size:13px; }
.oxy-site .oxy-menu-toggle { display:none; min-height:44px; padding:10px 14px; margin-left:auto; color:var(--oxy-text); background:transparent; border:1px solid var(--oxy-line); border-radius:4px; cursor:pointer; }
.oxy-site .oxy-eyebrow { display:block; margin-bottom:17px; color:var(--oxy-yellow); font-size:11px; font-weight:800; letter-spacing:.16em; line-height:1.5; text-transform:uppercase; }
.oxy-site .oxy-eyebrow::before { content:''; display:inline-block; vertical-align:middle; width:25px; height:2px; margin-right:9px; background:currentColor; }
.oxy-site .oxy-highlight { color:var(--oxy-yellow); }
.oxy-hero { display:grid; grid-template-columns:1.02fr .98fr; min-height:580px; }
.oxy-hero-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:68px clamp(22px,5.5vw,80px); background:radial-gradient(ellipse at top left,rgba(255,209,38,.075),transparent 65%); }
.oxy-hero-copy p { max-width:590px; color:#c9ccc6; font-size:17px; line-height:1.7; }
.oxy-hero-visual { min-width:0; position:relative; display:flex; min-height:550px; }
.oxy-hero-visual img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:35% center; }
.oxy-hero-visual::after { content:''; pointer-events:none; position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,7,7,.7),transparent 65%),linear-gradient(0deg,rgba(6,7,7,.6),transparent 40%); }
.oxy-photo-caption { position:absolute; z-index:1; left:28px; right:28px; bottom:24px; font-size:12px; border-left:3px solid var(--oxy-yellow); padding:13px 16px; background:rgba(6,7,7,.82); }
.oxy-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:14px; }
.oxy-section { padding:76px clamp(22px,5.5vw,80px); }
.oxy-section.muted { background:var(--oxy-surface); }
.oxy-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:34px; margin-bottom:34px; }
.oxy-section-head h2 { max-width:700px; }
.oxy-section-head p { margin:0; max-width:390px; color:var(--oxy-muted); }
.oxy-path-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.oxy-path-card { position:relative; display:flex; flex-direction:column; padding:29px; background:var(--oxy-surface-2); border:1px solid var(--oxy-line); border-top:3px solid var(--oxy-yellow); min-width:0; }
.oxy-path-number { font-size:12px; font-weight:700; letter-spacing:.15em; color:var(--oxy-yellow); margin-bottom:37px; }
.oxy-path-card p { color:var(--oxy-muted); font-size:15px; }
.oxy-site .oxy-text-link { display:inline-flex; justify-content:space-between; align-items:center; min-height:44px; gap:10px; margin-top:auto; color:var(--oxy-yellow); font-size:12px; letter-spacing:.035em; text-decoration:none; font-weight:800; }
.oxy-method { display:grid; grid-template-columns:.8fr 1.2fr; gap:54px; }
.oxy-method p { color:var(--oxy-muted); }
.oxy-method-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--oxy-line); }
.oxy-step { padding:22px 22px 22px 0; border-bottom:1px solid var(--oxy-line); }
.oxy-step:nth-child(even) { padding-left:22px; }
.oxy-step strong { display:block; font-size:15px; }
.oxy-step span { display:block; color:var(--oxy-muted); font-size:14px; margin-top:6px; }
.oxy-feature { display:grid; grid-template-columns:1fr 1fr; background:var(--oxy-surface); }
.oxy-feature-photo { position:relative; min-height:460px; }
.oxy-feature-photo img { position:absolute; width:100%; height:100%; object-fit:cover; }
.oxy-feature-copy { padding:58px clamp(22px,5vw,72px); align-self:center; }
.oxy-feature-copy p { color:var(--oxy-muted); }
.oxy-checklist { padding-left:20px; color:#d7d9d3; }
.oxy-checklist li { padding:6px 0; }
.oxy-checklist li::marker { color:var(--oxy-yellow); }
.oxy-article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.oxy-article-card { min-width:0; border:1px solid var(--oxy-line); background:var(--oxy-surface-2); }
.oxy-article-card>a { display:flex; flex-direction:column; height:100%; text-decoration:none; }
.oxy-article-card>a:hover h3 { color:var(--oxy-yellow); }
.oxy-site .oxy-article-cover { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.oxy-article-body { flex:1; display:flex; flex-direction:column; padding:25px; }
.oxy-article-body .oxy-eyebrow { font-size:10px; }
.oxy-article-body h3 { font-size:27px; line-height:1.12; }
.oxy-article-body p { font-size:14px; color:var(--oxy-muted); }
.oxy-library-band { display:grid; grid-template-columns:1.3fr .7fr; gap:50px; align-items:center; background:var(--oxy-yellow); color:#080909; }
.oxy-library-band h2,.oxy-library-band .oxy-eyebrow { color:#080909; }
.oxy-library-band .oxy-button { background:#080909; color:#fff; border-color:#080909; }
.oxy-library-band .oxy-button:hover { background:#303030; color:#fff; }
.oxy-library-types { display:flex; flex-wrap:wrap; gap:10px; align-content:center; }
.oxy-library-types span { border:1px solid rgba(0,0,0,.35); padding:12px 16px; border-radius:3px; font-weight:700; font-size:15px; }
.oxy-team-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.oxy-team-card { padding:32px; border:1px solid var(--oxy-line); background:var(--oxy-surface); }
.oxy-team-card p { color:var(--oxy-muted); }
.oxy-team-card .oxy-register { font-size:12px; color:var(--oxy-yellow); }
.oxy-final { text-align:center; max-width:940px; margin:auto; }
.oxy-final p { color:var(--oxy-muted); max-width:640px; margin:23px auto; }
.oxy-footer { border-top:1px solid var(--oxy-line); background:#0c0d0d; padding:44px clamp(22px,5.5vw,80px) 24px; }
.oxy-footer-top { display:grid; grid-template-columns:.8fr 1.2fr; gap:40px; align-items:start; }
.oxy-footer img { width:115px; display:block; background:#fff; padding:4px; border-radius:3px; }
.oxy-footer p { color:var(--oxy-muted); font-size:13px; }
.oxy-footer .oxy-nav-list { flex-wrap:wrap; gap:4px 22px; }
.oxy-footer nav>a { display:inline-flex; margin-top:6px; font-size:13px; min-height:44px; align-items:center; }
.oxy-footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:18px; padding-top:24px; margin-top:24px; border-top:1px solid var(--oxy-line); font-size:11px; color:#aeb2a9; }
.oxy-footer-bottom a { min-height:28px; }
.oxy-page-intro { max-width:1040px; }
.oxy-page-intro>p { max-width:760px; font-size:18px; color:#c9ccc6; }
.oxy-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:45px; }
.oxy-columns p { color:var(--oxy-muted); }
.oxy-note { padding:22px 26px; border-left:3px solid var(--oxy-yellow); background:var(--oxy-surface-2); color:#d0d3cb; }
.oxy-location { padding:30px; border:1px solid var(--oxy-line); background:var(--oxy-surface-2); }
.oxy-location address { font-style:normal; margin:20px 0; color:var(--oxy-muted); }
.oxy-faq { max-width:900px; }
.oxy-faq details { border-bottom:1px solid var(--oxy-line); padding:16px 0; }
.oxy-faq summary { cursor:pointer; font-weight:700; padding:10px 0; color:var(--oxy-text); }
.oxy-faq details p { color:var(--oxy-muted); }
@media(min-width:1600px) { .oxy-site>main,.oxy-header,.oxy-footer { max-width:1600px; margin-inline:auto; } }
@media(max-width:1100px) {
 .oxy-header { flex-wrap:wrap; }
 .oxy-navigation { width:100%; margin:0; flex-wrap:wrap; }
 .oxy-has-menu .oxy-menu-toggle { display:inline-flex; gap:12px; align-items:center; }
 .oxy-has-menu .oxy-navigation { display:none; }
 .oxy-has-menu .oxy-navigation.is-open { display:flex; }
 .oxy-nav-list { flex-wrap:wrap; }
 .oxy-hero { grid-template-columns:1fr 1fr; }
 .oxy-hero-copy { padding-block:52px; }
 .oxy-section-head { align-items:flex-start; flex-direction:column; }
 .oxy-method { gap:32px; }
}
@media(max-width:780px) {
 .oxy-hero { grid-template-columns:1fr; }
 .oxy-hero-copy { padding-block:46px; }
 .oxy-hero-visual { min-height:360px; }
 .oxy-hero-visual img { object-position:35% 40%; }
 .oxy-hero-visual::after { background:linear-gradient(0deg,rgba(6,7,7,.55),transparent 70%); }
 .oxy-section { padding-block:52px; }
 .oxy-path-grid,.oxy-article-grid { grid-template-columns:1fr; }
 .oxy-path-card { padding:25px; }
 .oxy-path-number { margin-bottom:25px; }
 .oxy-method,.oxy-feature,.oxy-columns,.oxy-library-band,.oxy-footer-top { grid-template-columns:1fr; gap:28px; }
 .oxy-feature-photo { min-height:340px; }
 .oxy-feature-copy { padding-block:18px 44px; }
 .oxy-team-grid { grid-template-columns:1fr; }
 .oxy-team-card { padding:26px; }
 .oxy-article-card>a { display:grid; grid-template-columns:35% 1fr; }
 .oxy-site .oxy-article-cover { height:100%; aspect-ratio:auto; }
 .oxy-article-body { padding:22px; }
 .oxy-article-card:not(:has(img))>a { display:block; }
 .oxy-footer-bottom { flex-direction:column; }
}
@media(max-width:480px) {
 .oxy-site h1 { font-size:43px; }
 .oxy-hero-copy>p { font-size:16px; }
 .oxy-hero-visual { min-height:300px; }
 .oxy-actions,.oxy-actions .oxy-button { width:100%; }
 .oxy-navigation { align-items:stretch; }
 .oxy-navigation .oxy-nav-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:5px 15px; }
 .oxy-method-steps { grid-template-columns:1fr; }
 .oxy-step:nth-child(even) { padding-left:0; }
 .oxy-article-card>a { display:flex; }
 .oxy-site .oxy-article-cover { height:auto; aspect-ratio:16/9; }
 .oxy-library-types { gap:8px; }
 .oxy-library-types span { font-size:13px; padding:10px; }
 .oxy-photo-caption { left:18px; right:18px; bottom:18px; }
 .oxy-feature-photo { min-height:290px; }
}
@media(prefers-reduced-motion:reduce) { .oxy-site * { transition:none!important; scroll-behavior:auto!important; } }
