/* bridgeportbedandbreakfast.com: the menu card. Prefix bb-. Not the American style (the previous build was). */
@font-face{font-family:"Sorts Mill Goudy";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/goudy-normal-400.6806151997.woff2) format("woff2")}
@font-face{font-family:"Sorts Mill Goudy";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/goudy-italic-400.69cd7caaab.woff2) format("woff2")}
@font-face{font-family:"Josefin Sans";font-style:normal;font-weight:100 700;font-display:swap;src:url(fonts/josefin-normal-100-700.444f5c461a.woff2) format("woff2")}
:root{
  --ink:#102e65;--cobalt:#224093;--china:#aed0eb;--jam:#d7731f;--butter:#ffc76d;--toast:#6b3d1d;--sage:#8aa487;--linen:#e4c9ba;
  --paper:#ffffff;--rule:rgba(20,32,74,.18);
  --serif:"Sorts Mill Goudy",Georgia,serif;--sans:"Josefin Sans","Trebuchet MS",sans-serif;
  --w:1180px;--prose:66ch
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.09rem/1.72 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
p,li,dd,td,th,a{overflow-wrap:break-word}
a[href^="mailto:"]{overflow-wrap:anywhere}
.bb-fcols>div,.bb-grid2>*,.bb-sbody>*{min-width:0}
a{color:var(--cobalt);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--toast)}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.18;margin:0 0 .5em;letter-spacing:.005em}
h1{font-size:clamp(2.05rem,4.4vw,3.35rem)}
h2{font-size:clamp(1.6rem,2.9vw,2.25rem)}
h3{font-size:1.38rem}
p{margin:0 0 1em}
.bb-skip{position:absolute;left:-9999px;top:0}
.bb-skip:focus{left:12px;top:12px;background:var(--paper);padding:8px 12px;z-index:9}
.bb-wrap{max-width:var(--w);margin:0 auto;padding:0 22px}
.bb-narrow{max-width:var(--prose)}

/* ── header: a menu card's head, centred ───────────────────────────────────────── */
.bb-strip{background:var(--ink);color:#fff;font-size:.86rem;letter-spacing:.04em}
.bb-strip .bb-wrap{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:space-between;padding-top:7px;padding-bottom:6px}
.bb-strip a{color:var(--butter);font-weight:600;text-decoration:none;white-space:nowrap;display:inline-block;padding:3px 0;min-height:24px}
.bb-head{text-align:center;padding:16px 0 0;border-bottom:1px solid var(--rule)}
.bb-mast{display:inline-flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--ink)}
.bb-mast svg{width:54px;height:30px}
.bb-mast b{font:400 clamp(1.7rem,3.6vw,2.5rem)/1.05 var(--serif)}
.bb-mast i{font:italic 400 1.02rem/1.3 var(--serif);color:var(--toast)}
.bb-rules{height:7px;max-width:420px;margin:10px auto 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.bb-nav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 6px;padding:8px 0 10px}
.bb-nav a{font-size:.95rem;letter-spacing:.06em;color:var(--ink);text-decoration:none;padding:9px 10px;border-radius:2px}
.bb-nav a:hover,.bb-nav a[aria-current]{background:var(--china);color:var(--ink)}
.bb-nav a.bb-cta{background:var(--butter);color:var(--ink);box-shadow:inset 0 0 0 2px var(--jam);font-weight:600;padding:9px 16px;border-radius:40px}
.bb-nav a.bb-cta:hover{background:var(--jam)}

