:root{--ink:#14283a;--deep:#1f4e74;--mid:#3e7ca6;--soft:#d6e8f6;--mist:#eef4f9;--bg:#fbfdfe;--card:#fff;--muted:#5a6b7b;--line:#e2eaf1;--sand:#e9d9c3;--shadow:0 18px 40px -28px rgba(20,40,58,.28);
--serif:'Newsreader',Georgia,serif;--sans:'Figtree',system-ui,sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ink:#e8f1f8;--deep:#8fc1e3;--mid:#6fa8d1;--soft:#1d3b54;--mist:#0f2233;--bg:#0b1a28;--card:#12283b;--muted:#9db2c4;--line:#21394e;--sand:#8a7657;--shadow:0 18px 40px -28px rgba(0,0,0,.6)}}
:root[data-theme="dark"]{--ink:#e8f1f8;--deep:#8fc1e3;--mid:#6fa8d1;--soft:#1d3b54;--mist:#0f2233;--bg:#0b1a28;--card:#12283b;--muted:#9db2c4;--line:#21394e;--sand:#8a7657;--shadow:0 18px 40px -28px rgba(0,0,0,.6)}
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-behavior:smooth;scroll-padding-top:calc(84px + env(safe-area-inset-top,0px))}
*,*:before,*:after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.01em;margin:0}
p{margin:0}a{color:inherit}
.wrap{width:min(1120px,100% - 40px);margin:auto}
.sec{padding:clamp(72px,10vw,132px) 0}
.tag{font-size:15px;color:var(--mid);font-weight:500;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.tag:before{content:"";width:28px;height:1px;background:var(--mid)}
h2{font-size:clamp(32px,4.6vw,52px);max-width:16em}
.lede{color:var(--muted);max-width:34em;margin-top:20px;font-size:18px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:99px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;font:600 16px var(--sans);transition:transform .25s,box-shadow .25s,background .25s}
.btn.p{background:var(--deep);color:#fff}
.btn.p:hover{transform:translateY(-2px);box-shadow:0 14px 26px -14px var(--deep)}
.btn.p:hover .ar{transform:translateX(4px)}.ar{transition:transform .25s}
.btn.g{border-color:var(--line);background:transparent;color:var(--ink)}.btn.g:hover{background:var(--mist)}
:root[data-theme="dark"] .btn.p{color:#0b1a28}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn.p{color:#0b1a28}}
/* header */
header{position:fixed;top:0;left:0;right:0;z-index:20;padding-top:env(safe-area-inset-top,0px);transition:background .3s,box-shadow .3s}
header.s{background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{font:500 28px var(--serif);text-decoration:none;color:var(--deep);display:flex;align-items:center;gap:10px}
.logo img,.flogo img{height:46px;width:auto;display:block}.flogo img{height:38px}
.lg-d{display:none!important}
:root[data-theme="dark"] .lg-l{display:none!important}:root[data-theme="dark"] .lg-d{display:block!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .lg-l{display:none!important}:root:not([data-theme="light"]) .lg-d{display:block!important}}
.nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0;font-size:15px}
.nav ul a{text-decoration:none;color:var(--muted);transition:color .2s}.nav ul a:hover{color:var(--ink)}
.nav .btn{padding:11px 20px;font-size:15px}
.nav-r{display:flex;align-items:center;gap:12px}
.tt{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--deep);display:grid;place-items:center;cursor:pointer;transition:transform .4s,background .25s}
.tt:hover{background:var(--soft);transform:rotate(18deg)}
.tt:focus-visible{outline:2px solid var(--mid);outline-offset:2px}
.tt .sun{display:none}
:root[data-theme="dark"] .tt .sun{display:block}:root[data-theme="dark"] .tt .moon{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tt .sun{display:block}:root:not([data-theme="light"]) .tt .moon{display:none}}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.row{grid-template-columns:1fr}}
@media(max-width:900px){.nav ul{display:none}}
/* hero */
.hero{position:relative;padding:150px 0 90px;overflow:hidden;background:radial-gradient(70% 60% at 85% 20%,var(--soft),transparent 70%)}
.hgrid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(40px,6vw,72px);margin:0 0 26px}
.hero h1 span{color:var(--deep);font-style:italic}
.hero .lede{margin:0 0 38px}
.ctas{display:flex;gap:14px;flex-wrap:wrap}
.vis{position:relative;aspect-ratio:10/11;max-height:620px}
.blob{position:absolute;inset:0;border-radius:46% 54% 42% 58%/52% 44% 56% 48%;background:linear-gradient(160deg,var(--soft),var(--mist));overflow:hidden;animation:morph 14s ease-in-out infinite alternate}
@keyframes morph{to{border-radius:58% 42% 54% 46%/44% 56% 44% 56%}}
.blob img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.note{position:absolute;background:var(--card);border-radius:20px;padding:16px 20px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center;font-size:15px;line-height:1.35;max-width:250px}
.note b{display:block;font-weight:600}.note small{color:var(--muted);font-size:13.5px}
.note.a{left:-28px;bottom:6%}.note.b{right:-10px;bottom:25%;animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-8px)}}
.dot{width:38px;height:38px;border-radius:50%;background:var(--soft);display:grid;place-items:center;flex:none;color:var(--deep)}
@media(max-width:860px){.hgrid{grid-template-columns:1fr}.vis{max-height:440px;aspect-ratio:1}.note.a{left:0}.note.b{right:0}}
/* para quem */
.for{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.for ul{list-style:none;margin:0;padding:0;display:grid;gap:22px}
.for li{padding-left:38px;position:relative;font-size:18px}
.for li:before{content:"";position:absolute;left:0;top:9px;width:20px;height:1px;background:var(--mid)}
.for li small{display:block;color:var(--muted);font-size:16px}
@media(max-width:860px){.for{grid-template-columns:1fr;gap:34px}}
/* services */
.svc{background:var(--mist)}
.groups{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.grp{background:var(--card);border-radius:28px;padding:34px 30px;box-shadow:var(--shadow);transition:transform .35s,box-shadow .35s}
.grp:hover{transform:translateY(-6px)}
.grp:nth-child(2){margin-top:34px}
.grp h3{font-size:27px;margin:20px 0 8px}
.grp>p{color:var(--muted);font-size:16px;margin-bottom:18px}
.ico{width:54px;height:54px;border-radius:18px;background:var(--soft);color:var(--deep);display:grid;place-items:center}
.it{border-top:1px solid var(--line);padding:0}
.it button{all:unset;box-sizing:border-box;width:100%;display:flex;justify-content:space-between;align-items:center;padding:13px 0;cursor:pointer;font-weight:500;font-size:16px}
.it button:focus-visible{outline:2px solid var(--mid);outline-offset:2px}
.it button:after{content:"+";color:var(--mid);font-size:20px;transition:transform .3s}
.it.o button:after{transform:rotate(45deg)}
.it div{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s}
.it.o div{grid-template-rows:1fr}
.it div p{overflow:hidden;color:var(--muted);font-size:15px;line-height:1.55}
.it.o div p{padding-bottom:14px}
.disc{margin-top:44px;color:var(--muted);font-size:14.5px;max-width:52em}
@media(max-width:900px){.groups{grid-template-columns:1fr}.grp:nth-child(2){margin-top:0}}
/* understand */
.und{background:var(--deep);color:#eef6fc;position:relative;overflow:hidden}
.und:before{content:"";position:absolute;width:640px;height:640px;right:-200px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(143,193,227,.28),transparent 68%)}
:root[data-theme="dark"] .und{background:#123049}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .und{background:#123049}}
.und .tag{color:#a9d2ee}.und .tag:before{background:#a9d2ee}
.und h2{max-width:13em;color:#fff}
.und .lede{color:#c3dbee}
.qs{margin-top:64px;display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative}
.q{padding:0 22px 0 0;position:relative}
.q:before{content:"";display:block;height:1px;background:rgba(255,255,255,.28);margin-bottom:26px}
.q:after{content:"";position:absolute;top:-4px;left:0;width:9px;height:9px;border-radius:50%;background:var(--sand);box-shadow:0 0 0 6px rgba(233,217,195,.16)}
.q h3{font-size:22px;color:#fff;margin-bottom:10px}
.q p{font-size:15px;color:#b9d3e6;line-height:1.55}
.fit{margin-top:70px;padding:34px 38px;border-radius:28px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);font:400 clamp(22px,2.6vw,30px)/1.35 var(--serif);max-width:40em}
.fit em{color:var(--sand)}
@media(max-width:960px){.qs{grid-template-columns:1fr 1fr;row-gap:36px}}
@media(max-width:560px){.qs{grid-template-columns:1fr}}
.who{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:center}
.ph{position:relative;max-width:420px}
.ph:before{content:"";position:absolute;inset:-18px 22px 22px -18px;border-radius:48% 52% 44% 56%/50% 44% 56% 50%;background:var(--soft)}
.ph img{position:relative;width:100%;height:auto;display:block;border-radius:32px 32px 140px 32px;box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover}
.who h2{margin-bottom:22px}
.who p{color:var(--muted);margin-top:16px;max-width:34em}
.sig{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);max-width:34em}
.sig b{font:400 26px var(--serif);display:block}.sig span{color:var(--mid);font-size:15px}
@media(max-width:860px){.who{grid-template-columns:1fr;gap:44px}.ph{max-width:320px}}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:12px 48px;margin-top:22px;color:var(--muted);max-width:900px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:56px;max-width:860px}
.pp{margin:0}.pp .ph{max-width:none}
.pp:nth-child(2) .ph:before{inset:-18px -18px 22px 22px;border-radius:52% 48% 56% 44%/44% 50% 50% 56%}
.pp:nth-child(2) .ph img{border-radius:32px 32px 32px 140px}
.pp figcaption{margin-top:26px}.pp figcaption b{font:400 28px var(--serif);display:block}.pp figcaption span{color:var(--mid);font-size:15px}
@media(max-width:860px){.intro{grid-template-columns:1fr}.duo{gap:36px}}
@media(max-width:560px){.duo{grid-template-columns:1fr;gap:48px}.pp{max-width:300px;margin-left:12px}.pp figcaption b{font-size:25px}}
/* how */
.how{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.path{position:relative;display:grid;gap:38px;padding-left:64px}
.path:before{content:"";position:absolute;left:23px;top:20px;bottom:20px;width:2px;background:linear-gradient(var(--mid),var(--soft))}
.st{position:relative}
.st .ico{position:absolute;left:-64px;top:0;width:48px;height:48px;border-radius:50%;background:var(--card);border:2px solid var(--soft);transition:background .3s,transform .3s}
.st:hover .ico{background:var(--soft);transform:scale(1.08)}
.st h3{font-size:26px;margin-bottom:6px}.st p{color:var(--muted)}
.sticky{position:sticky;top:120px;align-self:start}
@media(max-width:860px){.how{grid-template-columns:1fr;gap:40px}.sticky{position:static}}
/* trust */
.trust{background:var(--mist)}
.tg{display:grid;grid-template-columns:repeat(2,1fr);gap:0 64px;margin-top:56px}
.tr{padding:26px 0;border-top:1px solid var(--line)}
.tr h3{font-size:24px;margin-bottom:6px}.tr p{color:var(--muted);font-size:16px}
@media(max-width:760px){.tg{grid-template-columns:1fr}}
/* quotes */
.qt{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:56px}
.qt figure{margin:0}
.qt blockquote{margin:0;font:400 22px/1.4 var(--serif)}
.qt blockquote:before{content:"“";display:block;font-size:64px;line-height:.6;color:var(--mid);margin-bottom:6px}
.qt figcaption{margin-top:18px;color:var(--muted);font-size:15px}
@media(max-width:860px){.qt{grid-template-columns:1fr}}
/* faq */
.faq{max-width:780px;margin-top:44px}
details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:22px 0;font:400 23px var(--serif);display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";color:var(--mid);transition:transform .3s}
details[open] summary:after{transform:rotate(45deg)}
details p{color:var(--muted);padding:0 40px 24px 0}
/* contact */
.cta{padding-bottom:90px}
.box{background:linear-gradient(140deg,var(--soft),var(--mist));border-radius:40px;padding:clamp(34px,6vw,72px);display:grid;grid-template-columns:1fr 1fr;gap:48px}
.box h2{font-size:clamp(30px,4vw,46px)}
form{display:grid;gap:14px}
label{font-size:14px;color:var(--muted);display:grid;gap:6px}
input,select,textarea{font:16px var(--sans);padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--mid);border-color:transparent}
@media(max-width:860px){.box{grid-template-columns:1fr}}
footer{padding:36px 0 50px;border-top:1px solid var(--line);color:var(--muted);font-size:14.5px}
footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px 20px;flex-wrap:wrap}
.dev{flex-basis:100%;text-align:center;padding-top:18px;margin-top:6px;border-top:1px solid var(--line);font-size:14px}.dev b{color:var(--deep);font-weight:600}
/* entrance: hero only + gentle reveal for the key section */
.hero .in{animation:up .9s cubic-bezier(.2,.7,.2,1) both}.hero .in:nth-child(2){animation-delay:.1s}.hero .in:nth-child(3){animation-delay:.2s}.hero .in:nth-child(4){animation-delay:.3s}
@keyframes up{from{opacity:0;transform:translateY(22px)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
html,body{overflow-x:clip}.nav .short{display:none}
@media(max-width:860px){.hero{padding-top:120px}.who .ph{margin:0 auto 0 12px}}
@media(max-width:640px){
body{font-size:16.5px}.wrap{width:min(1120px,100% - 32px)}.sec{padding:64px 0}
html{scroll-padding-top:calc(72px + env(safe-area-inset-top,0px))}
.nav{height:64px}.logo img{height:36px}.nav-r{gap:8px}.tt{width:38px;height:38px}
.nav .btn{padding:10px 16px;font-size:14px}.nav .long{display:none}.nav .short{display:inline}
.hero{padding:96px 0 56px}.hgrid{gap:34px}
.hero h1{font-size:clamp(33px,9.4vw,42px);margin-bottom:18px}
.lede{font-size:16.5px;margin-top:16px}.hero .lede{margin-bottom:28px}
.ctas{flex-direction:column}.ctas .btn{width:100%;justify-content:center}
.vis{aspect-ratio:1/1.05;max-height:none;width:100%}
.note{padding:11px 14px;font-size:13.5px;max-width:190px;border-radius:16px;gap:10px}.note small{font-size:12px}
.dot{width:32px;height:32px}.note.a{left:6px;bottom:6px}.note.b{right:6px;top:auto;bottom:78px}
h2{font-size:clamp(28px,8vw,34px)}.tag{font-size:14px;margin-bottom:14px}
.for{gap:28px}.for li{font-size:17px;padding-left:30px}.for li small{font-size:15px}
.groups{margin-top:34px;gap:18px}.grp{padding:26px 22px;border-radius:24px}.grp h3{font-size:24px}
.it button{padding:15px 0}
.qs{margin-top:40px}.q h3{font-size:21px}.fit{padding:24px 22px;margin-top:44px;border-radius:22px}
.how{gap:34px}.path{padding-left:54px;gap:28px}.path:before{left:19px}.st .ico{left:-54px;width:40px;height:40px}.st h3{font-size:22px}
.tg{margin-top:30px}.tr{padding:22px 0}.tr h3{font-size:21px}
.qt{gap:28px;margin-top:34px}.qt blockquote{font-size:20px}
summary{font-size:20px;padding:18px 0}details p{padding-right:0}
.who{gap:34px}.who .ph{max-width:290px}
.box{padding:30px 22px;border-radius:28px;gap:28px}.cta{padding-bottom:56px}
footer .wrap{flex-direction:column;align-items:flex-start}.flogo img{height:34px}.dev{text-align:left}
}
@media(max-width:360px){.nav .btn{padding:9px 12px}.logo img{height:32px}}

/* ===== Foto do topo inteira, sem cortes ===== */
.hgrid{grid-template-columns:.85fr 1.15fr;gap:48px}
.hero h1{font-size:clamp(38px,4.8vw,62px)}
.vis{aspect-ratio:auto;max-height:none}
.blob{position:relative;inset:auto;aspect-ratio:1597/985;border-radius:32px 32px 150px 32px;animation:none;background:var(--soft);box-shadow:var(--shadow)}
.blob img{object-fit:cover}
.note.a{left:-28px;bottom:-26px}.note.b{right:22px;top:auto;bottom:-26px}
@media(max-width:860px){
.hgrid{grid-template-columns:1fr}
.vis{aspect-ratio:auto;display:grid;gap:12px;width:100%}
.blob{border-radius:24px 24px 90px 24px}
.note,.note.a,.note.b{position:static;max-width:none;animation:none}
}
/* ===== Trajetórias ===== */
.duo{max-width:1000px;gap:64px;align-items:start}
.bio{margin-top:18px;color:var(--muted);font-size:16.5px}
.bio p{margin:14px 0 0}.bio>p:first-child{margin-top:0}
.more{border:0;margin-top:4px}
.more summary{display:inline-flex;align-items:center;gap:8px;font:600 15px var(--sans);color:var(--deep);padding:10px 0;cursor:pointer}
.more summary:after{content:"↓";transition:transform .3s}
.more[open] summary:after{transform:rotate(180deg)}
.more summary:focus-visible{outline:2px solid var(--mid);outline-offset:3px;border-radius:6px}
.more p{padding:0;margin:14px 0 0}
.more .purpose{color:var(--ink);font:400 21px/1.4 var(--serif)}
@media(max-width:860px){.duo{gap:48px}}
@media(max-width:560px){.pp{max-width:none;margin-left:0}.pp .ph{max-width:300px;margin-left:12px}.more summary{font-size:15px}}
