*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:#0a0a0a;color:#fff;font-family:"Segoe UI",Arial,Helvetica,sans-serif;overflow-x:hidden}img{max-width:100%}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #fff;outline-offset:5px}#onas,#strzelnica,#oferta,#pakiety,#kontakt,#dokumenty{scroll-margin-top:25px}.section-label{margin-bottom:32px;color:#aaa;font-size:18px;font-weight:700;letter-spacing:6px}.about-content h2,.range-left h2,.offer-heading h2,.offer-card h3,.expanded-intro h4,.quote-content h4,.cta h2,.contact-heading h2{word-spacing:.18em}
.hero{position:relative;min-height:100vh;overflow:hidden;background:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.6)),url("images/hero.jpg");background-size:cover;background-position:center}.navbar{position:absolute;top:0;left:0;width:100%;display:flex;justify-content:flex-end;align-items:center;padding:35px 45px;z-index:50}.menu{display:flex;align-items:center;gap:42px}.menu a{color:#fff;text-decoration:none;font-size:30px;font-weight:800;letter-spacing:1px;white-space:nowrap;transition:opacity .3s}.menu a:hover{opacity:.6}.menu-toggle{display:none;width:48px;height:48px;border:0;background:transparent;cursor:pointer}.menu-toggle span{display:block;width:30px;height:2px;margin:6px auto;background:#fff}.hero-logo-right{position:absolute;top:330px;right:0;width:52%;height:330px;display:flex;justify-content:center;align-items:center;z-index:15}.hero-logo-right img{display:block;width:760px;max-width:none;height:auto}.hero-content{position:absolute;left:28px;bottom:28px;width:1400px;max-width:80%;z-index:20}.hero-small{margin-bottom:28px;font-size:clamp(54px,4vw,74px);font-weight:800;line-height:1}.hero-content h1{margin-bottom:24px;font-size:clamp(78px,6.6vw,132px);font-weight:900;line-height:.96;word-spacing:.12em}.hero-description{max-width:none;color:#e2e2e2;font-size:clamp(15px,1.35vw,22px);line-height:1.45;white-space:nowrap}.hero-content h1 span{display:block;white-space:nowrap}
.about{min-height:850px;display:grid;grid-template-columns:1fr 1fr;background:#0a0a0a}.about-image{min-height:850px;overflow:hidden}.about-image img{display:block;width:100%;height:100%;object-fit:cover}.about-content{display:flex;flex-direction:column;justify-content:center;padding:90px 8%}.about-content h2{margin-bottom:42px;font-size:clamp(52px,4.3vw,86px);font-weight:900;line-height:1.12;white-space:nowrap}.about-lead{max-width:760px;margin-bottom:24px;font-size:25px;line-height:1.55}.about-text{max-width:760px;margin-bottom:20px;color:#aaa;font-size:18px;line-height:1.7}.about-text-main{color:#fff;font-size:21px;font-weight:700}.about-motto{max-width:900px;display:flex;flex-wrap:wrap;gap:10px 24px;margin:30px 0 36px;padding:27px 0;border-top:1px solid #333;border-bottom:1px solid #333}.about-motto span{font-size:clamp(20px,1.5vw,28px);font-weight:900;letter-spacing:1px;white-space:nowrap}.about-details{max-width:850px}.about-details summary{display:inline-flex;align-items:center;color:#fff;font-size:14px;font-weight:800;letter-spacing:2px;list-style:none;cursor:pointer;user-select:none;padding-bottom:7px;border-bottom:2px solid #fff}.about-details summary::-webkit-details-marker{display:none}.about-less{display:none}.about-details[open] .about-more{display:none}.about-details[open] .about-less{display:inline}.about-expanded{margin-top:38px;padding-top:35px;border-top:1px solid #2d2d2d}.about-expanded>p{max-width:800px;margin-bottom:22px;color:#aaa;font-size:17px;line-height:1.75}.about-expanded strong,.about-subsection strong{color:#fff}.about-subsection{max-width:820px;margin-top:42px;padding-top:30px;border-top:1px solid #333}.about-subtitle{margin-bottom:22px;color:#fff;font-size:13px;font-weight:900;letter-spacing:3px;line-height:1.5}.about-subsection>p:not(.about-subtitle){margin-bottom:20px;color:#aaa;font-size:17px;line-height:1.75}.insurance-highlight{margin:25px 0;padding:22px 24px;color:#fff!important;background:#111;border-left:3px solid #fff;font-size:18px!important;font-weight:700;line-height:1.6!important}
.range{padding:140px 45px;background:#050505;border-top:1px solid #222;border-bottom:1px solid #222}.range-content{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);align-items:end;gap:60px}.range-left h2{margin-bottom:45px;font-size:clamp(46px,4.1vw,80px);font-weight:900;line-height:1.1;white-space:nowrap}.range-text{color:#aaa;font-size:24px;line-height:1.55;white-space:nowrap}.range-price{text-align:right}.range-price-number{font-size:clamp(100px,9vw,180px);font-weight:900;line-height:.9}.range-price-label{margin-top:22px;color:#888;font-size:20px;font-weight:700;letter-spacing:5px}
.offer{padding:120px 45px;background:#111}.offer-heading{margin-bottom:70px}.offer-heading h2{margin-bottom:35px;font-size:clamp(43px,4vw,78px);font-weight:900;line-height:1.1;white-space:nowrap}.offer-intro{color:#b5b5b5;font-size:23px;line-height:1.55;white-space:nowrap}.offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.offer-card{min-width:0;overflow:hidden;background:#090909;border:1px solid #292929;scroll-margin-top:20px;transition:border-color .3s}.offer-card.is-open{grid-column:1/-1;border-color:#555}.offer-card-visual{position:relative;min-height:650px;display:flex;align-items:flex-end;overflow:hidden}.offer-card-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}.offer-card:hover .offer-card-visual>img{transform:scale(1.03)}.offer-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.97) 0%,rgba(0,0,0,.72) 38%,rgba(0,0,0,.2) 74%,rgba(0,0,0,.06) 100%)}.offer-card-content{position:relative;width:100%;padding:45px;z-index:2}.offer-number{margin-bottom:18px;color:#bdbdbd;font-size:16px;font-weight:700;letter-spacing:3px}.offer-card h3{max-width:900px;margin-bottom:25px;font-size:clamp(38px,3vw,62px);font-weight:900;line-height:1.12}.offer-short{max-width:680px;margin-bottom:28px;color:#ddd;font-size:19px;line-height:1.6}.offer-toggle{padding:0 0 7px;color:#fff;background:none;border:0;border-bottom:2px solid #fff;font-family:inherit;font-size:15px;font-weight:800;letter-spacing:2px;cursor:pointer}.toggle-close{display:none}.offer-toggle[aria-expanded="true"] .toggle-open{display:none}.offer-toggle[aria-expanded="true"] .toggle-close{display:inline}.offer-expanded{padding:70px 55px 60px;background:#080808;border-top:1px solid #333}.expanded-intro{max-width:1100px;margin-bottom:55px}.expanded-label{margin-bottom:20px;color:#777;font-size:13px;font-weight:800;letter-spacing:4px}.expanded-intro h4,.quote-content h4{margin-bottom:30px;font-size:clamp(48px,4vw,78px);font-weight:900;line-height:1.08}.expanded-lead{max-width:900px;margin-bottom:25px;font-size:23px;line-height:1.6}.expanded-intro>p:not(.expanded-label):not(.expanded-lead),.quote-content>p:not(.expanded-label):not(.expanded-lead):not(.quote-highlight){max-width:930px;margin-bottom:18px;color:#aaa;font-size:18px;line-height:1.7}
.package-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.package-card{position:relative;min-width:0;min-height:630px;display:flex;flex-direction:column;padding:32px 26px;background:#101010;border:1px solid #303030}.featured-package{border:2px solid #fff}.package-badge{position:absolute;top:-13px;left:18px;padding:7px 10px;color:#080808;background:#fff;font-size:9px;font-weight:900;letter-spacing:1.5px}.package-small{margin-bottom:22px;color:#666;font-size:11px;font-weight:800;letter-spacing:3px}.package-card h5{margin-bottom:9px;font-size:28px;font-weight:900;line-height:1.08;word-spacing:.14em}.package-tagline{min-height:48px;margin-bottom:24px;color:#999;font-size:14px;line-height:1.45}.package-price{margin-bottom:25px;font-size:42px;font-weight:900}.package-spec{display:flex;flex-direction:column;gap:7px;margin-bottom:23px;padding:18px 0;border-top:1px solid #303030;border-bottom:1px solid #303030}.package-spec span{font-size:11px;font-weight:800;letter-spacing:1.5px}.package-description{margin-bottom:16px;color:#b2b2b2;font-size:14px;line-height:1.65}.package-note{margin-bottom:28px;color:#777;font-size:13px;line-height:1.55}.minor-note{margin:4px 0 25px;padding:14px 15px;color:#d5d5d5;background:#161616;border-left:2px solid #fff;font-size:12px;line-height:1.6}.package-button{align-self:flex-start;margin-top:auto;padding:13px 15px;color:#fff;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:1.5px;border:1px solid #fff;transition:color .3s,background-color .3s}.package-button:hover{color:#080808;background:#fff}.package-choice{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}.package-choice>div:not(.package-choice-or){padding:15px;border:1px solid #303030}.package-choice span{display:block;margin-bottom:7px;color:#777;font-size:9px;font-weight:800;letter-spacing:2px}.package-choice strong{display:block;margin-bottom:6px;font-size:20px;font-weight:900}.package-choice p{color:#999;font-size:12px;line-height:1.45}.package-choice-or{color:#666;text-align:center;font-size:9px;font-weight:900;letter-spacing:2px}
.package-included{margin-top:55px;padding:50px;background:#151515;border:1px solid #303030}.package-included-heading{max-width:950px;margin-bottom:35px}.package-included-small{margin-bottom:14px;color:#777;font-size:11px;font-weight:900;letter-spacing:4px}.package-included-heading h5{margin-bottom:16px;font-size:clamp(34px,3vw,54px);font-weight:900;line-height:1.08;word-spacing:.16em}.package-included-heading>p:last-child{max-width:850px;color:#aaa;font-size:17px;line-height:1.65}.package-included-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.package-included-grid div{min-height:120px;display:flex;flex-direction:column;justify-content:space-between;padding:18px;border:1px solid #333}.package-included-grid span{color:#555;font-size:10px;font-weight:900;letter-spacing:2px}.package-included-grid strong{font-size:13px;font-weight:900;line-height:1.4}.package-included-note{margin-top:24px;padding-top:21px;color:#888;border-top:1px solid #303030;font-size:13px;line-height:1.6}
.weapons-section{margin-top:60px;padding-top:55px;border-top:1px solid #303030}.weapons-small{margin-bottom:16px;color:#777;font-size:11px;font-weight:900;letter-spacing:4px}.weapons-section h5{margin-bottom:24px;font-size:clamp(38px,3.5vw,64px);font-weight:900;line-height:1.08;word-spacing:.16em}.weapons-intro{max-width:930px;margin-bottom:38px;color:#aaa;font-size:18px;line-height:1.7}.weapons-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.weapon-type{position:relative;min-height:155px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:22px;background:#101010;border:1px solid #303030;transition:border-color .3s,background-color .3s,transform .3s}.weapon-type:hover{border-color:#777;background:#151515;transform:translateY(-3px)}.weapon-type span{position:absolute;top:9px;right:15px;color:#282828;font-size:54px;font-weight:900;line-height:1;letter-spacing:-3px}.weapon-type strong{position:relative;max-width:90%;z-index:2;font-size:16px;font-weight:900;line-height:1.35;word-spacing:.12em}.weapon-type strong::before{content:"";display:block;width:32px;height:2px;margin-bottom:15px;background:#fff}.weapons-note{max-width:950px;margin-top:22px;color:#666;font-size:13px;line-height:1.6}
.gift-box{display:flex;justify-content:space-between;align-items:center;gap:45px;margin-top:45px;padding:45px;color:#080808;background:#fff}.gift-small{margin-bottom:14px;color:#666;font-size:11px;font-weight:900;letter-spacing:4px}.gift-box h5{margin-bottom:13px;font-size:39px;font-weight:900;word-spacing:.16em}.gift-box p:last-child{max-width:850px;font-size:16px;line-height:1.6}.gift-button{flex-shrink:0;padding:16px 20px;color:#080808;text-decoration:none;font-size:12px;font-weight:900;letter-spacing:2px;border:2px solid #080808;transition:color .3s,background-color .3s}.gift-button:hover{color:#fff;background:#080808}
.sport-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}.sport-card{padding:45px;background:#101010;border:1px solid #303030}.sport-card-main{border:2px solid #fff}.sport-top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:30px;padding-bottom:30px;border-bottom:1px solid #303030}.sport-small{margin-bottom:13px;color:#777;font-size:11px;font-weight:800;letter-spacing:3px}.sport-card h5{max-width:700px;font-size:clamp(30px,2.4vw,48px);font-weight:900;line-height:1.08;word-spacing:.14em}.sport-price{flex-shrink:0;font-size:46px;font-weight:900}.sport-lead{margin-bottom:28px;font-size:21px;line-height:1.6}.sport-text{margin-bottom:28px;color:#aaa;font-size:16px;line-height:1.7}.course-format{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin:32px 0}.course-format>div:not(.course-or){padding:22px;border:1px solid #303030}.course-format span,.single-option span{display:block;margin-bottom:8px;color:#777;font-size:10px;font-weight:800;letter-spacing:2px}.course-format strong{display:block;margin-bottom:5px;font-size:23px;font-weight:900}.course-format p{color:#999;font-size:13px}.course-or{color:#777;font-size:10px;font-weight:900;letter-spacing:2px}.weapon-line{margin-bottom:30px;padding:18px;text-align:center;border-top:1px solid #303030;border-bottom:1px solid #303030;font-size:15px;font-weight:900;letter-spacing:2px}.included-title{margin-bottom:16px;color:#888;font-size:11px;font-weight:900;letter-spacing:3px}.included-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:32px}.included-grid span{padding:12px;color:#ddd;border:1px solid #303030;font-size:12px;line-height:1.4}.sport-button{display:inline-block;padding:15px 20px;color:#fff;text-decoration:none;font-size:12px;font-weight:900;letter-spacing:2px;border:2px solid #fff;transition:color .3s,background-color .3s}.sport-button:hover{color:#080808;background:#fff}.single-option{margin:28px 0;padding:22px;border-top:1px solid #303030;border-bottom:1px solid #303030}.single-option strong{font-size:21px;font-weight:900}.duo-box{margin:30px 0;padding:27px;color:#080808;background:#fff}.duo-small{margin-bottom:9px;color:#666;font-size:10px;font-weight:900;letter-spacing:3px}.duo-box h6{margin-bottom:14px;font-size:31px;font-weight:900}.duo-box>p:not(.duo-small){margin-bottom:18px;font-size:14px;line-height:1.6}.duo-price{display:flex;flex-direction:column;gap:6px;padding-top:17px;border-top:1px solid #ccc}.duo-price span{font-size:13px}.duo-price strong{font-size:17px}
.quote-layout{display:grid;grid-template-columns:100px minmax(0,1fr);gap:40px}.quote-number{color:#444;font-size:32px;font-weight:900}.quote-content{max-width:1050px}.quote-content strong{color:#fff}.quote-highlight{max-width:900px;margin:32px 0;font-size:20px;font-weight:600;line-height:1.6}
.entry-fee{display:grid;grid-template-columns:1fr auto;align-items:center;gap:50px;margin-top:28px;padding:48px;color:#080808;background:#fff}.entry-small{margin-bottom:14px;color:#666;font-size:11px;font-weight:900;letter-spacing:4px}.entry-fee h4{margin-bottom:18px;font-size:40px;font-weight:900;word-spacing:.15em}.entry-fee>div:first-child>p:not(.entry-small){max-width:850px;margin-bottom:8px;font-size:16px;line-height:1.65}.entry-price{min-width:260px;text-align:right}.entry-price span{display:block;margin-bottom:10px;color:#666;font-size:10px;font-weight:900;letter-spacing:3px}.entry-price strong{display:block;font-size:72px;font-weight:900;line-height:.95}.entry-price p{margin-top:10px;font-size:14px;font-weight:800;letter-spacing:3px}
.cta{min-height:700px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:100px 45px;color:#080808;background:#fff}.cta .section-label{color:#666}.cta h2{margin-bottom:40px;font-size:clamp(68px,6.6vw,128px);font-weight:900;line-height:1.05;white-space:nowrap}.cta>p:not(.section-label){max-width:900px;margin-bottom:45px;font-size:25px;line-height:1.5}.cta-button{padding:18px 30px;color:#080808;text-decoration:none;font-size:18px;font-weight:800;letter-spacing:2px;border:2px solid #080808;transition:color .3s,background-color .3s}.cta-button:hover{color:#fff;background:#080808}
.contact{padding:86px 45px 76px;background:#0a0a0a}.contact-top{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:42px;align-items:center;padding-bottom:34px;border-bottom:1px solid #333}.contact-heading{min-width:0}.contact-heading .section-label{margin-bottom:18px}.contact-heading h2{font-size:clamp(50px,4.8vw,88px);font-weight:900;line-height:1.02;white-space:nowrap}.mini-map-card{width:320px;justify-self:end;color:inherit;text-decoration:none;background:#0f0f0f;border:1px solid #303030;transition:border-color .3s,transform .3s}.mini-map-card:hover{border-color:#777;transform:translateY(-2px)}.mini-map-preview{position:relative;height:148px;overflow:hidden;background:linear-gradient(30deg,transparent 48%,#242424 49%,#242424 51%,transparent 52%),linear-gradient(120deg,transparent 48%,#1f1f1f 49%,#1f1f1f 51%,transparent 52%),#151515;background-size:135px 95px,110px 130px,auto}.map-road{position:absolute;height:4px;border-radius:20px;background:#343434;opacity:.75}.road-one{width:280px;top:50px;left:-25px;transform:rotate(16deg)}.road-two{width:250px;top:105px;left:95px;transform:rotate(-28deg)}.road-three{width:190px;top:84px;left:20px;transform:rotate(-58deg)}.map-pin{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;z-index:3}.map-pin-dot{position:relative;width:22px;height:22px;margin-bottom:9px;background:#fff;border:5px solid #0a0a0a;border-radius:50%;box-shadow:0 0 0 2px #fff}.map-pin-dot::after{content:"";position:absolute;left:50%;bottom:-13px;width:2px;height:12px;transform:translateX(-50%);background:#fff}.map-pin strong{padding:5px 7px;color:#fff;background:rgba(0,0,0,.82);font-size:11px;font-weight:900;letter-spacing:.4px;white-space:nowrap}.mini-map-actions{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:9px 11px;border-top:1px solid #303030}.map-route-note{color:#888;font-size:8.5px;line-height:1.35}.map-route-link{color:#fff;font-size:9px;font-weight:900;letter-spacing:1px;white-space:nowrap}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:80px;padding-top:40px}.contact-label{margin-bottom:25px;color:#777;font-size:13px;font-weight:700;letter-spacing:4px}.contact-main{color:#fff;text-decoration:none;font-size:22px;line-height:1.6}.contact-link{display:block;margin-bottom:10px}.contact-link:hover{opacity:.6}
.legal-section{padding:36px 45px 52px;background:#050505;border-top:1px solid #222}.legal-header{display:flex;justify-content:space-between;gap:35px;align-items:baseline;margin-bottom:20px}.legal-kicker{color:#888;font-size:10px;font-weight:900;letter-spacing:3px}.legal-short{max-width:650px;color:#666;font-size:12px;line-height:1.5;text-align:right}.legal-details{border-top:1px solid #292929}.legal-details:last-child{border-bottom:1px solid #292929}.legal-details summary{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:21px 0;list-style:none;color:#fff;font-size:13px;font-weight:900;letter-spacing:1.6px;cursor:pointer}.legal-details summary::-webkit-details-marker{display:none}.legal-plus{flex-shrink:0;color:#888;font-size:24px;font-weight:400;line-height:1}.legal-document{max-width:1080px;padding:10px 0 50px}.legal-updated{margin-bottom:30px!important;color:#666!important;font-size:11px!important;font-weight:700;letter-spacing:1px;text-transform:uppercase}.legal-document h3{margin:32px 0 13px;color:#fff;font-size:18px;font-weight:900;line-height:1.4}.legal-document p,.legal-document li{color:#9b9b9b;font-size:14px;line-height:1.75}.legal-document p{margin-bottom:13px}.legal-document ul{margin:8px 0 22px 20px}.legal-document li{margin-bottom:8px;padding-left:4px}.legal-document strong{color:#fff}.legal-document a{color:#fff;text-decoration-color:#777;text-underline-offset:3px}.withdrawal-mini{margin-top:38px;padding-top:24px;border-top:1px solid #2b2b2b}.withdrawal-title{margin-bottom:10px!important;color:#fff!important;font-size:11px!important;font-weight:900;letter-spacing:1.8px}.withdrawal-mini p{max-width:920px;font-size:12px;line-height:1.65}.withdrawal-form{margin-top:13px;padding:13px 15px;background:#101010;border-left:2px solid #fff}.withdrawal-note{color:#666!important;font-size:10px!important}
.footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:20px 45px;background:#050505}.footer-brand{display:flex;align-items:center;gap:4px}.footer-brand img{display:block;width:120px;height:auto}.footer-brand p{margin-left:-8px;color:#777;font-size:13px}.footer-legal-links{display:flex;gap:22px}.footer-legal-links a{color:#777;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:1.5px}.footer-legal-links a:hover{color:#fff}
@media(max-width:1600px){.menu{gap:28px}.menu a{font-size:24px}.hero-logo-right{top:300px;width:50%;height:300px}.hero-logo-right img{width:680px}.hero-small{font-size:48px}.hero-content h1{font-size:108px}.range-left h2{font-size:55px}.range-text{font-size:20px}.offer-heading h2{font-size:54px}.offer-intro{font-size:19px}.package-grid{grid-template-columns:repeat(3,1fr)}.package-included-grid{grid-template-columns:repeat(3,1fr)}.weapons-strip{grid-template-columns:repeat(3,1fr)}.contact-heading h2{font-size:62px}}
@media(max-width:1200px){.menu{gap:18px}.menu a{font-size:18px}.hero-logo-right{top:230px;width:48%;height:250px}.hero-logo-right img{width:520px}.hero-small{font-size:38px}.hero-content h1{font-size:76px}.about-content h2,.range-left h2,.range-text,.offer-heading h2,.offer-intro,.cta h2,.contact-heading h2{white-space:normal}.range-content{grid-template-columns:1fr;gap:65px}.range-price{text-align:left}.offer-grid{grid-template-columns:1fr}.offer-card.is-open{grid-column:auto}.package-grid{grid-template-columns:repeat(2,1fr)}.package-included-grid{grid-template-columns:repeat(2,1fr)}.weapons-strip{grid-template-columns:repeat(2,1fr)}.sport-grid{grid-template-columns:1fr}.entry-fee{grid-template-columns:1fr}.entry-price{text-align:left}.contact-top{grid-template-columns:minmax(0,1fr) 280px;gap:32px}.mini-map-card{width:280px}.contact-grid{gap:45px}}
@media(max-width:800px){.navbar{padding:18px 20px}.menu-toggle{display:block;position:relative;margin-left:auto;z-index:70}.menu{display:none;position:absolute;top:75px;left:20px;right:20px;flex-direction:column;align-items:flex-start;gap:0;padding:20px;background:rgba(5,5,5,.97);border:1px solid #333;z-index:60}.menu.menu-open{display:flex}.menu a{width:100%;padding:14px 4px;font-size:19px;border-bottom:1px solid #252525}.hero-logo-right{top:180px;width:100%;height:170px}.hero-logo-right img{width:420px}.hero-content{left:20px;right:20px;bottom:28px;width:auto;max-width:none}.hero-small{font-size:27px}.hero-content h1{font-size:58px;word-spacing:.14em}.hero-description{font-size:17px}.about{display:block}.about-image{min-height:500px;height:65vh}.about-content{padding:70px 30px}.about-content h2{font-size:45px;white-space:normal}.about-lead{font-size:21px}.about-text{font-size:17px}.about-text-main{font-size:19px}.about-motto{flex-direction:column;gap:8px;margin:28px 0 32px}.about-motto span{font-size:24px}.about-expanded>p,.about-subsection>p:not(.about-subtitle){font-size:16px}.insurance-highlight{font-size:17px!important}.range{padding:80px 25px}.range-left h2{font-size:45px;white-space:normal}.range-text{font-size:19px;white-space:normal}.range-price-number{font-size:88px}.range-price-label{font-size:15px}.offer{padding:75px 25px}.offer-heading h2{font-size:43px;white-space:normal}.offer-intro{font-size:19px;white-space:normal}.offer-grid{grid-template-columns:1fr}.offer-card-visual{min-height:520px}.offer-card-content{padding:28px}.offer-card h3{font-size:38px}.offer-short{font-size:17px}.offer-expanded{padding:55px 25px 40px}.expanded-intro h4,.quote-content h4{font-size:42px}.expanded-lead{font-size:20px}.expanded-intro>p:not(.expanded-label):not(.expanded-lead),.quote-content>p:not(.expanded-label):not(.expanded-lead):not(.quote-highlight){font-size:16px}.package-grid{grid-template-columns:1fr}.package-card{min-height:auto}.package-included{padding:34px 25px}.package-included-grid{grid-template-columns:1fr}.package-included-grid div{min-height:95px}.weapons-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}.weapon-type{flex:0 0 78%;min-height:145px;scroll-snap-align:start}.weapon-type span{font-size:48px}.weapons-section h5{font-size:38px}.weapons-intro{font-size:16px}.gift-box{flex-direction:column;align-items:flex-start;padding:32px 26px}.gift-box h5{font-size:32px}.sport-card{padding:30px 24px}.sport-top{flex-direction:column}.sport-price{font-size:43px}.course-format{grid-template-columns:1fr}.course-or{text-align:center}.included-grid{grid-template-columns:1fr}.quote-layout{grid-template-columns:1fr;gap:15px}.entry-fee{padding:35px 25px}.entry-fee h4{font-size:35px}.entry-price{min-width:0}.entry-price strong{font-size:65px}.cta{min-height:600px;padding:80px 25px}.cta h2{font-size:54px;white-space:normal}.cta>p:not(.section-label){font-size:19px}.contact{padding:68px 25px 58px}.contact-top{grid-template-columns:1fr;gap:26px;align-items:start}.contact-heading h2{font-size:45px;white-space:normal}.mini-map-card{width:min(100%,340px);justify-self:start}.mini-map-preview{height:145px}.contact-grid{grid-template-columns:1fr;gap:38px;padding-top:36px}.contact-main{font-size:20px}.legal-section{padding:32px 25px 45px}.legal-header{display:block}.legal-short{margin-top:10px;text-align:left}.legal-details summary{font-size:11px;line-height:1.45}.legal-document{padding-bottom:45px}.legal-document h3{font-size:17px}.legal-document p,.legal-document li{font-size:13px}.withdrawal-mini p{font-size:11px}.footer{flex-direction:column;align-items:flex-start;padding:20px 25px}.footer-brand img{width:105px}.footer-brand p{margin-left:-7px;font-size:12px}}
@media(max-width:430px){.hero-content h1{font-size:50px}.about-content h2,.range-left h2,.offer-heading h2,.contact-heading h2{font-size:39px}.cta h2{font-size:46px}.offer-card h3{font-size:34px}.expanded-intro h4,.quote-content h4{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* =========================================================
   RESPONSYWNOŚĆ 2.0 — TABLET + TELEFON
   Cel: czytelny układ, pełne zdjęcia, mniej przeładowania
   ========================================================= */

@media (max-width: 960px) {
  body {
    overflow-x: hidden;
  }

  .section-label {
    margin-bottom: 18px;
    font-size: 12px;
    letter-spacing: 3.5px;
  }

  /* MENU */
  .navbar {
    padding: 14px 16px;
  }

  .menu-toggle {
    display: block;
    position: relative;
    margin-left: auto;
    z-index: 80;
  }

  .menu {
    display: none;
    position: absolute;
    top: 66px;
    left: 14px;
    right: 14px;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 8px 18px;
    background: rgba(5,5,5,.98);
    border: 1px solid #333;
    box-shadow: 0 18px 45px rgba(0,0,0,.35);
    z-index: 70;
  }

  .menu.menu-open {
    display: flex;
  }

  .menu a {
    width: 100%;
    padding: 15px 2px;
    font-size: 16px;
    border-bottom: 1px solid #252525;
  }

  .menu a:last-child {
    border-bottom: 0;
  }

  /* HERO — zdjęcie w całości na górze, tekst pod nim */
  .hero {
    min-height: 0;
    padding-top: 56.25vw;
    background-color: #080808;
    background-size: 100% 100%, 100% auto;
    background-position: center top, center top;
    background-repeat: no-repeat, no-repeat;
  }

  .hero-logo-right {
    position: relative;
    top: auto;
    right: auto;
    width: auto;
    height: auto;
    justify-content: flex-start;
    padding: 24px 22px 0;
  }

  .hero-logo-right img {
    width: min(62vw, 290px);
    max-width: 100%;
  }

  .hero-content {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    width: auto;
    max-width: none;
    padding: 14px 22px 46px;
  }

  .hero-small {
    display: none;
  }

  .hero-content h1 {
    margin-bottom: 18px;
    font-size: clamp(42px, 10vw, 72px);
    line-height: .98;
    word-spacing: .05em;
    letter-spacing: -.035em;
  }

  .hero-description {
    max-width: 560px;
    font-size: 17px;
    line-height: 1.55;
  }

  /* O NAS — bez przycinania zdjęcia */
  .about {
    display: block;
    min-height: 0;
  }

  .about-image {
    min-height: 0;
    height: auto;
    overflow: visible;
    background: #111;
  }

  .about-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .about-content {
    padding: 54px 24px 62px;
  }

  .about-content h2 {
    margin-bottom: 28px;
    font-size: clamp(36px, 8vw, 54px);
    line-height: 1.05;
    white-space: normal;
    word-spacing: .08em;
  }

  .about-lead {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 1.5;
  }

  .about-text,
  .about-expanded > p,
  .about-subsection > p:not(.about-subtitle) {
    font-size: 16px;
    line-height: 1.68;
  }

  .about-text-main {
    font-size: 18px;
  }

  .about-motto {
    flex-direction: column;
    gap: 7px;
    margin: 26px 0 30px;
    padding: 22px 0;
  }

  .about-motto span {
    font-size: 20px;
    white-space: normal;
  }

  .about-expanded {
    margin-top: 30px;
    padding-top: 28px;
  }

  .about-subsection {
    margin-top: 34px;
    padding-top: 26px;
  }

  .insurance-highlight {
    margin: 20px 0;
    padding: 18px 18px;
    font-size: 16px !important;
  }

  /* STRZELNICA */
  .range {
    padding: 62px 24px;
  }

  .range-content {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .range-left h2 {
    margin-bottom: 24px;
    font-size: clamp(36px, 8vw, 54px);
    line-height: 1.05;
    white-space: normal;
    word-spacing: .08em;
  }

  .range-text {
    font-size: 17px;
    line-height: 1.55;
    white-space: normal;
  }

  .range-price {
    text-align: left;
  }

  .range-price-number {
    font-size: clamp(62px, 16vw, 100px);
  }

  .range-price-label {
    margin-top: 12px;
    font-size: 12px;
    letter-spacing: 3px;
  }

  /* OFERTA */
  .offer {
    padding: 62px 18px;
  }

  .offer-heading {
    margin-bottom: 38px;
    padding: 0 6px;
  }

  .offer-heading h2 {
    margin-bottom: 22px;
    font-size: clamp(35px, 7.6vw, 52px);
    line-height: 1.06;
    white-space: normal;
    word-spacing: .06em;
  }

  .offer-intro {
    font-size: 17px;
    line-height: 1.55;
    white-space: normal;
  }

  .offer-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .offer-card,
  .offer-card.is-open {
    grid-column: auto;
  }

  /* Najważniejsze: zdjęcie karty nie jest już kadrowane */
  .offer-card-visual {
    display: block;
    min-height: 0;
    overflow: visible;
  }

  .offer-card-visual > img {
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    transform: none !important;
  }

  .offer-overlay {
    display: none;
  }

  .offer-card-content {
    position: relative;
    width: 100%;
    padding: 26px 22px 30px;
    background: #090909;
  }

  .offer-number {
    margin-bottom: 12px;
    font-size: 12px;
  }

  .offer-card h3 {
    margin-bottom: 18px;
    font-size: clamp(31px, 7vw, 44px);
    line-height: 1.06;
    word-spacing: .06em;
  }

  .offer-short {
    margin-bottom: 22px;
    font-size: 16px;
    line-height: 1.6;
  }

  .offer-toggle {
    font-size: 12px;
    letter-spacing: 1.5px;
  }

  .offer-expanded {
    padding: 42px 22px 34px;
  }

  .expanded-intro {
    margin-bottom: 38px;
  }

  .expanded-intro h4,
  .quote-content h4 {
    margin-bottom: 22px;
    font-size: clamp(32px, 7.5vw, 48px);
    line-height: 1.06;
    word-spacing: .05em;
  }

  .expanded-lead {
    font-size: 18px;
    line-height: 1.55;
  }

  .expanded-intro > p:not(.expanded-label):not(.expanded-lead),
  .quote-content > p:not(.expanded-label):not(.expanded-lead):not(.quote-highlight) {
    font-size: 15px;
    line-height: 1.68;
  }

  /* PAKIETY */
  .package-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .package-card {
    min-height: 0;
    padding: 26px 22px;
  }

  .package-card h5 {
    font-size: 25px;
  }

  .package-price {
    font-size: 36px;
  }

  .package-included {
    margin-top: 36px;
    padding: 30px 22px;
  }

  .package-included-heading {
    margin-bottom: 28px;
  }

  .package-included-heading h5 {
    font-size: clamp(30px, 6.5vw, 42px);
  }

  .package-included-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .package-included-grid div {
    min-height: 90px;
  }

  /* KATEGORIE BRONI — bez poziomego przewijania */
  .weapons-section {
    margin-top: 42px;
    padding-top: 38px;
  }

  .weapons-section h5 {
    font-size: clamp(31px, 7vw, 44px);
  }

  .weapons-intro {
    margin-bottom: 28px;
    font-size: 15px;
    line-height: 1.65;
  }

  .weapons-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    overflow: visible;
    padding-bottom: 0;
    scroll-snap-type: none;
  }

  .weapon-type {
    flex: none;
    min-height: 125px;
    padding: 18px;
  }

  .weapon-type strong {
    max-width: 100%;
    font-size: 14px;
  }

  .weapon-type span {
    font-size: 42px;
  }

  .gift-box {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    margin-top: 34px;
    padding: 28px 22px;
  }

  .gift-box h5 {
    font-size: 30px;
  }

  .gift-button {
    width: 100%;
    text-align: center;
  }

  /* SPORT / SZKOLENIA */
  .sport-grid {
    grid-template-columns: 1fr;
  }

  .sport-card {
    padding: 28px 22px;
  }

  .sport-top {
    flex-direction: column;
    gap: 18px;
    margin-bottom: 24px;
    padding-bottom: 24px;
  }

  .sport-card h5 {
    font-size: clamp(27px, 6vw, 38px);
  }

  .sport-price {
    font-size: 38px;
  }

  .sport-lead {
    font-size: 18px;
  }

  .course-format {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .course-or {
    text-align: center;
  }

  .included-grid {
    grid-template-columns: 1fr 1fr;
  }

  .quote-layout {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .quote-highlight {
    font-size: 18px;
  }

  /* OPŁATA */
  .entry-fee {
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 30px 22px;
  }

  .entry-fee h4 {
    font-size: 31px;
  }

  .entry-price {
    min-width: 0;
    text-align: left;
  }

  .entry-price strong {
    font-size: 58px;
  }

  /* CTA */
  .cta {
    min-height: 0;
    padding: 68px 24px;
  }

  .cta h2 {
    margin-bottom: 26px;
    font-size: clamp(38px, 9vw, 60px);
    line-height: 1.03;
    white-space: normal;
    word-spacing: .05em;
  }

  .cta > p:not(.section-label) {
    margin-bottom: 30px;
    font-size: 18px;
  }

  .cta-button {
    width: 100%;
    padding: 16px 20px;
    text-align: center;
    font-size: 14px;
  }

  /* KONTAKT */
  .contact {
    padding: 58px 24px 52px;
  }

  .contact-top {
    grid-template-columns: 1fr;
    gap: 26px;
    align-items: start;
  }

  .contact-heading h2 {
    font-size: clamp(36px, 8vw, 52px);
    line-height: 1.05;
    white-space: normal;
    word-spacing: .06em;
  }

  .mini-map-card {
    width: min(100%, 420px);
    justify-self: start;
  }

  .contact-grid {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-top: 32px;
  }

  .contact-label {
    margin-bottom: 12px;
    font-size: 10px;
    letter-spacing: 3px;
  }

  .contact-main {
    font-size: 18px;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  /* PRAWO */
  .legal-section {
    padding: 30px 24px 42px;
  }

  .legal-header {
    display: block;
  }

  .legal-short {
    margin-top: 9px;
    text-align: left;
  }

  .legal-details summary {
    gap: 14px;
    padding: 18px 0;
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: 1.2px;
  }

  .legal-document {
    padding: 4px 0 38px;
  }

  .legal-document h3 {
    margin-top: 27px;
    font-size: 16px;
  }

  .legal-document p,
  .legal-document li {
    font-size: 12.5px;
    line-height: 1.72;
  }

  .footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 18px 24px;
  }
}

@media (max-width: 640px) {
  .hero {
    padding-top: 56.25vw;
  }

  .hero-logo-right {
    padding: 20px 18px 0;
  }

  .hero-logo-right img {
    width: min(66vw, 250px);
  }

  .hero-content {
    padding: 12px 18px 38px;
  }

  .hero-content h1 {
    font-size: clamp(38px, 11vw, 52px);
  }

  .hero-description {
    font-size: 16px;
  }

  .about-content,
  .range,
  .contact {
    padding-left: 18px;
    padding-right: 18px;
  }

  .offer {
    padding-left: 12px;
    padding-right: 12px;
  }

  .offer-heading {
    padding: 0 6px;
  }

  .offer-card-content,
  .offer-expanded {
    padding-left: 18px;
    padding-right: 18px;
  }

  .package-grid,
  .package-included-grid,
  .weapons-strip,
  .included-grid {
    grid-template-columns: 1fr;
  }

  .package-card {
    padding: 24px 20px;
  }

  .package-tagline {
    min-height: 0;
  }

  .weapon-type {
    min-height: 105px;
  }

  .entry-fee {
    padding: 28px 20px;
  }

  .cta {
    padding: 58px 18px;
  }

  .legal-section {
    padding-left: 18px;
    padding-right: 18px;
  }
}

@media (max-width: 430px) {
  .hero-content h1 {
    font-size: clamp(36px, 10.6vw, 46px);
  }

  .about-content h2,
  .range-left h2,
  .offer-heading h2,
  .contact-heading h2 {
    font-size: 35px;
  }

  .offer-card h3 {
    font-size: 30px;
  }

  .expanded-intro h4,
  .quote-content h4 {
    font-size: 31px;
  }

  .cta h2 {
    font-size: 38px;
  }

  .range-price-number {
    font-size: 64px;
  }

  .entry-price strong {
    font-size: 52px;
  }
}

/* =========================================================
   HERO MOBILE 4.0
   - mniejsze kadrowanie w pionie
   - wyraźnie inny układ po obróceniu telefonu
   - dynamiczne jednostki viewportu (dvh)
   ========================================================= */

@media (max-width: 960px) {
  .hero {
    position: relative;
    padding-top: 0;
    overflow: hidden;
    background-color: #050505;
    background-image:
      linear-gradient(
        to bottom,
        rgba(0,0,0,.08) 0%,
        rgba(0,0,0,.13) 36%,
        rgba(0,0,0,.70) 73%,
        rgba(0,0,0,.94) 100%
      ),
      url("images/hero.jpg");
    background-size: cover;
    background-repeat: no-repeat;
  }

  .hero-logo-right {
    position: absolute;
    width: auto;
    height: auto;
    padding: 0;
    display: flex;
    align-items: flex-start;
    z-index: 20;
  }

  .hero-logo-right img {
    max-width: 100%;
    height: auto;
  }

  .hero-content {
    position: absolute;
    width: auto;
    max-width: none;
    padding: 0;
    z-index: 25;
  }

  .hero-small {
    display: none;
  }

  .hero-content h1 {
    text-shadow: 0 2px 16px rgba(0,0,0,.58);
  }

  .hero-description {
    color: #f1f1f1;
    text-shadow: 0 1px 8px rgba(0,0,0,.68);
    white-space: normal;
  }
}

/* TELEFON / TABLET W PIONIE
   Zdjęcie jest niższe niż pełne 100vh, więc widać większy fragment kadru.
   Kadr jest zakotwiczony bliżej lewej strony, gdzie znajduje się postać. */
@media (max-width: 960px) and (orientation: portrait) {
  .hero {
    min-height: 82svh;
    min-height: 82dvh;
    background-position: 28% center;
  }

  .hero-logo-right {
    top: 68px;
    left: 18px;
    right: 18px;
    justify-content: flex-start;
  }

  .hero-logo-right img {
    width: min(58vw, 235px);
  }

  .hero-content {
    left: 18px;
    right: 18px;
    bottom: max(24px, env(safe-area-inset-bottom));
  }

  .hero-content h1 {
    margin-bottom: 14px;
    font-size: clamp(34px, 9vw, 46px);
    line-height: .96;
    letter-spacing: -.035em;
    word-spacing: .04em;
  }

  .hero-description {
    max-width: 520px;
    font-size: 14px;
    line-height: 1.45;
  }
}

/* TELEFON W POZIOMIE
   Po obróceniu układ celowo się zmienia:
   logo idzie w prawy górny róg, a tekst zajmuje lewą część zdjęcia. */
@media (max-width: 960px) and (orientation: landscape) {
  .hero {
    min-height: 100svh;
    min-height: 100dvh;
    background-position: center 42%;
  }

  .navbar {
    padding: 8px 14px;
  }

  .menu-toggle {
    width: 42px;
    height: 42px;
  }

  .menu {
    top: 54px;
    max-height: calc(100dvh - 62px);
    overflow-y: auto;
  }

  .hero-logo-right {
    top: 48px;
    left: auto;
    right: 18px;
    justify-content: flex-end;
  }

  .hero-logo-right img {
    width: min(24vw, 180px);
  }

  .hero-content {
    left: 18px;
    right: 38%;
    bottom: max(14px, env(safe-area-inset-bottom));
  }

  .hero-content h1 {
    margin-bottom: 9px;
    font-size: clamp(27px, 4.7vw, 40px);
    line-height: .94;
    letter-spacing: -.03em;
    word-spacing: .03em;
  }

  .hero-description {
    max-width: 500px;
    font-size: 13px;
    line-height: 1.35;
  }
}

/* Bardzo niskie telefony w poziomie */
@media (max-width: 960px) and (orientation: landscape) and (max-height: 430px) {
  .hero-logo-right {
    top: 42px;
  }

  .hero-logo-right img {
    width: min(21vw, 150px);
  }

  .hero-content h1 {
    font-size: clamp(25px, 4.4vw, 36px);
  }

  .hero-description {
    font-size: 12px;
  }
}
