/* ANCLA corporate system: shared spacing, deliberate contrast, restrained motion. */
:root{--section-space:clamp(64px,7vw,112px);--content-width:1380px;--soft-shadow:0 18px 55px #102a4310}
::selection{background:#0fafc450;color:var(--ink)}
body{line-height:1.5}.grain{opacity:.018}.cursor-glow{display:none}
.skip-link{position:fixed;top:10px;left:15px;z-index:200;transform:translateY(-180%);background:var(--ink);color:var(--bg);padding:12px 20px;border-radius:10px}.skip-link:focus{transform:none}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--brand-turquoise);transform:scaleX(var(--reading,0));transform-origin:left;z-index:150;pointer-events:none}
.topbar{max-width:1480px;margin-left:auto;margin-right:auto;width:calc(100% - 48px);border-radius:22px}.topbar .nav a{font-size:11px;padding-inline:9px}.topbar .brand-copy{display:none}
.section{max-width:var(--content-width);padding:var(--section-space) clamp(22px,4vw,60px)}
.section-head{grid-template-columns:minmax(140px,.55fr) minmax(0,1.45fr);gap:40px;margin-bottom:44px;align-items:start}
.section-head>div{padding-top:12px;align-items:center}.section h2{font-size:clamp(34px,4.15vw,60px);line-height:1.1;font-weight:650;letter-spacing:-.045em;text-wrap:balance}
.section h2 span{color:var(--accent)}.section-no{font-size:10px;letter-spacing:.16em}
.poseidon-divider{min-height:54px;max-width:1260px;opacity:.72}.poseidon-seal{height:54px}.poseidon-seal>svg{height:42px}.poseidon-wave svg{height:22px}
.hero{max-width:1500px;margin:auto;padding:32px 24px 26px}.hero-card{min-height:650px;grid-template-columns:54px minmax(0,1.25fr) minmax(0,1fr) 54px;border-color:var(--line);border-radius:28px;box-shadow:var(--soft-shadow);transform:none!important}
.hero-main{padding:40px clamp(24px,3vw,48px);gap:30px}.eyebrow{font-size:9px;letter-spacing:.16em}.eyebrow b{font-size:24px;font-weight:500}.hero .kicker{font-size:10px;letter-spacing:.1em}.hero h1{font-size:clamp(48px,5.1vw,78px);line-height:1.02;font-weight:700;letter-spacing:-.055em}.hero h1 em{color:var(--accent)}.lead{font-size:16px;max-width:470px;line-height:1.8}
.hero-visual{position:relative;inset:auto;width:auto;height:auto;margin:0;border-left:1px solid var(--line);background:radial-gradient(ellipse at 40% 35%,#0fafc42b,transparent 60%),var(--surface-2)}
.visual-bg{inset:12% 8%;border-radius:130px 130px 26px 26px;background:linear-gradient(155deg,#174864,#102a43);transform:rotate(-4deg);border:1px solid #ffffff35}
.orb{width:95%;max-width:400px;animation:brand-float 8s ease-in-out infinite}.orb-core{inset:16% 0;border-radius:16px;box-shadow:0 24px 40px #0003}.orb-ring{border-width:2px;opacity:.45}.float-chip{font-size:8px;padding:10px 14px;backdrop-filter:blur(12px);animation-duration:7s}
.hero-side{gap:26px}.num{display:grid;place-items:center;width:32px;height:32px;font-size:11px}.num.active{width:32px;height:32px;border-color:var(--accent)}.plus{width:32px;height:32px;font-size:20px}.vertical-copy{gap:8px}.vertical-copy span{font-size:11px}.vertical-copy small{font-size:9px}
.hero-metrics{gap:14px;padding-top:24px}.hero-metrics strong{font-size:20px}.hero-metrics span{line-height:1.5}.hero-caption{padding:0 10px;font-size:9px}.marquee-wrap{margin-top:12px}.marquee{padding:20px 0;font-size:11px}
.cta-primary,.pill-btn{box-shadow:0 6px 20px #0fafc417;transition:transform .25s,box-shadow .25s}.cta-primary:hover,.pill-btn:hover{box-shadow:0 10px 25px #0fafc435;transform:translateY(-3px)}
.service-grid{gap:20px}.service-card{padding:28px;min-height:335px;border-radius:22px;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s,border-color .35s;background:radial-gradient(circle at var(--spot-x,100%) var(--spot-y,0%),#0fafc409,transparent 60%),var(--surface)}
.service-card::before{display:none}.service-icon{font-size:32px;margin:22px 0;color:var(--accent)}.service-card h3{font-size:21px;line-height:1.3;font-weight:650}.service-card p{font-size:13px;line-height:1.8;margin:0 0 22px}.service-card .tags{margin-top:auto}.tags span{font-size:9px;font-weight:500;background:var(--surface-2);border-color:transparent}
#proyectos .showcase-sticky{max-width:none;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:18px 50px;margin-bottom:42px}#proyectos .showcase-sticky h2{font-size:clamp(36px,4.3vw,60px);font-weight:650}#proyectos .showcase-sticky p{font-size:14px;line-height:1.8}
.portfolio-reel{border-radius:26px}.portfolio-reel-stage{height:700px}.portfolio-sheet{max-width:760px}.portfolio-reel-controls{padding:14px}.sheet-copy h3{font-weight:600}
.plans .plan-tabs{width:max-content;max-width:100%;padding:5px;border:1px solid var(--line);background:var(--surface);border-radius:30px;gap:3px;margin-bottom:32px;flex-wrap:wrap}.plan-tab{border:0;font-size:12px;padding:11px 20px}.plan-tab.active{background:var(--brand-navy);color:#fff}
.plans-grid{gap:22px;align-items:stretch}.price-card{border-radius:22px;padding:30px 26px;min-width:0;min-height:445px;box-shadow:var(--soft-shadow);transition:transform .3s,border-color .3s}.price-card.featured{transform:none;border-color:var(--brand-turquoise);box-shadow:inset 0 4px 0 var(--brand-turquoise),0 20px 50px #102a431c}.price-card h3{font-size:23px;font-weight:650}.price{font-size:clamp(30px,3vw,42px);line-height:1.3;overflow-wrap:anywhere}.price small{display:block;margin-top:6px;letter-spacing:0}.price-card ul{line-height:1.6;gap:13px}.price-card a{transition:background .25s,color .25s}.price-card a:hover{background:var(--brand-turquoise);border-color:var(--brand-turquoise);color:var(--brand-navy)}.plan-note{line-height:1.7;margin-top:24px}
.about .about-panel{border-radius:26px;padding:clamp(24px,4vw,48px);box-shadow:var(--soft-shadow)}.about .about-copy h2{font-weight:650}.about-pillars{gap:24px}.about-pillars article{padding-right:10px}.about-pillars article+article{border-left:1px solid var(--line);padding-left:22px}.about-identity{transform:rotate(2deg);transition:transform .5s}.about-identity:hover{transform:rotate(0)}
.process-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:0;gap:18px;position:relative}.process-row{display:flex;align-items:flex-start;flex-direction:column;gap:20px;border:1px solid var(--line);border-radius:20px;padding:28px 24px;background:var(--surface);transition:transform .3s,border-color .3s}.process-row>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--surface-2)}.process-row h3{font-size:23px;font-weight:600}.process-row p{font-size:13px;line-height:1.8}
.contact-card{border-radius:28px;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:48px;padding:clamp(26px,4vw,52px);background:radial-gradient(ellipse at 0 0,#0fafc423,transparent 60%),#102a43;box-shadow:0 26px 65px #102a4320}.contact-copy h2{font-size:clamp(36px,4.3vw,62px);font-weight:600;line-height:1.12}.contact-copy>p{font-size:14px;max-width:440px}.contact-links{font-size:12px;overflow-wrap:anywhere}.contact-form{border:1px solid #ffffff20;border-radius:20px;padding:24px;gap:18px}.contact-form input,.contact-form textarea,.contact-form select{font-size:16px;border-radius:10px}.contact-form label{font-size:10px;letter-spacing:.08em}.contact-form small{line-height:1.6}.contact-form button{line-height:1.5}
footer{max-width:1500px;margin:auto;padding:40px 32px;gap:24px;grid-template-columns:auto minmax(0,1fr) auto auto}.footer-studio p{max-width:240px}.footer-meta{font-size:10px}footer>div{flex-wrap:wrap}.social-icon{transition:transform .25s}.social-icon:hover{transform:translateY(-3px)}
.reveal{opacity:1;transform:none}.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(20px)}.reveal{transition:opacity .7s ease,transform .7s ease;transition-delay:var(--reveal-delay,0ms)}
@media(hover:hover) and (pointer:fine){.service-card:hover,.process-row:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:var(--soft-shadow)}.price-card:hover{transform:translateY(-5px);border-color:var(--accent)}}
@keyframes brand-float{50%{transform:translateY(-10px) rotate(1deg)}}
@media(max-width:1180px){.hero-card{grid-template-columns:42px minmax(0,1.1fr) minmax(0,1fr) 42px;min-height:590px}.hero-main{padding:30px 24px}.hero h1{font-size:clamp(42px,5.4vw,66px)}.hero .lead{font-size:14px}.hero .cta-primary,.hero .cta-ghost{font-size:12px}.right-rail{grid-column:auto}.process-list{grid-template-columns:repeat(2,minmax(0,1fr))}footer{grid-template-columns:1fr 1fr}.footer-meta{align-items:flex-start!important}}
@media(max-width:900px){.hero-card{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.hero-side{display:none}.hero-main{padding:30px 24px}.hero h1{font-size:48px}.hero-metrics{gap:10px}.hero-metrics strong{font-size:17px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plans-grid{grid-template-columns:1fr}.price-card{min-height:0}.contact-card{grid-template-columns:1fr}.contact-copy>p{max-width:100%}.section-head{grid-template-columns:1fr;gap:22px}.section-head>div{padding:0}.about-pillars article+article{border-left:0;padding-left:0}.portfolio-reel-stage{height:640px}}
@media(max-width:720px){.topbar{width:calc(100% - 24px)}.hero{padding:22px 12px}.hero-card{display:flex;flex-direction:column;min-height:0;border-radius:24px}.hero-main{padding:28px 24px;gap:25px}.hero h1{font-size:clamp(43px,10vw,64px)}.hero-visual{height:340px;width:auto;margin:0 16px 16px;border-radius:20px;border-left:0}.orb{width:82%;max-width:310px}.hero-copy .lead{font-size:16px}.hero-caption{font-size:8px;gap:16px}.hero-metrics strong{font-size:20px}.hero-metrics span{font-size:10px}.section{padding:64px 22px}.poseidon-divider{min-height:40px}.poseidon-seal{height:44px}.poseidon-seal>svg{height:34px}.service-grid{gap:14px}.service-card{padding:22px;min-height:320px}.service-card h3{font-size:20px}#proyectos .showcase-sticky{grid-template-columns:1fr;gap:20px}.portfolio-reel-stage{height:600px}.about-identity{transform:none}.about-pillars{grid-template-columns:1fr}.process-row{padding:24px 20px}.contact-card{padding:26px 20px;gap:30px}.contact-form{padding:20px 16px}.plan-tab{padding:10px 14px}.plans .plan-tabs{width:auto;justify-content:center}footer{padding:30px 22px}.reading-progress{height:2px}}
@media(max-width:520px){.service-grid,.process-list{grid-template-columns:1fr}.service-card{min-height:0}.service-icon{margin:16px 0}.service-card .tags{margin-top:12px}.hero-actions{gap:10px}.hero-actions a,.hero-actions button{flex:1;font-size:12px}.section h2{font-size:36px}.process-row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px 18px}.process-row h3{align-self:center}.process-row p{grid-column:2}.contact-links{font-size:11px}.portfolio-reel-stage{height:540px}footer{grid-template-columns:1fr}.hero-metrics strong{font-size:17px}.about .about-copy h2{font-size:34px}.contact-copy h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal:not(.visible){opacity:1;transform:none}.orb,.about-identity{transform:none}}

/* Client logos: reveal, controlled depth and a soft studio highlight. */
#proyectos .sheet-logo{position:relative;isolation:isolate;border:1px solid #102a4315;border-radius:14px;box-shadow:inset 0 1px 0 #ffffff30;transform:perspective(850px) rotateX(0) rotateY(0);transition:transform .6s ease,box-shadow .7s ease,border-color .7s;}
#proyectos .white-mark .sheet-logo{background:radial-gradient(ellipse at 50% 30%,#1d455f,#102a43 75%);border-color:#ffffff1f}
#proyectos .sheet-logo::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at var(--logo-light-x,50%) var(--logo-light-y,35%),#0fafc42e,transparent 65%);opacity:.25;transition:opacity .7s;pointer-events:none}
#proyectos .sheet-logo img{transform:translateY(10px) scale(.91);opacity:.65;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),opacity .8s;transform-origin:center;}
#proyectos .portfolio-sheet[data-position="0"] .sheet-logo{transform:perspective(850px) rotateX(var(--logo-rx,0deg)) rotateY(var(--logo-ry,0deg));border-color:#0fafc466;box-shadow:0 14px 28px #061b3026,inset 0 1px 0 #ffffff30}
#proyectos .portfolio-sheet[data-position="0"] .sheet-logo::before{opacity:1}
#proyectos .portfolio-sheet[data-position="0"] .sheet-logo img{transform:translateY(0) scale(1);opacity:1;transition-delay:.12s}
#proyectos .sheet-logo::after{content:"";position:absolute;inset:-70%;pointer-events:none;background:linear-gradient(105deg,transparent 42%,#ffffff0f 49%,#ffffff20 50%,transparent 57%);transform:translateX(-70%) rotate(-12deg);opacity:0}
#proyectos .portfolio-sheet[data-position="0"] .sheet-logo::after{animation:logo-light-pass 1.4s .25s ease-out both}
@keyframes logo-light-pass{0%{transform:translateX(-70%) rotate(-12deg);opacity:0}25%{opacity:.7}100%{transform:translateX(70%) rotate(-12deg);opacity:0}}
@media(hover:none){#proyectos .portfolio-sheet[data-position="0"] .sheet-logo{transform:none}}
@media(prefers-reduced-motion:reduce){#proyectos .sheet-logo,#proyectos .sheet-logo img,#proyectos .portfolio-sheet[data-position="0"] .sheet-logo,#proyectos .portfolio-sheet[data-position="0"] .sheet-logo img{transform:none;opacity:1;transition:none}#proyectos .sheet-logo::after{display:none}}

/* Poseidon dividers: illuminated currents and a central tidal halo. */
.poseidon-divider{position:relative;isolation:isolate;min-height:104px;opacity:1;gap:clamp(18px,3vw,42px)}
.poseidon-divider::before{content:"";position:absolute;inset:10px 8%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse at center,#0fafc422,transparent 68%);pointer-events:none}
.poseidon-wave{position:relative;opacity:.85;overflow:hidden;padding:12px 0}
.poseidon-wave svg{height:30px;stroke-width:1.25;filter:drop-shadow(0 0 4px #0fafc433)}
.poseidon-wave::after{content:"";position:absolute;top:0;bottom:0;left:-30%;width:28%;background:linear-gradient(90deg,transparent,#0fafc40a,#64e0ec60,transparent);transform:skewX(-24deg);opacity:0;pointer-events:none}
.poseidon-seal{flex-basis:72px;width:72px;height:80px}
.poseidon-seal::before{inset:7px 3px;border:1px solid #0fafc44d;background:radial-gradient(circle,#0fafc424,transparent 70%);box-shadow:0 0 24px #0fafc41a,inset 0 0 16px #0fafc414}
.poseidon-seal::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid #0fafc422;transform:scale(.92);pointer-events:none}
.poseidon-seal>svg{width:38px;height:56px;filter:drop-shadow(0 0 6px #0fafc466)}
@media(prefers-reduced-motion:no-preference){
.divider-effects .poseidon-divider .poseidon-wave::after{animation:poseidon-sweep 5.8s cubic-bezier(.3,.1,.2,1) infinite;animation-play-state:paused}
.divider-effects .poseidon-divider .poseidon-seal::after{animation:poseidon-tide 4.6s ease-out infinite;animation-play-state:paused}
.divider-effects .poseidon-divider .poseidon-seal>svg{animation:poseidon-float 5.8s ease-in-out infinite;animation-play-state:paused}
.divider-effects .poseidon-divider.divider-in-view .poseidon-wave::after,.divider-effects .poseidon-divider.divider-in-view .poseidon-seal::after,.divider-effects .poseidon-divider.divider-in-view .poseidon-seal>svg{animation-play-state:running}
.divider-effects .poseidon-divider.divider-enter .poseidon-seal{animation:poseidon-arrive .9s cubic-bezier(.16,1,.3,1) both}
}
@keyframes poseidon-sweep{0%,12%{left:-30%;opacity:0}20%{opacity:.85}66%{left:105%;opacity:0}100%{left:105%;opacity:0}}
@keyframes poseidon-tide{0%{transform:scale(.92);opacity:0}20%{opacity:.7}85%,100%{transform:scale(1.35);opacity:0}}
@keyframes poseidon-float{0%,100%{transform:translateY(2px)}50%{transform:translateY(-3px)}}
@keyframes poseidon-arrive{from{opacity:.3;transform:translateY(12px) scale(.8) rotate(-12deg)}to{opacity:1;transform:none}}
@media(max-width:720px){.poseidon-divider{min-height:84px;gap:18px}.poseidon-seal{flex-basis:58px;width:58px;height:64px}.poseidon-seal>svg{width:30px;height:44px}.poseidon-wave svg{height:24px}.poseidon-divider::before{inset:12px 0}}
@media(prefers-reduced-motion:reduce){.poseidon-wave::after{display:none}.poseidon-seal::after{opacity:.4;transform:none}}
