@import url('https://fonts.googleapis.com/css2?family=Prata&family=Jost:wght@400;500;600&display=swap');
:root{--navy:#123347;--blue:#dceef2;--paper:#faf9f5;--muted:#536975;--line:#c9d7db;--gold:#bc8549;--serif:Prata,Georgia,serif;--sans:Jost,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--navy);font:400 16px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #aa7944;outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}em{font-style:normal;color:#7b684d}.skip{position:absolute;top:-100px;background:white;z-index:10;padding:15px}.skip:focus{top:0}header{padding:27px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);max-width:1600px;margin:auto}.brand{display:flex;align-items:center;gap:14px;font:400 28px/1.1 var(--serif);white-space:nowrap}.brand small{display:block;font:500 10px/1.6 var(--sans);letter-spacing:.29em;margin-top:9px}.brand-mark{border:1px solid var(--navy);border-radius:50%;width:49px;height:49px;display:grid;place-items:center;font-size:23px}nav{display:flex;gap:28px;font-size:14px}nav a:hover{color:#7b684d}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;min-height:54px;background:var(--navy);border:1px solid var(--navy);color:white;font:500 14px/1.5 var(--sans);letter-spacing:.03em;text-align:center;transition:background .2s}.button:hover{background:#28516a}.hero{max-width:1600px;margin:auto;padding:54px 5% 72px;display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.19em;margin-bottom:24px}.hero h1{font-size:clamp(56px,6.2vw,94px);line-height:1.03;letter-spacing:-.04em}.lead{max-width:470px;font-size:17px;line-height:1.8;color:var(--muted);margin:28px 0 32px}.hero-facts{display:flex;gap:34px;margin-top:46px;color:var(--muted);font-size:12px}.hero-facts span{display:flex;gap:10px;align-items:center}.hero-facts strong{font:400 34px var(--serif);color:var(--navy)}.hero-photo{margin:0;position:relative;border-radius:220px 220px 18px 18px;overflow:hidden;background:var(--blue)}.hero-photo img{width:100%;height:650px;object-fit:cover;object-position:center 67%}.hero-photo figcaption{position:absolute;bottom:22px;left:20px;right:20px;background:#123347e6;color:#fff;padding:14px;text-align:center;font-size:10px;letter-spacing:.18em}.coastline{display:flex;justify-content:space-between;align-items:center;padding:26px 7%;gap:25px;background:var(--blue)}.coastline>span:first-child{font-size:10px;letter-spacing:.16em}.coastline>span:last-child{font-family:var(--serif);font-size:25px}.coastline i{font-style:normal;margin:0 12px}.section{padding:95px 7%;max-width:1600px;margin:auto}h2{font-size:clamp(44px,4.5vw,66px);letter-spacing:-.03em}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:48px}.section-heading>p{color:var(--muted);max-width:370px;font-size:15px}.tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.tour{border:1px solid var(--line);padding:30px 25px;display:flex;flex-direction:column}.tour-label{font-size:10px;letter-spacing:.14em;margin-bottom:25px}.tour h3{font-size:38px;letter-spacing:-.025em}.tour-intro{font-size:14px;line-height:1.8;color:var(--muted);margin:22px 0 30px}.price{font:400 48px/1.1 var(--serif);margin-top:auto}.price span{display:block;font:400 12px var(--sans);margin-top:8px}.tour ul{list-style:none;padding:0;margin:26px 0 15px;border-top:1px solid var(--line)}.tour li{font-size:13px;padding:11px 0;border-bottom:1px solid var(--line)}.departure{font-size:12px;color:var(--muted);min-height:45px;margin-bottom:22px}.tour .button{width:100%}.sunset{background:var(--navy);color:white;border-color:var(--navy)}.sunset .tour-intro,.sunset .departure{color:#d4e0e5}.sunset li,.sunset ul{border-color:#ffffff35}.sunset .button{background:#e6d8bd;color:var(--navy);border-color:#e6d8bd}.sunset .button:hover{background:#f5e8cf}.onboard{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#e8eff0}.onboard-details article{display:flex;gap:25px;padding:23px 0;border-top:1px solid #b7c9d1}.onboard-details article>span{font-size:11px;padding-top:8px}.onboard-details h3{font-size:29px}.onboard-details p{font-size:14px;color:var(--muted);margin-top:10px}.plan{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.plan-copy>p:not(.eyebrow){color:var(--muted);font-size:16px;margin:25px 0}.phone{display:inline-block;border-bottom:1px solid var(--line);padding-bottom:7px}.booking{padding:36px;background:white;border:1px solid var(--line)}.booking label{display:block;font-size:13px;margin-bottom:9px}.booking select,.booking input{border:1px solid #a5bac5;background:white;color:var(--navy);padding:13px;width:100%;min-width:0;border-radius:0;font-size:16px;min-height:52px}.booking-fields{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-top:22px}.booking-fields>div{min-width:0}.booking-total{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:23px;margin-top:28px;gap:20px}.booking-total span{font-size:13px}.booking-total strong{font:400 40px var(--serif)}#booking-note{font-size:12px;color:var(--muted);margin:12px 0 24px}.booking .button{width:100%;cursor:pointer}.booking-small{font-size:11px;color:var(--muted);text-align:center;margin-top:14px}.questions{display:grid;grid-template-columns:1fr 1.35fr;gap:8%;border-top:1px solid var(--line);padding-top:70px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{cursor:pointer;font-size:16px;font-weight:500;line-height:1.5;padding-right:12px}.faq p{font-size:14px;color:var(--muted);margin-top:18px}footer{background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:46px 7%}footer>div{font-size:13px;line-height:2}footer>p{font-size:11px;color:#c7d5dc}
@media(min-width:1600px){.onboard{max-width:none;padding-left:max(7%,calc((100vw - 1376px)/2));padding-right:max(7%,calc((100vw - 1376px)/2))}}
@media(max-width:1100px){header{flex-wrap:wrap}.brand{font-size:25px}nav{gap:18px}.header-book{padding:12px 18px}.tour-grid{gap:14px}.tour{padding:25px 19px}.tour h3{font-size:32px}.tour .button{padding:14px 10px}.hero-photo img{height:580px}.plan{gap:5%}.booking{padding:25px}.hero-facts{gap:20px}}
@media(max-width:800px){header{padding:23px 6%;gap:20px}nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:18px;font-size:13px}.header-book{font-size:12px}.brand-mark{display:none}.hero{grid-template-columns:1fr;padding:42px 6% 55px;gap:38px}.hero h1{font-size:clamp(52px,10vw,76px)}.lead{max-width:540px}.hero-facts{margin-top:30px}.hero-photo{border-radius:130px 130px 14px 14px}.hero-photo img{height:540px;object-position:center 70%}.coastline{flex-direction:column;gap:8px;padding:23px 6%}.coastline>span:last-child{font-size:24px}.section{padding:64px 6%}.section-heading{display:block}.section-heading>p{margin-top:22px}.tour-grid{grid-template-columns:1fr;gap:24px}.tour{padding:30px}.tour h3{font-size:42px}.tour-intro{font-size:16px;max-width:500px}.tour li{font-size:15px}.departure{min-height:0;font-size:13px}.tour-label{font-size:12px}.onboard,.plan,.questions{grid-template-columns:1fr;gap:35px}.onboard-details p{font-size:15px}.booking{padding:28px}.questions{padding-top:55px}.booking-small{font-size:12px}footer{flex-direction:column;align-items:flex-start;gap:25px;padding:40px 6%}}
@media(max-width:400px){.brand{font-size:24px}.header-book{padding:10px 12px;min-height:46px}.hero-photo img{height:430px}.hero-photo figcaption{font-size:9px;letter-spacing:.1em}.coastline>span:last-child{font-size:21px}.coastline i{margin:0 4px}.booking{padding:22px}.booking-fields{grid-template-columns:1fr}.tour{padding:25px}h2{font-size:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Prata title proportions with Jost for reading and controls. */
.hero h1{font-size:clamp(48px,5.3vw,80px);line-height:1.14;letter-spacing:-.035em}
.brand{font-size:25px}
.tour h3{font-size:32px;line-height:1.22}
.onboard-details h3{font-size:26px;line-height:1.3}
@media(max-width:1100px){.tour h3{font-size:28px}.brand{font-size:23px}}
@media(max-width:800px){.hero h1{font-size:clamp(43px,8vw,64px)}.tour h3{font-size:34px}}
@media(max-width:400px){.hero h1{font-size:40px}.brand{font-size:21px}h2{font-size:36px}.tour h3{font-size:30px}}

/* A two-line Prata wordmark, with a restrained blue-grotto signature. */
header .brand,footer .brand{display:inline-flex;gap:0;white-space:normal;max-width:100%;font-size:26px}
.brand-wordmark{display:flex;flex-direction:column;align-items:center}
.brand-name{font-family:var(--serif);font-weight:400;line-height:1.3;letter-spacing:-.035em;white-space:nowrap}
header .brand small,footer .brand small{font-family:var(--sans);font-weight:400;font-size:11px;line-height:1.5;letter-spacing:.085em;margin-top:10px;padding-top:9px;border-top:1px solid #ad926b;text-align:center;white-space:nowrap}
header{display:grid;grid-template-columns:auto 1fr auto}
header nav{justify-content:center}
@media(max-width:1100px){header{grid-template-columns:1fr auto;gap:20px 25px}header nav{grid-column:1/-1;grid-row:2;border-top:1px solid var(--line);padding-top:18px;width:100%}.header-book{grid-column:2;grid-row:1}header .brand,footer .brand{font-size:25px}}
@media(max-width:560px){header{display:flex;flex-direction:column;align-items:center;gap:19px}header nav{order:2;flex-wrap:wrap;gap:12px 22px}.header-book{order:3}header .brand,footer .brand{font-size:24px}header .brand small,footer .brand small{font-size:10px;letter-spacing:.075em}}
@media(max-width:350px){header .brand,footer .brand{font-size:22px}header .brand small,footer .brand small{font-size:10px;letter-spacing:.025em}}

/* Photography service */
.photography-service{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(28px,6vw,85px);padding:72px 6%;border-top:1px solid var(--line,#d6dcda);border-bottom:1px solid var(--line,#d6dcda)}
.photography-service .eyebrow{font-size:14px;letter-spacing:.12em;margin:0 0 22px}.photography-service h2{font-size:clamp(32px,3.5vw,54px);line-height:1.2;margin:0}.photography-copy{min-width:0}.photography-copy>p{font-size:16px;line-height:1.8;margin:0 0 20px}.photography-copy .photography-price{font-size:30px;font-weight:500}.photography-price span{font-size:16px}.photography-button{display:inline-flex;justify-content:center;text-align:center;align-items:center;min-height:48px;padding:15px 24px;background:#123347;color:#fff;border:1px solid #123347;font:inherit;font-size:14px;line-height:1.5}.photography-button:hover{background:#234c61}.photography-copy .photography-contact{font-size:14px;margin:18px 0 0}.photography-contact a,.photography-link{text-decoration:underline;text-underline-offset:4px}.photography-option{border-top:1px solid var(--line,#d6dcda);margin:24px 0 0;padding:18px 0 0;min-width:0}.photography-option p{font:inherit;font-size:14px;line-height:1.7;margin:0 0 10px}.photography-option strong{font-weight:600}.photography-option .photography-link{display:inline-block;padding:10px 0;font-size:14px;line-height:1.6}.photography-service a:focus-visible,.photography-option a:focus-visible{outline:3px solid #bc8549;outline-offset:4px}@media(max-width:700px){.photography-service{grid-template-columns:1fr;padding:48px 6%;gap:26px}.photography-button{width:100%}}

/* Nautilus shell brand mark */
header .brand,footer .brand{gap:14px}
.brand-shell{display:block;flex:0 0 46px;width:46px;height:46px;overflow:visible;color:inherit}
.brand-wordmark{min-width:0}
@media(max-width:560px){header .brand,footer .brand{gap:10px}.brand-shell{flex-basis:36px;width:36px;height:36px}header .brand,footer .brand{font-size:22px}}
@media(max-width:350px){header .brand,footer .brand{gap:8px;font-size:20px}.brand-shell{flex-basis:30px;width:30px;height:30px}header .brand small,footer .brand small{font-size:9px;letter-spacing:.01em}}

/* Keep native date controls inside their column, including iOS Safari. */
form,.booking,.plan>*,.fields>*,.booking-fields>*{min-width:0;max-width:100%}
.booking input,.booking select,.booking textarea,input[type="date"]{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%}
input[type="date"]{-webkit-appearance:none;appearance:none;min-height:52px}
input[type="date"]::-webkit-date-and-time-value{min-width:0;text-align:left}
input[type="date"]::-webkit-datetime-edit{min-width:0;padding:0}
.fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.booking-fields{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.booking-total,.quote>div{flex-wrap:wrap}
@media(max-width:640px){
 .fields,.booking-fields{grid-template-columns:minmax(0,1fr);gap:20px}
 .booking input,.booking select,.booking textarea{font-size:16px}
}

/* Rounded photography and aligned private charter presentation. */
main img,.hero-photo{border-radius:35px}
#private-boats .aq-card{align-items:stretch}
#private-boats .aq-card-image{display:block;min-width:0;border-radius:35px;overflow:hidden}
#private-boats .aq-card-image img{width:100%;height:100%;object-fit:cover;object-position:center}
#private-boats .aq-card-copy{display:flex;flex-direction:column;align-items:flex-start}
#private-boats .aq-card-copy .button{margin-top:auto}
@media(max-width:800px){#private-boats .aq-card-image img{height:auto}#private-boats .aq-card-copy .button{margin-top:0}}

/* Complete private fleet, with each partner offer kept distinct. */
#private-boats .aq-card + .aq-card{margin-top:72px;padding-top:72px;border-top:1px solid var(--line)}
#private-boats .aq-card-image img{min-height:100%;aspect-ratio:3/2}
#private-boats .fleet-offers{margin-top:auto;width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
#private-boats .fleet-offers p{font-size:14px;margin:0}
#private-boats .fleet-offers .button{margin-top:0;white-space:normal}
#private-boats .fleet-secondary{font-size:14px;line-height:1.7;text-decoration:underline;text-underline-offset:5px;padding:8px 0}
@media(max-width:800px){#private-boats .aq-card + .aq-card{margin-top:48px;padding-top:48px}#private-boats .aq-card-image img{min-height:0;aspect-ratio:auto}}

/* Align every boat title and final action with the photograph edges. */
#private-boats .aq-card{align-items:stretch}
#private-boats .aq-card-image{position:relative;min-height:320px;align-self:stretch}
#private-boats .aq-card-image img{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;border-radius:35px}
#private-boats .aq-card-copy{align-self:stretch;min-height:320px;padding:0}
#private-boats .aq-card-copy h3{order:-1;margin:0 0 18px}
#private-boats .aq-card-copy>.eyebrow{margin:0 0 20px}
#private-boats .aq-card-copy>.button{margin-top:auto;margin-bottom:0}
#private-boats .fleet-offers{margin-top:auto;padding:0;gap:14px}
#private-boats .fleet-offers>p{order:0}
#private-boats .fleet-offers>.fleet-secondary{order:1;padding-bottom:0}
#private-boats .fleet-offers>.button{order:2;margin:0}
@media(max-width:800px){
 #private-boats .aq-card-image{min-height:0}
 #private-boats .aq-card-image img{position:static;height:auto;min-height:0}
 #private-boats .aq-card-copy{min-height:0}
 #private-boats .aq-card-copy>.button{margin-top:0}
}
