:root {
  --color-bg: #1a0b2e;
  --color-accent: #d4af37;
  --color-text: #ffffff;
  --color-text-muted: #e0dced;
  --font-heading: 'Oswald', 'Bebas Neue', 'Impact', sans-serif;
  --font-body: system-ui, -apple-system, sans-serif;
  --radius-pill: 9999px;
  --shadow-hard: 4px 4px 0px var(--color-accent);
  --shadow-hard-hover: 6px 6px 0px var(--color-accent);
  --spacing-base: 1.5rem;
  --nav-height: 80px;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--font-body);
  background-color: var(--color-bg);
  color: var(--color-text);
  line-height: 1.6;
}

h1, h2, h3, h4, .brand-name, .footer-brand-name {
  font-family: var(--font-heading);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

a {
  color: var(--color-text);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--color-accent);
}

.btn-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-heading);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.75rem 2rem;
  border-radius: var(--radius-pill);
  border: 2px solid var(--color-accent);
  font-weight: 600;
  transition: all 0.2s ease;
}

.hard-shadow {
  box-shadow: var(--shadow-hard);
}

.btn-pill:hover {
  transform: translate(-2px, -2px);
  box-shadow: var(--shadow-hard-hover);
  color: var(--color-accent);
}

/* Header Styles */
.site-header {
  position: sticky;
  top: 0;
  width: 100%;
  background-color: var(--color-bg);
  z-index: 1000;
  border-bottom: 2px solid var(--color-accent);
}

.header-container {
  max-width: 1200px;
  margin: 0 auto;
  height: var(--nav-height);
  padding: 0 var(--spacing-base);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header-brand {
  display: flex;
  align-items: center;
}

.logo-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.logo-link svg {
  height: 40px;
  width: auto;
  color: var(--color-accent);
}

.brand-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-text);
}

.header-nav-desktop {
  display: none;
}

.nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 2rem;
}

.nav-list a {
  font-weight: 500;
  font-family: var(--font-heading);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.header-cta {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.header-cta .btn-pill {
  display: none;
}

.mobile-toggle {
  background: none;
  border: none;
  color: var(--color-text);
  cursor: pointer;
  padding: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mobile-toggle svg {
  width: 32px;
  height: 32px;
}

/* Mobile Nav Modal */
.mobile-nav-modal {
  position: fixed;
  top: var(--nav-height);
  left: 0;
  width: 100%;
  height: calc(100vh - var(--nav-height));
  background-color: var(--color-bg);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2rem var(--spacing-base);
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 999;
  border-top: 1px solid rgba(212, 175, 55, 0.2);
}

.mobile-nav-modal.is-open {
  transform: translateX(0);
}

.mobile-nav-content {
  width: 100%;
  max-width: 400px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}

.mobile-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  width: 100%;
}

.mobile-nav-list a {
  font-size: 1.5rem;
  font-family: var(--font-heading);
  text-transform: uppercase;
}

/* Footer Styles */
.site-footer {
  background-color: var(--color-bg);
  border-top: 2px solid var(--color-accent);
  padding: 4rem var(--spacing-base);
  text-align: center;
}

.footer-container {
  max-width: 800px;
  margin: 0 auto;
}

.footer-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
}

.footer-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.footer-logo svg {
  height: 48px;
  width: auto;
  color: var(--color-accent);
}

.footer-brand-name {
  font-size: 2rem;
}

.footer-copy {
  color: var(--color-text-muted);
  max-width: 600px;
}

.footer-links, .legal-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
}

.footer-links a, .legal-links a {
  font-family: var(--font-heading);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.legal-links a {
  font-size: 0.875rem;
  color: var(--color-text-muted);
}

.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
}

.contact-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-text-muted);
}

.contact-link svg {
  width: 20px;
  height: 20px;
  color: var(--color-accent);
}

.footer-tagline {
  font-family: var(--font-heading);
  color: var(--color-accent);
  font-size: 1.25rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-top: 1rem;
}

/* Desktop Media Queries */
@media (min-width: 768px) {
  .header-nav-desktop {
    display: block;
  }
  
  .header-cta .btn-pill {
    display: inline-flex;
  }
  
  .mobile-toggle {
    display: none;
  }
  
  .mobile-nav-modal {
    display: none !important;
  }
  
  .footer-contact {
    flex-direction: row;
    gap: 2rem;
  }
}
/* footer extras */
.footer__extras{margin-top:16px;}
.footer__extrasInner{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between;}
.footer__social{display:flex;gap:10px;align-items:center;}
.footer-social{display:inline-flex;gap:8px;align-items:center;text-decoration:none;}
.footer-social__icon{display:block;}
.footer__poemWrap{max-width:520px;}
.footer-poem{opacity:0.9;font-size:0.95em;line-height:1.35;}
/* --- injected by logo step --- */
.brand{display:inline-flex;align-items:center;gap:10px}
.brand-logo{width:28px;height:28px;display:inline-block;flex:0 0 auto}
.brand-logo *{vector-effect:non-scaling-stroke}
/* --- /injected by logo step --- */


