
*, ::before, ::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: currentColor;
}
html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  tab-size: 4;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  scroll-behavior: smooth;
}
body { margin: 0; line-height: inherit; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0; }
a { color: inherit; text-decoration: inherit; }
b, strong { font-weight: bolder; }
button, input, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}
button { background-color: transparent; background-image: none; cursor: pointer; }
ol, ul { margin: 0; padding: 0; }
img, svg { display: block; vertical-align: middle; }
img { max-width: 100%; height: auto; }
[hidden] { display: none !important; }


[data-mm-header]{--mm-bg:#ffffff;--mm-text:#333333;--mm-primary:#2563eb;--mm-overlay-bg:rgba(0,0,0,0.5);--mm-transition:0.3s ease}[data-mm-header]{position:relative}[data-mm-toggle]{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:1001}[data-mm-toggle] span{display:block;width:24px;height:2px;background:var(--mm-text);transition:var(--mm-transition)}[data-mm-menu]{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;background:var(--mm-bg);opacity:0;visibility:hidden;transition:opacity var(--mm-transition),visibility var(--mm-transition);z-index:1100;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px}[data-mm-menu].mm-open{opacity:1;visibility:visible}[data-mm-menu] ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:8px}[data-mm-menu] ul li a{display:block;padding:12px 24px;color:var(--mm-text);text-decoration:none;font-size:22px;font-weight:500;transition:color var(--mm-transition)}[data-mm-menu] ul li a:hover{color:var(--mm-primary)}[data-mm-close]{position:absolute;top:20px;right:20px;background:none;border:none;font-size:32px;line-height:1;cursor:pointer;color:var(--mm-text);padding:4px 8px;z-index:1101}@media(min-width:768px){[data-mm-toggle]{display:none!important}[data-mm-menu]{position:static!important;width:auto!important;height:auto!important;background:transparent!important;opacity:1!important;visibility:visible!important;padding:0!important;flex-direction:row!important;justify-content:flex-end!important}[data-mm-menu] ul{flex-direction:row;gap:0;align-items:center}[data-mm-menu] ul li a{padding:8px 16px;font-size:inherit;font-weight:inherit}[data-mm-close]{display:none!important}}@media(prefers-reduced-motion:reduce){[data-mm-menu],[data-mm-toggle] span{transition:none!important}}


:root {
  --c-bg: #10201a;
  --c-bg-2: #16291f;
  --c-bg-3: #1d3328;
  --c-ink: #141414;
  --c-text: #ffffff;
  --c-text-soft: #d7e0d9;
  --c-text-mute: #a9b8ae;
  --c-accent: #f0962e;
  --c-accent-hover: #f7a94a;
  --c-gold: #e6bd6a;
  --c-vein: #c9a45a;
  --c-cream: #f5e7cf;
  --c-paper: #f8f1e4;
  --c-navy: #1b2a5e;
  --c-rust: #9c4a0c;
  --c-line: rgba(230, 189, 106, 0.22);
}


body {
  background: var(--c-bg);
  color: var(--c-text);
  font-size: 1rem;
  line-height: 1.6;
}
h1, h2, h3 { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
h1 { font-size: clamp(1.75rem, 4.2vw, 3rem); font-weight: 500; letter-spacing: -0.02em; line-height: 1.12; }
h2 { font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 500; letter-spacing: -0.01em; line-height: 1.2; }
h3 { font-size: 1.1rem; font-weight: 600; line-height: 1.3; }
p { line-height: 1.6; }
:focus-visible { outline: 3px solid var(--c-gold); outline-offset: 2px; }


.fx-page { min-height: 100vh; }
.hull-app { display: flex; flex-direction: column; min-height: 100vh; }
.hull--main { flex: 1 0 auto; display: block; }
.hull--section { padding: 2rem 1rem; background: var(--c-bg-2); }
.hull--section:nth-child(odd) { background: var(--c-bg-3); }
.hull__inner { width: min(92%, 1200px); max-width: 1200px; margin: 0 auto; }
.hull__content { min-width: 0; }
.hull__row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
}
.hull__row > * {
  flex: 1 1 calc(50% - 0.5rem);
  min-width: 300px;
}
section[id], [id="rendeles"] { scroll-margin-top: 5.5rem; }


.harbor-bar {
  --mm-bg: #f5e7cf;
  --mm-text: #141414;
  --mm-primary: #9c4a0c;
  --mm-overlay-bg: rgba(16, 32, 26, 0.6);
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 64px;
  padding: 0.5rem max(1rem, calc((100% - 1200px) / 2));
  background: var(--c-cream);
  color: var(--c-ink);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}
.harbor-bar__brand { flex: 0 0 auto; }
.harbor-bar__logo { height: 2.6rem; width: auto; }
.harbor-bar__nav { margin-left: auto; }
.harbor-bar__item { display: block; }
.harbor-bar__link {
  color: var(--c-ink);
  border-bottom: 2px solid transparent;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.harbor-bar__link:hover { color: var(--c-rust); border-bottom-color: var(--c-rust); }
.harbor-bar__close { color: var(--c-ink); }
.harbor-bar__toggle { margin-left: auto; width: 44px; height: 44px; align-items: center; }
.harbor-bar__toggle span { background: var(--c-ink); border-radius: 2px; }
.harbor-bar__cta { flex: 0 0 auto; padding: 0.6rem 1.3rem; font-size: 0.95rem; }
.fx-nav { align-items: center; }
.fx-li { list-style: none; }


.skipper-btn {
  display: inline-block;
  background: var(--c-accent);
  color: #141414;
  border: none;
  padding: .85rem 1.8rem;
  font-weight: 700;
  cursor: pointer;
  transform: skewX(-10deg);
  text-align: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.skipper-btn:hover { background: var(--c-accent-hover); box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35); }
.skipper-btn > span { display: inline-block; transform: skewX(10deg); }
.skipper-btn__label { display: inline-block; transform: skewX(10deg); }
.skipper-btn--wide { padding: 1rem 2.2rem; font-size: 1.05rem; }
.skipper-btn[disabled] { opacity: 0.75; cursor: progress; }
.anchor-link {
  color: var(--c-gold);
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  transition: color 0.2s ease;
}
.anchor-link:hover { color: var(--c-accent-hover); }


.harbor-view { padding: 1.25rem 1rem 2rem; background: var(--c-bg); }
.harbor-view__panel {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "eyebrow figure"
    "title figure"
    "copy figure";
  grid-template-rows: auto auto 1fr;
  gap: 1rem 3rem;
  align-items: center;
  padding: 4rem 1rem;
  padding-inline: clamp(1rem, 4vw, 3.5rem);
  border-radius: 24px;
  background-color: var(--c-bg-3);
  background-image:
    radial-gradient(circle at 78% 38%, rgba(201, 164, 90, 0.30), transparent 55%),
    linear-gradient(155deg, #1d3328 0%, #10201a 70%);
  overflow: hidden;
  isolation: isolate;
}
.harbor-view__panel::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(16, 32, 26, 0.92) 0%, rgba(16, 32, 26, 0.55) 50%, rgba(16, 32, 26, 0.15) 100%);
}
.harbor-view__eyebrow { grid-area: eyebrow; align-self: end; }
.harbor-view__title { grid-area: title; color: var(--c-text); }
.harbor-view__figure { grid-area: figure; justify-self: center; width: 100%; max-width: 520px; }
.harbor-view__photo {
  height: auto;
  object-fit: contain;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}
.harbor-view__copy { grid-area: copy; align-self: start; }
.harbor-view__lead { color: var(--c-text-soft); max-width: 36rem; }
.harbor-view__amount { font-size: clamp(1.8rem, 3vw, 2.4rem); color: var(--c-gold); line-height: 1; }
.harbor-view__badges { margin-top: 0.5rem; }
.harbor-view__badge {
  padding: 0.35rem 0.8rem;
  border: 1px solid var(--c-line);
  border-radius: 999px;
  color: var(--c-text-soft);
  background: rgba(16, 32, 26, 0.55);
}


.captain-note__step {
  position: relative;
  padding: 1.25rem 1.25rem 1.25rem 1.5rem;
  border-left: 3px solid var(--c-vein);
  background: rgba(16, 32, 26, 0.5);
  border-radius: 0 12px 12px 0;
}
.captain-note__steps > * { flex-basis: calc(33.333% - 0.7rem); }


.wake-dots {
  height: 60px;
  background-image: radial-gradient(currentColor 1.5px, transparent 1.5px);
  background-size: 18px 18px;
  color: #c9a45a;
  opacity: .8;
  background-color: var(--c-bg);
}


.cargo-list__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.25rem;
}
.cargo-card {
  position: relative;
  padding: 2rem 1.75rem;
  padding-top: 3.25rem;
  border-radius: 12px;
  background: var(--c-bg);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  border: 1px solid var(--c-line);
}
.cargo-card::before {
  content: attr(data-step);
  position: absolute;
  top: -.2em;
  right: .2em;
  font-size: 5rem;
  font-weight: 800;
  color: rgba(240, 150, 46, 0.14);
  line-height: 1;
}
.cargo-card__badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  background: var(--c-accent);
  color: #141414;
  padding: 0.25rem 0.75rem;
  border-radius: 4px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.cargo-card__title { position: relative; }