/* ── buttons, tags ─────────────────────────────────────────────────────────────── */
.bb-btn{display:inline-block;background:var(--cobalt);color:#fff;text-decoration:none;font-weight:600;letter-spacing:.05em;padding:13px 24px;border-radius:40px;border:0;font:600 1rem/1.2 var(--sans);cursor:pointer}
.bb-btn:hover{background:var(--ink);color:#fff}
.bb-btn.bb-alt{background:transparent;color:var(--cobalt);box-shadow:inset 0 0 0 2px var(--cobalt)}
.bb-btn.bb-alt:hover{background:var(--china);color:var(--ink)}
.bb-price{font-family:var(--serif);font-size:1.5rem;line-height:1.2;color:var(--ink)}
.bb-price small{display:block;font:400 .9rem/1.4 var(--sans);color:var(--ink)}
.bb-price b{font-weight:400;color:var(--toast)}

/* ── home hero: picture with the card sitting on its lower edge ────────────────── */
.bb-hero{max-width:1380px;margin:0 auto;padding:22px 22px 0}
.bb-hero figure{margin:0;position:relative}
.bb-hero img{width:100%;aspect-ratio:1.46;object-fit:cover;height:clamp(470px,calc(100vh - 262px),740px);border-radius:3px}
.bb-hero{position:relative}
.bb-hcard{position:absolute;left:40px;bottom:30px;width:min(680px,58%);background:var(--paper);padding:26px 34px 20px;text-align:left;box-shadow:0 0 0 1px var(--rule),0 18px 40px rgba(20,32,74,.12)}
.bb-hcard::before{content:"";position:absolute;inset:8px;border:1px solid var(--rule);pointer-events:none}
.bb-kick{font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--toast);margin:0 0 10px;font-weight:600}
.bb-hcard .bb-acts{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;margin:12px 0 8px}
.bb-hcard h1{font-size:clamp(1.8rem,2.7vw,2.5rem)}
.bb-hcard p{margin-bottom:.4em}
.bb-hcard .bb-tel{font-size:.95rem}

/* ── the menu: six tables, dotted leaders ──────────────────────────────────────── */
.bb-menu{background:var(--linen);margin:56px 0 0;padding:52px 0}
.bb-menu h2{text-align:center}
.bb-menu .bb-intro{text-align:center;max-width:62ch;margin:0 auto 26px}
.bb-ol{list-style:none;margin:0 auto;padding:0;max-width:940px;counter-reset:t}
.bb-ol li{border-bottom:1px dotted var(--ink)}
.bb-ol a{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:6px 18px;align-items:center;padding:14px 4px;text-decoration:none;color:var(--ink)}
.bb-ol a:hover{background:rgba(255,255,255,.55)}
.bb-ol .bb-n{font:italic 400 2.3rem/1 var(--serif);color:var(--cobalt);min-width:2.2ch;text-align:right}
.bb-ol .bb-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.bb-ol .bb-t b{font:400 1.28rem/1.25 var(--serif)}
.bb-ol .bb-t span{font-size:.92rem}
.bb-ol .bb-p{font-family:var(--serif);font-size:1.15rem;white-space:nowrap;text-align:right}
.bb-ol svg{order:3}
.bb-ol .bb-p{order:4;min-width:6.5ch}

/* ── courses: alternate picture and text ───────────────────────────────────────── */
.bb-courses{padding:64px 0 20px}
.bb-group{margin:0 0 54px}
.bb-glabel{display:flex;align-items:center;gap:16px;font:italic 400 1.2rem/1.3 var(--serif);color:var(--toast);margin:0 0 6px}
.bb-glabel::after{content:"";flex:1;border-top:1px solid var(--rule)}
.bb-course{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;margin:30px 0}
.bb-course:nth-of-type(even) .bb-cimg{order:2}
.bb-course img{width:100%;aspect-ratio:1.05;object-fit:cover;border-radius:3px}
.bb-course .bb-ct{max-width:52ch}
.bb-course dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:12px 0 16px;font-size:.98rem}
.bb-course dt{font-weight:600}
.bb-course dd{margin:0}

/* ── price band with drawn icons ───────────────────────────────────────────────── */
.bb-band{background:var(--china);padding:46px 0}
.bb-band h2{text-align:center}
.bb-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:22px}
.bb-icons div{background:var(--paper);padding:22px 20px;border-radius:3px}
.bb-icons svg{width:44px;height:44px;margin-bottom:8px}
.bb-icons h3{font-size:1.18rem}
.bb-icons p{font-size:.98rem;margin:0}
.bb-pano{margin:0}
.bb-pano img{width:100%;aspect-ratio:3.7;object-fit:cover;min-height:180px}

