:root{--c-deep:#0a1628;--c-navy:#142640;--c-slate:#2c4561;--c-mist:#6b7e94;--c-fog:#c9d2dc;--c-pearl:#f4f6f8;--c-snow:#fff;--c-amber:#c89858;--c-amber-soft:#d9b07a;--c-amber-glow:rgba(200,152,88,.15);--t-display:clamp(2.5rem,6vw + 1rem,6.25rem);--t-h1:clamp(2rem,3.5vw + 1rem,3.75rem);--t-h2:clamp(1.5rem,2vw + 0.75rem,2.25rem);--t-h3:clamp(1.125rem,1vw + 0.75rem,1.375rem);--t-body:1.0625rem;--t-small:0.875rem;--t-eyebrow:0.75rem;--s-section:clamp(4rem,8vw,8rem);--s-container:1240px;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--shadow-soft:0 1px 2px rgba(10,22,40,.04),0 8px 24px rgba(10,22,40,.06);--shadow-card:0 2px 4px rgba(10,22,40,.06),0 24px 48px rgba(10,22,40,.08);--radius-sm:6px;--radius:14px;--radius-lg:24px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Manrope,system-ui,sans-serif;font-size:var(--t-body);line-height:1.6;background:var(--c-snow);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body,h1,h2,h3,h4{color:var(--c-deep)}h1,h2,h3,h4{font-family:Space Grotesk,sans-serif;font-weight:600;letter-spacing:-.02em;line-height:1.1}a{text-decoration:none}a,button{color:inherit}button{font-family:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;display:block}.container{max-width:var(--s-container);margin:0 auto;padding:0 clamp(1.25rem,3vw,2.5rem)}.eyebrow{font-family:Space Grotesk,sans-serif;font-size:var(--t-eyebrow);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--c-amber);display:inline-flex;align-items:center;gap:.75rem}.eyebrow:before{content:"";width:32px;height:1px;background:var(--c-amber)}.header{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem 0;transition:all .4s var(--ease-out);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}.header.scrolled{background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(10,22,40,.06);padding:.75rem 0}.header__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.logo{font-family:Space Grotesk,sans-serif;font-size:1.125rem;font-weight:700;letter-spacing:-.01em;color:var(--c-snow);transition:color .4s var(--ease-out)}.logo span{color:var(--c-amber)}.header.scrolled .logo{color:var(--c-deep)}.logo-img{width:auto;transition:filter .4s var(--ease-out)}.footer-logo-img,.logo-img{height:48px}.header.scrolled .logo-img{filter:none}.header__nav{display:flex;align-items:center;gap:1.5rem}.header__phone{font-size:.9375rem;font-weight:500;color:var(--c-snow);transition:color .4s var(--ease-out);display:none}.header.scrolled .header__phone{color:var(--c-deep)}@media (min-width:768px){.header__phone{display:inline}}.btn-wa{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.125rem;background:var(--c-amber);color:var(--c-deep);border-radius:999px;font-size:.875rem;font-weight:600;transition:transform .3s var(--ease-out),background .3s var(--ease-out)}.btn-wa:hover{transform:translateY(-1px);background:var(--c-amber-soft)}.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding:8rem 0 4rem;overflow:hidden;background:var(--c-deep);isolation:isolate}.hero__bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,22,40,.65),rgba(10,22,40,.6) 40%,rgba(10,22,40,.85)),url(/images/Costa_Diadema_Palma_2019-10-29_11.jpg) 50%/cover no-repeat;z-index:-1;animation:heroZoom 20s ease-out forwards}@keyframes heroZoom{0%{transform:scale(1.1)}to{transform:scale(1)}}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 30%,transparent 0,rgba(10,22,40,.4) 100%);z-index:-1;pointer-events:none}.hero__inner{width:100%;position:relative;color:var(--c-snow)}.hero__eyebrow{color:var(--c-amber-soft);margin-bottom:1.5rem;opacity:0;animation:fadeUp .8s var(--ease-out) .2s forwards}.hero__eyebrow:before{background:var(--c-amber-soft)}.hero__title{font-size:var(--t-display);color:var(--c-snow);font-weight:500;margin-bottom:2rem;max-width:18ch;opacity:0;animation:fadeUp 1s var(--ease-out) .4s forwards}.hero__title em{font-style:italic;font-weight:400;color:var(--c-amber-soft)}.hero__meta{display:flex;flex-wrap:wrap;gap:2.5rem;margin-bottom:3rem;padding-top:2rem;border-top:1px solid hsla(0,0%,100%,.15);max-width:720px;opacity:0;animation:fadeUp 1s var(--ease-out) .7s forwards}.hero__meta-item{display:flex;flex-direction:column;gap:.25rem}.hero__meta-label{font-size:var(--t-eyebrow);letter-spacing:.15em;text-transform:uppercase;color:var(--c-fog);opacity:.7}.hero__meta-value{font-family:Space Grotesk,sans-serif;font-size:1.125rem;font-weight:500}.hero__cta-row{flex-wrap:wrap;gap:1.5rem 2rem;animation:fadeUp 1s var(--ease-out) .9s forwards}.hero__cta-row,.hero__scroll{display:flex;align-items:center;opacity:0}.hero__scroll{position:absolute;bottom:2rem;right:clamp(1.25rem,3vw,2.5rem);flex-direction:column;gap:.75rem;font-size:var(--t-eyebrow);letter-spacing:.2em;text-transform:uppercase;color:hsla(0,0%,100%,.6);writing-mode:vertical-rl;animation:fadeUp 1s var(--ease-out) 1.2s forwards}.hero__scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,transparent,var(--c-amber-soft));position:relative;overflow:hidden;writing-mode:horizontal-tb}.hero__scroll-line:after{content:"";position:absolute;top:-60px;width:100%;height:60px;background:var(--c-amber);animation:scrollLine 2.4s ease-in-out infinite}@keyframes scrollLine{0%{transform:translateY(0)}to{transform:translateY(120px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1.125rem 2rem;font-family:Space Grotesk,sans-serif;font-size:.9375rem;font-weight:500;letter-spacing:.02em;border-radius:999px;transition:all .4s var(--ease-out);position:relative;overflow:hidden}.btn--primary{background:var(--c-amber);color:var(--c-deep)}.btn--primary:hover{background:var(--c-amber-soft);transform:translateY(-2px);box-shadow:0 12px 32px rgba(200,152,88,.4)}.btn--ghost{background:transparent;color:var(--c-snow);border:1px solid hsla(0,0%,100%,.3)}.btn--ghost:hover{background:hsla(0,0%,100%,.08);border-color:var(--c-amber-soft)}.btn--dark{background:var(--c-deep);color:var(--c-snow)}.btn--dark:hover{background:var(--c-navy);transform:translateY(-2px)}.btn__arrow{transition:transform .3s var(--ease-out)}.btn:hover .btn__arrow{transform:translateX(4px)}.section{padding:var(--s-section) 0;position:relative}.section--dark{background:var(--c-deep)}.section--dark,.section--dark h2{color:var(--c-snow)}.section--pearl{background:var(--c-pearl)}.section__head{margin-bottom:clamp(3rem,5vw,5rem);max-width:640px}.section__title{font-size:var(--t-h1);margin-top:1rem;font-weight:500}.section__title em{font-style:italic;font-weight:400;color:var(--c-amber)}.section__lead{margin-top:1.5rem;font-size:1.0625rem;color:var(--c-mist);max-width:56ch}.section--dark .section__lead{color:var(--c-fog)}.route__grid{display:grid;grid-gap:1.5rem;gap:1.5rem}@media (min-width:768px){.route__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.route__grid{grid-template-columns:repeat(4,1fr)}}.route__day{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);border-radius:var(--radius);padding:2rem 1.75rem;transition:all .4s var(--ease-out);position:relative;overflow:hidden}.route__day:hover{border-color:var(--c-amber);background:rgba(200,152,88,.08);transform:translateY(-4px)}.route__day-num{font-family:Space Grotesk,sans-serif;font-size:3.5rem;font-weight:300;color:var(--c-amber);line-height:1;margin-bottom:1rem}.route__day-num:after{content:"";display:block;width:24px;height:1px;background:var(--c-amber);margin-top:.75rem;transition:width .4s var(--ease-out)}.route__day:hover .route__day-num:after{width:48px}.route__day-date{font-size:var(--t-small);color:var(--c-fog);letter-spacing:.05em;margin-bottom:.5rem}.route__day-place{font-family:Space Grotesk,sans-serif;font-size:1.1875rem;font-weight:500;color:var(--c-snow);margin-bottom:.5rem}.route__day-country{font-size:.9375rem;color:var(--c-mist)}.cabins{display:grid;grid-gap:1.5rem;gap:1.5rem}@media (min-width:768px){.cabins{grid-template-columns:repeat(2,1fr)}}.cabin{background:var(--c-snow);border:1px solid rgba(10,22,40,.08);border-radius:var(--radius-lg);padding:clamp(2rem,3vw,3rem);position:relative;overflow:hidden;transition:all .5s var(--ease-out)}.cabin:hover{transform:translateY(-6px);box-shadow:var(--shadow-card);border-color:var(--c-amber)}.cabin--featured{background:var(--c-deep);border-color:var(--c-deep)}.cabin--featured,.cabin--featured h3{color:var(--c-snow)}.cabin--featured .cabin__includes li{color:var(--c-fog)}.cabin__badge{position:absolute;top:1.5rem;right:1.5rem;font-size:var(--t-eyebrow);letter-spacing:.15em;text-transform:uppercase;color:var(--c-amber);font-weight:600}.cabin__type{font-family:Space Grotesk,sans-serif;font-size:1.5rem;font-weight:500;margin-bottom:.75rem}.cabin__desc{color:var(--c-mist);margin-bottom:2rem;font-size:.9375rem}.cabin--featured .cabin__desc{color:var(--c-fog)}.cabin__price{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem;padding-top:1.5rem;border-top:1px solid;border-image:linear-gradient(to right,var(--c-amber) 30%,transparent 30%) 1}.cabin__from{font-size:var(--t-small);color:var(--c-mist);letter-spacing:.05em}.cabin--featured .cabin__from{color:var(--c-fog)}.cabin__amount{font-family:Space Grotesk,sans-serif;font-size:clamp(2.5rem,4vw,3.5rem);font-weight:400;letter-spacing:-.02em;line-height:1}.cabin__per{font-size:.9375rem;color:var(--c-mist)}.cabin--featured .cabin__per{color:var(--c-fog)}.cabin__includes{list-style:none;margin-top:2rem;display:grid;grid-gap:.5rem;gap:.5rem}.cabin__includes li{display:flex;align-items:flex-start;gap:.625rem;font-size:.9375rem;color:var(--c-slate)}.cabin__includes li:before{content:"";width:4px;height:4px;background:var(--c-amber);border-radius:50%;flex-shrink:0;margin-top:.625em}.includes-grid{display:grid;grid-gap:3rem;gap:3rem}@media (min-width:900px){.includes-grid{grid-template-columns:1fr 1fr;gap:4rem}}.includes-col h3{font-size:var(--t-h2);margin-bottom:2rem;font-weight:500;display:flex;align-items:baseline;gap:.75rem}.includes-col h3 .num{font-family:Space Grotesk,sans-serif;font-size:.875rem;font-weight:400;color:var(--c-amber);letter-spacing:.1em}.includes-list{list-style:none;display:grid;grid-gap:0;gap:0}.includes-list li{padding:1rem 0;display:flex;align-items:flex-start;gap:1rem;border-bottom:1px solid rgba(10,22,40,.08);font-size:.9375rem;line-height:1.5}.includes-list li:first-child{padding-top:0}.includes-list--extras li:before{content:"+";color:var(--c-amber);font-weight:600;flex-shrink:0}.includes-list--core li:before{content:"✓";color:var(--c-amber);font-weight:600;flex-shrink:0}.transfer-grid{display:grid;grid-gap:1.25rem;gap:1.25rem}@media (min-width:768px){.transfer-grid{grid-template-columns:repeat(3,1fr)}}.transfer{padding:2rem;background:var(--c-snow);border-radius:var(--radius);border:1px solid rgba(10,22,40,.08);transition:all .4s var(--ease-out)}.transfer:hover{border-color:var(--c-amber);transform:translateY(-2px)}.transfer__type{font-family:Space Grotesk,sans-serif;font-size:1.125rem;font-weight:500;margin-bottom:1.25rem;display:flex;align-items:center;gap:.625rem}.transfer__icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:var(--c-amber-glow);color:var(--c-amber);border-radius:50%;font-size:.875rem}.transfer__detail{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.875rem;border-top:1px solid rgba(10,22,40,.06)}.transfer__detail:first-of-type{border-top:none}.transfer__detail span:first-child{color:var(--c-mist)}.transfer__detail span:last-child{font-weight:500}.faq__list{max-width:880px;margin:0 auto}.faq__item{border-bottom:1px solid rgba(10,22,40,.1);transition:all .4s var(--ease-out)}.faq__item:first-child{border-top:1px solid rgba(10,22,40,.1)}.faq__btn{width:100%;padding:1.75rem 0;display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;text-align:left;font-family:Space Grotesk,sans-serif;font-size:1.125rem;font-weight:500;color:var(--c-deep);transition:color .3s var(--ease-out)}.faq__btn .num,.faq__btn:hover{color:var(--c-amber)}.faq__btn .num{font-size:.875rem;font-weight:400;letter-spacing:.1em;flex-shrink:0;width:32px}.faq__q{flex:1 1}.faq__icon{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--c-deep);border-radius:50%;position:relative;transition:all .4s var(--ease-out)}.faq__icon:after,.faq__icon:before{content:"";position:absolute;background:var(--c-deep);transition:all .4s var(--ease-out)}.faq__icon:before{width:10px;height:1px}.faq__icon:after{width:1px;height:10px}.faq__item.is-open .faq__icon{background:var(--c-amber);border-color:var(--c-amber)}.faq__item.is-open .faq__icon:after,.faq__item.is-open .faq__icon:before{background:var(--c-deep)}.faq__item.is-open .faq__icon:after{transform:rotate(90deg);opacity:0}.faq__answer{max-height:0;overflow:hidden;transition:max-height .5s var(--ease-out),padding .4s var(--ease-out);color:var(--c-slate);font-size:1rem;line-height:1.65}.faq__item.is-open .faq__answer{max-height:400px;padding:0 0 1.75rem 3rem}@media (max-width:600px){.faq__item.is-open .faq__answer{padding-left:0}.faq__btn .num{display:none}}.cta-section{background:var(--c-deep);color:var(--c-snow);position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,var(--c-amber-glow) 0,transparent 40%),radial-gradient(circle at 80% 70%,rgba(200,152,88,.08) 0,transparent 50%);pointer-events:none}.cta-inner{position:relative;text-align:center;max-width:720px;margin:0 auto}.cta-inner h2{color:var(--c-snow);font-size:var(--t-h1);font-weight:500;margin:1.5rem 0}.cta-inner h2 em{font-style:italic;font-weight:400;color:var(--c-amber-soft)}.cta-inner p{color:var(--c-fog);margin-bottom:2.5rem;font-size:1.0625rem}.footer{background:var(--c-deep);color:var(--c-fog);padding:3rem 0 2rem;border-top:1px solid hsla(0,0%,100%,.08)}.footer__inner{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;font-size:var(--t-small)}.footer .logo{color:var(--c-snow)}.footer__phones{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end}.footer__phones a{color:var(--c-fog);transition:color .3s var(--ease-out)}.footer__phones a:hover{color:var(--c-amber)}.modal-overlay{position:fixed;inset:0;background:rgba(10,22,40,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;padding:1.5rem;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s var(--ease-out);overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-overlay.is-open{opacity:1;pointer-events:all}.modal{background:var(--c-snow);border-radius:var(--radius-lg);max-width:520px;width:100%;padding:clamp(2rem,4vw,3rem);position:relative;transform:translateY(20px) scale(.98);transition:transform .4s var(--ease-out);margin:auto 0;flex-shrink:0}.modal-overlay.is-open .modal{transform:translateY(0) scale(1)}.modal__close{position:absolute;top:1.25rem;right:1.25rem;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--c-mist);transition:all .3s var(--ease-out)}.modal__close:hover{background:var(--c-pearl);color:var(--c-deep)}.modal__title{font-size:1.625rem;font-weight:500;margin-bottom:.5rem}.modal__lead{color:var(--c-mist);margin-bottom:2rem;font-size:.9375rem}.field{margin-bottom:1.25rem}.field label{display:block;font-size:var(--t-small);font-weight:500;letter-spacing:.04em;margin-bottom:.5rem;color:var(--c-slate)}.field input,.field textarea{width:100%;padding:.875rem 1rem;font-family:inherit;font-size:1rem;color:var(--c-deep);background:var(--c-pearl);border:1px solid transparent;border-radius:var(--radius-sm);transition:all .3s var(--ease-out);-webkit-appearance:none;-moz-appearance:none;appearance:none}.field input:focus,.field textarea:focus{outline:none;border-color:var(--c-amber);background:var(--c-snow);box-shadow:0 0 0 4px var(--c-amber-glow)}.field textarea{resize:vertical;min-height:90px}.field--check{display:flex;align-items:flex-start;gap:.625rem;font-size:.8125rem;color:var(--c-mist);line-height:1.5;cursor:pointer}.field--check input[type=checkbox]{width:20px;height:20px;min-width:20px;margin-top:.1rem;-webkit-appearance:checkbox;-moz-appearance:checkbox;appearance:checkbox;cursor:pointer;accent-color:var(--c-amber);background:var(--c-pearl);border:1px solid var(--c-mist);border-radius:3px}.modal .btn{width:100%;margin-top:.5rem}.modal__success{text-align:center;padding:2rem 0}.modal__success-icon{width:64px;height:64px;margin:0 auto 1.5rem;border-radius:50%;background:var(--c-amber);color:var(--c-deep);display:inline-flex;align-items:center;justify-content:center;font-size:2rem}.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}