
:root{
  --bg:#020202;
  --bg2:#070707;
  --panel:#0a0a0a;
  --panel2:#111111;
  --line:#1a1a1a;
  --line2:#2a2723;
  --gold:#c49a59;
  --gold2:#d1ae71;
  --cream:#f3efe8;
  --muted:#aaa59f;
  --muted2:#77736e;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{
  min-height:100vh;
  color:var(--cream);
  background:
    linear-gradient(180deg, rgba(1,1,1,.82), rgba(3,3,3,.88)),
    url('/assets/subtle-lightning-background.png') center center / cover fixed no-repeat,
    linear-gradient(180deg, #020202 0%, #060606 100%);
  font-family:Arial,Helvetica,sans-serif;
  overflow-x:hidden;
  position:relative;
}
body::before{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:-3;opacity:.42;
  background:
    repeating-radial-gradient(circle at 50% -20%, rgba(255,255,255,.012) 0 2px, transparent 2px 120px),
    linear-gradient(transparent,rgba(255,255,255,.01));
}
body::after{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:-2;opacity:.18;
  background:
    radial-gradient(circle at 50% 12%, rgba(255,255,255,.05), transparent 28%),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.22));
}
.lightning-layer, .lightning-layer-2{
  position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden;
}
.lightning-layer span,
.lightning-layer-2 span{
  position:absolute;
  width:2px;
  height:120px;
  background:linear-gradient(180deg, transparent 0%, rgba(209,174,113,.12) 15%, rgba(255,255,255,.20) 45%, rgba(209,174,113,.10) 80%, transparent 100%);
  box-shadow:0 0 8px rgba(209,174,113,.16),0 0 28px rgba(209,174,113,.08);
  opacity:.0;
  clip-path:polygon(45% 0,60% 18%,40% 35%,65% 50%,38% 72%,55% 100%,25% 78%,48% 54%,24% 36%,42% 16%);
}
.lightning-layer span:nth-child(1){left:10%;top:18%;animation:flashA 14s linear infinite}
.lightning-layer span:nth-child(2){left:83%;top:16%;animation:flashB 17s linear infinite}
.lightning-layer span:nth-child(3){left:73%;top:56%;animation:flashC 21s linear infinite}
.lightning-layer-2 span:nth-child(1){left:18%;top:62%;animation:flashD 19s linear infinite}
.lightning-layer-2 span:nth-child(2){left:90%;top:42%;animation:flashE 23s linear infinite}
@keyframes flashA{0%,6%,100%{opacity:0;transform:translateY(0)}2%,2.4%{opacity:.30}2.5%,2.8%{opacity:.08}3%,3.2%{opacity:.26}4%{opacity:0}}
@keyframes flashB{0%,100%{opacity:0}28%,28.5%{opacity:.25}29%{opacity:.05}29.5%{opacity:.22}30%{opacity:0}}
@keyframes flashC{0%,100%{opacity:0}58%,58.4%{opacity:.22}59%{opacity:.05}59.4%{opacity:.18}60%{opacity:0}}
@keyframes flashD{0%,100%{opacity:0}42%,42.3%{opacity:.22}43%{opacity:.06}43.4%{opacity:.18}44%{opacity:0}}
@keyframes flashE{0%,100%{opacity:0}74%,74.2%{opacity:.18}75%,75.3%{opacity:.10}76%{opacity:0}}

