:root{--red:#e50914;--black:#0b0b0b;--white:#fff;--muted:#6b7280;--card:#fff;--shadow:0 12px 28px rgba(0,0,0,.12);--radius:18px;--radius-lg:26px;--container:min(1100px,92vw)}
*{box-sizing:border-box}html,body{margin:0;padding:0}img{max-width:100%;display:block}
a{color:var(--red)}a:focus{outline:2px solid var(--red);outline-offset:3px}
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-radius:var(--radius);border:2px solid #111;background:var(--red);color:#fff;text-decoration:none;font-weight:800;box-shadow:var(--shadow);transition:transform .08s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.secondary{background:#fff;color:#000}.form-send{justify-content:center}
.section{padding:clamp(24px,5vw,64px) 0}.section.alt{background:#fafafa}.section.anchor-snap{scroll-margin-top:90px}.section.compact-bottom{padding-bottom:clamp(10px,2.5vw,18px)}
.container{width:var(--container);margin-inline:auto}.section-title{font-size:clamp(1.4rem,3.4vw,2.2rem);margin:0 0 .3rem}.section-kicker{margin:0 0 1rem;color:var(--muted)}
nav.sticky{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);border-bottom:1px solid #eee}
.brand{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(12px,2vw,16px);width:var(--container);margin-inline:auto}
.logo-wrap{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}
.logo-wrap img{height:clamp(64px,9vw,96px);width:auto;filter:drop-shadow(0 8px 16px rgba(0,0,0,.18));transform:rotate(-2deg);transition:transform .25s ease}
.logo-wrap:hover img{transform:rotate(1.5deg) scale(1.03)}.wordmark{font-size:clamp(1.2rem,2.6vw,1.6rem);font-weight:800;letter-spacing:.3px}
.cta-bar{display:flex;gap:.6rem;flex-wrap:wrap}
header.hero{position:relative;padding:clamp(18px,5vw,42px) 0 6px;overflow:hidden}
header.hero::before{content:"";position:absolute;inset:-20% -10% auto -10%;height:120%;background:repeating-linear-gradient(45deg,#000 0 24px,#fff 24px 48px);transform:skewY(-8deg);opacity:.06;pointer-events:none}
.snug-top{margin-bottom:-8px}.hero-inner{display:grid;grid-template-columns:1fr;gap:clamp(12px,3vw,20px);align-items:start;width:var(--container);margin-inline:auto}
.hero-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(14px,3vw,24px)}
.info-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}
.info-card{background:#fff;border:2px solid #111;border-radius:16px;padding:12px;box-shadow:var(--shadow)}.info-card h4{margin:.2rem 0 .25rem;font-size:1rem}.sms{white-space:nowrap}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,3vw,18px)}.card{background:#fff;border:2px solid #111;border-radius:var(--radius-lg);padding:clamp(12px,2vw,20px);box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:260px}
.card h3{display:flex;justify-content:space-between;align-items:center;margin-top:0}.card .price{background:var(--red);color:#fff;padding:.22rem .5rem;border-radius:999px;font-size:.95rem}
.card ul{margin:.6rem 0 1rem 1.1rem}.card li{margin:.25rem 0}.subline{margin:.2rem 0 .8rem;color:#333}.card-cta{margin-top:auto;display:flex;gap:.6rem;justify-content:flex-end}
.gallery-tight{padding-top:clamp(12px,2.5vw,18px);padding-bottom:clamp(16px,2.5vw,22px)}.less-gap-top{margin-top:-8px}.less-gap-bottom{margin-bottom:-8px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gallery-grid .tile{border-radius:16px;overflow:hidden;border:2px solid #111;box-shadow:var(--shadow);display:block}
.gallery-grid .tile img{width:100%;height:100%;object-fit:cover}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);display:grid;place-items:center;z-index:60}.lightbox[hidden]{display:none !important}
.lightbox img{max-width:92vw;max-height:85vh;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lightbox .close{position:absolute;top:14px;right:18px;font-size:28px;line-height:1;background:#fff;border:2px solid #111;border-radius:12px;padding:6px 10px;cursor:pointer}
.lightbox .nav{position:absolute;top:50%;transform:translateY(-50%);font-size:34px;line-height:1;background:#fff;border:2px solid #111;border-radius:12px;padding:8px 12px;cursor:pointer;user-select:none}
.lightbox .prev{left:14px}.lightbox .next{right:14px}
.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:start}
form.form label{display:block;font-weight:600;margin:.45rem 0}
form.form input,form.form select,form.form textarea{width:100%;padding:1rem .9rem;border-radius:14px;border:1.5px solid #2e2e2e1a;background:#fff;font-size:16px}
form.form input:focus,form.form select:focus,form.form textarea:focus{outline:2px solid var(--red)}.form-help{color:var(--muted);font-size:.9rem}
.footer{background:#0d0d0d;color:#f7f7f7;padding:20px 0}.footer a{color:#fff;text-decoration:underline}
@media (max-width:1100px){.info-cards{grid-template-columns:1fr}}
@media (max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.contact{grid-template-columns:1fr}}
@media (max-width:640px){.cards{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.reduce-motion *{animation:none !important;transition:none !important}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.5rem 1rem;background:#fff;color:#000;border:2px solid #000;z-index:1000}


/* === Mobile-only modern header refresh (desktop untouched) === */
@media (max-width: 640px){
  nav.sticky{
    background: rgba(255,255,255,0.9);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid #ececec;
  }
  .brand{
    width: 100%;
    max-width: none;
    padding: 10px 12px;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .logo-wrap{ justify-content: flex-start; }
  .wordmark{ display: none; }
  .logo-wrap img{
    height: 92px;
    transform: none;
    filter: drop-shadow(0 6px 12px rgba(0,0,0,.14));
    border-radius: 16px;
  }
  .cta-bar{
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 8px;
    padding: 4px 2px 6px;
    margin: 0 -2px;
    scrollbar-width: none;
  }
  .cta-bar::-webkit-scrollbar{ display: none; }
  .cta-bar .btn{
    flex: 0 0 auto;
    padding: .72rem 1rem;
    font-size: .98rem;
    border-radius: 999px;
    border: 1.5px solid #111;
    box-shadow: none;
    background: #111;
    color: #fff;
    letter-spacing: .2px;
  }
  #packages, #gallery, #faq, #contact{ scroll-margin-top: 170px; }
}
