:root{--ink:#0b0b0b;--paper:#f5f3ee;--white:#fff;--accent:#d9ff3f;--line:rgba(11,11,11,.16);--muted:#666}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800;margin:0 0 20px}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:82px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;color:#fff;transition:.3s}.site-header.scrolled{height:66px;background:rgba(11,11,11,.94);backdrop-filter:blur(12px)}.brand img{width:150px;max-height:56px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:30px;text-transform:uppercase;font-size:.72rem;font-weight:800;letter-spacing:.13em}.nav-cta{border:1px solid rgba(255,255,255,.7);padding:12px 18px}.menu-toggle{display:none;border:0;background:transparent;padding:10px}.menu-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px}
.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;color:#fff;overflow:hidden}.hero-blur{position:absolute;inset:-20px;background:url('assets/paintball-dive.jpg') center/cover;filter:blur(24px);transform:scale(1.1)}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1}.hero-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.66),transparent 60%)}.hero-content{position:relative;z-index:3;padding:0 6vw 9vh;max-width:1100px}.hero-content>p{text-transform:uppercase;font-size:.72rem;letter-spacing:.18em}.hero-content h1,.statement h2,.collection-heading h2,.services h2,.price-card h3,.custom-services h3,.why-us h3,.about h2,.book h2{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:-.025em;margin:0}.hero-content h1{font-size:clamp(4rem,10vw,9.5rem);line-height:.84;margin:22px 0 34px}.hero-content a{text-transform:uppercase;font-weight:800;font-size:.8rem;letter-spacing:.15em;border-bottom:1px solid;padding-bottom:8px}
.statement{padding:110px 6vw;border-bottom:1px solid var(--line);display:grid;grid-template-columns:.35fr 1.65fr;gap:50px}.statement>p{text-transform:uppercase;font-weight:800;letter-spacing:.16em;font-size:.75rem}.statement h2{font-size:clamp(3rem,6.6vw,7.5rem);line-height:.92}
.work{padding:30px 4vw 110px;background:var(--ink);color:#fff}.collection{padding-top:90px}.collection-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.collection-heading>div{display:flex;align-items:baseline;gap:20px}.collection-heading span{font-size:.72rem;letter-spacing:.15em;color:#aaa}.collection-heading h2{font-size:clamp(3rem,6vw,7rem)}.collection-heading p{color:#aaa;margin:0 0 12px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-card{aspect-ratio:4/5;border:0;padding:0;background:#181818;overflow:hidden}.gallery-card img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .5s}.gallery-card:hover img{transform:scale(1.025)}
.services{padding:120px 6vw}.services-intro{display:grid;grid-template-columns:1.1fr .9fr;column-gap:70px;align-items:end;margin-bottom:65px}.services-intro .kicker{grid-column:1/-1}.services-intro h2{font-size:clamp(3rem,6.5vw,7rem);line-height:.92}.services-intro>p:last-child{font-size:1.05rem;line-height:1.7;color:#4e4e4e}.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.price-card{padding:38px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;min-height:500px}.price-card.dark{background:var(--ink);color:#fff}.price-card.accent{background:var(--accent)}.price-top{display:flex;justify-content:space-between;gap:20px;align-items:start}.service-tag{text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;font-weight:800}.price{font-size:2.3rem;font-weight:900;margin:0}.small-price{font-size:1.4rem}.price-card h3{font-size:clamp(2.2rem,4vw,4.8rem);line-height:.94;margin:50px 0 20px}.price-card>p{line-height:1.65;color:#555}.price-card.dark>p,.price-card.dark li{color:#bbb}.price-card ul{padding-left:20px;line-height:1.9;margin:18px 0 30px}.price-card a{margin-top:auto;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;border-top:1px solid currentColor;padding-top:20px}.fine-print{font-size:.82rem}.custom-services{display:grid;grid-template-columns:1fr 1fr;margin-top:18px}.custom-services article{padding:55px 40px;background:#fff;min-height:410px;display:flex;flex-direction:column}.custom-services article.dark{background:var(--ink);color:#fff}.custom-services h3{font-size:clamp(2.6rem,5vw,5.5rem);line-height:.92;margin:35px 0 24px}.custom-services p:not(.service-tag){line-height:1.7;color:#555}.custom-services .dark p:not(.service-tag){color:#bbb}.custom-services strong{font-size:1.4rem;margin-top:15px}.custom-services a{margin-top:auto;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800}
.why-us{padding:90px 6vw;background:#e8e5de}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.why-grid article{padding:35px 30px;border-right:1px solid var(--line)}.why-grid article:last-child{border-right:0}.why-grid span{font-size:.7rem;letter-spacing:.15em}.why-grid h3{font-size:2rem;margin:45px 0 12px}.why-grid p{line-height:1.6;color:#555}
.about{padding:120px 6vw;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:70px}.about h2{font-size:clamp(3rem,6vw,7rem);line-height:.9}.about-copy{align-self:end}.about-copy p{color:#bbb;font-size:1.08rem;line-height:1.8}.about-copy a{display:inline-block;margin-top:22px;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:800}
.book{padding:120px 6vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.book h2{font-size:clamp(3rem,6vw,7rem);line-height:.92}.book form{background:#fff;padding:42px}.honeypot{position:absolute;left:-9999px}.book fieldset{border:0;padding:0;margin:0 0 30px}.book legend{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;font-weight:800;margin-bottom:15px}.book fieldset label{display:inline-flex;margin:0 8px 8px 0}.book fieldset input{position:absolute;opacity:0}.book fieldset span{display:block;border:1px solid #bbb;padding:12px 15px;font-size:.75rem;text-transform:uppercase;font-weight:700}.book fieldset input:checked+span{background:var(--ink);color:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{display:flex;flex-direction:column;gap:8px}.form-grid label span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid textarea{width:100%;border:0;border-bottom:1px solid #999;background:transparent;padding:13px 4px;border-radius:0}.book form>button{margin-top:30px;width:100%;border:0;background:var(--ink);color:#fff;padding:17px;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.form-note{font-size:.78rem;color:#666;line-height:1.5}
footer{padding:70px 6vw 35px;background:#111;color:#fff;display:grid;grid-template-columns:1fr auto;gap:50px;align-items:start}footer img{width:190px}.footer-contact{display:flex;flex-direction:column;gap:8px;text-align:right}.footer-contact a,.footer-contact span{font-size:.82rem}footer>p{grid-column:1/-1;border-top:1px solid #333;padding-top:25px;color:#777;font-size:.72rem}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-width:86vw;max-height:86vh;object-fit:contain}.lightbox button{position:absolute;border:0;background:transparent;color:#fff;font-size:2rem}.lightbox-close{top:20px;right:25px}.lightbox-nav.prev{left:20px}.lightbox-nav.next{right:20px}.lightbox-count{position:absolute;bottom:20px;color:#fff;font-size:.75rem;letter-spacing:.12em}
@media(max-width:900px){.main-nav{position:fixed;inset:0;background:#111;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;font-size:1.5rem;opacity:0;visibility:hidden;transition:.25s}.main-nav.open{opacity:1;visibility:visible}.menu-toggle{display:block;z-index:2}.statement,.services-intro,.about,.book{grid-template-columns:1fr}.pricing-grid,.custom-services{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr 1fr}.why-grid article:nth-child(2){border-right:0}.gallery-grid{gap:10px}.book{gap:40px}.site-header .brand img{width:125px}}
@media(max-width:640px){.hero-photo{object-fit:contain}.hero-content{padding:0 6vw 8vh}.hero-content h1{font-size:17vw}.statement,.services,.about,.book{padding:85px 6vw}.work{padding-left:0;padding-right:0}.collection-heading{padding:0 6vw;align-items:start;flex-direction:column}.gallery-grid{grid-template-columns:1fr;gap:12px;padding:0 6vw}.gallery-card{aspect-ratio:4/5}.price-card{padding:28px;min-height:auto}.price-card h3{margin-top:36px}.custom-services article{padding:40px 28px}.why-grid{grid-template-columns:1fr}.why-grid article{border-right:0;border-bottom:1px solid var(--line)}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.book form{padding:28px 20px}.book fieldset label{display:block;margin-right:0}.book fieldset span{text-align:center}.footer-contact{text-align:left}footer{grid-template-columns:1fr}.lightbox-nav{display:none}}


/* Multi-page service and portfolio layouts */
.inner-header{background:rgba(11,11,11,.96)}
.page-hero{min-height:72svh;position:relative;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#111}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero.contain img{object-fit:contain}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.2)),linear-gradient(0deg,rgba(0,0,0,.75),transparent 65%)}
.page-hero-content{position:relative;z-index:2;padding:150px 6vw 70px;max-width:1100px}
.page-hero-content .eyebrow,.section-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800}
.page-hero-content h1,.content-section h2,.cta-band h2,.faq-section h2,.portfolio-intro h1{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:-.025em;margin:0}
.page-hero-content h1{font-size:clamp(4rem,9vw,9rem);line-height:.86;margin:22px 0}
.page-hero-content p:last-child{max-width:690px;line-height:1.7;color:#ddd;font-size:1.05rem}
.content-section{padding:100px 6vw}
.content-section.alt{background:#e8e5de}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.content-section h2{font-size:clamp(3rem,6vw,6.7rem);line-height:.92}
.lead-copy p{font-size:1.05rem;line-height:1.8;color:#4f4f4f;margin-top:0}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}
.feature-card{background:#fff;border:1px solid var(--line);padding:32px;min-height:230px}
.feature-card span{font-size:.7rem;letter-spacing:.16em;font-weight:800}
.feature-card h3{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-size:2.25rem;margin:35px 0 12px}
.feature-card p{line-height:1.65;color:#555}
.sport-list{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:50px}
.sport-list span{background:var(--paper);padding:22px;font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}
.service-gallery{background:#0b0b0b;color:#fff;padding:100px 4vw}
.service-gallery .gallery-grid{margin-top:40px}
.service-pricing{padding:100px 6vw}
.pricing-single{max-width:950px;margin:45px auto 0}
.faq-section{padding:100px 6vw;background:#fff}
.faq-section h2{font-size:clamp(3rem,6vw,6.5rem);margin-bottom:45px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{padding:26px 0;border-bottom:1px solid var(--line)}
.faq-item h3{margin:0 0 10px;font-size:1.12rem}
.faq-item p{margin:0;line-height:1.7;color:#555;max-width:900px}
.cta-band{padding:100px 6vw;background:var(--accent);display:flex;justify-content:space-between;gap:50px;align-items:end}
.cta-band h2{font-size:clamp(3.2rem,7vw,7.6rem);line-height:.9;max-width:900px}
.cta-band a{display:inline-block;background:#0b0b0b;color:#fff;padding:18px 26px;text-transform:uppercase;font-size:.78rem;letter-spacing:.13em;font-weight:800;white-space:nowrap}
.portfolio-intro{padding:150px 6vw 80px;background:#0b0b0b;color:#fff}
.portfolio-intro h1{font-size:clamp(4rem,9vw,9rem);line-height:.86}
.portfolio-intro p{color:#bbb;line-height:1.7;max-width:720px}
.portfolio-section{padding:75px 4vw;background:#0b0b0b;color:#fff}
.portfolio-section+.portfolio-section{padding-top:20px}
.simple-contact{padding:120px 6vw;display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}
.contact-details{background:#0b0b0b;color:#fff;padding:45px}
.contact-details h2{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-size:clamp(3rem,5vw,5.5rem);margin:0 0 30px}
.contact-details a,.contact-details p{display:block;color:#ccc;line-height:1.7}
.text-link{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.78rem;border-bottom:1px solid;padding-bottom:7px}
@media(max-width:900px){.content-grid,.simple-contact{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.sport-list{grid-template-columns:1fr 1fr}.cta-band{align-items:start;flex-direction:column}}
@media(max-width:640px){.page-hero{min-height:78svh}.page-hero-content{padding:125px 6vw 55px}.page-hero-content h1{font-size:16vw}.content-section,.service-pricing,.faq-section,.simple-contact{padding:80px 6vw}.feature-grid,.sport-list{grid-template-columns:1fr}.cta-band{padding:80px 6vw}.service-gallery,.portfolio-section{padding-left:6vw;padding-right:6vw}}


/* Full-screen booking modal */
body.modal-open{overflow:hidden}
.booking-modal[hidden]{display:none}
.booking-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}
.booking-modal-backdrop{position:absolute;inset:0;background:rgba(5,5,5,.82);backdrop-filter:blur(10px)}
.booking-modal-panel{position:relative;z-index:1;width:min(920px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#f2efe8;color:#111;box-shadow:0 28px 90px rgba(0,0,0,.45)}
.booking-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding:36px 40px 28px;border-bottom:1px solid rgba(0,0,0,.12)}
.booking-modal-header .kicker{margin:0 0 8px;text-transform:uppercase;letter-spacing:.17em;font-size:.7rem;font-weight:800}
.booking-modal-header h2{margin:0;font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(2.4rem,5vw,4.8rem);line-height:.9;text-transform:uppercase;letter-spacing:-.025em}
.booking-modal-close{width:44px;height:44px;border:1px solid rgba(0,0,0,.25);background:transparent;color:#111;font-size:1.8rem;line-height:1;cursor:pointer;flex:0 0 auto}
.booking-modal-form{padding:32px 40px 40px}
.booking-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:30px}
.booking-progress span{height:4px;background:rgba(0,0,0,.13)}
.booking-progress span:first-child{background:#f4b400}
.booking-modal-form fieldset{border:0;padding:0;margin:0 0 28px}
.booking-modal-form legend,.booking-modal-form .field-label{display:block;width:100%;margin:0 0 14px;font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.booking-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.booking-service-grid label{position:relative;cursor:pointer}
.booking-service-grid input{position:absolute;opacity:0;pointer-events:none}
.booking-service-grid span{min-height:64px;display:grid;place-items:center;padding:12px;border:1px solid rgba(0,0,0,.2);background:#fff;text-align:center;font-size:.77rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.booking-service-grid input:checked+span{border-color:#111;background:#111;color:#fff;box-shadow:inset 0 -4px 0 #f4b400}
.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.booking-fields label{display:block}
.booking-fields label.full{grid-column:1/-1}
.booking-fields input,.booking-fields select,.booking-fields textarea{width:100%;margin-top:8px;border:1px solid rgba(0,0,0,.2);background:#fff;color:#111;padding:15px 14px;border-radius:0;font:inherit}
.booking-fields textarea{resize:vertical;min-height:130px}
.booking-modal-submit{width:100%;margin-top:24px;border:0;background:#111;color:#fff;padding:18px 22px;font-size:.82rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.booking-modal-submit span{color:#f4b400}
.booking-privacy{margin:14px 0 0;color:#666;font-size:.77rem;line-height:1.55;text-align:center}
.booking-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:720px){
  .booking-modal{padding:0}
  .booking-modal-panel{max-height:100vh;min-height:100vh}
  .booking-modal-header{padding:26px 22px 22px}
  .booking-modal-form{padding:24px 22px 36px}
  .booking-service-grid{grid-template-columns:1fr 1fr}
  .booking-fields{grid-template-columns:1fr}
  .booking-fields label.full{grid-column:auto}
}


/* Direct booking CTA updates */
.hero-actions,
.card-actions,
.service-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.direct-book-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  background:var(--accent,#f4b400);
  color:#0b0b0b;
  border:1px solid var(--accent,#f4b400);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  text-decoration:none;
  transition:transform .18s ease,background .18s ease,color .18s ease;
}

.direct-book-button:hover,
.direct-book-button:focus-visible{
  transform:translateY(-2px);
  background:#fff;
  border-color:#fff;
  color:#0b0b0b;
}

.explore-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border:1px solid currentColor;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.74rem;
  font-weight:800;
  text-decoration:none;
}

.floating-book-button{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:9000;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 22px;
  background:var(--accent,#f4b400);
  color:#0b0b0b;
  border:1px solid rgba(0,0,0,.18);
  box-shadow:0 14px 40px rgba(0,0,0,.26);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.76rem;
  font-weight:900;
  transition:transform .18s ease,box-shadow .18s ease;
}

.floating-book-button:hover,
.floating-book-button:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 18px 46px rgba(0,0,0,.34);
}

@media(max-width:640px){
  .floating-book-button{
    right:14px;
    bottom:14px;
    min-height:46px;
    padding:0 17px;
    font-size:.7rem;
  }
}


/* Pricing card Explore + Book Now action row */
.pricing-card-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  width:100%;
}

.pricing-card-actions > a:first-child{
  flex:1 1 auto;
}

.pricing-book-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 17px;
  background:var(--accent,#f4b400);
  color:#0b0b0b;
  border:1px solid var(--accent,#f4b400);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.7rem;
  font-weight:900;
  white-space:nowrap;
  transition:transform .18s ease,background .18s ease,color .18s ease;
}

.price-card.dark .pricing-book-button,
.custom-services .dark .pricing-book-button{
  background:#f4b400;
  border-color:#f4b400;
  color:#0b0b0b;
}

.pricing-book-button:hover,
.pricing-book-button:focus-visible{
  transform:translateY(-2px);
  background:#fff;
  border-color:#fff;
  color:#0b0b0b;
}

@media(max-width:640px){
  .pricing-card-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .pricing-card-actions > a:first-child,
  .pricing-book-button{
    width:100%;
  }
}


/* Navigation safeguard: menu labels only */
.main-nav .card-actions,
.main-nav .pricing-card-actions,
.main-nav .direct-book-button,
.main-nav .pricing-book-button{
  display:none!important;
}

.main-nav{
  align-items:center;
}

.main-nav > a{
  margin:0;
}
