:root{color-scheme:dark;--ink:#050912;--navy:#091125;--panel:#101a30;--blue:#3e63ff;--blue-bright:#6382ff;--white:#f6f8ff;--muted:#a9b5cc;--line:rgba(255,255,255,.14)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px;scrollbar-gutter:stable}
body{margin:0;background:var(--ink);color:var(--white);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.65;overflow-x:hidden}
body.modal-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:2px solid:#a8b8ff;outline-offset:4px}
::selection{background:var(--blue);color:#fff}
.container{width:min(100% - 64px,1350px);margin-inline:auto}
.site-header{height:100px;position:absolute;z-index:40;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 clamp(24px,4.3vw,76px);border-bottom:1px solid rgba(255,255,255,.15);background:linear-gradient(180deg,rgba(3,7,17,.72),rgba(3,7,17,.12));transition:background .3s,box-shadow .3s,height .3s}
.site-header.scrolled{position:fixed;height:76px;background:rgba(5,10,23,.94);box-shadow:0 10px 34px rgba(0,0,0,.22);backdrop-filter:blur(18px)}
.brand{width:186px;flex:0 0 auto;display:block}
.brand img{width:100%;height:auto}
.brand{width:166px;transition:width .25s}
.site-header.scrolled .brand{width:139px}
.site-header nav{display:flex;align-items:center;gap:clamp(18px,2.7vw,46px)}
.site-header nav a{font-size:.84rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;transition:color .2s}
.site-header nav a:hover{color:#9db2ff}
.header-contact{display:flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.32);padding:12px 18px;border-radius:2px;font-size:.83rem;font-weight:800;letter-spacing:.02em;white-space:nowrap;transition:background .2s,transform .2s}
.header-contact:hover{background:#fff;color:#0a1532;transform:translateY(-2px)}
.header-contact svg{width:21px;height:21px;fill:currentColor;flex:0 0 auto}
.hero{position:relative;isolation:isolate;min-height:min(850px,100svh);display:flex;flex-direction:column;justify-content:center;align-items:stretch;background:#070c18;overflow:hidden}
.hero-bg{position:absolute;z-index:-3;inset:0;background:url('assets/wesley-portrait.png') center 34%/cover no-repeat;filter:blur(5px) saturate(.7);transform:scale(1.04);opacity:.42}
.hero-overlay{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(3,8,20,.99) 0%,rgba(3,8,20,.97) 28%,rgba(3,8,20,.7) 58%,rgba(3,8,20,.44) 100%),linear-gradient(0deg,#050912,transparent 22%)}
.hero:before{content:"";position:absolute;z-index:-1;top:17%;left:50%;width:34vw;height:34vw;border-radius:50%;border:1px solid rgba(79,110,255,.12);box-shadow:0 0 0 84px rgba(70,97,230,.035),0 0 0 168px rgba(70,97,230,.025);pointer-events:none}
.hero-content{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3vw;align-items:center;padding:145px 0 32px;position:relative}
.hero-copy,.about-copy,.journey-copy{min-width:0}
.hero-copy{position:relative;z-index:4;max-width:730px;animation:heroIn .9s both ease-out}
.eyebrow{font-size:.83rem;color:#b8c9ff;letter-spacing:.23em;font-weight:800;display:flex;align-items:center;gap:15px;margin:0 0 25px}
.eyebrow-line{width:30px;height:2px;background:var(--blue);flex:0 0 auto}
h1,h2,h3,p,figure{margin-top:0}
h1,h2,h3,.display-font{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-weight:800;letter-spacing:.01em;line-height:.89}
h1{font-size:clamp(3.8rem,6.2vw,7rem);line-height:1.07;margin-bottom:28px;max-width:900px;text-wrap:balance}
h1 em{font-style:normal;color:#6683ff}
.hero-intro{max-width:475px;color:#d0d7e8;font-size:1.05rem;line-height:1.7;margin-bottom:32px}
.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.button{max-width:100%;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:58px;padding:15px 25px;font-weight:800;font-size:.88rem;letter-spacing:.07em;line-height:1.2;text-transform:uppercase;transition:transform .25s,background .25s,box-shadow .25s}
.button:hover{transform:translateY(-3px)}
.button-primary{background:var(--blue);color:#fff;box-shadow:0 10px 30px rgba(43,79,255,.25)}
.button-primary:hover{background:#5476ff;box-shadow:0 18px 36px rgba(43,79,255,.3)}
.button span{font-size:1.2rem;font-weight:500}
.text-link{font-size:.92rem;font-weight:800;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:5px}
.text-link span{margin-left:8px;color:#8da4ff}
.hero-visual{position:relative;height:clamp(460px,44vw,590px);min-width:0;flex:none;align-self:center;animation:heroVisual .9s .15s both ease-out}
.hero-photo{position:absolute;margin:0;overflow:hidden;background:#111a2a;box-shadow:0 35px 70px rgba(0,0,0,.48)}
.hero-photo img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(.94)}
.hero-photo-main{height:90%;width:72%;top:2%;right:2%;clip-path:polygon(9% 0,100% 0,100% 100%,0 100%,0 13%)}
.hero-photo-main img{object-position:center 22%;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.hero-photo-main:hover img{transform:scale(1.045)}
.hero-photo-main:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(3,7,18,.68));pointer-events:none}
.hero-photo figcaption{position:absolute;z-index:2;bottom:20px;left:auto;right:18px;text-align:right;max-width:calc(100% - 30px);font-family:'Barlow Condensed',Impact,sans-serif;font-size:1.5rem;font-weight:800;letter-spacing:.08em;line-height:1}
.hero-photo figcaption small{display:block;font:800 .65rem Manrope,Arial,sans-serif;letter-spacing:.23em;color:#ced8f7;margin-top:6px}
.hero-photo-secondary{width:34%;height:43%;left:0;bottom:0;border:5px solid #061025;transform:rotate(-4deg);transition:transform .4s}
.hero-photo-secondary:hover{transform:rotate(0) translateY(-8px)}
.hero-photo-secondary img{object-position:center 18%}
.hero-visual-label{position:absolute;right:0;bottom:0;color:#a8baff;font-family:'Barlow Condensed',Impact,sans-serif;font-size:1.5rem;letter-spacing:.12em;writing-mode:vertical-rl}
.hero-bottom{position:relative;width:min(100% - 64px,1350px);margin:0 auto 24px;display:flex;align-items:center;justify-content:space-between;color:#a5aec2;font-size:.7rem;font-weight:800;letter-spacing:.22em}
.scroll-indicator{width:1px;height:47px;background:linear-gradient(transparent,#fff);position:relative;animation:scrollPulse 1.9s infinite}
@keyframes heroIn{from{opacity:0;transform:translateY(38px)}to{opacity:1;transform:none}}
@keyframes heroVisual{from{opacity:0;transform:translate(40px,20px) scale(.96)}to{opacity:1;transform:none}}
@keyframes scrollPulse{0%,100%{opacity:.3;transform:translateY(-5px)}50%{opacity:1;transform:translateY(5px)}}

/* Sections below the first view */
.ticker{position:relative;height:73px;display:flex;align-items:center;overflow:hidden;background:#385df1;border-top:1px solid #738cff;border-bottom:1px solid #738cff;white-space:nowrap}
.ticker-track{display:flex;flex:none;align-items:center;gap:0;width:max-content;animation:marquee 48s linear infinite;will-change:transform;font-family:'Barlow Condensed',Impact,sans-serif;font-size:1.75rem;font-weight:800;letter-spacing:.09em}
.ticker-track span{display:inline-flex;flex:none;gap:32px;align-items:center;padding-right:32px}
.ticker-track b{font-size:1.1rem;color:#bbc9ff}
@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:clamp(85px,9vw,155px) 0}
.section-kicker{color:#7893ff;font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;font-weight:800;margin-bottom:18px;display:flex;align-items:center;gap:12px}
.section-kicker:before{content:"";width:26px;height:2px;background:var(--blue)}
.section-title{font-size:clamp(3.8rem,7vw,7.9rem);line-height:1.03;margin-bottom:26px;max-width:950px}
.section-title em{color:#6b87ff;font-style:normal}
.section-lead{color:#aebad0;max-width:610px;font-size:1.05rem;line-height:1.8}
.about{background:radial-gradient(ellipse at 75% 36%,rgba(43,77,173,.15),transparent 38%),#090f1d}
.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(50px,8vw,145px);align-items:center}
.about-media{position:relative;min-height:610px}
.about-media:before{content:"";position:absolute;inset:-20px 55px 25px -24px;border:1px solid rgba(89,117,255,.42);pointer-events:none}
.about-media>img{width:84%;height:610px;object-fit:cover;object-position:center 33%;filter:contrast(1.04) saturate(.9)}
.about-media .media-note{position:absolute;right:0;bottom:35px;padding:20px 24px;background:var(--blue);font-family:'Barlow Condensed',Impact,sans-serif;font-size:2rem;font-weight:800;line-height:1.05;text-transform:uppercase;letter-spacing:.04em;max-width:245px}
.about-copy .section-title{font-size:clamp(4rem,6.3vw,7rem)}
.about-copy>p:not(.section-kicker){color:#b8c3d7;max-width:550px;font-size:1.03rem;line-height:1.85}
.about-values{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin:42px 0 40px;max-width:600px}
.about-values div{padding-top:16px;border-top:1px solid var(--line)}
.about-values strong{display:block;color:#f5f7ff;text-transform:uppercase;font-size:.93rem;letter-spacing:.04em;margin-bottom:8px}
.about-values span{display:block;color:#9ba9c2;font-size:.89rem;line-height:1.55}
.results{background:#050912;overflow:hidden}
.results-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:55px}
.results-heading .section-title{margin-bottom:0}
.results-heading .section-lead{max-width:360px;margin-bottom:7px}
.gallery-controls{display:flex;align-items:center;gap:12px}
.gallery-controls button{width:51px;height:51px;border:1px solid rgba(255,255,255,.34);color:#fff;background:transparent;cursor:pointer;font-size:1.5rem;transition:background .2s,border-color .2s}
.gallery-controls button:disabled{opacity:.35;cursor:default}
.gallery-controls button:not(:disabled):hover{background:var(--blue);border-color:var(--blue)}
.gallery{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 max(32px,calc((100vw - 1350px)/2)) 32px;scroll-padding-left:max(32px,calc((100vw - 1350px)/2))}
.gallery::-webkit-scrollbar{display:none}
.result-card{position:relative;flex:0 0 clamp(305px,31vw,425px);aspect-ratio:1.03;scroll-snap-align:start;cursor:zoom-in;background:#0e1730;overflow:hidden;border:1px solid rgba(110,139,255,.26);padding:0;text-align:left;appearance:none;box-shadow:0 17px 40px rgba(0,0,0,.17)}
.result-card img{width:100%;height:100%;object-fit:cover;object-position:center 45%;transition:transform .5s,filter .5s;filter:contrast(1.02)}
.result-card:hover img{transform:scale(1.04);filter:contrast(1.06)}
.result-card:after{content:"AMPLIAR";position:absolute;right:16px;bottom:16px;background:#fff;color:#0b1330;font-size:.68rem;letter-spacing:.13em;font-weight:800;padding:9px 11px}
.results-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:28px;color:#8290aa;font-size:.85rem}
.gallery-progress{height:2px;width:min(48%,350px);background:#29344b;position:relative;overflow:hidden}
.gallery-progress span{position:absolute;left:0;top:0;bottom:0;width:20%;background:#7290ff;transition:transform .3s}
.method{background:linear-gradient(165deg,#111d37,#07101f 66%);position:relative;overflow:hidden}
.method:before{content:"WM";position:absolute;right:-4vw;top:8%;font-family:'Barlow Condensed',Impact,sans-serif;font-size:min(42vw,560px);font-weight:900;line-height:1;color:rgba(255,255,255,.025);letter-spacing:-.08em;pointer-events:none}
.method .section-title{max-width:820px}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.2);margin-top:72px}
.method-card{position:relative;padding:30px 45px 16px 0;min-height:275px}
.method-card:not(:first-child){padding-left:38px;border-left:1px solid rgba(255,255,255,.2)}
.method-number{display:block;font-family:'Barlow Condensed',Impact,sans-serif;font-size:3.2rem;line-height:1;color:#5473ff;margin-bottom:36px}
.method-card h3{font-size:2.1rem;margin-bottom:16px}
.method-card p{color:#a9b7d0;max-width:300px;font-size:.95rem;line-height:1.75}
.journey{background:#070c17}
.journey-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(50px,8vw,130px);align-items:center}
.journey-copy .section-title{font-size:clamp(4rem,6vw,7rem)}
.journey-copy .section-lead{margin-bottom:35px}
.journey-montage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;position:relative;min-width:0}
.journey-label{grid-column:1/-1;display:inline-block;justify-self:start;color:#fff;background:var(--blue);padding:8px 15px;margin-bottom:3px;font-family:'Barlow Condensed',Impact,sans-serif;font-size:1.25rem;font-weight:800;letter-spacing:.09em}
.journey-shot{position:relative;overflow:hidden;aspect-ratio:30/31;background:#0d1424;box-shadow:0 14px 30px rgba(0,0,0,.19)}
.journey-shot img{position:absolute;display:block;width:214%;height:auto;max-width:none;filter:saturate(.95) contrast(1.03)}
.journey-shot-one img{left:-3.7%;top:-5%}
.journey-shot-two img{right:-4.8%;top:-5%}
.journey-shot-three img{left:-3.7%;bottom:0}
.journey-shot-four img{right:-4.8%;bottom:0}
.journey-shot-before,.journey-shot-after{aspect-ratio:690/804}
.journey-shot-before img,.journey-shot-after img{width:233%;top:-50%}
.journey-shot-before img{left:-15.8%}
.journey-shot-after img{right:-15.7%}
.cta-section{position:relative;isolation:isolate;min-height:520px;display:flex;align-items:center;overflow:hidden;background:#0a1224;text-align:center}
.cta-section:before{content:"";position:absolute;z-index:-2;inset:0;background:url('assets/wesley-training.png') center 42%/cover no-repeat;filter:grayscale(.3);opacity:.23}
.cta-section:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#081127cc,#071128af,#081127cc)}
.cta-content{padding:85px 0}
.cta-content .section-kicker{justify-content:center}
.cta-content .section-title{margin-inline:auto;max-width:1000px}
.cta-content p:not(.section-kicker){color:#c5d0e4;margin:0 auto 32px;max-width:570px}
.footer{padding:50px 0 28px;background:#04070e;border-top:1px solid var(--line)}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
.footer-logo{width:185px}
.footer-logo img{width:100%;height:auto}
.footer-links{display:flex;gap:30px;font-size:.86rem;font-weight:800;color:#b8c2d5}
.footer-links a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;color:#68768e;font-size:.77rem;margin-top:55px;border-top:1px solid var(--line);padding-top:20px}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;transform:none}
.reveal.delay-1{transition-delay:.1s}.reveal.delay-2{transition-delay:.2s}
.lightbox{position:fixed;z-index:100;inset:0;display:none;align-items:center;justify-content:center;padding:60px 20px 30px;background:rgba(2,5,12,.94);backdrop-filter:blur(12px)}
.lightbox.open{display:flex}
.lightbox-frame{width:min(90vw,900px,calc((100svh - 100px)*1.03));aspect-ratio:1.03;overflow:hidden;background:#0d1424}
.lightbox img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.lightbox-close{position:absolute;right:24px;top:20px;border:1px solid #aab5cb;background:transparent;color:#fff;width:45px;height:45px;cursor:pointer;font-size:1.6rem;line-height:1}

@media(max-width:1150px){.site-header nav{gap:16px}.site-header nav a{font-size:.75rem}.brand{width:150px}.header-contact{padding:10px 12px}.hero-content{grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}.hero-visual{min-height:460px}.hero-photo-main{width:92%;height:82%;top:7%;right:0}.hero-photo-secondary{width:37%;height:42%}.hero h1{font-size:clamp(3.6rem,6.4vw,5.75rem)}}
@media(max-width:850px){.container{width:min(100% - 42px,650px)}.site-header{height:77px;padding:0 22px}.site-header.scrolled{height:68px}.site-header nav{display:none}.brand{width:140px}.header-contact{font-size:.78rem}.hero{min-height:0}.hero-bg{background-position:55% center;opacity:.32}.hero-overlay{background:linear-gradient(180deg,#040918ee 3%,#040918bb 40%,#040918 95%)}.hero-content{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:130px 0 40px;gap:32px}.hero-copy{max-width:650px}.hero h1{font-size:clamp(4.7rem,12vw,7.5rem)}.hero-visual{height:475px;min-height:0;width:min(100%,510px);align-self:center;max-height:none}.hero-photo-main{right:0;width:72%;height:92%;top:2%}.hero-photo-secondary{width:40%;height:48%;left:0;bottom:0}.hero-bottom{display:none}.about-grid,.journey-grid{grid-template-columns:1fr;gap:60px}.about-media{max-width:520px;min-height:570px}.about-media>img{height:570px}.about-copy{order:-1}.results-heading{align-items:start;flex-direction:column}.results-heading .section-lead{max-width:620px}.method-grid{grid-template-columns:1fr}.method-card,.method-card:not(:first-child){padding:23px 0;border-left:0;border-bottom:1px solid var(--line);min-height:0}.method-number{margin-bottom:12px;font-size:2.4rem}.method-card h3{font-size:1.8rem;margin-bottom:8px}.method-card p{max-width:600px}.journey-montage{max-width:610px}.footer-inner{align-items:start;flex-direction:column}}
@media(max-width:580px){.container{width:calc(100% - 36px)}.site-header{padding:0 18px;gap:8px}.brand{width:112px}.header-contact{padding:8px 9px;gap:6px;font-size:.65rem}.header-contact svg{width:18px;height:18px}.hero-content{padding-top:135px;gap:20px}.eyebrow{font-size:.62rem;letter-spacing:.17em;gap:8px;margin-bottom:18px}.eyebrow-line{width:18px}.hero h1{font-size:clamp(3.2rem,12.8vw,5.7rem);line-height:1.07;margin-bottom:18px}.hero-intro{font-size:.92rem;line-height:1.65;margin-bottom:22px;max-width:340px}.hero-actions{gap:20px}.button{min-height:52px;padding:13px 18px;font-size:.77rem}.text-link{font-size:.81rem}.hero-visual{height:370px;max-width:400px}.hero-photo-main{height:100%;width:82%;right:2%;top:0}.hero-photo-secondary{height:45%;width:38%;left:0;bottom:1%}.hero-photo figcaption{font-size:1rem;left:auto;right:14px;bottom:15px}.hero-photo figcaption small{font-size:.5rem}.hero-visual-label{display:none}.ticker{height:57px}.ticker-track{font-size:1.4rem}.section{padding:82px 0}.section-title,.about-copy .section-title,.journey-copy .section-title{font-size:clamp(3.45rem,13vw,5rem)}.section-lead{font-size:.96rem}.about-media{min-height:440px}.about-media>img{height:440px;width:88%}.about-media:before{inset:-12px 28px 20px -8px}.about-media .media-note{right:0;bottom:16px;font-size:1.5rem;padding:14px 16px;max-width:190px}.about-values{gap:18px;margin:30px 0}.about-values strong{font-size:.78rem}.about-values span{font-size:.79rem}.results-heading{margin-bottom:30px;gap:20px}.gallery{gap:12px;padding:0 18px 20px;scroll-padding-left:18px}.result-card{flex-basis:min(80vw,360px)}.results-foot{flex-direction:column;align-items:start}.gallery-progress{width:100%}.method-grid{margin-top:42px}.journey-label{left:-5px;top:-15px}.cta-section{min-height:450px}.footer-links{flex-wrap:wrap;gap:15px 22px}.footer-bottom{flex-direction:column;gap:5px;margin-top:35px}}
@media(max-width:360px){.brand{width:95px}.header-contact{font-size:.59rem;padding:7px}.header-contact svg{width:16px;height:16px}.hero-photo-main{width:94%;height:90%;right:0;top:1%}}
@media(max-width:850px){.brand{width:124px}.site-header.scrolled .brand{width:112px}}
@media(max-width:580px){.brand{width:112px}.site-header.scrolled .brand{width:104px}}
@media(max-width:360px){.brand{width:92px}.site-header.scrolled .brand{width:88px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
