@import url('https://fonts.googleapis.com/css2?family=Italiana&family=Manrope:wght@400;500;600&display=swap');
:root{--ink:#102c3c;--muted:#455963;--bronze:#746347;--line:#d8d8d0;--soft:#eeeae1;--paper:#f7f5ef;--font:Manrope,Arial,sans-serif;--display:Italiana,Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.9 var(--font);font-synthesis:none}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid var(--bronze);outline-offset:6px}p{margin:22px 0}img{display:block;max-width:100%}
header{max-width:1600px;margin:auto;padding:36px 5% 30px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;border-bottom:1px solid var(--line)}.wordmark{font:400 29px/1.2 var(--display);letter-spacing:.04em}.wordmark span{display:block;font:400 12px/2.7 var(--font);letter-spacing:.22em;color:var(--bronze)}header nav{grid-row:1;grid-column:2;display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;gap:clamp(14px,2vw,30px);font-size:13px;letter-spacing:.035em;white-space:nowrap}header>.button{grid-row:1;grid-column:3;justify-self:end;white-space:nowrap}nav a:hover,.text-link:hover{color:var(--bronze);text-decoration:underline;text-underline-offset:7px}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:56px;padding:17px 28px;font-size:14px;font-weight:500;letter-spacing:.055em;line-height:1.6;border:1px solid var(--ink);background:var(--ink);color:white;transition:background .2s,color .2s}.button:hover{background:#234650}.small{color:var(--ink);background:transparent;font-size:13px;padding:15px 24px}.small:hover{color:white}
main{max-width:1600px;margin:auto}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.2;margin:0;overflow-wrap:break-word}h1{font-size:clamp(42px,4.7vw,74px);letter-spacing:-.04em}h2{font-size:clamp(34px,3.5vw,54px);letter-spacing:-.03em}h3{font-size:30px;letter-spacing:-.02em}em{font-style:normal;font-weight:400;color:var(--bronze)}.eyebrow{font-size:12px;line-height:1.8;letter-spacing:.16em;font-weight:500;color:var(--bronze);margin:0 0 28px}
.hero{display:grid;grid-template-columns:1.02fr 1fr;align-items:center;gap:6%;padding:76px 5% 106px}.hero>div{min-width:0}.hero .intro{font-size:16px;color:var(--muted);margin:32px 0 36px;max-width:510px}.hero .intro br{display:none}figure{position:relative;margin:0 12px 0 0}.hero figure:before{content:'';position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--line);border-radius:220px 220px 12px 12px;z-index:-1}.hero figure{isolation:isolate}.hero figure img{width:100%;height:660px;object-fit:cover;object-position:48% center;border-radius:220px 220px 12px 12px}.hero figcaption{position:absolute;bottom:24px;left:24px;right:24px;padding:12px 14px;border:1px solid #ffffff85;background:#18231e75;color:white;font-size:12px;letter-spacing:.17em;text-align:center}
.signature{margin:0 5% 120px;padding:72px 0;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.signature>img,.signature-image img{width:100%;height:560px;object-fit:cover;border-radius:14px}.signature p{color:var(--muted)}.signature .eyebrow{color:var(--bronze)}.facts{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;color:var(--bronze);padding:8px 0 20px}.facts span{padding-bottom:9px;border-bottom:1px solid var(--line)}details{margin:12px 0 30px;font-size:15px}summary{cursor:pointer;color:var(--bronze);padding:8px 0;line-height:1.8}details p{font-size:15px}
.catalog{padding:0 5% 124px}.section-title{display:flex;justify-content:space-between;gap:36px;align-items:end;margin-bottom:60px}.section-title>p{max-width:370px;font-size:15px;color:var(--muted)}.section-title .eyebrow{margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:78px 6%}.offer{min-width:0;display:flex;flex-direction:column}.offer>img{width:100%;height:auto;aspect-ratio:1.45;object-fit:cover;border-radius:14px}.offer-body{padding:30px 2px 0;display:flex;flex-direction:column;flex:1}.offer .eyebrow{font-size:12px;margin:0 0 15px}.offer h3{font-size:clamp(27px,2.35vw,36px);line-height:1.35}.offer p:not(.eyebrow){font-size:16px;color:var(--muted);line-height:1.95}.offer .price{font-size:15px!important;line-height:2!important;color:var(--bronze)!important;font-weight:500;margin-top:auto;padding-top:12px}.text-link{display:block;border-top:1px solid var(--line);padding:20px 0 4px;font-size:14px;letter-spacing:.055em;color:var(--bronze)}
.closing{position:relative;margin:0 5% 90px;padding:84px 24px;text-align:center;background:var(--soft);border:1px solid var(--line);border-radius:12px}.closing:before{content:'';position:absolute;inset:10px;border:1px solid #e6ddd0;border-radius:7px;pointer-events:none}.closing .button{margin-top:34px}.closing h2{line-height:1.35}footer{max-width:1600px;margin:auto;border-top:1px solid var(--line);padding:54px 5%;display:grid;grid-template-columns:1fr auto;gap:18px 35px;align-items:center;font-size:14px}footer p{margin:0}footer>.wordmark{font-size:23px}.fine{font-size:12px;color:var(--muted)}
.page-intro{padding:90px 5% 80px;max-width:1200px}.page-intro .intro{max-width:850px;color:var(--muted);font-size:18px;margin-top:34px}.contact-grid{margin:0 5% 110px;padding:60px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-grid>div{min-width:0}.contact-grid h3{line-height:1.4}.skip{position:absolute;top:-100px;left:20px;background:white;padding:12px;z-index:10}.skip:focus{top:20px}
@media(max-width:1000px){header{grid-template-columns:1fr auto}header nav{grid-row:2;grid-column:1/-1;flex-wrap:wrap;gap:12px 30px}header>.button{grid-row:1;grid-column:2}.hero{gap:4%;padding-top:58px}.hero figure img{height:570px}.hero h1{font-size:clamp(38px,4.6vw,54px)}.signature{gap:5%}.signature>img,.signature-image img{height:500px}.section-title{display:block}.section-title>p{max-width:none}.section-title>p br{display:none}.signature h2{font-size:36px}.grid{gap:64px 5%}}
@media(max-width:760px){header{padding:26px 6% 24px;gap:22px}header .wordmark{font-size:21px;letter-spacing:.075em}header .wordmark span{font-size:11px}.small{font-size:12px;padding:12px 14px;min-height:48px}header nav{gap:12px 22px;font-size:13px;letter-spacing:.02em}.hero{grid-template-columns:1fr;padding:52px 6% 75px;gap:46px}.hero h1{font-size:clamp(38px,7.7vw,58px)}.hero .intro{max-width:590px}.hero figure{margin-right:12px}.hero figure img{height:520px;border-radius:190px 190px 12px 12px}.hero figure:before{border-radius:190px 190px 12px 12px}.signature{grid-template-columns:1fr;gap:36px;margin:0 6% 70px;padding:44px 0}.signature>img,.signature-image img{height:390px}.signature h2,h2{font-size:36px;line-height:1.3}.catalog{padding:0 6% 78px}.section-title{margin-bottom:38px}.grid{grid-template-columns:1fr;gap:52px}.offer-body{padding-top:25px}.offer h3{font-size:29px}.offer p:not(.eyebrow){font-size:16px}.offer .price{padding-top:0}.closing{margin:0 6% 55px;padding:56px 22px}.closing h2{font-size:32px}footer{padding:38px 6%;grid-template-columns:1fr;gap:20px}.page-intro{padding:55px 6%}.page-intro h1{font-size:clamp(35px,7.5vw,52px)}.page-intro .intro{font-size:16px}.contact-grid{grid-template-columns:1fr;gap:44px;margin:0 6% 65px}.eyebrow{font-size:12px;letter-spacing:.12em}.button{max-width:100%;text-align:center}}
@media(max-width:420px){header{grid-template-columns:1fr}header>.button{grid-row:2;grid-column:1;justify-self:start}header nav{grid-row:3;grid-column:1;justify-content:start;gap:12px 18px}.hero figure img{height:410px}.hero h1{font-size:38px}.wordmark{white-space:normal}.signature h2,h2{font-size:32px}.hero figcaption{font-size:11px;left:16px;right:16px}.offer h3{font-size:27px}}
/* Italiana · Essenziale — approved typography and ivory / deep-blue palette. */
.hero h1{font-size:clamp(52px,5.6vw,88px);line-height:1.08;letter-spacing:-.025em}
h2,h3{letter-spacing:-.02em}
.wordmark{font-family:var(--display);font-weight:400}
.wordmark span{font-family:var(--font)}
.hero figure img,.hero figure:before{border-radius:35px}
.hero figure:before{display:none}
.hero figure{margin-right:0}
.closing{background:var(--soft);border-radius:0;border-left:0;border-right:0}
.closing:before{display:none}
.eyebrow{color:#665a44}
.text-link,.back,summary{color:#665a44}
.small:hover{background:var(--ink);color:white}
@media(max-width:760px){.hero h1{font-size:clamp(48px,9vw,68px)}header .wordmark{font-size:25px;letter-spacing:.04em}.hero figure img{height:auto;aspect-ratio:1.2;object-fit:cover;border-radius:35px}.hero figure{margin-right:0}.signature h2,h2{font-size:clamp(36px,8vw,46px)}.offer h3{font-size:34px}.closing h2{font-size:38px}}
@media(max-width:420px){.hero h1{font-size:48px}.hero figure img{height:auto}.offer h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.boat-intro{padding:70px 5% 90px;display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.boat-intro>div{min-width:0}.boat-intro>img{width:100%;aspect-ratio:1.22;object-fit:cover;border-radius:14px}.boat-intro .intro{color:var(--muted);max-width:600px}.boat-intro .text-link{display:inline-block;margin-top:10px}.back{font-size:13px;color:var(--bronze);margin:0 0 30px}.boat-content{padding:65px 5% 120px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(270px,.85fr) minmax(0,1.15fr);gap:10%}.boat-content h2{font-size:clamp(30px,3vw,46px)}.spec-list{margin:36px 0 25px}.spec-list>div{display:flex;justify-content:space-between;gap:24px;padding:15px 0;border-bottom:1px solid var(--line);font-size:15px}.spec-list dt{color:var(--muted)}.spec-list dd{margin:0;text-align:right;color:var(--ink)}.source{font-size:12px;color:var(--muted);line-height:1.8}.source a{text-decoration:underline;text-underline-offset:3px}.included{font-size:15px;color:var(--muted);margin:24px 0}.included strong{color:var(--bronze);font-weight:500}.packages{border-top:1px solid var(--line);margin-top:32px}.package{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.package h3{font-size:21px}.package p{margin:7px 0 0;color:var(--bronze);font-size:15px}.package .button{font-size:12px;min-height:46px;padding:11px 15px;text-align:center;flex-shrink:0}
@media(max-width:850px){.boat-intro{grid-template-columns:1fr;padding:48px 6% 55px;gap:32px}.boat-intro>img{aspect-ratio:1.45}.boat-content{grid-template-columns:1fr;gap:55px;padding:50px 6% 80px}}
@media(max-width:520px){.package{display:block}.package .button{margin-top:16px;width:100%}.spec-list>div{gap:15px}.boat-intro h1{font-size:38px}}
.add-ons{margin:0 5% 110px;padding:65px 0 0;border-top:1px solid var(--line)}.add-ons h2{margin-bottom:36px}.addon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.addon-grid article{padding:32px;border:1px solid var(--line);background:var(--soft)}.addon-grid h3{font-size:24px}.addon-grid p{font-size:15px;color:var(--muted);margin:14px 0}.addon-grid .addon-price{color:var(--bronze);font-size:19px;margin:26px 0}.addon-grid .button{width:100%;text-align:center}.card-addon{font-size:14px!important;color:var(--bronze)!important;margin:4px 0 8px!important}.offer .text-link+.text-link{border-top:0;padding-top:8px}
@media(max-width:760px){.add-ons{margin:0 6% 70px;padding-top:48px}.addon-grid{grid-template-columns:1fr}.addon-grid article{padding:25px}}
.policy-notice{padding:16px 20px;border-left:2px solid var(--bronze);background:var(--soft);color:var(--ink);font-size:14px;line-height:1.8;margin:22px 0 36px}.policy-notice a,.policy-copy a:not(.button){color:var(--bronze);text-decoration:underline;text-underline-offset:4px}.policy-page{max-width:1000px}.policy-copy{margin-top:56px;padding-top:45px;border-top:1px solid var(--line);max-width:760px}.policy-copy h2{font-size:clamp(30px,3vw,43px)}.policy-copy p{font-size:17px;color:var(--muted)}.policy-copy .button{margin-top:20px}.signature .policy-notice{color:var(--ink)}footer a[href="/cancellation-policy/"]{color:var(--bronze);text-decoration:underline;text-underline-offset:5px}
.boat-intro>img{height:auto;aspect-ratio:auto;object-fit:contain;align-self:center;background:var(--soft)}.boat-policy{margin:0 5% 90px;padding:44px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.boat-policy .eyebrow{margin-bottom:12px}.boat-policy h2{font-size:clamp(27px,2.6vw,38px)}.boat-policy p{margin:0 0 16px;font-size:15px;color:var(--muted)}.boat-policy a{color:var(--bronze);font-size:14px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:850px){.boat-intro>img{height:auto;aspect-ratio:auto}.boat-policy{margin:0 6% 65px;grid-template-columns:1fr;gap:20px;padding:36px 0}}

/* Navy calls to action for every boat detail page. */
.offer .boat-prices{align-self:flex-start;margin-top:8px;background:#102c3c;border-color:#102c3c;color:#fff;min-height:52px;text-align:center}
.offer .boat-prices:hover{background:#234650;border-color:#234650;color:#fff;text-decoration:none}
.offer .boat-prices:focus-visible{outline:2px solid #102c3c;outline-offset:4px}

.signature>.photography-option{grid-column:1/-1}

/* 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%}}

/* 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}
}

/* Additional Stilmar coastal photography. */
.stilmar-photo-section{max-width:1480px;margin:0 auto;padding:36px 6% 64px}.stilmar-photo-section figure{margin:0}.stilmar-photo-section img{display:block;width:100%;height:auto;border-radius:35px}.stilmar-photo-section figcaption{position:static;background:none;color:inherit;padding:0;margin:18px 0 0;font-size:14px;line-height:1.7;letter-spacing:.04em}@media(max-width:640px){.stilmar-photo-section{padding:24px 6% 40px}}

/* Preserve the complete portrait for the signature experience. */
#signature .signature-image img{display:block;width:100%;max-width:480px;height:auto;object-fit:contain;border-radius:35px;margin:0 auto}

/* Use the portrait's natural proportions so its rounded corners remain visible. */
.hero figure{border-radius:35px;overflow:hidden}
.hero figure img[src="/assets/hero-7927.jpg"]{display:block;width:100%;max-width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:35px}
@media(max-width:760px){.hero figure{width:calc(100% + 16px);margin-left:-8px;margin-right:-8px}}

/* One-hour shared tour: full portrait with a clear booking summary. */
.shared-tour{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);grid-template-areas:"photo heading" "photo content" "more more";column-gap:clamp(36px,6vw,88px);padding:76px 5% 42px;border-top:1px solid var(--line)}
.shared-tour>div,.shared-tour>figure{min-width:0}
.shared-tour-heading{grid-area:heading}
.shared-tour .eyebrow{font-size:14px;line-height:1.6;letter-spacing:.13em;margin:0 0 18px}
.shared-tour h2{font-size:clamp(40px,4.2vw,64px);line-height:1.08;margin:0}
.shared-tour-subtitle{font-size:16px;color:var(--muted);margin:18px 0 24px;line-height:1.6}
.shared-tour-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}
.shared-tour-facts>div+div{border-left:1px solid var(--line);padding-left:20px}
.shared-tour-facts dt{font-size:14px;line-height:1.5;color:var(--muted);margin:0 0 6px}
.shared-tour-facts dd{font-size:clamp(18px,1.9vw,25px);line-height:1.4;font-weight:500;margin:0;white-space:nowrap}
.shared-tour-facts .shared-tour-rate dd{color:var(--bronze)}
.shared-tour-departure{font-size:14px;line-height:1.8;color:var(--muted);margin:15px 0 24px}
.shared-tour-departure strong{font-weight:500;color:var(--ink)}
.shared-tour-photo{grid-area:photo;align-self:start;width:100%;max-width:500px;margin:0;justify-self:center}
.shared-tour-photo img{display:block;width:100%;height:auto;border-radius:35px}
.shared-tour-content{grid-area:content;align-self:start}
.shared-tour-description{font-size:16px;line-height:1.85;color:var(--muted);margin:0 0 24px}
.shared-tour-description strong{font-weight:500;color:var(--ink)}
.shared-tour-included{padding:22px 0 24px;border-top:1px solid var(--line)}
.shared-tour-included h3{font:600 16px/1.6 var(--font);letter-spacing:0;margin:0 0 14px}
.shared-tour-included ul{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;padding:0;margin:0}
.shared-tour-included li{position:relative;padding-left:16px;font-size:14px;line-height:1.75;color:var(--muted)}
.shared-tour-included li:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--bronze);position:absolute;left:0;top:10px}
.shared-tour-book{display:flex;width:100%;min-height:56px;letter-spacing:.035em}
.shared-tour-itinerary{margin:16px 0 0;border-bottom:1px solid var(--line);padding:0 0 8px}
.shared-tour-itinerary summary{font-size:14px;line-height:1.8;color:var(--ink);padding:12px 0}
.shared-tour-itinerary p{font-size:16px;line-height:1.85;color:var(--muted);margin:12px 0 20px}
.shared-tour-more{grid-area:more;display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px;margin-top:42px;padding-top:24px;border-top:1px solid var(--line);font-size:14px;line-height:1.7}
.shared-tour-more p{margin:0 auto 0 0;color:var(--muted)}
.shared-tour-more a{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--line)}
.shared-tour-more a:hover{text-decoration-color:var(--bronze)}
@media(max-width:1050px){.shared-tour{column-gap:36px}.shared-tour-facts{gap:10px}.shared-tour-facts>div+div{padding-left:12px}.shared-tour-included ul{gap:12px 16px}}
@media(max-width:800px){
 .shared-tour{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "photo" "content" "more";padding:48px 6% 32px}
 .shared-tour h2{font-size:clamp(40px,9vw,58px)}
 .shared-tour-heading{max-width:600px;width:100%;justify-self:center}
 .shared-tour-facts dd{font-size:22px}
 .shared-tour-departure{margin-bottom:24px}
 .shared-tour-photo{max-width:500px;margin-bottom:28px}
 .shared-tour-content{max-width:600px;width:100%;justify-self:center}
 .shared-tour-more{margin-top:32px;gap:14px;align-items:flex-start;flex-direction:column}
}
@media(max-width:380px){.shared-tour-facts dd{font-size:18px}.shared-tour-facts dt{font-size:14px}.shared-tour-facts>div+div{padding-left:10px}.shared-tour-included ul{grid-template-columns:1fr}.shared-tour-photo img{border-radius:26px}}
