@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#073f53;--blue:#008eb7;--aqua:#eaf8fa;--yellow:#ffe132;--pink:#ee479a;--muted:#6b7f86;--line:#dfe9eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font:14px/1.7 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}img{width:100%;object-fit:cover;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}h1,h2{font-weight:600;letter-spacing:-2px;line-height:1.13}em{font-family:'DM Serif Display',Georgia,serif;font-weight:400}h2{font-size:43px}h3{font-weight:700;line-height:1.3}.container{max-width:1240px;width:calc(100% - 96px);margin:auto}header{position:sticky;top:0;background:#fffffff5;backdrop-filter:blur(15px);z-index:20;border-bottom:1px solid #e8eff0}.nav{display:flex;align-items:center;justify-content:space-between;height:98px;gap:25px}.brand{display:flex;gap:11px;align-items:center;font-family:Manrope,sans-serif;font-weight:800;font-size:15px;white-space:nowrap;letter-spacing:.3px}.brand img{width:59px;height:59px;border-radius:50%}.brand small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:2px;font-weight:500;margin-top:3px;color:var(--blue)}nav{display:flex;gap:29px;font-size:12px;font-weight:600}.nav-tools{display:flex;align-items:center;gap:22px}.languages{display:flex;gap:7px;font-size:10px;color:#8899a0}.languages a[aria-current]{color:var(--ink);font-weight:800}.button{background:var(--blue);color:#fff;display:inline-flex;gap:30px;align-items:center;justify-content:space-between;border:0;border-radius:6px;padding:17px 24px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#057597;transform:translateY(-2px)}.button span{font-size:18px;line-height:1}.nav-book{font-size:11px;padding:13px 18px;gap:15px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1.08fr;gap:55px;align-items:center;padding-top:36px;padding-bottom:56px;min-height:700px}.kicker{font-size:9px;font-weight:700;letter-spacing:2px;color:var(--blue);text-transform:uppercase;display:flex;align-items:center;gap:9px;margin-bottom:20px}.kicker i{display:inline-block;width:6px;height:6px;background:var(--pink);border-radius:50%}h1{font-size:63px;line-height:1.08;letter-spacing:-2.6px;margin-bottom:23px}h1 em{color:var(--blue)}.hero-copy>p{font-size:13px;line-height:1.9;color:var(--muted);max-width:370px;margin-bottom:26px}.hero .button{background:var(--ink);padding:18px 22px}.underlink{font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:space-between;max-width:250px;margin-top:16px;padding:3px 0;gap:26px}.hero .underlink{max-width:248px}.hero-foot{display:flex;gap:12px;align-items:center;margin-top:39px;font-size:10px;color:var(--muted);line-height:1.7}.hero-foot b{color:var(--ink);font-weight:500}.sun{color:var(--blue);font-size:32px}.hero-visual{position:relative;height:585px;padding-bottom:0}.main-photo{height:100%;border-radius:16px 16px 100px 16px;object-position:68% center}.photo-tag{position:absolute;top:20px;left:20px;background:#ffffffeb;padding:8px 13px;border-radius:5px;font-size:7px;font-weight:700;letter-spacing:1px}.photo-tag i{width:5px;height:5px;display:inline-block;background:var(--pink);border-radius:50%;margin-right:5px}.sunset-card{position:absolute;left:-40px;bottom:27px;background:white;box-shadow:0 15px 40px #003f5125;padding:7px;border-radius:10px;width:215px;transform:rotate(-4deg)}.sunset-card img{height:120px;border-radius:6px;object-position:center 55%}.sunset-card>span{display:block;padding:10px 9px 7px;font-size:10px;font-weight:700}.sunset-card b{display:block;font-weight:400;color:var(--muted);font-size:9px;margin-top:3px}.vertical-text{position:absolute;right:-21px;top:90px;writing-mode:vertical-rl;font-size:7px;letter-spacing:2.5px;color:var(--muted)}.booking{border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 40px #07415308;padding:24px 28px;margin-bottom:20px}.booking-title{display:flex;align-items:center;gap:24px;margin-bottom:20px}.booking-title small{color:var(--blue);font-size:8px;letter-spacing:1.5px;font-weight:800}.booking-title h2{font-size:17px;letter-spacing:-.4px}.booking form{display:grid;grid-template-columns:1.15fr 1fr .65fr 1.15fr;align-items:end;gap:18px}.booking label{font-size:9px;color:var(--muted)}.booking input,.booking select{height:45px;border:1px solid var(--line);background:#fcfefe;color:var(--ink);padding:10px 12px;font-size:11px;border-radius:5px;display:block;width:100%;margin-top:5px}.booking .button{height:45px;font-size:10px;padding:12px 18px;gap:15px}.booking>p{font-size:9px;color:var(--muted);margin-top:14px}.section{padding-top:90px;padding-bottom:35px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:35px}.section-top>p,.section-aside p{font-size:12px;color:var(--muted);max-width:260px;line-height:1.8}.section-top h2 em{color:var(--blue)}.section-top .kicker{margin-bottom:15px}.trips{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.trip{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:white;transition:transform .25s}.trip:hover{transform:translateY(-5px)}.trip>img{height:260px}.trip-info{padding:23px}.trip small{font-size:8px;letter-spacing:1.4px;font-weight:800;color:var(--blue)}.trip h3{font-size:19px;letter-spacing:-.6px;margin:13px 0 12px}.trip p{font-size:11px;line-height:1.9;color:var(--muted);min-height:42px}.line-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;color:var(--blue);font-size:10px;font-weight:700;margin-top:20px}.trip .line-link{border-top:1px solid var(--line);padding-top:16px;width:100%}.line-link span{font-size:17px}.caption{font-size:8px;color:var(--muted);margin-top:18px}.about-band{background:var(--aqua);margin-top:65px;padding:75px 0}.about{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about-picture{position:relative;height:515px}.about-picture>img{height:100%;border-radius:10px 85px 10px 10px;object-position:center 62%}.picture-stamp{position:absolute;bottom:-19px;right:-20px;border:7px solid var(--aqua);background:var(--yellow);height:110px;width:110px;border-radius:50%;display:flex;justify-content:center;align-items:center;text-align:center;line-height:1.3;font-size:11px;font-weight:800;transform:rotate(9deg)}.picture-stamp>span{font-size:28px;margin-left:4px}.about-copy>.kicker{font-size:8px;letter-spacing:1.5px}.about h2{font-size:43px}.about h2 em{color:var(--blue)}.about-copy>p{font-size:12px;color:var(--muted);margin-top:22px;line-height:1.95;max-width:420px}.benefits{display:flex;flex-direction:column;gap:20px;margin-top:25px}.benefits>div{display:flex;align-items:center;gap:13px}.benefits>div>span{background:#fff;border-radius:50%;width:37px;height:37px;display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:19px}.benefits h3{font-size:12px}.benefits p{font-size:10px;color:var(--muted);margin-top:3px}.about-copy .underlink{color:var(--blue);margin-top:25px}.gallery{display:grid;grid-template-columns:1.2fr 1fr .85fr 1fr;gap:16px;align-items:start}.photo{border:0;padding:0;position:relative;background:transparent;border-radius:9px;overflow:hidden}.photo>img{height:310px;transition:transform .5s}.photo:hover img{transform:scale(1.04)}.photo-1,.photo-3{margin-top:36px}.photo-2 img{object-position:60% center}.photo>span{position:absolute;bottom:12px;right:12px;background:#fff;border-radius:50%;width:29px;height:29px;line-height:29px;color:var(--ink)}.section-aside .line-link{margin-top:12px}.faq{display:grid;grid-template-columns:1fr 1.25fr;gap:90px;padding-bottom:70px}.faq h2{font-size:39px}.faq>div>p{font-size:12px;color:var(--muted);max-width:260px;margin-top:20px}.faq h2 em{color:var(--blue)}.questions{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;gap:17px;align-items:center;padding:22px 0;cursor:pointer;font-size:12px;font-weight:600}summary::-webkit-details-marker{display:none}summary>span{color:var(--blue);font-size:8px;font-weight:800}summary>b{margin-left:auto;color:var(--blue);font-size:19px;font-weight:400}details[open] summary>b{transform:rotate(45deg)}details p{font-size:11px;color:var(--muted);line-height:1.9;padding:0 27px 22px}.final-cta{position:relative;overflow:hidden;isolation:isolate;border-radius:12px;background:var(--ink);color:white;padding:50px 55px;margin-bottom:80px}.final-cta>img{position:absolute;inset:0;height:100%;z-index:-2;object-position:center 57%;opacity:.6}.final-cta:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#003a52ed,#003a5280 55%,#003a5210)}.final-cta .kicker{color:#a4e8f5;font-size:8px}.final-cta h2{font-size:53px}.final-cta h2 em{color:var(--yellow)}.final-cta p{color:#d7eaef;font-size:12px;margin:20px 0}.button.yellow{background:var(--yellow);color:var(--ink)}.cta-sun{position:absolute;right:60px;top:45px;color:#ffdf4288;font-size:120px;font-weight:400;line-height:1}footer{border-top:1px solid var(--line);background:#f8fbfc;padding-top:45px}.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}.footer-top h3{font-size:11px;margin-bottom:14px}.footer-top>div>a{display:block;font-size:10px;color:var(--muted);margin:8px 0}.footer-top>div>a span{margin-left:9px}.footer-phrase{font-size:23px;line-height:1.3;color:var(--ink)}.footer-phrase em{color:var(--blue)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:35px;padding:20px 0;font-size:8px;color:var(--muted)}.floating{position:fixed;bottom:22px;right:22px;height:54px;width:54px;border-radius:50%;border:3px solid white;color:white;background:var(--blue);display:flex;align-items:center;justify-content:center;box-shadow:0 5px 20px #003f5125;z-index:22}dialog{padding:0;background:transparent;border:0;overflow:visible;max-width:90vw;max-height:90vh}dialog::backdrop{background:#002b3bdf}dialog img{object-fit:contain;max-height:84vh;max-width:85vw;border-radius:10px}.close{position:absolute;right:0;top:-45px;background:none;border:0;color:white;font-size:36px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:5px}@media(min-width:1500px){.hero{gap:70px}.hero-visual{height:620px}h1{font-size:68px}}@media(max-width:1100px){.container{width:calc(100% - 64px)}.nav{gap:15px}nav{gap:17px}.nav-tools{gap:15px}.brand{font-size:12px}.brand img{width:49px;height:49px}.nav-book{font-size:9px;padding:12px}.hero{gap:35px}h1{font-size:53px}.hero-visual{height:560px}.sunset-card{left:-20px;width:185px}.about{gap:50px}.about h2{font-size:36px}h2{font-size:37px}.trip h3{font-size:16px}.trip-info{padding:18px}.footer-top{gap:25px}.faq{gap:45px}}@media(max-width:760px){html{scroll-padding-top:85px}.container{width:calc(100% - 36px)}.nav{height:80px;gap:10px}.brand{font-size:12px;gap:9px}.brand img{height:47px;width:47px}.brand small{font-size:7px;letter-spacing:1.3px}.nav-book{display:none}.nav-tools{gap:17px}.menu{display:block;background:none;border:0;color:var(--ink);font-size:22px;padding:0}.languages{font-size:10px;gap:5px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:25px;box-shadow:0 15px 15px #003a5010}nav.open{display:flex;flex-direction:column;gap:23px}.hero{grid-template-columns:1fr;gap:30px;padding-top:36px;padding-bottom:48px;min-height:auto}.hero .kicker{font-size:8px;letter-spacing:1.6px;margin-bottom:19px}h1{font-size:49px;line-height:1.09;letter-spacing:-2px;margin-bottom:19px}.hero-copy>p{font-size:12px;line-height:1.9;max-width:345px;margin-bottom:22px}.hero .button{font-size:11px;padding:16px 20px;gap:30px}.hero .underlink{font-size:10px;max-width:230px;margin-top:13px}.hero-foot{display:none}.hero-visual{height:380px;width:100%;margin-bottom:10px}.main-photo{border-radius:12px 12px 65px 12px;object-position:65% center}.photo-tag{top:14px;left:14px;font-size:6px;padding:7px 9px}.sunset-card{width:158px;left:14px;bottom:-17px;padding:5px;transform:rotate(-5deg)}.sunset-card img{height:80px}.sunset-card>span{font-size:8px;padding:7px 5px}.sunset-card b{font-size:7px}.vertical-text{right:9px;top:45px;color:white;font-size:6px;letter-spacing:1.5px}.booking{padding:22px 18px;margin-bottom:0}.booking-title{display:block;margin-bottom:18px}.booking-title small{font-size:8px}.booking-title h2{font-size:17px;margin-top:6px}.booking form{grid-template-columns:1fr 1fr;gap:15px 12px}.booking form>label:first-child{grid-column:1/-1}.booking form>.button{grid-column:1/-1;font-size:11px}.booking>p{font-size:8px;line-height:1.7}.section{padding-top:55px;padding-bottom:12px}.section-top{display:block;margin-bottom:25px}.kicker{font-size:8px;letter-spacing:1.4px;margin-bottom:14px}h2{font-size:31px;letter-spacing:-1.1px}.section-top>p{font-size:11px;max-width:310px;margin-top:16px}.trips{grid-template-columns:1fr;gap:22px}.trip>img{height:260px}.trip-info{padding:23px}.trip small{font-size:8px}.trip h3{font-size:20px;margin:12px 0}.trip p{font-size:12px;min-height:0}.trip .line-link{font-size:11px;padding-top:14px;margin-top:18px}.caption{font-size:8px;line-height:1.8}.about-band{margin-top:42px;padding:42px 0}.about{grid-template-columns:1fr;gap:43px}.about-picture{height:330px;width:calc(100% - 12px)}.picture-stamp{height:95px;width:95px;font-size:10px;bottom:-20px;right:-12px}.about h2{font-size:34px}.about-copy>.kicker{font-size:7px;letter-spacing:1px}.about-copy>p{font-size:12px;margin-top:18px}.benefits{gap:19px}.benefits h3{font-size:12px}.benefits p{font-size:10px}.gallery-section .section-aside{margin-top:18px}.section-aside p{font-size:11px;max-width:290px}.gallery{grid-template-columns:1fr 1fr;gap:12px}.photo>img{height:225px}.photo-1,.photo-3{margin-top:22px}.photo-2{margin-top:-10px}.faq{grid-template-columns:1fr;gap:27px;padding-bottom:44px}.faq h2{font-size:32px}.faq>div>p{font-size:11px;margin-top:16px}.faq .line-link{margin-top:15px}.questions summary{font-size:11px;gap:13px;padding:20px 0}details p{font-size:11px;padding:0 20px 20px 25px}.final-cta{padding:32px 25px;margin-bottom:43px}.final-cta h2{font-size:39px}.final-cta .kicker{font-size:7px;letter-spacing:1px}.final-cta p{font-size:11px;max-width:230px}.final-cta .button{font-size:11px;padding:15px 19px}.cta-sun{right:20px;top:31px;font-size:60px;opacity:.65}.footer-top{grid-template-columns:1fr 1fr;gap:25px}.footer-top>.brand{grid-column:1/-1;font-size:14px}.footer-phrase{grid-column:1/-1;font-size:24px;margin-top:5px}.footer-bottom{font-size:7px;gap:15px;margin-top:25px}.floating{height:50px;width:50px;right:15px;bottom:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Catalogue and boarding information */
#experiencias h2,#barcos h2,#galeria h2{margin-bottom:26px}
.trips{align-items:stretch}
.trip{display:flex;flex-direction:column}
.trip-info{display:flex;flex-direction:column;flex:1;align-items:flex-start;gap:8px}
.trip h3{margin:3px 0;font-size:21px}
.trip p{min-height:0;font-size:13px}
.trip .price{font-size:24px;color:var(--ink);margin-bottom:4px}
.trip .extra{font-weight:600;margin-bottom:10px}
.trip .button{margin-top:auto;width:100%;padding:12px 14px}
.catalog-note,.catalog-intro{margin-top:18px;color:var(--muted);max-width:760px}
.catalog-highlight{background:var(--aqua);margin-top:50px;padding:55px 0}
.catalog-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,5vw,70px);align-items:center}
.catalog-split img{height:330px;border-radius:15px;object-position:center 54%}
.catalog-split p{margin:14px 0;color:var(--muted)}
.catalog-split .button{margin-top:8px}
.fleet-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.fleet-grid img{height:300px;border-radius:12px;object-position:center 52%}
.gallery-subtitle{margin:26px 0 15px}
#galeria .gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
#galeria .gallery:last-child{grid-template-columns:repeat(3,minmax(0,1fr))}
.embark{display:flex;gap:20px;align-items:center;justify-content:space-between;background:var(--aqua);padding:32px;border-radius:14px;margin-top:45px}
.embark h2{font-size:clamp(26px,4vw,41px)}
.embark p{margin-top:8px;color:var(--muted)}
.embark .button{flex-shrink:0}
.faq .button{margin-top:20px}
.booking label{font-size:11px}
#experience{max-width:100%}
@media(max-width:760px){
 .catalog-split,.fleet-grid{grid-template-columns:1fr}
 .catalog-highlight{padding:30px 0;margin-top:32px}
 .catalog-split img,.fleet-grid img{height:235px}
 #galeria .gallery,#galeria .gallery:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}
 .embark{display:block;padding:24px;margin-top:35px}
 .embark .button{margin-top:15px}
}

