/* Institutional campaign: shared tokens, native video and no autoplay. */
:root { --ii-ink:#071a2b; --ii-lime:#c8ff26; --ii-paper:#f4f4eb; }
html { scroll-padding-top:24px; }
:focus-visible { outline:3px solid #1870d7; outline-offset:5px; }
.site-header :focus-visible,.ii-video-section :focus-visible,.ii-landing-hero :focus-visible,.ii-hero :focus-visible { outline-color:var(--ii-lime); }
.header-inner nav { flex-wrap:wrap; }
.header-inner nav a,.header-logout button { min-height:44px; display:inline-flex; align-items:center; }
.ii-hero { background:var(--ii-ink); color:white; overflow:hidden; padding:72px 0 88px; }
.ii-hero-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:30px; }
.ii-hero .eyebrow,.ii-landing-hero .eyebrow,.ii-video-section .eyebrow { color:var(--ii-lime); }
.ii-hero h1 { margin:24px 0; font-size:clamp(3.8rem,6.4vw,6.25rem); line-height:.98; letter-spacing:-.065em; font-weight:750; }
.ii-hero h1 em,.ii-landing-hero h1 em { color:var(--ii-lime); font-style:normal; }
.ii-hero-copy>p:not(.eyebrow) { max-width:460px; color:#d1dce3; font-size:1.15rem; line-height:1.65; margin:28px 0 32px; }
.ii-button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:54px; padding:16px 23px; border:1px solid transparent; border-radius:10px; font-size:1rem; font-weight:750; text-decoration:none; line-height:1.35; }
.ii-button span { font-size:1.25rem; }
.ii-button-lime { background:var(--ii-lime); color:var(--ii-ink); }
.ii-button-ink { background:var(--ii-ink); color:white; }
.ii-button:hover { filter:brightness(.95); }
.ii-text-link { font-weight:700; text-underline-offset:6px; line-height:1.5; display:inline-block; padding:10px 0; }
.ii-hero-art { position:relative; height:490px; min-width:0; }
.ii-art-tag { position:absolute; top:0; right:5px; color:#c8d4df; font-size:.82rem; }
.ii-window { position:absolute; border-radius:12px; overflow:hidden; box-shadow:0 25px 65px #0005; border:1px solid #ffffff35; background:#fff; }
.ii-window img { display:block; width:100%; height:auto; }
.ii-window-bar { height:26px; padding:0 11px; display:flex; align-items:center; gap:4px; background:#e6e9eb; color:#40515b; }
.ii-window-bar i { display:block; width:5px; height:5px; border-radius:50%; background:#87979e; }
.ii-window-bar span { font-size:9px; padding-left:18px; }
.ii-window-obras { width:83%; top:46px; left:0; transform:rotate(-3deg); }
.ii-window-danca { width:78%; top:213px; right:0; transform:rotate(3deg); }
.ii-art-note { position:absolute; left:0; bottom:0; color:var(--ii-lime); font-size:.85rem; }
.ii-purpose-line { border-bottom:1px solid #071a2b25; background:#e8efda; }
.ii-purpose-line .shell { display:flex; justify-content:space-between; gap:20px; padding-block:22px; color:#324746; font-size:.85rem; font-weight:650; }
.ii-purpose-line span::before { content:'↗'; margin-right:12px; }
.ii-section { padding:90px 0; }
.ii-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:45px; }
.ii-section-heading h2,.ii-about h2,.ii-flow-grid h2,.ii-faq-layout h2 { margin:15px 0 0; font-size:clamp(2.2rem,4vw,3.4rem); letter-spacing:-.05em; line-height:1.08; }
.ii-section-heading>p { max-width:440px; margin:0 0 4px; color:#51616a; font-size:1.05rem; line-height:1.75; }
.ii-project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.ii-project { border-radius:20px; padding:32px; display:flex; flex-direction:column; overflow:hidden; }
.ii-project-obras { background:#302348; color:#faf7ff; }
.ii-project-danca { background:#f4ca55; color:var(--ii-ink); }
.ii-project-top { display:flex; justify-content:space-between; font-size:.8rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
.ii-project h3 { font-size:clamp(2.6rem,4vw,3.9rem); margin:30px 0 18px; line-height:1; letter-spacing:-.055em; }
.ii-project>p:not(.ii-project-note) { font-size:1rem; line-height:1.7; margin:0 0 20px; max-width:480px; }
.ii-tags { display:flex; gap:8px; flex-wrap:wrap; padding:0; margin:0 0 28px; list-style:none; }
.ii-tags li { font-size:.73rem; border:1px solid currentColor; border-radius:30px; padding:6px 10px; }
.ii-project-image { display:block; margin-top:auto; border:6px solid #ffffff25; border-radius:11px; overflow:hidden; background:white; }
.ii-project-image img { display:block; width:100%; height:auto; }
.ii-project-link { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:66px; text-decoration:none; font-weight:750; font-size:1rem; margin-top:12px; }
.ii-project-link:hover { text-decoration:underline; text-underline-offset:6px; }
.ii-project-note { font-size:.78rem; line-height:1.55; border-top:1px solid #ffffff35; margin:4px 0 0; padding-top:16px; }
.ii-project-danca .ii-project-note { border-color:#071a2b30; }
.ii-video-section { background:var(--ii-ink); color:white; padding:80px 0; }
.ii-video-section .ii-section-heading>p { color:#c4d3dc; }
.ii-film { margin:0; }
.ii-film video { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:#050f1c; border:1px solid #ffffff25; border-radius:16px; }
.ii-film figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.78rem; line-height:1.6; color:#c4d3dc; margin:14px 0 0; }
.ii-video-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:28px; }
.ii-video-actions small { flex-basis:100%; color:#c4d3dc; }
.ii-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.ii-about p:not(.eyebrow) { font-size:1.12rem; line-height:1.8; margin:0 0 20px; color:#42545e; }
.ii-landing-hero { padding:65px 0 60px; color:white; background:var(--ii-ink); text-align:center; }
.ii-landing-hero h1 { font-size:clamp(2.5rem,4.7vw,4.4rem); letter-spacing:-.055em; line-height:1.1; margin:24px auto; max-width:1050px; }
.ii-landing-lead { max-width:770px; margin:0 auto 38px; color:#c4d3dc; font-size:1.1rem; line-height:1.75; }
.ii-landing-hero .ii-film { max-width:1040px; margin:0 auto; text-align:left; }
.ii-primary-conversion { display:flex; justify-content:center; align-items:center; gap:30px; flex-wrap:wrap; margin-top:30px; }
.ii-approval-note { font-size:.85rem; color:#c4d3dc; margin:20px auto 0; max-width:660px; line-height:1.7; }
.ii-capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px; }
.ii-capabilities article { padding-top:25px; border-top:1px solid #071a2b40; }
.ii-icon { display:grid; place-items:center; background:#e5edcc; width:48px; height:48px; border-radius:12px; font-size:1.5rem; }
.ii-capabilities h3 { font-size:1.35rem; letter-spacing:-.025em; margin:24px 0 12px; }
.ii-capabilities p { line-height:1.75; color:#51616a; }
.ii-flow-section { background:#e7ecdf; padding:85px 0; }
.ii-flow-grid { display:grid; grid-template-columns:1fr 1.35fr; gap:100px; }
.ii-flow-grid>div>p:not(.eyebrow) { line-height:1.7; color:#42545e; max-width:355px; margin:25px 0 15px; }
.ii-flow { list-style:none; padding:0; margin:0; }
.ii-flow li { border-left:2px solid #638041; padding:0 0 28px 30px; position:relative; }
.ii-flow li:last-child { padding-bottom:0; }
.ii-flow li::before { content:''; position:absolute; width:10px; height:10px; background:#638041; border-radius:50%; left:-6px; top:4px; }
.ii-flow span { font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; color:#4a6536; font-weight:750; }
.ii-flow h3 { font-size:1.3rem; letter-spacing:-.025em; margin:10px 0; line-height:1.35; }
.ii-flow p { margin:0; line-height:1.75; color:#42545e; }
.ii-faq-layout { display:grid; grid-template-columns:1fr 1.35fr; gap:100px; }
.ii-faq details { border-bottom:1px solid #071a2b30; padding:20px 0; }
.ii-faq details:first-child { padding-top:0; }
.ii-faq summary { cursor:pointer; min-height:44px; line-height:1.6; font-size:1.1rem; font-weight:700; }
.ii-faq p { line-height:1.75; color:#42545e; }
.ii-final-cta { background:var(--ii-lime); padding:70px 0; text-align:center; }
.ii-final-cta h2 { margin:20px 0 30px; font-size:clamp(2.25rem,4vw,3.4rem); letter-spacing:-.05em; line-height:1.08; }
.ii-final-cta p:last-child { font-size:.8rem; margin-top:20px; }
@media(min-width:1500px) { .ii-hero h1 { font-size:6.25rem; } }
@media(max-width:1000px) {
 .header-inner { gap:16px; padding-block:15px; }.header-inner nav { gap:10px 18px; justify-content:flex-end; }.brand { flex-shrink:0; }.brand span { display:none; }
 .ii-hero { padding:50px 0 65px; }.ii-hero-art { height:390px; }.ii-window-danca { top:180px; }.ii-window-obras { top:40px; }
 .ii-section { padding:65px 0; }.ii-section-heading { gap:30px; }.ii-section-heading>p { max-width:360px; }.ii-project { padding:26px; }
 .ii-flow-grid,.ii-faq-layout { gap:50px; }
}
@media(max-width:700px) {
 .shell { width:calc(100% - 36px); }.header-inner { flex-wrap:wrap; gap:8px; }.brand img { width:58px; }.brand span { display:block; font-size:1rem; }
 .header-inner nav { width:100%; justify-content:space-between; gap:4px 12px; }.header-inner nav a { font-size:.78rem; }.header-inner nav a:not(.login-link):not(.account-link) { display:inline-flex; }.login-link { padding:7px 10px; justify-content:center; }.header-logout button { font-size:.78rem; }
 .ii-hero-grid { grid-template-columns:1fr; gap:36px; }.ii-hero { padding:38px 0 45px; }.ii-hero h1 { font-size:clamp(3.7rem,13vw,5rem); }.ii-hero .eyebrow { font-size:.65rem; }.ii-hero-copy>p:not(.eyebrow) { font-size:1.05rem; margin-block:24px; }
 .ii-hero-art { height:350px; max-width:470px; width:100%; margin:auto; }.ii-window-obras { width:80%; top:28px; }.ii-window-danca { top:145px; width:76%; }.ii-art-tag { font-size:.72rem; top:-8px; }.ii-art-note { font-size:.75rem; }
 .ii-purpose-line .shell { padding-block:16px; gap:12px; flex-wrap:wrap; font-size:.72rem; }.ii-purpose-line span::before { margin-right:6px; }
 .ii-section { padding:48px 0; }.ii-section-heading { display:block; margin-bottom:30px; }.ii-section-heading>p { max-width:none; margin-top:24px; font-size:1rem; }
 .ii-project-grid { grid-template-columns:1fr; gap:20px; }.ii-project { padding:25px; border-radius:16px; }.ii-project h3 { font-size:3rem; }.ii-project-link { font-size:.92rem; }
 .ii-video-section { padding:48px 0; }.ii-film video { border-radius:9px; }.ii-video-actions { gap:14px; }.ii-video-actions .ii-button { width:100%; }.ii-video-actions small { line-height:1.6; }
 .ii-about-grid,.ii-flow-grid,.ii-faq-layout { grid-template-columns:minmax(0,1fr); gap:30px; }.ii-about p:not(.eyebrow) { font-size:1rem; }
 .ii-landing-hero { padding:38px 0; }.ii-landing-hero h1 { font-size:2.55rem; }.ii-landing-hero h1 br { display:none; }.ii-landing-hero h1 em { display:block; margin-top:8px; }.ii-landing-lead { font-size:1rem; margin-bottom:26px; }.ii-primary-conversion { gap:12px; }.ii-primary-conversion .ii-button { width:100%; }.ii-film figcaption { font-size:.7rem; }.ii-approval-note { font-size:.78rem; }
 .ii-capabilities { grid-template-columns:1fr; gap:24px; }.ii-capabilities article { padding-top:24px; }.ii-capabilities h3 { margin:16px 0 8px; }.ii-capabilities p { margin:0; }
 .ii-flow-section { padding:48px 0; }.ii-flow-grid h2 { max-width:350px; }.ii-flow li { padding-left:22px; }.ii-final-cta { padding:45px 0; }.ii-final-cta h2 br { display:none; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
