
:root{--bg:#101b24;--panel:#182833;--ink:#e9f0ef;--mut:#93a5aa;--line:#274253;--acc:#da935b;--acc2:#51afc4}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:Verdana,Geneva,sans-serif;line-height:1.6}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.15;letter-spacing:.01em}
a{color:var(--acc)}
.jfh-measure{max-width:1080px;margin:0 auto;padding:0 22px}
.jfh-measure-narrow{max-width:760px}
.jfh-signal{font-family:"Lucida Console",Monaco,monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:10px}
.jfh-manifest{color:var(--mut);font-size:1.08rem;max-width:60ch}
.jfh-leg{padding:52px 0}
.jfh-leg h2{font-size:1.7rem;margin-bottom:12px;max-width:26ch}
.jfh-button{display:inline-block;background:var(--acc);color:var(--bg);padding:11px 22px;border:none;border-radius:6px;font-weight:700;text-decoration:none;cursor:pointer;font-size:.95rem}
.jfh-button-ghost{background:transparent;color:var(--acc);border:1px solid var(--acc)}
.jfh-sealink{color:var(--acc);font-weight:600;text-decoration:none;border-bottom:1px solid var(--acc)}
.jfh-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:20px}
.jfh-note{font-size:.82rem;color:var(--mut);margin-top:14px}
.jfh-tokenchip{display:inline-block;padding:4px 12px;border:1px solid var(--line);border-radius:999px;font-size:.78rem;color:var(--mut)}
.jfh-bookingsheet label{display:block;font-size:.9rem;margin-bottom:12px}
.jfh-bookingsheet input,.jfh-bookingsheet select{width:100%;margin-top:4px;padding:9px 10px;border:1px solid var(--line);border-radius:3px;background:var(--panel);color:var(--ink);font-family:inherit}
.jfh-bookingsheet-row{display:flex;gap:16px;flex-wrap:wrap}
.jfh-bookingsheet-row>div{flex:1;min-width:200px}
.jfh-bookingsheet-check{display:flex;gap:8px;align-items:baseline;margin:8px 0 14px}
.jfh-bookingsheet-check input{width:auto}
.jfh-bookingsheet-hp{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.jfh-bookingsheet-ok{background:var(--panel);border:1px solid var(--acc);border-radius:6px;padding:18px 20px;color:var(--acc);font-weight:600}
.jfh-bookingsheet-err{color:var(--acc);font-weight:600;margin-bottom:10px}
.jfh-shorenote{position:fixed;left:16px;right:16px;bottom:16px;z-index:40;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:14px 18px;display:none;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.jfh-shorenote p{font-size:.86rem;color:var(--mut);max-width:60ch}
.jfh-shorenote .jfh-actions{margin-top:0}
.jfh-spec-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:.94rem}
.jfh-spec-table th,.jfh-spec-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.jfh-spec-table th{font-family:"Lucida Console",Monaco,monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.jfh-spec-list{margin:16px 0 0 20px;display:grid;gap:10px;color:var(--mut)}
details{border-bottom:1px solid var(--line);padding:12px 2px}
details summary{font-weight:700;cursor:pointer}
details p{margin-top:8px;color:var(--mut);max-width:70ch}
.jfh-aft{border-top:1px solid var(--line);padding:36px 0 26px;margin-top:40px}
.jfh-aft a{color:var(--acc)}
.jfh-badge{border:1px solid var(--line);border-radius:6px;padding:14px 18px;margin-top:20px;background:var(--panel)}
.jfh-badge p{font-size:.82rem;color:var(--mut);margin-top:6px;max-width:90ch}
@media(max-width:720px){.jfh-compass{flex-wrap:wrap}}
.jfh-shorenote.jfh-show{display:flex}
.jfh-tokenchip{border-radius:999px}
.jfh-leg-pagehead{border-bottom:1px solid var(--line);background:var(--panel)}

/* c-paquebot: Art Deco liner - double rules, stepped numerals, navy & champagne */
.jfh-masthead{background:color-mix(in srgb,var(--bg) 72%,black);border-bottom:4px double var(--acc)}
.jfh-masthead .jfh-measure{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap}
.jfh-pennant{display:flex;align-items:center;gap:12px;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;color:var(--ink);text-decoration:none;letter-spacing:.12em;text-transform:uppercase}
.jfh-pennant .jfh-callsign{color:var(--acc);font-size:1.1rem;transform:rotate(-1.08deg)}
.jfh-compass{display:flex;gap:15px;align-items:center;font-size:.86rem;letter-spacing:.05em}
.jfh-compass a{color:var(--mut);text-decoration:none;font-weight:600}
.jfh-compass a:hover{color:var(--ink)}
.jfh-compass .jfh-tokenchip{border-color:var(--acc);color:var(--acc)}
.jfh-prow{padding:74px 0 58px;background:linear-gradient(160deg,color-mix(in srgb,var(--acc) 12%,transparent),transparent 55%),linear-gradient(180deg,color-mix(in srgb,var(--bg) 70%,black),var(--bg))}
.jfh-prow h1{font-size:clamp(2rem,4.4vw,3.2rem);margin:12px 0 16px;max-width:23ch}
.jfh-prow-duo .jfh-measure{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:center}
.jfh-prow-panel{border:1px solid var(--acc);border-radius:6px 6px 50% 50%/6px 6px 46px 46px;padding:26px 24px 34px;display:grid;gap:10px;text-align:center;font-family:"Lucida Console",Monaco,monospace;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:var(--mut);background:var(--panel)}
.jfh-grid{display:grid;gap:14px;margin-top:24px}
.jfh-ticket{display:flex;gap:20px;align-items:center;border-left:5px solid var(--acc);border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-right:1px solid var(--line);border-radius:6px;padding:18px 22px;background:var(--panel);flex-wrap:wrap}
.jfh-ticket > .jfh-callsign{font-family:"Lucida Console",Monaco,monospace;font-size:1.8rem;font-weight:700;color:var(--acc);flex:none;min-width:46px;text-align:center;transform:rotate(-1.08deg)}
.jfh-ticket:nth-child(even) > .jfh-callsign{transform:rotate(0.79deg)}
.jfh-ticket-body{flex:1;min-width:240px}
.jfh-ticket h3{font-size:1.25rem;margin-bottom:4px;letter-spacing:.03em}
.jfh-itinerary{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0;font-size:.76rem;font-family:"Lucida Console",Monaco,monospace;letter-spacing:.06em}
.jfh-itinerary span{color:var(--mut)}
.jfh-itinerary span:not(:last-child)::after{content:" —";color:var(--acc2)}
.jfh-fare{text-align:right;min-width:150px}
.jfh-fare strong{display:block;font-size:1.15rem;color:var(--acc)}
.jfh-fare span{font-size:.74rem;color:var(--mut)}
.jfh-split{padding:56px 0;border-top:4px double var(--line)}
.jfh-split .jfh-measure{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.jfh-floorlist{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.jfh-floorlist>*{border:1px solid var(--line);border-radius:6px;padding:14px;background:var(--panel)}
.jfh-floorlist h3{color:var(--acc2);font-size:1rem;letter-spacing:.05em}
.jfh-floorlist p{color:var(--mut);font-size:.86rem}
.jfh-threecol{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:20px}
.jfh-threecol h3{border-bottom:2px solid var(--acc);display:inline-block;padding-bottom:4px;margin-bottom:8px;font-size:1.05rem;letter-spacing:.05em}
.jfh-threecol p{color:var(--mut);font-size:.92rem}
.jfh-leg-rg{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.jfh-horizonband{padding:62px 0;text-align:center;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2232%22%20height%3D%228%22%3E%3Cpath%20d%3D%22M0%202%20H32%20M0%205%20H32%22%20fill%3D%22none%22%20stroke%3D%22%2523274253%22%20stroke-width%3D%221.4%22/%3E%3C/svg%3E");background-repeat:repeat-x;background-position:top}
.jfh-horizonband h2{font-size:1.75rem;max-width:30ch;margin:0 auto 10px}
.jfh-horizonband .jfh-button{margin-top:16px}
.jfh-aft{border-top:4px double var(--acc)}
.jfh-aft-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:26px}
.jfh-aft-links{text-align:right}
@media(max-width:760px){.jfh-prow-duo .jfh-measure,.jfh-split .jfh-measure,.jfh-aft-cols{grid-template-columns:1fr}.jfh-floorlist{grid-template-columns:1fr}.jfh-fare{text-align:left}.jfh-aft-links{text-align:left}}
