@font-face{font-family:Fraunces;src:url('assets/fraunces-latin-standard-normal.DihXLNYH.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Fraunces;src:url('assets/fraunces-latin-standard-italic.lSdLDfvT.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
:root{--cream:#f6f1e5;--paper:#eae4d7;--navy:#293e43;--blue:#e0e7e3;--red:#9e4035;--line:#293e4338;--muted:#5a6664;--display:Fraunces,Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--navy);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}
h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:480;line-height:1.12;letter-spacing:-.035em}h2{font-size:clamp(36px,4vw,58px)}h3{font-size:28px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.35}a,button{touch-action:manipulation}img{display:block;width:100%;height:100%;object-fit:cover}[hidden]{display:none!important}::selection{background:#d9b4a5}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;padding:15px;background:var(--cream);z-index:100}.skip:focus{top:10px}
.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:500;line-height:1.5}.season-bar{display:flex;justify-content:space-between;padding:8px 5%;background:var(--red);color:var(--cream);font-size:11px}.season-bar a:hover{text-decoration:underline}
.header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:24px 5%;gap:28px;border-bottom:1px solid var(--line)}.wordmark{display:block;font-family:var(--display);line-height:1;text-align:center;flex-shrink:0;transform:rotate(-2deg)}.wordmark>span{font-size:19px;font-style:italic}.wordmark strong{display:block;font-weight:650;font-size:27px;letter-spacing:-.04em;margin-top:3px}.wordmark i{font-weight:450;color:var(--red)}nav{display:flex;gap:31px;font-size:13px}nav a:hover{text-decoration:underline;text-underline-offset:6px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:15px;background:var(--red);color:var(--cream);padding:15px 23px;border:1px solid transparent;line-height:1.4;font-size:13px;transition:background .2s}.button:hover{background:#7d3129}.button.small{font-size:12px;padding:12px 19px}.cart-count{border-radius:20px;background:var(--cream);color:var(--red);padding:1px 6px}.text-link{display:inline-block;font-size:13px;border-bottom:1px solid currentColor;padding:4px 0}.text-link:hover{color:var(--red)}.mobile-toggle,.mobile-nav{display:none}
.hero{max-width:1600px;display:grid;grid-template-columns:1fr 1.05fr;gap:6%;padding:50px 5% 58px;margin:auto;align-items:center}.hero-copy{padding:12px 0 22px}.hero .eyebrow{font-family:var(--display);font-size:16px;font-style:italic;letter-spacing:0;text-transform:none}.hero h1{font-size:clamp(65px,6.7vw,102px);line-height:1.025;letter-spacing:-.035em;word-spacing:.035em;margin:26px 0 26px;font-weight:560}.hero h1 em{font-style:normal;font-weight:470;color:var(--red)}.hero-description{font-size:14px;line-height:1.85;max-width:350px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:29px}.hero-coast-link{display:inline-block;font-family:var(--display);font-style:italic;font-size:15px;color:var(--muted);margin-top:44px;border-bottom:1px solid var(--line)}.hero-coast-link:hover{color:var(--red)}
.hero-photo{height:clamp(525px,44vw,675px);position:relative;padding-bottom:30px}.hero-photo img{object-position:50% 45%;border-radius:0}.hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;font-size:10px;padding-top:11px;color:var(--muted)}
.section-wrap{max-width:1440px;margin:auto;padding:90px 6%}.favorites{border-top:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.section-heading .eyebrow{margin-bottom:13px}.section-heading>p{font-size:13px;line-height:1.8;max-width:350px}.menu-tabs{display:flex;gap:32px;margin:36px 0 34px;border-bottom:1px solid var(--line)}.menu-tabs button{background:transparent;padding:14px 0 15px;font-size:14px;position:relative}.menu-tabs button[aria-selected=true]{color:var(--red)}.menu-tabs button[aria-selected=true]:after{content:'';height:3px;background:var(--red);position:absolute;bottom:-1px;left:0;right:0}.menu-tabs button:hover{color:var(--red)}
.menu-panel{display:grid;grid-template-columns:43% 1fr;gap:9%;align-items:start}.menu-image{position:sticky;top:28px;height:570px;padding-bottom:30px}.menu-image img{object-position:center}.menu-image figcaption{font-family:var(--display);font-style:italic;font-size:14px;padding-top:11px;line-height:1.4}.menu-intro{padding:0 0 17px}.menu-intro h3{font-size:32px}.menu-intro p{font-size:13px;color:var(--muted);margin-top:13px;max-width:400px}.product{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:13px 0;font-size:13px;min-height:60px}.product-name{flex:1;line-height:1.45}.product-price{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.add-product{width:34px;height:34px;flex-shrink:0;background:transparent;border:1px solid var(--line);border-radius:0;font-size:21px;line-height:1;display:grid;place-items:center}.add-product:hover,.add-product.added{background:var(--red);color:var(--cream);border-color:var(--red)}.menu-note{font-size:11px;line-height:1.8;color:var(--muted);margin-top:22px}.diet-note{display:flex;align-items:center;gap:30px;border-top:1px solid var(--line);padding-top:27px;margin-top:42px}.diet-note>div{flex:1}.diet-note h3{font-size:24px}.diet-note p{font-size:12px;line-height:1.8;max-width:640px;margin-top:9px}.diet-note .text-link{white-space:nowrap}
.story{display:grid;grid-template-columns:1.1fr 1fr;max-width:1600px;margin:auto;background:var(--paper)}.story-photo{position:relative;min-height:570px}.story-photo img{object-position:50% center}.photo-label{position:absolute;bottom:20px;left:24px;background:var(--cream);padding:8px 11px;font-size:9px;letter-spacing:.06em}.story-copy{align-self:center;padding:60px 12%}.story-copy .eyebrow{margin-bottom:22px}.story-copy h2{font-size:clamp(34px,3.6vw,53px);margin-bottom:25px}.story-copy p:not(.eyebrow){font-size:13px;line-height:1.9;margin-top:15px;max-width:450px}.story-copy .text-link{margin-top:24px}
.harbor{padding:73px 0 0;overflow:hidden;background:var(--cream)}.harbor-heading{max-width:1440px;margin:auto;padding:0 6%;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.harbor-heading .eyebrow{margin-bottom:14px}.harbor-heading h2{font-size:clamp(34px,3.4vw,49px);font-style:italic}.harbor-heading>p{font-size:13px;line-height:1.8}.harbor-scene{margin-top:2px;overflow:hidden;position:relative}.harbor-drawing{width:100%;height:auto;display:block;min-height:280px}.harbor-caption{display:flex;justify-content:space-between;gap:20px;padding:13px 6% 14px;background:#73959d;color:#f6f1e5;border-top:1px solid #f6f1e533;font-size:11px}.motion-toggle{background:transparent;color:inherit;padding:0 0 2px;border-bottom:1px solid currentColor;font-size:11px;white-space:nowrap}.motion-toggle:hover{opacity:.75}
.boat-track{animation:sail-across 63s linear infinite;will-change:transform}.boat-one{animation-duration:74s;animation-delay:-17s}.boat-two{animation-duration:58s;animation-delay:-34s}.boat-three{animation-duration:86s;animation-delay:-69s}.boat-bob{animation:boat-bob 5s ease-in-out infinite;transform-origin:0 0}.boat-two .boat-bob{animation-delay:-1.5s}.boat-three .boat-bob{animation-delay:-3s}.water-drift{animation:water-drift 18s linear infinite}.harbor.is-paused .boat-track,.harbor.is-paused .boat-bob,.harbor.is-paused .water-drift{animation-play-state:paused}
@keyframes sail-across{from{transform:translateX(-120px)}to{transform:translateX(1560px)}}@keyframes boat-bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(2px) rotate(1deg)}}@keyframes water-drift{to{transform:translateX(200px)}}
.breakfast{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.breakfast .eyebrow{margin-bottom:20px}.breakfast h2{font-size:clamp(39px,4.5vw,66px)}.breakfast h2 em{font-weight:450;color:var(--red)}.breakfast-copy>p:not(.eyebrow):not(.subtle){font-size:14px;line-height:1.9;margin-top:24px;max-width:400px}.breakfast ul{list-style:none;padding:0;margin:24px 0 28px;font-size:13px}.breakfast li{border-bottom:1px solid var(--line);padding:9px 0}.breakfast .subtle{margin-top:12px}.breakfast figure{height:540px;position:relative;padding-bottom:30px}.breakfast img{object-position:50% 62%}.breakfast figcaption{font-size:11px;font-style:italic;padding-top:11px}.subtle{font-size:11px;color:var(--muted);line-height:1.8}
.order-banner{background:var(--red);color:var(--cream);padding:53px 6%;display:flex;justify-content:space-between;align-items:center;gap:35px}.order-banner .eyebrow{margin-bottom:15px}.order-banner h2{font-size:clamp(35px,3.5vw,51px)}.order-banner p:not(.eyebrow){font-size:13px;line-height:1.85;margin-top:18px}.button.cream{background:var(--cream);color:var(--red);flex-shrink:0}.button.cream:hover{background:#e5dcc8}.visit-heading .eyebrow{margin-bottom:13px}.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.visit-card{padding:30px 30px 35px 0}.visit-card+.visit-card{padding-left:30px;border-left:1px solid var(--line)}.number{font-size:10px;letter-spacing:.1em}.visit-card h3{font-size:32px;margin-top:23px}.visit-card p:not(.subtle){font-size:13px;line-height:1.85;margin-top:20px}.visit-card .text-link{margin-top:20px}.visit-card .season-status{font-size:11px!important;color:var(--red);margin-top:20px}dl{margin:18px 0}dl>div{display:flex;justify-content:space-between;gap:8px;padding:5px 0;font-size:12px}dd{margin:0}.phone{display:inline-block;font-family:var(--display);font-size:23px;border-bottom:1px solid var(--line);margin-top:20px}.visit-card .phone+p{margin-top:15px}.socials{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;margin-top:24px}.socials a{border-bottom:1px solid var(--line)}.socials a:hover{color:var(--red)}
.team-strip{display:grid;grid-template-columns:1.25fr 1fr;background:var(--paper);min-height:330px}.team-strip img{max-height:390px;object-position:50% 35%}.team-strip>div{align-self:center;padding:45px 12%}.team-strip>div>p:not(.eyebrow){font-family:var(--display);font-size:clamp(31px,3.5vw,48px);letter-spacing:-.035em;line-height:1.2;margin-top:22px}.team-strip em{font-size:.63em;letter-spacing:-.01em;color:var(--red);display:inline-block;margin-top:12px}
footer{padding:65px 6% 24px;background:var(--navy);color:var(--cream)}.footer-brand{display:block;text-align:center;font-family:var(--display);font-weight:530;font-size:clamp(55px,8vw,118px);line-height:1;letter-spacing:-.045em}.footer-brand em{font-weight:400}.footer-brand>span{font-family:Arial,sans-serif;font-size:9px;letter-spacing:.16em;line-height:1.6;display:block;margin-top:26px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #f6f1e533;margin-top:48px;padding-top:20px;font-size:10px;color:#f6f1e5bd}.footer-bottom a:hover{text-decoration:underline}
.floating-cart{position:fixed;z-index:15;bottom:22px;right:24px;padding:13px 20px;display:flex;align-items:center;gap:14px;background:var(--navy);color:var(--cream);border:1px solid #f6f1e566;box-shadow:0 4px 22px #293e4329;font-size:12px}.floating-count{background:var(--cream);color:var(--navy);min-width:24px;height:24px;display:grid;place-items:center}.floating-total{margin-left:10px;font-weight:bold}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* The order drawer is shared with the existing SMS order flow. */
@media(min-width:1500px){.hero h1{font-size:102px}.harbor-drawing{max-height:440px}}
@media(max-width:1000px) and (min-width:721px){.header{gap:20px}nav{gap:20px;font-size:12px}.wordmark strong{font-size:23px}.header .small{padding:11px 14px}.hero{gap:4%;padding-top:38px}.hero h1{font-size:clamp(55px,7vw,68px)}.hero-photo{height:535px}.hero-actions{gap:19px}.hero-actions .button{padding:14px 17px}.menu-panel{gap:6%}.menu-tabs{gap:26px}.story-copy{padding:40px 9%}.story-photo{min-height:580px}.section-wrap{padding:70px 5%}.visit-card{padding-right:20px}.visit-card+.visit-card{padding-left:20px}.visit-card h3{font-size:28px}.phone{font-size:19px}.breakfast{gap:8%}.breakfast figure{height:520px}.harbor-heading{padding:0 5%}}
@media(max-width:720px){
  html{scroll-padding-top:20px}.season-bar{justify-content:center;font-size:10px;padding:8px 4%}.season-bar>span{display:none}.header{padding:20px 5%;gap:14px}.wordmark>span{font-size:16px}.wordmark strong{font-size:23px}.header nav{display:none}.header>.button{margin-left:auto;padding:11px 12px;font-size:11px}.mobile-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:transparent;width:27px;height:40px;padding:2px;flex-shrink:0}.mobile-toggle span{height:1px;width:23px;background:var(--navy)}.mobile-nav:not([hidden]){display:grid;gap:16px;padding:16px 5% 25px;border-bottom:1px solid var(--line)}.mobile-nav a,.mobile-nav button{text-align:left;background:transparent;font-size:16px;padding:2px 0}
  .hero{display:flex;flex-direction:column;padding:31px 5% 35px;gap:29px;align-items:stretch}.hero-copy{padding:0}.hero .eyebrow{font-size:15px}.hero h1{font-size:clamp(49px,15vw,90px);line-height:1.03;margin:23px 0}.hero-first{font-size:.82em;white-space:nowrap}.hero-description{font-size:14px;max-width:420px;line-height:1.8}.hero-actions{gap:24px;margin-top:25px}.hero-actions .button{font-size:12px;padding:15px 20px}.hero-actions .text-link{font-size:12px}.hero-coast-link{display:none}.hero-photo{height:440px;width:100%;max-width:520px;align-self:center}.hero-photo img{border-radius:0;object-position:50% 43%}.hero-photo figcaption{font-size:9px}
  .section-wrap{padding:54px 5%}.section-heading{display:block}.section-heading>p{margin-top:17px;font-size:13px}.section-heading>p br{display:none}h2{font-size:40px}.eyebrow{font-size:9px}.menu-tabs{gap:0;justify-content:space-between;margin:25px 0 26px}.menu-tabs button{font-size:11px;padding:13px 0}.menu-panel{display:flex;flex-direction:column;gap:27px}.menu-image{position:relative;top:auto;height:355px;width:100%;padding-bottom:29px}.menu-image img{object-position:50% 42%}.menu-image figcaption{font-size:13px}.menu-content{width:100%}.menu-intro h3{font-size:31px}.menu-intro p{font-size:13px}.product{font-size:13px;min-height:63px}.add-product{width:40px;height:40px}.menu-note{font-size:11px}.diet-note{display:block;margin-top:30px;padding-top:25px}.diet-note p{font-size:12px}.diet-note .text-link{margin-top:15px;font-size:12px}
  .story{display:flex;flex-direction:column}.story-photo{height:340px;min-height:0}.photo-label{font-size:8px;left:5%;bottom:17px}.story-copy{padding:37px 5% 43px}.story-copy h2{font-size:40px}.story-copy p:not(.eyebrow){font-size:14px;max-width:500px}.story-copy .eyebrow{margin-bottom:18px}
  .harbor{padding-top:47px}.harbor-heading{display:block;padding:0 5%}.harbor-heading h2{font-size:35px}.harbor-heading>p{font-size:12px;margin-top:16px}.harbor-heading>p br{display:none}.harbor-scene{margin-top:20px}.harbor-drawing{width:190%;max-width:none;min-height:0;margin-left:-45%;height:auto}.shore-left{transform:translateX(220px)}.shore-right{transform:translateX(-220px)}.far-village{opacity:.6}.harbor-caption{padding:12px 5%;font-size:10px;align-items:center}.harbor-caption>span{max-width:180px}.motion-toggle{font-size:10px;padding:6px 0}.boat-one{animation-duration:60s}.boat-two{animation-duration:48s}.boat-three{animation-duration:72s}
  .breakfast{display:flex;flex-direction:column;gap:34px;align-items:stretch}.breakfast h2{font-size:43px}.breakfast-copy>p:not(.eyebrow):not(.subtle){font-size:14px;max-width:500px}.breakfast figure{height:430px}.breakfast figcaption{font-size:10px}.breakfast .button{font-size:12px}.order-banner{display:block;padding:40px 5%}.order-banner h2{font-size:38px}.order-banner .button{margin-top:25px;font-size:12px}.order-banner p:not(.eyebrow){font-size:13px}
  .visit-grid{display:block;margin-top:28px}.visit-card{padding:25px 0 30px}.visit-card+.visit-card{border-left:0;border-top:1px solid var(--line);padding-left:0}.visit-card h3{margin-top:17px;font-size:32px}.visit-card h3 br{display:none}.visit-card p:not(.subtle){font-size:14px;margin-top:17px}.visit-card .subtle{max-width:380px}.visit-card .text-link{margin-top:16px}dl{max-width:400px}.phone{font-size:24px}.socials{font-size:12px;gap:22px}.team-strip{display:flex;flex-direction:column}.team-strip img{height:260px}.team-strip>div{width:100%;padding:33px 5% 39px}.team-strip>div>p:not(.eyebrow){font-size:38px;margin-top:15px}.team-strip em{margin-top:8px}
  footer{padding:42px 5% 24px}.footer-brand{font-size:60px;line-height:1.05}.footer-brand>span{font-size:8px;margin-top:22px}.footer-bottom{margin-top:33px;font-size:9px;flex-wrap:wrap;gap:14px}.footer-bottom>span:nth-child(2){display:none}.footer-bottom a{margin-left:auto}.floating-cart{bottom:12px;left:12px;right:12px;font-size:11px;padding:12px 14px;gap:12px}.floating-total{margin-left:auto}
  dialog{padding:20px 22px 35px}.dialog-head .eyebrow{max-width:190px;font-size:9px}dialog h2{font-size:36px!important;margin-top:20px!important}.dialog-lead{font-size:12px!important}.dialog-close{flex-shrink:0}.quantity button{width:36px!important;height:36px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.harbor:not(.motion-enabled) .boat-track,.harbor:not(.motion-enabled) .boat-bob,.harbor:not(.motion-enabled) .water-drift{animation-play-state:paused}}

dialog{color:var(--navy);background:var(--cream);border:0;position:fixed;left:auto;right:0;top:0;bottom:0;margin:0;width:min(540px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:28px 34px 45px;overflow-y:auto;box-shadow:-15px 0 60px #183e5633}dialog::backdrop{background:#102d3db0;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-head .eyebrow{font-size:8px}.dialog-close{width:38px;height:38px;background:transparent;border:1px solid var(--line);border-radius:50%;font-size:16px}.dialog-close:hover{background:var(--paper)}dialog h2{font-size:45px;margin-top:27px}.dialog-lead{font-size:12px;margin-top:19px;line-height:1.9}#cart-items{margin-top:25px}.empty-cart{background:var(--blue);padding:20px;font-size:12px}.cart-item{padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px}.cart-item>div:first-child{flex:1}.cart-item h3{font-family:Arial;font-size:12px;letter-spacing:0;line-height:1.5}.cart-item p{font-size:11px;color:var(--muted)}.quantity{display:flex;align-items:center;gap:12px;font-size:12px}.quantity button{background:transparent;border:1px solid var(--line);border-radius:50%;width:29px;height:29px;line-height:1;font-size:17px}.quantity button:hover{background:var(--blue)}.cart-sum{display:flex;justify-content:space-between;margin:22px 0;font-size:13px}.continue-shopping,.copy-sms,.edit-order{border-bottom:1px solid var(--line);background:transparent;padding:4px 0;font-size:11px;margin-top:20px}.continue-shopping:hover,.copy-sms:hover,.edit-order:hover{color:var(--red)}#order-form{border-top:1px solid var(--line);margin-top:27px;padding-top:20px}label{display:block;font-size:11px;font-weight:600;margin:17px 0 8px}label span{font-weight:400;opacity:.7}input,textarea{display:block;border:1px solid var(--line);border-radius:0;padding:12px 13px;background:transparent;width:100%;font-size:13px;min-height:45px}input:focus,textarea:focus{background:#fff8}textarea{resize:vertical}#date-note{margin-top:9px}#order-form .button{margin-top:24px;width:100%}.sms-note{margin-top:12px}#sms-preview{margin-top:28px;border-top:1px solid var(--line);padding-top:24px}#sms-preview h3{font-size:29px}#sms-preview>p{font-size:12px;margin:15px 0}#sms-preview textarea{font-size:12px;margin:18px 0;line-height:1.7}#sms-preview .button{width:100%;justify-content:center}#sms-preview .copy-sms{display:block;margin:18px auto}#sms-preview p.subtle{font-size:10px}
