.cv-page{--cv-deep:#0b2433;--cv-deep2:#0f3446;--cv-paper:#f4f6f8;overflow:hidden}
.cv-hero{position:relative;background:radial-gradient(circle at 78% 30%,#174a60 0,var(--cv-deep2) 34%,var(--cv-deep) 72%);color:#fff;padding:140px 0 90px;isolation:isolate}
.cv-hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.cv-hero-bg i{position:absolute;border-radius:50%;filter:blur(2px)}
.cv-hero-bg i:nth-child(1){width:520px;height:520px;right:-120px;top:-160px;background:radial-gradient(#d8ae5833,transparent 65%);animation:cvDrift 14s ease-in-out infinite alternate}
.cv-hero-bg i:nth-child(2){width:380px;height:380px;left:-140px;bottom:-180px;background:radial-gradient(#f2d89022,transparent 65%);animation:cvDrift 18s ease-in-out infinite alternate-reverse}
.cv-hero-bg i:nth-child(3){inset:0;border-radius:0;filter:none;background:linear-gradient(115deg,transparent 46%,#ffffff0c 46.1%,transparent 46.3%),linear-gradient(115deg,transparent 58%,#d8ae5814 58.1%,transparent 58.3%)}
.cv-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}
.cv-crumbs{display:flex;gap:10px;font-size:.68rem;color:#a9c0cc;margin-bottom:26px}.cv-crumbs a:hover{color:var(--bright)}
.cv-hero h1{font-size:clamp(2.6rem,5.4vw,5.6rem);line-height:1.02;font-weight:800;margin:22px 0 26px}
.cv-hero h1 span{color:var(--bright);font-weight:600}.cv-hero h1 b{color:var(--gold)}
.cv-hero-copy>p:not(.micro),.cv-lead{max-width:560px;color:#d3e0e7;font-size:1.02rem}
.cv-actions{display:flex;flex-wrap:wrap;align-items:center;gap:26px;margin-top:34px}
.cv-btn{box-shadow:0 0 0 0 #f2d89000;transition:transform .25s ease,box-shadow .3s ease}
.cv-btn:hover,.cv-btn:focus-visible{transform:translateY(-3px);box-shadow:0 12px 34px -8px #f2d890aa}
.cv-link{display:inline-flex;gap:10px;align-items:center;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--bright);border-bottom:1px solid currentColor;padding:6px 0;transition:gap .25s,color .25s}
.cv-link:hover,.cv-link:focus-visible{gap:16px;color:#fff}.cv-link-dark{color:var(--bronze)}.cv-link-dark:hover,.cv-link-dark:focus-visible{color:var(--ink)}
/* map */
.cv-map{position:relative;padding-bottom:16px;border:1px solid #ffffff22;background:linear-gradient(150deg,#0e3044cc,#08202ccc);box-shadow:0 30px 70px -30px #000a;clip-path:polygon(0 0,100% 0,100% 92%,92% 100%,0 100%)}
.cv-map-stage{position:relative;aspect-ratio:1/.86}.cv-map-art{position:absolute;inset:0;width:100%;height:100%}
.cv-map-grid line{stroke:#ffffff10;stroke-width:.2}
.cv-map-arcs path{fill:none;stroke:#d8ae58;stroke-width:.35;stroke-dasharray:1.4 1.6;opacity:.75;animation:cvDash 6s linear infinite}
.cv-map-origin{fill:#f2d890}.cv-map-pulse{transform-origin:71px 69px;animation:cvPulse 3.6s ease-out infinite}
.cv-map-base{position:absolute;transform:translate(14px,-50%);display:flex;flex-direction:column;align-items:flex-start;background:#061a24cc;padding:6px 9px;font-size:.72rem;white-space:nowrap}
.cv-map-base small{color:var(--bright);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}
.cv-map-point{position:absolute;transform:translate(-50%,-50%);border:1px solid #ffffff40;background:#0b2433e6;color:#e7eef2;padding:7px 11px 7px 22px;font-size:.66rem;font-weight:700;letter-spacing:.04em;min-height:34px;transition:border-color .25s,background .25s,transform .25s}
.cv-map-point:before{content:"";position:absolute;left:9px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold)}
.cv-map-point:hover,.cv-map-point:focus-visible,.cv-map-point[aria-pressed=true]{border-color:var(--bright);background:#173e52;transform:translate(-50%,-50%) translateY(-2px)}
.cv-map-point[data-region=Sudeste]{transform:translate(-118%,-50%)}.cv-map-point[data-region=Sudeste]:hover,.cv-map-point[data-region=Sudeste][aria-pressed=true]{transform:translate(-118%,-50%) translateY(-2px)}
.cv-map-note{margin:0 18px;background:#061a24ee;border-left:3px solid var(--gold);padding:14px 16px;font-size:.8rem;line-height:1.55;color:#d6e3ea}
.cv-map-note strong{display:block;color:var(--bright);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}
.cv-map-legend{margin:10px 18px 0;font-size:.6rem;line-height:1.4;color:#89a6b4}
/* sections */
.cv-section{padding:110px 0}
.cv-kicker{color:var(--bronze);margin-bottom:18px}
.cv-section h2{font-size:clamp(2rem,3.4vw,3.5rem);line-height:1.1}
.cv-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:center}.cv-split-rev{grid-template-columns:1.1fr .9fr}
.cv-split p:not(.micro){color:var(--muted);margin:22px 0}
.cv-cover{background:var(--cv-paper)}
.cv-illus{margin:0;position:relative;background:radial-gradient(circle at 50% 55%,#fff 0,#e3eaef 70%);border:1px solid var(--line);padding:24px}
.cv-illus img{width:100%;height:auto}.cv-illus figcaption{position:absolute;right:12px;bottom:10px;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cv-checks{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px}
.cv-checks li{border:1px solid var(--line);background:#fff;padding:16px 18px;font-size:.88rem;color:var(--muted);transition:border-color .25s,transform .25s}
.cv-checks li:hover{border-color:var(--gold);transform:translateX(4px)}
.cv-checks b{display:block;color:var(--ink);margin-bottom:2px}
.cv-photo{margin:0;position:relative;box-shadow:24px 24px 0 #e6ecf0}
.cv-photo img{display:block;width:100%;height:auto;aspect-ratio:1448/1086}
.cv-photo figcaption{position:absolute;left:-1px;bottom:24px;background:var(--cv-deep);color:#fff;padding:12px 18px;font-weight:800;font-size:.85rem}
.cv-photo figcaption span{display:block;color:var(--bright);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase}
.cv-journey{background:var(--cv-deep);color:#fff}
.cv-head{max-width:720px;margin-bottom:50px}.cv-head p:not(.micro){color:#bfd0d9;margin-top:16px}.cv-head-light p:not(.micro){color:var(--muted)}
.cv-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}
.cv-step{position:relative;border:1px solid #ffffff1f;background:#ffffff06;padding:30px 24px 32px;transition:border-color .3s,transform .3s,background .3s}
.cv-step:hover{border-color:#d8ae58aa;background:#ffffff0c;transform:translateY(-4px)}
.cv-step:after{content:"";position:absolute;left:24px;right:24px;top:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent)}
.cv-step-n{font-size:2.2rem;font-weight:800;color:var(--bright);letter-spacing:-.06em}
.cv-step h3{font-size:1.25rem;letter-spacing:-.03em;margin:14px 0 10px}.cv-step p{color:#bfd0d9;font-size:.86rem}
.cv-profiles{background:#fff}
.cv-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cv-card{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);padding:26px 22px;min-height:150px;transition:transform .25s,border-color .25s,box-shadow .3s}
.cv-card strong{display:flex;justify-content:space-between;font-size:1.2rem;letter-spacing:-.03em}.cv-card strong span{color:var(--gold);transition:transform .25s}
.cv-card>span{color:var(--muted);font-size:.85rem;line-height:1.5}
.cv-card:hover,.cv-card:focus-visible{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 18px 40px -22px #9d702c88}
.cv-card:hover strong span,.cv-card:focus-visible strong span{transform:translate(3px,-3px)}
.cv-faq{background:var(--cv-paper)}.cv-faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:5vw}
.cv-faq details{border-bottom:1px solid var(--line);padding:20px 0}.cv-faq summary{cursor:pointer;font-weight:800;font-size:1rem}.cv-faq details p{color:var(--muted);margin-top:12px}
.cv-cta{background:linear-gradient(120deg,var(--cv-deep),#123b4f);color:#fff;padding:80px 0}
.cv-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}.cv-cta h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.1;margin-top:14px;max-width:640px}
/* contact */
.cv-hero-contact{padding-bottom:100px}
.cv-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.cv-choice{position:relative;display:flex;flex-direction:column;gap:12px;border:1px solid #ffffff2a;background:#ffffff08;padding:28px 24px;transition:transform .3s,border-color .3s,background .3s,box-shadow .3s}
.cv-choice:hover,.cv-choice:focus-visible{transform:translateY(-5px);border-color:var(--bright);background:#ffffff10;box-shadow:0 20px 50px -24px #f2d89088}
.cv-choice-n{color:var(--bright);font-size:.7rem;font-weight:800;letter-spacing:.14em}
.cv-choice strong{font-size:1.25rem;line-height:1.25;letter-spacing:-.03em}
.cv-choice>span:not(.cv-choice-n){color:#c6d6de;font-size:.86rem;line-height:1.55}
.cv-choice em{margin-top:auto;font-style:normal;color:var(--bright);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.cv-form-section{background:var(--cv-paper)}
.cv-form-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:5vw;align-items:start}
.cv-form-intro p:not(.micro){color:var(--muted);margin-top:18px}
.cv-channels{list-style:none;padding:0;margin:28px 0;display:grid;gap:10px}
.cv-channels li{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border:1px solid var(--line);background:#fff;padding:14px 16px}
.cv-channels span{font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze)}
.cv-channels a{font-weight:700}.cv-channels a:hover,.cv-small a:hover{color:var(--bronze)}
.cv-small{font-size:.8rem;color:var(--muted)}.cv-small a{text-decoration:underline}
.cv-form{background:#fff;border:1px solid var(--line);padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:18px;box-shadow:0 24px 50px -30px #17243140}
.cv-field{display:flex;flex-direction:column;gap:7px}.cv-field-wide{grid-column:1/-1}
.cv-field label{font-size:.72rem;font-weight:800;letter-spacing:.04em}.cv-field small{font-weight:500;color:var(--muted)}
.cv-field input,.cv-field select{min-height:50px;border:1px solid #c5ced6;background:#fbfcfd;padding:12px 14px;font-size:.95rem;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.cv-field input:focus,.cv-field select:focus{outline:none;border-color:var(--bronze);box-shadow:0 0 0 3px #d8ae5844}
.cv-field input[aria-invalid=true],.cv-field select[aria-invalid=true]{border-color:#b3261e}
.cv-error{grid-column:1/-1;color:#b3261e;font-size:.82rem;font-weight:700;min-height:1px}
.cv-form-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.cv-form noscript{grid-column:1/-1}
/* reveal: content stays visible without JS */
.cv-js .cv-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;transition-delay:calc(var(--i,0)*90ms)}
.cv-js .cv-reveal.is-in{opacity:1;transform:none}
@keyframes cvDrift{to{transform:translate(-40px,30px)}}
@keyframes cvDash{to{stroke-dashoffset:-30}}
@keyframes cvPulse{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.4);opacity:0}}
@media (hover:none){.cv-card:hover,.cv-choice:hover,.cv-step:hover{transform:none}}
.cv-origin-head{display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;align-items:end;margin-bottom:44px}.cv-origin-head h2{margin:0}
.cv-photo-wide{max-width:1080px;margin:0 auto}.cv-photo-wide figcaption{position:static;display:block;padding:14px 18px;font-weight:600}.cv-photo-wide figcaption span{margin-bottom:4px}
.cv-photo-zoom{display:block;position:relative;overflow:hidden;outline-offset:4px}.cv-photo-zoom img{transition:transform .6s ease}.cv-photo-zoom:hover img,.cv-photo-zoom:focus-visible img{transform:scale(1.015)}
.cv-zoom-tag{position:absolute;right:14px;top:14px;background:rgba(9,11,14,.78);color:#fff;font-size:.72rem;font-weight:700;padding:7px 11px;border:1px solid rgba(242,216,144,.5)}
@media (max-width:1000px){.cv-hero-grid,.cv-split,.cv-split-rev,.cv-form-grid,.cv-faq-grid{grid-template-columns:1fr}.cv-steps,.cv-cards{grid-template-columns:1fr 1fr}.cv-choices{grid-template-columns:1fr}.cv-split-rev .cv-photo{order:-1}.cv-origin-head{grid-template-columns:1fr;gap:18px}}
@media (max-width:640px){.cv-hero{padding:115px 0 64px}.cv-section{padding:72px 0}.cv-steps,.cv-cards{grid-template-columns:1fr}.cv-form{grid-template-columns:1fr;padding:22px}.cv-map-point{font-size:.6rem;padding:6px 8px 6px 19px}.cv-map-note{font-size:.74rem}.cv-map-base{transform:translate(-50%,14px);align-items:center}.cv-photo{box-shadow:12px 12px 0 #e6ecf0}.cv-actions{gap:18px}}
@media (prefers-reduced-motion:reduce){.cv-page *,.cv-page *:before,.cv-page *:after{animation:none!important;transition:none!important}.cv-js .cv-reveal{opacity:1;transform:none}}

.cv-form-grid>*,.cv-split>*,.cv-hero-grid>*{min-width:0}.cv-channels a{overflow-wrap:anywhere}
