/* Shared navigation and layouts for the travel pages. */
.site-header nav{gap:27px;white-space:nowrap}
.site-header nav>a[aria-current="page"]:not(.nav-contact){border-bottom-color:#ff9900}
.site-header .nav-contact{background:#ff9900;color:#103e42;border-color:#ff9900;gap:15px}
.site-header .nav-contact:hover{background:#ffb039;color:#103e42;border-color:#ffb039}
.menu-toggle{display:none}
.site-header .brand-icon,.site-footer .brand-icon{color:#ff9900}
.site-footer{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding-top:58px;padding-bottom:30px}
.footer-brand-row,.footer-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:28px}
.footer-nav{display:flex;gap:27px;flex-wrap:wrap;font-size:14px}
.footer-nav a:hover{text-decoration:underline;text-decoration-color:#ff9900;text-underline-offset:6px}
.footer-bottom-row{border-top:1px solid #dae6e4;padding-top:23px}
.footer-bottom-row p{margin:0}.footer-bottom-row>span{font-size:12px;color:#5b7577}
.experience-item[href]{transition:transform .2s}.experience-item[href]:hover{transform:translateX(5px)}
.inner-page .site-header{border-bottom:1px solid #e7eeec;background:#fff}
.inner-page{background:#fff}
.page-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px;padding-top:64px;padding-bottom:75px}
.page-intro h1,.story-title,.contact-title{font-family:var(--heading);font-size:clamp(3rem,4.8vw,4.8rem);line-height:1.12;letter-spacing:-.055em;font-weight:500;margin:0 0 26px}
.page-intro h1 em,.story-title em,.contact-title em{font-family:'Playfair Display',Georgia,serif;font-weight:500;color:#bb6600}
.page-intro p{font-size:18px;line-height:1.8;color:var(--muted);margin:0 0 28px;max-width:510px}
.intro-photo{margin:0;height:505px;overflow:hidden;border-radius:120px 24px 120px 24px;background:#e3f3ef}
.intro-photo img{width:100%;height:100%;object-fit:cover}
.page-section{padding-top:70px;padding-bottom:75px}
.section-lead{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:40px}
.section-lead h2{max-width:680px}.section-lead>p{font-size:17px;color:var(--muted);line-height:1.8;max-width:345px;margin:0 0 4px}
.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.destination-card{min-width:0;border:1px solid #e2ebe7;border-radius:24px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.destination-card>img{width:100%;aspect-ratio:1.25;object-fit:cover}
.destination-body{padding:27px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.destination-body h3{font:600 25px/1.25 var(--heading);letter-spacing:-.7px;margin:0 0 14px}
.destination-body p{font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 25px}
.text-link{font-size:15px;font-weight:650;display:inline-flex;align-items:center;gap:15px;border-bottom:2px solid #ff9900;padding-bottom:5px;line-height:1.5}
.text-link:hover{color:#9a5500}.text-link span{font-size:20px}.destination-body .text-link{margin-top:auto}
.travel-note{margin:65px 0 0;padding:35px 40px;border-left:5px solid #ff9900;background:#eef7f4;display:grid;grid-template-columns:1fr 1.3fr;gap:35px;align-items:center}
.travel-note h3{font:500 29px/1.25 var(--heading);letter-spacing:-1px;margin:0}.travel-note p{font-size:17px;color:var(--muted);line-height:1.8;margin:0}
.page-cta{background:#103e42;color:#fff;padding:55px 58px;border-radius:26px;display:flex;align-items:center;justify-content:space-between;gap:42px;margin-top:30px;margin-bottom:25px}
.page-cta h2{font-size:clamp(2rem,3.5vw,3.2rem);max-width:660px}.page-cta h2 em{color:#ff9900}.page-cta .button{flex-shrink:0}
.photo-hero{position:relative;isolation:isolate;min-height:585px;display:flex;align-items:center;overflow:hidden}
.photo-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.photo-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#092d46c9,#092d4660 62%,#0c354514)}
.photo-hero .section-shell{width:100%;padding-top:95px;padding-bottom:100px}
.photo-hero h1{font:500 clamp(3.5rem,5.8vw,5.6rem)/1.1 var(--heading);letter-spacing:-.055em;color:#fff;margin:0 0 25px;max-width:800px}
.photo-hero h1 em{font-family:'Playfair Display',Georgia,serif;color:#ff9900;font-weight:500;display:block}
.photo-hero p{font-size:19px;line-height:1.8;color:#fff;max-width:460px;margin:0 0 30px}
.three-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin-top:42px}
.way-card{padding-top:30px;border-top:2px solid #ff9900}
.way-card h3{font:600 25px/1.3 var(--heading);letter-spacing:-.7px;margin:0 0 17px}
.way-card p{color:var(--muted);font-size:17px;line-height:1.85;margin:0}
.faq-section{background:#f0f7f5;margin-top:20px;padding-top:75px;padding-bottom:75px}
.faq-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}
.faq-intro h2{font-size:clamp(2.7rem,4vw,3.6rem);margin-bottom:23px}.faq-intro p{color:var(--muted);font-size:17px;line-height:1.8;margin:0 0 25px}
.faq-list details{border-bottom:1px solid #c7dbd5;padding:23px 0}.faq-list details:first-child{padding-top:5px}
.faq-list summary{cursor:pointer;font-size:18px;line-height:1.55;font-weight:600;padding-right:30px;position:relative;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:0;top:0;color:#9b5800;font-size:23px;font-weight:400}
.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:16px;line-height:1.8;color:var(--muted);margin:17px 0 2px}
.faq-list summary:focus-visible{outline:3px solid #ff9900;outline-offset:5px}
.story-opening{padding-top:70px;padding-bottom:65px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:80px}
.story-title{font-size:clamp(3.1rem,4.6vw,4.6rem)}
.story-copy p{color:var(--muted);font-size:18px;line-height:1.9;margin:0 0 21px}.story-copy .introduction{color:var(--ink);font-weight:600}
.story-art{background:#e7f5f0;border-radius:50% 50% 22px 22px;overflow:hidden;min-width:0}
.story-art img{width:100%;height:auto;mix-blend-mode:multiply}
.story-quote{background:#ff9900;padding:58px 8%;text-align:center}
.story-quote blockquote{margin:0;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:clamp(2.7rem,5vw,4.7rem);line-height:1.2;letter-spacing:-.045em;color:#103e42}
.story-values{padding-top:75px;padding-bottom:70px}.story-values>h2{max-width:770px}
.contact-opening{text-align:center;padding-top:76px;padding-bottom:55px;background:radial-gradient(ellipse at 50% 0,#fff4df,transparent 70%)}
.contact-title{max-width:870px;margin:0 auto 23px}.contact-opening p{font-size:19px;line-height:1.8;color:var(--muted);max-width:560px;margin:auto}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-top:12px;padding-bottom:75px}
.contact-card{border:1px solid #d9e6e1;border-radius:24px;padding:39px 40px 41px;display:flex;flex-direction:column;align-items:flex-start}
.channel-symbol{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#fff1d6;color:#8b4f00;font:700 21px var(--heading);margin-bottom:27px}
.contact-card h2{font-size:30px;margin-bottom:17px}.contact-card p{color:var(--muted);font-size:17px;line-height:1.8;margin:0 0 14px}.contact-card .profile-name{font-size:15px;color:var(--ink);margin:0 0 27px;overflow-wrap:anywhere}
.contact-card .button{margin-top:auto}
.contact-prep{background:#eef6f3;padding-top:62px;padding-bottom:68px}.contact-prep h2{max-width:750px;margin:0 0 20px}.contact-prep>.section-shell>p{color:var(--muted);font-size:18px;line-height:1.8;max-width:600px}
.prep-list{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:34px 0 0;padding:0}
.prep-list li{border-top:2px solid #ff9900;padding-top:19px}.prep-list h3{font:600 20px/1.4 var(--heading);margin:0 0 11px}.prep-list p{color:var(--muted);font-size:16px;line-height:1.75;margin:0}
.inner-page .button-orange{background:#ff9900}.inner-page .button-orange:hover{background:#ffb039}

@media(max-width:1100px){.site-header nav{gap:21px;font-size:14px}.site-header .nav-contact{padding:11px 17px}.page-intro{gap:40px}.intro-photo{height:440px}.destination-grid{gap:20px}.destination-body{padding:23px}.destination-body h3{font-size:22px}.page-cta{padding:45px 36px;gap:25px}.page-cta .button{font-size:14px;gap:14px}.story-opening{gap:45px}.faq-layout{gap:50px}.prep-list{gap:22px}}
@media(max-width:960px){
 .site-header{flex-wrap:wrap;gap:17px;padding-top:23px;padding-bottom:23px}
 .site-header nav{display:flex;flex-basis:100%;flex-wrap:wrap;justify-content:center;gap:15px 24px}
 .site-header nav>a:not(.nav-contact){display:block}
 .js .menu-toggle{display:flex;align-items:center;gap:12px;border:1px solid #b9cdc5;border-radius:999px;background:transparent;color:inherit;padding:10px 15px;font-size:14px;min-height:44px}
 .menu-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
 .opening .menu-toggle{border-color:#ffffff70;background:#ffffff10;backdrop-filter:blur(12px)}
 .js .site-header nav{display:none;position:absolute;top:calc(100% - 4px);right:5.6%;left:5.6%;padding:19px 24px 23px;background:#fff;border:1px solid #dce8e2;box-shadow:0 18px 35px #103e4230;border-radius:20px;flex-direction:column;align-items:stretch;color:#103e42;gap:6px;white-space:normal;max-height:calc(100svh - 130px);overflow-y:auto}
 .js .site-header.menu-open nav{display:flex}
 .js .site-header nav>a,.js .opening .site-header nav>a:not(.nav-contact){display:block;min-height:44px;padding:10px 3px;color:#103e42;text-shadow:none;border-bottom:0}
 .js .site-header nav>a[aria-current="page"]:not(.nav-contact){color:#874b00;font-weight:700}
 .js .site-header nav .nav-contact,.js .opening .site-header nav .nav-contact{display:flex;align-items:center;justify-content:space-between;max-width:none;padding:13px 18px;margin-top:7px;font-size:15px;background:#ff9900;border:1px solid #ff9900;color:#103e42}
 .footer-brand-row{align-items:flex-start}.footer-nav{gap:18px 22px;justify-content:flex-end;max-width:370px}
 .page-intro{padding-top:50px;gap:30px}.page-intro h1{font-size:3.35rem}.page-intro p{font-size:17px}.intro-photo{height:450px;border-radius:85px 20px 85px 20px}
 .destination-body h3{font-size:21px}.destination-body p{font-size:16px}.destination-body{padding:22px 19px}
 .travel-note{gap:25px;padding:30px}.photo-hero{min-height:540px}.photo-hero h1{font-size:4.3rem}.photo-hero p{font-size:18px}
 .three-ways{gap:26px}.way-card h3{font-size:22px}.way-card p{font-size:16px}.story-opening{gap:35px}.story-title{font-size:3.25rem}.story-copy p{font-size:17px}
 .contact-card{padding:30px}.prep-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
}
@media(max-width:720px){
 .page-intro{grid-template-columns:1fr;gap:35px;padding-top:45px;padding-bottom:45px}.page-intro h1{font-size:clamp(2.7rem,8vw,3.7rem);max-width:600px}.page-intro p{max-width:550px}.intro-photo{height:380px;border-radius:80px 20px 80px 20px}
 .page-section{padding-top:50px;padding-bottom:45px}.section-lead{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:30px}.section-lead h2{font-size:2.55rem}.section-lead>p{max-width:100%}
 .destination-grid{grid-template-columns:1fr;gap:28px}.destination-card>img{aspect-ratio:1.7}.destination-body{padding:28px}.destination-body h3{font-size:27px}.destination-body p{max-width:510px}
 .travel-note{grid-template-columns:1fr;gap:17px;margin-top:40px;padding:29px}.travel-note h3{font-size:27px}
 .page-cta{flex-direction:column;align-items:flex-start;gap:27px;padding:37px 30px;border-radius:22px}.page-cta h2{font-size:2.4rem}.page-cta .button{font-size:15px}
 .photo-hero{min-height:570px}.photo-hero>img{object-position:62% 50%}.photo-hero:before{background:linear-gradient(90deg,#092d46c9,#092d467d 75%,#0c354561)}.photo-hero h1{font-size:clamp(3.2rem,8vw,4rem)}.photo-hero p{font-size:18px;max-width:370px}.photo-hero .section-shell{padding-top:80px;padding-bottom:85px}
 .three-ways{grid-template-columns:1fr;gap:28px;margin-top:32px}.way-card{padding-top:22px}.way-card h3{font-size:25px}.way-card p{font-size:17px}
 .faq-section{padding-top:50px;padding-bottom:55px}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-intro h2{font-size:2.7rem;max-width:450px}.faq-intro p{max-width:470px}
 .story-opening{grid-template-columns:1fr;padding-top:48px;padding-bottom:45px;gap:28px}.story-title{font-size:clamp(2.8rem,8vw,3.7rem)}.story-art{max-width:490px;margin:auto}.story-quote{padding:47px 7%}.story-quote blockquote{font-size:3rem}.story-values{padding-top:50px;padding-bottom:45px}.story-values>h2{font-size:2.5rem}
 .contact-opening{padding-top:53px;padding-bottom:37px}.contact-title{font-size:clamp(2.8rem,8vw,3.6rem)}.contact-opening p{font-size:18px}.contact-grid{grid-template-columns:1fr;padding-top:5px;padding-bottom:50px}.contact-card{padding:31px}.contact-card h2{font-size:29px}.channel-symbol{margin-bottom:23px}.contact-prep{padding-top:45px;padding-bottom:50px}.contact-prep h2{font-size:2.5rem}
 .footer-brand-row{flex-direction:column;gap:28px}.footer-nav{justify-content:flex-start;max-width:none;gap:15px 23px}.footer-bottom-row{flex-direction:column;align-items:flex-start;gap:13px}.site-footer{gap:27px;padding-top:43px}.footer-bottom-row p{font-size:14px}
}
@media(max-width:400px){.page-intro h1,.story-title,.contact-title{font-size:2.8rem}.intro-photo{height:330px}.destination-body{padding:24px}.destination-card>img{aspect-ratio:1.3}.page-cta{padding:30px 24px}.page-cta h2{font-size:2.1rem}.page-cta .button{font-size:14px;gap:12px;padding:15px 19px}.photo-hero h1{font-size:3.1rem}.photo-hero p{font-size:17px}.contact-card{padding:27px}.prep-list{grid-template-columns:1fr;gap:24px}.contact-card .button{font-size:14px;padding:15px 21px}}
@media(prefers-reduced-motion:reduce){.experience-item[href]:hover{transform:none}}

/* Full-width image openings sit underneath the shared fixed navigation. */
.inner-page .photo-hero {
  width:100%;
  min-height:clamp(620px,80svh,840px);
  margin:0;
  padding:0;
  background:#123f48;
}
.inner-page .photo-hero>img { z-index:0; object-position:var(--hero-focus,50% 50%); }
.inner-page .photo-hero:before {
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,#0009,transparent 34%),linear-gradient(90deg,#071f2ec9,#092d457a 58%,#092d4530);
}
.inner-page .photo-hero>.section-shell {
  position:relative;
  z-index:2;
  min-width:0;
  padding-top:calc(var(--header-height,100px) + env(safe-area-inset-top,0px) + 80px);
  padding-bottom:90px;
}
.inner-page .photo-hero h1 {
  max-width:900px;
  font-size:clamp(3.5rem,5.8vw,5.6rem);
  line-height:1.13;
  text-wrap:balance;
  overflow-wrap:break-word;
}
.inner-page .photo-hero h1 em { color:#ff9900; }
.inner-page .photo-hero p { max-width:560px; color:#fff; font-size:19px; }
.inner-page .photo-hero .button { max-width:100%; }
.hero-destinos { --hero-focus:60% 45%; }
.hero-nosotros { --hero-focus:55% 46%; }
.hero-contacto { --hero-focus:70% 65%; }
.story-opening .story-copy>h2 { margin-bottom:26px; }
.story-opening .story-copy>h2 em { color:#bb6600; }
.photo-hero+.contact-grid { padding-top:70px; }

@media(max-width:960px) {
 .inner-page .photo-hero { min-height:clamp(600px,78svh,780px); }
 .inner-page .photo-hero>.section-shell { padding-top:calc(var(--header-height,88px) + env(safe-area-inset-top,0px) + 65px);padding-bottom:75px; }
 .inner-page .photo-hero h1 { font-size:clamp(3.3rem,7vw,4.8rem); }
}
@media(max-width:720px) {
 .inner-page .photo-hero { min-height:600px; }
 .inner-page .photo-hero>.section-shell { padding-top:calc(var(--header-height,88px) + env(safe-area-inset-top,0px) + 58px);padding-bottom:66px;padding-left:6%;padding-right:6%; }
 .inner-page .photo-hero h1 { font-size:clamp(2.7rem,9vw,4rem);line-height:1.15;letter-spacing:-.045em; }
 .inner-page .photo-hero p { font-size:18px;line-height:1.75;max-width:490px; }
 .inner-page .photo-hero:before { background:linear-gradient(180deg,#0009,transparent 34%),linear-gradient(90deg,#071f2ecc,#092d4599); }
 .hero-destinos { --hero-focus:70% 50%; }
 .hero-cruceros { --hero-focus:62% 50%; }
 .hero-nosotros { --hero-focus:61% 45%; }
 .hero-contacto { --hero-focus:82% 50%; }
 .photo-hero+.contact-grid { padding-top:45px; }
 .story-opening .story-copy>h2 { font-size:2.5rem; }
}
@media(max-width:400px) {
 .inner-page .photo-hero h1 { font-size:2.7rem; }
 .inner-page .photo-hero p { font-size:17px; }
 .inner-page .photo-hero .button { gap:14px;padding:16px 20px;font-size:14px; }
}
