/* Learning pages inherit Ocean's automatic navy and explicit light palette. */
body.home-canvas-page .atlas-intent-art svg {
  --art-ink:var(--os-ink); --art-blue:var(--os-blue); --art-water:var(--os-soft);
  --art-panel:var(--os-panel); --art-line:var(--os-muted); --art-gold:var(--os-gold);
  display:block; color:var(--os-ink);
}
body.home-canvas-page:not([data-home-mode="tide"]) .home-journey-shortcuts { margin:0 0 12px; color:var(--os-muted); font-size:14px; line-height:1.5; }
body.home-canvas-page:not([data-home-mode="tide"]) .home-journey-shortcuts a { color:var(--os-blue); font-weight:700; text-underline-offset:3px; }
/* The three home intents are the first editorial decision; tide mode retains its existing layout. */
body.home-canvas-page:not([data-home-mode="tide"]) .home-journey-intro { padding:20px 0 22px; }
body.home-canvas-page:not([data-home-mode="tide"]) .home-journey-intro p { color:var(--os-blue); text-transform:uppercase; letter-spacing:.07em; }
body.home-canvas-page:not([data-home-mode="tide"]) .home-journey-intro h1 { max-width:820px; font-size:clamp(29px,4vw,46px); line-height:1.16; }
body.home-canvas-page:not([data-home-mode="tide"]) .home-journey-intro span { max-width:640px; margin-top:10px; font-size:16px; line-height:1.55; }
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths { gap:12px; }
body.home-canvas-page:not([data-home-mode="tide"]) .hp-start-paths .ceph-entry-paths a {
  position:relative; display:flex; min-height:160px; flex-direction:column; align-items:flex-start;
  justify-content:flex-end; gap:5px; padding:20px; border:1px solid var(--os-line);
  border-radius:18px; background:var(--os-panel); color:var(--os-ink);
}
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths a .atlas-intent-art {
  display:flex; width:100%; height:128px; flex:none; align-items:center; justify-content:center;
  overflow:hidden; margin:22px 0 9px;
}
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths .atlas-intent-art img {
  display:block; width:100%; height:100%; object-fit:contain;
}
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths .atlas-intent-art svg {
  width:100%; height:100%; flex:0 0 100%;
}
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths .atlas-intent-gear img:first-child { width:67%; }
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths .atlas-intent-gear img:last-child { width:33%; }
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths .atlas-intent-gear svg { width:33%; flex-basis:33%; }
body.home-canvas-page:not([data-home-mode="tide"]) .hp-start-paths .ceph-entry-paths a:first-child {
  background:linear-gradient(150deg,var(--os-soft),var(--os-panel) 75%); border-color:var(--os-blue);
}
body.home-canvas-page:not([data-home-mode="tide"]) .hp-start-paths .ceph-entry-paths a.ceph-entry-water { background:var(--os-raised); }
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths a::before {
  content:attr(data-intent-number); position:absolute; top:14px; left:18px; color:var(--os-blue);
  font-size:13px; font-weight:800; letter-spacing:.06em;
}
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths a strong { font-size:clamp(18px,2.2vw,23px); line-height:1.3; }
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths a span { color:var(--os-muted); font-size:14px; line-height:1.45; }
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths a:hover { box-shadow:inset 0 0 0 2px var(--os-blue); }
body.home-canvas-page:not([data-home-mode="tide"]) .home-stage-preview { margin-top:26px; border-top:2px solid var(--os-line); }
body.home-canvas-page:not([data-home-mode="tide"]) .home-stage-preview ol { grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; border-top:1px solid var(--os-line); }
body.home-canvas-page:not([data-home-mode="tide"]) .home-stage-preview li a {
  min-height:120px; padding:15px 10px; border:0; border-right:1px solid var(--os-line); border-radius:0;
  background:transparent; color:var(--os-ink); font-size:16px;
}
body.home-canvas-page:not([data-home-mode="tide"]) .home-stage-preview li:first-child a { padding-left:0; }
body.home-canvas-page:not([data-home-mode="tide"]) .home-stage-preview li:last-child a { border-right:0; }
body.home-canvas-page:not([data-home-mode="tide"]) .home-stage-preview li a::before { color:var(--os-blue); }
@media(max-width:760px) {
body.home-canvas-page:not([data-home-mode="tide"]) .home-stage-preview ol { grid-template-columns:repeat(3,minmax(0,1fr)); }
body.home-canvas-page:not([data-home-mode="tide"]) .home-stage-preview li a { min-height:92px; border-bottom:1px solid var(--os-line); }

}
@media(max-width:520px) {
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.home-canvas-page:not([data-home-mode="tide"]) .hp-start-paths .ceph-entry-paths a { min-height:184px; padding:13px; }
body.home-canvas-page:not([data-home-mode="tide"]) .hp-start-paths .ceph-entry-paths a:first-child { grid-column:1/-1; min-height:172px; }
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths a .atlas-intent-art { height:76px; margin:20px 0 4px; }
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths a:first-child .atlas-intent-art { height:88px; }
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths a strong { font-size:17px; }
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths a span:not(.atlas-intent-art) { font-size:13px; }
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths a::before { top:11px; }

}
@media(max-width:350px) {
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths { grid-template-columns:1fr; }
body.home-canvas-page:not([data-home-mode="tide"]) .hp-start-paths .ceph-entry-paths a { min-height:145px; }
body.home-canvas-page:not([data-home-mode="tide"]) .ceph-entry-paths a .atlas-intent-art { height:62px; }

}
/* Home entry: one harbor/date control tree; nearby learning is a native optional disclosure. */
body.home-canvas-page.home-first-impression .home-journey-intro.harbor-hero {
  display:grid; grid-template-columns:minmax(0,1fr) 112px; align-items:center; gap:16px;
  min-height:0; margin:4px 0 8px; padding:8px 0; overflow:visible; border:0; border-radius:0; background:transparent;
}
body.home-canvas-page.home-first-impression .harbor-hero > img {
  position:static; grid-column:2; grid-row:1; width:112px; height:88px; object-fit:cover; border-radius:12px;
}
body.home-canvas-page.home-first-impression .harbor-hero-copy {
  position:static; grid-column:1; grid-row:1; width:auto; min-width:0; padding:0; border:0; border-radius:0;
  background:transparent; box-shadow:none; translate:none;
}
body.home-canvas-page.home-first-impression .harbor-hero-copy h1 { margin:0; color:var(--os-ink); font-size:clamp(24px,3vw,34px); line-height:1.3; letter-spacing:-.035em; }
body.home-canvas-page.home-first-impression .harbor-hero-copy p { margin:6px 0 0; color:var(--os-muted); font-size:14px; font-weight:500; letter-spacing:0; }
body.home-canvas-page.home-first-impression .hp-start-paths { position:static; width:100%; max-width:none; margin:20px 0 0; padding:16px 0 0; border-top:1px solid var(--os-line); }
body.home-canvas-page.home-first-impression .hp-start-paths .ceph-entry-paths { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
body.home-canvas-page.home-first-impression .hp-start-paths .ceph-entry-paths a,
body.home-canvas-page.home-first-impression .hp-start-paths .ceph-entry-paths a:first-child {
  display:grid; grid-template-columns:64px minmax(0,1fr); grid-column:auto; align-items:center; gap:4px 12px;
  min-height:88px; padding:10px; overflow:visible; border:1px solid var(--os-line); border-radius:12px; background:var(--os-panel); box-shadow:none;
}
body.home-canvas-page.home-first-impression .ceph-entry-paths a::before { content:none; }
body.home-canvas-page.home-first-impression .ceph-entry-paths a .atlas-intent-art,
body.home-canvas-page.home-first-impression .ceph-entry-paths a:first-child .atlas-intent-art {
  grid-row:1/3; width:64px; height:64px; margin:0; border-radius:8px; background:var(--os-raised);
}
body.home-canvas-page.home-first-impression .ceph-entry-paths .atlas-intent-art :is(img,svg) { width:100%; height:100%; padding:0; object-fit:contain; }
body.home-canvas-page.home-first-impression .ceph-entry-paths a > :is(strong,span:not(.atlas-intent-art)) { margin:0; overflow-wrap:anywhere; }
body.home-canvas-page.home-first-impression .ceph-entry-paths a strong { align-self:end; font-size:16px; white-space:normal; }
body.home-canvas-page.home-first-impression .ceph-entry-paths a > span:not(.atlas-intent-art) { align-self:start; font-size:13px; }
body.home-canvas-page.home-first-impression .home-journey-shortcuts { display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:4px 12px; margin:8px 0 16px; text-align:left; }
body.home-canvas-page.home-first-impression .home-journey-shortcuts a { display:inline-flex; min-height:44px; align-items:center; color:var(--os-blue); }
body.home-canvas-page.home-first-impression .home-planner { padding:0 12px 16px; }
body.home-canvas-page.home-first-impression .hp-controls { align-items:start; margin:8px 0 16px; padding:0; border:0; }
/* External harbor/date buttons open this same editor after initialization; retain the no-JS summary. */
body.home-canvas-page.home-first-impression #homePlanner[data-home-preparation-port] #homeSelectionControls:not([open]) > summary { display:none; }
body.home-canvas-page.home-first-impression #homePlanner[data-home-preparation-port]:has(#homeSelectionControls:not([open])) > .hp-controls { margin:0; }
body.home-canvas-page.home-first-impression .hp-port-control { grid-template-columns:minmax(0,1fr); }
body.home-canvas-page.home-first-impression .hp-controls .hp-select-label { position:static; width:auto; height:auto; overflow:visible; clip-path:none; color:var(--os-ink); }
body.home-canvas-page.home-first-impression .hp-date-control { padding:12px; border:1px solid var(--os-line); border-radius:12px; }
:root body.fable-page.home-first-impression[data-site-identity][data-ocean-site] #homeDateForm button { background:var(--os-action); border-color:var(--os-action); color:var(--os-on-action); }
:root body.fable-page.home-first-impression[data-site-identity][data-ocean-site] .bf-entry { flex-wrap:wrap; justify-content:flex-start; margin-bottom:4px; }
:root body.fable-page.home-first-impression[data-site-identity][data-ocean-site] .bf-entry a { min-height:48px; padding:10px 12px; border-color:transparent; background:transparent; font-size:1.125rem; line-height:1.5; white-space:normal; }
:root body.fable-page.home-first-impression[data-site-identity][data-ocean-site] .bf-entry a:first-child { background:var(--os-action); color:var(--os-on-action); border-color:var(--os-action); }
body.home-canvas-page.home-first-impression .home-entry-help { margin:8px 0 12px; padding:0; border:0; border-top:1px solid var(--os-line); background:transparent; }
body.home-canvas-page.home-first-impression .home-entry-help > summary { min-height:48px; padding:10px 0; color:var(--os-blue); font-size:1.125rem; cursor:pointer; }
/* The shared journey shell suppresses the old editorial nav in tide mode. This optional help must remain operable. */
:root body.home-first-impression .home-entry-help .ceph-home-paths { display:block !important; }
body.home-canvas-page.home-first-impression .home-entry-help .hp-start-paths { margin:0; padding:8px 0; border:0; }
body.home-canvas-page.home-first-impression .home-comparison { margin:16px 0; border-top:1px solid var(--os-line); }
body.home-canvas-page.home-first-impression .home-comparison > summary { min-height:48px; padding:10px 0; color:var(--os-blue); cursor:pointer; }
body.home-canvas-page.home-first-impression .home-comparison > summary h2 { display:inline; margin:0; font-size:18px; }
body.home-canvas-page.home-first-impression .home-comparison .home-answer-head { flex-wrap:wrap; padding:8px 0; }
body.home-canvas-page.home-first-impression .home-comparison .home-location-button { min-width:44px; min-height:44px; padding:8px 12px; border:1px solid var(--os-line); border-radius:12px; background:var(--os-panel); color:var(--os-blue); font:inherit; cursor:pointer; }
body.home-canvas-page.home-first-impression .home-location-status { margin:0 0 8px; color:var(--os-muted); }
/* One visual harbor is enough: live tide data sits on a compact, readable brand panel. */
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] .home-planner::before { display:none; }
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] .ah-story { display:none; }
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] .hp-heading {
  min-height:72px; padding:8px 0; justify-content:flex-start; text-align:left;
  border:0; border-radius:0; background:transparent; color:var(--os-ink);
}
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] .hp-heading > div { margin-inline:0; }
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] .hp-port-title { justify-content:flex-start; gap:8px; }
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] .hp-heading :is(h1,h2) { color:var(--os-ink); font-size:clamp(1.875rem,3vw,2.25rem); line-height:1.3; }
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] .hp-heading :is(.hp-eyebrow,#homeSelectedArea) { display:block; color:var(--os-muted); font-size:1rem; line-height:1.5; }
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] #homePortPicker {
  min-height:48px; font-size:1.125rem; color:var(--os-blue); background:var(--os-panel); border:1px solid var(--os-line);
}
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] [data-home-change-date] {
  min-height:48px; font-size:1.25rem; color:var(--os-blue); background:var(--os-panel); border:1px solid var(--os-line);
}
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] [data-home-change-date] .hp-change-label { color:inherit; }
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] .hp-disclosure > summary { min-height:48px; font-size:1.125rem; }
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] .home-task-shortcuts a { min-height:48px; font-size:1.125rem; }
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] .hp-controls :is(select,input,button) { min-height:48px; font-size:1.125rem; }
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] .hp-tide-answer time { font-size:2rem; line-height:1.25; }
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] .hp-tide-answer .hp-events dd > span { display:grid; grid-template-columns:minmax(0,1fr); gap:4px; align-items:start; }
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] .hp-tide-answer .hp-events :is(dt,small) { font-size:1rem; }
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] .hp-heading .home-location-button {
  position:static; flex:0 0 auto; min-width:44px; min-height:44px; margin:0 0 0 auto;
  border:1px solid var(--os-line); background:var(--os-panel); color:var(--os-blue);
}
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site][data-home-mode="entry-atlas"] .hp-heading {
  min-height:82px; padding-block:9px;
}
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site][data-home-mode="entry-atlas"] .hp-heading :is(h1,h2) { font-size:clamp(1.875rem,3vw,2.25rem); }
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site][data-home-mode="entry-atlas"] .hp-feedback { margin-block:6px; }
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site][data-home-mode="entry-atlas"] .hp-canvas-date { min-height:44px; margin-block:2px 8px; }
@media(max-width:600px) {
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] .hp-heading { min-height:82px; padding:9px 16px; }
:root body.fable-page.home-canvas-page[data-site-identity][data-ocean-site] .hp-heading .home-location-button { align-self:center; margin-top:0; }

}
/* Guidebook: compact cover plus six unmistakable image chapters. */
/* Preparation: one compact image header leaves the progressive 9 checks in view. */
:root body.fable-page.bf-prepare-page[data-ocean-site] .bf-trip-head {
  display:grid; grid-template-columns:minmax(180px,280px) minmax(0,1fr) auto; gap:20px; align-items:center; padding:14px; overflow:hidden;
}
:root body.fable-page.bf-prepare-page[data-ocean-site] .bf-trip-head > div { min-width:0; overflow-wrap:anywhere; }
body.bf-prepare-page #mainContent > #bf-copy-questions { display:none; }
body.bf-prepare-page .bf-prepare-actions > details { min-width:min(100%,260px); padding:0 14px; border:1px solid var(--os-line); border-radius:12px; background:var(--os-panel); }
body.bf-prepare-page .bf-prepare-actions > details > summary { min-height:48px; align-content:center; color:var(--os-blue); font-weight:750; cursor:pointer; }
body.bf-prepare-page .bf-transfer-options { flex:1 1 360px; }
body.bf-prepare-page .bf-transfer-options > :not(summary) { margin-block:8px; }
body.bf-prepare-page .bf-transfer-options p { color:var(--os-muted); font-size:14px; line-height:1.55; }
body.bf-prepare-page .bf-transfer-buttons { display:flex; flex-wrap:wrap; gap:8px; }
body.bf-prepare-page .bf-transfer-buttons button { flex:1 1 160px; margin:0; }
body.bf-prepare-page #bf-app-context[data-state="pending"] { color:var(--os-warn); }
body.bf-prepare-page .bf-storage-note { margin:12px 0 18px; color:var(--os-muted); font-size:13px; line-height:1.6; }
body.bf-prepare-page .bf-learning > summary { display:flex; min-height:48px; align-items:center; justify-content:space-between; gap:12px; color:var(--os-blue); font-size:18px; font-weight:800; cursor:pointer; }
body.bf-prepare-page .bf-learning[open] > summary { margin-bottom:14px; }
body.bf-prepare-page .bf-learning .bf-page-return { justify-content:flex-end; margin-top:12px; padding-top:8px; border-top:1px solid var(--os-line); }
@media(max-width:860px) {
:root body.fable-page.bf-prepare-page[data-ocean-site] .bf-trip-head { grid-template-columns:180px minmax(0,1fr); }

}
@media(max-width:560px) {
body.home-canvas-page.home-first-impression .home-journey-intro.harbor-hero { grid-template-columns:minmax(0,1fr) 64px; gap:12px; }
body.home-canvas-page.home-first-impression .harbor-hero > img { width:64px; height:64px; }
body.home-canvas-page.home-first-impression .hp-start-paths .ceph-entry-paths { grid-template-columns:minmax(0,1fr); }
body.home-canvas-page.home-first-impression .hp-controls { grid-template-columns:minmax(0,1fr); gap:8px; }
body.home-canvas-page.home-first-impression .hp-date-control > div:first-of-type { grid-template-columns:minmax(0,1fr); }
:root body.fable-page.bf-prepare-page[data-ocean-site] .bf-trip-head { grid-template-columns:84px minmax(0,1fr); gap:8px 12px; padding:10px; }
:root body.fable-page.bf-prepare-page[data-ocean-site] .bf-progress-panel .bf-group-progress { display:none; }
body.bf-prepare-page .bf-prepare-actions { margin-bottom:14px; }
body.bf-prepare-page .bf-learning { margin-block:14px; }

}
@media(max-width:320px) {
:root body.fable-page.bf-prepare-page[data-ocean-site] .bf-trip-head { grid-template-columns:64px minmax(0,1fr); padding:8px; }
:root body.fable-page.bf-prepare-page[data-ocean-site] .bf-trip-head h1 { font-size:23px; }
body.bf-prepare-page .bf-learning > summary { align-items:flex-start; flex-direction:column; justify-content:center; gap:2px; }

}

