*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:inter,helvetica neue,Arial,sans-serif;font-size:16px;line-height:1.65;color:#1a1a1a;background:#fff;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:#c8392f;text-decoration:underline}a:hover{color:#0d2c4d}.skip-link{position:absolute;left:-9999px;background:#0d2c4d;color:#fff;padding:12px 18px;z-index:9999;text-decoration:none}.skip-link:focus{left:8px;top:8px}:focus-visible{outline:3px solid #d4a544;outline-offset:2px;border-radius:2px}.container{max-width:1200px;margin:0 auto;padding:0 24px}section{padding:80px 0}.site-header{position:sticky;top:0;background:#0d2c4d;color:#fff;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.18);min-height:72px}.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}.brand{display:flex;align-items:center;text-decoration:none;color:#fff;line-height:1}.brand:hover{color:#fff}.brand-logo{display:block;height:50px;width:117px;background:#fff;padding:4px 8px;border-radius:6px}.main-nav{display:flex;align-items:center;gap:6px}.main-nav a{color:#fff;text-decoration:none;padding:10px 14px;border-radius:6px;font-weight:500;font-size:.95rem;transition:background .15s}.main-nav a:hover,.main-nav a[aria-current=page]{background:rgba(255,255,255,.14);color:#fff;text-decoration:underline}.cta-btn{background:#c8392f;color:#fff!important;padding:10px 18px!important;border-radius:6px;text-decoration:none!important;font-weight:600}.cta-btn:hover{background:#a02c24;color:#fff!important}.menu-toggle{display:none;background:0 0;border:2px solid #fff;color:#fff;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600}.hero{position:relative;min-height:62vh;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;overflow:hidden;background:#0d2c4d}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,44,77,.78),rgba(13,44,77,.55) 60%,rgba(200,57,47,.42));z-index:2}.hero img.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.hero-content{position:relative;z-index:3;max-width:820px;padding:60px 24px}.eyebrow{display:inline-block;background:#d4a544;color:#0d2c4d;padding:6px 16px;border-radius:30px;font-size:.78rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:18px}.hero h1{font-family:playfair display,Georgia,serif;font-size:clamp(2rem,5vw,3.4rem);font-weight:700;line-height:1.15;margin-bottom:18px;color:#fff}.hero h1 .accent{color:#d4a544}.hero p.lead{font-size:clamp(1rem,2vw,1.18rem);color:#f5ecdf;margin-bottom:30px;max-width:640px;margin-left:auto;margin-right:auto}.btn-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.btn{display:inline-block;padding:14px 28px;border-radius:6px;font-weight:600;font-size:1rem;text-decoration:none;transition:transform .15s,background .15s;border:none;cursor:pointer}.btn-primary{background:#c8392f;color:#fff!important}.btn-primary:hover{background:#a02c24;transform:translateY(-1px)}.btn-outline{background:0 0;color:#fff!important;border:2px solid #fff}.btn-outline:hover{background:#fff;color:#0d2c4d!important}.page-hero{background:linear-gradient(135deg,#0d2c4d 0%,#1a3a5c 100%);color:#fff;text-align:center;padding:90px 0 70px;position:relative}.page-hero h1{font-family:playfair display,Georgia,serif;font-size:clamp(2rem,4.5vw,3rem);font-weight:700;margin-bottom:12px;color:#fff}.page-hero p{color:#f5ecdf;font-size:1.08rem;max-width:640px;margin:0 auto}.breadcrumb{display:flex;justify-content:center;gap:8px;font-size:.85rem;color:#d4a544;margin-bottom:14px}.breadcrumb a{color:#d4a544;text-decoration:underline}.breadcrumb a:hover{text-decoration:underline;color:#fff}.section-head{text-align:center;margin-bottom:50px;max-width:720px;margin-left:auto;margin-right:auto}.section-head h2{font-family:playfair display,Georgia,serif;font-size:clamp(1.8rem,3.5vw,2.5rem);color:#0d2c4d;margin-bottom:14px;line-height:1.2}.section-head p{color:#444;font-size:1.05rem}.section-divider{display:block;width:60px;height:3px;background:#c8392f;margin:0 auto 22px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:30px}.feature-card{background:#fcf7ec;border-radius:12px;padding:32px 26px;text-align:center;border:1px solid #f0e5cf;transition:transform .2s,box-shadow .2s}.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(13,44,77,.12)}.feature-card .icon{width:56px;height:56px;background:#0d2c4d;color:#d4a544;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:18px;font-weight:700;font-family:playfair display,Georgia,serif}.feature-card h3{font-family:playfair display,Georgia,serif;color:#0d2c4d;margin-bottom:10px;font-size:1.25rem}.feature-card p{color:#444;font-size:.96rem}.pricing-bg{background:#0d2c4d;color:#fff}.pricing-bg .section-head h2{color:#fff}.pricing-bg .section-head p{color:#f5ecdf}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;max-width:1e3px;margin:0 auto}.price-card{background:rgba(255,255,255,6%);border:1px solid rgba(212,165,68,.4);border-radius:12px;padding:36px 24px;text-align:center;backdrop-filter:blur(4px)}.price-card.featured{background:#c8392f;border-color:#c8392f}.price-card h3{font-family:playfair display,Georgia,serif;color:#d4a544;font-size:1.3rem;margin-bottom:14px}.price-card.featured h3{color:#fff}.price-amount{font-family:playfair display,Georgia,serif;font-size:2.6rem;font-weight:700;color:#fff;margin:8px 0}.price-card small{display:block;color:#cfe3ff;font-size:.88rem;margin-top:6px}.price-card.featured small{color:#ffe6df}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.split img{border-radius:12px;box-shadow:0 14px 36px rgba(13,44,77,.18);width:100%;height:auto}.split h2{font-family:playfair display,Georgia,serif;color:#0d2c4d;font-size:clamp(1.7rem,3vw,2.2rem);margin-bottom:18px;line-height:1.2}.split p{margin-bottom:14px;color:#333}.split ul{list-style:none;margin:18px 0}.split ul li{padding:8px 0 8px 28px;position:relative;color:#333}.split ul li::before{content:"✦";position:absolute;left:0;color:#c8392f;font-weight:700}.gallery-section{background:#fcf7ec}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.gallery-grid figure{margin:0;overflow:hidden;border-radius:10px;position:relative;aspect-ratio:4/3;background:#0d2c4d}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-grid figure:hover img{transform:scale(1.06)}.info-strip{background:#c8392f;color:#fff;padding:50px 0}.info-strip .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px;text-align:center}.info-block .h-label{display:block;font-family:playfair display,Georgia,serif;font-size:1.1rem;color:#ffe6df;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px;font-weight:700}.info-block p,.info-block a{color:#fff;font-size:1.05rem}.info-block a{text-decoration:underline}.info-block a:hover{color:#fff;text-decoration:underline}.menu-section{padding:60px 0}.menu-section:nth-of-type(even){background:#fcf7ec}.menu-section h2{font-family:playfair display,Georgia,serif;text-align:center;color:#0d2c4d;font-size:2rem;margin-bottom:8px}.menu-tagline{text-align:center;color:#666;margin-bottom:50px;font-size:1rem;letter-spacing:1px;text-transform:uppercase}.menu-tagline::before,.menu-tagline::after{content:"—";color:#c8392f;margin:0 12px}.menu-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}.menu-cat{background:#fff;border-radius:12px;overflow:hidden;border:1px solid #ece4d0;box-shadow:0 4px 12px rgba(0,0,0,4%)}.menu-section:nth-of-type(even) .menu-cat{background:#fff}.menu-cat img{width:100%;aspect-ratio:16/9;object-fit:cover}.menu-cat-body{padding:24px 22px}.menu-cat h3{font-family:playfair display,Georgia,serif;color:#0d2c4d;font-size:1.3rem;margin-bottom:12px;display:flex;align-items:center;gap:10px}.menu-cat h3::after{content:"";flex:1;height:1px;background:#c8392f;opacity:.4}.menu-cat p{color:#444;font-size:.94rem;line-height:1.6}.menu-cat .pill{display:inline-block;background:#fcf7ec;color:#c8392f;padding:3px 10px;font-size:.78rem;border-radius:20px;margin-top:12px;font-weight:600;letter-spacing:.5px}.hours-table{width:100%;max-width:520px;margin:0 auto;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,6%)}.hours-table caption{font-family:playfair display,Georgia,serif;color:#0d2c4d;font-size:1.3rem;padding:18px;text-align:center;font-weight:700}.hours-table th,.hours-table td{padding:14px 22px;text-align:left;border-bottom:1px solid #f0e5cf;font-size:.98rem}.hours-table th{background:#fcf7ec;color:#0d2c4d;font-weight:600;width:42%}.hours-table tr:last-child th,.hours-table tr:last-child td{border-bottom:none}.hours-table td{color:#333}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.contact-card{background:#fcf7ec;border:1px solid #ece4d0;border-radius:12px;padding:32px}.contact-card h2{font-family:playfair display,Georgia,serif;color:#0d2c4d;font-size:1.5rem;margin-bottom:18px}.contact-card dl{display:grid;grid-template-columns:auto 1fr;gap:14px 18px;margin-bottom:20px}.contact-card dt{color:#0d2c4d;font-weight:600}.contact-card dd{color:#333}.contact-card dd a{color:#c8392f}.map-wrap{border-radius:12px;overflow:hidden;border:1px solid #ece4d0;aspect-ratio:1/1;min-height:360px;background:#fcf7ec;position:relative}.map-wrap iframe{width:100%;height:100%;border:0;display:block}.promo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.promo-card{background:#fff;border:2px dashed #c8392f;border-radius:12px;padding:28px;text-align:center}.promo-card h3{font-family:playfair display,Georgia,serif;color:#c8392f;font-size:1.3rem;margin-bottom:10px}.promo-card p{color:#333;font-size:.96rem}.promo-card strong{color:#0d2c4d;font-size:1.4rem;display:block;margin:8px 0}.legal-content{max-width:820px;margin:0 auto;padding:60px 24px;color:#222}.legal-content h1{font-family:playfair display,Georgia,serif;color:#0d2c4d;font-size:2.2rem;margin-bottom:8px}.legal-content .updated{color:#666;font-size:.9rem;margin-bottom:32px}.legal-content h2{font-family:playfair display,Georgia,serif;color:#0d2c4d;font-size:1.4rem;margin:32px 0 12px;border-bottom:2px solid #d4a544;padding-bottom:6px}.legal-content h3{color:#0d2c4d;font-size:1.1rem;margin:20px 0 8px}.legal-content p{margin-bottom:14px;line-height:1.75}.legal-content ul,.legal-content ol{margin:12px 0 16px 26px}.legal-content li{margin-bottom:6px}.site-footer{background:#08203a;color:#cfd8e3;padding:60px 0 24px;font-size:.94rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:40px;margin-bottom:36px}.footer-grid .h-label{display:block;font-family:playfair display,Georgia,serif;color:#d4a544;font-size:1.05rem;margin-bottom:14px;text-transform:uppercase;letter-spacing:1px;font-weight:700}.footer-grid ul{list-style:none}.footer-grid li{margin-bottom:8px}.footer-grid a{color:#cfd8e3;text-decoration:underline}.footer-grid a:hover{color:#fff;text-decoration:underline}.footer-brand p{color:#9eb0c4;margin-top:10px;max-width:320px}.footer-bottom{border-top:1px solid #1a3a5c;padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;color:#9eb0c4;font-size:.85rem}.footer-bottom a{color:#d4a544;text-decoration:underline}.footer-bottom a:hover{color:#fff;text-decoration:underline}@media(max-width:880px){section{padding:60px 0}.menu-toggle{display:block}.brand-logo{height:42px;width:98px}.main-nav{position:absolute;top:72px;left:0;right:0;background:#0d2c4d;flex-direction:column;align-items:stretch;padding:14px;display:none;border-top:1px solid #1a3a5c;gap:4px}.main-nav.open{display:flex}.main-nav a{padding:14px 16px;border-radius:6px}.split{grid-template-columns:1fr;gap:30px}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.hero{min-height:54vh}}@media(max-width:560px){section{padding:48px 0}.container{padding:0 18px}.footer-grid{grid-template-columns:1fr}.hours-table th,.hours-table td{padding:12px 14px}.btn{padding:12px 22px;font-size:.95rem}}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:translateY(0)}@media print{.site-header,.site-footer,.menu-toggle{display:none!important}}