@font-face{font-family:'DM Sans';src:url(assets/dm-sans-regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url(assets/dm-sans-semibold.ttf) format('truetype');font-weight:600 700;font-display:swap}
:root{--paper:#faf9f6;--ink:#202126;--muted:#65666c;--line:#d5d5d5;--blue:#334bea;--hero:#a8aaad;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.12;letter-spacing:-.045em}button{border:0}::selection{background:var(--blue);color:#fff}[hidden]{display:none!important}.wrap{width:calc(100% - 120px);max-width:1320px;margin-inline:auto}.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.contact :focus-visible,.footer :focus-visible{outline-color:#91a6ff}.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--ink);color:white;padding:12px 20px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.header{position:absolute;inset:0 0 auto;z-index:5}.header-inner{height:100px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:9px;font-size:17px;min-height:44px}.brand-symbol{font-size:22px}.header nav{display:flex;gap:38px;align-items:center;font-size:15px}.header nav a{min-height:44px;display:flex;align-items:center;gap:12px;position:relative}.header nav a:after{content:'';position:absolute;bottom:1px;left:50%;width:5px;height:5px;border-radius:50%;background:currentColor;transform:scale(0);transition:transform .2s}.header nav a:hover:after{transform:scale(1)}.nav-contact span{font-size:21px}
.hero{height:100svh;min-height:760px;max-height:1040px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 42% 35%,#b8babd 0%,var(--hero) 72%)}.hero-art{position:absolute;left:18%;top:7%;height:100%;width:auto;pointer-events:none;z-index:-1}.hero-portrait{height:100%;width:auto;max-width:none;object-fit:contain;animation:arrive 1.2s cubic-bezier(.2,.7,.2,1) both}.hero-copy{position:absolute;left:72%;top:25%;right:3.5%;max-width:345px}.hero-arrow{display:block;font-size:48px;line-height:1;margin-bottom:52px}.hero-copy .eyebrow{font-size:10px;letter-spacing:.035em;margin-bottom:18px}.hero h1{font-size:clamp(30px,2.8vw,44px);line-height:1.2;letter-spacing:-.04em}.hero-link{font-size:14px;margin-top:24px;display:inline-flex;gap:27px;align-items:center;min-height:46px;border-bottom:1px solid #57595f}.hero-link span{font-size:23px;transition:transform .25s}.hero-link:hover span{transform:translate(3px,-3px)}.hero-badge{position:absolute;left:0;top:41%;display:flex;align-items:center;gap:24px;padding:21px 23px 21px 42px;border-radius:0 80px 80px 0;background:var(--ink);color:#fff;font-size:16px;line-height:1.35}.hero-badge svg{width:53px;height:53px;padding:5px;stroke:currentColor;stroke-width:1.2}.hero-name{position:absolute;bottom:69px;left:2.5%;font-size:16.6vw;line-height:.95;letter-spacing:-.065em;color:#fff;white-space:nowrap;font-weight:400;pointer-events:none}.hero-name>span{font-size:.53em;vertical-align:13%;margin-left:.1em}.hero-bottom{position:absolute;bottom:16px;left:4.2%;right:4.2%;display:flex;justify-content:space-between;align-items:center;font-size:12px}.hero-bottom a{min-height:44px;display:flex;align-items:center;gap:30px}.hero-bottom a span{font-size:24px}.name-break{display:none}
.offer{padding:110px 0 88px}.offer-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;align-items:start;margin-bottom:70px}.offer-heading>.eyebrow{padding-top:10px;color:var(--muted)}.offer h2{font-size:clamp(35px,3.6vw,53px);line-height:1.18}.offer-intro{font-size:15px;line-height:1.8;padding-top:12px}.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.offer-item{display:block;border-top:1px solid var(--line);padding:25px 0 0}.offer-number{font-size:12px;color:var(--muted)}.offer-item h3{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:30px;letter-spacing:-.035em;margin:22px 0 15px}.offer-item h3 span{font-size:30px;transition:transform .25s}.offer-item:hover h3 span{transform:translate(5px,-5px);color:var(--blue)}.offer-item p{font-size:15px;max-width:430px;color:var(--muted)}.offer-foot{display:flex;gap:22px;align-items:center;color:var(--muted);font-size:12px;margin-top:45px}.offer-foot span{color:#b4b4b8}
.work{padding-bottom:95px}.work-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:28px 0 30px;color:var(--muted)}.work-heading>p:last-child{font-size:13px}.work-image{position:relative;display:block;background:#e7e6e2;padding:55px 12%;overflow:hidden}.work-image>img{box-shadow:0 15px 45px #34343615;transition:transform .65s cubic-bezier(.2,.65,.2,1)}.work-image:hover>img{transform:scale(1.035)}.work-cta{position:absolute;right:5%;bottom:9%;width:126px;height:126px;display:flex;align-items:center;justify-content:center;gap:16px;background:var(--blue);color:#fff;border-radius:50%;font-size:14px;transition:background .25s,transform .25s}.work-cta span{font-size:23px}.work-image:hover .work-cta{background:#202126;transform:rotate(-7deg)}.work-caption{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 0;border-bottom:1px solid var(--line)}.work-caption h2{font-size:40px}.work-caption h2 a{display:inline-flex;gap:26px;align-items:center}.work-caption h2 a>span{font-size:28px}.work-caption p{font-size:14px;text-align:right;line-height:1.8}.work-caption p>span{font-size:12px;color:var(--muted)}
.contact{background:var(--ink);color:white;padding:95px 0 78px;position:relative}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact .eyebrow{color:#c4c5cb}.contact h2{font-size:clamp(60px,6.6vw,96px);line-height:1.02;margin:30px 0}.contact-title-last{color:#a3a7b1}.contact-copy>p:not(.eyebrow){max-width:350px;color:#c6c7cd;font-size:15px}.direct-contact{margin-top:30px;display:flex;flex-direction:column;align-items:start;gap:10px}.direct-contact>a{font-size:18px;min-height:44px;border-bottom:1px solid #7b7c81;display:flex;align-items:center}.direct-contact>a:not([href]){font-size:13px;color:#b6b7bf;border:0;min-height:0}.contact-form{padding-top:7px}.contact-form fieldset{padding:0;border:0;margin:0 0 26px}.contact-form legend{font-size:15px;margin-bottom:14px}.interest-options{display:flex;gap:10px;flex-wrap:wrap}.interest-options label{position:relative;cursor:pointer}.interest-options input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.interest-options span{display:block;border:1px solid #777981;border-radius:60px;padding:13px 20px;font-size:13px;transition:background .2s}.interest-options input:checked+span{background:#fff;color:var(--ink);border-color:#fff}.interest-options input:focus-visible+span{outline:3px solid #91a6ff;outline-offset:4px}.field-label{display:block;font-size:15px;margin-bottom:14px}.field-label>span{font-size:12px;color:#b6b7bf}textarea{width:100%;border:0;border-bottom:1px solid #777981;border-radius:0;background:transparent;color:#fff;resize:vertical;min-height:100px;max-height:280px;padding:0 0 16px;font-size:16px;line-height:1.65}textarea::placeholder{color:#b6b7bf}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:54px;padding:16px 24px;border-radius:40px;font-size:14px;border:1px solid transparent;line-height:1.3;transition:background .2s,transform .2s}.button>span{font-size:23px}.button:hover{transform:translateY(-2px)}.button-lime{background:var(--blue);color:#fff}.button-lime:hover{background:#243bc8}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#43454c}.contact-form>.button{margin-top:22px}.form-note{font-size:12px;color:#b6b7bf;margin-top:13px;max-width:340px}.footer{background:var(--ink);color:#b6b7bf;padding:0 0 22px}.footer-compact{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #505158;padding-top:23px;font-size:12px}.privacy-link{background:transparent;color:inherit;font-size:12px;min-height:44px;padding:0}.back-top{display:flex;align-items:center;gap:24px;min-height:44px}.back-top span{font-size:22px}
body.dialog-open{overflow:hidden}dialog{width:min(620px,calc(100% - 40px));max-height:calc(100dvh - 40px);border:0;background:var(--paper);color:var(--ink);padding:44px;overflow:auto;border-radius:4px}dialog::backdrop{background:#11141cb3;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:10px;top:10px;width:44px;height:44px;background:none;font-size:30px;line-height:1}dialog h2{font-size:48px;margin:18px 0 23px}dialog p:not(.eyebrow){font-size:14px;line-height:1.7}dialog p+p{margin-top:14px}.message-preview{background:#ececea;border:1px solid var(--line);padding:20px;white-space:pre-wrap;overflow:auto;max-height:220px;font-size:14px;margin:22px 0;overflow-wrap:anywhere}.message-actions{display:flex;gap:15px;flex-wrap:wrap;align-items:center}.text-link{background:none;border:0;border-bottom:1px solid currentColor;display:inline-flex;align-items:center;gap:25px;padding:10px 0;min-height:44px;font-size:14px}.copy-status{margin-top:15px;font-size:13px;color:#3742a3}.contact-pending{color:var(--muted)}.noscript-note{background:#fff;padding:20px;text-align:center;font-size:14px}
@keyframes arrive{from{opacity:0;transform:translateY(28px) rotate(3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@media(min-width:1700px){.hero-name{font-size:282px;left:calc(50% - 808px)}.hero-copy{left:73%}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero-art{left:9%;top:10%;height:90%}.hero-copy{left:70%;right:3%}.hero-badge{padding-left:25px;gap:13px;font-size:14px}.hero-badge svg{width:45px;height:45px}.hero h1{font-size:31px}.hero-copy .eyebrow{max-width:150px}.offer-heading{grid-template-columns:1fr 2fr}.offer-intro{grid-column:2;padding-top:0}.offer-heading{gap:20px;margin-bottom:45px}.offer-grid{gap:45px}.offer-item h3{font-size:26px}.contact-grid{gap:55px}.contact h2{font-size:69px}}
@media(max-width:700px){
 .wrap{width:calc(100% - 40px)}.header-inner{height:80px}.brand{font-size:15px}.header nav{gap:0}.header nav .nav-secondary{display:none}.nav-contact{font-size:13px}.nav-contact span{font-size:20px}.header nav a:after{display:none}
 .hero{height:auto;min-height:790px;max-height:none}.hero-art{top:305px;left:38%;width:auto;height:490px}.hero-copy{top:102px;left:21px;right:21px;max-width:none}.hero-arrow{position:absolute;right:0;top:0;margin:0;font-size:32px}.hero-copy .eyebrow{max-width:270px;font-size:10px;padding-right:38px;margin-bottom:18px}.hero h1{font-size:34px;line-height:1.13}.hero-link{font-size:13px;gap:19px;margin-top:12px}.hero-badge{top:437px;padding:12px 15px 12px 21px;font-size:12px;gap:18px}.hero-badge svg{width:40px;height:40px}.hero-name{left:19px;bottom:90px;font-size:clamp(72px,22.6vw,94px);white-space:normal;max-width:94%;line-height:.97;letter-spacing:-.065em;animation:none}.name-break{display:block}.hero-name span{display:none}.hero-bottom{left:21px;right:21px;bottom:18px;font-size:10px;gap:20px}.hero-bottom>span{max-width:176px;line-height:1.6}.hero-bottom a{gap:14px;font-size:11px}
 .offer{padding:60px 0 45px}.offer-heading{display:block;margin-bottom:34px}.offer-heading>.eyebrow{padding:0;margin-bottom:22px}.offer h2{font-size:36px}.offer-intro{margin-top:22px;font-size:14px}.offer-grid{grid-template-columns:1fr;gap:30px}.offer-item{padding-top:20px}.offer-item h3{font-size:26px;margin:16px 0 13px}.offer-item p{font-size:15px}.offer-foot{display:block;font-size:11px;line-height:2.2;margin-top:28px}.offer-foot span{margin:0 8px}
 .work{padding-bottom:55px}.work-heading{align-items:start;gap:12px;padding:25px 0 22px}.work-heading>.eyebrow{font-size:9px;max-width:126px}.work-heading>p:last-child{font-size:11px;text-align:right;max-width:145px}.work-image{padding:35px 19px 64px}.work-cta{width:88px;height:88px;right:15px;bottom:15px;font-size:12px;gap:9px}.work-cta span{font-size:20px}.work-caption{gap:15px;padding:19px 0}.work-caption h2{font-size:33px}.work-caption h2 a{gap:12px}.work-caption h2 a>span{font-size:23px}.work-caption p{font-size:11px;max-width:200px}.work-caption p>span{font-size:10px}
 .contact{padding:55px 0 35px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact h2{font-size:64px;margin:23px 0}.contact-copy>p:not(.eyebrow){font-size:15px}.direct-contact{margin-top:20px}.direct-contact>a:not([href]){font-size:12px}.contact-form{padding-top:0}.contact-form fieldset{margin-bottom:23px}.interest-options span{padding:12px 17px}.form-note{font-size:11px}.footer-compact{flex-wrap:wrap;gap:8px 24px;font-size:10px}.footer-compact>p{flex-basis:100%}.privacy-link{font-size:11px}.back-top{margin-left:auto;font-size:11px}dialog{padding:35px 24px;width:calc(100% - 24px)}dialog h2{font-size:39px}.message-preview{font-size:13px;max-height:180px}
}
@media(max-width:370px){.hero{min-height:770px}.hero-copy{top:102px}.hero h1{font-size:31px}.hero-art{top:315px;left:39%;height:455px}.hero-badge{top:420px}.hero-name{bottom:99px}.offer h2{font-size:32px}.offer-item h3{font-size:23px}.contact h2{font-size:56px}.work-caption p{max-width:172px}}
.header :focus-visible,.hero :focus-visible{outline-color:var(--ink)}

/* Movimiento editorial para la portada de Carlos. */
@keyframes hero-drift{from{transform:translateX(0)}to{transform:translateX(-11%)}}
@media(min-width:701px){.has-motion .hero-name{animation:hero-drift 16.36s ease-in-out 1.3s infinite alternate}.hero-art{transform:translate3d(0,var(--portrait-shift,0px),0)}}
.offer{padding-top:145px;padding-bottom:125px}
.offer h2{font-size:clamp(45px,4.7vw,76px);letter-spacing:-.055em}
.offer-grid{gap:7vw}
.offer-item{transition:border-color .3s,color .3s}
.offer-item:hover{border-color:var(--ink)}
.work{padding-bottom:135px}
.work-image{background:#e3e2df;padding:48px 10%}
.work-image>img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .8s}
.work-cta{pointer-events:none;box-shadow:0 15px 35px #20212624}
.work-image.is-tracking .work-cta,.work-image.is-tracking:hover .work-cta{right:auto;bottom:auto;left:var(--cursor-x);top:var(--cursor-y);transform:translate(-50%,-50%);transition:left .08s linear,top .08s linear,background .25s}
.work-caption h2{font-size:clamp(48px,5.4vw,82px);letter-spacing:-.055em;line-height:1.05}
.work-caption h2 a>span{transition:transform .3s}
.work-image:hover+.work-caption h2 a>span{transform:translate(6px,-6px)}
.contact{padding:125px 0 100px;overflow:hidden}
.contact-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:end;gap:9vw}
.contact-copy{position:relative}
.contact h2{font-size:clamp(70px,7.6vw,118px);line-height:.98;letter-spacing:-.065em;margin:40px 0 135px}
.contact-avatar{display:inline-flex;width:62px;height:62px;margin-right:20px;border-radius:50%;overflow:hidden;vertical-align:middle;background:#8b8e91;align-items:flex-start;justify-content:center}
.contact-avatar img{height:110%;width:100%;object-fit:cover;object-position:center 8%;transform:scale(1.6) translateY(10%)}
.contact-orb{position:absolute;right:-9%;top:46%;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:150px;height:150px;border-radius:50%;background:var(--blue);color:#fff;font-size:15px;line-height:1.2;transform:translate(var(--mag-x,0px),var(--mag-y,0px));transition:background .25s,transform .25s;box-shadow:0 24px 45px #11141c45}
.contact-orb span{font-size:25px;margin-top:7px}
.contact-orb:hover{background:#4b60ff}
.contact-form{scroll-margin-top:100px}
.contact-form .button{min-width:210px}
.floating-menu{position:fixed;top:24px;right:30px;z-index:31;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;box-shadow:0 13px 34px #17171b30;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-14px) scale(.9);transition:opacity .3s,visibility .3s,transform .3s,background .3s}
.floating-menu.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.floating-menu:hover{background:var(--blue)}
.menu-lines{width:22px;height:16px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.menu-lines span{display:block;width:22px;height:1.5px;background:currentColor;transition:transform .25s}
.floating-menu[aria-expanded=true] .menu-lines span:first-child{transform:translateY(3.75px) rotate(45deg)}
.floating-menu[aria-expanded=true] .menu-lines span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.floating-nav{position:fixed;top:99px;right:30px;z-index:30;width:min(390px,calc(100vw - 36px));max-height:calc(100vh - 115px);max-height:calc(100dvh - 115px);overflow-y:auto;padding:29px 29px 30px;background:var(--ink);color:#fff;border-radius:5px;box-shadow:0 25px 70px #11141c55;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px) scale(.96);transform-origin:top right;transition:opacity .25s,visibility .25s,transform .25s}
.floating-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.floating-nav .eyebrow{color:#b6b7bf;margin-bottom:18px}
.floating-nav a{display:grid;grid-template-columns:36px 1fr auto;align-items:baseline;gap:10px;border-bottom:1px solid #505158;padding:14px 0;font-size:31px;line-height:1.15;letter-spacing:-.045em;transition:padding-left .25s,color .25s}
.floating-nav a>span:first-child{font-size:11px;color:#aeb0b9;letter-spacing:0}
.floating-nav a>span:last-child{font-size:20px}
.floating-nav a:hover{padding-left:6px;color:#b5c0ff}
[data-reveal].will-reveal{opacity:0;transform:translateY(35px)}
[data-reveal].will-reveal.is-visible{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
@media(max-width:1100px){.offer{padding-top:110px}.contact-grid{gap:60px}.contact h2{font-size:clamp(66px,7vw,92px)}.contact-orb{right:-5%;top:43%;width:128px;height:128px}}
@media(max-width:700px){.offer{padding:75px 0 75px}.offer h2{font-size:clamp(36px,10vw,52px)}.offer-grid{gap:35px}.work{padding-bottom:78px}.work-image{padding:30px 18px 70px}.work-caption h2{font-size:clamp(36px,9vw,52px)}.contact{padding:70px 0 65px}.contact-grid{grid-template-columns:1fr;gap:55px}.contact h2{position:relative;font-size:clamp(62px,13vw,88px);margin:26px 0 0;padding-top:58px}.contact-avatar{position:absolute;top:0;left:0;width:45px;height:45px;margin-right:0}.contact-orb{position:relative;top:auto;right:auto;margin:-6px 0 32px auto;width:112px;height:112px;font-size:12px}.contact-copy>p:not(.eyebrow){max-width:300px}.floating-menu{top:16px;right:16px;width:56px;height:56px}.floating-nav{top:83px;right:16px;max-height:calc(100vh - 99px);max-height:calc(100dvh - 99px);padding:20px 23px 24px}.floating-nav a{font-size:27px}}
@media(max-width:370px){.contact h2{font-size:58px}.floating-nav a{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-art{transform:none!important}[data-reveal].will-reveal{opacity:1;transform:none}}
[data-reveal].will-reveal:focus-within{opacity:1;transform:none}
@media(max-width:700px){.has-interactive-menu .header nav{display:none}.has-interactive-menu .header-inner{padding-right:68px}.header .brand{white-space:nowrap}}

/* Controles y alternativas para teclado y movimiento. */
.motion-toggle{min-height:44px;padding:8px 0;background:none;border-bottom:1px solid currentColor;font-size:12px;line-height:1.3}
.motion-toggle:hover{text-decoration:underline;text-underline-offset:4px}
.button:disabled{opacity:.55;cursor:not-allowed;transform:none}
html.motion-paused{scroll-behavior:auto}
.motion-paused *, .motion-paused *::before, .motion-paused *::after{animation-play-state:paused!important;transition:none!important}
.motion-paused .hero-art{transform:none!important}
.motion-paused [data-reveal].will-reveal{opacity:1;transform:none}
@media(max-width:700px){.motion-toggle{display:none}.work-caption{flex-direction:column;align-items:flex-start;gap:12px}.work-caption p{text-align:left;max-width:none;font-size:12px}.work-caption p>span{font-size:11px}}
.motion-paused .hero-portrait{animation:none!important}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:55px}.contact-copy,.contact-form{max-width:650px}}
