:root{--navy:#0b1554;--deep:#050b2c;--blue:#7eb6e8;--white:#fff;--muted:#c3cce5;--line:rgba(126,182,232,.24);--ease:cubic-bezier(.22,1,.36,1);font-family:'Aptos','Segoe UI',Arial,sans-serif;color:var(--white);background:var(--navy);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;overflow-x:clip;background:var(--navy)}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--blue);outline-offset:7px}::selection{background:var(--blue);color:var(--deep)}img{display:block;max-width:100%;height:auto}p{font-size:1.1rem;line-height:1.8}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{text-wrap:balance}header,section,footer{padding-inline:max(6vw,24px)}.section{padding-block:120px;position:relative;scroll-margin-top:10px}.eyebrow{font-size:.875rem;letter-spacing:.16em;line-height:1.65;color:var(--blue);font-weight:600;margin:0 0 28px}h1{font-size:clamp(3.5rem,7.25vw,7.4rem);line-height:1.01;letter-spacing:-.06em;font-weight:600;margin:0 0 30px}h1 em{font-style:normal;color:var(--blue)}h2{font-size:clamp(2.3rem,4.2vw,4.6rem);line-height:1.11;letter-spacing:-.045em;font-weight:550;margin:0 0 24px}h2 span{color:var(--blue)}h3{font-size:clamp(1.7rem,2.7vw,2.8rem);line-height:1.14;letter-spacing:-.035em;font-weight:550;margin:0}.arrow-icon{display:inline-block;width:18px;height:18px;flex:none;vertical-align:middle;transition:transform .35s var(--ease)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;max-width:100%;padding:19px 26px;border:1px solid transparent;border-radius:99px;background:var(--blue);color:var(--deep);font-size:1rem;font-weight:650;transition:background .3s,box-shadow .3s,transform .3s var(--ease)}.button:hover{background:#fff;transform:translateY(-3px);box-shadow:0 8px 35px #7eb6e825}.button:hover .arrow-icon,.text-link:hover .arrow-icon,.nav-contact:hover .arrow-icon{transform:translate(3px,-3px)}.text-link{display:inline-flex;gap:28px;align-items:center;color:var(--blue);border-bottom:1px solid var(--line);padding-block:14px;margin-top:15px;font-size:1rem}.text-link:hover{border-color:var(--blue)}
.header{height:90px;position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid transparent;background:rgba(11,21,84,.8);transition:background .4s,border-color .4s;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.header.scrolled{background:rgba(5,11,44,.9);border-color:var(--line)}.brand{display:inline-flex;flex-direction:column}.brand img{width:165px;height:auto}nav{display:flex;align-items:center;gap:30px;font-size:.94rem}nav a{min-height:44px;display:inline-flex;align-items:center;transition:color .3s}nav a:hover,nav a.active{color:var(--blue)}.nav-contact{gap:24px;border:1px solid var(--line);border-radius:99px;padding:11px 19px}.reading-progress{height:2px;position:fixed;inset:0 0 auto;background:var(--blue);z-index:30;transform-origin:left;transform:scaleX(var(--page-progress,0));pointer-events:none}.skip{position:fixed;left:20px;top:-100px;background:white;color:var(--navy);padding:12px;z-index:40}.skip:focus{top:12px}
/* Original PNGs stay rigid: only translation and in-plane rotation change. */
.hero{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;padding-top:76px;padding-bottom:0;min-height:calc(100svh - 90px);isolation:isolate;overflow:clip;background:radial-gradient(ellipse at 84% 38%,#233b7b77,transparent 47%)}.hero-copy{position:relative;z-index:3;padding-bottom:40px}.hero .eyebrow{max-width:470px;font-size:.8rem;letter-spacing:.12em}.lead{max-width:460px;color:var(--muted);margin:0 0 34px}.scroll-link{display:inline-flex;align-items:center;gap:28px;margin-top:34px;color:var(--muted);font-size:.9rem}.hero-copy>.button{display:flex;width:max-content}.hero-art{position:relative;aspect-ratio:1;display:grid;place-items:center;margin-left:-7%;align-self:center;z-index:1}.hero-object{width:94%;position:relative;z-index:2;filter:drop-shadow(0 35px 25px #02072470)}.hero-object img{width:100%;height:auto}.scene-light{position:absolute;inset:5%;background:radial-gradient(ellipse,#7eb6e81f,transparent 65%);border-radius:50%}.orbit{position:absolute;border:1px solid #7eb6e837;border-radius:50%;pointer-events:none}.orbit-one{width:126%;height:68%;transform:rotate(-35deg);border-top-color:#a1d4ff7a}.orbit-two{width:104%;height:112%;transform:rotate(-35deg);border-left-color:#c4e8ff55;border-bottom-color:transparent}.scene-point{position:absolute;width:6px;height:6px;border-radius:50%;background:#d7eeff;box-shadow:0 0 20px #7eb6e8}.point-one{top:12%;right:9%}.point-two{bottom:4%;left:24%;width:4px;height:4px}.brand-stage{grid-column:1/-1;position:relative;width:100%;padding:58px 0 30px;margin-top:12px;z-index:2}.brand-stage img{width:100%;height:auto;opacity:.84;position:relative}.brand-stage-line{height:1px;width:100%;background:linear-gradient(90deg,transparent,var(--line),transparent);position:absolute;top:0}.floating-object{animation:float 9s ease-in-out infinite;animation-play-state:paused}@keyframes float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-13px) rotate(2deg)}}.scene.in-view .floating-object{animation-play-state:running}
.about{display:grid;grid-template-columns:1.2fr 1fr;gap:10vw;background:linear-gradient(180deg,var(--navy),#070f39 40%,#070f39);border-top:1px solid var(--line);isolation:isolate}.about-heading{position:sticky;top:135px;align-self:start}.about-copy{padding-top:85px;max-width:510px;color:var(--muted)}.about-copy>p{font-size:clamp(1.2rem,1.65vw,1.6rem);line-height:1.7;margin:0 0 65px;padding-top:25px;border-top:1px solid var(--line)}.about-copy>p:first-child{color:white}.about-copy .statement{font-size:clamp(1.3rem,2.1vw,2rem);line-height:1.7;color:white;margin-bottom:0}.statement strong{font-weight:550;color:var(--blue)}.about-art{width:215px;aspect-ratio:1;position:relative;margin:40px 0 0 35px;display:grid;place-items:center}.about-art img{width:87%;height:auto;filter:drop-shadow(0 18px 14px #0004);position:relative}.orbit-about{inset:0 -35%;transform:rotate(-28deg);border-top-color:var(--blue);opacity:.5}
.services{background:linear-gradient(180deg,#070f39,var(--navy));isolation:isolate}.section-heading{display:grid;grid-template-columns:1.35fr 1fr;gap:8vw;align-items:end;margin-bottom:65px}.section-heading>p{max-width:390px;color:var(--muted);margin-bottom:24px}.service{display:grid;grid-template-columns:85px 1fr 1.2fr;gap:34px;padding:40px 20px 40px 0;border-top:1px solid var(--line);position:relative;align-items:start;isolation:isolate;transition:background .45s,padding .45s var(--ease)}.service:last-child{border-bottom:1px solid var(--line)}.service::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#7eb6e810,transparent 75%);opacity:0;z-index:-1;transition:opacity .45s}.service:hover::before{opacity:1}.service-icon{width:68px;height:68px;display:grid;place-items:center;position:relative}.service-icon:before{content:"";position:absolute;inset:-5px;border:1px solid var(--line);border-radius:50%;opacity:0;transform:scale(.8);transition:opacity .5s,transform .5s var(--ease)}.service-icon img{width:52px;height:52px;object-fit:contain;transition:transform .7s var(--ease),filter .7s}.service:hover .service-icon img{transform:translateY(-5px) rotate(-5deg);filter:drop-shadow(0 5px 10px #7eb6e84d)}.service:hover .service-icon:before{opacity:1;transform:scale(1.15)}.service p{color:var(--muted);font-size:1rem;margin:0 0 18px}.service-question{font-size:.95rem;line-height:1.65;color:var(--blue);display:block}.service h3{padding-top:5px}.service>*,.section-heading>*,.people>*{min-width:0}
.people{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:center;overflow:clip;background:radial-gradient(ellipse at 18% 80%,#283e7b55,transparent 50%),#070f39;border-block:1px solid var(--line)}.people-visual{display:flex;align-items:flex-end;position:relative;isolation:isolate;gap:18px;padding-top:30px}.person-card{width:50%;margin:0;z-index:1}.person-card-gabriel{margin-bottom:45px}.portrait{position:relative;filter:drop-shadow(0 25px 28px #02072750)}.portrait img{width:100%;height:auto;aspect-ratio:567/931;object-fit:contain;object-position:center bottom}.person-card figcaption{display:flex;flex-direction:column;gap:8px;padding-top:17px;border-top:1px solid var(--line)}.person-card figcaption strong{font-size:1.1rem;line-height:1.4;font-weight:550}.person-card figcaption span{font-size:.875rem;color:var(--blue)}.people-orbit{position:absolute;width:120%;height:55%;border:1px solid #7eb6e840;border-radius:50%;transform:rotate(-24deg);left:-10%;bottom:25%;z-index:-1}.visual-line{position:absolute;left:10%;right:10%;bottom:3%;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}.people-copy p{color:var(--muted);max-width:460px}.people-copy .eyebrow{color:var(--blue)}
.contact{text-align:center;padding-top:160px;padding-bottom:140px;isolation:isolate;overflow:clip;background:radial-gradient(ellipse at 50% 100%,#273e8355,transparent 64%)}.contact>h2,.contact>p,.contact-actions,.handle{position:relative;z-index:2}.contact h2{font-size:clamp(3rem,7.2vw,7.5rem);line-height:1.1;letter-spacing:-.055em}.contact p:not(.eyebrow){color:var(--muted);margin:30px 0 38px}.contact-actions{display:flex;flex-direction:column;align-items:center;gap:14px}.contact-actions .button{min-width:295px}.button-whatsapp{background:#0b155466;border-color:var(--line);color:white;backdrop-filter:blur(10px)}.button-whatsapp:hover{background:white;color:var(--deep)}.handle{display:block;font-size:.875rem;color:var(--muted);margin-top:22px}.contact-decoration{position:absolute;inset:0;z-index:0;pointer-events:none}.contact-decoration img{position:absolute;width:170px;left:-35px;top:43%;opacity:.65}.contact-orbit{position:absolute;left:-15%;width:130%;height:88%;bottom:-50%;border:1px solid var(--line);border-radius:50%;transform:rotate(-13deg)}.contact-orbit:after{content:"";position:absolute;inset:-70px;border:1px solid #7eb6e817;border-radius:50%}
footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:38px;background:var(--deep);border-top:1px solid var(--line);position:relative;z-index:2}footer .brand img{width:140px}footer .brand span{font-size:.8rem;margin-top:14px;color:var(--muted);line-height:1.5}footer p,footer>a:last-child{font-size:.875rem;color:var(--muted)}footer>a:last-child{display:flex;align-items:center;gap:14px}
/* Progressive enhancement: content stays visible without JavaScript. */
.reveal-item{transition:opacity .9s var(--ease),transform 1.05s var(--ease);transition-delay:var(--reveal-delay,0ms)}.reveal-item.pending{opacity:0;transform:translateY(35px)}.word{display:inline-block;color:inherit!important;transition:opacity .85s var(--ease),transform .95s var(--ease);transition-delay:calc(var(--word-index,0)*40ms)}.word-heading.pending .word{opacity:0;transform:translateY(32px)}.word-heading{overflow:visible}.hero-copy .word-heading{position:relative}.in-view[data-drift]{will-change:transform}[data-drift]{transform:translate3d(0,var(--drift-y,0px),0) rotate(var(--drift-turn,0deg));transform-origin:center;transition:transform .15s linear}body.motion-off .floating-object{animation:none}body.motion-off [data-drift]{transform:none}body.motion-off .word,body.motion-off .reveal-item{transition:none;opacity:1;transform:none}
@media(min-width:1700px){header,section,footer{padding-inline:max(6vw,calc((100vw - 1520px)/2))}}
@media(max-width:1000px){nav{gap:19px}.hero{padding-top:55px;grid-template-columns:1.15fr 1fr}.hero h1{font-size:7.5vw}.hero .eyebrow{font-size:.75rem}.hero-art{margin-right:-9%;margin-left:-3%}.about{gap:7vw}.service{grid-template-columns:65px 1fr 1.1fr;gap:23px}.people{gap:5vw}.person-card figcaption strong{font-size:1rem}.contact-decoration img{width:120px;left:-45px}}
@media(max-width:760px){html{scroll-padding-top:130px}.header{height:auto;min-height:106px;padding-block:18px;flex-wrap:wrap;gap:10px}.brand img{width:142px}nav{width:100%;justify-content:space-between;gap:8px;font-size:.875rem;order:2}nav a{min-height:38px}.nav-contact{border:0;padding:0;gap:8px}.nav-contact .arrow-icon{width:14px}.header.scrolled{background:rgba(5,11,44,.96)}.section{padding-block:78px}.hero{padding-top:44px;padding-bottom:0;grid-template-columns:1fr;min-height:0}.hero-copy{padding:0;z-index:3}.hero .eyebrow{max-width:400px;font-size:.78rem;letter-spacing:.09em;margin-bottom:24px}.hero h1{font-size:clamp(3.4rem,11.5vw,5.6rem)}.lead{font-size:1.05rem;max-width:510px}.hero-art{grid-row:2;width:72%;max-width:470px;margin:32px auto 20px;aspect-ratio:1}.hero-object{width:91%}.hero-art .orbit-one{width:130%}.hero-copy>.button{padding:17px 23px}.scroll-link{margin-top:26px}.brand-stage{padding:25px 0 20px;margin-top:0}.brand-stage img{opacity:.9}.about,.section-heading,.people{grid-template-columns:1fr;gap:36px}.about-heading{position:relative;top:auto}.about-art{width:155px;margin:32px 0 0 auto;position:absolute;right:-24px;bottom:-122px;opacity:.8}.about-copy{padding-top:24px;max-width:none;position:relative;z-index:2}.about-copy p{font-size:1.2rem;margin-bottom:36px;max-width:90%}.about-copy p:first-child{padding-right:80px}.about-copy .statement{max-width:none;font-size:1.45rem}.section-heading{margin-bottom:38px}.section-heading>p{margin:0;max-width:500px}.service{grid-template-columns:64px 1fr;gap:18px;padding:30px 0}.service>div{grid-column:2}.service-icon{width:52px;height:52px}.service-icon img{width:45px;height:45px}.service h3{font-size:1.85rem}.service p{margin-bottom:14px}.people-visual{max-width:510px;width:100%;margin:auto;gap:16px;padding-top:0}.person-card-gabriel{margin-bottom:28px}.person-card figcaption strong{font-size:1rem}.people-copy{max-width:570px}.people-copy h2{margin-bottom:25px}.people-copy .eyebrow{margin-bottom:20px}.contact{padding-top:90px;padding-bottom:100px}.contact h2{font-size:clamp(2.7rem,8.2vw,4.5rem)}.contact .eyebrow{font-size:.78rem;letter-spacing:.11em}.contact-decoration img{width:105px;left:-63px;top:51%;opacity:.45}.contact-orbit{bottom:-38%;height:60%;width:180%;left:-40%}.contact p:not(.eyebrow){font-size:1rem}.contact-actions .button{width:min(100%,330px);min-width:0}.handle{font-size:.8rem}footer{flex-wrap:wrap;padding-block:30px;gap:22px}footer p{display:none}footer>a:last-child{font-size:.8rem}.word{transition-delay:calc(var(--word-index,0)*25ms)}}
@media(max-width:390px){header,section,footer{padding-inline:20px}nav{font-size:.8rem;gap:5px}.nav-contact{gap:5px}.hero h1{font-size:3.25rem}.hero .eyebrow{font-size:.73rem}.button{font-size:.9rem;gap:15px;padding:18px 20px}h2{font-size:2.15rem}.service{grid-template-columns:47px 1fr;gap:15px}.service-icon{width:42px;height:42px}.service-icon img{width:39px;height:39px}.service h3{font-size:1.6rem}.service>div{grid-column:1/-1}.person-card figcaption strong{font-size:.9rem}.contact h2{font-size:2.7rem}.about-copy p:first-child{padding-right:50px}.about-art{width:125px;right:-10px;bottom:-110px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-item.pending,.word-heading.pending .word{opacity:1;transform:none}[data-drift]{transform:none!important}.reading-progress{display:none}}
@media print{.header,.scene,.brand-stage,.contact-decoration,.reading-progress{display:none}.section{padding:25px!important;break-inside:avoid}body{background:white;color:#111}.pending,.word-heading.pending .word{opacity:1!important;transform:none!important}}
/* Contain decorative orbits without creating a horizontal scroll area. */
.about{overflow:clip}
@media(max-width:360px){
  .header .brand img{width:125px}
  nav{justify-content:flex-start;gap:25px}
  nav a{white-space:nowrap}
  .nav-contact{position:absolute;right:20px;top:20px;min-height:22px;font-size:.75rem}
  .nav-contact .arrow-icon{width:12px}
  .contact h2{font-size:2.12rem}
}
/* Transparent real-volume logo: the mesh rotates, never the canvas or fallback PNG. */
.about-art{width:min(100%,490px);aspect-ratio:1.08;margin:28px auto 0;opacity:1}
.about-art .spin-shell{width:100%;height:100%;display:grid;place-items:center}
.about-art img{width:84%;animation:none;transform:none;filter:drop-shadow(0 18px 20px #0003)}
.about-art canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.about-art.volume-ready canvas{opacity:1}
.about-art.volume-ready .spin-shell{visibility:hidden}
.about-art .orbit-about{inset:7% -3%;transform:rotate(-26deg);opacity:.38}
@media(max-width:1000px){.about-art{width:min(100%,420px)}}
@media(max-width:760px){.about-art{position:relative;width:min(100%,350px);right:auto;bottom:auto;margin:24px auto 0}.about-copy p,.about-copy p:first-child{max-width:none;padding-right:0}}
@media(max-width:390px){.about-art{width:100%;right:auto;bottom:auto}}
/* Service panels stack in the natural page scroll, as in the supplied reference. */
.services{padding-bottom:100px;background:#070f39}
.service-list{position:relative;isolation:isolate}
.service{position:sticky;top:var(--stack-top);z-index:var(--card-order,0);min-height:var(--service-height,max(400px,55svh));grid-template-columns:minmax(110px,.65fr) 1.2fr 1.3fr;gap:clamp(28px,4vw,70px);align-items:start;padding:64px 40px;background:#0b1554;border-top:1px solid #7eb6e84d;box-shadow:0 -20px 50px #050b2c26;transition:none;overflow:clip}
.service:nth-child(even){background:#0d195b}
.service:before{inset:0;background:#050b2c;opacity:calc(var(--covered,0)*.6);z-index:2;pointer-events:none;transition:none}
.service:hover:before{opacity:calc(var(--covered,0)*.6)}
.service>*{transform:translateY(calc(var(--covered,0)*-20px));transition:none}
.service h3{font-size:clamp(2rem,3.5vw,3.6rem);padding:0;line-height:1.12}
.service p{font-size:1.1rem;line-height:1.8;margin-bottom:30px}
.service-question{font-size:1rem;line-height:1.7}
.service-icon{width:100%;height:auto;aspect-ratio:1;max-width:150px}
.service-icon img{width:100%;height:auto;max-height:150px;object-fit:contain;filter:drop-shadow(0 12px 20px #050b2c33)}
.service-icon:before{display:none}
.service:hover .service-icon img{transform:none;filter:drop-shadow(0 12px 20px #050b2c33)}
@media(max-width:1000px){.service{grid-template-columns:100px 1fr 1.2fr;padding:45px 28px;gap:28px}.service h3{font-size:2.3rem}}
@media(max-width:760px){
 .services{padding-bottom:78px}.service{grid-template-columns:78px minmax(0,1fr);align-content:start;gap:28px 22px;padding:36px 24px;min-height:var(--service-height,max(420px,64svh))}
 .service-icon{width:78px}.service-icon img{max-height:78px}.service h3{font-size:clamp(1.8rem,6vw,2.6rem)}
 .service>div{grid-column:1/-1}.service p{font-size:1rem;margin-bottom:24px}.service-question{font-size:.95rem}
}
@media(max-width:390px){.service{padding:30px 18px;gap:24px 16px;grid-template-columns:60px minmax(0,1fr)}.service-icon{width:60px}.service h3{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce), (max-height:540px){.service{position:relative;top:auto;min-height:0}.service:before{display:none}.service>*{transform:none}}
@media print{.service{position:static;min-height:0;box-shadow:none;break-inside:avoid}.service:before{display:none}.service>*{transform:none}}
.stack-static .service{position:relative;top:auto}.stack-static .service:before{display:none}.stack-static .service>*{transform:none}
/* Brighter white face for the 3D wordmark while preserving its shaded extrusion. */
.brand-stage img{opacity:.96;filter:brightness(1.24) contrast(1.08) saturate(.15) drop-shadow(0 20px 24px #02072452)}
/* Card typography: stronger hierarchy and comfortable reading in the scroll sequence. */
.service{grid-template-columns:minmax(130px,.62fr) minmax(250px,1.05fr) minmax(300px,1.35fr);padding:72px 56px;gap:clamp(34px,4.8vw,82px)}
.service h3{font-size:clamp(2.35rem,3.9vw,4rem);line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
.service p{font-size:clamp(1.15rem,1.35vw,1.35rem);line-height:1.7;max-width:46ch;margin-bottom:28px;color:#d6def4}
.service-question{font-size:clamp(1.05rem,1.2vw,1.2rem);line-height:1.55;font-weight:600;letter-spacing:.01em}
.service-icon{max-width:168px;align-self:start;margin-top:2px}
@media(max-width:1000px){.service{grid-template-columns:108px minmax(190px,1fr) minmax(250px,1.2fr);padding:56px 34px;gap:32px}.service h3{font-size:2.6rem}.service p{font-size:1.12rem}}
@media(max-width:760px){.service{grid-template-columns:88px minmax(0,1fr);padding:42px 26px;gap:26px 22px}.service-icon{width:88px;max-width:88px}.service h3{font-size:clamp(2rem,7.6vw,2.8rem);line-height:1.08}.service p{font-size:1.08rem;line-height:1.65;max-width:42ch}.service-question{font-size:1rem}}
@media(max-width:390px){.service{grid-template-columns:68px minmax(0,1fr);padding:34px 20px;gap:22px 16px}.service-icon{width:68px}.service h3{font-size:2rem}.service p{font-size:1rem}}