/* Quick reference: one chapter index, actual diagrams, no lesson gate or cover. */
body.guidebook-page { --gb-visual:var(--os-raised); --art-metal-hi:#eef6f7; --art-metal-mid:#9eb4bc; --art-metal-lo:#557381; }
:root[data-fable-appearance="light"] body.guidebook-page { --art-metal-hi:#dce8ea; --art-metal-mid:#91a8b2; --art-metal-lo:#4b6876; }
body.guidebook-page .gb-art { --art-ink:var(--os-ink); --art-blue:var(--os-blue); --art-water:var(--os-soft); --art-panel:var(--os-panel); --art-line:var(--os-muted); --art-gold:var(--os-gold); display:block; width:100%; height:auto; color:var(--os-ink); }
body.guidebook-page #mainContent { max-width:1040px; padding:16px clamp(16px,4vw,40px) 40px; font-size:1.125rem; line-height:1.65; }
body.guidebook-page .gb-head { padding:0; margin:0 0 12px; }
body.guidebook-page .gb-head h1 { margin:0; font-size:clamp(1.7rem,4vw,2.5rem); line-height:1.3; }
body.guidebook-page .gb-steps { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px; margin:0 0 16px; }
body.guidebook-page .gb-steps a { display:flex; min-height:48px; align-items:center; justify-content:center; padding:8px; border:1px solid var(--os-line); border-radius:8px; color:var(--os-ink); font-size:1.125rem; font-weight:700; text-decoration:none; }
body.guidebook-page .gb-steps a[aria-current="step"] { border-color:var(--os-blue); background:var(--os-selected); color:var(--os-blue); text-decoration:underline; text-underline-offset:4px; }
body.guidebook-page .gb-stage { scroll-margin-top:20px; margin:0; padding:24px 0; border:0; border-top:1px solid var(--os-line); border-radius:0; background:transparent; }
body.guidebook-page .gb-stage-heading { display:flex; flex-wrap:wrap; gap:4px 16px; align-items:baseline; margin:0 0 12px; }
body.guidebook-page .gb-stage-heading span { color:var(--os-muted); font-size:1rem; }
body.guidebook-page .gb-stage h2 { margin:0; font-size:clamp(1.3rem,3vw,1.75rem); line-height:1.4; }
body.guidebook-page .gb-objects { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
body.guidebook-page .gb-objects figure { min-width:0; margin:0; }
body.guidebook-page .gb-object-visual { display:flex; align-items:center; justify-content:center; height:140px; background:transparent; }
body.guidebook-page .gb-object-visual :is(img,svg) { width:100%; height:100%; object-fit:contain; }
body.guidebook-page .gb-objects figcaption { display:grid; gap:6px; padding:12px 0; font-size:1.25rem; }
body.guidebook-page .gb-objects figcaption span { color:var(--os-muted); font-size:1.125rem; }
body.guidebook-page .gb-rig-diagram, body.guidebook-page .gb-tide-diagram { margin:0; }
body.guidebook-page .gb-rig-diagram svg { width:min(100%,440px); margin:auto; }
body.guidebook-page .gb-tide-diagram svg { width:min(100%,600px); margin:auto; }
body.guidebook-page figcaption { color:var(--os-muted); font-size:1rem; line-height:1.6; }
body.guidebook-page .gb-reel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:16px; margin-top:16px; }
body.guidebook-page .gb-reel figure { min-width:0; margin:0; }
body.guidebook-page .gb-reel svg { max-width:320px; }
body.guidebook-page .gb-reel ol { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
body.guidebook-page .gb-reel li { display:flex; flex-wrap:wrap; gap:4px 16px; }
body.guidebook-page .gb-rule { margin:16px 0; padding-left:12px; border-left:3px solid var(--os-blue); font-size:1.125rem; line-height:1.6; }
body.guidebook-page .gb-motion-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; margin:0; padding:0; list-style:none; }
body.guidebook-page .gb-motion-steps li { display:grid; grid-template-columns:minmax(80px,.8fr) minmax(0,1fr); gap:12px; align-items:center; min-width:0; border-top:1px solid var(--os-line); }
body.guidebook-page .gb-motion-steps span { display:grid; gap:8px; font-size:1.125rem; color:var(--os-muted); }
body.guidebook-page .gb-motion-steps strong { font-size:1.25rem; color:var(--os-ink); }
body.guidebook-page .gb-help { scroll-margin-top:20px; margin:16px 0 0; }
body.guidebook-page .gb-help h3 { margin:0; font-size:1.25rem; }
body.guidebook-page :is(.gb-help nav,.gb-actions) { display:flex; flex-wrap:wrap; gap:4px 20px; align-items:center; }
body.guidebook-page :is(.gb-help a,.gb-actions a,.gb-app a,.gb-footer a,.gb-before-booking a) { display:inline-flex; min-height:48px; align-items:center; font-size:1.125rem; font-weight:650; text-underline-offset:4px; }
body.guidebook-page .gb-actions .gb-next { margin-left:auto; }
body.guidebook-page .gb-before-booking { scroll-margin-top:20px; margin:12px 0; border-block:1px solid var(--os-line); }
body.guidebook-page :is(.gb-before-booking,.gb-app,.gb-image-note) > summary { min-height:48px; padding:10px 0; color:var(--os-blue); cursor:pointer; font-size:1.125rem; }
body.guidebook-page .gb-before-booking ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:8px 0; padding:0; list-style:none; }
body.guidebook-page .gb-before-booking li { display:grid; gap:8px; font-size:1.125rem; }
body.guidebook-page .gb-tide-read { display:flex; flex-wrap:wrap; gap:8px 24px; margin:12px 0; padding-left:24px; }
body.guidebook-page .gb-tide-read li { padding-right:8px; font-size:1.125rem; }
body.guidebook-page .gb-scene { margin:0; }
body.guidebook-page .gb-scene svg { max-width:360px; }
body.guidebook-page .gb-app { padding:0; border-top:1px solid var(--os-line); }
body.guidebook-page .gb-app p { margin:0; font-size:1.125rem; }
body.guidebook-page .gb-footer { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; max-width:1040px; margin:auto; padding:12px clamp(16px,4vw,40px) 100px; border-top:1px solid var(--os-line); }
body.guidebook-page .gb-image-note { flex-basis:100%; }
body.guidebook-page .gb-image-note p { margin:0; font-size:.9375rem; }
body.guidebook-page :is(h1,h2,h3,p,li,figcaption,a,summary) { overflow-wrap:anywhere; word-break:keep-all; }
body.guidebook-page :is(a,summary,.gb-stage):focus-visible { outline:3px solid var(--os-blue); outline-offset:4px; }
@media(max-width:760px) {
  body.guidebook-page .gb-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.guidebook-page .gb-objects { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.guidebook-page .gb-motion-steps { grid-template-columns:minmax(0,1fr); }
  body.guidebook-page .gb-reel { grid-template-columns:minmax(0,1fr); }
  body.guidebook-page .gb-reel ol { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.guidebook-page .gb-reel li { display:grid; gap:4px; }
}
@media(max-width:420px) {
  body.guidebook-page .gb-object-visual { height:108px; }
  body.guidebook-page .gb-before-booking ol { grid-template-columns:minmax(0,1fr); }
  body.guidebook-page .gb-before-booking li { grid-template-columns:3em minmax(0,1fr); }
}
@media(forced-colors:active) {
  body.guidebook-page .gb-objects figure, body.guidebook-page .gb-rig-diagram, body.guidebook-page .gb-tide-diagram { border:1px solid CanvasText; }
}
/* Preparation is a stable, reversible list, not disappearing cards plus a second glossary. */
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] .bf-trip-head { display:block; margin:12px 0; padding:0; border:0; border-radius:0; background:transparent; }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] .bf-trip-head h1 { margin:0 0 8px; font-size:clamp(1.7rem,3vw,2.2rem); }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] .bf-progress-panel { display:block; margin:16px 0; padding:12px 0; border-inline:0; border-radius:0; background:transparent; }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] #mainContent > .bf-trip-head { margin:8px 0 12px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] .bf-progress > span { font-size:.9375rem; }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] #bf-checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] .bf-card { min-inline-size:0; padding:12px 0; border:0; border-top:2px solid var(--os-line); border-radius:0; background:transparent; }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] .bf-card .bf-items { display:grid; grid-template-columns:minmax(0,1fr); gap:0; }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] .bf-item { display:grid; grid-template-columns:24px 36px minmax(0,1fr); align-items:center; gap:12px; min-height:76px; padding:12px 4px; border:0; border-bottom:1px solid var(--os-line); border-radius:0; background:transparent; text-align:left; }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] .bf-item input { position:static; width:24px; height:24px; margin:0; }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] .bf-item-art { width:36px; height:36px; background:transparent; }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] .bf-item-copy { display:grid; min-width:0; gap:4px; }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] .bf-item strong { font-size:1.25rem; line-height:1.5; }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] .bf-item small { max-width:none; font-size:1.125rem; line-height:1.55; }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] .bf-item:has(input:checked) { background:var(--os-selected); }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] #bf-undo-reset { min-height:48px; padding:8px 12px; border:1px solid var(--os-blue); border-radius:8px; background:var(--os-panel); color:var(--os-blue); font:inherit; cursor:pointer; }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] #bf-undo-reset[hidden] { display:none; }
:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] .bf-learning .bf-page-return { justify-content:flex-start; margin:0; padding:0; border:0; }
@media(max-width:760px) {
  :root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] #bf-checklist { grid-template-columns:minmax(0,1fr); gap:20px; }
}

:root body.fable-page.bf-prepare-page[data-site-identity][data-ocean-site] :is(#bf-checklist,.bf-group-progress,.bf-progress,.bf-prepare-actions)[hidden] { display:none !important; }

body.home-canvas-page.home-first-impression .home-entry-help .home-stage-preview { margin:12px 0 0; padding:8px 0; border-top:1px solid var(--os-line); }
body.home-canvas-page.home-first-impression .home-entry-help .home-stage-preview h2 { font-size:1rem; margin:0; }
body.home-canvas-page.home-first-impression .home-entry-help .home-stage-preview ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px 12px; border:0; }
body.home-canvas-page.home-first-impression .home-entry-help .home-stage-preview li a { display:flex; min-height:48px; padding:8px 0; border:0; font-size:1.125rem; }
body.home-canvas-page.home-first-impression .home-entry-help .home-stage-preview li a::before { content:none; }
