*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#08090b;color:#fff;font-family:Arial,Helvetica,sans-serif}body{min-height:100svh;isolation:isolate}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #8bfbac;outline-offset:8px}.mosaic{position:fixed;inset:0;display:flex;overflow:hidden;z-index:-3;background:#0b0b0b}.column{flex:1;min-width:0;margin-top:var(--offset);will-change:transform}.tile{display:block;width:100%;position:relative;margin:0;line-height:0;filter:brightness(.22) saturate(.85);animation:breathe var(--duration) ease-in-out var(--delay) infinite}.tile img{width:100%;height:auto;display:block}.tile.changing{opacity:0;transition:opacity 1.5s}.tile{transition:opacity 1.5s}.veil{position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse 39% 68% at 50% 51%,rgba(3,5,7,.97) 0%,rgba(3,5,7,.86) 36%,rgba(3,5,7,.3) 76%,rgba(3,5,7,.08) 100%),linear-gradient(0deg,rgba(0,0,0,.84),transparent 19%,transparent 82%,rgba(0,0,0,.65));pointer-events:none}header{position:absolute;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:30px 42px;z-index:2}.logo{width:200px;max-height:70px;object-fit:contain}.header-right{display:flex;gap:28px;align-items:center}.header-right span{font-size:10px;letter-spacing:2px;color:#e2e2e4}.header-right button{border:1px solid #ffffff45;background:#0b0b0b66;border-radius:50%;width:40px;height:40px;font-size:11px}main{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:115px 24px 105px}.center{text-align:center;max-width:620px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:#d5d8d6;margin:0 0 13px}.orbit-wrap{position:relative;width:290px;height:290px;margin:0 auto 9px;display:grid;place-items:center}.orbit{position:absolute;width:100%;height:100%;animation:spin 44s linear infinite;fill:#f5f5f0;font-weight:800;font-size:19px;letter-spacing:1.8px}.whatsapp{width:110px;height:110px;display:grid;place-items:center;border-radius:50%;background:#23ce65;box-shadow:0 0 0 10px #29d66d0b,0 0 70px #27da6426;transition:transform .35s,box-shadow .35s}.whatsapp svg{width:61px;height:61px}.whatsapp:hover{transform:scale(1.07);box-shadow:0 0 0 16px #29d66d12,0 0 85px #27da6445}h1{font-size:clamp(30px,3.1vw,49px);line-height:1.04;letter-spacing:-2px;margin:12px 0 15px;font-weight:750}.intro{font-size:14px;color:#c6c8c7;line-height:1.65;margin:0 auto 21px;max-width:360px}.contact-link{display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:600;min-height:40px}.dot{height:6px;width:6px;border-radius:50%;background:#41df7b;box-shadow:0 0 12px #41df7b55}.arrow{margin-left:8px;color:#54e58b}.email{display:inline-block;color:#aaaead;font-size:12px;margin-top:13px;padding:7px}.email span{margin-left:8px}footer{position:absolute;bottom:0;width:100%;padding:28px 42px;display:flex;justify-content:space-between;gap:20px;color:#c5c5c7;font-size:9px;letter-spacing:1.5px}footer>div{display:flex;gap:25px;align-items:center}#motion{border:0;background:none;padding:0;font-size:10px;color:#bcbfbd;letter-spacing:.2px;text-decoration:underline;text-underline-offset:4px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{0%,100%{filter:brightness(.16) saturate(.75)}25%{filter:brightness(.21) saturate(.85)}46%{filter:brightness(1.16) saturate(1.04)}62%{filter:brightness(.3) saturate(.9)}80%{filter:brightness(.16) saturate(.75)}}.paused *{animation-play-state:paused!important}.paused .tile{transition:none}@media(min-width:1600px){.orbit-wrap{width:330px;height:330px}.center{max-width:720px}}@media(max-width:700px){header{padding:22px}.logo{width:145px}.header-right span{display:none}.header-right button{width:35px;height:35px}.veil{background:radial-gradient(ellipse 75% 54% at 50% 48%,#030507f5 0%,#030507d9 43%,#03050766 85%),linear-gradient(0deg,#000e,transparent 20%,transparent 85%,#0009)}main{padding:110px 24px 110px}.orbit-wrap{width:255px;height:255px;margin-bottom:12px}.whatsapp{width:96px;height:96px}.whatsapp svg{width:53px;height:53px}.eyebrow{font-size:8px;letter-spacing:1.4px}h1{font-size:33px;letter-spacing:-1.3px}.intro{font-size:13px;max-width:285px}footer{padding:22px;display:block;text-align:center;line-height:1.8;font-size:8px}footer>div{justify-content:center;margin-top:10px;gap:20px}.bilingual{font-size:8px}.contact-link{font-size:13px}}@media(max-height:760px) and (min-width:701px){.orbit-wrap{width:235px;height:235px}.whatsapp{width:90px;height:90px}.whatsapp svg{width:50px;height:50px}h1{font-size:36px}main{padding-top:105px;padding-bottom:85px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.logo{width:155px;max-height:52px}@media(max-width:700px){.logo{width:125px;max-height:42px}}

