:root {
  --primary: #b71c1c;
  --primary-variant: #7f0000;
  --secondary: #111;
  --accent: #b71c1c;
  --text: #111;
  --bg: #fff;
  --surface: #fff;
  --surface-alt: #f7f7f7;
  --border: #e6e6e6;
  --muted: #333;
  --shadow-color: rgba(0,0,0,.08);
  --success: #087f4b;
  --on-primary: #fff;
  color-scheme: light dark;
}
/* Forced theme overrides for accessibility testing */
:root[data-theme='light']{--text:#111111;--bg:#ffffff;--surface:#ffffff;--surface-alt:#f7f7f7;--border:#e6e6e6;--muted:#333333;--shadow-color:rgba(0,0,0,.08);--primary:#b71c1c;--primary-variant:#7f0000;--success:#087f4b;--on-primary:#ffffff;color-scheme:light}
:root[data-theme='dark']{--text:#f2f2f2;--bg:#0d0d0d;--surface:#141414;--surface-alt:#0f0f0f;--border:#2a2a2a;--muted:#bbbbbb;--shadow-color:rgba(0,0,0,.5);--primary:#ff5252;--primary-variant:#ff8a80;--success:#4ade80;--on-primary:#000000;color-scheme:dark}
@media (prefers-color-scheme: dark){:root{--text:#f2f2f2;--bg:#0d0d0d;--surface:#141414;--surface-alt:#0f0f0f;--border:#2a2a2a;--muted:#bbbbbb;--shadow-color:rgba(0,0,0,.5);--primary:#ff5252;--primary-variant:#ff8a80;--success:#4ade80;--on-primary:#000000}}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif}
img{max-width:100%;height:auto}
.container{max-width:1100px;margin:0 auto;padding:24px}
.nav,.footer{background:var(--surface);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}
.nav .brand img{height:84px;display:block}
.nav .menu{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.nav .menu a{display:block;padding:10px 12px;color:var(--text);text-decoration:none;border-radius:6px}
.nav .menu a.active{background:#e5f3fb;color:#000;font-weight:600}
.nav .menu a:hover{background:#f3f4f6;color:#000}
@media (max-width:720px){.nav-inner{flex-wrap:wrap}.nav .menu{width:100%;justify-content:flex-start;gap:6px}}
.hero{display:grid;gap:24px;align-items:center;padding:56px 0;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.hero h1{font-size:clamp(28px,4vw,44px);line-height:1.15;margin:0 0 8px}
.hero p{margin:0 0 16px}
.hero img{border-radius:8px;box-shadow:0 8px 24px var(--shadow-color)}
.hero-full{background-image:url('/assets/img/slider-5.png');background-size:cover;background-position:center;color:white;height:48vh;display:flex;align-items:center;justify-content:center;text-align:center;width:100%}
.hero-content{max-width:800px;background-color:#000;border-radius:8px;padding:24px}
.hero-content h1,.hero-content p{color:#fff}
.hero-content h1{font-size:clamp(28px,4vw,44px);line-height:1.15;margin:0 0 16px}
.hero-content p{margin:0 0 16px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--primary);color:var(--on-primary);background:var(--primary);border-radius:6px;text-decoration:none;font-weight:600;box-shadow:0 2px 4px rgba(0,0,0,0.2)}
@media (prefers-color-scheme: dark){.btn{color:#111;background:#ffd0d0;border-color:#ffd0d0}}
.btn.outline{background:transparent;color:var(--primary);border-width:2px;font-weight:700}
.btn.outline{border-color:var(--primary)}
@media (prefers-color-scheme: dark){
  :root{--on-primary:#000}
  .btn.outline{color:#ffffff;border-color:#ffffff}
}
.btn:hover{background:var(--primary-variant);border-color:var(--primary-variant);box-shadow:0 4px 8px rgba(0,0,0,0.3)}
.btn:focus{background:var(--primary-variant);border-color:var(--primary-variant);box-shadow:0 4px 8px rgba(0,0,0,0.3);outline:3px solid rgba(0,123,255,0.5);outline-offset:2px}
.btn.outline:hover{background:var(--primary);color:var(--on-primary)}
.btn.outline:focus{background:var(--primary);color:var(--on-primary);outline:3px solid rgba(0,123,255,0.5);outline-offset:2px}
.grid{display:grid;gap:24px}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.footer{border-top:1px solid var(--border)}
.footer .footer-inner{max-width:1100px;margin:0 auto;padding:24px;display:flex;gap:24px;align-items:center;justify-content:space-between}
.footer .logo{height:36px}
.footer .footer-info{font-size:.95rem;color:var(--text)}
.footer .footer-nav a{margin-right:10px;color:var(--text);text-decoration:none}
.footer .footer-nav a:hover{text-decoration:underline}
.footer a{color:var(--text);text-decoration:none}
.footer a:hover{text-decoration:underline}

/* Sections and cards */
.section{padding:40px 0}
.section.alt{background:var(--surface-alt)}
.cards{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.card h3{margin:0 0 8px;font-size:1.1rem}
.social-links{display:flex;gap:12px;margin-top:12px}
.social-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--surface-alt);color:var(--text);text-decoration:none;transition:all 0.2s ease;border:1px solid var(--border)}
.social-link:hover{background:var(--primary);color:var(--on-primary);transform:translateY(-2px)}
.muted{color:var(--muted)}
.band{background:#111;color:#fff;border-radius:12px;padding:20px;display:flex;gap:16px;align-items:center;justify-content:space-between}
.band *{color:#fff !important}
.band h2{margin:0;font-size:clamp(20px,3vw,28px)}
.list-check{list-style:none;padding:0;margin:0}
.list-check li{position:relative;padding-left:24px;margin:6px 0}
.list-check li:before{content:"✔";position:absolute;left:0;top:0;color:var(--accent)}
.band .list-check li{color:#fff}

/* Simple form styles */
form label{display:block;margin:0 0 12px;font-weight:600}
form input,form textarea{width:100%;padding:12px 14px;border:2px solid #444;border-radius:8px;font:inherit;background:#ffffff;color:#111111}
form input::placeholder,form textarea::placeholder{color:#111!important;opacity:1!important}
form textarea{resize:vertical}
.contact-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin:40px 0}
.contact-info-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:24px;text-align:center}
.contact-info-card h2{margin-top:0;font-size:1.5rem}
.form-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0 0 16px}
.form-actions{margin-top:24px}
.status{margin-top:16px;color:var(--success)}
.status:empty{display:none}
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Utilities */
.text-center{text-align:center}
.stack>*{margin:0}
.stack>*+*{margin-top:16px}
.measure{max-width:720px;margin-left:auto;margin-right:auto}
.with-shadow{border-radius:8px;box-shadow:0 8px 24px var(--shadow-color)}
.media-md{max-width:560px;margin-left:auto;margin-right:auto}
.media-sm{max-width:392px;width:100%}
.two-col{display:grid;gap:24px;grid-template-columns:1fr 392px;align-items:center}
.media-col{display:flex;justify-content:flex-end}
@media (max-width:860px){.two-col{grid-template-columns:1fr}.media-col{justify-content:center}}

/* Page header styles */
.page-header{background:var(--surface-alt);padding:40px 0;margin-bottom:32px;border-bottom:1px solid var(--border);text-align:center}
.page-header h1{font-size:clamp(32px,5vw,48px);margin:0 0 16px;line-height:1.2}
.membership-highlight{display:inline-block;background:var(--surface-alt);padding:12px 24px;border-radius:8px;box-shadow:0 2px 8px var(--shadow-color);font-weight:500;border-left:4px solid var(--primary);color:var(--text)}
.membership-highlight p{margin:0;font-size:1.1rem}
/* Ensure high contrast for highlight inside dark CTA */
.cta-section .membership-highlight{background:#ffffff;color:#111111}
@media (prefers-color-scheme:dark){
  .membership-highlight{background:rgba(255,255,255,0.1);border-color:var(--primary)}
  .cta-section .membership-highlight{background:rgba(255,255,255,0.15);color:var(--on-primary)}
}
.section-title{text-align:center;margin-bottom:28px}
.section-title h2{font-size:clamp(24px,4vw,36px);margin:0 0 12px}
.section-title p{font-size:1.1rem;color:var(--muted);max-width:600px;margin:0 auto}
.form-container{max-width:800px;margin:0 auto;background:var(--surface);border-radius:8px;padding:32px;border:1px solid var(--border);box-shadow:0 4px 16px var(--shadow-color)}
/* Improve placeholder contrast */
form input::placeholder,form textarea::placeholder{color:#222;opacity:1}

/* Facility features */
.facility-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin:0 0 32px}
.feature-item{background:var(--surface);border-radius:10px;padding:24px;box-shadow:0 2px 12px var(--shadow-color);text-align:center;border-top:3px solid var(--primary)}
.feature-item svg{color:var(--primary);width:40px;height:40px;margin-bottom:16px}
.feature-item h3{margin:0 0 8px;font-size:1.2rem}
.feature-item p{margin:0;color:var(--muted);font-size:0.95rem}
.measure-left{max-width:720px}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin:32px 0 48px}
.gallery-grid a{display:block;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.1);transition:all .3s ease-out;position:relative;aspect-ratio:4/3}
.gallery-grid a::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.3) 0%,rgba(0,0,0,0) 40%);opacity:0.7;transition:opacity 0.3s ease}
.gallery-grid a:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.15)}
.gallery-grid a:hover::after{opacity:0.4}
.gallery-grid a:focus{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.15);outline:3px solid rgba(0,123,255,0.5);outline-offset:3px}
.gallery-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}
.gallery-grid a:hover img{transform:scale(1.05)}

/* CTA Section */
.cta-section{background:#5c0000;border-radius:16px;padding:40px;margin:40px 0;color:var(--on-primary);box-shadow:0 8px 32px rgba(0,0,0,0.15)}
.cta-content{max-width:800px;margin:0 auto;text-align:center}
.cta-content h2{font-size:clamp(28px,4vw,36px);margin:0 0 16px}
.cta-content p{font-size:1.1rem;margin:0 0 24px;color:#fff}
.cta-content h2,.cta-content p{color:#fff}
.membership-note{font-size:0.95rem;color:var(--muted);margin:16px 0;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-alt)}
.cta-section .membership-note{background:#ffffff;color:#111111;border-color:#dddddd}
.cta-section .membership-highlight{background:#ffffff;color:#111111}
.cta-section .membership-highlight p,.cta-section .membership-highlight strong{color:#111111}
.cta-section .membership-note{background:#ffffff;color:#111111;border-color:#ddd}
.cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.cta-section .btn.outline{border-color:var(--on-primary)!important;color:var(--on-primary)!important}
.cta-section .btn.outline:hover{background:rgba(255,255,255,0.2)}

/* Responsive improvements */
@media (max-width:900px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}
@media (max-width:768px){
  .page-header{padding:30px 0;margin-bottom:24px}
  .membership-highlight{padding:10px 18px}
  .section-title{margin-bottom:20px}
  .gallery-grid{margin:24px 0 36px;gap:16px}
  .facility-features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:0 0 28px}
  .feature-item{padding:20px}
  .feature-item svg{width:36px;height:36px;margin-bottom:12px}
}
@media (max-width:600px){
  .cta-section{padding:30px 20px;margin:30px 0;border-radius:12px}
  .cta-buttons{flex-direction:column;gap:12px}
  .gallery-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
  .gallery-grid a{border-radius:8px}
}
@media (max-width:480px){
  .container{padding:16px}
  .page-header{padding:24px 0}
  .page-header h1{margin-bottom:12px}
  .membership-highlight{padding:8px 14px;font-size:0.95rem}
  .membership-highlight p{font-size:1rem}
  .gallery-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
  .facility-features{grid-template-columns:1fr;gap:16px;margin:0 0 24px}
  .feature-item{padding:16px}
  .feature-item svg{width:32px;height:32px;margin-bottom:10px}
  .feature-item h3{font-size:1.1rem}
}

/* Final placeholder contrast enforcement (ensure strongest precedence) */
form input::placeholder, form textarea::placeholder{color:#111 !important; opacity:1 !important}
form input::-webkit-input-placeholder, form textarea::-webkit-input-placeholder{color:#111 !important; opacity:1 !important}
form input::-moz-placeholder, form textarea::-moz-placeholder{color:#111 !important; opacity:1 !important}
form input:-ms-input-placeholder, form textarea:-ms-input-placeholder{color:#111 !important; opacity:1 !important}
form input::-ms-input-placeholder, form textarea::-ms-input-placeholder{color:#111 !important; opacity:1 !important}

/* Ensure explicit high contrast on contact form fields */
#contact-form input, #contact-form textarea{
  background:#ffffff !important;
  color:#111111 !important;
  border:2px solid #222 !important;
}