:root{--b:#0b2b65;--cream:#f4efe5;--paper:#fffdf8;--gold:#c7a96b;--cta:#d49a32}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--b);font-family:Georgia,serif}a{text-decoration:none;color:inherit}.nav{height:76px;background:var(--b);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:sticky;top:0;z-index:20}.brand{width:94px;align-self:flex-start;margin-top:8px}.brand img{width:100%;filter:brightness(0) invert(1)}.links{display:flex;align-items:center;gap:18px;font:700 12px Arial}.links a{white-space:nowrap}.cta{background:var(--cta);color:var(--b)!important;border:2px solid var(--cta);padding:11px 16px;border-radius:5px;box-shadow:0 2px 0 #0002;transition:.18s ease}.cta:hover{transform:translateY(-1px);filter:brightness(1.06)}.hamb{display:none;font-size:28px;background:none;border:0;color:#fff}.hero{min-height:72vh;background:center/cover;position:relative;display:grid;place-items:center;text-align:center;color:#fff}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(#001a3850,#001a38bb)}.hero>div{z-index:1;max-width:850px;padding:30px}.hero h1{font-size:clamp(42px,7vw,76px);margin:.2em 0}.hero p{font-size:19px;line-height:1.6}.btn{display:inline-block;background:var(--b);color:#fff;padding:14px 18px;font:700 12px Arial;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--b)}.btn.light{background:white;color:var(--b);border-color:white}.wrap{max-width:1120px;margin:auto;padding:72px 22px}.lead{font-size:clamp(34px,4.5vw,52px);line-height:1.05;margin:8px 0 20px}.copy{font-size:17px;line-height:1.8}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--paper);padding:26px;border-top:4px solid var(--b)}.card h3{font-size:25px}.ey{font:700 11px Arial;letter-spacing:.16em;text-transform:uppercase}.split{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.split img{width:100%;height:500px;object-fit:cover}.blue{background:var(--b);color:white}.calc{display:grid;grid-template-columns:1.1fr .9fr;gap:28px}.panel{background:var(--paper);padding:28px;color:var(--b)}label{display:block;font:700 13px Arial;margin:15px 0 6px}input,select{width:100%;padding:12px;border:1px solid #aaa;background:white}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.total{font-size:38px;font-weight:bold}.small{font:13px/1.5 Arial;color:#6a6258}.agenda{display:grid;gap:12px}.event{background:white;padding:20px;display:grid;grid-template-columns:1fr auto;align-items:center;border-left:5px solid var(--b)}.spots{font:700 13px Arial}.footer{background:var(--b);color:white;padding:35px 4vw;font:13px Arial}@media(max-width:900px){.links{display:none;position:absolute;top:76px;left:0;right:0;background:var(--b);padding:20px;flex-direction:column;align-items:flex-start}.links.open{display:flex}.hamb{display:block}.brand{width:80px}.grid3,.split,.calc{grid-template-columns:1fr}.split img{height:380px}.row{grid-template-columns:1fr}}

.footergrid{max-width:1120px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:25px;align-items:center}.socials{display:flex;gap:14px;justify-content:flex-end}.pill{display:inline-block;padding:5px 9px;background:#e8efe7;border-radius:999px;font:700 12px Arial}.notice{background:#eef2f8;border-left:4px solid var(--b);padding:14px 16px;margin:18px 0;font:14px/1.55 Arial}.choice{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 20px}.choice button{padding:15px 10px;border:1px solid #9aa5b6;background:#fff;color:var(--b);font-weight:700;cursor:pointer}.choice button.active{background:var(--b);color:#fff}.check{display:flex;align-items:center;gap:9px;margin:13px 0;font:14px Arial}.check input{width:auto}.price-line{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #ded7ca;padding:10px 0;font:14px Arial}.from{font-size:14px;font-weight:normal}.foodlink{font:700 12px Arial;text-decoration:underline}.contactcards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px}
@media(max-width:900px){.footergrid,.contactcards,.choice{grid-template-columns:1fr}.socials{justify-content:flex-start}}

.payoff{font-size:clamp(22px,3vw,34px);font-style:italic;margin:0 0 18px}.ghost{background:transparent;border-color:white}.hero-short{min-height:58vh}.centerintro{text-align:center;max-width:820px;margin:0 auto 40px}.homecards .card{display:flex;flex-direction:column}.homecards .btn{margin-top:auto;align-self:flex-start}.textlink{font-weight:bold;text-decoration:underline;margin-left:14px}.ctaband{display:flex;justify-content:space-between;align-items:center;gap:30px}.ctaband h2{font-size:38px;margin:.25em 0}.cta-inline{text-align:center;margin-top:35px}.newsletter{margin-top:55px;background:var(--paper);padding:30px;display:grid;grid-template-columns:1.4fr 1fr;gap:25px;align-items:center}.newsletter form{display:flex;gap:8px}.newsletter input{flex:1}.requestpanel{margin-top:28px}textarea{width:100%;padding:12px;border:1px solid #aaa;background:white;font:inherit}.choice{grid-template-columns:repeat(2,1fr)}@media(max-width:900px){.ctaband,.newsletter{display:block}.newsletter form{margin-top:18px;display:block}.newsletter input{margin-bottom:8px}.textlink{display:inline-block;margin:18px 0 0}.choice{grid-template-columns:1fr}}

.social-icons{display:flex;gap:10px;margin-top:10px}.social-icons a{width:38px;height:38px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;font-family:Arial,sans-serif}.social-icons a:hover{background:rgba(255,255,255,.12)}

.social-icons svg{width:21px;height:21px;display:block}.contact-social a{color:var(--b);border-color:rgba(11,43,101,.25)}.contact-social a:hover{background:rgba(11,43,101,.08)}.textlink{text-decoration:underline;font-weight:700}.faqwrap{max-width:900px}.faqwrap h2{margin-top:42px}.faqwrap details{background:var(--paper);border-bottom:1px solid #ded7ca;margin:0;padding:0 20px}.faqwrap summary{cursor:pointer;font-weight:700;font-size:18px;padding:20px 32px 20px 0;position:relative;list-style:none}.faqwrap summary::-webkit-details-marker{display:none}.faqwrap summary:after{content:"+";position:absolute;right:0;top:16px;font-size:26px}.faqwrap details[open] summary:after{content:"−"}.faqwrap details p{font:15px/1.7 Arial;margin:0;padding:0 28px 20px 0}.faqwrap details a{text-decoration:underline}.faqcta{margin-top:48px;padding:30px;background:var(--paper);border-top:4px solid var(--gold)}.faqcta .btn{margin:6px 8px 0 0}.terms{max-width:900px}.term{background:var(--paper);padding:26px 30px;margin:18px 0}.term h2{margin-top:0}.term p,.term li{font:15px/1.7 Arial}.term li{margin:6px 0}

.btn.primary{background:var(--cta);color:var(--b);border-color:var(--cta);border-radius:4px}.photo-strip{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:10px;margin-top:36px}.photo-strip img{width:100%;height:300px;object-fit:cover}.photo-strip img:first-child{height:300px}@media(max-width:900px){.photo-strip{grid-template-columns:1fr}.photo-strip img{height:280px}}
.video-hero{overflow:hidden;background-position:center;background-size:cover}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.video-hero:after{z-index:1}.video-hero .hero-content{position:relative;z-index:2}.wide-photo{height:min(52vw,560px);min-height:300px;background:center/cover no-repeat}@media (prefers-reduced-motion:reduce){.hero-video{display:none}}

/* v1.6 refinements */
.map-section{background:var(--paper)}.map-frame,.ais-frame{margin-top:24px;border:1px solid rgba(11,43,101,.16);background:#fff;overflow:hidden}.map-frame iframe{display:block;width:100%;height:430px;border:0}.map-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.btn.secondary{background:transparent;color:var(--b);border-color:var(--b)}.blue .ais-copy{max-width:780px}.ais-frame{min-height:430px}.split img,.photo-strip img{border-radius:2px}.btn,.cta,.links a,.social-icons a{transition:.18s ease}.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--cta);outline-offset:3px}@media(max-width:900px){.map-frame iframe{height:360px}.ais-frame{min-height:360px}.nav{padding:0 18px}.hero-short{min-height:52vh}}
.availability{display:inline-block;margin-top:.35rem;font-size:.84rem;font-weight:700}.btn.disabled{opacity:.5;pointer-events:none}.booking-modal{position:fixed;inset:0;z-index:1000;background:rgba(4,18,42,.72);display:none;align-items:center;justify-content:center;padding:20px}.booking-modal.open{display:flex}.booking-panel{position:relative;width:min(680px,100%);max-height:92vh;overflow:auto;background:var(--paper,#fffdf8);padding:34px;box-shadow:0 22px 70px rgba(0,0,0,.28)}.booking-close{position:absolute;right:16px;top:10px;border:0;background:none;color:var(--blue,#0b2b65);font-size:30px;cursor:pointer}.booking-panel form>label{display:block;font-weight:700;font-size:.9rem;margin:16px 0}.booking-panel input,.booking-panel select,.booking-panel textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #b5aa98;background:white;font:inherit;color:inherit}.booking-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-panel label.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.5}.booking-panel label.check input{width:auto;margin:4px 0 0;flex:0 0 auto}.booking-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #c9bdab;border-bottom:1px solid #c9bdab;padding:16px 0;margin:22px 0}.booking-total strong{font-size:1.65rem}.booking-pay{width:100%;border:0;cursor:pointer}.booking-pay:disabled{opacity:.65}.booking-error{color:#9b231d;font-weight:700}.booking-panel a{color:inherit}@media(max-width:650px){.booking-panel{padding:28px 20px}.booking-row{grid-template-columns:1fr}}
