/* shadcn Card, Button, Accordion and Table static ports; cedar / porch tokens. */
:root{--paper:#f7f4ec;--white:#fffdf7;--ink:#233f37;--muted:#4d6056;--glass:#dce9df;--green:#234b42;--cedar:#725c4c;--line:#b7bdac;--serif:Palatino,'Palatino Linotype','Book Antiqua',serif;--sans:'Trebuchet MS',Verdana,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.75 var(--sans)}a{color:var(--green);text-underline-offset:.22em}a:hover{color:#162f29}img{max-width:100%}a,summary{touch-action:manipulation}a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--cedar);outline-offset:4px}::selection{background:var(--glass)}.ob-shell{width:min(1240px,100%);padding-inline:clamp(20px,5vw,64px);margin:auto}.ob-skip{position:absolute;top:0;left:-9999px;background:white;padding:12px;z-index:99}.ob-skip:focus{left:12px}
/* A white porch rail above a cedar-clad wall. Menu expands without scripts. */
.ob-masthead{background:var(--white);border-bottom:6px double var(--cedar)}.ob-masthead-in{display:flex;align-items:center;gap:24px;padding-block:18px;position:relative}.ob-wordmark{font:22px/1.2 var(--serif);text-decoration:none;color:var(--ink);margin-right:auto}.ob-wordmark em{font-style:normal;display:block;font-size:30px}.ob-wordmark small{display:block;font:10px/1.6 var(--sans);letter-spacing:.12em;margin-top:6px;text-transform:uppercase;color:var(--cedar)}.ob-menu-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;background:var(--green);color:white;border-radius:4px;text-decoration:none;font-size:14px;font-weight:bold}.ob-menu-cta:hover{background:#162f29;color:white}.coastal-navigation summary{cursor:pointer;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:4px;font-size:14px}.coastal-navigation[open] .ob-menu{position:absolute;z-index:10;right:clamp(20px,5vw,64px);top:100%;display:grid;grid-template-columns:repeat(2,1fr);background:var(--white);border:1px solid var(--line);box-shadow:0 12px 24px #233f3720;padding:12px;min-width:280px;gap:4px}.ob-menu a{display:flex;align-items:center;min-height:48px;padding:8px 14px;font-size:15px;text-decoration:none;border-radius:4px}.ob-menu a:hover,.ob-menu a[aria-current]{background:var(--glass)}.ob-crumbs{font-size:12px;padding-top:20px;color:var(--muted)}.ob-crumbs ol{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}.ob-crumbs li+li:before{content:'/';margin-right:10px;color:var(--cedar)}
/* Split porch hero: scene has its own column at every size, never behind text. */
.ob-marquee{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);margin:24px 0 32px;background:var(--white);border-bottom:8px double var(--cedar);border-top:1px solid var(--line);overflow:hidden}.ob-marquee-inner{grid-column:1;grid-row:1;position:relative;padding:40px 32px 40px 0;align-self:center}.coastal-scene{grid-column:2;grid-row:1;display:block;width:100%;height:100%;min-height:330px;max-height:550px;background:var(--glass);border:10px solid var(--white);border-right:0;pointer-events:none}.ob-kicker{font:600 11px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--cedar);margin:0 0 18px}.ob-display{font:400 clamp(34px,4.5vw,61px)/1.12 var(--serif);letter-spacing:-.025em;margin:0 0 22px;max-width:22ch}.ob-display em{font-weight:400;color:var(--green)}.ob-lede{font-size:17px;line-height:1.75;margin:0 0 24px}.ob-marquee-actions{display:flex;flex-wrap:wrap;gap:10px}.ob-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:4px;padding:12px 18px;font-size:14px;font-weight:600;text-decoration:none;border:1px solid var(--green);transition:background .15s}.ob-btn-solid{background:var(--green);color:white}.ob-btn-solid:hover{background:#162f29;color:white}.ob-btn-ghost{background:var(--white);color:var(--green)}
/* Translated CardHeader/Content/Footer spacing from fetched shadcn source. */
.coastal-card{border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:0 2px 4px #233f370a;overflow:hidden;width:100%}.card-header{display:flex;flex-direction:column;gap:6px;padding:24px}.card-content{padding:0 24px 24px}.card-footer{display:flex;align-items:center;padding:0 24px 24px}.ob-marquee-inner.card-header{padding:36px 32px 36px 0;gap:0}.ob-marquee-inner .card-footer{padding:0}.ob-section{padding:40px 0;border-bottom:1px solid var(--line)}.ob-section-head{margin-bottom:26px}.ob-num{display:none}.ob-h2{font:400 clamp(26px,3vw,36px)/1.2 var(--serif);margin:0 0 22px}.ob-section-head .ob-h2{margin:0}.ob-spread{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.ob-prose{max-width:78ch}.ob-prose p{margin:0 0 20px}.ob-marginalia{background:var(--glass);border-top:5px double var(--cedar);padding:24px;color:var(--muted);font-size:15px;max-width:78ch}.ob-marginalia strong{display:block;color:var(--ink);font:22px var(--serif);margin-bottom:12px}.ob-ledger{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ob-ledger li{display:flex}.ob-ledger a{display:flex;width:100%;text-decoration:none}.ob-ledger .coastal-card{border-top:6px solid var(--cedar);background:linear-gradient(var(--white),#f0f4ed)}.ob-ledger-title{display:block;font:24px/1.3 var(--serif);color:var(--ink)}.ob-ledger-note{display:block;font-size:15px;color:var(--muted)}.ob-ledger a:hover .coastal-card{border-color:var(--green);background:var(--glass)}.ob-plates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ob-plate{padding:28px;background:var(--white);border-top:6px double var(--cedar)}.ob-plate-tag{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--cedar)}.ob-plate h3{font:26px var(--serif)}.ob-pull{margin:28px 0;border-left:4px solid var(--cedar);padding:16px 28px;font:italic 26px/1.5 var(--serif);max-width:55ch}.ob-faq{max-width:850px}.ob-faq details{border-bottom:1px solid var(--line)}.ob-faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;padding:20px 0;font-size:17px;font-weight:600;list-style:none;text-align:left}.ob-faq summary::-webkit-details-marker{display:none}.ob-faq summary:after{content:'';width:9px;height:9px;flex-shrink:0;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(45deg);margin-right:8px;transition:transform .2s}.ob-faq details[open] summary:after{transform:rotate(225deg)}.ob-faq p{margin:0;padding:0 28px 20px 0;color:var(--muted)}
.ob-cta{margin:44px 0;background:var(--glass);border:8px double var(--white);outline:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;padding:12px}.ob-cta h2{font:34px/1.2 var(--serif);margin:0 0 12px}.ob-cta p{margin:0}.ob-cta-side{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:0 24px 24px}.ob-cta-mail{font-size:13px;overflow-wrap:anywhere}.ob-related{display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:12px}.ob-related a{display:inline-flex;min-height:44px;align-items:center;border-bottom:2px solid var(--cedar);padding:8px 12px;text-decoration:none;font-size:14px;background:var(--white)}.ob-colophon{background:#dfd4c5;background-image:repeating-linear-gradient(0deg,transparent 0 29px,#725c4c18 29px 30px);border-top:10px double var(--white);margin-top:40px}.ob-colophon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-block:40px}.ob-colophon-grid>div:first-child{grid-column:1/-1;max-width:70ch;border-bottom:1px solid var(--cedar);padding-bottom:16px}.ob-colophon h2{font:26px/1.2 var(--serif)}.ob-colophon h3{font:600 15px var(--sans)}.ob-colophon p,.ob-colophon a{font-size:14px;color:var(--ink);overflow-wrap:anywhere}.ob-colophon ul{list-style:none;padding:0}.ob-colophon li{margin-bottom:9px}.ob-imprint{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;border-top:1px solid var(--cedar);padding:22px 0;font-size:12px}.fleet-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:30px 0}.fleet-cards article{border:1px solid var(--line);border-bottom:6px double var(--cedar);background:var(--white);overflow:hidden}.fleet-cards img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:white}.fleet-cards h3{font:26px var(--serif);padding:0 24px}.fleet-cards p{padding:0 24px;color:var(--muted)}.fleet-cards a{display:inline-block;margin:0 24px 24px}.rate-scroll{position:relative;width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--white)}.rate-scroll table{width:100%;border-collapse:collapse;text-align:left;font-size:15px;white-space:nowrap}.rate-scroll caption{caption-side:bottom;text-align:left;padding:16px;color:var(--muted);white-space:normal}.rate-scroll th,.rate-scroll td{padding:16px;border-bottom:1px solid var(--line)}.rate-scroll thead{background:var(--glass)}.rate-scroll tbody tr:hover{background:#edf3ee}#booking{scroll-margin-top:24px}#booking iframe{border-radius:6px;min-height:950px}.ob-entry{padding:30px 0}.ob-article-meta{font-size:13px;color:var(--muted)}
@media(max-width:950px){.ob-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.ob-marquee{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.ob-display{font-size:40px}}
@media(max-width:650px){body{font-size:16px}.ob-masthead-in{gap:10px;flex-wrap:wrap;padding-block:12px}.ob-wordmark{flex:1 1 100%;font-size:19px}.ob-wordmark em{display:inline;font-size:23px}.ob-wordmark small{font-size:9px}.ob-menu-cta{margin-right:auto}.coastal-navigation[open] .ob-menu{right:20px;left:20px;min-width:0}.ob-marquee{grid-template-columns:1fr;margin-top:18px}.coastal-scene{grid-column:1;grid-row:2;height:110px;min-height:110px;border:0;object-fit:cover}.ob-marquee-inner.card-header{padding:24px 0;grid-row:1}.ob-display{font-size:36px;max-width:22ch}.ob-lede{font-size:16px}.ob-kicker{margin-bottom:14px}.ob-ledger,.ob-plates,.fleet-cards{grid-template-columns:1fr}.ob-section{padding:30px 0}.ob-colophon-grid{grid-template-columns:1fr 1fr;gap:20px}.ob-cta{padding:0}.ob-cta h2{font-size:29px}.ob-cta-side{align-items:flex-start;flex-direction:column}.rate-scroll th,.rate-scroll td{padding:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