/* === Tower Rush Escape fixes === */
:root {--bg-color: var(--color-bg);--surface:#120721;--surface-border:rgba(212,175,55,.28);--accent:var(--color-accent)}
body{background:radial-gradient(circle at top,rgba(60,18,92,.35),transparent 36%),linear-gradient(180deg,#1a0b2e 0%,#120721 100%)}
main{max-width:100%}.brand-name,.footer-brand-name,.font-condensed,.font-serif-accent,.font-accent{font-family:var(--font-heading)}.font-accent{font-style:italic}.brand-name{font-size:clamp(1rem,2vw,1.5rem);line-height:1.1}.text-gold,.gold-text{color:var(--color-accent)}.bg-gold{background-color:var(--color-accent)}.bg-dark,.bg-purple-card,.purple-dark{background-color:#120721}.border-gold,.border-accent,.gold-border{border-color:var(--color-accent)!important}.card-radius{border-radius:2rem}.gold-shadow,.surface-card{box-shadow:0 24px 50px rgba(0,0,0,.35),6px 6px 0 rgba(212,175,55,.28)}.surface-card{background:linear-gradient(180deg,rgba(32,11,49,.98),rgba(18,7,33,.98));border:1px solid rgba(212,175,55,.35);border-radius:2rem}
.focus-ring:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.image-band{position:relative;overflow:hidden;isolation:isolate;background:#0f061a}.image-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,4,12,.45),rgba(7,4,12,.7));z-index:1}.image-band>*{position:relative;z-index:2}.image-band-img,.image-band>img.absolute,.image-band>img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.image-band-overlay{display:none}
[data-page="index.html"] #hero{min-height:clamp(34rem,86vh,56rem)}[data-page="index.html"] #hero h1{font-size:clamp(3rem,9vw,6rem);line-height:.95;text-wrap:balance;text-shadow:0 10px 40px rgba(0,0,0,.65)}[data-page="index.html"] #hero p,[data-page="about.html"] #hero p,[data-page="blog.html"] #hero p,[data-page="rooms.html"] #hero p{text-shadow:0 4px 22px rgba(0,0,0,.75)}
.site-form{display:flex;flex-direction:column;gap:1.25rem}.site-form label{display:block;margin-bottom:.5rem;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.site-form input,.site-form textarea,.site-form select{width:100%;border:1px solid rgba(212,175,55,.34);background:rgba(6,3,10,.98);color:#fff;padding:.95rem 1rem;border-radius:1rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.site-form textarea{min-height:8.5rem;resize:vertical}.site-form input::placeholder,.site-form textarea::placeholder{color:#9e9aa8}.site-form input:focus,.site-form textarea:focus,.site-form select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(212,175,55,.16);outline:none}
.form-privacy{margin-top:.25rem}.privacy-label{display:flex;align-items:flex-start;gap:.75rem;color:var(--color-text-muted);font-size:.95rem;line-height:1.5}.privacy-label input{accent-color:var(--color-accent);margin-top:.2rem;width:1rem;height:1rem;flex:0 0 auto}.privacy-label a{color:var(--color-accent)}
.btn-gold,.site-form button[type="submit"],.newsletter-form button[type="submit"]{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:3.5rem;padding:.95rem 1.5rem;border-radius:9999px;border:2px solid var(--color-accent);background:var(--color-accent);color:#140819;font-family:var(--font-heading);font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}.btn-gold:hover,.site-form button[type="submit"]:hover,.newsletter-form button[type="submit"]:hover{background:transparent;color:var(--color-text);box-shadow:0 10px 24px rgba(0,0,0,.25);transform:translateY(-1px)}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;min-height:3.25rem;padding:.9rem 1.25rem;border-radius:9999px;border:2px solid var(--color-accent);background:transparent;color:var(--color-text);font-family:var(--font-heading);font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:background-color .2s ease,color .2s ease}.btn-outline:hover{background:var(--color-accent);color:#140819}
.newsletter-form{display:grid;gap:1rem}.newsletter-form input{width:100%;min-height:3.4rem;border-radius:9999px;border:1px solid rgba(212,175,55,.34);background:rgba(6,3,10,.96);color:#fff;padding:.9rem 1rem}
.legal-article{box-shadow:0 24px 48px rgba(0,0,0,.2)}.legal-article h2{color:#1f1630}.legal-article a{color:#5d2b90;text-decoration:underline}
.wrap{min-height:calc(100vh - var(--nav-height));display:grid;place-items:center;padding:2rem 1.5rem 4rem}.card{width:min(100%,38rem);background:linear-gradient(180deg,rgba(32,11,49,.98),rgba(18,7,33,.98));border:1px solid rgba(212,175,55,.35);border-radius:2rem;padding:2rem;text-align:center;box-shadow:0 24px 50px rgba(0,0,0,.35),6px 6px 0 rgba(212,175,55,.28)}.card h1{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.08em;font-size:clamp(2rem,7vw,3.25rem);margin-bottom:1rem}.card p{color:var(--color-text-muted);margin-bottom:1rem}.card .btn{display:inline-flex;align-items:center;justify-content:center;min-width:13rem;padding:.95rem 1.5rem;border-radius:9999px;border:2px solid var(--color-accent);background:var(--color-accent);color:#140819;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.08em}.card .btn:hover{background:transparent;color:var(--color-text)}
@media (max-width:900px){.header-container{gap:.75rem}.brand-name{max-width:11.5rem}}@media (max-width:767px){:root{--nav-height:72px}.site-footer{padding:3rem 1.25rem}.footer-contact{align-items:flex-start}.contact-link{width:100%;justify-content:flex-start}[data-page="index.html"] #hero{min-height:34rem}}@media (max-width:520px){.header-container{padding-inline:1rem}.brand-name{font-size:.95rem;max-width:9rem}.logo-link{gap:.5rem}[data-page="index.html"] #hero h1{font-size:clamp(2.4rem,14vw,3.6rem)}}