.tide-band {
  min-height: 34vh;
  padding: 3rem 1rem;
  background-color: #0c1813;
  background-image:
    linear-gradient(rgba(12, 24, 19, 0.72), rgba(12, 24, 19, 0.72)),
    repeating-linear-gradient(118deg, transparent 0 46px, rgba(201, 164, 90, 0.35) 47px, transparent 49px 120px),
    repeating-linear-gradient(28deg, transparent 0 80px, rgba(201, 164, 90, 0.22) 81px, transparent 83px 170px);
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}
.tide-band__line { max-width: 44rem; font-size: clamp(1.15rem, 2.4vw, 1.6rem); color: var(--c-cream); line-height: 1.4; }


.home-port__grid { align-items: center; }
.home-port__facts {
  padding: 1.5rem;
  border-radius: 16px;
  background: var(--c-bg);
  border: 1px solid var(--c-line);
}
.home-port__fact { padding: 0.7rem 0; border-bottom: 1px dashed var(--c-line); }
.home-port__fact:last-child { border-bottom: none; }
.home-port__fact dd { text-align: right; }


.knot-by-knot__list > * { flex-basis: calc(33.333% - 0.7rem); }
.knot-by-knot__step { align-items: flex-start; padding: 1.25rem; border-radius: 12px; background: rgba(16, 32, 26, 0.55); }
.knot-by-knot__num {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--c-gold);
  color: #141414;
}


