@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#123d37;--green:#08765d;--lime:#d8f07b;--muted:#60716c;--cream:#f8f9f4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;background:#fff}button,input{font:inherit}a{color:inherit;text-decoration:none}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #22bfa0;outline-offset:5px}.skip{position:fixed;top:-60px;background:white;padding:12px;z-index:20}.skip:focus{top:5px}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #e4eae5}.brand{display:flex;align-items:center;gap:9px;font:500 24px 'Manrope',sans-serif;letter-spacing:-1px}.brand b{font-weight:800}.brand small{display:block;font:600 7px 'DM Sans',sans-serif;letter-spacing:1.65px;margin-top:3px}.brand-symbol{font-size:49px;line-height:1;color:#08a674;font-weight:800}nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600}.nav-cta{padding:13px 20px;border:1px solid #afc0b6;border-radius:7px;display:flex;gap:32px}.menu{display:none}.hero{position:relative;min-height:670px;background:#f3f6ed;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 49%;background:linear-gradient(90deg,#f3f6ed 0%,#f3f6ed00 35%),url('assets/playa.jpg') center 60%/cover}.hero-content{position:relative;padding:73px 6% 68px;max-width:850px;z-index:1}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;display:flex;align-items:center;gap:9px}.dot{display:inline-block;width:7px;height:7px;background:#009776;border-radius:50%}h1,h2,h3,h4{font-family:'Manrope',sans-serif;margin:0;font-weight:700}h1{font-size:clamp(46px,4.8vw,73px);line-height:1.13;letter-spacing:-3.8px;margin:25px 0}em{font-style:normal;color:var(--green)}.intro{max-width:435px;color:#5b7067;line-height:1.8;font-size:16px}.actions{display:flex;gap:12px;margin-top:30px}.button{display:flex;align-items:center;justify-content:center;gap:26px;font-size:13px;font-weight:700;border-radius:7px;padding:18px 22px;border:0}.primary{background:var(--green);color:#fff}.primary:hover{background:#055641}.secondary{background:#fff;color:var(--ink);border:1px solid #dde5d9}.play{font-size:11px;border:1px solid #8faaa0;border-radius:50%;padding:6px 7px}.hero-note{display:flex;gap:21px;font-size:10px;margin-top:32px;color:#627569}.photo-label{position:absolute;right:6%;top:50px;font-size:11px;color:#164b4a;line-height:1.8}.photo-label .dot{margin-right:8px}.floating-card{position:absolute;right:6%;bottom:55px;background:#fffffff0;backdrop-filter:blur(12px);border:1px solid #fff;border-radius:12px;padding:22px;display:flex;align-items:center;gap:15px;font-size:12px;line-height:1.8;box-shadow:0 15px 40px #123d3710}.check{background:#e1f1dd;border-radius:50%;padding:7px 13px;color:#08765d;font-size:20px}.mini-waves{font-size:40px;color:#54a592;margin-left:24px}.strip{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:29px 6%;border-bottom:1px solid #e5eae4;font-size:14px}.strip>span{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.strip i{font-style:normal;color:#86a68a}.section{padding:95px 6%}.section-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:38px;gap:30px}h2{font-size:clamp(30px,3vw,45px);line-height:1.25;letter-spacing:-1.9px}.section-top>p{font-size:13px;color:var(--muted);line-height:1.8;max-width:290px}.tabs{display:flex;border-bottom:1px solid #d8e1d7;gap:32px;margin-bottom:28px}.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:18px 0;color:#73817a;font-size:12px}.tabs button[aria-selected=true]{color:var(--green);border-color:var(--green);font-weight:700}.feature{display:grid;grid-template-columns:.88fr 1.12fr;gap:65px;background:#f0f4ec;padding:55px;border-radius:15px;align-items:center;min-height:460px}.feature-icon{background:#dcebcf;display:inline-flex;padding:8px 14px;border-radius:10px;font-size:26px;margin-bottom:23px}.feature h3{font-size:32px;letter-spacing:-1.2px;line-height:1.2}.feature-copy>p{font-size:14px;color:var(--muted);line-height:1.8}.feature ul,.contact ul{list-style:none;padding:0;font-size:12px;line-height:2.7}.feature li:before,.contact li:before{content:'✓';margin-right:10px;color:var(--green)}.text-link{font-size:12px;font-weight:700;display:inline-flex;gap:26px;margin-top:14px}.app-preview{background:white;border:5px solid #233e36;border-radius:14px;box-shadow:0 22px 40px #153c3720;overflow:hidden;transform:rotate(-1deg)}.app-bar{background:#123d37;color:white;display:flex;justify-content:space-between;align-items:center;padding:13px 15px;font-size:11px}.sample{font-size:7px;letter-spacing:1px;color:#c4dece}.app-body{padding:20px}.app-heading{display:flex;justify-content:space-between;align-items:center}.app-heading small{font-size:7px;letter-spacing:1px;color:var(--muted)}h4{font-size:17px;margin-top:4px}.pill{background:#f1f4ec;border-radius:5px;padding:7px;font-size:7px}.metrics{display:flex;gap:10px;margin:19px 0}.metrics>div{background:#f3f6ee;border-radius:6px;flex:1;padding:12px}.metrics small{display:block;font-size:8px;color:var(--muted)}.metrics b{font-size:22px;display:block;margin-top:3px}.beach-map{padding:17px;display:grid;grid-template-columns:repeat(8,1fr);gap:7px;background:#fbf2dd;border-radius:8px 8px 0 0}.unit{border:1px solid #91bca2;background:#dbeddb;border-radius:4px;padding:7px 0;color:#3a7857;font-size:9px}.unit.occupied{background:#dbd8bf;border-color:#cfccb5;color:#7c7d66}.unit.selected{outline:2px solid #08765d;outline-offset:2px}.ocean{padding:8px;text-align:center;background:#c7e5dc;color:#599688;font-size:10px;border-radius:0 0 8px 8px}.map-bottom{display:flex;gap:14px;align-items:center;font-size:7px;margin-top:14px}.map-bottom i{display:inline-block;background:#dbeddb;width:6px;height:6px;border-radius:50%;margin-right:4px}.map-bottom span:nth-child(2) i{background:#dbd8bf}.map-bottom small{margin-left:auto;font-size:7px}#unit-info{font-size:9px;margin:13px 0 0;color:var(--muted);min-height:14px}.video-section{background:#113f38;padding:70px 13%;color:white;text-align:center}.video-heading .eyebrow{justify-content:center;color:#b5d3b7}.video-heading em{color:#d8f07b}.video-heading>p:last-child{color:#c0d1ca;font-size:14px;line-height:1.7}.video-frame{margin-top:33px;border:1px solid #55746a;padding:8px;border-radius:14px;background:#214d43}.video-frame video{display:block;width:100%;border-radius:8px;aspect-ratio:16/9;background:#061b18}.video-caption{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;margin-top:15px;color:#aec8bc}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.benefit-grid article{border-top:1px solid #d1ddd3;padding:22px 0}.benefit-grid article>span{font-size:10px;color:#84958a}.line-icon{font-size:35px;color:#508873;margin:20px 0}.benefit-grid h3{font-size:21px;letter-spacing:-.5px}.benefit-grid p{font-size:14px;line-height:1.8;color:var(--muted);max-width:320px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:80px 8%;background:#f0f4ec}.contact-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.8;max-width:360px}.contact h2{font-size:40px}.contact form{background:white;border:1px solid #e2e8dc;padding:35px;border-radius:14px;box-shadow:0 8px 30px #123d3705}.contact form h3{font-size:22px}.contact form>p{font-size:12px;color:var(--muted)}label{display:block;font-size:11px;font-weight:600;margin-top:19px}input{display:block;width:100%;background:#fafbf7;border:1px solid #dfe5dc;border-radius:5px;padding:13px 12px;margin-top:8px;font-size:12px;color:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}form .button{width:100%;margin-top:23px}.contact form .form-note{font-size:10px;line-height:1.6}.faq{max-width:1020px;margin:auto;padding-top:75px;padding-bottom:75px}.faq h2{font-size:32px;margin-bottom:27px}details{border-bottom:1px solid #dce4dc;padding:22px 0;font-size:14px}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px;font-weight:500}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}details p{color:var(--muted);line-height:1.8;max-width:760px}footer{background:#103b34;color:#fff;padding:50px 6% 23px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}footer .brand{font-size:20px;align-self:start}footer .brand small{font-size:6px}footer>p{color:#b9cfc1;font-size:14px;line-height:1.8;margin:0}footer>div:not(.footer-bottom){display:flex;flex-direction:column;gap:13px;font-size:12px}.footer-bottom{grid-column:1/-1;border-top:1px solid #416359;padding-top:22px;display:flex;justify-content:space-between;font-size:10px;color:#a8c1b4}
@media(min-width:1600px){header,.section,.strip,footer{padding-left:max(6%,calc((100% - 1400px)/2));padding-right:max(6%,calc((100% - 1400px)/2))}.hero-content{margin-left:calc((100% - 1600px)/2)}}@media(max-width:1000px){.hero-content{max-width:690px}.hero h1{font-size:58px}.floating-card{right:3%;bottom:22px}.feature{gap:25px;padding:30px}.contact{gap:40px;padding:60px 6%}.contact h2{font-size:34px}.tabs{gap:20px}.hero-note{gap:12px}.strip{gap:15px}.strip>span{display:none}}@media(max-width:700px){header{height:76px;padding:0 6%}.brand{font-size:20px}.brand small{font-size:6px}.brand-symbol{font-size:39px}.menu{display:block;border:0;background:none;color:var(--ink);font-size:24px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:20px 6%;box-shadow:0 10px 20px #123d3710}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:24px}.hero{min-height:850px}.hero-content{padding:35px 6%;max-width:none}.hero h1{font-size:47px;letter-spacing:-2.7px}.hero-photo{inset:440px 0 0;background:linear-gradient(#f3f6ed,#f3f6ed00 35%),url('assets/playa.jpg') center 66%/cover}.intro{font-size:14px;max-width:95%}.actions{gap:9px;margin-top:25px}.button{padding:15px 14px;font-size:11px;gap:12px}.hero-note{font-size:8px;gap:13px;margin-top:22px}.photo-label{display:none}.floating-card{bottom:22px;left:6%;right:6%;padding:16px;font-size:11px}.mini-waves{margin-left:auto}.strip{overflow:hidden;gap:16px;padding:22px 6%;font-size:10px;white-space:nowrap}.strip i{font-size:9px}.section{padding:58px 6%}.section-top{display:block;margin-bottom:25px}h2{font-size:32px;letter-spacing:-1.4px}.section-top>p{max-width:none}.tabs{overflow:auto;gap:23px;margin-right:-6vw;padding-right:6vw}.tabs button{white-space:nowrap;font-size:11px}.feature{grid-template-columns:1fr;padding:25px 20px;gap:30px}.feature h3{font-size:28px}.feature-icon{margin-bottom:15px}.feature-copy>p{font-size:13px}.feature ul{font-size:11px}.app-preview{transform:none}.app-body{padding:13px}.beach-map{padding:12px;gap:5px}.unit{font-size:8px;padding:7px 0}.pill{font-size:6px}.video-section{padding:50px 6%}.video-heading>p:last-child{font-size:12px}.video-caption{font-size:7px;letter-spacing:0}.benefit-grid{grid-template-columns:1fr;gap:10px}.benefit-grid article{display:grid;grid-template-columns:45px 1fr;gap:10px}.benefit-grid article>span{grid-column:1/-1}.line-icon{grid-row:2/4;margin:0}.benefit-grid h3{font-size:21px}.benefit-grid p{margin:0;max-width:none;font-size:13px}.contact{grid-template-columns:1fr;padding:55px 6%;gap:25px}.contact h2{font-size:34px}.contact form{padding:25px 20px}.form-row{grid-template-columns:1fr;gap:0}.faq h2{font-size:29px}summary{font-size:13px}footer{grid-template-columns:1fr 1fr;gap:30px}footer>.brand{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;gap:15px;font-size:9px}.eyebrow{font-size:8px;letter-spacing:1.5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{overflow-x:clip}

/* Identidad y módulos de servicios */
.services{padding-top:10px}.service-panel{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:50px;background:#f3f5ee;border:1px solid #e1e8d9;border-radius:20px;margin-top:24px}.service-number{font-size:10px;letter-spacing:2px;font-weight:700;color:#55836b}.service-copy h3{font-size:31px;line-height:1.25;letter-spacing:-1.2px;margin-top:23px}.service-copy>p{font-size:14px;color:var(--muted);line-height:1.8}.service-copy ul{list-style:none;padding:0;font-size:12px;line-height:2.5}.service-copy li:before{content:'✓';margin-right:10px;color:var(--green)}.service-copy .module-note{font-size:10px;border-left:2px solid #b7c9a3;padding-left:10px}.service-demo{background:#fff;border-radius:14px;border:1px solid #dce5d8;box-shadow:0 16px 35px #123d370a;overflow:hidden}.demo-top{padding:17px 20px;background:#123d37;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:9px;letter-spacing:1px}.demo-top small{font-size:7px;color:#c4d9c3}.calendar-title{display:flex;align-items:center;justify-content:space-between;padding:22px 24px}.calendar-title h4{font-size:21px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:0 24px}.weekdays{font-size:10px;text-align:center;color:#81907f;margin-bottom:12px}.calendar-grid button{border:1px solid #dce9d4;border-radius:7px;background:#eff7e9;color:#376049;min-height:35px;font-size:11px}.calendar-grid button.booked{background:#e9e6d9;border-color:#dedac8;color:#87816a}.calendar-grid button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}.calendar-legend{display:flex;gap:20px;padding:18px 24px 0;font-size:9px;color:#65845a}.calendar-legend span+span{color:#87816a}.demo-status{font-size:10px;line-height:1.6;color:#60716c;margin:16px 24px 22px;min-height:32px}.restaurant-panel{background:#fbf5e9;border-color:#ede2cf}.restaurant-panel .service-number{color:#977440}.restaurant-summary{display:flex;padding:20px;gap:12px}.restaurant-summary>div{flex:1;background:#f6f5ef;border-radius:8px;padding:10px}.restaurant-summary b{display:block;font:700 25px 'Manrope',sans-serif}.restaurant-summary small{font-size:8px;color:#778271}.table-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 20px}.table-grid button{display:flex;align-items:center;flex-direction:column;gap:8px;background:#f1f7ec;border:1px solid #d9e5d0;border-radius:9px;color:#46714e;padding:13px 5px;font-size:10px}.table-grid button.busy{background:#fcf0d9;border-color:#e6d9b6;color:#8c743e}.table-grid button[aria-pressed=true]{outline:2px solid #08765d;outline-offset:2px}.table-grid small{font-size:8px}.order-preview{margin:20px;border-top:1px solid #e6e9e1;padding-top:18px}.order-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.order-heading h4{font-size:12px}.order-state{font-size:7px;background:#f8eccb;padding:6px;border-radius:5px}.order-preview p:not(.demo-status){display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#647168;line-height:1.7}.order-total{display:flex;justify-content:space-between;border-top:1px dashed #d4dbce;padding-top:12px;font-size:11px}.order-preview .demo-status{margin:12px 0 0}.service-copy,.service-demo{min-width:0}@media(max-width:1050px){nav{gap:20px}.service-panel{gap:30px;padding:30px}.service-copy h3{font-size:27px}}@media(max-width:700px){.services{padding-top:0}.service-panel{grid-template-columns:1fr;gap:25px;padding:25px 18px}.service-copy h3{font-size:26px}.service-copy>p{font-size:13px}.service-copy ul{font-size:11px}.demo-top{padding:14px;font-size:8px}.demo-top small{font-size:6px}.calendar-title{padding:20px 16px}.weekdays,.calendar-grid{padding:0 14px;gap:5px}.calendar-grid button{min-height:33px}.calendar-legend{padding-left:14px;gap:12px}.demo-status{margin-left:14px;margin-right:14px}.restaurant-summary{padding:16px}.table-grid{padding:0 16px;gap:8px}.order-preview{margin:16px}}
/* Fotografía y mar en movimiento */
.hero-photo{inset:0;background:#e9eee2 url('assets/mar-poster.png') center/cover}.hero-photo video{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,249,244,.98) 0%,rgba(248,249,244,.92) 25%,rgba(248,249,244,.77) 42%,rgba(248,249,244,.2) 67%,rgba(248,249,244,0) 85%)}.hero-content{pointer-events:none}.hero-content a{pointer-events:auto}.photo-label{z-index:1;background:#ffffffc9;padding:12px 16px;border-radius:8px}.floating-card{z-index:1;bottom:74px}.motion-toggle{position:absolute;right:6%;bottom:20px;z-index:2;background:#113e38df;color:white;border:1px solid #ffffff70;border-radius:30px;padding:10px 16px;font-size:11px;backdrop-filter:blur(8px)}.service-photo{grid-column:1/-1;margin:-50px -50px 0;position:relative;height:330px;overflow:hidden;border-radius:19px 19px 0 0}.service-photo img{width:100%;height:100%;object-fit:cover;object-position:center 56%;display:block}.service-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#10352f90)}.service-photo figcaption{position:absolute;bottom:25px;left:35px;z-index:1;color:#fff;font:600 24px 'Manrope',sans-serif;letter-spacing:-.6px}.restaurant-panel .service-photo img{object-position:center 39%}.service-panel{row-gap:40px}.coast-banner{position:relative;min-height:360px;display:flex;align-items:center;margin:75px 6% 0;border-radius:16px;overflow:hidden}.coast-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.coast-banner>div{position:relative;z-index:1;padding:45px;background:linear-gradient(90deg,#f9f9f3ed,#f9f9f3a8,transparent);width:100%}.coast-banner h2{font-size:35px;max-width:510px}.coast-banner .button{display:inline-flex;margin-top:24px}@media(max-width:1050px){.service-photo{margin:-30px -30px 0}}@media(max-width:700px){.hero{min-height:880px}.hero-photo{inset:0}.hero-photo video{object-position:65% center}.hero-photo:after{background:linear-gradient(180deg,#f8f9f4 0%,#f8f9f4fa 38%,#f8f9f4e8 52%,#f8f9f450 68%,transparent 80%)}.hero-content{padding-top:35px}.floating-card{bottom:74px}.motion-toggle{font-size:10px;bottom:20px}.service-photo{height:220px;margin:-25px -18px 0}.service-photo figcaption{font-size:18px;left:20px;bottom:20px}.service-panel{row-gap:25px}.coast-banner{min-height:340px;margin-top:45px}.coast-banner>div{padding:25px;background:#f8f9f4b8}.coast-banner h2{font-size:29px}}@media(prefers-reduced-motion:reduce){.hero-photo video:not(.user-playing){visibility:hidden}}

/* WhatsApp: boton flotante, boton del formulario y compartir desde el pie. */
.wa-float{position:fixed;right:max(18px,3vw);bottom:22px;z-index:9;display:flex;align-items:center;gap:10px;background:#25d366;color:#fff;font:700 13px 'Manrope',sans-serif;padding:13px 19px 13px 15px;border-radius:999px;box-shadow:0 10px 26px #0a3c2e40;transition:transform .18s ease,box-shadow .18s ease}
.wa-float:hover{transform:translateY(-2px);box-shadow:0 14px 30px #0a3c2e59}
.wa-float[hidden]{display:none}
.button.whatsapp{background:#25d366;color:#fff;gap:12px;margin-top:18px;width:100%}
.button.whatsapp[hidden]{display:none}
.button.whatsapp:hover{background:#1fb855}
.share-button{background:none;border:0;color:inherit;font:inherit;padding:0;text-align:left;display:inline-flex;gap:7px;align-items:center;color:#b9cfc1}
.share-button:hover{color:#fff}
@media(max-width:700px){.wa-float{padding:12px;gap:0;bottom:16px}.wa-float span{display:none}}
@media(prefers-reduced-motion:reduce){.wa-float{transition:none}.wa-float:hover{transform:none}}

/* Logo de la marca: simbolo oficial + ECOSOFTWARE. */
.brand-mark{display:block;height:36px;width:auto}
.brand-name{font-weight:400;letter-spacing:-.5px;white-space:nowrap}
.brand-name b{font-weight:800}
footer .brand-mark{height:31px}
.original-logo{display:inline-flex;margin-top:26px;font-size:27px}
.original-logo .brand-mark{height:52px}
@media(max-width:900px){.brand-mark{height:30px}.original-logo{font-size:23px}.original-logo .brand-mark{height:44px}}
@media(max-width:700px){.brand-mark{height:28px}}
.original-logo small{font-size:8.5px;letter-spacing:1.9px;margin-top:5px}
/* El boton flotante de WhatsApp ocupa la esquina derecha: el control del video pasa a la izquierda. */
.motion-toggle{left:6%;right:auto}
