@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');
:root{--navy:#102c3a;--navy2:#173c4b;--teal:#216c74;--gold:#e6ad58;--cream:#f6f4ed;--paper:#fffefa;--ink:#203642;--muted:#5a6a70;--line:#d5dedc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 'DM Sans',system-ui,sans-serif}a{color:var(--teal);text-underline-offset:3px}a:hover{color:#0a4b52}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.16;color:var(--navy)}h1,h2{font-family:'Libre Baskerville',Georgia,serif;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,5vw,4.9rem);margin-bottom:1.35rem}h2{font-size:clamp(2rem,3vw,3rem);margin-bottom:1.25rem}h3{font-size:1.35rem}p{max-width:68ch}button,input,select,textarea{font:inherit}.container{max-width:1180px;margin:auto;padding-inline:clamp(1.2rem,3vw,2.5rem)}.narrow{max-width:850px}.skip{position:absolute;top:-100px;left:1rem;background:#fff;z-index:100;padding:1rem}.skip:focus{top:1rem}.topline{background:var(--navy);color:#dcebed;display:flex;justify-content:space-between;padding:.35rem max(1.2rem,calc((100% - 1130px)/2));font-size:.82rem;letter-spacing:.035em}.topline a{color:var(--gold);font-weight:700}.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{max-width:1180px;padding:.8rem clamp(1.2rem,3vw,2.5rem);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.7rem;color:var(--navy);text-decoration:none;font-size:1.4rem;font-weight:700;line-height:1;letter-spacing:.09em;white-space:nowrap}.brand small{display:block;font-size:.55rem;letter-spacing:.23em;margin-top:.35rem}.brand-mark{background:var(--navy);color:var(--gold);width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif;font-style:italic;letter-spacing:-.1em;padding-right:.17rem}.site-header nav{display:flex;align-items:center;gap:clamp(.6rem,1.2vw,1.2rem)}.site-header nav a{color:var(--navy);font-size:.83rem;font-weight:700;text-decoration:none;white-space:nowrap}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--teal);text-decoration:underline;text-underline-offset:7px}.site-header nav .nav-book{background:var(--gold);padding:.7rem .9rem;border-radius:2px}.menu-toggle{display:none}.page-hero{background:linear-gradient(115deg,#eaf3f1,#f6f4ed 76%);padding:clamp(3.5rem,7vw,7rem) 0}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:clamp(2rem,5vw,5rem)}.page-hero:not(.hero-photo) .hero-grid{display:block;max-width:1050px}.lead{font-size:clamp(1.1rem,1.7vw,1.3rem);line-height:1.6;max-width:640px;color:#36505a}.eyebrow{color:var(--teal);font-size:.8rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;margin-bottom:1rem}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);border:2px solid var(--gold);color:var(--navy);min-height:3.2rem;padding:.72rem 1.18rem;border-radius:3px;text-decoration:none;font-weight:700;line-height:1.3;cursor:pointer}.button:hover{background:#f3c679;border-color:#f3c679;color:var(--navy)}.button-outline{background:transparent;border-color:var(--navy)}.button-outline:hover{background:var(--navy);color:white;border-color:var(--navy)}.button-dark{background:var(--navy);color:white;border-color:var(--navy)}.photo{margin:0}.photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:3px}.photo figcaption{font-size:.82rem;color:var(--muted);margin-top:.55rem}.hero-image img{height:440px;box-shadow:20px 20px 0 #c8d9d5}.benefit-strip{display:grid;grid-template-columns:repeat(4,1fr);padding-block:1.6rem;border-bottom:1px solid var(--line);gap:1.3rem}.benefit-strip div{border-left:3px solid var(--gold);padding-left:1rem}.benefit-strip b,.benefit-strip span{display:block}.benefit-strip b{color:var(--navy)}.benefit-strip span{font-size:.9rem;color:var(--muted)}.section{padding-block:clamp(4rem,7vw,7rem)}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2.5rem,7vw,7rem)}.split .photo img{height:360px}.text-link{font-weight:700;text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:.2rem}.deep{background:var(--navy);color:#e9f0ef}.deep h2,.deep h3{color:white}.deep .eyebrow{color:var(--gold)}.deep a{color:var(--gold)}.deep .text-link{color:var(--gold)}.sand{background:var(--cream)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.cards.two{grid-template-columns:repeat(2,1fr);margin-top:0}.card{padding:2rem;background:var(--paper);color:var(--ink);border-top:4px solid var(--gold);min-height:235px}.card p{color:#41565e}.card .text-link{display:inline-block;margin-top:.4rem}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:5rem}.checklist{padding-left:1.3rem}.checklist li{margin-bottom:.5rem}.info-panel{background:#e9f1ef;border-left:4px solid var(--teal);padding:2rem}.info-panel p:last-child{margin-bottom:0}.info-panel .button{margin-top:.5rem}.callout{display:flex;align-items:center;justify-content:space-between;gap:3rem}.callout p{margin-bottom:0}.boat-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5rem;margin-bottom:5rem}.boat-grid:last-child{margin-bottom:0}.boat-grid .photo img{height:340px}.photo-request{height:320px;border:2px dashed #b2c3c3;background:#f2f5f3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);padding:2rem}.photo-request span{font-size:.8rem;font-weight:700;letter-spacing:.15em;color:var(--teal)}.note{padding:1rem 1.2rem;background:var(--cream);border-left:3px solid var(--gold)}.steps{padding-left:1.3rem}.steps li{padding-left:.5rem;margin-bottom:1.5rem}.steps strong{display:block;color:var(--navy)}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.booking-grid .info-panel{margin-top:2rem}.large-phone{font-size:2.2rem;font-weight:700;line-height:1.1}.date-form{background:var(--cream);padding:clamp(1.5rem,3vw,2.5rem);display:flex;flex-direction:column;align-items:stretch}.date-form label{font-weight:700;margin:.8rem 0 .25rem}.date-form input,.date-form select,.date-form textarea{width:100%;padding:.7rem .8rem;background:white;border:1px solid #a7b6b6;border-radius:2px;color:var(--ink)}.date-form .button{margin-top:1.5rem}.form-help{font-size:.88rem;color:var(--muted);margin:1rem 0 0}.faq-list details{border-bottom:1px solid var(--line);padding:1.2rem 0}.faq-list summary{font-weight:700;color:var(--navy);cursor:pointer;font-size:1.1rem;padding-right:1rem}.faq-list details p{margin:1rem 0 0;color:#41535c}.faq-action{margin-top:4rem}footer{background:#09232f;color:#d5e2e4;padding:4rem 0 1.5rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem}.footer-grid strong{color:white}.footer-grid a{display:block;color:#d5e2e4;margin-top:.5rem}.footer-grid p{margin:.5rem 0}.footer-grid p a{display:inline}.fineprint{border-top:1px solid #3f5960;margin-top:3rem;padding-top:1.3rem;font-size:.78rem;color:#adc0c2}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media(max-width:1250px){.menu-toggle{display:block;background:transparent;border:1px solid var(--line);padding:.5rem .8rem;color:var(--navy);font-weight:700;cursor:pointer}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:1.5rem;box-shadow:0 12px 20px #102c3a22;flex-direction:column;align-items:stretch;gap:.9rem}.site-header nav.open{display:flex}.site-header nav a{font-size:1rem}.site-header nav .nav-book{text-align:center}}@media(max-width:700px){.topline{font-size:.72rem;gap:1rem}.topline span{max-width:55%}.hero-grid,.split,.boat-grid,.booking-grid,.details-grid{grid-template-columns:1fr;gap:2rem}.page-hero{padding:3.3rem 0}.hero-image img{height:275px;box-shadow:10px 10px 0 #c8d9d5}.benefit-strip{grid-template-columns:repeat(2,1fr)}.cards,.cards.two{grid-template-columns:1fr}.card{min-height:0}.callout{align-items:flex-start;flex-direction:column}.boat-grid{margin-bottom:3.5rem}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:span 2}.date-form{order:-1}}@media(max-width:420px){h1{font-size:2.45rem}.benefit-strip{grid-template-columns:1fr}.actions .button{width:100%}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.large-phone{font-size:1.8rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.photo-proof{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-top:1.7rem}.photo-proof div{border:2px dashed #aabfbd;background:#eff5f2;padding:1.5rem}.photo-proof span{color:var(--teal);font-size:.8rem;font-weight:700;letter-spacing:.12em}.photo-proof p{margin:.3rem 0 0;color:#48616a}@media(max-width:700px){.photo-proof{grid-template-columns:1fr}}
/* Sara J's current site uses its business name as the header wordmark. */
.brand-wordmark{font-family:Georgia,'Times New Roman',serif;font-size:1.35rem;font-weight:700;letter-spacing:-.045em;text-transform:none}.brand-mark{display:none}.review-feature{position:relative;z-index:2;margin-top:-1.7rem}.review-feature a{display:inline-flex;align-items:center;gap:1.1rem;padding:.8rem 1.4rem;background:#fffefa;box-shadow:0 12px 30px #102c3a20;border-left:5px solid var(--gold);color:var(--navy);text-decoration:none}.rating-star{color:#b36b12;font-size:1.2rem;letter-spacing:.08em;white-space:nowrap}.review-feature strong{font-family:Georgia,serif;font-size:2rem;line-height:1;white-space:nowrap}.review-feature strong span{font-size:1.2rem}.review-feature small{font-size:.78rem;color:#536972}.experience-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-top:3rem}.experience-photos figure,.comfort-gallery figure{margin:0}.experience-photos img{width:100%;height:240px;object-fit:cover;display:block}.experience-photos figure:first-child img{object-position:center 55%}.experience-photos figcaption,.comfort-gallery figcaption{font-size:.82rem;color:var(--muted);padding:.55rem 0}.comfort-gallery{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0 5rem}.comfort-gallery img{width:100%;height:350px;object-fit:cover;display:block}.review-line{border-block:1px solid #65818a;padding:1.1rem 0;margin-bottom:2rem;font-size:1.1rem;color:var(--gold)}.review-line strong{font-size:1.7rem;color:white}.review-panel-score{border-bottom:1px solid #bbd0cc;padding-bottom:1rem;color:#40565d}.review-panel-score strong{font-size:1.8rem;color:var(--navy)}@media(max-width:700px){.brand-wordmark{font-size:1.12rem}.review-feature{margin-top:0;padding-top:1.2rem}.review-feature a{display:grid;grid-template-columns:auto 1fr;gap:.15rem 1rem;width:100%}.review-feature a>span:last-child{grid-column:1/-1}.experience-photos{grid-template-columns:1fr 1fr}.experience-photos figure:first-child{grid-column:1/-1}.experience-photos img{height:175px}.experience-photos figure:first-child img{height:240px}.comfort-gallery img{height:230px}}@media(max-width:420px){.brand-wordmark{font-size:.98rem}.comfort-gallery{grid-template-columns:1fr}.review-feature small{font-size:.75rem}}
.brand-logo{width:2.6rem;height:2.6rem;object-fit:contain;flex:none}@media(max-width:420px){.brand-logo{width:2.1rem;height:2.1rem}}

.gallery-credit{grid-column:1/-1;text-align:right;font-size:.9rem;margin:0}.gallery-credit a{font-weight:700}
.section-closer{font-family:Georgia,serif;font-size:1.28rem;color:var(--navy);font-weight:700;line-height:1.4}
.brand-wordmark{color:#4170b6}.brand:hover .brand-wordmark{color:#2f5b98}.home-hero-image img{object-position:center 44%}.captain-quote{background:#e8f1f8}.quote-grid{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:clamp(2rem,5vw,5rem)}blockquote{font:700 clamp(1.7rem,3vw,2.9rem)/1.35 Georgia,serif;letter-spacing:-.025em;color:var(--navy);margin:0}.quote-by{color:#4170b6;font-weight:700;margin-top:1rem}.facebook-card{background:white;padding:2rem;border-top:4px solid #4170b6}.facebook-card strong{font-size:1.4rem;color:var(--navy)}.facebook-card .facebook-rating{color:var(--navy);font-weight:700}.facebook-rating small{display:block;color:var(--muted);font-weight:400;font-size:.78rem}@media(max-width:700px){.quote-grid{grid-template-columns:1fr}.home-hero-image img{object-position:center 37%}}
.facebook-card .returning-guests{font-size:.92rem;line-height:1.5;border-top:1px solid var(--line);padding-top:1rem}.returning-guests a{font-weight:700}
.home-hero-image img{height:auto;max-height:680px;object-fit:contain;object-position:center}.captain-hero-image img{height:auto;max-height:650px;object-fit:contain;object-position:center}.boats-hero-image img{height:auto;max-height:530px;object-fit:contain}.review-feature{margin-top:0;padding-top:2rem;padding-bottom:.8rem}.faq-band{background:#f1f5f4}.faq-more{margin-top:2rem}.small-quote{font-size:1.35rem;line-height:1.45;margin-top:1.5rem}.captain-portrait{display:flex;align-items:center;gap:1.2rem;margin:0 0 2rem;padding:1rem;background:#eef5f8}.captain-portrait img{width:115px;height:115px;object-fit:cover;flex:none;border-radius:50%}.captain-portrait span{font-size:.86rem;color:var(--muted)}@media(max-width:700px){.home-hero-image img,.captain-hero-image img,.boats-hero-image img{height:auto;max-height:none}.review-feature{padding-top:1.5rem}.captain-portrait img{width:100px;height:100px}}

.lorain-hero-image{width:min(100%,430px);justify-self:center}.lorain-hero-image img{width:100%;height:auto;max-height:325px;object-fit:contain;box-shadow:12px 12px 0 #c8d9d5}.gallery-intro,.blog-intro{margin-bottom:2rem}.gallery-intro p,.blog-intro p{font-size:1.1rem}.gallery-section h3{font-family:Georgia,serif;font-size:1.8rem;margin:2.4rem 0 1.3rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}.gallery-item{margin:0;background:#fff;box-shadow:0 8px 24px #102c3a15;overflow:hidden}.gallery-item a{display:block;position:relative}.gallery-item img{display:block;width:100%;height:255px;object-fit:cover}.gallery-item a span{position:absolute;right:.6rem;bottom:.6rem;background:#102c3ae6;color:white;padding:.3rem .65rem;font-size:.83rem}.gallery-item figcaption{padding:.8rem 1rem 1rem;font-weight:700;line-height:1.4}.gallery-item small{display:block;color:var(--muted);font-weight:400;margin-top:.25rem}.blog-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.blog-list li{background:white;border-left:4px solid #4170b6;padding:1.4rem 1.5rem;box-shadow:0 6px 22px #102c3a0d}.blog-list time{font-size:.88rem;font-weight:700;color:var(--teal)}.blog-list h3{margin:.5rem 0 0;font-family:Georgia,serif;line-height:1.35}.blog-list a{text-decoration:none;color:var(--navy)}.blog-list a:hover{text-decoration:underline}.blog-list a span{color:var(--teal)}@media(max-width:800px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-list{grid-template-columns:1fr}}@media(max-width:540px){.gallery-grid{grid-template-columns:1fr}.gallery-item img{height:auto;max-height:440px;object-fit:contain;background:#eef2f1}.lorain-hero-image{width:min(100%,380px)}}

/* Full-width home introduction */
.page-hero.home-hero .hero-grid{max-width:1180px}
.page-hero.home-hero .lead{max-width:none;width:100%}

/* Captain quote beneath the site name */
.brand-copy{display:flex;flex-direction:column;gap:.4rem;white-space:normal}
.brand-tagline{display:block;font-size:.875rem;font-weight:500;line-height:1.4;letter-spacing:0;color:#36505a;max-width:22rem}
@media(max-width:420px){.brand-tagline{max-width:15rem}}

/* Visible top navigation on every screen size */
.header-inner{flex-wrap:wrap;gap:1rem}
.site-header nav{display:flex;position:static;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;width:100%;padding:.65rem 0 0;border:0;border-top:1px solid var(--line);box-shadow:none;gap:.7rem 1.1rem;background:transparent}
.site-header nav a{font-size:.95rem}
@media(max-width:700px){.site-header{position:relative}.site-header nav{gap:.65rem .9rem}.site-header nav a{font-size:.875rem}}

/* Align titles, descriptions and links in Fish Your Way */
.fish-your-way .cards{row-gap:1rem}
.fish-your-way .card{display:grid;grid-template-rows:subgrid;grid-row:span 3;align-content:start}
.fish-your-way .card h3,.fish-your-way .card p{margin:0}
.fish-your-way .card .text-link{margin:0;align-self:end;justify-self:start}

/* Typographic fish guarantee graphic */
.guarantee-banner{background:#102c3a;padding:1.1rem clamp(1.2rem,3vw,2.5rem);text-align:center;border-bottom:4px solid #eeb94a}
.guarantee-banner p{margin:0;color:#fff;font-family:"Trebuchet MS",Arial,sans-serif;font-size:clamp(1.15rem,2.4vw,1.8rem);font-style:italic;font-weight:800;line-height:1.35;letter-spacing:.015em}

/* Larger gallery photos with their full original framing */
.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.75rem}
.gallery-item img{width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:640px){.gallery-grid{grid-template-columns:1fr;gap:1.25rem}.gallery-item img{height:auto;max-height:none}}

/* Gift certificate offers */
.hero-title-row{display:block;position:relative;margin-bottom:1.35rem}
.hero-title-row h1{margin-bottom:0}
.page-hero{position:relative}
.gift-promo{position:absolute;top:.9rem;right:max(1.2rem,calc((100% - 1100px)/2));width:14rem;max-width:calc(100% - 2.4rem);border:1px solid #d2a342;border-radius:6px;background:#ffe39a;padding:.65rem .8rem;color:#a82020;text-align:left;margin:0}
.gift-promo .container{padding:0}
.gift-promo a{color:inherit;font-size:.875rem;font-weight:700;line-height:1.45;text-decoration:none;display:block}
.gift-promo a:hover{text-decoration:underline}
.gift-footer{background:#e8f1f8;text-align:center;padding:2rem 0;border-top:0}
.gift-footer p{margin:0 0 .7rem;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:700;color:#102c3a}
.gift-footer a{font-weight:700;color:#102c3a}


@media(max-width:700px){.gift-promo{position:static;margin:-1.8rem 1.2rem 1.25rem auto}}
