/* V3: compact intake, connected service composition, layered organic traveler route. */
.hero-stage{min-height:490px;padding:64px 24px;overflow:hidden}.hero-photo img{object-position:50% 68%}.form-shell{width:min(456px,100%);padding:20px 25px;background:rgba(255,255,255,.92);border:1px solid #ffffffac;box-shadow:0 12px 45px #152b2920;backdrop-filter:blur(8px);border-radius:13px}.form-top{font-size:10px;letter-spacing:1.4px}.progress{margin:12px 0 20px;height:2px}.question-title{font-size:27px;line-height:1.22;margin:0 0 17px;letter-spacing:-.7px}.field{padding:11px 13px;background:#ffffffb8;font-size:17px}.field::placeholder{font-size:14px}.hint{font-size:13px;line-height:1.45}.form-controls{position:relative;display:flex;justify-content:center;min-height:46px;margin-top:17px;padding-bottom:25px}.form-controls .back{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);font-size:13px;padding:3px 10px;white-space:nowrap}.form-controls:has(.back[style*="hidden"]){padding-bottom:0}.form-controls #next{background:#32894c;border:1px solid #2e8046;min-width:185px;justify-content:center;gap:22px;border-radius:8px;padding:11px 20px;box-shadow:0 5px 14px #27703e18;color:#fff;font-size:15px;transition:background .22s,transform .22s,box-shadow .22s}.form-controls #next:hover{background:#28753f;transform:translateY(-2px);box-shadow:0 7px 20px #27703e26}.form-controls #next:active{transform:translateY(0)}.form-controls #next:focus-visible{outline-color:#276e3d}.options{gap:6px}.option{padding:8px 10px;font-size:15px;background:#ffffff80}.consent{font-size:14px;line-height:1.6}.hotel-showcase{margin-top:23px}
.strategy-statement{margin:36px 0 0;padding:27px 25px;background:linear-gradient(130deg,#f5eddd,#fbf8f0);border-radius:14px;display:grid;grid-template-columns:70px 1fr;gap:19px;align-items:center}.strategy-statement>div>span{font-size:10px;font-weight:650;letter-spacing:1.3px;color:#765724;display:block;margin-bottom:14px}.about-copy .strategy-statement p{font-size:27px;letter-spacing:-.7px;line-height:1.2;margin:0;color:#544a39}.strategy-statement strong{color:#171717;font-weight:550}.strategy-symbol{width:70px;height:90px;fill:none;stroke:#a17a39;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.strategy-branch{stroke-dasharray:180;stroke-dashoffset:180}.strategy-statement.visible .strategy-branch{animation:strategy-connect 1.5s ease forwards}.strategy-statement.visible .strategy-tip{animation:strategy-tip 1s .4s both}@keyframes strategy-connect{to{stroke-dashoffset:0}}@keyframes strategy-tip{from{opacity:0;transform:translate(-3px,3px)}to{opacity:1;transform:none}}
.services{display:block;background:#faf9f5;border-radius:25px;padding-top:80px;padding-bottom:55px;isolation:isolate}.services-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:7vw;align-items:center}.services-heading h2{font-size:clamp(34px,4vw,56px);margin-bottom:0}.services-summary p{font-size:17px;margin-bottom:14px}.services-summary p:last-child{margin:0;color:#646157}.service-ecosystem{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,1.05fr) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:28px 42px;align-items:center;margin:65px auto 35px;isolation:isolate}.ecosystem-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:0;pointer-events:none}.ecosystem-lines path{fill:none;stroke:#b99a60;stroke-width:1.4;opacity:.65;stroke-linecap:round;stroke-dasharray:5 7}.ecosystem-lines .service-flow{stroke:#9d7839;stroke-width:2.5;stroke-dasharray:3 80;animation:service-flow 8s linear infinite;opacity:.9}@keyframes service-flow{to{stroke-dashoffset:-166}}.brand-portrait{grid-column:2;grid-row:1/3;align-self:center;position:relative;z-index:1;margin:0 -50px;text-align:center;pointer-events:none}.brand-portrait img{width:100%;height:auto;display:block;filter:drop-shadow(0 12px 12px #493f2710);transform-origin:center 80%;transition:transform .7s}.service-ecosystem:has(.service-module:hover) .brand-portrait img{transform:scale(1.025)}.brand-portrait figcaption{display:inline-flex;flex-direction:column;gap:5px;background:#ffffffed;border:1px solid #eae2d3;box-shadow:0 8px 25px #463e2410;border-radius:9px;padding:13px 18px;font-size:13px;line-height:1.4;position:relative;margin-top:12px;color:#45413a}.brand-portrait figcaption span{font-size:11px;font-weight:650;letter-spacing:2px;color:#8c6932}.service-module{position:relative;z-index:2;border:1px solid #e7e2d7;background:#fff;border-radius:13px;padding:24px;box-shadow:0 8px 24px #514b3c05;transition:box-shadow .3s,border-color .3s}.service-module:hover{box-shadow:0 15px 36px #514b3c12;border-color:#bca578}.service-meta{grid-column:1;grid-row:1}.service-google{grid-column:3;grid-row:1}.service-presence{grid-column:1;grid-row:2}.service-analysis{grid-column:3;grid-row:2}.service-module h3{font-size:24px;letter-spacing:-.7px;margin:15px 0 13px}.service-module p{font-size:16px;line-height:1.6;margin:0 0 20px}.service-icon{height:34px;width:34px;color:#95713a;transition:transform .35s}.service-icon svg{height:100%;width:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.service-module:hover .service-icon{transform:translateY(-3px) rotate(-5deg)}.service-purpose{font-size:9px;letter-spacing:1px;font-weight:650;color:#74664f;display:block}.accommodation-types{font-size:14px;text-align:center;margin:35px auto 0;color:#625e54;max-width:750px}
.journey-canvas{position:relative;isolation:isolate;padding:28px 0 22px;margin:25px 0 30px}.traveler-route{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:visible;pointer-events:none}.route-dots{fill:none;stroke:#b69454;stroke-width:3;stroke-dasharray:.1 10;stroke-linecap:round;opacity:.8}.route-mask{stroke-linecap:round}.journey-track{position:relative;z-index:1;margin:0;gap:28px}.journey-track li{z-index:1}.journey-track li:nth-child(even){padding-top:65px}.journey-step h3,.journey-step p{position:relative;background:#fff;box-shadow:0 0 0 7px #fff;border-radius:2px}.mini-ui{box-shadow:0 12px 28px #23272010;border-color:#e1dfd8;transform-origin:center bottom;transition:transform .45s,box-shadow .45s}.journey-step:hover .mini-ui{transform:translateY(-10px) rotate(-1.5deg) scale(1.025)}.journey-step:nth-child(even):hover .mini-ui{transform:translateY(-10px) rotate(1.5deg) scale(1.025)}.journey-end{background:#f5f0e6;padding:39px 42px;grid-template-columns:1.8fr 1fr;gap:45px;border-radius:16px}.journey-end .eyebrow{color:#7c6034;font-size:10px;margin-bottom:16px}.journey-end p{font-size:clamp(28px,3.2vw,44px);line-height:1.12;letter-spacing:-1.3px;color:#3e382f;margin-bottom:22px}.journey-end p strong{font-weight:550;color:#171717}.journey-cta{font-size:15px;line-height:1.5;text-decoration:none;display:inline-flex;gap:15px;align-items:center;font-weight:550;color:#6d5129;transition:gap .25s}.journey-cta:hover{gap:23px}.journey-cta span{font-size:24px}.journey-end small{max-width:230px;margin-left:auto}.js-motion .reveal{transition-duration:.85s;transform:translateY(42px) scale(.985)}.js-motion .reveal.visible{transform:none}.service-module.reveal{transition-delay:var(--reveal-delay,0ms)}
@media(min-width:1101px){.service-meta{--reveal-delay:70ms}.service-google{--reveal-delay:140ms}.service-presence{--reveal-delay:210ms}.service-analysis{--reveal-delay:280ms}}
@media(max-width:1100px){.service-ecosystem{grid-template-columns:1fr 210px 1fr;gap:24px;margin-top:42px}.brand-portrait{margin:0 -35px}.service-module{padding:20px}.service-module h3{font-size:22px}.service-module p{font-size:15px}.services-heading{gap:35px}.journey-track{display:flex;flex-direction:column;gap:45px;max-width:700px;margin:auto}.journey-track li,.journey-track li:nth-child(even){display:grid;grid-template-columns:240px 1fr;column-gap:45px;padding:0;align-items:center;min-height:205px}.journey-track li:nth-child(even){grid-template-columns:1fr 240px}.journey-step .mini-ui{width:240px;max-width:none;grid-column:1;grid-row:1/3}.journey-step:nth-child(even) .mini-ui{grid-column:2}.journey-step h3,.journey-step p{grid-column:2}.journey-step:nth-child(even) h3,.journey-step:nth-child(even) p{grid-column:1}.journey-step h3{align-self:end;margin:0 0 15px}.journey-step p{align-self:start;margin:0}.journey-canvas{padding:35px 0}.journey-end{grid-template-columns:1fr}.journey-end small{margin-left:0;max-width:none}.services-heading h2{font-size:40px}}
@media(max-width:800px){.hero-stage{min-height:470px}.service-ecosystem{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:20px;margin-top:30px}.brand-portrait{grid-column:1/-1;grid-row:1;margin:0 auto 5px;width:min(330px,80%)}.brand-portrait figcaption{font-size:12px}.service-meta{grid-column:1;grid-row:2}.service-google{grid-column:2;grid-row:2}.service-presence{grid-column:1;grid-row:3}.service-analysis{grid-column:2;grid-row:3}.services-heading{grid-template-columns:1fr;gap:22px}.service-module{align-self:stretch}.services-heading h2{font-size:38px}.ecosystem-lines path{stroke-dasharray:3 7}.ecosystem-lines .service-flow{stroke-dasharray:3 80}.services{border-radius:0}.strategy-statement{grid-template-columns:60px 1fr;padding:25px 22px}.strategy-symbol{width:60px}}
@media(max-width:700px){.hero-stage{min-height:435px;padding:50px 23px}.form-shell{padding:18px 20px;width:min(390px,100%)}.question-title{font-size:24px}.form-top{font-size:9px;letter-spacing:1px}.progress{margin:11px 0 18px}.field{padding:10px 11px;font-size:16px}.hint{font-size:12px}.option{font-size:14px;padding:7px 9px}.form-controls{margin-top:14px}.form-controls #next{min-width:170px;padding:10px 17px;font-size:14px}.services{padding-top:60px;padding-bottom:45px}.services-heading h2{font-size:35px}.services-summary p{font-size:16px}.service-ecosystem{gap:14px}.service-module{padding:18px 15px;border-radius:10px}.service-module h3{font-size:20px;letter-spacing:-.6px;margin:12px 0}.service-module p{font-size:14px;line-height:1.6;margin-bottom:14px}.service-purpose{font-size:8px;letter-spacing:.7px}.service-icon{width:29px;height:29px}.accommodation-types{font-size:13px;margin-top:25px}.journey-track{gap:43px}.journey-track li,.journey-track li:nth-child(even){grid-template-columns:145px 1fr;column-gap:22px;min-height:180px}.journey-track li:nth-child(even){grid-template-columns:1fr 145px}.journey-step .mini-ui{width:145px;height:180px}.journey-step h3{font-size:22px;margin:0 0 10px}.journey-step p{font-size:14px;line-height:1.55}.journey-canvas{margin-top:15px;margin-bottom:22px;padding:25px 0}.route-dots{stroke-width:2.5;stroke-dasharray:.1 9}.journey-end{padding:28px 24px;gap:25px}.journey-end p{font-size:33px}.journey-cta{font-size:14px}.about-copy .strategy-statement p{font-size:25px}.strategy-statement>div>span{font-size:9px}.strategy-statement{padding:22px 18px;gap:15px}.strategy-symbol{height:80px}.hero-photo img{object-position:53% 68%}}
@media(max-width:360px){.form-shell{padding:17px 16px}.hero-stage{padding-left:18px;padding-right:18px}.service-module{padding:16px 12px}.service-module h3{font-size:18px}.journey-track li,.journey-track li:nth-child(even){grid-template-columns:130px 1fr;gap:16px}.journey-track li:nth-child(even){grid-template-columns:1fr 130px}.journey-step .mini-ui{width:130px}.strategy-statement{grid-template-columns:42px 1fr}.strategy-symbol{width:42px}}
.services{background:#fff}.service-module{background:#faf9f6}.brand-portrait img{filter:none;border-radius:12px}.route-dots{opacity:1;stroke:#ad8848}.journey-track li:not(:last-child)::after{content:none!important;display:none!important}.is-offscreen .service-flow{animation-play-state:paused}.strategy-statement:not(.visible) .strategy-branch{stroke-dashoffset:0}.js-motion .strategy-statement:not(.visible) .strategy-branch{stroke-dashoffset:180}
@media(min-width:801px){.brand-portrait{margin-left:-8px;margin-right:-8px}}
@media(prefers-reduced-motion:reduce){.js-motion .reveal{opacity:1;transform:none}.strategy-branch{stroke-dashoffset:0}.strategy-tip{opacity:1}.ecosystem-lines .service-flow{display:none}}

/* Foto original de Magali: composición completa y por delante de las conexiones. */
.brand-portrait{z-index:3}.brand-portrait img{object-fit:contain;height:auto;filter:none}.service-ecosystem:has(.service-module:hover) .brand-portrait img{transform:none}@media(min-width:1101px){.service-ecosystem{grid-template-columns:minmax(0,1fr) minmax(300px,1.3fr) minmax(0,1fr);column-gap:30px}.brand-portrait{margin:0 -12px}}