/* ── office band with the form ─────────────────────────────────────────────────── */
.bb-office{background:var(--ink);color:#fff;padding:56px 0}
.bb-office a{color:var(--butter)}
.bb-office .bb-grid2{display:grid;grid-template-columns:5fr 7fr;gap:40px;align-items:start}
.bb-office h2{color:#fff}
.bb-qa{padding:56px 0}
.bb-qa details{border-top:1px solid var(--rule);padding:14px 0}
.bb-qa details:last-child{border-bottom:1px solid var(--rule)}
.bb-qa summary{font:400 1.25rem/1.35 var(--serif);cursor:pointer;padding:4px 0}
.bb-qa details p{margin:10px 0 0}

/* ── the form: a folded place card ─────────────────────────────────────────────── */
.bb-form{background:var(--paper);color:var(--ink);padding:28px 28px 24px;border-radius:3px;box-shadow:0 0 0 1px var(--rule)}
.bb-form fieldset{border:0;margin:0 0 16px;padding:0}
.bb-form legend{font:400 1.2rem/1.3 var(--serif);margin-bottom:8px;padding:0}
.bb-form .bb-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.bb-form .bb-pick label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--rule);padding:10px 12px;border-radius:3px;font-size:.96rem;line-height:1.35;min-height:44px;cursor:pointer}
.bb-form .bb-pick input{width:24px;height:24px;margin:0;flex:none;accent-color:var(--cobalt)}
.bb-form .bb-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bb-form label.bb-f{display:block;font-size:.93rem;font-weight:600;margin:0 0 12px}
.bb-form input:not([type=radio]):not([type=checkbox]),.bb-form select,.bb-form textarea{display:block;width:100%;margin-top:5px;font:400 1rem/1.4 var(--sans);color:var(--ink);background:#fff;border:1px solid rgba(20,32,74,.45);border-radius:3px;padding:11px 12px;min-height:46px}
.bb-form textarea{min-height:110px;resize:vertical}
.bb-form .bb-fine{font-size:.88rem;margin:10px 0 0}
.bb-form .bb-btn{width:100%;margin-top:6px}
.bb-crumb-dish{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ── page heads, prose, sections ───────────────────────────────────────────────── */
.bb-phead{background:var(--linen);padding:40px 0 34px;text-align:center;border-bottom:1px solid var(--rule)}
.bb-phead .bb-lead{max-width:64ch;margin:0 auto}
.bb-crumbs{font-size:.86rem;letter-spacing:.04em;margin:0 0 14px}
.bb-crumbs a{color:var(--ink);display:inline-block;padding:3px 0;min-height:24px}
.bb-sec{padding:40px 0;border-bottom:1px solid var(--rule)}
.bb-sec:nth-of-type(even){background:#fbfcff}
.bb-sec:last-of-type{border-bottom:0}
.bb-sec ul{padding-left:1.2em;margin:0 0 1em}
.bb-sec li{margin:0 0 .35em}
.bb-table{width:100%;border-collapse:collapse;margin:12px 0 22px;font-size:.98rem}
.bb-table th,.bb-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule);vertical-align:top}
.bb-table thead th{font-weight:600;border-bottom:2px solid var(--ink)}
.bb-table tbody th{font-weight:600}
.bb-scroll{overflow-x:auto}

/* ── catalog rows ──────────────────────────────────────────────────────────────── */
.bb-row-c{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:30px;padding:30px 0;border-bottom:1px dotted var(--ink)}
.bb-row-c img{width:100%;aspect-ratio:1.57;object-fit:cover;border-radius:3px}
.bb-row-c .bb-num{font:italic 400 3.2rem/1 var(--serif);color:var(--cobalt)}
.bb-row-c .bb-num small{font:400 .95rem/1.3 var(--sans);color:var(--ink);margin-left:8px}
.bb-row-c svg{margin:6px 0 10px}
.bb-row-c dl{display:grid;grid-template-columns:auto 1fr;gap:3px 14px;margin:8px 0 12px;font-size:.97rem}
.bb-row-c dt{font-weight:600}
.bb-row-c dd{margin:0}
.bb-anchors{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px 0 0}
.bb-anchors a{background:var(--paper);border:1px solid var(--rule);padding:8px 14px;border-radius:40px;text-decoration:none;color:var(--ink);font-size:.93rem}

/* ── stay page: head picture, body with a place card at the side ───────────────── */
.bb-shead img{width:100%;aspect-ratio:2.57;object-fit:cover;max-height:30vh;min-height:170px}
.bb-sbody{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:44px;padding-top:20px;padding-bottom:20px}
.bb-sbody h1{font-size:clamp(1.8rem,2.9vw,2.5rem)}
.bb-pcard{position:sticky;top:18px;align-self:start;background:var(--linen);padding:26px 24px;border-radius:3px;box-shadow:0 0 0 1px var(--rule)}
.bb-pcard::before{content:"";display:block;height:5px;margin:-26px -24px 20px;background:var(--jam);border-radius:3px 3px 0 0}
.bb-pcard dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:.95rem;margin:14px 0 18px}
.bb-pcard dt{font-weight:600}
.bb-pcard dd{margin:0}
.bb-pcard .bb-btn{width:100%;text-align:center}
.bb-fig{margin:18px 0 26px}
.bb-fig figcaption{font-size:.92rem;margin-top:8px;font-style:italic;font-family:var(--serif)}
.bb-room{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:28px;align-items:start}
.bb-room img{width:100%;aspect-ratio:.74;object-fit:cover;border-radius:3px}
.bb-lists{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.bb-lists h3{font-size:1.15rem}
.bb-cta-band{background:var(--cobalt);color:#fff;padding:40px 0;text-align:center}
.bb-cta-band h2{color:#fff}
.bb-cta-band a.bb-btn{background:var(--butter);color:var(--ink)}
.bb-formsec{background:var(--china);padding:46px 0}
.bb-formsec .bb-grid2{display:grid;grid-template-columns:5fr 7fr;gap:36px;align-items:start}

/* ── table drawings (encoding 57) ──────────────────────────────────────────────── */
.bb-tbl{display:block;width:auto;max-width:100%}
.bb-tbl.bb-mini{height:78px}
.bb-fig .bb-tbl{height:150px}
.bb-tbl .bb-board{fill:var(--toast)}
.bb-tbl .bb-cloth{fill:var(--paper);stroke:var(--toast);stroke-width:1.5}
.bb-tbl .bb-plate{fill:var(--paper);stroke:var(--cobalt);stroke-width:2}
.bb-tbl .bb-rim{fill:none;stroke:var(--china);stroke-width:3}
.bb-tbl .bb-cut{stroke:var(--ink);stroke-width:1.6;stroke-linecap:round}
.bb-tbl .bb-ghost{fill:none;stroke:var(--ink);stroke-dasharray:4 4;stroke-width:1;opacity:.5}
.bb-tbl text{font:600 12px var(--sans);fill:var(--ink)}

/* ── footer: china band with a scalloped edge ──────────────────────────────────── */
.bb-foot{background:var(--cobalt);color:#fff;margin-top:0;position:relative}
.bb-foot::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;background:radial-gradient(circle at 14px 14px,var(--cobalt) 13px,transparent 14px) 0 0/28px 14px repeat-x}
.bb-foot a{color:#fff}
.bb-id{background:var(--ink);text-align:center;padding:14px 22px;font-size:.95rem}
.bb-id a{color:var(--butter)}
.bb-fcols{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:40px 22px 26px}
.bb-fcols h2{font-size:1.3rem;color:#fff}
.bb-fcols ul{list-style:none;margin:0;padding:0}
.bb-fcols li{margin:0 0 9px;font-size:.97rem}
.bb-hours{width:100%;border-collapse:collapse;font-size:.93rem}
.bb-hours th,.bb-hours td{text-align:left;padding:5px 6px 5px 0;border-bottom:1px solid rgba(255,255,255,.22);vertical-align:top}
.bb-hours th{font-weight:600}
.bb-indep{max-width:900px;margin:0 auto;padding:0 22px 28px;font-size:.95rem;text-align:center}
.bb-legal{border-top:1px solid rgba(255,255,255,.25);padding:14px 22px 18px;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;font-size:.9rem}
.bb-slot{display:none}
.bb-thanks{padding:70px 0}

@media (max-width:960px){
  .bb-course,.bb-office .bb-grid2,.bb-formsec .bb-grid2,.bb-row-c,.bb-room,.bb-sbody{grid-template-columns:1fr}
  .bb-course:nth-of-type(even) .bb-cimg{order:0}
  .bb-pcard{position:static}
  .bb-icons{grid-template-columns:1fr 1fr}
  .bb-fcols{grid-template-columns:1fr 1fr}
  .bb-hero img{height:42vh;min-height:260px}
  .bb-hcard{position:relative;left:auto;bottom:auto;transform:none;width:auto;margin:-110px 20px 0;padding:24px 22px 20px}
}
@media (max-width:620px){
  body{font-size:1.04rem}
  .bb-wrap{padding:0 16px}
  .bb-hero{padding:12px 12px 0}
  .bb-hero img{height:26vh;min-height:170px}
  .bb-hcard{margin:-40px 6px 0;padding:18px 14px 16px}
  .bb-hcard h1{font-size:1.75rem}
  .bb-head{padding-top:10px}
  .bb-mast svg{display:none}
  .bb-mast b{font-size:1.55rem}
  .bb-mast i{font-size:.9rem}
  .bb-rules{display:none}
  .bb-nav{display:grid;grid-template-columns:1fr 1fr;gap:2px 6px;padding:4px 12px 8px}
  .bb-nav a{font-size:.86rem;padding:7px 6px;letter-spacing:.02em;min-height:34px}
  .bb-nav a.bb-cta{grid-column:1/3;text-align:center}
  .bb-strip{font-size:.8rem}
  .bb-shead img{max-height:22vh;min-height:130px}
  .bb-icons,.bb-fcols,.bb-lists,.bb-form .bb-row{grid-template-columns:1fr}
  .bb-ol a{grid-template-columns:auto 1fr;padding:12px 2px}
  .bb-ol .bb-p{grid-column:2;text-align:left}
  .bb-ol svg{grid-column:1/3;order:5}
  .bb-tbl.bb-mini{height:46px}
  .bb-fig .bb-tbl{height:118px}
  .bb-nav a{padding:10px 9px;font-size:.92rem}
  .bb-strip .bb-wrap{justify-content:center;text-align:center}
  .bb-form{padding:20px 16px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