/* Palette from the Pier do Canto logo */
:root {
  --ink: #003b70;
  --blue: #0066aa;
  --aqua: #defaff;
  --yellow: #ffdb00;
  --pink: #ff3997;
  --cyan: #00d7ef;
  --deep-blue: #00366c;
  --muted: #46647b;
  --line: #cce8f3;
}

body { background: #f9fdff; }
header { border-bottom: 3px solid var(--cyan); }
.brand small { color: var(--blue); }
.languages a[aria-current] {
  background: var(--aqua);
  border-radius: 5px;
  padding: 2px 5px;
}

.hero h1 em, .section h2 em, .footer-phrase em { color: var(--blue); }
.photo-tag { border-bottom: 3px solid var(--cyan); }
.sunset-card { border-bottom: 4px solid var(--yellow); }
.kicker i, .photo-tag i { background: var(--pink); }
.sun { color: var(--blue); }

.button, .hero .button, .button.yellow {
  color: var(--deep-blue);
  background: var(--yellow);
}
.button:hover, .hero .button:hover { background: #ffe962; }
.booking { background: white; border-top: 4px solid var(--cyan); }
.trip-info small {
  background: var(--aqua);
  border-radius: 5px;
  padding: 4px 9px;
}
.trip .price { color: var(--blue); }

.catalog-highlight {
  background: linear-gradient(115deg, #00366c, #00578c);
  color: white;
  border-top: 4px solid var(--cyan);
}
.catalog-highlight .kicker { color: var(--yellow); }
.catalog-highlight p { color: #e5f7ff; }
.embark {
  background: linear-gradient(110deg, #d8f9ff, #e9fcff);
  border-inline-start: 5px solid var(--cyan);
}
.final-cta { border-bottom: 4px solid var(--pink); }
.final-cta::after {
  background: linear-gradient(90deg, #00366cf5, #00366cb3 55%, #00366c33);
}
footer { background: var(--deep-blue); color: white; }
footer .brand small, footer .footer-phrase em { color: var(--cyan); }
footer .footer-top > div > a, footer .footer-bottom { color: #d5f2fb; }
footer .footer-phrase { color: white; }
footer .footer-bottom { border-color: #41759b; }
.floating { background: #0062a3; }

/* Site managed by the administration panel */
body { background: var(--site-background,#f9fdff); }
.button,.hero .button,.button.yellow { background:var(--yellow); color:var(--deep-blue); }
.button:hover,.hero .button:hover { background:color-mix(in srgb,var(--yellow) 82%,white); }
.catalog-highlight,footer { background:var(--deep-blue); }
.embark { background:var(--aqua); }
.floating { background:var(--blue); }
body[data-font="elegante"] { --cms-font: Georgia,serif; }
body[data-font="moderna"] { --cms-font: Arial,sans-serif; }
body[data-font="classica"] { --cms-font: Garamond,serif; }
body[data-font="leve"] { --cms-font: "Trebuchet MS",sans-serif; }
body[data-font]:not([data-font="original"]),body[data-font]:not([data-font="original"]) :is(h1,h2,h3,em,.brand) { font-family:var(--cms-font); }
.languages select { background:white; color:var(--ink); border:1px solid var(--line); padding:6px 8px; border-radius:6px; font-size:11px; max-width:120px; }
header nav { flex-wrap:wrap; column-gap:14px; row-gap:3px; }
.cms-section h2 { margin-bottom:22px; }
.cms-rates { width:100%; margin:3px 0 10px; font-size:12px; }
.cms-rates div { display:flex; gap:8px; justify-content:space-between; padding:7px 0; border-bottom:1px solid var(--line); }
.cms-rates dd { margin:0; font-weight:700; white-space:nowrap; }
.cms-reservation { padding:14px 16px; background:var(--aqua); border-inline-start:4px solid var(--cyan); margin-top:16px; border-radius:6px; }
.cms-reservation p { font-size:12px; margin:4px 0; color:var(--ink); }
.cms-video :is(video,iframe) { display:block; width:100%; aspect-ratio:16/9; border:0; background:var(--deep-blue); }
.cms-detail { margin-top:20px; max-width:760px; }
.cms-detail > img { height:clamp(180px,40vw,380px); }
.cms-detail h1 { font-size:clamp(27px,5vw,50px); }
.cms-preview { background:var(--yellow); color:var(--deep-blue); text-align:center; padding:8px; font-weight:700; font-size:12px; }
[hidden] { display:none!important; }