.tile{overflow:hidden;isolation:isolate}.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.tile img.incoming{opacity:0;animation:design-reveal 2.2s ease-in-out forwards;z-index:1}@keyframes design-reveal{from{opacity:0}to{opacity:1}}

.orbit{pointer-events:none}.whatsapp{position:relative;z-index:1}

/* Keep decoding and the first paint out of view, then reveal the composed mosaic. */
.mosaic{opacity:0;transition:opacity 1.8s cubic-bezier(.22,.61,.36,1)}
.mosaic.ready{opacity:1}
.mosaic:not(.ready) .tile{animation-play-state:paused}
.tile img{opacity:0;transition:opacity .9s ease}
.tile img.decoded{opacity:1}
.tile img.incoming{opacity:0}
@media(prefers-reduced-motion:reduce){.mosaic,.tile img{transition:none}.tile img.incoming{opacity:1}}

/* Mobile composition: compact branding, quieter orbit, comfortable reading. */
@media(max-width:700px){
 body{display:flex;flex-direction:column;min-height:100svh}
 header{position:relative;flex:0 0 auto;padding:18px 22px;min-height:76px;align-items:center}
 header>a{display:flex;align-items:center;min-height:40px}
 .logo{width:100px;max-height:34px}
 .header-right button{width:36px;height:36px;font-size:10px;background:#08090b66;border-color:#ffffff30}
 main{flex:1 0 auto;min-height:0;padding:20px 24px 28px}
 .center{width:100%;max-width:320px}
 .orbit-wrap{width:184px;height:184px;margin:0 auto 24px}
 .orbit{font-weight:700;letter-spacing:1.5px}
 .whatsapp{width:70px;height:70px;box-shadow:0 0 0 7px #29d66d09,0 0 50px #27da641c}
 .whatsapp svg{width:39px;height:39px}
 h1{font-size:27px;font-weight:700;letter-spacing:-1px;line-height:1.15;margin:0 0 13px}
 .intro{font-size:12px;line-height:1.75;max-width:265px;margin:0 auto 23px;color:#c1c6c4;text-wrap:pretty}
 .contact-link{font-size:12px;font-weight:600;gap:8px;min-height:44px}
 .dot{width:5px;height:5px}
 .email{font-size:11px;letter-spacing:.1px;min-height:40px;margin-top:3px;padding:12px 6px;color:#a9b1ad}
 .contact-link .arrow,.email span{font-size:0;display:inline-block;position:relative;width:10px;height:10px;margin-left:5px;vertical-align:middle}
 .contact-link .arrow:before,.email span:before{content:"";position:absolute;right:0;top:0;width:6px;height:6px;border-right:1px solid currentColor;border-top:1px solid currentColor}
 .contact-link .arrow:after,.email span:after{content:"";position:absolute;right:0;top:0;width:11px;height:1px;background:currentColor;transform:rotate(-45deg);transform-origin:right center}
 footer{position:relative;flex:0 0 auto;padding:16px 24px max(18px,env(safe-area-inset-bottom));font-size:7px;letter-spacing:1.1px;line-height:1.9;color:#969e9a}
 footer>span{display:block;max-width:320px;margin:auto;text-wrap:balance}
 footer>div{margin-top:12px;gap:20px;min-height:26px}
 .bilingual{font-size:7px;letter-spacing:1.3px}
 #motion{font-size:9px;color:#929b96;text-underline-offset:4px}
 .veil{background:radial-gradient(ellipse 92% 64% at 50% 48%,#030507f5 0%,#030507d9 40%,#03050766 85%),linear-gradient(0deg,#000d,transparent 20%,transparent 85%,#0009)}
}
@media(max-width:700px) and (max-height:680px){
 header{min-height:66px;padding-top:12px;padding-bottom:12px}
 main{padding-top:8px;padding-bottom:12px}
 .orbit-wrap{width:154px;height:154px;margin-bottom:18px}
 .whatsapp{width:62px;height:62px}.whatsapp svg{width:35px;height:35px}
 h1{font-size:25px}.intro{margin-bottom:12px}
 footer{padding-top:10px;padding-bottom:12px}
}

/* Minimal contact composition, mobile only. */
@media(max-width:700px){
 .center h1,.center .intro,.center .contact-link{display:none}
 main{flex:1 0 auto;padding:20px 24px}
 .orbit-wrap{margin:0 auto}
 .email{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;margin:24px auto 0;padding:0;font-size:0;border:1px solid #ffffff2b;border-radius:50%;background:#08090b55;color:#c6ceca}
 .email span{display:none}
 .email:before{content:"";display:block;width:17px;height:17px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='black' stroke-width='1.5'/%3E%3Cpath d='m4 7 8 6 8-6' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='black' stroke-width='1.5'/%3E%3Cpath d='m4 7 8 6 8-6' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
}
