/* Isolated public design; private application screens keep their original shell. */
.shell:has(.landing){max-width:1280px;isolation:isolate}
.shell:has(.landing)>header{position:sticky;top:12px;z-index:20;margin:12px 0 0;padding:18px 24px;border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(20px);box-shadow:0 10px 40px #123c3810;gap:24px}
.shell:not(:has(.landing)) .landing-nav{display:none}
.shell:has(.landing)>header{flex-wrap:nowrap;min-height:80px;height:auto}
@media(max-width:700px){.shell:has(.landing) .brand{font-size:17px;gap:8px}.shell:has(.landing) .brand img{width:30px;height:30px}.shell:has(.landing) .brand-sub{font-size:7px;letter-spacing:2px}.landing-hero>div{min-width:0}}
.landing-nav{display:flex;align-items:center;gap:28px;margin-left:auto}
.landing-nav a,.landing-actions a{color:var(--ink);text-decoration:none;font-size:13px;font-weight:600}
.landing-nav a:hover,.landing-actions a:hover{color:var(--accent);text-decoration:underline}
.landing-nav button{border-radius:100px;min-height:42px;padding:10px 18px}
.landing{padding-top:0;position:relative}
.landing:before{content:'';position:absolute;z-index:-1;top:0;left:0;width:100%;height:760px;pointer-events:none;background:radial-gradient(ellipse at 70% 38%,#51c6aa14,transparent 65%);mask-image:linear-gradient(transparent,#000 18%,#000 70%,transparent)}
.landing-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:65px;min-height:740px;padding:95px 0 110px;position:relative}
.landing-hero:after{content:'DISEÑADO PARA CONECTAR';position:absolute;bottom:36px;left:0;font-size:10px;letter-spacing:3px;color:var(--muted);border-left:36px solid var(--accent);padding-left:16px}
.landing .eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:700;color:var(--accent)}
.landing-hero>div:first-child{animation:landing-arrive .8s both}
.landing h1{font-size:clamp(56px,6.5vw,88px);letter-spacing:-.045em;line-height:1.1;font-weight:650;margin:26px 0 0}
.landing h1 span{color:var(--accent);position:relative;display:inline-block}
.landing h1:after{content:'';display:block;width:64px;height:3px;margin-top:28px;background:var(--accent);border-radius:3px;transform-origin:left;animation:landing-underline 1s .4s both;opacity:.65}
.landing-lead{max-width:470px;color:var(--muted);font-size:17px;line-height:1.85;margin:32px 0}
.landing-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.landing button{min-height:48px;cursor:pointer;transition:transform .25s,box-shadow .25s}
.landing-actions button,.landing-cta button{padding:17px 25px;border-radius:100px;box-shadow:0 8px 24px #174c3920}
.landing button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 28px #174c392a}
.landing button span{display:inline-block;margin-left:16px;transition:transform .25s}
.landing button:hover span{transform:translate(3px,-3px)}
.landing :is(a,button,summary):focus-visible,.landing-nav :is(a,button):focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.landing-note{color:var(--muted);font-size:12px;margin-top:22px}
.landing-map{position:relative;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));background:var(--paper);border-radius:28px;padding:30px;box-shadow:0 35px 80px #143d3820;animation:landing-arrive 1s .15s both,landing-float 8s 1.2s ease-in-out infinite}
.landing-map:before{content:'';position:absolute;inset:-10px;border:1px solid color-mix(in srgb,var(--accent) 12%,transparent);border-radius:38px;pointer-events:none}
.map-caption{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:700;letter-spacing:1.5px;color:var(--muted)}
.map-caption>span:last-child{margin-left:auto;letter-spacing:0;padding:5px 8px;border:1px solid var(--line);border-radius:20px}
.map-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px #6cbd9c20;animation:landing-pulse 3s infinite}
.map-core{display:flex;align-items:center;gap:16px;padding:30px 0;border-bottom:1px solid var(--line)}
.map-core img{background:#f5f6f2;border-radius:15px;padding:7px;width:52px;height:52px}
.map-core div{font-size:12px;color:var(--muted)}
.map-core strong{display:block;color:var(--ink);font-size:26px;letter-spacing:2px;margin-top:4px}
.map-core>span{margin-left:auto;font-size:25px;color:var(--accent)}
.map-rail{padding-left:20px;border-left:1px solid var(--line);margin:24px 0 0 20px;display:grid;gap:12px}
.map-rail>div{padding:17px 20px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--accent) 4%,var(--paper));position:relative;transition:transform .3s,border-color .3s}
.map-rail>div:hover{transform:translateX(7px);border-color:var(--accent)}
.map-rail>div:before{content:'';position:absolute;left:-25px;top:32px;width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 5px var(--paper)}
.map-rail span{font-size:9px;color:var(--accent);letter-spacing:1px;font-weight:700}
.map-rail strong{display:block;font-size:17px;margin:7px 0}
.map-rail small,.map-foot{font-size:11px;color:var(--muted)}
.map-foot{margin:25px 0 0;line-height:1.7}
.landing-section{padding:85px 0;border-top:1px solid var(--line);scroll-margin-top:120px}
.landing-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px}
.landing h2{font-size:clamp(30px,3.8vw,48px);line-height:1.14;font-weight:600;letter-spacing:-1.7px}
.landing-section-heading>p{font-size:14px;color:var(--muted);max-width:280px;line-height:1.8}
.landing-tools{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.landing-tool{grid-column:span 2;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;padding:30px;background:var(--paper);transition:transform .35s,border-color .35s,box-shadow .35s}
.landing-tool:first-child,.landing-tool:nth-child(2){grid-column:span 3;padding:38px;min-height:290px}
.landing-tool:last-child{grid-column:span 4;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 12%,var(--paper)),var(--paper))}
.landing-tool:before{content:'';position:absolute;width:160px;height:160px;right:-90px;bottom:-90px;border:24px solid color-mix(in srgb,var(--accent) 6%,transparent);border-radius:50%;transition:transform .5s;pointer-events:none}
.landing-tool{isolation:isolate}.landing-tool:before{z-index:-1}.landing-tool>p:last-child{position:relative}
.landing-tool:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 50%,var(--line));box-shadow:0 20px 40px #123b3812}
.landing-tool:hover:before{transform:scale(1.6)}
.landing-tool img{object-fit:contain;width:48px;height:48px;margin-bottom:28px;transition:transform .35s}
.landing-tool:hover img{transform:rotate(-7deg) scale(1.08)}
.landing-tool .eyebrow{font-size:9px;margin-bottom:10px}
.landing-tool h3{font-size:22px;margin:0 0 14px;letter-spacing:-.5px}
.landing-tool>p:last-child{font-size:14px;line-height:1.8;color:var(--muted);margin:0;max-width:480px}
.landing-how{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.landing-how ol{list-style:none;margin:0;padding:0}
.landing-how li{display:flex;gap:24px;padding:0 0 30px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.landing-how li:last-child{margin:0;border:0;padding-bottom:0}
.landing-how li>span{flex-shrink:0;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;font-size:12px;color:var(--accent);background:var(--paper)}
.landing-how h3{font-size:20px;margin:0}
.landing-how p,.landing-faq p{color:var(--muted);font-size:14px;line-height:1.8;margin:10px 0 0}
.landing-faq{max-width:850px;margin:auto}.landing-faq h2{margin-bottom:30px}
.landing-faq details{border-bottom:1px solid var(--line);padding:24px 0}
.landing-faq summary{cursor:pointer;font-weight:600;line-height:1.7;list-style:none;display:flex;justify-content:space-between;gap:20px}
.landing-faq summary::-webkit-details-marker{display:none}
.landing-faq summary:after{content:'+';color:var(--accent);font-size:23px;transition:transform .25s}
.landing-faq details[open] summary:after{transform:rotate(45deg)}
.landing-faq details[open] p{animation:landing-arrive .3s both}
.landing-cta{position:relative;overflow:hidden;text-align:center;background:#143d38;color:#f2f8f5;border:1px solid #32635a;border-radius:30px;margin-top:20px;padding:80px 24px;isolation:isolate}
.landing-cta:before,.landing-cta:after{content:'';position:absolute;z-index:-1;width:380px;height:380px;border:1px solid #81bea34d;border-radius:50%;left:-200px;top:-170px;box-shadow:0 0 0 45px #81bea308,0 0 0 90px #81bea308,0 0 0 135px #81bea308;animation:landing-float 10s ease-in-out infinite}
.landing-cta:after{left:auto;top:auto;right:-210px;bottom:-190px;animation-delay:-5s}
.landing-cta h2{margin:18px 0 30px;color:inherit}.landing-cta .eyebrow{color:#a5d8c5}
.landing-cta button{background:#d1f0df;color:#123d34;border:1px solid #d1f0df}
#landing-feedback{font-size:13px;color:inherit;max-width:450px;margin:18px auto 0}
@keyframes landing-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes landing-underline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes landing-float{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-12px) rotate(-1deg)}}
@keyframes landing-pulse{50%{box-shadow:0 0 0 7px #6cbd9c08}}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){@supports(animation-timeline:view()){.landing-tool,.landing-how li{animation:landing-arrive both;animation-timeline:view();animation-range:entry 0% entry 20%}}}
@media(max-width:1000px){.landing-hero{gap:30px;min-height:650px}.landing h1{letter-spacing:-3px}.landing-map{padding:22px}.landing-how{gap:35px}}
@media(max-width:700px){.shell:has(.landing)>header{top:8px;padding:14px 16px;border-radius:16px;gap:12px}.landing-nav{gap:12px}.landing-nav>a{display:none}.landing-nav button{font-size:12px;padding:10px 14px}.landing-hero{grid-template-columns:1fr;padding:55px 0 90px;gap:44px;min-height:0}.landing h1{font-size:clamp(52px,11vw,76px);letter-spacing:-3px}.landing-lead{font-size:16px}.landing-map{margin-right:12px}.landing-section{padding:55px 0;scroll-margin-top:110px}.landing-section-heading{display:block}.landing-section-heading>p{max-width:none}.landing-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.landing-tool,.landing-tool:first-child,.landing-tool:nth-child(2){grid-column:span 1;padding:22px;min-height:0}.landing-tool:last-child{grid-column:span 2}.landing-tool h3{font-size:19px}.landing-how{grid-template-columns:1fr}.landing-cta{padding:60px 20px}.landing h2{letter-spacing:-1px}}
@media(max-width:420px){.landing-tools{grid-template-columns:1fr}.landing-tool:last-child{grid-column:span 1}.landing-actions{gap:20px}.landing-nav button span{display:none}.landing-map{padding:20px}.map-core strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.landing *,.landing *:before,.landing *:after,.landing-nav *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.landing-map{transform:none}}
