/* Desarrollaweb 2.0 — sistema visual basado en la landing V19.
   Sin frameworks, sin scroll interno, respetando la reducción de movimiento. */
:root{--night:#080a10;--night2:#10121c;--ink:#13131b;--text:#242632;--muted:#666b7a;--paper:#f7f7f7;--frost:#f2f1f5;--white:#fff;--line:#dedfe6;--pink:#d01ea5;--purple:#8221ed;--orange:#f18c53;--ring:#9c3df9;--container:1180px;--header-height:86px;--radius:18px;--shadow:0 22px 55px rgba(12,10,30,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{max-width:100%}img{display:block}a{color:inherit}a,button,input,textarea,select{touch-action:manipulation}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{line-height:1.12;letter-spacing:-.05em;margin-top:0}h1{font-weight:760;font-size:clamp(46px,5.5vw,78px)}h2{font-size:clamp(33px,4.1vw,54px);font-weight:740}h3{font-size:21px;font-weight:700;letter-spacing:-.03em}p{margin:0 0 18px}strong{font-weight:700}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a342ff;outline-offset:4px;border-radius:3px}::selection{background:#d7b0fb;color:#151023}[hidden]{display:none!important}.container{width:min(var(--container),calc(100% - 56px));margin:0 auto}.skip{position:fixed;top:-120px;left:16px;padding:12px 18px;color:#080a10;background:white;z-index:1000;border-radius:7px}.skip:focus{top:16px}.eyebrow{display:block;color:#c925a5;text-transform:uppercase;letter-spacing:.15em;font-weight:800;font-size:12px;margin-bottom:16px}.gradient-text{background:linear-gradient(100deg,#c43bf5 0%,#f034b5 48%,#ffad66 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.button{display:inline-flex;align-items:center;justify-content:center;gap:19px;border-radius:999px;padding:13px 23px;text-decoration:none;min-height:51px;font-size:14px;font-weight:760;line-height:1.2;border:1px solid transparent;white-space:normal;text-align:center;transition:transform .35s ease,box-shadow .4s ease,background .35s ease}.button:hover{transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.button-primary{background:linear-gradient(105deg,#7220d9,#ae218f 58%,#964019);color:white;box-shadow:0 13px 32px #7f24ac35}.button-primary:hover{box-shadow:0 17px 38px #c82abc55}.button-glass{background:#ffffff09;border-color:#ffffff69;color:#fff}.button-glass:hover{background:#ffffff1c}.button-outline{border-color:#ffffff63;color:#f9f8fb;background:#ffffff04}.button-outline:hover{background:#ffffff18}.button-dark{color:#11131a;border-color:#d9d9e0;background:#fff}.button-dark:hover{box-shadow:0 12px 25px #0b092020}.section{padding:110px 0}.section-intro{max-width:780px;margin-bottom:42px}.section-intro h2{margin:0 0 19px}.section-intro p{font-size:18px;color:var(--muted);max-width:720px}.section-intro.is-centered{text-align:center;margin-left:auto;margin-right:auto}.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:34px}.section-heading-row .section-intro{margin-bottom:0}.section-heading-row>.button{flex-shrink:0;margin-bottom:9px}.section-muted{background:var(--frost)}.section-dark{background:var(--night);color:white}.section-dark .section-intro p{color:#c5c6d1}.section-dark .eyebrow{color:#ef7fe6}
/* Navigation / compact sticky */
.site-header{position:sticky;top:0;z-index:100;background:rgba(8,10,16,.97);color:white;border-bottom:1px solid #ffffff1e;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:background .55s ease,border-color .55s ease,box-shadow .55s ease}.site-header.is-compact{background:rgba(8,10,16,.92);box-shadow:0 16px 38px #0000002b}.nav-bar{height:86px;display:flex;align-items:center;justify-content:space-between;gap:35px;transition:height .7s cubic-bezier(.2,.8,.2,1)}.site-header.is-compact .nav-bar{height:72px}.brand{flex:0 0 auto;display:flex;align-items:center}.brand img{width:210px;height:auto;max-height:65px;object-fit:contain;transition:width .7s cubic-bezier(.2,.8,.2,1)}.site-header.is-compact .brand img{width:186px}.site-nav{display:flex;align-items:center;gap:clamp(13px,2vw,28px);font-size:14px;font-weight:560}.site-nav>a:not(.button){text-decoration:none;position:relative;color:#d8dae3;padding:10px 0}.site-nav>a:not(.button):hover,.site-nav>a[aria-current=page]{color:white}.site-nav>a:not(.button):after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:2px;background:linear-gradient(90deg,#a425fd,#f249b9);transition:right .3s ease}.site-nav>a:not(.button):hover:after,.site-nav>a[aria-current=page]:after{right:0}.nav-contact{min-height:45px;padding:10px 18px}.menu-toggle{display:none}
/* Hero */
.hero{position:relative;isolation:isolate;min-height:675px;background:#090b12 url('../img/hero-team.webp') 50% 43%/cover no-repeat;color:white;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,10,16,.99) 0%,rgba(8,10,16,.96) 31%,rgba(8,10,16,.83) 53%,rgba(8,10,16,.24) 100%)}.hero-fade{position:absolute;height:145px;left:0;right:0;bottom:0;background:linear-gradient(transparent,#080a10);pointer-events:none}.hero-content{position:relative;z-index:2;padding-top:112px;padding-bottom:98px}.hero-content h1{max-width:760px;margin:29px 0 30px;font-size:clamp(50px,6.5vw,89px);line-height:1.04;letter-spacing:-.063em}.hero-kicker{display:inline-flex;align-items:center;gap:11px;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:750;color:#e8d6fc}.signal{width:9px;height:9px;border-radius:50%;background:#cd40e8;box-shadow:0 0 0 5px #be30df20}.hero-lead{color:#e2e3eb;font-size:20px;line-height:1.66;max-width:630px;margin-bottom:29px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px}.hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:64px;max-width:830px}.hero-meta span{font-size:12px;background:#ffffff10;border:1px solid #ffffff2c;border-radius:999px;color:#dcdae5;padding:7px 12px}.proof-strip{background:#080a10;color:#d2d5df;border-top:1px solid #ffffff1b;padding:28px 0}.proof-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.proof-inner span{font-size:13px;background:#ffffff08;border:1px solid #ffffff1c;border-radius:10px;padding:12px 15px}.proof-inner span::first-letter{color:#ce42f3}
/* Services */
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.service-card{min-width:0;min-height:305px;position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:28px;background:#fff;border:1px solid #e1e1e8;border-radius:15px;padding:26px 24px;box-shadow:0 8px 22px #10101805;overflow:hidden;transition:transform .45s ease,box-shadow .45s ease}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(100deg,#8727f4,#ee23aa,#fc9766)}.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 42px #18112511}.service-index{display:block;font-size:11px;font-weight:780;letter-spacing:.08em;color:#b61db2;text-transform:uppercase}.service-card h3{font-size:22px;margin:0 0 13px;line-height:1.26}.service-card h3 a{text-decoration:none}.service-card h3 a:hover{color:#8525ff}.service-card p{font-size:14px;line-height:1.68;color:#656979;margin:0}.link-arrow{font-weight:760;text-decoration:none;font-size:13px}.link-arrow span{font-size:17px}.link-arrow:hover{text-decoration:underline;text-underline-offset:5px}
/* Projects */
.card-carousel .carousel-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.projects-carousel .carousel-items{grid-template-columns:repeat(4,minmax(0,1fr))}.project-card{min-width:0}.project-card a{text-decoration:none}.project-window{background:#171a29;border:1px solid #ffffff32;border-radius:12px;overflow:hidden;transition:transform .4s ease,border-color .4s ease}.project-card:hover .project-window{transform:translateY(-4px);border-color:#b746e7}.window-bar{height:34px;display:flex;align-items:center;justify-content:flex-start;gap:11px;padding:0 12px;color:#c0bfcd;font-size:10px;white-space:nowrap;overflow:hidden}.window-bar>span:last-child{overflow:hidden;text-overflow:ellipsis}.window-dots{display:flex;gap:4px}.window-dots i{width:6px;height:6px;display:block;border-radius:100%;background:#a3a4b2}.project-window>img{width:100%;height:auto;aspect-ratio:1.46/1;object-fit:cover;object-position:top}.project-placeholder{aspect-ratio:1.46;display:grid;place-items:center;padding:26px;background:radial-gradient(circle at 70% 20%,#c02979 0,transparent 43%),linear-gradient(125deg,#17213a,#313e71);color:white;text-align:center}.project-placeholder>span{font-size:24px;font-weight:800;line-height:1.15}.project-info{padding:15px 3px 8px;display:flex;gap:10px;align-items:center;justify-content:space-between}.project-type{color:#b6b3c6;text-transform:uppercase;letter-spacing:.12em;font-weight:760;font-size:10px}.project-info h3{font-size:16px;color:white;line-height:1.3;margin:5px 0 0;letter-spacing:-.02em}.project-out{font-size:19px;color:#f05acf}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 20px}.project-grid .project-info h3{font-size:19px}.project-caption{font-size:12px;color:#a7a5b4;margin-top:25px}.filterbar{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:32px;color:#c7c7d2;font-size:13px}.filterbar>div{display:flex;gap:8px;flex-wrap:wrap}.filter-chip{border:1px solid #ffffff43;background:transparent;color:#e9e9f0;padding:9px 16px;border-radius:999px;font-size:13px}.filter-chip:hover,.filter-chip.active{color:white;border-color:transparent;background:linear-gradient(95deg,#8426ef,#bd2caa)}
/* Carousel controls, no internal scrolling */
.carousel-controls{display:none;gap:16px;align-items:center;justify-content:center;margin-top:29px}.is-enhanced .carousel-controls{display:flex}.carousel-controls button{width:45px;height:45px;border-radius:50%;background:#fff;border:1px solid #d7d8e3;color:#191923;font-size:20px;display:grid;place-items:center}.section-dark .carousel-controls button{background:#ffffff12;border-color:#ffffff58;color:white}.carousel-controls button:hover:not(:disabled){background:#bd2bb5;color:white;border-color:#bd2bb5}.carousel-controls button:disabled{opacity:.36;cursor:default}.carousel-counter{min-width:60px;text-align:center;font-size:12px;color:#81808e;font-variant-numeric:tabular-nums}.section-dark .carousel-counter{color:#cbc9d6}
/* Clients */
.section-trust{background:#f7f6f9}.logo-grid{list-style:none;margin:35px 0 0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:17px}.logo-tile{height:118px;background:white;border-radius:11px;border:1px solid #e9e8ed;display:flex;align-items:center;justify-content:center;padding:17px 11px;min-width:0}.logo-tile img{display:block;width:100%;max-width:120px;height:77px;object-fit:contain}.logo-tile:nth-child(-n+5) img{max-width:100px;height:62px}
/* Feature */
.section-feature{background:#fff}.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.feature-art{min-height:500px;background:radial-gradient(circle at 66% 28%,#a321bd49,transparent 42%),linear-gradient(147deg,#131521,#080a10);border-radius:20px;padding:30px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;color:white}.feature-art:before{content:"";inset:12px;position:absolute;border:1px solid #ffffff17;border-radius:15px}.feature-micro,.feature-bottom{position:absolute;left:32px;color:#e8d9ef;font-size:12px;z-index:2}.feature-micro{top:28px;letter-spacing:.15em}.feature-bottom{bottom:27px}.feature-orbit{position:relative;width:min(345px,75%);aspect-ratio:1;display:grid;place-items:center;border:1px solid #ffffff20;border-radius:50%;background:radial-gradient(circle,#bf31b72a,transparent 66%)}.feature-orbit:before,.feature-orbit:after{content:"";position:absolute;inset:25px;border:1px solid #ffffff2b;border-radius:50%}.feature-orbit:after{inset:61px}.feature-core{font-weight:820;font-size:74px;letter-spacing:-.12em;z-index:1}.feature-core span{background:linear-gradient(#e82dab,#bc48ff);background-clip:text;-webkit-background-clip:text;color:transparent}.feature-orbit>span{position:absolute;background:#11131a;border:1px solid #ffffff42;z-index:2;border-radius:9px;padding:6px 10px;font-size:12px;letter-spacing:.05em}.feature-orbit>span:nth-child(1){top:14px;left:47%}.feature-orbit>span:nth-child(2){top:48%;right:-10px}.feature-orbit>span:nth-child(3){bottom:12px;left:27%}.feature-orbit>span:nth-child(4){top:44%;left:-10px}.feature-list{list-style:none;padding:0;margin:16px 0 29px}.feature-list li{border-top:1px solid #e1e2e8;padding:17px 0}.feature-list li strong{font-size:16px}.feature-list li p{font-size:14px;color:var(--muted);margin:5px 0 0}
/* Reviews */
.reviews-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:32px}.reviews-heading .section-intro{margin:0}.google-summary{display:flex;gap:10px;align-items:center;background:white;border:1px solid #e3e4ea;padding:14px;border-radius:13px;min-width:220px}.google-summary strong{display:block;font-size:13px}.google-summary small{display:block;font-size:11px;color:var(--muted)}.google-letter{font-weight:900;font-size:28px;color:#4285f4}.review-card{display:flex;flex-direction:column;min-height:320px;padding:22px;background:white;border:1px solid #e3e3eb;border-radius:14px;box-shadow:0 7px 28px #00000006}.review-head{display:flex;align-items:center;gap:10px;min-height:47px}.review-avatar{flex:0 0 38px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eee2ff;color:#6224ad;font-size:12px;font-weight:800}.review-head h3{font-size:14px;margin:0;letter-spacing:-.02em}.review-head small{font-size:10px;color:#868593}.review-google{font-size:23px;font-weight:850;color:#4285f4;margin-left:auto}.review-stars{color:#9a6500;letter-spacing:.1em;font-size:15px;margin:16px 0 14px}.review-card p{font-size:13px;color:#414353;margin-bottom:20px;line-height:1.7}.review-foot{margin-top:auto;color:#828290;font-size:10px}.reviews-external{text-align:right;font-size:13px;margin-top:20px}.reviews-external a{text-underline-offset:4px}
/* Process + resource */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.process-step{border-top:2px solid #d6d5df;padding:19px 4px}.process-step span{font-size:12px;font-weight:820;color:#b129b0}.process-step h3{margin:18px 0 10px}.process-step p{font-size:14px;color:var(--muted)}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.resource-card{display:flex;flex-direction:column;min-height:295px;background:#fff;border:1px solid #e2e2e9;border-radius:16px;padding:27px;text-decoration:none;transition:transform .4s ease,box-shadow .4s ease}.resource-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.resource-card>span{font-size:11px;font-weight:810;color:#b823a6;text-transform:uppercase;letter-spacing:.08em}.resource-card h2,.resource-card h3{margin:22px 0 11px;font-size:24px;line-height:1.21}.resource-card p{font-size:14px;color:var(--muted)}.resource-card b{margin-top:auto;font-size:13px}
/* Calls to action / footers */
.cta-band{padding:88px 0;background:linear-gradient(125deg,#1b1334 0%,#160d21 58%,#251027 100%);color:white;border-top:1px solid #ffffff13}.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.cta-band h2{font-size:clamp(31px,4vw,53px);max-width:720px;margin:0 0 12px}.cta-band p{max-width:580px;color:#d3cfe0;margin:0}.cta-band .button{flex-shrink:0}.site-footer{background:#080a10;color:#f4f4f9;padding:0 0 30px}.footer-hero{padding:87px 0;border-bottom:1px solid #ffffff2d;display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-hero h2{font-size:clamp(34px,4.2vw,55px);max-width:690px;margin:0 0 14px}.footer-hero h2 em{font-style:normal;color:#dc65cb}.footer-hero p{color:#bbc0ca;margin:0}.footer-hero .button{flex-shrink:0}.footer-grid{display:grid;grid-template-columns:2.1fr 1fr 1.2fr 1.5fr;gap:37px;padding:65px 0 56px}.footer-brand img{width:240px;height:auto;object-fit:contain;max-height:80px}.footer-brand p{color:#aeb1c2;font-size:14px;max-width:290px;margin:0 0 12px}.footer-brand .footer-claim{font-size:17px;font-weight:730;color:#fff;margin:10px 0 8px}.footer-muted{color:#8b90a2;font-size:12px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:11px}.footer-grid h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:white;font-weight:780;margin:2px 0 14px}.footer-grid a{font-size:13px;color:#bec1cd;text-decoration:none}.footer-grid a:hover{color:#f58ada;text-decoration:underline;text-underline-offset:5px}.footer-bottom{border-top:1px solid #ffffff24;padding:24px 0 0;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#989aa9;font-size:11px}.footer-bottom a{text-decoration:none;color:#e2dbea}.floating-advisor{position:fixed;left:50%;bottom:24px;z-index:200;display:flex;align-items:center;gap:15px;white-space:nowrap;text-decoration:none;color:white;font-size:14px;font-weight:800;background:linear-gradient(105deg,#7921ed,#cf29a4);padding:10px 10px 10px 24px;min-height:56px;border-radius:999px;box-shadow:0 16px 39px rgba(93,11,109,.43);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,24px) scale(.97);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1),visibility 0s linear .75s}.floating-advisor.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1),visibility 0s}.floating-advisor span{height:36px;width:36px;display:grid;place-items:center;border-radius:50%;background:#ffffff2a;font-size:22px}.floating-advisor:hover{box-shadow:0 19px 45px rgba(93,11,109,.6)}
/* Interior headers + content */
.inner-hero{background:radial-gradient(circle at 85% 16%,#7227bf40,transparent 34%),linear-gradient(125deg,#080a10,#12121e);color:white;padding:100px 0 115px;position:relative;overflow:hidden}.inner-hero:after{content:"";height:200px;width:200px;position:absolute;right:10%;bottom:-200px;box-shadow:0 0 160px 85px #bc22bc35;border-radius:100%;pointer-events:none}.inner-hero h1{max-width:990px;font-size:clamp(45px,6vw,78px);margin:0 0 25px}.inner-hero p{font-size:19px;color:#cbd0dc;max-width:735px}.inner-hero .button{margin-top:10px}.inner-hero .eyebrow{color:#e57ae2}.breadcrumbs{display:flex;flex-wrap:wrap;gap:11px;color:#bfc0d0;font-size:12px;margin:0 0 52px}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.service-hero h1{max-width:920px}.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.detail-layout .section-intro{margin-bottom:12px}.detail-note{font-size:15px;color:#646a7b;max-width:600px}.detail-features{display:flex;flex-direction:column;gap:0}.detail-features article{display:flex;gap:18px;border-bottom:1px solid #dbdce5;padding:15px 0 22px}.detail-features article:first-child{padding-top:0}.detail-check{width:35px;height:35px;background:#efdbf5;color:#a318ab;border-radius:50%;display:grid;place-items:center;flex:0 0 35px}.detail-features h3{font-size:18px;margin:4px 0 9px}.detail-features p{font-size:14px;color:var(--muted);margin:0}.split-55{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.split-55 .section-intro{margin:0}.deliver-card{background:#fff;border-radius:18px;padding:38px;border:1px solid #e1e1e9;box-shadow:var(--shadow)}.deliver-card h3{margin-bottom:22px}.check-list{list-style:none;padding:0;margin:0 0 28px}.check-list li{padding:14px 0 14px 29px;border-bottom:1px solid #e9e8ef;position:relative;font-size:15px}.check-list li:before{content:'✓';position:absolute;left:2px;font-weight:800;color:#ab2ac2}.deliver-card>p{font-size:13px;color:#747684}.faq-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.faq-list details{border-bottom:1px solid #dadce5;padding:0}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;font-size:17px;font-weight:750;padding:22px 0;line-height:1.35}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:28px;color:#a62bbe;font-weight:400;transition:transform .25s ease}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{font-size:15px;color:var(--muted);padding:0 0 22px;margin:0}.tri-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.soft-card{background:white;border:1px solid #e3e3e9;border-radius:15px;padding:31px}.soft-card span{color:#b122ae;font-size:12px;font-weight:820}.soft-card h3{margin:20px 0 11px}.soft-card p{font-size:14px;color:var(--muted)}.statement{background:linear-gradient(135deg,#111322,#23203b);padding:44px;border-radius:18px;color:white;min-height:270px;display:flex;flex-direction:column;justify-content:space-between}.statement>span{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#efa3e8}.statement p{font-size:clamp(22px,2.5vw,32px);letter-spacing:-.04em;line-height:1.3;margin:0}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.team-card{border:1px solid #e0e1e9;background:white;border-radius:15px;padding:26px;min-height:220px}.team-initial{height:52px;width:52px;border-radius:14px;display:grid;place-items:center;color:#841cb3;font-weight:820;background:#f1e2f6;font-size:17px}.team-card h3{font-size:20px;margin:30px 0 7px}.team-card p{font-size:13px;color:var(--muted)}
/* Contact form */
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}.contact-aside .section-intro{margin-bottom:46px}.contact-aside .section-intro h2{font-size:clamp(30px,3.2vw,45px)}.contact-channel{border-top:1px solid #dddde5;padding:21px 0;display:flex;flex-direction:column;gap:7px}.contact-channel span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.contact-channel a,.contact-channel strong{font-size:16px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.contact-channel a:hover{text-decoration:underline}.contact-promise{background:#ebebf0;padding:26px;border-radius:14px;margin-top:35px}.contact-promise h3{font-size:18px;margin:0 0 9px}.contact-promise p{font-size:14px;color:#555969;margin:0}.lead-form{scroll-margin-top:115px;background:#fff;border:1px solid #dedde6;border-radius:20px;box-shadow:0 22px 65px #15112112;padding:40px}.form-header h2{font-size:clamp(26px,3vw,35px);margin:0 0 8px}.form-header>p{color:var(--muted);font-size:14px;margin-bottom:29px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-field{margin-bottom:20px}.form-field label{display:block;color:#24242d;font-size:13px;font-weight:780;margin:0 0 7px}.form-field label span{color:#ad26af}.form-field input,.form-field textarea,.form-field select{width:100%;padding:13px 14px;border:1px solid #c9cbd6;background:white;color:#20212b;border-radius:8px;min-height:48px;outline:none}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:3px solid #a342ff;outline-offset:2px}.form-field textarea{resize:vertical;min-height:128px}.form-field :is(input,textarea,select)[aria-invalid=true]{border-color:#b4233d}.field-error{color:#9e2033;font-size:11px}.consent{display:flex;align-items:flex-start;gap:11px;font-size:13px;color:#545565;margin:7px 0 24px}.consent input{margin-top:4px;accent-color:#8b20d9;width:19px;height:19px;flex:0 0 19px}.lead-form>button{width:100%}.form-status{margin:15px 0 0;font-size:13px;font-weight:750;min-height:1em}.lead-form>small{display:block;color:#757782;font-size:11px;margin-top:12px}.lead-form>small a{text-underline-offset:3px}
/* Resources / editorial */
.article-hero{padding:82px 0 82px;background:linear-gradient(135deg,#10121c,#161426);color:white}.article-container{max-width:820px}.article-hero .eyebrow{color:#ec89dd}.article-hero h1{font-size:clamp(39px,5vw,65px)}.article-lead{font-size:21px;color:#d3d1e1;max-width:700px}.article-meta{font-size:12px;color:#aab0be}.article-hero .breadcrumbs{margin-bottom:50px}.prose{font-size:17px;line-height:1.9}.prose h2{font-size:clamp(25px,3vw,35px);margin:45px 0 16px}.prose p{color:#464957}.prose .article-intro{font-size:20px;color:#323543;font-weight:560}.article-action{background:#f0e9f6;border-radius:17px;padding:34px;margin-top:55px}.article-action h2{margin-top:0;font-size:27px}.article-action .button{margin-top:10px}.article-back{margin-top:34px;font-size:14px}.article-back a{text-underline-offset:4px}
/* Motion */
.js-enabled .reveal{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.8,.2,1)}.js-enabled .reveal.is-in-view{opacity:1;transform:translateY(0)}
@media(max-width:1150px){.service-grid{grid-template-columns:repeat(3,1fr)}.logo-grid{grid-template-columns:repeat(6,1fr)}.nav-bar{gap:15px}.site-nav{gap:14px}.brand img{width:185px}.feature-split{gap:55px}.footer-grid{gap:22px}}
@media(max-width:950px){.site-nav{gap:15px}.site-nav>a:not(.button){display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.proof-inner{grid-template-columns:repeat(2,1fr)}.logo-grid{grid-template-columns:repeat(5,1fr)}.projects-carousel .carousel-items,.card-carousel .carousel-items{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.reviews-heading{align-items:start}.feature-split,.detail-layout,.split-55{gap:40px}.process-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:32px}.footer-brand{grid-column:1/-1}.faq-layout{gap:35px}.hero{min-height:630px}}
@media(max-width:740px){:root{--header-height:76px}.container{width:calc(100% - 36px)}.nav-bar{height:76px;gap:14px}.site-header.is-compact .nav-bar{height:66px}.brand img{width:169px}.site-header.is-compact .brand img{width:151px}.menu-toggle{display:flex;width:45px;height:44px;border-radius:9px;align-items:center;justify-content:center;gap:5px;flex-direction:column;border:1px solid #ffffff5a;background:#ffffff0b;color:white;flex:0 0 auto}.menu-toggle span{display:block;height:2px;width:19px;background:white;border-radius:2px;transition:transform .25s ease,opacity .25s ease}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:15px 18px 22px;background:#10121c;border-bottom:1px solid #ffffff29;box-shadow:0 17px 35px #0009}.site-nav.is-open{display:flex}.site-nav>a:not(.button){display:block;padding:11px 8px}.site-nav .button{margin-top:13px}.hero{min-height:600px;background-position:63% center}.hero:before{background:linear-gradient(90deg,#080a10f7 0%,#080a10eb 58%,#080a106b 100%)}.hero-content{padding:86px 0 76px}.hero-content h1{font-size:clamp(48px,9vw,68px);max-width:580px}.hero-lead{font-size:18px}.hero-meta{margin-top:45px}.section{padding:76px 0}.section-intro{margin-bottom:28px}.section-intro p{font-size:16px}.section-heading-row{align-items:flex-start;flex-direction:column}.section-heading-row>.button{margin:0}.service-grid{grid-template-columns:repeat(2,1fr)}.logo-grid{grid-template-columns:repeat(4,1fr);gap:9px}.logo-tile{height:100px;padding:9px}.logo-tile img{max-width:105px;height:70px}.feature-split,.detail-layout,.split-55,.faq-layout,.contact-layout{grid-template-columns:1fr}.feature-art{min-height:380px}.feature-split{gap:43px}.reviews-heading{flex-direction:column}.review-card{min-height:310px}.resource-grid{grid-template-columns:repeat(2,1fr)}.tri-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,1fr)}.cta-band{padding:70px 0}.cta-band-inner,.footer-hero{flex-direction:column;align-items:flex-start}.footer-hero{padding:60px 0}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}.inner-hero{padding:77px 0 82px}.inner-hero h1{font-size:clamp(42px,7.8vw,64px)}.inner-hero p{font-size:17px}.breadcrumbs{margin-bottom:32px}.contact-layout{gap:35px}}
@media(max-width:530px){.hero-content{padding-top:72px}.hero-content h1{font-size:clamp(43px,10vw,58px)}.hero-kicker{font-size:10px;letter-spacing:.08em}.hero-actions{align-items:stretch;max-width:440px}.hero-actions .button{width:100%}.hero-meta{gap:7px}.hero-meta span{font-size:10px}.proof-inner{gap:8px}.proof-inner span{padding:10px;font-size:11px}.service-grid,.resource-grid,.project-grid{grid-template-columns:1fr}.service-card{min-height:260px}.card-carousel .carousel-items,.projects-carousel .carousel-items{grid-template-columns:1fr}.project-info h3{font-size:18px}.logo-grid{grid-template-columns:repeat(2,1fr)}.logo-tile{height:108px}.logo-tile img{max-width:120px;height:72px}.section{padding:66px 0}.section-intro h2{font-size:clamp(33px,8vw,43px)}.feature-art{min-height:345px}.feature-art .feature-orbit{width:240px}.feature-orbit>span{font-size:10px}.process-grid{grid-template-columns:1fr 1fr;gap:12px}.process-step h3{font-size:18px}.process-step p{font-size:13px}.review-card{min-height:290px}.team-grid{grid-template-columns:1fr 1fr;gap:12px}.team-card{padding:19px;min-height:190px}.team-card h3{font-size:17px;margin:20px 0 6px}.team-card p{font-size:12px}.footer-grid{gap:24px}.footer-grid>div:last-child{grid-column:1/-1}.footer-brand{grid-column:1/-1}.footer-hero{gap:26px}.footer-bottom{flex-direction:column}.contact-layout{gap:34px}.lead-form{padding:27px 20px}.form-row{grid-template-columns:1fr;gap:0}.floating-advisor{bottom:16px;font-size:13px;min-height:50px;padding:7px 8px 7px 20px}.floating-advisor span{height:34px;width:34px}.article-hero{padding:61px 0}.article-lead{font-size:17px}.prose{font-size:16px}}
@media(max-width:350px){.team-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.brand img{width:148px}.site-header.is-compact .brand img{width:138px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js-enabled .reveal{opacity:1!important;transform:none!important}.floating-advisor{transition:none!important}}
/* Menú compacto también en tablets estrechas */
@media(min-width:741px) and (max-width:950px){.menu-toggle{display:flex;width:45px;height:44px;border-radius:9px;align-items:center;justify-content:center;gap:5px;flex-direction:column;border:1px solid #ffffff5a;background:#ffffff0b;color:#fff}.menu-toggle span{display:block;height:2px;width:19px;background:#fff;border-radius:2px;transition:transform .25s,opacity .25s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:15px 26px 22px;background:#10121c;border-bottom:1px solid #ffffff29;box-shadow:0 17px 35px #0009}.site-nav.is-open{display:flex}.site-nav>a:not(.button){display:block;padding:11px 8px}.site-nav .button{margin-top:13px}}

/* Logos claros sobre una superficie oscura accesible. */
.logo-tile--oscuro{background:#121824;border-color:#303b4f}
.logo-tile--oscuro img{object-fit:contain}

/* Motion update */
.project-window .project-real-capture{display:block;width:100%;aspect-ratio:1.46;object-fit:cover;object-position:top}
.feature-core{width:58%;letter-spacing:normal;display:grid;place-items:center}.feature-core img{width:100%;height:auto;object-fit:contain}
.feature-orbit>.orbit-link{position:absolute;z-index:3;display:grid;place-items:center;min-height:44px;min-width:48px;padding:8px 12px;background:#171925;border:1px solid #d691ec66;border-radius:12px;color:white;font-size:13px;font-weight:700;text-decoration:none;animation:dwFloat 4s ease-in-out infinite}
.orbit-0{top:-15px;left:42%}.orbit-1{top:30%;right:-15px;animation-delay:-.8s!important}.orbit-2{bottom:0;right:8%;animation-delay:-1.6s!important}.orbit-3{bottom:7%;left:2%;animation-delay:-2.4s!important}.orbit-4{top:28%;left:-26px;animation-delay:-3.2s!important}
.feature-orbit>.orbit-link:hover,.feature-orbit>.orbit-link:focus-visible{background:#542269;animation-play-state:paused;outline:2px solid #e5b3ff;outline-offset:4px}
.orbit-toggle{position:absolute;bottom:55px;z-index:4;background:#171925;color:#eee;border:1px solid #ffffff60;border-radius:20px;padding:6px 14px;font:inherit;font-size:11px;cursor:pointer}.orbit-paused .orbit-link{animation-play-state:paused}
@keyframes dwFloat{0%,100%{transform:translateY(-5px) rotate(-2deg)}50%{transform:translateY(6px) rotate(2deg)}}
@media(prefers-reduced-motion:no-preference){.js-enabled .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease var(--entry-delay,0ms),transform .8s cubic-bezier(.2,.8,.2,1) var(--entry-delay,0ms)}.js-enabled .reveal.is-in-view,.js-enabled .reveal:focus-within{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.orbit-link{animation:none!important}.orbit-toggle{display:none}.js-enabled .reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* DW | Mega menú de servicios: escritorio, touch y teclado */
.nav-bar{position:relative}
.nav-services,.nav-services-trigger{display:flex;align-items:center}
.nav-services-trigger{gap:4px}
.nav-services-link{color:#d8dae3;text-decoration:none;padding:10px 0;position:relative}
.nav-services-link:hover,.nav-services-link[aria-current=page],.nav-services.is-open .nav-services-link{color:#fff}
.nav-services-link::after{content:"";position:absolute;bottom:3px;left:0;right:100%;height:2px;background:linear-gradient(90deg,#a425fd,#f249b9);transition:right .22s ease}
.nav-services-link:hover::after,.nav-services.is-open .nav-services-link::after,.nav-services-link[aria-current=page]::after{right:0}
.mega-toggle{width:32px;height:40px;display:grid;place-items:center;padding:0;color:#e7daee;border:1px solid transparent;border-radius:8px;background:transparent}
.mega-toggle:hover,.mega-toggle[aria-expanded=true]{background:#ffffff18}
.mega-chevron{display:block;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .22s ease}
.mega-toggle[aria-expanded=true] .mega-chevron{transform:translateY(3px) rotate(225deg)}
.mega-menu{display:none;position:absolute;left:0;right:0;top:calc(100% - 1px);z-index:120;padding:26px 28px 29px;color:#f8f5ff;background:linear-gradient(160deg,#171924,#0e1019 65%);border:1px solid #ffffff2c;border-top:2px solid #ad56d0;border-radius:0 0 20px 20px;box-shadow:0 30px 65px #0505109e;max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain}
.nav-services.is-open .mega-menu{display:block;animation:dwMegaOpen .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes dwMegaOpen{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}
.mega-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;border-bottom:1px solid #ffffff24;padding-bottom:23px;margin-bottom:19px}
.mega-heading>div{display:flex;flex-direction:column;gap:6px}
.mega-eyebrow{font-size:10px;line-height:1.4;font-weight:800;letter-spacing:.19em;color:#dd8ae8}
.mega-heading strong{font-size:clamp(19px,2vw,24px);line-height:1.25;letter-spacing:-.025em}
.mega-all{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;min-height:44px;border:1px solid #bd79dd87;border-radius:999px;text-decoration:none;color:white;white-space:nowrap;font-size:13px;font-weight:740}
.mega-all:hover,.mega-all:focus-visible{background:#722590}
.mega-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.mega-column{min-width:0}
.mega-column h2{font-size:12px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:#d5a0e9;margin:8px 0 12px;font-weight:800}
.mega-item{display:flex;gap:12px;align-items:flex-start;min-height:67px;padding:12px 10px;border-radius:12px;color:#fff;text-decoration:none;transition:background .2s ease,transform .2s ease}
.mega-item:hover,.mega-item:focus-visible{background:#ffffff14;transform:translateX(3px)}
.mega-icon{height:33px;width:33px;flex:0 0 33px;border-radius:9px;background:#5c247b;color:#fceaff;display:grid;place-items:center;font-size:11px;font-weight:800;border:1px solid #a96ad0a6}
.mega-item>span:last-child{min-width:0;display:flex;flex-direction:column}
.mega-item strong{font-size:14px;line-height:1.4;font-weight:730;letter-spacing:0}
.mega-item small{color:#c6c4d3;font-size:12px;line-height:1.5;margin-top:2px;font-weight:450}
.mega-note{margin-top:8px;padding:16px;border-radius:12px;background:linear-gradient(110deg,#6c298241,#2e23464d);border:1px solid #d6a7f23b;display:flex;flex-direction:column;align-items:flex-start;gap:7px;font-size:12px}
.mega-note strong{color:#f9ecff;font-size:13px}
.mega-note a{color:#f3c8ff;text-underline-offset:3px;font-weight:760;min-height:28px}
/* Burbuja de WhatsApp contextual para todas las páginas */
.whatsapp-float{position:fixed;z-index:210;bottom:max(23px,env(safe-area-inset-bottom));right:max(23px,env(safe-area-inset-right));display:flex;gap:11px;align-items:center;justify-content:center;padding:9px 18px 9px 10px;border:1px solid #aef2c166;border-radius:999px;background:#087d3d;color:#fff;text-decoration:none;box-shadow:0 12px 36px #06271066;font-weight:750;line-height:1.15;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.whatsapp-float:hover{transform:translateY(-4px);background:#086b35;box-shadow:0 18px 42px #06271080}
.whatsapp-float:focus-visible{outline:3px solid #ffffff;outline-offset:3px;box-shadow:0 0 0 6px #087d3d}
.whatsapp-float-icon{width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;background:#ffffff17;border-radius:50%}
.whatsapp-float-icon svg{width:25px;height:25px;display:block}
.whatsapp-float-text{display:flex;flex-direction:column;font-size:14px;letter-spacing:0;white-space:nowrap}
.whatsapp-float-sub{font-weight:520;font-size:11px;opacity:.93;margin-top:2px}
@media(max-width:950px){
  .site-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:11px 18px 22px;background:#10121c;border-bottom:1px solid #ffffff29;box-shadow:0 17px 35px #0009;max-height:calc(100dvh - 75px);overflow-y:auto;overscroll-behavior:contain}
  .site-nav.is-open{display:flex}
  .site-nav>a:not(.button){display:block;padding:12px 8px}
  .nav-services{display:block;border-bottom:1px solid #ffffff17}
  .nav-services-trigger{justify-content:space-between;min-height:52px}
  .nav-services-link{padding:12px 8px;flex:1;min-height:46px}
  .mega-toggle{height:44px;width:48px;border:1px solid #ffffff2e;background:#ffffff10}
  .mega-menu{position:static;padding:17px 8px 20px;max-height:none;overflow:visible;border:0;border-top:1px solid #ffffff20;border-radius:0;box-shadow:none;background:#171925}
  .mega-heading{padding-bottom:14px;margin-bottom:10px;align-items:flex-start;gap:12px;flex-wrap:wrap}
  .mega-heading strong{font-size:17px}
  .mega-all{font-size:12px;padding:7px 12px;min-height:40px}
  .mega-columns{grid-template-columns:1fr;gap:14px}
  .mega-column h2{margin:10px 0 5px}
  .mega-item{padding:9px 6px;min-height:55px}
  .mega-note{margin-top:12px}
}
@media(max-width:740px){
  .whatsapp-float{right:max(13px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
  .floating-advisor{left:16px;right:auto;transform:translateY(24px) scale(.97)}
  .floating-advisor.is-visible{transform:translateY(0) scale(1)}
}
@media(max-width:530px){
  .whatsapp-float{width:58px;height:58px;padding:7px;border-radius:50%}
  .whatsapp-float-icon{width:42px;height:42px;flex-basis:42px}
  .whatsapp-float-text{display:none}
}
@media(prefers-reduced-motion:reduce){.mega-menu,.nav-services.is-open .mega-menu{animation:none}.mega-item,.whatsapp-float,.mega-chevron{transition:none}.mega-item:hover,.whatsapp-float:hover{transform:none}}

/* DW portfolio ampliado / 2026-11-10 — responsive, búsqueda y accesibilidad. */
.portfolio-hero{padding-top:100px;padding-bottom:92px}
.portfolio-hero .container{max-width:1160px}
.portfolio-hero h1{max-width:930px}
.portfolio-hero p{max-width:800px}
.portfolio-hero-meta{display:flex;align-items:center;gap:28px;margin-top:35px;flex-wrap:wrap}
.portfolio-hero-meta>span{color:#d6d3df;display:flex;gap:9px;align-items:baseline;font-size:14px}
.portfolio-hero-meta strong{font-size:30px;color:#fff;font-weight:800;line-height:1}
.portfolio-section{padding-top:80px}
.portfolio-tools{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}
.portfolio-filter-header{max-width:700px}
.portfolio-filter-header h2{font-size:clamp(27px,3vw,42px);line-height:1.15;color:white;letter-spacing:-.04em;margin:14px 0 12px}
.portfolio-filter-header p{font-size:14px;color:#bab9c6;line-height:1.6;margin:0}
.portfolio-search-wrap{width:min(100%,330px);flex-shrink:0}
.portfolio-search-wrap label{display:block;color:#dbd9e4;font-size:13px;margin:0 0 9px}
.portfolio-search{width:100%;background:#191a28;color:#fff;border:1px solid #626275;border-radius:12px;padding:13px 15px;min-height:48px;font:inherit;font-size:14px;box-shadow:inset 0 1px 3px #0002;appearance:none}
.portfolio-search::placeholder{color:#aeadbd}
.portfolio-search:focus-visible{outline:3px solid #d898ff;outline-offset:2px}
.portfolio-filters{justify-content:flex-start;margin:24px 0 15px;padding-bottom:14px;gap:8px;overflow-x:auto}
.portfolio-filters .filter-chip{min-height:44px;white-space:nowrap;display:inline-flex;align-items:center;gap:9px;cursor:pointer}
.portfolio-filters .filter-chip span{font-size:11px;font-variant-numeric:tabular-nums;opacity:.95;background:#ffffff24;border-radius:999px;padding:2px 7px}
.portfolio-filters .filter-chip:focus-visible{outline:3px solid #f0b1ff;outline-offset:3px}
.portfolio-results{font-size:13px;color:#cfcdd8;margin:12px 0 22px}
#project-gallery .project-card[hidden],.portfolio-more[hidden],.portfolio-empty[hidden]{display:none!important}
.project-card a{display:block;border-radius:12px;height:100%}
.project-card a:focus-visible{outline:3px solid #df92ff;outline-offset:6px}
.project-card a:hover h3,.project-card a:focus-visible h3{color:#f8c4ff}
.project-visual{position:relative;overflow:hidden;background:#171a29}
.project-window .project-visual>img{display:block;width:100%;height:auto;aspect-ratio:1.46;object-fit:cover;object-position:center top;transition:transform .5s ease}
.project-card:hover .project-visual>img,.project-card:focus-within .project-visual>img{transform:scale(1.035)}
.project-editorial{position:absolute;right:10px;bottom:10px;z-index:1;font-size:10px;letter-spacing:.025em;color:#fff;background:#090c19e8;padding:6px 9px;border-radius:6px;border:1px solid #ffffff75}
.project-summary{font-size:12px;color:#c6c3d3;line-height:1.5;margin:9px 0 0;max-width:40ch}
.project-type{letter-spacing:.055em;text-transform:none;line-height:1.5;font-size:11px;display:block}
.project-info{align-items:flex-start}
.project-info h3{margin-top:7px}
.project-out{padding-top:15px}
.portfolio-empty{padding:30px 20px;text-align:center;color:#faf5ff;border:1px dashed #76708a;border-radius:14px}
.portfolio-more{display:flex;justify-content:center;margin:34px 0 16px}
.portfolio-more .button{cursor:pointer;min-height:48px}
.project-caption{max-width:88ch;line-height:1.6}
@media(max-width:950px){.portfolio-tools{align-items:stretch;flex-direction:column}.portfolio-search-wrap{width:min(100%,480px)}.portfolio-section{padding-top:60px}}
@media(max-width:530px){.portfolio-hero{padding:68px 0 72px}.portfolio-hero-meta{gap:20px}.portfolio-hero-meta strong{font-size:25px}.portfolio-filters{gap:8px;flex-wrap:nowrap;margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px;scrollbar-width:thin}.portfolio-filters .filter-chip{padding:8px 11px}.portfolio-search-wrap{width:100%}.project-summary{font-size:13px}.portfolio-more .button{width:100%}}
@media(prefers-reduced-motion:reduce){.project-window .project-visual>img{transition:none!important}}

/* DW equipo 2-4-4 */
.team-grid-organized{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.team-grid-organized>.team-card:first-child{grid-column:2}
.team-grid-organized>.team-card:nth-child(3){grid-column:1}
.team-grid-organized>.team-card:nth-child(-n+2){text-align:center}
.team-photo{display:block;width:136px;height:136px;border-radius:50%;object-fit:cover;margin:0 auto;background:#f4f4f4;filter:grayscale(100%);-webkit-filter:grayscale(100%)}
@media(max-width:950px){.team-grid-organized{grid-template-columns:repeat(2,minmax(0,1fr))}.team-grid-organized>.team-card:first-child{grid-column:1}}
@media(max-width:400px){.team-grid-organized{grid-template-columns:minmax(0,1fr)}.team-grid-organized>.team-card{grid-column:auto!important}}


/* DW7 — una sola proporción para TODAS las miniaturas (home y portfolio). */
.project-card{display:flex;min-width:0;align-self:stretch}
.project-card>a{display:flex;flex-direction:column;width:100%;height:100%;border-radius:12px}
.project-card .project-window{flex:0 0 auto;min-width:0}
.project-card .project-visual{position:relative;aspect-ratio:16 / 10;width:100%;height:auto;overflow:hidden;background:#111520}
.project-card .project-window .project-visual>img,
.project-card .project-window .project-visual>img.portfolio-screenshot,
.project-card .project-window .project-visual>img.project-real-capture{
  position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;
  object-fit:contain;object-position:center center;background:#111520;
}
.project-card .project-info{height:158px;min-height:158px;flex:0 0 158px;align-items:flex-start;padding:16px 3px 7px}
.project-card .project-info>div{min-width:0;min-height:0;flex:1;display:flex;flex-direction:column}
.project-card .project-type{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:0}
.project-card .project-info h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.project-card .project-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.45}
/* Servicios: clic estable en vez de menú dependiente del hover. */
.nav-services-trigger{align-items:center}
.nav-services .mega-toggle{width:auto;min-width:128px;min-height:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:0 15px;font:inherit;font-weight:650;font-size:14px;line-height:1.25;color:#d8dae3;cursor:pointer;border:1px solid transparent;border-radius:10px}
.nav-services .mega-toggle:hover,.nav-services .mega-toggle[aria-expanded=true]{color:#fff;background:#ffffff17;border-color:#ffffff24}
.nav-services .mega-toggle:focus-visible{outline:3px solid #e7a6ff;outline-offset:3px}
.nav-services .mega-chevron{width:8px;height:8px;flex:0 0 8px}
@media(max-width:950px){.nav-services .mega-toggle{display:flex;justify-content:space-between;width:100%;height:52px;min-height:52px;border:0;border-radius:8px;padding:0 12px;font-size:15px}.nav-services-trigger{display:block}}
@media(prefers-reduced-motion:reduce){.project-card .project-visual>img{transition:none!important}}

/* DW8 — cabeceras con fotografías reales, sobreimpresión legible y diseño responsive. */
.inner-hero.about-hero,.inner-hero.services-index-hero{min-height:clamp(460px,39vw,610px);display:flex;align-items:center;isolation:isolate;padding:clamp(96px,10vw,140px) 0}
.inner-hero.about-hero>.container,.inner-hero.services-index-hero>.container{position:relative;z-index:1}
.inner-hero.about-hero{background:linear-gradient(90deg,rgba(7,9,19,.96) 0%,rgba(8,10,20,.88) 40%,rgba(8,10,20,.56) 100%),url('/assets/img/cabecera-nosotros-desarrollaweb.webp') center 46% / cover no-repeat #080a10}
.inner-hero.services-index-hero{background:linear-gradient(90deg,rgba(7,9,19,.96) 0%,rgba(8,10,20,.90) 42%,rgba(8,10,20,.60) 100%),url('/assets/img/cabecera-servicios-desarrollaweb.webp') center 50% / cover no-repeat #080a10}
.inner-hero.about-hero p,.inner-hero.services-index-hero p{color:#f0f0f5}
@media(max-width:740px){.inner-hero.about-hero,.inner-hero.services-index-hero{min-height:510px;padding:92px 0}.inner-hero.about-hero{background-position:center,54% center}.inner-hero.services-index-hero{background-position:center,52% center}}
@media(max-width:530px){.inner-hero.about-hero,.inner-hero.services-index-hero{min-height:490px;padding:76px 0}.inner-hero.about-hero{background-image:linear-gradient(90deg,rgba(7,9,19,.95),rgba(8,10,20,.80)),url('/assets/img/cabecera-nosotros-desarrollaweb.webp')}.inner-hero.services-index-hero{background-image:linear-gradient(90deg,rgba(7,9,19,.95),rgba(8,10,20,.83)),url('/assets/img/cabecera-servicios-desarrollaweb.webp')}}


/* DW10 — cabeceras adaptativas. El contenido decide la altura; nunca se corta
   un botón, una etiqueta o un título para sostener un alto de hero fijo. */
:root{scroll-padding-top:90px}
.inner-hero{
  padding-block:clamp(50px,5.3vw,76px);
  overflow:clip;
}
.inner-hero>.container{position:relative;z-index:1;min-width:0}
.inner-hero h1{
  font-size:clamp(35px,4.2vw,61px);
  line-height:1.10;
  letter-spacing:-.045em;
  max-width:min(100%,980px);
  margin-bottom:clamp(12px,1.6vw,19px);
  text-wrap:balance;
  overflow-wrap:break-word;
}
.inner-hero p{font-size:clamp(16px,1.4vw,18px);line-height:1.55;max-width:780px;margin:0 0 21px}
.inner-hero .eyebrow{margin-bottom:clamp(10px,1.5vw,16px)}
.inner-hero .breadcrumbs{
  margin:0 0 clamp(15px,2.5vw,26px);
  gap:clamp(6px,1vw,11px);
  line-height:1.5;
  overflow-wrap:anywhere;
}
.inner-hero .button{margin-top:0}
.inner-hero .hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:clamp(12px,1.8vw,21px)}
.inner-hero .hero-actions .button{min-height:47px}
/* Titulares de cada servicio: más compactos, sin reducción extrema de legibilidad. */
.inner-hero.service-hero{padding-block:clamp(40px,4.6vw,65px)}
.inner-hero.service-hero h1{font-size:clamp(33px,3.6vw,52px);max-width:1040px;line-height:1.10}
.inner-hero.service-hero p{max-width:820px}
/* Fondos fotográficos de Nosotros y Servicios: altura flexible y CTA siempre presente. */
.inner-hero.about-hero,.inner-hero.services-index-hero{
  min-height:0;
  padding-block:clamp(54px,5.3vw,80px);
  align-items:center;
}
.inner-hero.about-hero h1,.inner-hero.services-index-hero h1{font-size:clamp(35px,4vw,58px);max-width:820px}
/* Home: no obliga a la etiqueta ni botones a salir de la primera pantalla. */
.hero{min-height:0;overflow:clip}
.hero-content{padding-block:clamp(52px,6vw,83px)}
.hero-content h1{font-size:clamp(43px,5.25vw,73px);line-height:1.07;margin:clamp(17px,2vw,26px) 0 clamp(19px,2vw,26px);max-width:780px;text-wrap:balance}
.hero-lead{font-size:clamp(16px,1.5vw,19px);line-height:1.55;margin-bottom:22px}
.hero-meta{margin-top:clamp(25px,3vw,37px)}
/* Artículos: títulos y ruta de navegación legibles también en notebooks. */
.article-hero{padding-block:clamp(40px,5.3vw,68px)}
.article-hero h1{font-size:clamp(32px,3.9vw,52px);line-height:1.13;overflow-wrap:break-word;text-wrap:balance}
.article-hero .breadcrumbs{margin-bottom:clamp(18px,3vw,30px);overflow-wrap:anywhere}
.article-lead{font-size:clamp(16px,1.65vw,19px);line-height:1.55}
@media(max-width:530px){.article-hero{padding-block:36px}.article-hero h1{font-size:clamp(29px,8vw,38px)}}
/* Reducir títulos de tarjetas de servicios, conservando jerarquía. */
.service-card h3{font-size:clamp(18px,1.65vw,21px);line-height:1.24;overflow-wrap:break-word}
/* En secciones de anchura limitada se permite reflujo natural. */
@media(max-width:950px){
 .inner-hero.service-hero h1{font-size:clamp(32px,4.9vw,46px)}
 .inner-hero.about-hero,.inner-hero.services-index-hero{min-height:0;padding-block:55px}
 .hero-content{padding-block:58px}
}
@media(max-width:740px){
 :root{scroll-padding-top:76px}
 .inner-hero{padding-block:46px}
 .inner-hero.service-hero{padding-block:40px}
 .inner-hero h1,.inner-hero.service-hero h1{font-size:clamp(31px,6vw,43px);line-height:1.12}
 .inner-hero.about-hero,.inner-hero.services-index-hero{padding-block:50px;min-height:0}
 .inner-hero.about-hero h1,.inner-hero.services-index-hero h1{font-size:clamp(32px,6vw,44px)}
 .inner-hero .breadcrumbs{margin-bottom:17px;font-size:12px}
 .inner-hero p{font-size:16px;line-height:1.5}
 .hero{min-height:0}
 .hero-content{padding-block:54px}
 .hero-content h1{font-size:clamp(38px,7.4vw,56px)}
 .hero-meta{margin-top:24px}
 .service-card h3{font-size:19px}
}
@media(max-width:530px){
 .inner-hero{padding-block:37px}
 .inner-hero.service-hero{padding-block:34px}
 .inner-hero h1,.inner-hero.service-hero h1{font-size:clamp(29px,8vw,37px);line-height:1.13;letter-spacing:-.035em}
 .inner-hero.about-hero,.inner-hero.services-index-hero{min-height:0;padding-block:43px}
 .inner-hero.about-hero h1,.inner-hero.services-index-hero h1{font-size:clamp(30px,8vw,39px)}
 .inner-hero p{font-size:15.5px;line-height:1.47;margin-bottom:17px}
 .inner-hero .hero-actions{flex-direction:column;align-items:stretch;max-width:400px}
 .inner-hero .hero-actions .button{width:100%;min-width:0}
 .inner-hero>.container>.button{max-width:100%;white-space:normal}
 .hero-content{padding-block:41px}
 .hero-content h1{font-size:clamp(38px,9.3vw,49px);line-height:1.1}
 .hero-lead{font-size:16px;line-height:1.48}
 .hero-actions{gap:10px}
 .hero-meta{margin-top:20px}
}
@media(min-width:741px) and (max-height:720px){
 .inner-hero{padding-block:36px}
 .inner-hero.service-hero{padding-block:32px}
 .inner-hero.about-hero,.inner-hero.services-index-hero{padding-block:38px}
 .inner-hero h1{font-size:clamp(33px,3.8vw,54px)}
 .inner-hero.service-hero h1{font-size:clamp(32px,3.25vw,46px)}
 .inner-hero .breadcrumbs{margin-bottom:16px}
 .hero-content{padding-block:39px}
 .hero-content h1{font-size:clamp(42px,4.9vw,65px)}
 .hero-meta{margin-top:18px}
}
/* No ocultar botones por animaciones o para respetar movimiento reducido. */
@media(prefers-reduced-motion:reduce){.inner-hero *,.hero-content *{animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* DW11: la primera pantalla de Inicio termina al final de la franja oscura. */
.home-first-fold{
  display:flex;
  flex-direction:column;
  min-height:calc(100vh - 86px); /* respaldo de 100svh */
  min-height:calc(100svh - 86px);
  background:#080a10;
}
.home-first-fold .hero{
  flex:1 0 auto;
  display:flex;
  align-items:center;
  min-height:0;
}
.home-first-fold .hero-content{
  width:min(var(--container),calc(100% - 56px));
  padding-block:clamp(38px,5svh,76px);
}
.home-first-fold .proof-strip{
  flex:0 0 auto;
}
@media(max-width:740px){
  .home-first-fold{
    min-height:calc(100vh - 76px);
    min-height:calc(100svh - 76px);
  }
  .home-first-fold .hero-content{width:calc(100% - 36px);padding-block:clamp(35px,5svh,61px)}
}
@media(max-width:530px){
  .home-first-fold .hero-content{padding-block:clamp(28px,4svh,45px)}
}
/* En pantallas pequeñas la altura puede superar la ventana: permitimos
   desplazamiento natural, nunca hacemos overflow:hidden en la envolvente. */
