/* Institutional design shares the visual language of the approved Novo Normal LP. */
body.institutional { --bg:#05050d; --bg-soft:#0a0812; --surface:#100d19; --surface-strong:#0c0913; --surface-muted:#ffffff03; --text:#f1edf8; --muted:#aca2bc; --line:#ac8ed02b; --accessible-accent:#b899e8; background:#05050d; color:var(--text); }
.institutional .site-bg { background:radial-gradient(ellipse at 10% 20%,#4d328914,transparent 45%),radial-gradient(ellipse at 90% 60%,#4831910c,transparent 45%); }
.institutional .site-grid { opacity:.025; }
.institutional .site-header { background:#05050de8; border-bottom:1px solid #c1a1ea15; backdrop-filter:blur(24px); }
.institutional .site-header.is-scrolled { background:#07050ff5; border-color:#bda3dd26; }
.institutional .header-row { min-height:90px; gap:20px; }
.institutional .brand img { width:156px; height:86px; object-fit:contain; }
.institutional .main-nav { gap:4px; padding:5px; border:1px solid #bfa7de1a; border-radius:100px; background:#ffffff02; }
.institutional .main-nav a { font-size:12px; padding:10px 13px; color:#a59ab6; font-weight:500; letter-spacing:0; border-radius:100px; transition:color .2s,background .2s; }
.institutional .main-nav a:after { content:none; }
.institutional .main-nav a:hover { background:#a47bd90c; color:#ede1ff; }
.institutional .main-nav a[aria-current=page] { color:#e3d4f4; background:#a47bd916; }
.institutional .button { min-height:52px; padding:14px 24px; gap:15px; font-size:13px; font-weight:600; line-height:1.5; text-align:center; }
.institutional .button-primary { background:linear-gradient(110deg,#5840d5,#8b48d6); border-color:#c1a6ff75; box-shadow:inset 0 1px #ffffff26,0 8px 35px #6830cf24; }
.institutional .button-primary:hover { box-shadow:inset 0 1px #fff4,0 0 0 5px #8b55ff0c,0 12px 45px #7d46e93b; }
.institutional .button-secondary { background:#ffffff02; color:#d0c4de; border-color:#bba3d837; }
.institutional .button-secondary:hover { background:#a781d510; border-color:#a47ad26b; }
.institutional .button-sm { min-height:43px; padding:10px 18px; font-size:11px; }
.institutional .button .nn-icon { width:17px; height:17px; }
.institutional a:hover .nn-icon-arrow-up-right { transform:translate(2px,-2px); }
.institutional h1,.institutional h2,.institutional h3 { color:#f1edf8; font-family:"Plus Jakarta Sans",Inter,sans-serif; }
.institutional h2 { letter-spacing:-1.8px; line-height:1.2; text-wrap:balance; }
.institutional .eyebrow { font-size:10px; letter-spacing:1.8px; color:#b399d4; font-weight:650; line-height:1.8; }
.institutional .accent-text,.institutional .hero-gradient { color:#b596ee; background:linear-gradient(105deg,#889bff,#c3b6ff 48%,#b07bff 90%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.institutional .section { padding:85px 0; }
.institutional .section-alt { background:#0a0812; border-block:1px solid #bca0da12; }
.institutional .section-head { max-width:800px; margin-bottom:38px; }
.institutional .section-head h2 { font-size:clamp(30px,3.1vw,43px); }
.institutional .section-head p:not(.eyebrow) { color:#9f93b0; font-size:14px; line-height:1.9; max-width:670px; }
.institutional .hero-text { color:#a99db8; font-size:15px; line-height:1.9; }
.institutional .page-hero { position:relative; overflow:hidden; padding:75px 0 65px; background:radial-gradient(ellipse at 15% 50%,#4d32891a,transparent 65%); }
.institutional .page-hero:before { content:""; position:absolute; width:350px; height:90px; top:30px; right:-210px; border:1px solid #ad9cd81c; border-radius:100px; transform:rotate(-18deg); background:linear-gradient(100deg,#7952bf14,transparent); pointer-events:none; }
.institutional .page-hero h1 { font-size:clamp(42px,4.7vw,66px); line-height:1.1; letter-spacing:-3px; max-width:18ch; margin:18px 0 25px; }
.institutional .page-hero-grid { gap:60px; }
.institutional .page-hero-single h1 { max-width:21ch; margin-left:auto; margin-right:auto; }
.institutional .hero-actions { gap:14px; margin-top:28px; }
.institutional .showcase-card,.institutional .showcase-card-about,.institutional .portfolio-cover { border:1px solid #b999dd30; border-radius:24px; box-shadow:0 25px 70px #0003; background:#0a0812; }
.institutional .showcase-card img { object-fit:cover; }
.institutional .service-card,.institutional .feature-card,.institutional .testimonial-card,.institutional .blog-card,.institutional .about-panel,.institutional .contact-card,.institutional .service-detail-card,.institutional .authority-card,.institutional .work-card,.institutional .metric-card,.institutional .portfolio-card { background:linear-gradient(140deg,#12101c,#0b0913); border:1px solid #bfa1df25; border-radius:20px; box-shadow:none; }
.institutional .portfolio-content h3 { font-size:22px; letter-spacing:-.7px; }
.institutional .portfolio-content p { font-size:13px; line-height:1.8; color:#a59ab5; }
.institutional .portfolio-content a { display:inline-flex; align-items:center; gap:15px; min-height:44px; font-size:12px; color:#c0a1e5; }
.institutional .service-card,.institutional .blog-card,.institutional .feature-card,.institutional .testimonial-card,.institutional .service-detail-card { padding:30px; }
.institutional .service-card { position:relative; transition:transform .25s,border-color .25s,background .25s; }
.institutional .service-card:hover { background:linear-gradient(140deg,#191123,#0d0a15); border-color:#b08bd36b; transform:translateY(-5px); }
.institutional .service-card h3 { font-size:21px; letter-spacing:-.7px; line-height:1.35; margin:22px 0 12px; }
.institutional .service-card p,.institutional .feature-card p,.institutional .blog-card p,.institutional .testimonial-card p { font-size:13px; line-height:1.9; color:#a59ab5; }
.institutional .service-card>a { display:inline-flex; gap:15px; align-items:center; min-height:44px; color:#c0a1e5; font-size:12px; font-weight:500; }
.institutional .service-card>a:after { content:none; }
.institutional .service-index { font-size:10px; letter-spacing:1.4px; color:#a88ac5; }
.institutional .service-icon { display:grid; place-items:center; width:46px; height:46px; border:1px solid #b993e034; border-radius:14px; background:linear-gradient(135deg,#a06beb10,#706be808); color:#c1a0ee; }
.institutional .service-icon .nn-icon { width:22px; height:22px; }
.institutional .service-card>.service-index { position:absolute; right:27px; top:30px; color:#7a668b; }
.institutional .feature-card h3 { font-size:21px; letter-spacing:-.6px; }
.institutional .purpose-grid { gap:22px; }
.institutional .purpose-grid .feature-card { padding:36px; }
.institutional .purpose-grid h2 { font-size:27px; margin:18px 0; }
.institutional .values-grid .feature-card { padding:29px; }
.institutional .values-grid h3 { font-size:20px; margin-top:20px; }
.institutional .proposition-copy p { color:#a79bb5; font-size:15px; line-height:1.9; }
.institutional .proposition-layout { gap:65px; }
.institutional .trusted-section { padding:50px 0 32px; background:#080710; }
.institutional .trusted-head { margin-bottom:25px; }
.institutional .trusted-head h2 { font-size:28px; }
.institutional .trusted-head p { font-size:12px; }
.institutional .trusted-track { gap:0; animation-duration:40s; }
.institutional .trusted-logo-card { width:185px; height:104px; min-height:0; margin-right:20px; background:#ffffff03; border:1px solid #ad8cd61a; border-radius:14px; }
.institutional .trusted-logo-card img { max-height:70px; max-width:145px; }
.institutional .trusted-fade-left { background:linear-gradient(90deg,#080710,transparent); }
.institutional .trusted-fade-right { background:linear-gradient(270deg,#080710,transparent); }
.institutional .marquee-control { background:transparent; border:0; color:#a08cae; font-size:10px; margin-top:12px; }
.institutional .logo-strip { border-block:1px solid #c1a3e115; background:#080710; }
.institutional .strip-items { justify-content:center; gap:35px; padding:20px 0; }
.institutional .strip-items span { font-size:10px; color:#a495b4; font-weight:500; white-space:nowrap; }
.institutional .cta-banner,.institutional .diagnostic-banner { border:1px solid #b58cdd32; border-radius:24px; background:radial-gradient(ellipse at 90% 100%,#6d35a52b,transparent 65%),#100b1b; padding:45px; box-shadow:none; }
.institutional .cta-banner h2 { font-size:clamp(30px,3.1vw,43px); }
.institutional .cta-banner p,.institutional .diagnostic-banner p { color:#ad9cbd; font-size:14px; line-height:1.8; }
.institutional .site-footer { background:#05050d; border-top:1px solid #c0a3df1c; margin-top:65px; padding-top:48px; }
.institutional .footer-logo { width:175px; height:105px; object-fit:contain; }
.institutional .footer-grid { grid-template-columns:1.1fr .75fr 1fr 1.25fr; gap:35px; }
.institutional .site-footer h3 { font-size:12px; color:#dfd2ed; letter-spacing:.3px; }
.institutional .site-footer p,.institutional .site-footer a,.institutional .footer-text { font-size:11px; color:#9c8ba9; line-height:1.9; }
.institutional .site-footer a:hover { color:#d7b5ff; }
.institutional .footer-bottom { border-color:#bda4d31a; }
.institutional .whatsapp-float { display:grid; place-items:center; border-radius:50%; background:#12101b; border:1px solid #baa2db42; width:58px; height:58px; box-shadow:0 8px 30px #0005; animation:none; }
.institutional .whatsapp-float .wa-logo { display:block; width:35px; height:35px; }
.institutional .whatsapp-float .wa-logo path:first-child { fill:#a37cdd; }
.institutional .contact-hero-meta span,.institutional .blog-topic-row span { background:#ac83df07; border-color:#b18ad92b; color:#ad96bf; font-size:10px; }
.institutional .contact-card h2,.institutional .map-card h2 { font-size:27px; }
.institutional .contact-info-item { border-color:#b993d923; }
.institutional .contact-info-item small { color:#ab8fc2; font-size:10px; }
.institutional .contact-info-item strong { color:#dfd2eb; font-size:14px; font-weight:500; }
.institutional .map-consent { border-color:#af8ed82b; background:#100b18; border-radius:20px; }
.institutional .map-consent p { color:#a99ab6; font-size:13px; }
.institutional .lead-card { color-scheme:dark; background:linear-gradient(140deg,#14101f,#0d0b15 80%); border-color:#aa88d532; color:#eee6fa; box-shadow:inset 0 1px #e9d7ff0a,0 30px 100px #0004; }
.institutional .lead-heading { border-color:#d2afff1a; }
.institutional .lead-heading h2 { color:#f1e9fa; font-size:25px; }
.institutional .lead-heading p,.institutional .lead-review>p { color:#a494af; }
.institutional .lead-label { color:#b897dd; }
.institutional .lead-progress>div { color:#aa96bd; }
.institutional .lead-progress progress,.institutional .lead-progress progress::-webkit-progress-bar { background:#292032; }
.institutional .lead-progress progress::-webkit-progress-value { background:linear-gradient(90deg,#7189ff,#a96df2); }
.institutional .lead-progress progress::-moz-progress-bar { background:#a96df2; }
.institutional .lead-card legend { color:#e8ddf4; }
.institutional .lead-hint { color:#a28bb4; }
.institutional .lead-choice { background:#ffffff03; border-color:#c2a2e226; color:#d9cce6; }
.institutional .lead-choice:hover { background:#9f71d00a; border-color:#ac83d05c; }
.institutional .lead-choice:has(input:checked) { color:#e9dcff; background:linear-gradient(100deg,#61418a38,#40265d26); border-color:#a27ad0; }
.institutional .lead-choice small { color:#a18bae; }
.institutional .choice-icon { background:#b082e00b; color:#c1a2e5; }
.institutional .choice-mark { border-color:#735b85; }
.institutional .lead-choice:has(input:checked) .choice-mark { border-color:#ba91f1; background:#ba91f1; box-shadow:inset 0 0 0 3px #2a1c3b; }
.institutional .lead-next { background:linear-gradient(105deg,#6651d5,#8d4ac7); border:1px solid #bd9ce45c; border-radius:100px; }
.institutional .lead-back,.institutional .lead-privacy a,.institutional .lead-fallback a { color:#c5a5ee; }
.institutional .lead-privacy { color:#a28db2; }
.institutional .lead-field { color:#c4aed7; }
.institutional .lead-field input { background:#08060e; color:#efddff; border-color:#b08ac537; }
.institutional .lead-field input::placeholder { color:#9682a5; }
.institutional .lead-error { color:#ffa1b8; }
.institutional .lead-review dl { background:#a578d70a; border:1px solid #a578d725; }
.institutional .lead-review dt { color:#ab91bf; }
.institutional .review-check { background:#784eae2b; color:#c5a2f7; }
.institutional .blog-card h3 { font-size:23px; letter-spacing:-.7px; line-height:1.4; }
.institutional .blog-meta { color:#b595d2; background:#a279d70a; border-color:#b695d52b; }
.institutional .portfolio-cover { min-height:440px; }
.institutional .portfolio-filters button { background:#0e0a17; border-color:#b294cc36; color:#beadcd; font-size:12px; }
.institutional .portfolio-filters button[aria-pressed=true] { background:linear-gradient(110deg,#5840d5,#8b48d6); border-color:#c1a6ff75; }
.institutional .work-copy h3 { font-size:23px; letter-spacing:-.7px; }
.institutional .work-copy p { font-size:13px; color:#a89ab6; }
.institutional .work-image span { background:#100b1ee8; border-color:#b58ad53b; }
.institutional .work-visit { color:#c2a1e6; font-size:12px; }
.institutional .portfolio-jump { border-color:#c1a3e122; }
.institutional .portfolio-jump a { color:#bba7ce; font-size:12px; }
.institutional .legal-copy h1 { max-width:none; }
/* Home: the LP's centered geometric opening, with the institutional brand message. */
.institutional.page-home .institution-hero { position:relative; overflow:hidden; isolation:isolate; padding:75px 0 60px; background:#05050d; }
.brand-shapes { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.brand-shapes i { display:block; position:absolute; width:var(--iw,450px); height:var(--ih,110px); border:1px solid #b9b0ed20; border-radius:100px; background:linear-gradient(100deg,var(--ic,#6874ce18),transparent 90%); transform:rotate(var(--ir,15deg)); box-shadow:inset 0 1px #ffffff08,0 12px 60px #0004; animation:institution-drift 14s ease-in-out infinite; }
.brand-shapes i:nth-child(1) { left:-260px; top:210px; --iw:550px; --ih:145px; }
.brand-shapes i:nth-child(2) { right:-220px; top:390px; --iw:540px; --ih:130px; --ir:-17deg; --ic:#8951c21c; animation-delay:-5s; }
.brand-shapes i:nth-child(3) { left:17%; top:30px; --iw:210px; --ih:60px; --ir:-25deg; animation-delay:-3s; }
.brand-shapes i:nth-child(4) { right:14%; top:60px; --iw:200px; --ih:58px; --ir:20deg; --ic:#8547c518; animation-delay:-8s; }
.institution-home-copy { max-width:1000px; text-align:center; margin:auto; }
.institutional .institution-home-copy>.eyebrow { display:inline-flex; align-items:center; gap:10px; border:1px solid #c2a7e71f; border-radius:100px; padding:9px 15px; margin:0 0 24px; font-size:10px; color:#b7a4ca; letter-spacing:.5px; font-weight:500; background:#ffffff03; }
.institution-home-copy>.eyebrow:before { content:""; width:6px; height:6px; border-radius:50%; background:#a77af3; box-shadow:0 0 12px #9e78ed70; }
.institutional.page-home .institution-hero h1 { max-width:none; font-size:clamp(64px,7.3vw,98px); line-height:1.04; font-weight:750; letter-spacing:-5px; margin:0 0 25px; }
.institutional.page-home .institution-hero h1 .hero-gradient { font-weight:750; }
.institutional .institution-home-copy>.hero-text { max-width:600px; margin:0 auto; font-size:15px; line-height:1.9; color:#a49aac; }
.institutional .institution-home-copy .hero-actions { justify-content:center; margin:29px 0 0; }
.institution-hero-note { margin:20px auto 0; color:#8e7f9e; font-size:10px; }
.institution-journey { display:flex; justify-content:center; align-items:center; gap:55px; margin:48px auto 0; padding-top:28px; border-top:1px solid #b596d522; width:max-content; max-width:100%; }
.institution-journey>span { display:flex; align-items:center; gap:9px; color:#af9fc0; font-size:11px; }
.institution-journey .nn-icon { color:#b38de8; width:17px; height:17px; }
.institutional .institution-motion { display:flex; align-items:center; gap:6px; margin:0 auto 15px; background:none; border:0; color:#a18baf; font:inherit; font-size:10px; padding:10px 15px; cursor:pointer; }
.institution-motion .nn-icon { width:12px; height:12px; }
.institution-paused .brand-shapes i,.institution-paused .trusted-track { animation-play-state:paused !important; }
.institutional:not(.institution-ready) .brand-shapes i { animation:none; }
@keyframes institution-drift { 0%,100% { transform:translateY(0) rotate(var(--ir,15deg)); } 50% { transform:translateY(22px) rotate(var(--ir,15deg)); } }
@media (min-width:981px) {
 .institutional .page-hero-grid:not(.page-hero-single) { grid-template-columns:1.15fr 1fr; }
 .institutional .service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .institutional .service-detail-grid,.institutional .testimonial-grid,.institutional .feature-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1100px) and (min-width:981px) {
 .institutional .main-nav a { padding:9px; font-size:11px; }
 .institutional .brand img { width:135px; }
 .institutional .header-row { gap:10px; }
 .institutional .button-sm { font-size:10px; padding:10px 13px; }
}
@media (max-width:980px) {
 .institutional .menu-toggle { display:inline-flex; flex-direction:column; justify-content:center; align-items:center; order:3; border-radius:50%; background:#ffffff03; border-color:#ba9dd52b; width:46px; height:46px; }
 .institutional .menu-toggle span { margin:4px auto; }
 .institutional .header-row>.button-sm { display:none; }
 .institutional .main-nav { display:none; position:absolute; top:calc(100% + 10px); left:20px; right:20px; border-radius:20px; background:#100b1bf7; padding:14px; box-shadow:0 20px 50px #0007; border-color:#b598d43b; align-items:stretch; flex-direction:column; gap:5px; }
 .institutional .main-nav.is-open { display:flex; }
 .institutional .main-nav a { padding:12px 15px; font-size:14px; border-radius:12px; }
 .institutional .main-nav .nav-diagnostic { margin-top:5px; border-radius:0; }
 .institutional .section { padding:60px 0; }
 .institutional .page-hero { padding:55px 0; }
 .institutional .page-hero-grid { gap:32px; }
 .institutional .page-hero h1 { font-size:clamp(40px,6vw,60px); max-width:22ch; }
 .institutional .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .institutional .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .institutional .strip-items { gap:25px; flex-wrap:wrap; }
 .institutional .proposition-layout { gap:32px; }
 .institutional .showcase-card-about img { max-height:560px; }
}
@media (max-width:620px) {
 .institutional .header-row { min-height:78px; }
 .institutional .brand img { width:140px; height:76px; }
 .institutional.page-home .institution-hero { padding:48px 0 40px; }
 .institutional.page-home .institution-hero h1 { font-size:clamp(36px,10.8vw,65px); letter-spacing:-2.6px; line-height:1.08; margin-bottom:23px; }
 .institutional .institution-home-copy>.eyebrow { font-size:8px; padding:8px 11px; gap:7px; letter-spacing:0; }
 .institutional .institution-home-copy>.hero-text { font-size:13px; line-height:1.9; max-width:370px; }
 .institutional .institution-home-copy .hero-actions { flex-direction:column; gap:10px; }
 .institutional .institution-home-copy .hero-actions .button { font-size:11px; min-height:49px; }
 .institution-hero-note { font-size:9px; max-width:270px; line-height:1.8; }
 .institution-journey { gap:20px; margin-top:30px; padding-top:22px; }
 .institution-journey>span { flex-direction:column; text-align:center; font-size:9px; gap:8px; }
 .brand-shapes i:nth-child(1) { left:-350px; top:200px; }
 .brand-shapes i:nth-child(2) { right:-430px; top:400px; }
 .brand-shapes i:nth-child(3) { left:5%; top:15px; --iw:130px; --ih:38px; }
 .brand-shapes i:nth-child(4) { right:-40px; top:50px; --iw:150px; --ih:40px; }
 .institutional .section { padding:50px 0; }
 .institutional .section-head h2 { font-size:30px; letter-spacing:-1.3px; }
 .institutional .section-head p:not(.eyebrow) { font-size:13px; }
 .institutional .page-hero { padding:40px 0; }
 .institutional .page-hero h1 { font-size:40px; letter-spacing:-2px; }
 .institutional .page-hero-single h1 { max-width:18ch; }
 .institutional .hero-text { font-size:13px; }
 .institutional .service-grid,.institutional .footer-grid { grid-template-columns:1fr; }
 .institutional .service-card,.institutional .feature-card,.institutional .blog-card,.institutional .testimonial-card,.institutional .service-detail-card { padding:25px; }
 .institutional .purpose-grid .feature-card { padding:28px; }
 .institutional .service-card h3 { font-size:22px; }
 .institutional .cta-banner,.institutional .diagnostic-banner { padding:28px; }
 .institutional .cta-banner h2 { font-size:30px; }
 .institutional .strip-items { gap:15px 20px; padding:20px 0; }
 .institutional .strip-items span { font-size:9px; }
 .institutional .trusted-logo-card { width:155px; height:95px; margin-right:15px; }
 .institutional .trusted-logo-card img { max-width:110px; max-height:65px; }
 .institutional .trusted-head h2 { font-size:25px; }
 .institutional .site-footer { margin-top:40px; }
 .institutional .footer-grid { gap:25px; }
 .institutional .footer-grid a { min-height:32px; display:inline-flex; align-items:center; }
 .institutional .proposition-copy p { font-size:13px; }
 .institutional .button { font-size:12px; padding:13px 20px; }
 .institutional .portfolio-cover { min-height:330px; }
}
@media (prefers-reduced-motion:reduce) { .brand-shapes i { animation:none; } }
/* Conversion confirmation page */
.thank-you-section{min-height:70vh;display:grid;align-items:center;padding:110px 0 90px}
.thank-you-card{max-width:880px;margin:auto;text-align:center;padding:48px 24px;border:1px solid #a48de32e;border-radius:32px;background:radial-gradient(ellipse at top,#6842c124,transparent 65%),#0b0913}
.thank-you-card h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1.08;letter-spacing:-.05em;margin:24px 0}
.thank-you-card>p:not(.eyebrow){max-width:660px;margin:24px auto;color:#b0a7c4;line-height:1.7}
.thank-you-icon{display:inline-grid;place-items:center;width:72px;height:72px;color:#c5a5ff;border:1px solid #a78bfa55;border-radius:50%;background:#7049c822;margin-bottom:24px}
.thank-you-icon svg{width:34px;height:34px}
.thank-you-card .hero-actions{justify-content:center;flex-wrap:wrap}
.thank-you-card .thank-you-note{font-size:.85rem}
.lead-next:disabled{opacity:.7;cursor:wait}
.home-diagnostic .lead-card{max-width:820px;margin:auto}
