/* Final layout refinements: logo artwork stays composed at every viewport. */
.promise-image { display:flex; align-items:center; justify-content:center; padding:52px; background:linear-gradient(145deg,#e9e2ce,#d6d0bd); }
.promise-image img { width:100%; height:auto; max-height:440px; object-fit:contain; mix-blend-mode:multiply; border-radius:0; box-shadow:0 18px 35px #1633271c; }
.text-cta { display:inline-flex; gap:14px; align-items:center; margin-top:31px; color:var(--pine); text-decoration:none; border-bottom:1px solid #779353; padding-bottom:7px; font:700 10px "DM Mono",monospace; letter-spacing:.09em; }
.text-cta span { color:#b96c4b; font-size:17px; }
.hero-logo img { max-width:420px; }
.hero-logo { padding-right:15%; padding-left:15%; }
.mobile-location { display:none; }
.opening { position:relative; }
.opening:before { content:""; position:absolute; top:0; left:10%; right:10%; height:1px; background:#335e491c; }
.updates { position:relative; }
.updates:before { content:""; display:block; width:48px; height:2px; margin-bottom:29px; background:var(--gold); }

/* Shadow-palette pass: quieter depth, with the artwork and gold details doing the work. */
body { background:#15241d; }
.hero { background:linear-gradient(118deg,#0a2d22 0%,#143c2e 54%,#315040 100%); }
.hero:before { opacity:.34; background:repeating-linear-gradient(160deg,transparent 0 29px,#e7d38d12 30px 31px,transparent 32px 58px); }
.promise { background:#1a2c23; }
.promise-copy { background:#1a2c23; }
.promise h2 { color:#f1eedf; }
.promise-copy > p:not(.eyebrow) { color:#c4cec0; }
.promise .eyebrow { color:#c5d49c; }
.micro-list { border-color:#b5c8a52f; color:#d3ddcd; }
.text-cta { color:#f3eedc; border-color:#bdcc9d88; }
.hours { background:#112c21; }
.opening { background:#20342a; }
.opening:before { background:#d6bb6538; }
.opening h2 { color:#f2eedf; }
.opening-copy > p:not(.eyebrow) { color:#c2cec0; }
.opening-copy .eyebrow { color:#c7d6a7; }
.updates { background:#182a21; }
.updates h2 { color:#f3efe1; }
.updates > p:not(.eyebrow) { color:#c3cdc0; }
.updates .eyebrow { color:#c6d79e; }
.dark { background:#d7b55a; color:#153023; }

/* Black-base and cleaner display accent. Gold remains exclusive to the provided logo art. */
body { background:#050605; }
.hero { background:linear-gradient(120deg,#050605 0%,#0c1711 55%,#17251c 100%); }
.hero:before { background:repeating-linear-gradient(160deg,transparent 0 33px,#e8eee713 34px 35px,transparent 36px 67px); }
.promise,.promise-copy,.updates { background:#080b09; }
.opening { background:#0d120f; }
.hours { background:#050705; }
.promise h2,.opening h2,.updates h2 { color:#f0f2ed; }
.hero h1 em,.promise h2 em,.opening h2 em,.updates h2 em { color:#ccd3ca; font-family:Manrope,Arial,sans-serif; font-weight:800; letter-spacing:-.075em; }
.hero h1 em { color:#d8ded5; }
.eyebrow,.promise .eyebrow,.opening-copy .eyebrow,.updates .eyebrow { color:#aebba8; }
.button,.dark { background:#e1e5df; color:#101512; }
.opening button { background:#e1e5df; color:#101512; }
.opening button span,.text-cta span { color:#73866c; }
.micro-list { color:#cbd3c9; }

/* A restrained Diamondhead-sunset frame for the rectangular logo artwork. */
.promise-image { position:relative; overflow:hidden; background:linear-gradient(155deg,#063c3e 0%,#0a5b5b 44%,#b56a34 45%,#e69b45 62%,#103e35 63%,#082c29 100%); }
.promise-image:before { content:""; position:absolute; z-index:0; width:190px; height:190px; top:18%; right:12%; border-radius:50%; background:#f6d773; opacity:.82; box-shadow:0 0 70px #f6b85366; }
.promise-image:after { content:""; position:absolute; z-index:0; left:-12%; right:-12%; bottom:12%; height:34%; opacity:.52; background:repeating-linear-gradient(176deg,transparent 0 12px,#f8d87a60 13px 14px,transparent 15px 29px); }
.promise-image img { position:relative; z-index:1; mix-blend-mode:multiply; }

/* Hero artwork: an abstract view from the water toward a Diamondhead beach at sunset. */
.hero-logo { isolation:isolate; overflow:hidden; }
.hero-logo:before { content:""; position:absolute; z-index:0; inset:8% 2% 5% 8%; clip-path:polygon(12% 0,100% 0,100% 100%,0 100%,0 15%); background:linear-gradient(to bottom,#063d48 0 29%,#277071 30% 42%,#df8139 43% 48%,#e9ac56 49% 53%,#0c4e52 54% 100%); }
.hero-logo:after { content:""; position:absolute; z-index:1; left:2%; right:-5%; bottom:7%; height:44%; opacity:.65; background:repeating-linear-gradient(176deg,transparent 0 12px,#e7d58b66 13px 14px,transparent 15px 30px); clip-path:polygon(9% 0,100% 0,100% 100%,0 100%,0 13%); }
.hero-logo img { z-index:3; mix-blend-mode:multiply; filter:drop-shadow(0 18px 18px #051e1b8c); }
.hero-logo .arch { z-index:2; border-color:#f0d3758a; }
.hero-logo .arch-two { border-color:#f0d37544; }

/* Placement correction: restore the clean top logo; reserve the coastal scene for the lower reveal. */
.hero-logo { isolation:auto; overflow:visible; }
.hero-logo:before,.hero-logo:after { content:none; }
.hero-logo img { z-index:2; mix-blend-mode:normal; filter:drop-shadow(0 22px 24px #031e1699); }
.hero-logo .arch { border-color:#e5c65b6b; }
.hero-logo .arch-two { border-color:#e5c65b2c; }

/* The rectangular logo sits in a simple black tonal field. */
.promise-image { background:linear-gradient(135deg,#030404 0%,#0b1711 56%,#203229 100%); }
.promise-image:before,.promise-image:after { content:none; }

/* The lower logo becomes the restrained beach-and-water artwork. */
.reveal-art { background:linear-gradient(to bottom,#062f3b 0 28%,#1d6468 29% 41%,#d87937 42% 48%,#e3a248 49% 54%,#0b4548 55% 100%); }
.reveal-art:before { top:20%; right:14%; width:102px; height:102px; background:#f5d476; box-shadow:0 0 42px #f6b85366; }
.reveal-art:after { content:""; position:absolute; z-index:0; left:-10%; right:-10%; bottom:8%; height:40%; opacity:.58; background:repeating-linear-gradient(176deg,transparent 0 12px,#f7d87c66 13px 14px,transparent 15px 30px); }
.reveal-art img { z-index:2; }
.reveal-art p { z-index:2; }
.reveal-art .water { z-index:1; }

/* Keep the dark gradient, but let the rectangular brand artwork retain its full color. */
.promise-image img,.reveal-art img { mix-blend-mode:normal; filter:brightness(1.12) contrast(1.07) saturate(1.08); box-shadow:0 18px 36px #00000066; }

.signup-trigger { display:inline-flex; align-items:center; gap:14px; margin-top:31px; padding:0 0 7px; border:0; border-bottom:1px solid #bdcc9d88; background:none; color:#f3eedc; font:700 10px "DM Mono",monospace; letter-spacing:.09em; cursor:pointer; }
.signup-trigger span { color:#73866c; font-size:17px; }
.signup-modal { position:fixed; z-index:50; inset:0; display:grid; place-items:center; padding:22px; background:#000000ba; opacity:0; pointer-events:none; transition:opacity .2s ease; }
.signup-modal.open { opacity:1; pointer-events:auto; }
.signup-panel { width:min(100%,510px); position:relative; padding:52px; background:linear-gradient(145deg,#111913,#07100c); color:#edf0e8; border:1px solid #d9bf6966; box-shadow:0 22px 70px #000; transform:translateY(15px); transition:transform .25s ease; }
.signup-modal.open .signup-panel { transform:translateY(0); }
.signup-panel .eyebrow { color:#b9c8ac; }.signup-panel h2 { margin:0; color:#f3f1e9; font:700 clamp(2.5rem,6vw,4.2rem)/.9 "Libre Baskerville",serif; letter-spacing:-.08em; }.signup-panel h2 em { color:#cbd4c7; font:800 .82em Manrope,sans-serif; letter-spacing:-.07em; }.signup-panel>p:not(.eyebrow):not(.form-success) { margin:25px 0; color:#c6cfc3; font-size:14px; line-height:1.7; }.close-signup { position:absolute; right:15px; top:12px; border:0; background:none; color:#d9e0d7; font:300 31px/1 Manrope; cursor:pointer; }
.signup-form { display:grid; gap:17px; }.signup-form label { display:grid; gap:8px; color:#c8d2c3; font:600 9px "DM Mono",monospace; letter-spacing:.12em; }.signup-form label small { color:#82927f; font-size:8px; }.signup-form input { width:100%; padding:13px 0; border:0; border-bottom:1px solid #9fb09988; outline:0; background:transparent; color:#fff; font:500 15px Manrope,sans-serif; }.signup-form input:focus { border-color:#dfca80; }.signup-form button { margin-top:8px; padding:17px; border:0; background:#e0e4dc; color:#101610; text-align:left; font:800 10px "DM Mono",monospace; letter-spacing:.1em; cursor:pointer; }.signup-form button span { float:right; font-size:17px; }.form-note { margin:18px 0 0!important; color:#839080!important; font:8px/1.6 "DM Mono",monospace!important; letter-spacing:.04em; }.form-success { min-height:18px; margin:17px 0 0; color:#dce8b8; font:500 12px/1.5 Manrope,sans-serif; }
@media(max-width:800px){.signup-panel{padding:42px 27px}.signup-trigger{margin-top:26px}}
@media (max-width:800px) {
  header .masthead { min-width:174px; }
  header .masthead small { margin-top:3px; margin-left:1px; color:#fff1b7; font-size:8px; letter-spacing:.14em; }
  .hero { min-height:700px; }
  .hero h1 { max-width:100%; font-size:clamp(2.35rem,10vw,4.15rem); letter-spacing:-.075em; overflow-wrap:normal; }
  .hero h1 em { display:block; font-size:.9em; white-space:nowrap; }
  .hero-logo { height:305px; padding:4px 25% 33px; align-items:flex-start; }
  .mobile-location { display:block; position:absolute; z-index:4; top:4px; left:0; right:0; margin:0; text-align:center; color:#fff1b7; font:600 9px "DM Mono",monospace; letter-spacing:.14em; }
  .hero-logo img { width:100%; max-width:245px; margin-top:8px; }
  .hero-logo .arch { width:290px; height:290px; top:0; left:50%; transform:translateX(-50%); }
  .hero-logo .arch-two { width:238px; height:238px; top:26px; }
  .hero-stamp { font-size:8px; bottom:18px; right:8%; }
  .promise-image { min-height:0; padding:28px 20px; background:#e9e2ce; }
  .promise-image img { max-height:230px; box-shadow:none; }
  .promise-copy { padding-top:72px; }
  .text-cta { margin-top:26px; }
  .opening-copy { padding-bottom:55px; }
  .reveal-art { min-height:430px; }
}

.signup-form .sms-consent { display:flex; align-items:flex-start; gap:10px; color:#aebaa9; font:8px/1.55 "DM Mono",monospace; letter-spacing:.02em; }
.signup-form .sms-consent input { appearance:none; flex:0 0 15px; width:15px; height:15px; margin:1px 0 0; padding:0; border:1px solid #9bad97; cursor:pointer; }
.signup-form .sms-consent input:checked { border-color:#e0e4dc; background:#e0e4dc; box-shadow:inset 0 0 0 3px #101610; }
