:root{--ink:#0a2b30;--ink2:#123f45;--teal:#2f8f8a;--coral:#ff6b57;--coral2:#e5513e;--cream:#f6efe2;--sand:#ebe1cc;--butter:#f4c95d;--mute:#4b5f60}
html{scroll-behavior:smooth;scroll-padding-top:120px}
html,body{overflow-x:clip}
body{font-family:'Karla',system-ui,sans-serif;color:var(--ink);background:var(--cream);font-size:1.075rem;line-height:1.65}
h1,h2,h3,h4,.disp{font-family:'Big Shoulders Display','Arial Narrow',sans-serif;font-weight:900;text-transform:uppercase;line-height:.95;letter-spacing:.01em}
a{color:var(--coral2)}
.eyebrow{font-family:'Courier Prime',monospace;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);font-weight:700}
.btn-coral{background:var(--coral);color:#1a0c09;font-weight:800;border:2px solid var(--coral);border-radius:.4rem;padding:.75rem 1.6rem;letter-spacing:.03em}
.btn-coral:hover{background:var(--butter);border-color:var(--butter);color:var(--ink)}
.btn-line{border:2px solid var(--cream);color:var(--cream);font-weight:800;border-radius:.4rem;padding:.75rem 1.6rem}
.btn-line:hover{background:var(--cream);color:var(--ink)}
/* utility bar + nav */
.util{background:var(--coral);color:#1a0c09;font-size:.92rem;font-weight:700;padding:.35rem 0;text-align:center}
.util a{color:#1a0c09;text-decoration:none;border-bottom:2px solid rgba(0,0,0,.35)}
.navbar{background:var(--ink);border-bottom:3px solid var(--teal)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.brand img{height:44px;width:auto;border-radius:.35rem;background:#fff;padding:2px}
.brand b{font-family:'Big Shoulders Display';font-weight:900;text-transform:uppercase;font-size:1.7rem;letter-spacing:.04em;color:var(--cream);line-height:1}
.brand small{display:block;font-family:'Courier Prime',monospace;font-size:.62rem;letter-spacing:.16em;color:var(--butter);text-transform:uppercase}
.navbar .nav-link{white-space:nowrap;color:var(--cream);font-weight:700;font-size:.95rem;padding:.5rem .65rem}
.navbar .nav-link:hover{color:var(--butter)}
.navbar-toggler{border-color:var(--cream)}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23f6efe2' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}
/* hero */
.hero{background:var(--ink);color:var(--cream);position:relative;overflow:hidden;padding:4.5rem 0 7rem}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 85% 40%,rgba(47,143,138,.35),transparent 70%)}
.hero .container{position:relative}
.hero h1{font-size:clamp(3.4rem,10vw,7.5rem);color:var(--cream);margin:.6rem 0 1rem}
.hero h1 em{font-style:normal;color:var(--coral)}
.hero .lead{max-width:34rem;font-size:1.2rem;color:#d7e4e1}
.arch{border-radius:999px 999px 1rem 1rem;overflow:hidden;border:6px solid var(--cream);box-shadow:14px 14px 0 var(--coral);max-width:430px;margin:0 auto;aspect-ratio:4/5}
.arch img{width:100%;height:100%;object-fit:cover;object-position:35% 50%;display:block}
.stamp{position:absolute;right:4%;bottom:-1.2rem;width:116px;height:116px;border-radius:50%;background:var(--butter);color:var(--ink);display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Big Shoulders Display';font-weight:900;text-transform:uppercase;line-height:.95;font-size:1.15rem;transform:rotate(-12deg);border:3px dashed var(--ink)}
.archwrap{position:relative;max-width:430px;margin:0 auto}
/* weir divider: V of fish-weir stakes + water line */
.weir{display:block;width:100%;height:48px;color:var(--ink)}
.weir.flip{transform:scaleY(-1)}
.wave-top{background:var(--ink);line-height:0}
/* ticker */
.ticker{background:var(--butter);color:var(--ink);overflow:hidden;white-space:nowrap;border-block:3px solid var(--ink)}
.ticker div{display:inline-block;padding:.5rem 0;animation:tick 38s linear infinite;font-family:'Big Shoulders Display';font-weight:900;text-transform:uppercase;font-size:1.5rem;letter-spacing:.06em}
.ticker span{margin:0 1.6rem}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker div{animation:none}}
section{padding:5rem 0}
.sec-title{font-size:clamp(2.4rem,6vw,4.2rem);margin:.3rem 0 1rem}
/* story */
.photo-stack{position:relative;padding-bottom:3rem}
.polaroid{background:#fff;padding:.6rem .6rem 1.6rem;box-shadow:0 8px 24px rgba(0,0,0,.2);transform:rotate(-2.5deg);max-width:420px}
.polaroid img{width:100%;display:block}
.polaroid figcaption{font-family:'Courier Prime',monospace;font-size:.78rem;color:var(--mute);margin-top:.5rem}
.polaroid.two{position:absolute;right:0;bottom:0;transform:rotate(3deg);max-width:240px}
.mission{border-left:6px solid var(--coral);padding-left:1.2rem;font-size:1.25rem}
/* specials */
.specials{background:var(--sand)}
.promo{background:var(--ink);padding:.5rem;border-radius:.5rem;box-shadow:8px 8px 0 var(--teal);height:100%}
.promo img{width:100%;display:block;border-radius:.3rem}
/* menu */
.menu{background:var(--ink);color:var(--cream)}
.menu .sec-title{color:var(--cream)}
.menu .eyebrow{color:var(--butter)}
.nav-pills .nav-link{color:var(--cream);font-weight:800;border:2px solid rgba(246,239,226,.4);border-radius:.4rem;margin:0 .4rem .6rem 0;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}
.nav-pills .nav-link.active{background:var(--coral);border-color:var(--coral);color:#1a0c09}
.course{font-size:2rem;color:var(--butter);margin:1.8rem 0 .3rem;border-bottom:2px solid rgba(246,239,226,.25);padding-bottom:.3rem}
.course small{font-family:'Karla';font-size:.85rem;text-transform:none;letter-spacing:0;color:#b8cdca;font-weight:400;margin-left:.6rem}
.dish{display:flex;gap:.8rem;align-items:baseline;padding:.65rem 0;border-bottom:1px dotted rgba(246,239,226,.25)}
.dish h4{font-size:1.35rem;margin:0;color:var(--cream);letter-spacing:.03em;white-space:normal}
.dish .dots{flex:1;min-width:10px}
.dish .pr{font-family:'Big Shoulders Display';font-weight:900;font-size:1.5rem;color:var(--coral);white-space:nowrap;text-align:right}
.dish p{margin:0;color:#c3d6d3;font-size:.97rem;line-height:1.45}
.dish .body{flex:1}
.dish .top{display:flex;gap:.8rem;align-items:baseline;justify-content:space-between}
.rec{color:var(--butter);font-size:.9rem}
.fine{font-size:.85rem;color:#a9bfbc;margin-top:1.5rem}
.light .course{color:var(--coral2);border-color:rgba(10,43,48,.25)}
.light .course small{color:var(--mute)}
.light .dish{border-color:rgba(10,43,48,.2)}
.light .dish h4{color:var(--ink)}
.light .dish p{color:var(--mute)}
.light .dish .pr{color:var(--coral2)}
/* drinks */
.drinks{background:var(--cream)}
.tree{background:var(--ink);color:var(--cream);border-radius:1rem;padding:1.6rem;box-shadow:8px 8px 0 var(--coral)}
.tree h3{color:var(--butter);font-size:2rem}
.tree .tier{display:flex;justify-content:space-between;border-bottom:1px dotted rgba(246,239,226,.3);padding:.25rem 0;font-weight:700}
.tree .tier b{font-family:'Big Shoulders Display';font-size:1.3rem;color:var(--coral)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none}
.chips li{background:var(--sand);border-radius:50rem;padding:.15rem .8rem;font-size:.9rem;font-weight:700}
.wine li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dotted rgba(10,43,48,.25);padding:.25rem 0}
.wine{list-style:none;padding:0;margin:0}
.wine b{white-space:nowrap;color:var(--coral2)}
/* brunch */
.brunch{background:var(--teal);color:#fff}
.brunch .sec-title{color:#fff}
.brunch .eyebrow{color:var(--butter)}
.brunch .dish{border-color:rgba(255,255,255,.35)}
.brunch .dish h4{color:#fff}
.brunch .dish p{color:#e7f4f2}
.brunch .dish .pr{color:var(--butter)}
.brunch .course{color:var(--butter);border-color:rgba(255,255,255,.4)}
.brunch .course small{color:#e7f4f2}
/* outdoor + cruise */
.outdoor{background:var(--sand)}
.cruise{background:var(--ink);color:var(--cream)}
.cruise .sec-title{color:var(--cream)}
.cruise .eyebrow{color:var(--butter)}
/* giving */
.giving blockquote{font-family:'Big Shoulders Display';font-weight:800;text-transform:uppercase;font-size:clamp(1.8rem,4.5vw,3rem);line-height:1.05;color:var(--ink);border-left:8px solid var(--coral);padding-left:1.2rem;margin:0}
.giving cite{display:block;font-family:'Courier Prime',monospace;font-size:.9rem;color:var(--mute);margin-top:.8rem;text-transform:none}
/* hiring */
.team{background:var(--sand)}
/* visit */
.visit{background:var(--ink);color:var(--cream)}
.visit .sec-title{color:var(--cream)}
.visit .eyebrow{color:var(--butter)}
.visit a{color:var(--butter)}
.hours{list-style:none;padding:0;margin:0}
.hours li{display:flex;justify-content:space-between;border-bottom:1px dotted rgba(246,239,226,.3);padding:.35rem 0}
.hours li.today{color:var(--butter);font-weight:800}
.map{border:0;width:100%;height:340px;border-radius:.6rem;filter:saturate(.85)}
footer{background:#061c20;color:#b8cdca;padding:3rem 0 1.5rem;font-size:.95rem}
footer a{color:var(--cream);text-decoration:none}
footer a:hover{color:var(--butter)}
footer .logo{height:70px;width:auto;border-radius:.4rem;background:#fff;padding:3px}
.powered{display:inline-block;margin-top:1rem;padding:.4rem 1rem;border:1px solid rgba(246,239,226,.35);border-radius:50rem;font-family:'Courier Prime',monospace;font-size:.8rem;letter-spacing:.08em}
@media(max-width:991px){.photo-stack{padding-bottom:0}.polaroid.two{display:none}.hero{padding:3rem 0 5rem}section{padding:3.5rem 0}}
@media(max-width:575px){.brand b{font-size:1.35rem}.brand img{height:38px}.dish .top{flex-wrap:wrap}.stamp{width:92px;height:92px;font-size:.95rem}}
