
:root{--bg:#f7f1e3;--panel:#fdf8ec;--ink:#233043;--mut:#61697a;--line:#dccfad;--acc:#1a5492;--acc2:#b89f30}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:"Trebuchet MS",Tahoma,sans-serif;line-height:1.6}
h1,h2,h3{font-family:"Book Antiqua",Palatino,Georgia,serif;line-height:1.15;letter-spacing:.01em}
a{color:var(--acc)}
.cfd-inner{max-width:1080px;margin:0 auto;padding:0 22px}
.cfd-inner-narrow{max-width:760px}
.cfd-hail{font-family:Consolas,"Courier New",monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:10px}
.cfd-foreword{color:var(--mut);font-size:1.08rem;max-width:60ch}
.cfd-deckband{padding:52px 0}
.cfd-deckband h2{font-size:1.7rem;margin-bottom:12px;max-width:26ch}
.cfd-actionbtn{display:inline-block;background:var(--acc);color:var(--bg);padding:11px 22px;border:none;border-radius:8px;font-weight:700;text-decoration:none;cursor:pointer;font-size:.95rem}
.cfd-actionbtn-ghost{background:transparent;color:var(--acc);border:1px solid var(--acc)}
.cfd-tow{color:var(--acc);font-weight:600;text-decoration:none;border-bottom:1px solid var(--acc)}
.cfd-moorings{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:20px}
.cfd-note{font-size:.82rem;color:var(--mut);margin-top:14px}
.cfd-chip{display:inline-block;padding:4px 12px;border:1px solid var(--line);border-radius:999px;font-size:.78rem;color:var(--mut)}
.cfd-manifestform label{display:block;font-size:.9rem;margin-bottom:12px}
.cfd-manifestform input,.cfd-manifestform select{width:100%;margin-top:4px;padding:9px 10px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--ink);font-family:inherit}
.cfd-manifestform-row{display:flex;gap:16px;flex-wrap:wrap}
.cfd-manifestform-row>div{flex:1;min-width:200px}
.cfd-manifestform-check{display:flex;gap:8px;align-items:baseline;margin:8px 0 14px}
.cfd-manifestform-check input{width:auto}
.cfd-manifestform-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}
.cfd-manifestform-ok{background:var(--panel);border:1px solid var(--acc);border-radius:8px;padding:18px 20px;color:var(--acc);font-weight:600}
.cfd-manifestform-err{color:var(--acc);font-weight:600;margin-bottom:10px}
.cfd-shorenote{position:fixed;left:16px;right:16px;bottom:16px;z-index:40;background:var(--panel);border:1px solid var(--line);border-radius:8px;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)}
.cfd-shorenote p{font-size:.86rem;color:var(--mut);max-width:60ch}
.cfd-shorenote .cfd-moorings{margin-top:0}
.cfd-spec-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:.94rem}
.cfd-spec-table th,.cfd-spec-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.cfd-spec-table th{font-family:Consolas,"Courier New",monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.cfd-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}
.cfd-stern{border-top:1px solid var(--line);padding:36px 0 26px;margin-top:40px}
.cfd-stern a{color:var(--acc)}
.cfd-adultmark{border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin-top:20px;background:var(--panel)}
.cfd-adultmark p{font-size:.82rem;color:var(--mut);margin-top:6px;max-width:90ch}
@media(max-width:720px){.cfd-compass{flex-wrap:wrap}}
.cfd-shorenote.cfd-show{display:flex}
.cfd-chip{border-radius:4px}
.cfd-deckband-pagehead{border-bottom:1px solid var(--line);background:var(--panel)}