.anchor-back__item { align-items: flex-start; padding: 1.25rem; border: 1px solid var(--c-line); border-radius: 12px; }
.anchor-back__icon { flex: 0 0 auto; color: var(--c-gold); }


.signal-desk { background: var(--c-bg) !important; }
.signal-desk__grid { align-items: flex-start; gap: 2rem; }
.signal-desk__num {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 2px solid var(--c-gold);
  color: var(--c-gold);
  font-size: 0.9rem;
}
.signal-desk__step { align-items: center; }
.signal-desk__tel { color: var(--c-gold); border-bottom: 1px solid currentColor; }
.order-form {
  padding: 2rem 1.5rem;
  border-radius: 16px;
  background: var(--c-paper);
  color: var(--c-ink);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.4);
}
.order-form__label { color: var(--c-ink); }
.order-form__input {
  min-height: 48px;
  padding: 0.7rem 0.9rem;
  border: 2px solid #b9ab92;
  border-radius: 8px;
  background: #ffffff;
  color: var(--c-ink);
  font-size: 1rem;
  transition: border-color 0.2s ease;
}
.order-form__input:focus { border-color: var(--c-navy); outline: none; box-shadow: 0 0 0 3px rgba(27, 42, 94, 0.25); }
.order-form__phone { gap: 0; }
.order-form__prefix {
  display: grid;
  place-items: center;
  min-height: 48px;
  padding: 0 0.8rem;
  border: 2px solid #b9ab92;
  border-right: none;
  border-radius: 8px 0 0 8px;
  background: var(--c-cream);
}
.order-form__input--tel { border-radius: 0 8px 8px 0; }
.order-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.order-form__check { align-items: flex-start; cursor: pointer; color: var(--c-ink); }
.order-form__box { flex: 0 0 auto; width: 22px; height: 22px; margin-top: 2px; accent-color: var(--c-navy); }
.order-form__link { color: var(--c-navy); text-decoration: underline; }
.order-form__error { color: #a3200f; font-weight: 600; }
.order-form__status { padding: 0.75rem 1rem; border-radius: 8px; background: #fbe3dc; color: #7d1a0b; font-weight: 600; }
.order-form__small { color: #5a4a36; }
.order-form__submit { width: 100%; }
.order-form__spinner {
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 3px solid rgba(20, 20, 20, 0.2);
  border-left-color: #141414;
  border-radius: 50%;
  animation: gh-spin 1s linear infinite;
}
@keyframes gh-spin { to { transform: rotate(360deg); } }


.deck-questions__list { max-width: 900px; }
.deck-questions__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--c-line);
}
.deck-questions__icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(240, 150, 46, 0.14);
  color: var(--c-accent);
  display: grid;
  place-items: center;
  font-weight: 700;
}
.deck-questions__a { margin-top: 0.4rem; }


