/* Shared public-site finish, drawn from the Charter Trips palette.
   Page layouts, booking controls, media behavior and trip-card rules stay local. */
:root{
  --serif:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --paper:#f0f4f7;
  --silver:#bfced8;
  --accent-blue:#a1d1ef;
  --line:rgba(169,202,223,.2);
  --site-navy:#0b1d2a;
  --site-steel:#142c3c;
  --site-divider:rgba(169,202,223,.16);
  --site-radius:8px;
  --site-space:clamp(64px,7vw,96px);
}
body,body.captain-page{
  background:radial-gradient(ellipse at 90% 0%,#142c3c 0,transparent 38%),
    radial-gradient(ellipse at 10% 55%,rgba(86,145,181,.08),transparent 70%),#0b1d2a;
  color:var(--paper);
  -webkit-font-smoothing:antialiased;
}
/* A single continuous canvas avoids separate rectangular section backgrounds. */
.area-page main,.experience.section-shell{background:none}
.area-hero-bg,.area-hero:after{
  -webkit-mask-image:linear-gradient(#000 62%,transparent 100%);
  mask-image:linear-gradient(#000 62%,transparent 100%);
}
.area-hero:after{
  background:linear-gradient(90deg,rgba(11,29,42,.78),rgba(11,29,42,.24) 80%),
    linear-gradient(0deg,rgba(11,29,42,.8),transparent 75%);
}
.area-cta:before{background:none}
.page-glow{display:none}

/* Keep reading pages narrow while aligning the shared outer shell. */
.site-header,.site-footer,.captain-footer,.policy-footer{border-color:var(--site-divider)}
.site-header{column-gap:24px}
.site-header .brand{min-width:0;flex-shrink:0}
.nav-links,.captain-nav,.policy-nav{font-family:var(--sans);font-size:13px;font-weight:700;line-height:1.6}
.nav-links a,.captain-nav a,.policy-nav a{display:inline-flex;align-items:center;min-height:44px;color:#bfced8}
.nav-links a[aria-current="page"],.captain-nav a[aria-current="page"]{color:var(--accent-blue)}
.nav-links .nav-cta{border-color:rgba(121,181,214,.7);border-radius:4px;color:#a9d3ea;justify-content:center}
.menu-button{min-width:44px;min-height:44px;flex-shrink:0}
.site-footer,.captain-footer,.policy-footer{padding-block:32px;color:#a9bcc9;line-height:1.7}
.site-footer>p{font-size:14px}
.site-footer>p span,.site-footer .footer-note{color:#a9bcc9}
.site-footer a,.captain-footer a,.policy-footer a{display:inline-flex;align-items:center;min-height:44px}

/* The same condensed, restrained italic headings as the charter collection. */
.hero h1,.experience h2,.booking h2,.faq h2,
.captain-page h1,.captain-page h2,.policy h1,.policy h2,
.partners-intro h1,.partner-copy h2,.area-hero h1,.area-section h2,.place-card h3,.area-cta h2,
.lake-trout-page h1,.lake-trout-page h2:not(.lt-sources h2){
  font-family:var(--serif);font-weight:600;font-style:italic;
  letter-spacing:-.015em;line-height:1.08;text-wrap:balance;padding-right:.12em;
}
.hero h1 em,.captain-page h1 em,.captain-page h2 em{color:var(--accent-blue);font-style:inherit}
.hero-lede,.experience-copy>p:not(.eyebrow),.captain-page p,
.area-copy,.place-card>p:not(.eyebrow),.area-cta-copy,.policy p{color:var(--silver)}
.captain-page .captain-lede{color:#edf5fa}
.captain-page .quiet-note,.captain-page .boat-source,.area-note p{color:#a9bcc9}
.captain-page .eyebrow,.area-page .eyebrow{font-size:10px;line-height:1.8;letter-spacing:.1em;color:#a9c3d3}
.area-hero .eyebrow{color:#c2d9e6}
.area-page p{ text-wrap:pretty }

/* Match the charter buttons without touching form controls or trip selectors. */
.button.button-primary,.area-cta .button{
  min-height:52px;padding:14px 18px;gap:14px;border:0;border-radius:4px;
  background:#9bc9e2;color:#102b3c;box-shadow:none;
  font-family:var(--sans);font-size:13px;font-weight:800;line-height:1.5;
  max-width:100%;white-space:normal;transition:background .2s ease;
}
.button.button-primary:hover,.area-cta .button:hover{transform:none;box-shadow:none}
.button.button-primary span{flex-shrink:0}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #a1d1ef;outline-offset:4px}

/* Preserve every photograph, crop and logo; remove the floating-panel look. */
.hero-photo,.captain-portrait,.salmon-portrait,.boat-photo,.partner-logo{
  border:0;border-radius:var(--site-radius);box-shadow:none;
}
.hero-photo video,.captain-portrait img,.salmon-portrait img,.place-card img,
.stealthcraft-photo-frame{border:0;border-radius:var(--site-radius);box-shadow:none}
.captain-portrait,.salmon-portrait,.boat-photo{background:none;overflow:visible}
.boat-photo img,.lt-film-frame{background:var(--site-navy)}
.boat-photo figcaption{padding:13px 0}
/* Partner artwork retains its original black/white background and colors. */
.partner-logo{background:#000;overflow:hidden}
.captain-trust{border:0;border-top:1px solid var(--site-divider);border-bottom:1px solid var(--site-divider);border-radius:0;background:none;padding:20px 0}
.deposit-panel{border:0;border-top:1px solid var(--site-divider);border-radius:0;background:none;box-shadow:none;padding:24px 0 0}
.booking-form{box-shadow:none}
.experience.section-shell{border-color:var(--site-divider)}
.water-story,.water-detail,.boat-facts>div,.captain-closing,.policy section,
.partner-feature,.lt-section,.lt-facts,.lt-forms>div,.lt-sources,.faq,.faq-list,.faq details{
  border-color:var(--site-divider);
}

/* A common section rhythm with each page's existing grid and reading width. */
.captain-intro,.water-story,.lt-section{padding-block:var(--site-space)}
.boat-story{padding-top:var(--site-space)}
.partners-intro{padding-top:var(--site-space)}
.area-section{padding-top:var(--site-space)}
.area-cta{padding-block:var(--site-space)}
.partner-feature+.partner-feature{margin-top:64px;padding-top:64px}
.partner-list{padding-bottom:var(--site-space)}

@media(hover:hover){
  .button.button-primary:hover,.area-cta .button:hover{background:#b9ddef;box-shadow:none}
  .nav-links a:hover,.captain-nav a:hover,.policy-nav a:hover,
  .site-footer a:hover,.captain-footer a:hover,.policy-footer a:hover{color:#a1d1ef}
}
@media(max-width:800px){
  :root{--site-space:56px}
  .section-shell,.site-header{width:calc(100% - 40px);max-width:650px}
  .area-hero.section-shell,.experience.section-shell{width:100%;max-width:none}
  .area-hero{padding-inline:max(20px,calc((100% - 650px)/2))}
  .site-header{height:auto;min-height:80px;padding-block:12px;gap:12px}
  .nav-links{top:100%;background:#142c3c;border:1px solid var(--site-divider);border-radius:8px;box-shadow:none}
  .nav-links a{display:flex;min-height:44px;white-space:normal!important}
  .captain-page .site-header{gap:16px;padding-block:16px}
  .captain-nav,.policy-nav{gap:8px 18px;flex-wrap:wrap}
  .site-footer{gap:24px}
  .partner-feature+.partner-feature{margin-top:42px;padding-top:42px}
  .partner-list{padding-bottom:56px}
  .captain-trust{padding:18px 0}
  .area-page .area-copy,.area-page .place-card>p:not(.eyebrow){font-size:15px;line-height:1.8}
  .button.button-primary,.area-cta .button{font-size:14px}
}
@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}
}
@media(prefers-reduced-motion:reduce){.button.button-primary{transition:none}}
