:root{--serif:"Barlow Condensed","Arial Narrow",Arial,sans-serif;--paper:#f0f4f7;--line:rgba(169,202,223,.2)}
body{background:radial-gradient(ellipse at 90% 0%,#142c3c 0,transparent 38%),#07121b;color:var(--paper)}
.hero h1,.section-head h2,.experience h2,.booking h2,.faq h2,.captain-intro h1,.policy h1{font-weight:600;letter-spacing:-.015em;line-height:1.02}
.hero h1 em,.experience h2 em,.captain-intro h1 em{font-style:normal;color:#a1d1ef}
.hero h1{max-width:540px;text-shadow:0 8px 32px rgba(0,0,0,.22)}
.hero-lede{font-size:17px;line-height:1.85}
.site-header{border-bottom-color:rgba(175,209,230,.23)}
.trip-card{background:linear-gradient(145deg,rgba(27,51,68,.75),rgba(9,24,35,.95));border-radius:10px;box-shadow:0 15px 35px rgba(0,0,0,.2),inset 0 1px 0 rgba(213,234,249,.06)}
.trip-card h3{font-size:38px;letter-spacing:0;line-height:1.08}
.trip-card .evening-option h4{font-size:29px;letter-spacing:0;line-height:1.1}
.trip-card.selected,.trip-card:hover{background:linear-gradient(145deg,#1c3b50,#0b1d2a);border-color:#76adce;box-shadow:0 20px 45px rgba(0,0,0,.28),inset 0 1px 0 rgba(203,231,250,.1)}
.trip-photo{border-radius:6px;box-shadow:0 10px 25px rgba(0,0,0,.2)}
.evening-option{background:rgba(119,178,211,.045);padding:22px 16px 0;border-radius:6px}
.button-primary{background:linear-gradient(135deg,#add9ef,#79b5d6);box-shadow:0 6px 18px rgba(0,0,0,.15);border-radius:4px}
.nav-cta{border-radius:4px}
.hero-photo{border-radius:10px;overflow:hidden;box-shadow:0 25px 65px rgba(0,0,0,.45)}
.experience{grid-template-columns:.9fr 1.1fr;gap:clamp(36px,7vw,95px);align-items:start;position:relative;background:radial-gradient(ellipse at 10% 50%,rgba(86,145,181,.08),transparent 70%)}
.experience h2{font-size:clamp(48px,5.8vw,76px)}
.experience-note{color:#9fb4c3;max-width:310px;font-size:15px;line-height:1.8;margin:28px 0 0}
.experience-copy>p:not(.eyebrow){font-size:16px;line-height:1.85;margin:0 0 22px;max-width:none;color:#bfced8}
.experience-copy>p.experience-lead{color:#edf5fa;font-size:24px;line-height:1.5;font-weight:600;margin:0 0 24px}
.experience-copy .text-link{display:inline-flex;align-items:center;min-height:48px;border-bottom:1px solid #578aa8}
.booking-form{border-radius:10px;box-shadow:0 24px 60px rgba(0,0,0,.3);background:#edf2f5}
.form-top p{font-size:32px;letter-spacing:0}
.selection-summary strong{font-size:30px;letter-spacing:0}
.deposit-panel{border-radius:8px;box-shadow:0 12px 30px rgba(0,0,0,.15)}
.faq details{padding:23px 0}.faq details[open]{background:rgba(133,183,214,.035)}
@media(max-width:800px){.experience{grid-template-columns:1fr;gap:32px}.experience-note{max-width:100%}.experience-copy>p.experience-lead{font-size:21px}.hero h1{font-size:clamp(58px,16vw,80px)}.trip-card h3{font-size:35px}.evening-option{padding-inline:12px}.hero-lede{font-size:16px}}

/* A restrained italic headline treatment, with upright reading text. */
.hero h1,.section-head h2,.experience h2,.booking h2,.faq h2,.captain-intro h1,.policy h1{font-style:italic;padding-right:.12em;line-height:1.06}
.hero h1 em,.experience h2 em,.captain-intro h1 em{font-style:italic}
.trip-card h3,.trip-card .evening-option h4{font-style:italic;padding-right:.12em}
.section-head{gap:40px}
.hero-copy{padding-right:12px}
.trip-region{color:#a9c5d6;letter-spacing:.12em}
.trip-meta{padding-block:20px 6px}
.trip-meta dd{font-size:16px;font-variant-numeric:tabular-nums}
.trip-meta dt{color:#9eb2bf}
.evening-option{border-top-color:rgba(145,200,227,.3);box-shadow:inset 0 1px 0 rgba(217,238,250,.035)}
.select-trip{display:flex;align-items:center;justify-content:space-between;gap:16px}
.select-trip span{float:none}
.select-trip:hover,.text-link:hover{color:#bde3f6}
.section-head .eyebrow,.experience-heading .eyebrow,.booking-copy>.eyebrow{color:#a9c3d3}
.selection-summary{padding:15px 18px;background:linear-gradient(90deg,rgba(121,181,214,.1),transparent);border-radius:0 6px 6px 0}
.booking-form{border:1px solid rgba(216,234,246,.6)}
.field input,.field select,.field textarea{border-radius:4px;border-color:#aabcc7;background:#f9fbfc}
.faq summary{padding-right:6px}
.faq summary:hover{color:#a1d1ef}
.site-footer{margin-top:10px}
@media(max-width:800px){.hero-copy{padding-right:8px}.trip-card h3{font-size:36px}.trip-meta dd{font-size:14px}.section-head{margin-bottom:32px}.experience h2,.booking h2,.faq h2{line-height:1.08}.selection-summary{padding:14px 16px}}

/* Keep the experience section's edges at the viewport, not the text column. */
.experience.section-shell{width:100%;margin-inline:0;padding-inline:max(24px,calc((100% - 1180px)/2));background:linear-gradient(180deg,rgba(25,49,65,.32),rgba(10,28,40,.18));border-block:1px solid rgba(169,202,223,.15)}
.experience>*,.booking>*,.section-head>*,.form-row>*,.captain-intro>*,.water-story>*,.boat-heading>*{min-width:0}
.experience-heading .eyebrow{line-height:1.7;letter-spacing:.1em}
.experience-note{border-top:1px solid rgba(169,202,223,.2);padding-top:20px}
.experience-copy{max-width:640px}
.experience-copy .text-link{gap:14px}
.section-shell[id]{scroll-margin-top:24px}
.field select{max-width:100%;text-overflow:ellipsis}
.request-actions>*{max-width:100%;justify-content:center;text-align:center}
.form-message{overflow-wrap:anywhere}
.brand{min-width:0}
.menu-button{min-width:44px;min-height:44px;flex-shrink:0}
.nav-links a{min-height:44px;display:flex;align-items:center}
.nav-links .nav-cta{justify-content:center}
.faq summary{min-height:44px;align-items:center}
.faq summary span{flex-shrink:0}
.captain-portrait,.salmon-portrait,.boat-photo{border-radius:10px;overflow:hidden}
@media(max-width:800px){
 .section-shell,.site-header{width:calc(100% - 40px);max-width:650px}
 .experience.section-shell{width:100%;max-width:none;padding-inline:max(20px,calc((100% - 650px)/2));padding-block:60px;gap:28px}
 .experience h2{font-size:clamp(40px,10.5vw,64px)}
 .experience-copy>p:not(.eyebrow){line-height:1.8}
 .experience-note{margin-top:22px;font-size:15px}
 .site-header{gap:12px;padding-block:12px}
 .nav-links{top:100%;border-radius:8px;box-shadow:0 18px 40px rgba(0,0,0,.35)}
 .hero{padding-top:38px;gap:28px}
 .hero-photo{width:min(100%,300px)}
 .hero h1{font-size:clamp(48px,14vw,76px)}
 .hero-footnote{line-height:1.7}
 .section-head h2,.booking h2,.faq h2{font-size:clamp(36px,10vw,52px)}
 .trip-grid{gap:22px}.trip-card{padding:20px;transform:none}
 .trip-card h3{font-size:34px}.trip-photo{margin-block:18px 22px}
 .evening-option{padding:20px 12px 0}
 .trip-card .evening-option h4{font-size:28px}
 .booking,.faq{padding-block:64px}
 .booking-form{padding:22px 18px}
 .form-top{gap:12px}.form-top p{font-size:30px}
 .request-actions{flex-direction:column}.request-actions>*{width:100%}
 .faq details p{margin-right:0}
 .policy-header .brand,.captain-page .site-header .brand{max-width:100%}
 .policy-nav a,.captain-nav a{min-height:44px;display:inline-flex;align-items:center}
 .site-footer{gap:24px;padding-block:32px}
}
@media(max-width:380px){
 .brand strong{font-size:11px;letter-spacing:.045em}.brand small{font-size:8px;letter-spacing:.1em}
 :root .brand img.brand-logo{width:46px;height:46px;flex-basis:46px}
 .brand{gap:8px}.trip-card{padding:16px}.trip-meta{gap:8px}
 .trip-meta dd{font-size:13px}.availability{font-size:11px}
 .booking-form{padding:20px 14px}.hero-actions{gap:16px}
}
@media(hover:none){.trip-card:hover,.trip-card.selected{transform:none}}

/* Finishing details shared by the home, captain and policy pages. */
:root{--radius-control:6px;--radius-panel:10px;--silver:#bfced8;--accent-blue:#a1d1ef}
body{-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{text-wrap:balance}
p{ text-wrap:pretty }
.button,.nav-cta,.field input,.field select,.field textarea,#request-preview{border-radius:var(--radius-control)}
.button{min-height:48px;line-height:1.4;gap:14px;white-space:normal;text-align:center}
.button-primary{color:#102b3c}
.button span,.select-trip span{flex-shrink:0}
.site-header .brand{flex-shrink:0}
.nav-links,.captain-nav,.policy-nav{column-gap:clamp(14px,2vw,26px)}
.nav-links a,.captain-nav a,.policy-nav a{transition:color .18s ease,background-color .18s ease}
.trip-card h3{font-size:clamp(32px,3.1vw,38px);min-height:0;max-width:20ch;margin-bottom:16px}
.trip-card .evening-option h4{max-width:24ch;font-size:clamp(26px,2.5vw,30px);line-height:1.12;margin:0 0 14px}
.trip-region{line-height:1.6}
.trip-copy{margin-block:0 14px}
.trip-meta{border-top-color:var(--line)}
.trip-meta dd{font-variant-numeric:tabular-nums;line-height:1.5}
.evening-option{margin-top:24px;padding-bottom:4px}
.evening-option>p:not(.eyebrow){font-size:15px;line-height:1.75;color:var(--silver)}
.select-trip{line-height:1.5;text-align:left}
.selection-summary strong{display:block;font-size:clamp(26px,2.5vw,32px);line-height:1.15;text-wrap:balance;margin-block:8px}
.field label{line-height:1.5;margin-bottom:8px}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid #326a8b;outline-offset:2px;border-color:#326a8b}
.field textarea{resize:vertical;line-height:1.6}
.form-disclaimer{line-height:1.75}
.captain-page p,.policy p{color:var(--silver)}
.captain-page figcaption{color:#a9bcc9;font-size:14px}
.captain-page h2{letter-spacing:-.015em;font-style:italic;padding-right:.12em}
.water-detail h3,.boat-facts h3{line-height:1.35}
.boat-facts>div{min-width:0}
.policy h2{font-family:var(--serif);font-size:30px;font-weight:600;letter-spacing:0}
.policy section{padding-block:30px}
.site-footer,.captain-footer,.policy-footer{line-height:1.7;color:#a9bcc9}
@media(hover:hover){
 .button-primary:hover{background:linear-gradient(135deg,#c5e6f7,#91c8e3);box-shadow:0 8px 22px rgba(0,0,0,.2)}
 .captain-nav a:hover,.policy-nav a:hover,.site-footer a:hover,.captain-footer a:hover{color:var(--accent-blue)}
}
@media(max-width:1000px) and (min-width:801px){.site-header{gap:18px}.nav-links{gap:12px;font-size:13px}.captain-intro,.water-story,.boat-heading{gap:36px}}
@media(max-width:800px){
 .trip-card h3{font-size:34px}.trip-card .evening-option h4{font-size:28px}
 .selection-summary strong{font-size:28px}.hero-actions{flex-wrap:wrap}
 .captain-nav,.policy-nav{row-gap:8px}.captain-closing .button{max-width:100%}
 .policy{padding-block:44px 56px}.policy h2{font-size:28px}
}
@media(max-width:380px){.trip-card h3{font-size:31px}.trip-card .evening-option h4{font-size:26px}.trip-meta dd{font-size:14px}.selection-summary strong{font-size:26px}}
@media(prefers-reduced-motion:reduce){.button,.nav-links a,.captain-nav a,.policy-nav a,.trip-card{transition:none;animation:none}}

/* Pre-launch clarity: FAQ actions, preparation note and finishing alignment. */
/* Quiet finishing details: consistent rhythm and accessible interactive states. */
main h1,main h2,main h3{text-wrap:balance}
.section-intro,.hero-lede,.captain-lede{text-wrap:pretty}
.section-head{align-items:flex-start}
.trip-meta{gap:12px}
.select-trip{min-height:44px;line-height:1.5}
.hero-footnote{line-height:1.8;flex-wrap:wrap}
.captain-nav a,.policy-nav a{display:inline-flex;align-items:center;min-height:44px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #a1d1ef;outline-offset:5px}
.booking-form a:focus-visible,.booking-form button:focus-visible{outline-color:#245a79}
.water-story h2,.boat-heading h2{font-family:var(--serif);letter-spacing:-.015em;line-height:1.08;font-style:italic}
.captain-portrait figcaption,.salmon-portrait figcaption,.boat-photo figcaption{line-height:1.7}
@media(max-width:800px){.section-head{display:flex;flex-direction:column;gap:22px}.trip-meta{gap:8px}.nav-links a{min-height:44px;display:flex;align-items:center}.nav-links .nav-cta{justify-content:center}.site-footer{gap:24px}.captain-footer{row-gap:16px}}
.faq-list{min-width:0}
.faq details{scroll-margin-top:28px}
.faq summary{align-items:flex-start;gap:16px;line-height:1.55}
.faq summary>span{display:grid;place-items:center;min-width:24px;min-height:24px;margin-top:1px;transition:transform .18s ease}
.faq details p{color:var(--silver);line-height:1.8}
.faq details a:not(.button){color:var(--accent-blue);text-decoration:underline;text-underline-offset:4px}
.faq .license-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #6f9fb9;background:rgba(121,181,214,.09);color:#c9e7f7;max-width:100%;padding:12px 16px;font-size:14px;line-height:1.5;text-decoration:none}
.booking-license-note{padding:12px 14px;border-left:2px solid #5485a2;background:#e2edf3;border-radius:0 6px 6px 0;font-size:14px;line-height:1.65;color:#25465a}
.booking-license-note a{color:#234c67;text-decoration:underline;text-underline-offset:3px}
.site-footer>p{font-size:14px}.site-footer>p span,.site-footer .footer-note{color:#a9bcc9}
.hero-lede{max-width:48ch}.boat-facts h3{overflow-wrap:break-word}
#date-calendar-panel .calendar-heading button:disabled{opacity:.4;cursor:not-allowed}
#date-calendar-panel .weekday{color:#526a79}
@media(hover:hover){.license-link:hover{background:rgba(121,181,214,.18);border-color:#a1d1ef}}
@media(max-width:800px){.faq summary{font-size:16px}.faq details p{margin-right:0}.faq .license-link{width:100%}.hero-lede{max-width:42ch}}
@media(prefers-reduced-motion:reduce){.faq summary>span{transition:none}}