.dock-bar {
  position: sticky;
  bottom: 0;
  z-index: 900;
  gap: 1.25rem;
  justify-content: flex-end;
  padding: 0.6rem max(1rem, calc((100% - 1200px) / 2));
  background: rgba(12, 24, 19, 0.96);
  border-top: 1px solid var(--c-line);
  box-shadow: 0 -6px 18px rgba(0, 0, 0, 0.35);
}
.dock-bar__text { margin-right: auto; color: var(--c-text-soft); }
.dock-bar__text strong { color: var(--c-gold); }
.dock-bar__link { display: none; color: var(--c-text); }
.dock-bar__btn { padding: 0.6rem 1.4rem; }


.harbor-foot { background: #0b1510; color: #c9d1d9; padding: 3rem 1rem 1.5rem; }
.harbor-foot__top { display: grid; grid-template-columns: 1fr 1.4fr; gap: 2rem; }
.harbor-foot__logo-wrap { align-self: flex-start; padding: 0.5rem 0.9rem; border-radius: 10px; background: var(--c-cream); }
.harbor-foot__logo { height: 2.4rem; width: auto; }
.harbor-foot__title { color: var(--c-text); font-size: 1.15rem; }
.harbor-foot__badges { display: flex; gap: 1rem; }
.harbor-foot__badge {
  gap: 0.6rem;
  padding: 0.55rem 1rem;
  min-height: 48px;
  border-radius: 10px;
  border: 1px solid rgba(201, 209, 217, 0.35);
  background: #000000;
  color: #ffffff;
  line-height: 1.2;
  transition: border-color 0.2s ease;
}
.harbor-foot__badge:hover { border-color: var(--c-gold); }
.harbor-foot__badge-ic { flex: 0 0 auto; color: var(--c-gold); }
.harbor-foot__badge-txt { font-weight: 600; }
.harbor-foot__note { color: #c9d1d9; }
.harbor-foot__cols { justify-content: flex-end; }
.fx-colbox { min-width: 10rem; }
.harbor-foot__head { color: var(--c-gold); margin-bottom: 0.75rem; }
.harbor-foot__li { display: block; }
.harbor-foot__link { color: #c9d1d9; transition: color 0.2s ease; }
.harbor-foot__link:hover { color: var(--c-gold); text-decoration: underline; }
.harbor-foot__linkbtn { text-align: left; padding: 0; font-size: inherit; }
.harbor-foot__bottom { margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(201, 209, 217, 0.18); }
.harbor-foot__disclaimer { color: #c9d1d9; max-width: 60rem; }
.harbor-foot__copy { color: var(--c-text-mute); }


.berth-page { padding: 2rem 1rem 3rem; background: var(--c-bg); }
.berth-page__sheet {
  max-width: 860px;
  margin: 0 auto;
  padding: clamp(1.5rem, 4vw, 3rem);
  border-radius: 16px;
  background: var(--c-paper);
  color: var(--c-ink);
}
.berth-page__title { color: var(--c-ink); font-size: clamp(1.6rem, 3.6vw, 2.4rem); }
.berth-page__updated { color: #5a4a36; }
.berth-page__body h2 { font-size: 1.25rem; font-weight: 600; margin: 1.75rem 0 0.5rem; color: var(--c-ink); }
.berth-page__body p { margin: 0 0 0.75rem; color: #2a2a2a; }
.berth-page__body ul { margin: 0 0 1rem 1.25rem; list-style: disc; }
.berth-page__body li { margin-bottom: 0.35rem; color: #2a2a2a; }
.berth-page__body a { color: var(--c-navy); text-decoration: underline; }
.berth-page__cta { margin-top: 1.5rem; }
.berth-page__back { color: var(--c-navy); text-decoration: underline; }



.app { position: relative; }
.hull { min-width: 0; }
.captain-note, .cargo-list, .home-port, .knot-by-knot, .anchor-back, .deck-questions { position: relative; }
.harbor-foot__col { min-width: 0; }

.berth-body { overflow-x: clip; }
.hull--header { flex: 0 0 auto; }
.hull--footer { flex: 0 0 auto; margin-top: auto; }
.harbor-bar__list { align-items: center; }
.harbor-view__inner, .captain-note__inner, .cargo-list__inner, .home-port__inner, .knot-by-knot__inner,
.anchor-back__inner, .signal-desk__inner, .deck-questions__inner, .harbor-foot__inner, .berth-page__inner { position: relative; }
.captain-note__head, .cargo-list__head, .knot-by-knot__head, .anchor-back__head, .deck-questions__head { max-width: 46rem; }
.captain-note__kicker, .home-port__kicker, .signal-desk__kicker { margin-bottom: 0.4rem; }
.captain-note__title, .cargo-list__title, .home-port__title, .knot-by-knot__title,
.anchor-back__title, .signal-desk__title, .deck-questions__title { color: var(--c-text); }
.captain-note__intro, .cargo-list__intro, .knot-by-knot__intro, .anchor-back__intro, .deck-questions__intro { font-size: 1.02rem; }
.captain-note__time { letter-spacing: 0.02em; }
.captain-note__txt, .cargo-card__text, .knot-by-knot__txt, .anchor-back__txt, .home-port__p { line-height: 1.6; }
.knot-by-knot__name, .anchor-back__name, .deck-questions__q { color: var(--c-text); }
.knot-by-knot__body, .anchor-back__body, .deck-questions__qa { min-width: 0; }
.home-port__text { max-width: 36rem; }
.anchor-back__list > * { flex-basis: calc(50% - 0.5rem); }
.harbor-view__price { padding-top: 0.25rem; }
.harbor-view__note { letter-spacing: 0.01em; }
.signal-desk__flow { max-width: 34rem; }
.signal-desk__steps { counter-reset: none; }
.signal-desk__call { line-height: 1.7; }
.order-form__group { position: relative; }
.order-form__consent { line-height: 1.45; }
.harbor-foot__lead { max-width: 30rem; }
.harbor-foot__links { line-height: 1.5; }
.cabin-notice__text { line-height: 1.55; }
.cabin-notice__actions, .cabin-dialog__actions { align-items: stretch; }


.cabin-notice {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 5rem;
  z-index: 1200;
  max-width: 560px;
  padding: 1.25rem;
  border-radius: 14px;
  background: var(--c-bg-2);
  color: var(--c-text);
  border: 1px solid var(--c-line);
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.5);
}
.cabin-notice__link { color: var(--c-gold); text-decoration: underline; }
.cabin-notice__btn {
  flex: 1 1 auto;
  min-height: 44px;
  padding: 0.6rem 1rem;
  border-radius: 8px;
  font-weight: 700;
  font-size: 0.95rem;
  transition: background-color 0.2s ease;
}
.cabin-notice__btn--solid { background: var(--c-accent); color: #141414; }
.cabin-notice__btn--solid:hover { background: var(--c-accent-hover); }
.cabin-notice__btn--line { border: 2px solid var(--c-gold); color: var(--c-gold); }
.cabin-dialog {
  position: fixed;
  inset: 0;
  z-index: 1300;
  padding: 1rem;
  background: rgba(8, 16, 12, 0.72);
}
.cabin-dialog__panel {
  width: min(100%, 520px);
  padding: 1.5rem;
  border-radius: 14px;
  background: var(--c-bg-2);
  color: var(--c-text);
  border: 1px solid var(--c-line);
}
.cabin-dialog__title { font-size: 1.2rem; }
.cabin-dialog__row { align-items: flex-start; padding: 1rem 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.cabin-dialog__desc { color: var(--c-text-soft); }
.cabin-dialog__state { color: var(--c-gold); }


.fx { display: flex; }
.fx-wrap { flex-wrap: wrap; }
.fx-col { flex-direction: column; }
.ai-c { align-items: center; }
.jc-sb { justify-content: space-between; }
.jc-c { justify-content: center; }
.g1 { gap: 0.5rem; }
.g2 { gap: 1rem; }
.g3 { gap: 2rem; }
.m0 { margin: 0; }
.mb1 { margin-bottom: 0.5rem; }
.mb2 { margin-bottom: 1rem; }
.mb3 { margin-bottom: 2rem; }
.ta-c { text-align: center; }
.fw6 { font-weight: 600; }
.fw7 { font-weight: 700; }
.fs-xs { font-size: 0.75rem; }
.fs-s { font-size: 0.875rem; }
.fs-l { font-size: 1.125rem; }
.tc-soft { color: var(--c-text-soft); }
.tc-gold { color: var(--c-gold); }
.tc-ink { color: var(--c-ink); }
.ls-up { text-transform: uppercase; letter-spacing: 0.08em; }
.mw-ch { max-width: 62ch; }
.rel { position: relative; }
.w100 { width: 100%; }
.lst0 { list-style: none; padding: 0; margin: 0; }
.nowrap { white-space: nowrap; }


@media (max-width: 1024px) {
  .harbor-view__panel { gap: 1rem 2rem; padding: 3rem 1rem; padding-inline: 2rem; }
  .captain-note__steps > *, .knot-by-knot__list > * { flex-basis: calc(50% - 0.5rem); }
  .harbor-foot__top { grid-template-columns: 1fr; }
  .harbor-foot__cols { justify-content: flex-start; }
}


@media (max-width: 767px) {
  body { padding-bottom: 4.5rem; }
  .harbor-bar { min-height: 60px; }
  .harbor-bar__logo { height: 2.3rem; }
  .harbor-bar__cta { display: none; }
  .harbor-bar__nav { margin-left: 0; }
  .harbor-bar__link { border-bottom: none; font-size: 1.3rem; }
  .hull--section { padding: 1.75rem 0.75rem; }
  .hull__inner { width: 100%; }
  .hull__row > * { min-width: 0; flex-basis: 100%; }
  .harbor-view { padding: 0.75rem 0.75rem 1.5rem; }
  .harbor-view__panel {
    grid-template-columns: 1fr;
    grid-template-areas: "eyebrow" "title" "figure" "copy";
    grid-template-rows: auto;
    gap: 0.9rem;
    padding: 1.25rem 1rem 1.5rem;
    border-radius: 18px;
  }
  .harbor-view__figure { max-width: 100%; }
  .harbor-view__actions .skipper-btn { width: 100%; }
  .tide-band { background-attachment: scroll; min-height: 0; }
  .order-form { padding: 1.5rem 1rem; }
  .deck-questions__item { gap: 0.75rem; }
  .dock-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    justify-content: space-around;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem calc(0.5rem + env(safe-area-inset-bottom, 0px));
  }
  .dock-bar__text { display: none; }
  .dock-bar__link { display: grid; place-items: center; min-height: 44px; padding: 0 0.6rem; }
  .dock-bar__btn { padding: 0.65rem 1.2rem; }
  .cabin-notice { left: 0.5rem; right: 0.5rem; bottom: 4.6rem; padding: 0.85rem; gap: 0.6rem; }
  .cabin-notice__text { font-size: 0.8rem; line-height: 1.45; }
  .cabin-notice__actions { flex-wrap: nowrap; gap: 0.4rem; }
  .cabin-notice__btn { padding: 0.45rem 0.55rem; font-size: 0.8rem; min-width: 0; }
  .harbor-foot { padding: 2.5rem 0.75rem 1.5rem; }
}

@media (max-width: 380px) {
  .harbor-foot__badges { flex-direction: column; }
  .dock-bar__link { padding: 0 0.35rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .skipper-btn, .harbor-bar__link, .order-form__input { transition: none; }
  .order-form__spinner { animation-duration: 3s; }
}