a{color:inherit}
.site-shell{
  width:min(1380px,100%);
  min-height:100vh;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
}
.topbar{
  height:62px;display:flex;align-items:center;justify-content:space-between;
  padding:0 44px;border-bottom:1px solid #161616;background:rgba(3,3,3,.84);
}
.brand-mini{font-size:11px;line-height:1.28;letter-spacing:2.4px;font-weight:900;text-transform:uppercase}
.brand-mini span{color:var(--gold2)}
.nav{display:flex;align-items:center;gap:28px}
.nav a{font-size:11px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;text-decoration:none;color:#ddd9d1;transition:.2s ease}
.nav a:hover{color:var(--gold2)}
.nav .nav-register{padding:14px 18px;border:1px solid #404040}
.hero-heading{text-align:center;padding:14px 20px 10px}
.hero-heading h1{margin:0;font-size:62px;line-height:.96;letter-spacing:-3px;text-transform:uppercase}
.hero-heading p{margin:10px 0 0;color:#8b8881;font-size:12px;font-weight:800;letter-spacing:4px;text-transform:uppercase}
.hero-grid{
  display:grid;grid-template-columns:1.12fr .88fr;gap:54px;padding:6px 48px 14px;align-items:center;flex:1;
}
.visual{
  position:relative;
  min-height:0;
  height:clamp(390px,48vh,520px);
  aspect-ratio:auto;
  background:#060606;
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
  box-shadow:0 16px 50px rgba(0,0,0,.42);
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.visual::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  border:1px solid rgba(196,154,89,.14);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),inset 0 0 52px rgba(255,255,255,.016);
}
.visual::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.08), transparent 30%),
    linear-gradient(180deg, transparent 70%, rgba(0,0,0,.25));
}
.visual:hover{transform:translateY(-4px);border-color:rgba(196,154,89,.30);box-shadow:0 24px 64px rgba(0,0,0,.54)}
.visual img{
  width:100%;height:100%;display:block;object-fit:cover;object-position:center;
  transition:transform .5s ease,filter .5s ease;
}
.visual:hover img{transform:scale(1.02);filter:brightness(1.04)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:4px 0 0}
.kicker{color:var(--gold2);font-size:11px;font-weight:900;letter-spacing:3px;text-transform:uppercase;margin-bottom:16px}
.big-words{font-size:64px;line-height:.94;font-weight:900;letter-spacing:-2px;text-transform:uppercase;margin-bottom:22px}
.big-words .gold{color:var(--gold)}
.big-words .muted{color:#767676}
.hero-copy>p{color:var(--muted);font-size:16px;line-height:1.65;margin:0 0 22px;max-width:560px}
.cta-row{display:grid;grid-template-columns:1.18fr .82fr;gap:12px;margin-bottom:12px}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btn{
  display:flex;align-items:center;justify-content:center;min-height:56px;padding:15px 18px;
  text-decoration:none;text-align:center;text-transform:uppercase;font-size:11px;font-weight:900;
  letter-spacing:1.6px;border:1px solid #4d4338;transition:.2s ease;cursor:pointer
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,#17130e,#211910);color:#f4f0e8;border-color:#6b5740}
.btn-dark{background:#0c0c0c;color:#f0ece5;border-color:#3a3834}
.btn-light{background:#ece8df;color:#111;border-color:#ece8df}
.btn-gold{background:#c9a15e;color:#111;border-color:#c9a15e}
.btn-primary:hover,.btn-dark:hover{border-color:#91724a}

.info-strip{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:rgba(2,2,2,.92);margin:10px 48px 0;
}
.info-box{padding:18px 24px;min-height:72px}
.info-box:not(:last-child){border-right:1px solid var(--line)}
.info-label{font-size:10px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:4px}
.info-value,.info-value a{font-size:13px;color:#77736e;text-decoration:none}
.bottom-strip{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:14px 48px 18px;color:#66615b;font-size:9px;letter-spacing:1px;text-transform:uppercase
}
.bottom-strip .left span{color:#8a6f45;margin-left:10px}
.bottom-links{display:flex;gap:24px;flex-wrap:wrap}
.bottom-links a{text-decoration:none;color:#66615b}
.bottom-links a:hover{color:var(--gold)}
/* Modal */
.modal-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(3px);
  display:none;align-items:center;justify-content:center;padding:22px;z-index:20;
}
.modal-overlay:target{display:flex}
.modal-card{
  width:min(860px,100%);
  background:linear-gradient(180deg,rgba(10,10,10,.98),rgba(9,9,9,.98));
  border:1px solid #3a342b;box-shadow:0 18px 80px rgba(0,0,0,.65);
  position:relative;padding:28px 28px 24px;
}
.modal-close{
  position:absolute;right:14px;top:14px;width:32px;height:32px;border:1px solid #7b6541;border-radius:8px;
  display:flex;align-items:center;justify-content:center;text-decoration:none;color:#d4b173;font-size:18px;font-weight:700
}
.modal-eyebrow{color:var(--gold2);font-size:11px;font-weight:900;letter-spacing:3px;text-transform:uppercase;margin-bottom:12px}
.modal-card h2{margin:0 0 12px;font-size:28px;line-height:1;text-transform:uppercase}
.modal-card > p{margin:0 0 18px;color:#b9b4ae;font-size:15px;line-height:1.65;max-width:640px}
.instructor{margin-bottom:20px;color:#a09a93;font-size:12px;font-weight:900;letter-spacing:2px;text-transform:uppercase}
.instructor span{color:var(--gold);margin-left:8px}
.work-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:4px 28px;
  border-top:1px solid #242424;border-bottom:1px solid #242424;padding:20px 0 16px;margin-bottom:16px
}
.work-item{display:flex;gap:12px;color:#e4e0da;font-size:15px;line-height:1.5;margin:7px 0}
.check{color:var(--gold)}
.equipment-box{
  border:1px solid #4a4134;background:rgba(255,255,255,.02);padding:18px 18px 16px;margin-top:4px
}
.equipment-title{color:var(--gold2);font-size:11px;font-weight:900;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:10px}
.equipment-box p{margin:0;color:#c0bbb4;font-size:15px;line-height:1.65}
.modal-note{margin-top:18px;color:#8d8880;font-size:12px;font-weight:900;letter-spacing:3px;text-transform:uppercase}
.legal-footer{
  display:flex;justify-content:space-between;gap:20px;align-items:center;
  padding:18px 30px 22px;border-top:1px solid #181818;color:#65615b;font-size:9px;letter-spacing:1px;text-transform:uppercase
}
.legal-footer .links{display:flex;gap:24px;flex-wrap:wrap}
.legal-footer a{text-decoration:none;color:#65615b}
.legal-footer a:hover{color:var(--gold)}
.legal-top{
  height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;
  border-bottom:1px solid #151515;background:rgba(3,3,3,.94)
}
.back-pill{
  display:inline-flex;align-items:center;gap:12px;padding:9px 18px 9px 10px;border:1px solid #2c2c2c;border-radius:999px;
  text-decoration:none;font-size:11px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase;color:#e3dfd7
}
.back-pill img{width:32px;height:32px;border-radius:50%;object-fit:cover}
.back-pill .arrow{color:var(--gold)}
.legal-top-title{color:#76726c;font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase}
.legal-layout{
  width:min(1100px,100%);margin:0 auto;display:grid;grid-template-columns:270px 1fr;gap:56px;padding:34px 30px 56px
}
.legal-sidebar{display:flex;flex-direction:column;gap:10px}
.legal-sidebar a{
  display:flex;align-items:center;min-height:48px;padding:0 18px;border:1px solid #262626;border-radius:11px;
  background:#111;color:#8c8882;text-decoration:none;font-size:10px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase;
  transition:.23s ease
}
.legal-sidebar a:hover,.legal-sidebar a.active{
  color:#cda769;border-color:#6a4d2d;background:linear-gradient(135deg,#17120d,#1d1710);transform:translateX(3px)
}
.legal-content{max-width:760px}
.updated{color:#77736d;text-transform:uppercase;letter-spacing:3px;font-size:9px;font-weight:700;margin:4px 0 23px}
.legal-content h1{font-size:34px;line-height:1.06;margin:0 0 14px;text-transform:uppercase}
.legal-subtitle{color:#c49a59;font-size:12px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase;margin-bottom:38px}
.legal-content h2{font-size:18px;margin:34px 0 14px;text-transform:uppercase;letter-spacing:.3px}
.legal-content p,.legal-content li{color:#c1bdb7;font-size:14px;line-height:1.78}
.legal-content ul{padding-left:24px}
.contact-panel{
  margin-top:20px;padding:20px;border:1px solid #343434;border-radius:10px;background:#151515;
  display:grid;grid-template-columns:95px 1fr;row-gap:9px
}
.contact-panel .k{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:1.1px;text-transform:uppercase}
.contact-panel .v{color:#bbb7b0;font-size:13px;line-height:1.45}
.notice{
  margin-top:30px;padding-top:22px;border-top:1px solid #252525;color:#aaa69f;font-size:11px;line-height:1.7
}
@media(min-width:1000px){
  body.home-page{height:100vh;overflow:hidden}
}
@media(max-width:1100px){
  body.home-page{overflow-y:auto}
  .site-shell{min-height:auto}
  .hero-grid{grid-template-columns:1fr;gap:28px}
  .visual{aspect-ratio:1.12/1}
  .hero-copy{padding:0}
}
@media(max-width:800px){
  .work-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  body.home-page{overflow-y:auto}
  .topbar{height:60px;padding:0 18px}.nav{gap:12px}.nav .hide-mobile{display:none}.nav a{font-size:9px}
  .hero-heading{padding:24px 18px 18px}.hero-heading h1{font-size:42px}
  .hero-grid{padding:0 18px 16px}.big-words{font-size:50px}.cta-row,.quick-grid{grid-template-columns:1fr}
  .hero-copy>p{margin-bottom:18px}
  .info-strip{grid-template-columns:1fr;margin:8px 18px 0}.info-box:not(:last-child){border-right:0;border-bottom:1px solid var(--line)}
  .bottom-strip{padding:16px 18px 22px;flex-direction:column;align-items:flex-start}.bottom-links{gap:14px}
  .modal-card{padding:22px 18px 20px}
  .legal-top{height:70px;padding:0 18px}.legal-top-title{font-size:9px;letter-spacing:2px}
  .legal-layout{grid-template-columns:1fr;gap:28px;padding:30px 18px 48px}.contact-panel{grid-template-columns:1fr}
}


/* ==========================================================
   HOME V10 — Champion Rounds lighting / borders / booking CTAs
   ========================================================== */

body.home-page{
  background:
    radial-gradient(circle at 14% 18%, rgba(255,255,255,.055), transparent 24%),
    radial-gradient(circle at 82% 21%, rgba(209,174,113,.060), transparent 26%),
    radial-gradient(circle at 72% 76%, rgba(255,255,255,.030), transparent 28%),
    linear-gradient(180deg, rgba(1,1,1,.77), rgba(2,2,2,.91)),
    url('/assets/subtle-lightning-background.png') center center / cover fixed no-repeat,
    linear-gradient(180deg,#010101 0%,#060504 100%);
}

/* subtle logo-like white/gold strikes */
body.home-page::after{
  opacity:.55;
  background:
    radial-gradient(ellipse at 44% 2%, rgba(255,255,255,.075), transparent 32%),
    radial-gradient(ellipse at 78% 46%, rgba(204,164,98,.045), transparent 28%),
    linear-gradient(122deg, transparent 0 18%, rgba(255,255,255,.022) 18.15%, transparent 18.38% 100%),
    linear-gradient(58deg, transparent 0 72%, rgba(209,174,113,.026) 72.12%, transparent 72.40% 100%);
}
.lightning-layer span,
.lightning-layer-2 span{
  width:1.5px;
  height:175px;
  background:linear-gradient(
    180deg,
    transparent 0%,
    rgba(255,255,255,.08) 12%,
    rgba(255,255,255,.34) 44%,
    rgba(209,174,113,.20) 67%,
    transparent 100%
  );
  box-shadow:
    0 0 7px rgba(255,255,255,.13),
    0 0 22px rgba(209,174,113,.09);
}
.lightning-layer span:nth-child(2),
.lightning-layer-2 span:nth-child(1){
  background:linear-gradient(
    180deg,
    transparent 0%,
    rgba(209,174,113,.08) 12%,
    rgba(209,174,113,.30) 44%,
    rgba(255,255,255,.18) 69%,
    transparent 100%
  );
}

/* bordered navigation rail */
.topbar{
  height:64px;
  margin:10px 18px 0;
  padding:0 26px;
  border:1px solid rgba(255,255,255,.12);
  border-bottom-color:rgba(209,174,113,.28);
  border-radius:11px;
  background:
    linear-gradient(90deg,rgba(8,8,8,.96),rgba(14,12,9,.90),rgba(6,6,6,.96));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.018),
    0 0 20px rgba(255,255,255,.025),
    0 8px 34px rgba(0,0,0,.36);
}

/* Champion Rounds identity: thin white border + subtle glow */
.brand-mini{
  padding:8px 11px 7px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:7px;
  background:rgba(255,255,255,.012);
  box-shadow:
    inset 0 0 0 1px rgba(209,174,113,.035),
    0 0 12px rgba(255,255,255,.025);
}
.brand-mini span{
  text-shadow:
    0 0 9px rgba(255,255,255,.08),
    0 0 15px rgba(209,174,113,.08);
}

.nav{gap:10px}
.nav a{
  min-height:38px;
  display:flex;
  align-items:center;
  padding:0 13px;
  border:1px solid transparent;
  border-radius:6px;
}
.nav a:hover{
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.025);
}
.nav .nav-book{
  color:#f3efe8;
  border-color:rgba(209,174,113,.52);
  background:linear-gradient(135deg,rgba(209,174,113,.14),rgba(255,255,255,.025));
  box-shadow:0 0 14px rgba(209,174,113,.08);
}
.nav .nav-book:hover{
  background:#fff;
  color:#090909;
  border-color:#fff;
}
.nav .nav-register{
  padding:0 14px;
  border-color:rgba(255,255,255,.24);
}

/* Fix headline scale/fit at all viewport widths */
.hero-heading{
  padding:18px 24px 10px;
  overflow:hidden;
}
.hero-heading h1{
  width:min(100%,950px);
  margin:0 auto;
  font-size:clamp(34px,5.2vw,64px);
  line-height:.96;
  letter-spacing:clamp(-2.5px,-.15vw,-1px);
  white-space:normal;
  text-wrap:balance;
  text-shadow:0 0 24px rgba(255,255,255,.035);
}
.hero-heading p{
  margin-top:9px;
}

/* hero image gets the subtle white + gold CR-like edge */
.visual{
  border:1px solid rgba(255,255,255,.17);
  box-shadow:
    0 0 0 1px rgba(209,174,113,.055),
    0 0 22px rgba(255,255,255,.035),
    0 18px 55px rgba(0,0,0,.48);
}
.visual::before{
  border-color:rgba(255,255,255,.10);
  box-shadow:
    inset 0 0 0 1px rgba(209,174,113,.10),
    inset 0 0 52px rgba(255,255,255,.018);
}

/* middle booking CTA */
.hero-primary-actions{
  grid-template-columns:1fr 1fr !important;
}
.hero-book-cta{
  background:linear-gradient(135deg,#d3b06f,#a97c3f);
  color:#0a0907;
  border-color:#d3b06f;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.15),
    0 0 18px rgba(209,174,113,.10);
}
.hero-book-cta:hover{
  background:#fff;
  color:#080808;
  border-color:#fff;
}

/* Contact strip: contrasting but blended panels */
.info-strip{
  gap:8px;
  border:0;
  background:transparent;
}
.info-box{
  border:1px solid rgba(255,255,255,.075);
  border-radius:8px;
  transition:.2s ease;
}
.info-box:nth-child(1){
  background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
}
.info-box:nth-child(2){
  background:linear-gradient(135deg,rgba(209,174,113,.075),rgba(255,255,255,.015));
}
.info-box:nth-child(3){
  background:linear-gradient(135deg,rgba(255,255,255,.028),rgba(209,174,113,.050));
}
.info-box:not(:last-child){border-right:1px solid rgba(255,255,255,.075)}
.info-box:hover{
  border-color:rgba(209,174,113,.28);
  transform:translateY(-1px);
}
.info-label{color:#d4b374}
.info-value,.info-value a{color:#b9b4ad}
.info-value a:hover{color:#fff}

/* Contact modal rows remain clean after removing website row */
.contact-row{
  background:linear-gradient(135deg,#101010,#15130f);
  border-color:#302a22;
}

@media(max-width:700px){
  .topbar{
    height:auto;
    min-height:64px;
    margin:8px 8px 0;
    padding:9px 10px;
    gap:8px;
  }
  .brand-mini{font-size:9px;letter-spacing:1.5px}
  .nav{gap:5px}
  .nav a{font-size:8px;padding:0 8px;min-height:34px}
  .hero-heading{padding:24px 14px 16px}
  .hero-heading h1{font-size:clamp(32px,11vw,44px)}
  .hero-primary-actions{grid-template-columns:1fr !important}
  .info-strip{gap:7px}
  .info-box:not(:last-child){border-right:1px solid rgba(255,255,255,.075)}
}


/* V11 — exact user-provided Champion Rounds background */
body.home-page{
  background:
    linear-gradient(rgba(0,0,0,.48), rgba(0,0,0,.60)),
    url('/assets/champion-rounds-marble-lightning-bg.png') center center / cover fixed no-repeat !important;
}


/* =========================================================
   V12 HOME POLISH
   ========================================================= */

/* Move PUSH YOUR LIMITS / BECOME UNSTOPPABLE slightly lower */
.hero-heading{
  padding-top:30px !important;
  padding-bottom:12px !important;
}
.hero-heading h1{
  color:#f6f3ed;
}
.hero-heading p{
  color:#d0cbc3 !important;
}

/* Top Contact is intentionally white */
.nav .nav-contact{
  color:#fff !important;
  border:1px solid rgba(255,255,255,.38);
  background:rgba(255,255,255,.035);
  box-shadow:0 0 12px rgba(255,255,255,.035);
}
.nav .nav-contact:hover{
  color:#090909 !important;
  background:#fff !important;
  border-color:#fff !important;
}

/* Premium, clearer CTA hierarchy */
.register-cta{
  background:linear-gradient(135deg,#151515,#24211d) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.40) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 0 12px rgba(255,255,255,.025);
}
.register-cta:hover{
  background:#fff !important;
  color:#080808 !important;
  border-color:#fff !important;
}

.hero-book-cta{
  background:linear-gradient(135deg,#dfbf7e 0%,#bb8c4b 52%,#d7b570 100%) !important;
  color:#080706 !important;
  border-color:#e5c88a !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.18),
    0 0 18px rgba(209,174,113,.12) !important;
}
.hero-book-cta:hover{
  background:#fff !important;
  color:#080808 !important;
  border-color:#fff !important;
}

.btn-class-info{
  background:#111 !important;
  color:#f3efe8 !important;
  border-color:#45413b !important;
}
.btn-class-info:hover{
  border-color:#fff !important;
  background:#181818 !important;
}

.btn-contact-white{
  background:#f5f3ef !important;
  color:#090909 !important;
  border-color:#fff !important;
  box-shadow:0 0 16px rgba(255,255,255,.055);
}
.btn-contact-white:hover{
  background:#fff !important;
  box-shadow:0 0 22px rgba(255,255,255,.12);
}

.btn-wraps{
  background:linear-gradient(135deg,#6e5735,#8a693d) !important;
  color:#fff !important;
  border-color:#9a7747 !important;
}
.btn-wraps:hover{
  background:linear-gradient(135deg,#876a3d,#aa8248) !important;
  border-color:#c39a5f !important;
}

/* CONTACT US modal heading explicitly white */
#contact-modal .modal-card h2{
  color:#fff !important;
  text-shadow:0 0 14px rgba(255,255,255,.05);
}
#contact-modal .contact-joel{
  border-color:rgba(209,174,113,.26);
  background:linear-gradient(135deg,rgba(209,174,113,.075),rgba(255,255,255,.018));
}

/* Very subtle white/gold point-light texture over the supplied background */
body.home-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.46;
  background:
    radial-gradient(circle at 8% 16%, rgba(255,255,255,.40) 0 1px, transparent 1.8px),
    radial-gradient(circle at 18% 72%, rgba(255,255,255,.24) 0 1px, transparent 1.7px),
    radial-gradient(circle at 29% 33%, rgba(213,181,121,.22) 0 1px, transparent 1.8px),
    radial-gradient(circle at 41% 84%, rgba(255,255,255,.24) 0 1px, transparent 1.7px),
    radial-gradient(circle at 55% 17%, rgba(255,255,255,.22) 0 1px, transparent 1.7px),
    radial-gradient(circle at 66% 67%, rgba(216,185,125,.20) 0 1px, transparent 1.8px),
    radial-gradient(circle at 77% 29%, rgba(255,255,255,.27) 0 1px, transparent 1.7px),
    radial-gradient(circle at 88% 80%, rgba(255,255,255,.25) 0 1px, transparent 1.7px),
    radial-gradient(circle at 95% 46%, rgba(214,182,119,.19) 0 1px, transparent 1.8px);
}

/* Slightly brighter edge around navigation without becoming flashy */
.topbar{
  border-color:rgba(255,255,255,.15) !important;
  border-bottom-color:rgba(209,174,113,.34) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.018),
    0 0 15px rgba(255,255,255,.025),
    0 8px 34px rgba(0,0,0,.36) !important;
}

@media(max-width:700px){
  .hero-heading{
    padding-top:30px !important;
    padding-bottom:16px !important;
  }
}


/* =========================================================
   V13 — FULL RESPONSIVE FIX
   Prevent horizontal scrolling and make every section fit
   phones, tablets, laptops and desktop screens.
   ========================================================= */

html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}

body.home-page{
  min-width:0 !important;
}

.site-shell,
.topbar,
.hero-heading,
.hero-grid,
.visual,
.hero-copy,
.info-strip,
.bottom-strip,
.modal-overlay,
.modal-card,
.register-intro-card{
  min-width:0;
  max-width:100%;
}

img,
svg,
video,
canvas{
  max-width:100%;
}

.hero-grid > *,
.cta-row > *,
.quick-grid > *,
.info-strip > *,
.nav > *{
  min-width:0;
}

/* Long addresses/emails/labels must never push the page wider. */
.info-value,
.info-value a,
.contact-meta,
.contact-meta a,
.contact-meta span,
.bottom-strip,
.bottom-links,
.btn,
.nav a{
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Desktop / large tablet refinements */
@media (max-width:1100px){
  .site-shell{
    width:100%;
  }

  .hero-grid{
    padding-left:28px !important;
    padding-right:28px !important;
    gap:26px !important;
  }

  .visual{
    width:100%;
    height:auto !important;
    aspect-ratio:16 / 11 !important;
  }

  .big-words{
    font-size:clamp(42px,7vw,58px) !important;
  }

  .info-strip{
    margin-left:28px !important;
    margin-right:28px !important;
  }
}

/* Phones and small tablets */
@media (max-width:700px){

  body.home-page{
    background-attachment:scroll !important;
  }

  .site-shell{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden;
  }

  /* Two clean rows: brand, then 3 equal navigation buttons. */
  .topbar{
    width:calc(100% - 20px) !important;
    height:auto !important;
    min-height:0 !important;
    margin:10px 10px 0 !important;
    padding:10px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:9px !important;
    align-items:stretch !important;
  }

  .brand-mini{
    width:100%;
    min-width:0;
    padding:9px 10px !important;
    text-align:center;
    font-size:9px !important;
    line-height:1.28;
    letter-spacing:1.6px !important;
  }

  .nav{
    width:100%;
    min-width:0;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
  }

  .nav a,
  .nav .nav-register{
    width:100%;
    min-width:0;
    min-height:40px !important;
    padding:8px 5px !important;
    justify-content:center;
    text-align:center;
    font-size:8.5px !important;
    letter-spacing:1px !important;
    white-space:nowrap;
  }

  /* Headline sits lower, but remains fully inside the viewport. */
  .hero-heading{
    width:100%;
    padding:34px 16px 19px !important;
  }

  .hero-heading h1{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    font-size:clamp(36px,12vw,50px) !important;
    line-height:.96 !important;
    letter-spacing:-1.7px !important;
    text-align:center;
    text-wrap:balance;
  }

  .hero-heading p{
    max-width:100%;
    margin-top:13px !important;
    padding:0 4px;
    font-size:10px !important;
    line-height:1.45;
    letter-spacing:3.2px !important;
    text-align:center;
  }

  /* Hero becomes true single-column mobile layout. */
  .hero-grid{
    width:100%;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:24px !important;
    padding:0 14px 18px !important;
    margin:0 !important;
  }

  .visual{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1.08 / 1 !important;
    margin:0 !important;
  }

  .visual img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
  }

  .hero-copy{
    width:100%;
    max-width:100%;
    padding:0 !important;
  }

  .kicker{
    margin-bottom:13px !important;
    font-size:9px !important;
    line-height:1.45;
    letter-spacing:2.2px !important;
  }

  .big-words{
    width:100%;
    max-width:100%;
    margin-bottom:18px !important;
    font-size:clamp(40px,13vw,55px) !important;
    line-height:.92 !important;
    letter-spacing:-1.4px !important;
    overflow-wrap:normal;
    word-break:normal;
  }

  .hero-copy > p{
    width:100%;
    max-width:100%;
    margin-bottom:18px !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }

  .cta-row,
  .hero-primary-actions,
  .quick-grid{
    width:100%;
    max-width:100%;
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
  }

  .btn{
    width:100%;
    max-width:100%;
    min-height:52px;
    padding:13px 12px !important;
    font-size:10px !important;
    letter-spacing:1.2px !important;
  }

  .info-strip{
    width:calc(100% - 28px) !important;
    max-width:calc(100% - 28px) !important;
    margin:8px 14px 0 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:7px !important;
  }

  .info-box{
    width:100%;
    min-width:0;
    padding:16px 17px !important;
  }

  .info-box:not(:last-child){
    border-right:1px solid rgba(255,255,255,.075) !important;
    border-bottom:1px solid rgba(255,255,255,.075) !important;
  }

  .info-value,
  .info-value a{
    max-width:100%;
    font-size:12px !important;
  }

  .bottom-strip{
    width:100%;
    max-width:100%;
    padding:18px 14px 26px !important;
    gap:14px !important;
  }

  .bottom-strip .left{
    width:100%;
    line-height:1.7;
  }

  .bottom-strip .left span{
    display:block;
    margin:3px 0 0 !important;
  }

  .bottom-links{
    width:100%;
    gap:10px 16px !important;
  }

  /* Modals always stay within the phone viewport. */
  .modal-overlay{
    width:100vw;
    padding:12px !important;
    overflow-y:auto;
    overflow-x:hidden;
    align-items:flex-start;
  }

  .modal-card,
  .register-intro-card{
    width:100% !important;
    max-width:100% !important;
    margin:16px auto !important;
  }

  .contact-row{
    min-width:0;
    padding:15px !important;
  }

  .contact-icon{
    flex:0 0 40px;
  }

  .register-intro-head{
    padding:27px 19px 21px !important;
  }

  .register-intro-head h2{
    font-size:31px !important;
  }

  .register-steps{
    padding:19px !important;
  }

  .register-step{
    min-width:0;
    grid-template-columns:38px minmax(0,1fr) !important;
    padding:14px 12px !important;
  }

  .register-step-copy{
    min-width:0;
    overflow-wrap:anywhere;
  }

  .register-intro-actions{
    padding:0 19px 23px !important;
  }
}

/* Narrow phones such as iPhone SE / small Android */
@media (max-width:390px){
  .topbar{
    width:calc(100% - 14px) !important;
    margin:7px 7px 0 !important;
    padding:8px !important;
  }

  .nav{
    gap:5px !important;
  }

  .nav a,
  .nav .nav-register{
    font-size:7.5px !important;
    letter-spacing:.75px !important;
    padding:7px 3px !important;
  }

  .hero-heading{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .hero-heading h1{
    font-size:clamp(34px,12vw,44px) !important;
  }

  .hero-grid{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .big-words{
    font-size:clamp(38px,13vw,49px) !important;
  }
}
