/* Tie-Up Sheet (cedarpointmarina.info) v1.0: own design system. Hubot Sans (wide display) + Lora (text), OFL 1.1.
   Palette: chart paper, harbour ink, manila rope, fender red, harbour teal. */
@font-face{font-family:"Hubot Sans";src:url(fonts/hubot-sans-latin-wdth-normal.woff2) format("woff2-variations");font-weight:200 900;font-stretch:75% 125%;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url(fonts/lora-latin-wght-normal.woff2) format("woff2-variations");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url(fonts/lora-latin-wght-italic.woff2) format("woff2-variations");font-weight:400 700;font-style:italic;font-display:swap}
:root{--paper:#F3EFE4;--paper2:#FBF9F4;--white:#fff;--ink:#15202B;--ink2:#3B4650;--mute:#5B6670;--rope:#C69A55;--rope-d:#8A6A38;--rope-l:#E8D3AE;--red:#C02F1B;--red-d:#9E2614;--teal:#1F5E5B;--teal-l:#E2EEEC;--water:#DCE7E3;--rule:#D8D0BE;--edge:#857D6C;
--disp:"Hubot Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--text:"Lora",Georgia,"Times New Roman",serif;--r:10px;--wrap:1240px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper2);color:var(--ink);font:400 1.0625rem/1.65 var(--text);text-rendering:optimizeLegibility}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--teal);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:99}
.skip:focus{left:1rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}
h1,h2,h3,.h2,.h3{font-family:var(--disp);color:var(--ink);margin:0 0 .6rem}
h1{font-size:clamp(2.3rem,5.2vw,4.4rem);line-height:1.02;font-weight:820;font-stretch:118%;letter-spacing:-.015em}
.h2{font-size:clamp(1.55rem,2.8vw,2.3rem);line-height:1.1;font-weight:760;font-stretch:112%;letter-spacing:-.01em}
.h3{font-size:1.15rem;line-height:1.25;font-weight:700;font-stretch:104%}
p{margin:0 0 1rem}
.eyebrow{font:650 .78rem/1 var(--disp);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin:0 0 1rem}
.eyebrow--light{color:var(--rope-l)}
.lede{font-size:clamp(1.08rem,1.5vw,1.25rem);color:var(--ink2);max-width:60ch}
.body{max-width:62ch;color:var(--ink2)}
.small{font-size:.9rem;color:var(--mute)}
.opt{font-weight:500;color:var(--mute);font-size:.82rem}
.textlink{font:650 1rem var(--disp);color:var(--teal);text-decoration:none;border-bottom:2px solid var(--rope)}
.textlink:hover{border-color:var(--red);color:var(--ink)}

/* price bar + masthead */
.pricebar{background:var(--ink);color:#E9E4D8;font:500 .86rem/1.3 var(--disp)}
.pricebar__in{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.55rem;padding-bottom:.55rem}
.pricebar p{margin:0}
.pricebar strong{color:var(--rope-l);font-weight:700}
.pricebar__pv{color:#fff;font-weight:700}
.pricebar a{color:#fff;text-decoration:none;white-space:nowrap;border-bottom:1px solid var(--rope)}
.mast{background:var(--paper2);border-bottom:1px solid var(--rule);position:relative;z-index:5}
.mast__in{display:flex;align-items:center;gap:2rem;min-height:76px}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink);margin-right:auto}
.brand__mark{width:42px;height:42px}
.brand__txt{display:flex;flex-direction:column;line-height:1.05}
.brand__name{font:850 1.35rem var(--disp);font-stretch:122%;letter-spacing:-.01em}
.brand__sub{font:550 .74rem var(--disp);letter-spacing:.04em;color:var(--mute);margin-top:.2rem}
.topnav{display:flex;gap:1.6rem}
.topnav a{font:600 .97rem var(--disp);color:var(--ink);text-decoration:none;padding:.4rem 0;border-bottom:3px solid transparent}
.topnav a:hover{border-color:var(--rope)}
.topnav a[aria-current]{border-color:var(--red)}
.bookbtn{display:inline-flex;align-items:center;gap:.45rem;font:700 .95rem var(--disp);color:var(--ink);text-decoration:none;border:2px solid var(--ink);border-radius:999px;padding:.5rem 1rem .5rem .8rem}
.bookbtn svg{width:20px;height:20px}
.bookbtn:hover,.bookbtn.is-on{background:var(--ink);color:var(--paper)}
.tabbar{display:none}

/* rope divider: the site's signature */
.rope{height:16px;background:repeating-linear-gradient(115deg,#C69A55 0 9px,#9C7236 9px 12px,#DDBB84 12px 18px);border-top:2px solid var(--rope-d);border-bottom:2px solid var(--rope-d)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:720 1rem/1 var(--disp);font-stretch:108%;letter-spacing:.01em;text-decoration:none;border-radius:6px;padding:.95rem 1.4rem;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s}
.btn--red{background:var(--red);color:#fff}
.btn--red:hover{background:var(--red-d);color:#fff}
.btn--ink{background:var(--ink);color:var(--paper)}
.btn--ink:hover{background:#000;color:#fff}
.btn--line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--line:hover{background:var(--ink);color:var(--paper)}
.btn--paper{background:var(--paper);color:var(--ink)}
.btn--paper:hover{background:#fff;color:var(--ink)}
.btn--ghost{background:transparent;color:var(--ink2);border-color:transparent;text-decoration:underline;text-underline-offset:3px}
.btn--ghost:hover{color:var(--red)}
.btn--sm{padding:.55rem .9rem;font-size:.9rem}
.btn--block{width:100%}
.cta{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.6rem 0}
.inline{display:inline}

/* chart frame (plan page) */
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* home stage (v1.0.1, review B1): editorial serif headline over chart paper, the planner itself as the first control, then the sheet */
.stage{background-color:var(--paper);background-image:linear-gradient(rgba(31,94,91,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(31,94,91,.07) 1px,transparent 1px);background-size:32px 32px;padding:clamp(2.2rem,5vw,4.2rem) 0 clamp(2.5rem,5vw,4rem)}
.stage__head{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(1.2rem,4vw,3.5rem);align-items:end;margin-bottom:clamp(1.6rem,3vw,2.4rem)}
.stage__title{font:400 clamp(2.6rem,6.4vw,5.6rem)/.98 var(--text);letter-spacing:-.025em;margin:0;color:var(--ink)}
.stage__title em{font-style:italic;color:var(--red)}
.stage__lede{font-size:clamp(1.02rem,1.3vw,1.15rem);color:var(--ink2);margin:0;padding-top:1rem;border-top:3px solid var(--ink)}
.quick{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1.3fr) auto;background:var(--white);border:2px solid var(--ink);border-radius:4px;box-shadow:0 18px 40px -24px rgba(21,32,43,.45)}
.quick__f{margin:0;border:0;border-right:1px solid var(--rule);padding:.8rem 1.2rem .9rem;min-width:0}
.quick__f>label:not(.pill),.quick__f legend{font:650 .72rem var(--disp);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding:0;margin-bottom:.45rem;display:block}
.quick__f legend{float:left;width:100%}
.quick__in{display:flex;align-items:baseline;gap:.4rem}
.quick__in input{width:100%;min-width:0;border:0;border-bottom:2px solid var(--rope);background:transparent;font:800 1.6rem/1.2 var(--disp);font-stretch:112%;color:var(--ink);padding:.05rem 0;font-variant-numeric:tabular-nums}
.quick__in input::placeholder{color:#B9B2A3}
.quick__in input:focus{outline:0;border-bottom-color:var(--red)}
.quick__in span{font:650 1rem var(--disp);color:var(--mute)}
.pill{display:inline-flex;position:relative;margin:0 .35rem .2rem 0}
.pill input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pill span{font:650 .95rem var(--disp);padding:.45rem .85rem;border:1.5px solid var(--edge);border-radius:999px;color:var(--ink2)}
.pill input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.pill input:focus-visible+span{outline:3px solid var(--red);outline-offset:2px}
.quick__go{border-radius:0 2px 2px 0;padding:0 2rem;font-size:1.05rem}
.quick__note{font:500 .9rem var(--disp);color:var(--mute);margin:.9rem 0 0}
.sheet{margin:clamp(2rem,4vw,3rem) 0 0;background:var(--white);border:1px solid var(--rule);padding:clamp(.8rem,2vw,1.6rem) clamp(.8rem,2vw,1.6rem) 0}
.sheet__cap{font:500 .9rem var(--disp);color:var(--mute);margin:0 0 .9rem}
.sheet__tag{display:inline-block;font:700 .72rem var(--disp);letter-spacing:.12em;text-transform:uppercase;background:var(--rope-l);color:var(--ink);padding:.3rem .6rem;margin-right:.5rem;border-radius:2px}
.sheet .strip{margin-top:1.2rem;border-bottom:0}
.chart{margin:0}
.chart__frame{position:relative;background:var(--white);border:1.5px solid var(--ink);padding:10px;box-shadow:12px 12px 0 var(--rope-l)}
.chart__frame::before,.chart__frame::after{content:"";position:absolute;width:18px;height:18px;border:3px solid var(--red)}
.chart__frame::before{top:-7px;left:-7px;border-right:0;border-bottom:0}
.chart__frame::after{bottom:-7px;right:-7px;border-left:0;border-top:0}
.chart figcaption{font:500 .88rem var(--disp);color:var(--mute);margin-top:1.1rem}
.diagram .dg-label{font:700 15px var(--disp);font-stretch:106%}
.diagram .dg-small,.howto .dg-small{font:650 12px var(--disp);letter-spacing:.08em}

/* spec strip (Garmin-style numbers) */
.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:2.5rem 0 0;border-top:3px solid var(--ink);border-bottom:1px solid var(--rule)}
.strip--3{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}
.strip__cell{padding:1.1rem 1.2rem 1rem 0;border-right:1px solid var(--rule);margin-right:1.2rem}
.strip__cell:last-child{border-right:0;margin-right:0}
.strip dt{font:650 .74rem var(--disp);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.strip dd{margin:.35rem 0 .2rem;font:820 clamp(1.7rem,3vw,2.5rem)/1.05 var(--disp);font-stretch:116%;font-variant-numeric:tabular-nums;color:var(--ink)}
.strip dd small{font-size:.5em;font-weight:650;color:var(--mute)}
.strip__amp,.strip__x{color:var(--rope-d);font-weight:500}
.strip p{margin:0;font-size:.88rem;font-style:italic;color:var(--ink2)}

/* bands */
.band{padding:clamp(2.5rem,6vw,5rem) 0}
.band--paper{background:var(--paper2)}
.band--teal{background:var(--teal);color:#F1F6F4}
.band--teal .h2{color:#fff}
.band--teal .body{color:#DCEAE6}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,5vw,4rem)}
.split--center{align-items:center}
.jobs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.jobs li{background:var(--white);border:1px solid var(--rule);border-radius:var(--r);padding:1rem}
.jobs svg{border-radius:6px;margin-bottom:.8rem}
.jobs p{margin:0;font-size:.95rem;color:var(--ink2)}
.quote{margin:0;border-left:5px solid var(--rope);padding:.4rem 0 .4rem 1.5rem}
.quote p{font:italic 500 clamp(1.3rem,2.2vw,1.75rem)/1.35 var(--text);color:#fff}
.quote cite{font:600 .85rem var(--disp);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--rope-l)}

/* rate sheet (v1.0.1, review B1): one ruled comparison ledger; the Line Pass column is the manila one */
.ratewrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.ratewrap .stamp{grid-column:2}
.ratesheet{margin:0}
.rates{width:100%;border-collapse:collapse;background:var(--white);font-size:.98rem}
.rates th,.rates td{padding:.8rem 1rem;border-bottom:1px solid var(--rule);text-align:left;vertical-align:middle}
.rates tbody th{font-weight:400;color:var(--ink2)}
.rates td{text-align:center;width:24%}
.rates thead th{border-bottom:3px solid var(--ink);vertical-align:bottom;padding-top:1.2rem}
.rates__what{font:650 .74rem var(--disp);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.rates__col{text-align:center!important}
.rates__name{display:block;font:750 1rem var(--disp);font-stretch:110%}
.rates__amt{display:block;font:850 2.1rem/1.05 var(--disp);font-stretch:116%;font-variant-numeric:tabular-nums;margin:.2rem 0}
.rates__per{display:block;font:500 .82rem/1.3 var(--disp);color:var(--ink2)}
.rates__col--pass,.rates__pass{background:#F6EBD7}
.rates__col--pass{border-top:5px solid var(--rope)}
.rates tfoot td{border-bottom:0;padding:1.1rem .6rem}
.yes{display:inline-block;width:16px;height:9px;border-left:3px solid var(--teal);border-bottom:3px solid var(--teal);transform:rotate(-45deg) translate(1px,-2px)}
.no{color:var(--edge)}
.stamp{margin:1.2rem 0 0;font-size:.95rem;color:var(--ink2);border:2px solid var(--red);outline:1px solid var(--red);outline-offset:3px;padding:.85rem 1.1rem;background:var(--white)}
.stamp strong{color:var(--red);font-family:var(--disp);letter-spacing:.02em}
.ticks{list-style:none;margin:0 0 1.5rem;padding:0}
.ticks li{position:relative;padding:.35rem 0 .35rem 1.8rem}
.ticks li::before{content:"";position:absolute;left:0;top:.75rem;width:14px;height:8px;border-left:3px solid var(--teal);border-bottom:3px solid var(--teal);transform:rotate(-45deg)}
.ticks--warn li::before{border:0;width:10px;height:10px;background:var(--red);border-radius:2px;transform:none;top:.8rem}
.faq{max-width:70ch;margin-top:3rem}
.faq h3{font:700 1.05rem var(--disp);margin:1.4rem 0 .3rem}

/* page heads */
.pagehead{background:var(--paper);padding:clamp(2.2rem,5vw,4rem) 0 clamp(1.5rem,3vw,2.5rem);border-bottom:1px solid var(--rule)}
.pagehead--tight h1{font-size:clamp(2rem,4vw,3.2rem)}

/* planner */
.planner__grid{display:grid;grid-template-columns:minmax(0,370px) minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:start}
.panel{background:var(--white);border:1px solid var(--rule);border-radius:var(--r);padding:1.5rem}
.panel--warn{border-left:5px solid var(--red);margin-top:2rem}
.planform{position:sticky;top:1rem}
.planform .h3{border-bottom:2px solid var(--ink);padding-bottom:.4rem;margin-top:1.4rem}
.planform .h3:first-child{margin-top:0}
.field{margin:0 0 1rem}
.field label,.seg legend{display:block;font:650 .92rem var(--disp);margin-bottom:.35rem;color:var(--ink)}
.field input{width:100%;font:500 1.05rem var(--disp);font-variant-numeric:tabular-nums;color:var(--ink);background:#fff;border:2px solid var(--edge);border-radius:7px;padding:.62rem .75rem;min-height:46px}
.field input:focus{border-color:var(--ink);outline:3px solid var(--rope);outline-offset:0}
.field__row{display:flex}
.field__row input{border-radius:7px 0 0 7px}
.field__unit{display:grid;place-items:center;min-width:3rem;padding:0 .6rem;background:var(--paper);border:2px solid var(--edge);border-left:0;border-radius:0 7px 7px 0;font:650 .9rem var(--disp);color:var(--ink2)}
.field__hint{margin:.3rem 0 0;font-size:.85rem;color:var(--mute)}
.field__err{margin:.3rem 0 0;font:600 .88rem var(--disp);color:var(--red)}
.field--err input{border-color:var(--red)}
.check{display:flex;gap:.6rem;align-items:flex-start;font:550 .95rem var(--disp);margin:.6rem 0 1rem;cursor:pointer}
.check input{width:20px;height:20px;margin:.1rem 0 0;accent-color:var(--ink)}
.seg{border:0;padding:0;margin:0 0 1rem;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.seg legend{grid-column:1/-1;float:left;width:100%}
.seg label{position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:46px;padding:.5rem;border:2px solid var(--edge);border-radius:7px;font:650 .92rem/1.15 var(--disp);color:var(--ink)}
.seg input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.seg input:focus-visible+span{outline:3px solid var(--red);outline-offset:2px}
.results{min-width:0}
.results .strip{margin-top:0;margin-bottom:1.5rem}
.chart--plan{margin-bottom:.5rem}
.chart--plan .chart__frame{box-shadow:8px 8px 0 var(--rope-l)}
.legend{list-style:none;margin:1.2rem 0 1.8rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font:600 .85rem var(--disp);color:var(--ink2)}
.legend li{display:flex;align-items:center;gap:.45rem}
.legend__sw{display:inline-block;width:26px;height:0;border-top:4px solid}
.legend__sw--bow{border-color:#1F5E5B}
.legend__sw--stern{border-top-style:dashed;border-color:#15202B}
.legend__sw--spring{border-color:#B07B2C;border-top-width:5px}
.legend__sw--fender{width:22px;height:11px;border:0;border-radius:6px;background:#C8432B}
.tablewrap{overflow-x:auto;margin:0 0 1.5rem;border:1px solid var(--rule);border-radius:var(--r);background:#fff}
.tablewrap:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.lines{width:100%;border-collapse:collapse;font-size:.97rem}
.lines th,.lines td{text-align:left;padding:.8rem 1rem;border-bottom:1px solid var(--rule);vertical-align:top}
.lines thead th{font:650 .74rem var(--disp);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);background:var(--paper);border-bottom:2px solid var(--ink)}
.lines tbody th{font:700 .97rem var(--disp);white-space:nowrap}
.lines td{font-variant-numeric:tabular-nums}
.lines td:nth-child(2),.lines td:nth-child(3),.lines td:nth-child(4){white-space:nowrap}
.results .strip dd{font-size:clamp(1.5rem,2.4vw,2.1rem)}
.lines--card tbody th{white-space:normal}
.lines tr:last-child th,.lines tr:last-child td{border-bottom:0}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:.55rem;vertical-align:-1px}
.dot--bow{background:#1F5E5B}.dot--stern{background:#fff;border:3px solid #15202B}.dot--spring{background:#B07B2C}.dot--fender{background:#C8432B;border-radius:4px}
.twocol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-bottom:1.5rem}
.big{font:820 2rem/1.1 var(--disp);font-stretch:114%;margin:.2rem 0 .8rem}
.big small{font-size:.5em;color:var(--mute);font-weight:600}
.shop{list-style:none;margin:0 0 .8rem;padding:0}
.shop li{padding:.5rem 0;border-bottom:1px dashed var(--rule)}
.shop__n{font:800 1rem var(--disp);color:var(--red);display:inline-block;min-width:2.2rem}
.note{border-radius:8px;padding:.9rem 1.1rem;margin:0 0 1.2rem;border-left:5px solid}
.note--warn{background:#FBEAE6;border-color:var(--red)}
.note--ok{background:var(--teal-l);border-color:var(--teal)}
.note--teal{background:var(--teal-l);border-color:var(--teal)}
.actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin:1rem 0}
.why{margin-top:1.8rem;border-top:1px solid var(--rule);padding-top:1rem}
.why summary{font:700 1rem var(--disp);cursor:pointer;color:var(--ink)}
.why ul{padding-left:1.1rem}
.why li{margin:.6rem 0;color:var(--ink2)}
.empty{background:#fff;border:2px dashed var(--rule);border-radius:var(--r);padding:2rem}

/* how-to steps (REI-style) */
.howto{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem}
.howto__step{background:#fff;border:1px solid var(--rule);border-radius:var(--r);overflow:hidden}
.howto__fig{border-bottom:1px solid var(--rule)}
.howto__n,.howto .h3,.howto__step>p:last-child{padding:0 1.2rem}
.howto__n{font:700 .74rem var(--disp);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin:1rem 0 .3rem}
.howto__step>p:last-child{color:var(--ink2);font-size:.97rem}

/* article */
.article{display:grid;grid-template-columns:220px minmax(0,1fr);gap:3rem;align-items:start}
.toc{position:sticky;top:1rem;display:flex;flex-direction:column;gap:.2rem;border-left:3px solid var(--rope);padding-left:1rem}
.toc a{font:600 .92rem var(--disp);color:var(--ink2);text-decoration:none;padding:.3rem 0}
.toc a:hover{color:var(--red)}
.article__body{max-width:70ch}
.article__body .h2{margin-top:2.2rem;scroll-margin-top:1rem}
.article__body .h2:first-child{margin-top:0}
.sources li{margin:.4rem 0}
.prose{max-width:70ch}
.prose .h3{margin-top:2rem}

/* berth book */
.keylink__row{display:flex;gap:.6rem}
.keylink__row input{flex:1;min-width:0;font:500 .92rem var(--disp);padding:.7rem;border:2px solid var(--edge);border-radius:7px;background:var(--paper2)}
.keylink{margin-bottom:1.5rem;border-left:5px solid var(--rope)}
.berths{list-style:none;margin:0 0 1.5rem;padding:0;border-top:3px solid var(--ink)}
.berth{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--rule)}
.berth__t{font:750 1.15rem var(--disp);margin:0 0 .2rem}
.berth__t a{color:var(--ink);text-decoration:none}
.berth__t a:hover{color:var(--red)}
.berth__m{margin:0;font-size:.92rem;color:var(--ink2)}
.berth__act{display:flex;gap:.4rem;flex-shrink:0}
.passbox{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);padding:1.2rem 1.5rem}
.bookfoot{display:flex;gap:1rem;margin-top:2rem}
.narrow{max-width:560px}

/* line card (print) */
.printbar{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;padding-top:1.5rem;padding-bottom:1rem}
.printbar p{margin:0 auto 0 0;font:600 .98rem var(--disp)}
.card{max-width:8in;margin:1rem auto 3rem;background:#fff;border:2px solid var(--ink);padding:.45in .5in}
.card__head{display:flex;justify-content:space-between;gap:1rem;border-bottom:3px solid var(--ink);padding-bottom:.6rem;margin-bottom:.8rem}
.card__kicker{font:700 .7rem var(--disp);letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin:0}
.card__title{font-size:2rem;margin:.1rem 0}
.card__sub{margin:0;font:550 .88rem var(--disp);color:var(--ink2)}
.card__brand{text-align:right;font:800 .95rem var(--disp);font-stretch:118%;margin:0}
.card__brand span{font:550 .72rem var(--disp);color:var(--mute)}
.card__fig{margin-bottom:.8rem}
.lines--card th,.lines--card td{padding:.4rem .6rem}
.card__f{font-size:.93rem;margin:.8rem 0 .5rem}
.card__steps{font-size:.9rem;margin:.4rem 0 .8rem;padding-left:1.2rem}
.card__foot{font:500 .72rem/1.4 var(--disp);color:var(--mute);border-top:1px solid var(--rule);padding-top:.5rem}

/* footer */
.foot{background:var(--ink);color:#D9D4C8;margin-top:0}
.foot__in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2rem 3rem;padding-top:3rem;padding-bottom:2.5rem}
.foot__name{font:850 1.5rem var(--disp);font-stretch:122%;color:#fff;margin:0 0 .6rem}
.foot__ind{font:600 1rem/1.5 var(--disp);color:var(--rope-l);max-width:48ch}
.foot__note{font-size:.92rem;color:#B9B4A8;max-width:56ch}
.foot__nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem 1.5rem;align-content:start}
.foot__nav a{font:600 .95rem var(--disp);color:#fff;text-decoration:none;padding:.25rem 0}
.foot__nav a:hover{color:var(--rope)}
.foot__pw{grid-column:1/-1;border-top:1px solid #34404C;padding-top:1.2rem;margin:0;font:550 .9rem var(--disp);color:#B9B4A8}
.foot__pw a{color:#fff}

/* tablet */
@media (max-width:1100px){
  .topnav{gap:1.1rem}
  .howto{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* phone: bottom tab bar replaces the top nav */
@media (max-width:900px){
  body{padding-bottom:70px}
  .topnav{display:none}
  .mast__in{min-height:64px;gap:1rem}
  .brand__mark{width:36px;height:36px}
  .brand__name{font-size:1.15rem}
  .bookbtn{padding:.45rem .8rem}
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--ink);border-top:3px solid var(--rope);padding-bottom:env(safe-area-inset-bottom)}
  .tabbar a{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.55rem 0 .5rem;color:#CFC9BB;text-decoration:none;font:650 .72rem var(--disp)}
  .tabbar svg{width:22px;height:22px}
  .tabbar a[aria-current]{color:#fff;box-shadow:inset 0 3px 0 var(--red)}
  .stage__head,.ratewrap,.split,.planner__grid,.article{grid-template-columns:minmax(0,1fr)}
  .planform{position:static}
  .toc{position:static;flex-direction:row;flex-wrap:wrap;gap:.2rem 1rem;border-left:0;border-top:3px solid var(--rope);padding:.6rem 0 0}
  .strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .strip__cell:nth-child(2n){border-right:0;margin-right:0}
  .strip__cell{border-bottom:1px solid var(--rule)}
  .ratewrap .stamp{grid-column:auto}
  .quick{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .quick__f--len{grid-column:1/-1;border-bottom:1px solid var(--rule)}
  .quick__f{border-right:0}
  .quick__f+.quick__f+.quick__f{border-left:1px solid var(--rule)}
  .quick__go{grid-column:1/-1;border-radius:0;padding:1rem}
  .twocol{grid-template-columns:minmax(0,1fr)}
  .foot__in{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .pricebar__in{flex-direction:column;align-items:flex-start;gap:.25rem}
  .brand__sub{display:none}
  .bookbtn span{display:none}
  .bookbtn{padding:.5rem}
  .strip--3{grid-template-columns:minmax(0,1fr)}
  .strip--3 .strip__cell{border-right:0;margin-right:0}
  .jobs{grid-template-columns:minmax(0,1fr)}
  .howto{grid-template-columns:minmax(0,1fr)}
  .berth{flex-direction:column;align-items:flex-start}
  .chart__frame{box-shadow:6px 6px 0 var(--rope-l);padding:6px}
  .lines th,.lines td{padding:.65rem .7rem}
  .card{padding:1rem;border-width:1px;margin:1rem .6rem 2rem}
  .card__head{flex-direction:column}
  .card__brand{text-align:left}
  .quick{grid-template-columns:minmax(0,1fr)}
  .quick__f+.quick__f+.quick__f{border-left:0}
  .quick__f{border-bottom:1px solid var(--rule)}
  .rates th,.rates td{padding:.65rem .5rem}
  .rates__amt{font-size:1.6rem}
  .rates tfoot .btn{padding:.55rem .6rem;font-size:.82rem}
}
@media print{
  .pricebar,.mast,.foot,.tabbar,.noprint,.skip{display:none!important}
  body{background:#fff;padding:0}
  .card{border:0;margin:0 auto;padding:0;max-width:none;page-break-after:always;break-after:page}
  .card:last-of-type{page-break-after:auto;break-after:auto}
  .card__fig svg{max-height:3.6in;width:auto;margin:0 auto}
  @page{margin:.5in}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
/* ---------- v1.1.0: AdEngine banner (adengine.us) ----------
   One labelled slot between the main content and the footer, on public pages only (the controllers opt in). The label, the
   reserved height and the space below are all on the <ins>, so when tag.js (or ae-size.js) hides a slot it cannot fill, the
   label and the space go with it. 110px = 16px label + 4px gap + 90px banner; 270px on phones (300x250). The last band of every
   page already has its padding above the slot; the margin below matches it. vertical-align:top on the link keeps the line box
   at the banner's own height. display stays in this file and is never !important: tag.js hides a slot with style.display. */
.ae-slot{padding:0 clamp(1rem,4vw,2.5rem)}
.ae-slot ins.adengine{display:block;max-width:728px;min-height:110px;margin:0 auto clamp(2.5rem,6vw,5rem);text-align:center;text-decoration:none}
.ae-slot ins.adengine::before{content:"Advertisement";display:block;margin-bottom:4px;font:650 11px/16px var(--disp);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.ae-slot ins.adengine a{display:inline-block;vertical-align:top}
@media (max-width:767px){.ae-slot ins.adengine{max-width:300px;min-height:270px}}
@media print{.ae-slot{display:none}}
