* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #f4eede; color: #211f19; font-family: 'Archivo', sans-serif; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: inherit; }
img { display: block; }
@keyframes connis-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes connis-bob { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-10px) rotate(1deg); } }
@keyframes connis-spin { from { transform: rotate(0); } to { transform: rotate(360deg); } }
.cn-link:hover { color: #1a5c2e !important; }
.cn-card { transition: transform .25s ease, box-shadow .25s ease; }
.cn-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(18,63,32,.18); }
.cn-btn { transition: transform .15s ease, background .2s ease, color .2s ease; }
.cn-btn:hover { transform: translateY(-2px); }
.cn-hamburger { display:none; }
.menu-tab { border:2px solid #1a5c2e; border-radius:3px; padding:13px 30px; font-family:'Space Mono',monospace; font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; background:transparent; color:#1a5c2e; }
.menu-tab.active { background:#1a5c2e; color:#f4eede; }
.menu-panel { display:none; }
.menu-panel.active { display:block; }
@media (max-width: 1024px) {
  nav { padding:12px 18px !important; }
  .cn-hamburger { display:flex !important; }
  .cn-navlinks { position:absolute !important; top:100% !important; left:0 !important; right:0 !important; flex-direction:column !important; align-items:stretch !important; gap:0 !important; background:#f4eede !important; border-bottom:2px solid #1a5c2e !important; padding:8px 18px 16px !important; box-shadow:0 16px 26px rgba(0,0,0,.13); display:none !important; }
  .cn-navlinks.cn-open { display:flex !important; }
  .cn-navlinks > a { padding:14px 4px !important; border-bottom:1px solid #e2dabf; font-size:15px !important; }
  .cn-navlinks > a.cn-booking { margin-top:12px; padding:16px !important; font-size:13px !important; border-bottom:none; text-align:center; }
  section { padding-left:18px !important; padding-right:18px !important; }
  footer { padding-left:20px !important; padding-right:20px !important; }
  .cn-hero { grid-template-columns:1fr !important; gap:24px !important; }
  .cn-hero-art { max-width:320px; margin:0 auto; width:100%; }
  .cn-grid3 { grid-template-columns:1fr !important; }
  .cn-story { grid-template-columns:1fr !important; gap:26px !important; }
  .cn-otg { grid-template-columns:1fr !important; gap:26px !important; }
  .cn-menuwrap { grid-template-columns:1fr !important; gap:22px !important; }
  .cn-menucols { columns:1 !important; }
  .cn-wordmark { writing-mode:horizontal-tb !important; transform:none !important; font-size:64px !important; margin-bottom:6px !important; }
  .cn-ig { grid-template-columns:repeat(2,1fr) !important; }
  .cn-foot { grid-template-columns:1fr 1fr !important; gap:24px !important; }
  .cn-map { aspect-ratio:3/4 !important; }
}
@media (max-width: 520px) {
  .cn-foot { grid-template-columns:1fr !important; }
  .cn-hero h1 { font-size:44px !important; }
}