:root{--green:#123d32;--green-deep:#09271f;--green-light:#1e5142;--gold:#d9b56c;--cream:#f7f3eb;--paper:#D3BB8C;--ink:#18332b;--muted:#65736b;--line:rgba(18,61,50,.16);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}
.container{width:min(1160px,calc(100% - 48px));margin:auto}
.skip-link{position:fixed;top:-100px;left:1rem;z-index:99;background:var(--gold);color:var(--green-deep);padding:.5rem 1rem}
.skip-link:focus{top:1rem}

/* ── HEADER ── */
.site-header{height:86px;position:absolute;inset:0 0 auto;z-index:10;color:#fff;transition:.3s}
.site-header.is-scrolled{position:fixed;background:rgba(9,39,31,.96);box-shadow:0 4px 18px rgba(0,0,0,.15);height:74px}
.nav-wrap{height:100%;display:flex;justify-content:space-between;align-items:center}
.brand img,.footer-logo{width:146px;height:auto;filter:brightness(0) invert(1)}
.nav{display:flex;align-items:center;gap:30px}
.nav>a:not(.button){color:#fff;text-decoration:none;font-size:.84rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600}
.nav>a:not(.button):hover{color:var(--gold)}

/* ── BUTTONS ── */
.button{display:inline-flex;justify-content:center;align-items:center;min-height:49px;padding:0 25px;background:var(--gold);border:1px solid var(--gold);color:var(--green-deep);text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;transition:.25s}
.button:hover{background:#ebcc8b;transform:translateY(-2px)}
.button-small{min-height:40px;padding:0 17px}
.button-outline{background:transparent;color:#fff;border-color:#fff}
.button-outline:hover{background:#fff;color:var(--green)}
.menu-toggle{display:none}

/* ── HERO SLIDER ── */
.hero-section{position:relative;overflow:hidden;width:100%;min-height:760px;height:100vh}
.hero-slider{position:relative;width:100%;height:100%}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;background:url("https://images.unsplash.com/photo-1514933651103-005eec06c04b?auto=format&fit=crop&w=2000&q=85") center/cover;display:flex;align-items:center}
.hero-slide.active{opacity:1;position:relative}
.hero-slide:nth-child(2){background:url("assets/romeo-lane-interior.jpg") center/cover}
.hero-dots{position:absolute;bottom:70px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:5}
.hero-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,0.4);cursor:pointer;transition:.3s}
.hero-dot.active{background:var(--gold);transform:scale(1.2)}

/* ── HERO CONTENT ── */
.hero{min-height:760px;height:100vh;position:relative;display:flex;align-items:center;color:#fff;background:url("https://images.unsplash.com/photo-1514933651103-005eec06c04b?auto=format&fit=crop&w=2000&q=85") center/cover}
.hero-overlay,.reserve-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,30,23,.88) 0%,rgba(5,30,23,.57) 48%,rgba(5,30,23,.18) 100%)}
.hero-content,.reserve-content{position:relative;z-index:1;max-width:700px}
.eyebrow{color:var(--gold);margin:0 0 16px;font-size:.73rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700}
.hero h1,h2{font-family:var(--serif);font-weight:600;line-height:1.1;margin:0}
.hero h1{font-size:clamp(3.5rem,7vw,6.5rem);letter-spacing:-.045em;max-width:720px}
.hero h1 em{color:var(--gold);font-weight:600}
.hero-copy{max-width:515px;font-size:1.1rem;margin:28px 0}
.hero-actions{display:flex;align-items:center;gap:29px}
.text-link{color:var(--green);font-size:.8rem;letter-spacing:.09em;text-decoration:none;text-transform:uppercase;font-weight:700}
.text-link span{font-size:1.2rem;margin-left:6px;transition:.2s}
.text-link:hover span{margin-left:11px}
.text-link.light{color:#fff}
.hero-meta{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;margin-top:54px;color:rgba(255,255,255,.74)}
.scroll-cue{position:absolute;bottom:25px;right:5%;color:#fff;text-decoration:none;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:10px;transform:rotate(90deg);transform-origin:right}
.scroll-cue span{height:1px;width:42px;background:var(--gold)}

/* ── SECTIONS ── */
.section{padding:120px 0}
.split-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%}
.image-frame{height:560px;position:relative}
.image-frame:before{content:"";position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--gold);z-index:-1}
.image-frame img{width:100%;height:100%;object-fit:cover}
.intro-copy h2,.section-heading h2,.menu-copy h2,.table-copy h2{font-size:clamp(2.3rem,4vw,4.05rem);letter-spacing:-.04em}
.intro-copy>p:not(.eyebrow),.menu-copy>p:not(.eyebrow),.table-copy>p:not(.eyebrow){color:var(--muted);margin:25px 0 29px;max-width:490px}

/* ── BEST SELLERS ── */
.best-sellers{background:var(--cream)}
.section-heading h2{margin-bottom:13px}
.section-heading>p:last-child{color:var(--muted);margin:0}
.centered{text-align:center;margin-bottom:54px}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.product-card{background:#fff}
.product-image{height:315px;position:relative;overflow:hidden}
.product-image img{width:100%;height:100%;object-fit:cover;transition:.6s}
.product-card:hover img{transform:scale(1.055)}
.product-image span{position:absolute;top:16px;left:16px;padding:6px 10px;background:var(--green);color:#fff;text-transform:uppercase;font-size:.62rem;font-weight:700;letter-spacing:.1em}
.product-info{padding:22px 22px 25px}
.product-info h3{font:600 1.4rem var(--serif);margin:0}
.product-info p{font-size:.85rem;color:var(--muted);margin:7px 0 13px}
.product-info strong{color:var(--green);font-size:.85rem}

/* ── MENU PREVIEW ── */
.menu-preview{background:var(--green);color:#fff}
.menu-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:11%;align-items:center}
.menu-copy h2{max-width:440px}
.menu-copy>p:not(.eyebrow){color:rgba(255,255,255,.72)}
.menu-copy .button{margin-top:8px}
.menu-list>div{display:grid;grid-template-columns:52px 1fr;gap:13px;padding:21px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.menu-list span{color:var(--gold);font:italic 1.2rem var(--serif)}
.menu-list h3{font:600 1.45rem var(--serif);margin:0}
.menu-list p{margin:1px 0;color:rgba(255,255,255,.62);font-size:.86rem}

/* ── REWARDS ── */
.rewards{padding-bottom:0}
.rewards-card{min-height:435px;background:linear-gradient(120deg,var(--green-deep),var(--green));color:#fff;padding:76px 8%;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:5%;overflow:hidden;position:relative}
.rewards-card h2{font-size:clamp(2.1rem,3.7vw,3.65rem);max-width:600px}
.rewards-card p:not(.eyebrow){max-width:580px;color:rgba(255,255,255,.7);margin:19px 0 25px}
.reward-points{height:225px;border:1px solid rgba(217,181,108,.7);padding:31px;position:relative;background:rgba(255,255,255,.04)}
.reward-points span{font-size:.62rem;letter-spacing:.16em;color:var(--gold)}
.reward-points strong{display:block;font:600 5rem/1 var(--serif);color:var(--gold);margin-top:14px}
.reward-points p{font-size:.8rem!important;margin:4px 0!important}
.reward-points i{position:absolute;right:20px;bottom:13px;font:italic 5.5rem/1 var(--serif);color:rgba(217,181,108,.25)}

/* ── TABLE SECTION ── */
.table-layout{display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:9%}
.availability{margin:30px 0 20px;border-left:3px solid var(--gold);padding:3px 0 3px 14px}
.availability strong{font:600 2rem/1 var(--serif);display:block}
.availability span:last-child{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.floorplan{background:var(--cream);padding:38px 7%;border:1px solid #e9e1d4}
.plan-label{text-align:center;font:italic 1.1rem var(--serif);margin-bottom:26px}
.tables-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.table{aspect-ratio:1;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;background:#fff;border:2px solid var(--green);font-size:.69rem;font-weight:700;letter-spacing:.07em;position:relative}
.table:after{content:"";width:7px;height:7px;border-radius:50%;margin-top:5px}
.table.available:after,.legend .available{background:#54a585}
.table.occupied:after,.legend .occupied{background:#c46553}
.table.reserved:after,.legend .reserved{background:var(--gold)}
.legend{display:flex;justify-content:center;gap:20px;margin-top:25px;font-size:.7rem;color:var(--muted)}
.legend span{display:flex;align-items:center;gap:5px}
.legend i{width:8px;height:8px;border-radius:50%}

/* ── RESERVE ── */
.reserve{min-height:510px;display:flex;align-items:center;position:relative;color:#fff;background:url("https://images.unsplash.com/photo-1515003197210-e0cd71810b5f?auto=format&fit=crop&w=2000&q=85") center/cover}
.reserve-content h2{font-size:clamp(3rem,5vw,5rem);letter-spacing:-.04em}
.reserve-content>p:not(.eyebrow){max-width:420px;font-size:1.04rem;color:rgba(255,255,255,.8);margin:19px 0 28px}

/* ── TESTIMONIALS ── */
.testimonials{padding-bottom:130px}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.quote{margin:0;padding:36px 30px;background:var(--cream);min-height:225px}
.quote blockquote{font:600 1.28rem/1.45 var(--serif);margin:0}
.quote figcaption{margin-top:25px;font-size:.7rem;color:var(--muted);letter-spacing:.09em;text-transform:uppercase}

/* ── FOOTER ── */
.site-footer{background:var(--green-deep);color:#fff;padding:75px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.25fr .85fr .85fr 1.1fr;gap:48px;padding-bottom:60px}
.footer-logo{margin-bottom:15px}
.footer-grid p,.footer-grid a{font-size:.85rem;color:rgba(255,255,255,.63);text-decoration:none;margin:0 0 8px}
.footer-grid h3{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:var(--gold);margin:7px 0 17px}
.newsletter{display:flex;border-bottom:1px solid rgba(255,255,255,.5);margin-top:14px}
.newsletter input{min-width:0;flex:1;color:#fff;background:transparent;border:0;outline:0;padding:8px 0;font:inherit;font-size:.8rem}
.newsletter input::placeholder{color:rgba(255,255,255,.5)}
.newsletter button{background:transparent;border:0;color:var(--gold);font-size:1.4rem;cursor:pointer}
.form-message{font-size:.72rem!important;color:var(--gold)!important;margin-top:9px!important}
.footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding-top:22px;display:flex;justify-content:space-between;color:rgba(255,255,255,.48);font-size:.7rem;letter-spacing:.05em}

/* ── UTILITIES ── */
.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}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

/* ── AUTOFILL & LOGIN ── */
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0px 1000px #222 inset;transition:background-color 5000s ease-in-out 0s}
#login-phone,#login-pin{color:#1a3a2a;background:#ffffff}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .split-grid,.menu-layout,.table-layout,.rewards-card{grid-template-columns:1fr;gap:40px}
  .product-grid,.quote-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .image-frame{height:360px}
  .rewards-card{padding:50px 6%}
}
@media(max-width:600px){
  .product-grid,.quote-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .tables-grid{grid-template-columns:repeat(3,1fr)}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:16px}
  .nav{display:none}
  .menu-toggle{display:block;background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer}
  .section{padding:70px 0}
}
/* ABOUT - BACKUP DESIGN */
#about {
  background: var(--paper);
  color: var(--ink);
}

#about .intro-copy h2 {
  color: var(--ink);
}

#about .intro-copy > p:not(.eyebrow) {
  color: var(--muted);
}

#about .intro-copy .text-link {
  color: var(--green);
}

#about .intro-copy .eyebrow {
  color: var(--gold);
}