/* c-riviera: Belle Epoque poster - centred masthead, framed affiche cards */
.cfd-masthead{padding:26px 0 0;text-align:center;background:var(--bg);border-bottom:3px double var(--line)}
.cfd-masthead .cfd-hail{margin-bottom:6px}
.cfd-pennant{display:inline-block;font-family:"Book Antiqua",Palatino,Georgia,serif;font-size:2rem;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:.06em;text-transform:uppercase}
.cfd-compass{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;padding:14px 0 16px;font-size:.9rem}
.cfd-compass a{color:var(--mut);text-decoration:none;font-weight:600;letter-spacing:.04em}
.cfd-compass a:first-child{color:var(--acc)}
.cfd-opening{padding:70px 0 56px;text-align:center;background:linear-gradient(180deg,var(--panel),var(--bg) 75%)}
.cfd-opening h1{font-size:clamp(2rem,4.6vw,3.4rem);margin:12px auto 16px;max-width:24ch}
.cfd-opening .cfd-foreword{margin:0 auto}
.cfd-opening .cfd-moorings{justify-content:center}
.cfd-opening-banner{border-bottom:1px solid var(--line);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%206%20Q4%200%208%206%20T16%206%20T24%206%20T32%206%22%20fill%3D%22none%22%20stroke%3D%22%2523dccfad%22%20stroke-width%3D%221.4%22/%3E%3C/svg%3E");background-repeat:repeat-x;background-position:bottom}
.cfd-deckband-manifesto{text-align:center}
.cfd-deckband-manifesto .cfd-foreword{margin:0 auto}
.cfd-moorage{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:26px}
.cfd-card{border:1px solid var(--acc2);outline:4px solid var(--panel);outline-offset:-8px;border-radius:8px;padding:26px 22px;background:var(--panel);text-align:center;transform:rotate(1.0deg)}
.cfd-card:nth-child(even){transform:rotate(-1.31deg)}
.cfd-card h3{font-family:"Book Antiqua",Palatino,Georgia,serif;font-size:1.45rem;margin:6px 0 8px;letter-spacing:.03em}
.cfd-portline{color:var(--mut);font-size:.88rem;margin-bottom:10px}
.cfd-card .cfd-spec{display:block;font-family:Consolas,"Courier New",monospace;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin:12px 0 0;border-top:1px solid var(--line);padding-top:10px}
.cfd-passage-fee{margin-top:12px}
.cfd-passage-fee strong{display:block;font-size:1.25rem;color:var(--acc)}
.cfd-passage-fee span{font-size:.78rem;color:var(--mut)}
.cfd-abeam{padding:56px 0;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cfd-abeam .cfd-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:38px}
.cfd-baize{display:grid;gap:10px}
.cfd-baize>*{border:1px solid var(--line);border-radius:8px;padding:12px 16px;background:var(--bg)}
.cfd-baize h3{color:var(--acc);font-size:1.05rem}
.cfd-baize p{color:var(--mut);font-size:.9rem}
.cfd-threecol{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:20px}
.cfd-threecol p{color:var(--mut);font-size:.93rem}
.cfd-deckband-cabins{text-align:center}
.cfd-deckband-cabins .cfd-foreword,.cfd-deckband-cabins .cfd-moorings{margin-left:auto;margin-right:auto;justify-content:center}
.cfd-deckband-rg{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%206%20Q4%200%208%206%20T16%206%20T24%206%20T32%206%22%20fill%3D%22none%22%20stroke%3D%22%2523dccfad%22%20stroke-width%3D%221.4%22/%3E%3C/svg%3E");background-repeat:repeat-x;background-position:top;padding-top:64px}
.cfd-signoff{padding:60px 0;text-align:center;border-top:3px double var(--line)}
.cfd-signoff h2{font-size:1.8rem;max-width:30ch;margin:0 auto 10px}
.cfd-signoff .cfd-actionbtn{margin-top:16px}
.cfd-stern{text-align:center}
.cfd-stern-line{margin-bottom:8px}
.cfd-stern .cfd-adultmark{text-align:left}
@media(max-width:760px){.cfd-abeam .cfd-inner{grid-template-columns:1fr}}
