@charset "utf-8";

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Open Sans",sans-serif;
  background:#000;
  color:#fff;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.material-symbols-rounded{font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24}

.wrap{max-width:1180px;margin:0 auto;padding:0 1.4rem}
.eyebrow{
  font-size:.75rem;letter-spacing:.32em;text-transform:uppercase;
  color:#a4d233;font-weight:700;margin-bottom:13px;display:block
}
.rule{height:1px;width:4rem;background:rgba(255,255,255,.55);margin:17px 0 1.4rem}
.rule.dk{background:rgba(0,0,0,.35)}

/* ---------- header ---------- */
#topNav{
  position:fixed;top:0;left:0;right:0;z-index:90;
  background:rgba(8,8,9,.86);
  backdrop-filter:blur(7px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.navInner{display:flex;align-items:center;justify-content:space-between;height:4.6rem}
.brandLogo{display:flex;align-items:center;gap:11px;font-weight:800;font-size:20px;letter-spacing:.04em}
.brandLogo .drop{width:30px;height:30px;border:2px solid #a4d233;border-radius:50% 50% 50% 0;transform:rotate(45deg)}
.brandLogo span{color:#a4d233}
.navMenu{display:flex;gap:1.6rem;list-style:none;font-size:14px;font-weight:600}
.navMenu a{opacity:.82;transition:.2s;padding:6px 0}
.navMenu a:hover{opacity:1;color:#a4d233}
.navRight{display:flex;align-items:center;gap:16px}
.cartBtn{
  position:relative;display:flex;align-items:center;gap:.45em;
  background:#a4d233;color:#0c0c0c;border:none;cursor:pointer;
  font-weight:800;font-size:13px;padding:10px 15px;border-radius:3px;font-family:inherit
}
.cartBtn:hover{background:#b6e84a}
.cartCount{
  position:absolute;top:-8px;right:-8px;background:#1b5fbf;color:#fff;
  font-size:11px;min-width:19px;height:19px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-weight:700
}
.burger{display:none;background:none;border:none;color:#fff;cursor:pointer}

/* ---------- hero ---------- */
#hero{
  min-height:95vh;position:relative;display:flex;align-items:flex-end;
  background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,.72) 88%),url('../uploads/photo_4471.webp') center/cover no-repeat;
  padding-bottom:4.5rem
}
#hero .wrap{width:100%}
.heroCopy{max-width:680px}
.heroCopy h1{
  font-size:clamp(2.4rem,6vw,76px);line-height:1.04;font-weight:800;
  letter-spacing:-.01em;margin-bottom:1.25rem
}
.heroCopy p{font-size:1.06rem;opacity:.9;max-width:520px;margin-bottom:28px}
.heroBtns{display:flex;gap:14px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;gap:.5em;font-weight:800;font-size:14px;
  padding:15px 27px;border-radius:3px;cursor:pointer;border:none;font-family:inherit;transition:.2s
}
.btn.lime{background:#a4d233;color:#0c0c0c}
.btn.lime:hover{background:#b6e84a;transform:translateY(-2px)}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff}
.btn.ghost:hover{border-color:#a4d233;color:#a4d233}
.scrollHint{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  font-size:11px;letter-spacing:.25em;text-transform:uppercase;opacity:.6;text-align:center
}
.scrollHint .material-symbols-rounded{display:block;margin:6px auto 0;animation:bob 1.8s infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

/* ---------- split panels ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:34rem}
.split .photoCol{background-size:cover;background-position:center;min-height:380px}
.split .copyCol{padding:4.6rem 6vw;display:flex;flex-direction:column;justify-content:center}
.copyCol.dark{background:#0a0a0b}
.copyCol.lite{background:#f4f4f1;color:#15151a}
.copyCol.lite .eyebrow{color:#1b5fbf}
.copyCol.lite .rule{background:rgba(0,0,0,.3)}
.copyCol.blueP{background:#1b5fbf}
.copyCol h2{font-size:clamp(1.7rem,3.4vw,42px);line-height:1.12;font-weight:800;margin-bottom:5px}
.copyCol p{opacity:.9;margin-bottom:16px;font-size:15.5px}
.copyCol.lite p{opacity:1;color:#3a3a42}
.panelQuote{
  border-left:3px solid #a4d233;padding:8px 0 8px 20px;margin:6px 0 22px;
  font-style:italic;opacity:.95;font-size:16px
}
.btnRow{display:flex;gap:13px;flex-wrap:wrap;margin-top:10px}
.imgRight .photoCol{order:2}
.imgRight .copyCol{order:1}

/* ---------- full photo centered ---------- */
.fullPhoto{
  min-height:560px;display:flex;align-items:center;
  background-size:cover;background-position:center;position:relative
}
.fullPhoto::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5);z-index:-1;}
.fullPhoto .innrBx{
  position:relative;background:rgba(8,8,10,.62);max-width:430px;
  padding:46px 44px;margin-left:6vw;border:1px solid rgba(255,255,255,.08)
}
.fullPhoto h2{font-size:clamp(28px,3.6vw,44px);font-weight:800;line-height:1.1}

/* ---------- stats strip ---------- */
#statsStrip{background:#0c0c0e;padding:4rem 0;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}
.stat_grid2{display:grid;grid-template-columns:repeat(4,1fr);gap:1.9rem;text-align:center}
.stat_grid2 .num{font-size:42px;font-weight:800;color:#a4d233;line-height:1}
.stat_grid2 .lbl{font-size:13px;opacity:.7;margin-top:9px}

/* ---------- catalog (NOT a uniform grid) ---------- */
#prodCat{padding:5.6rem 0 58px;background:#08080a}
.catHd{max-width:620px;margin-bottom:46px}
.catHd h2{font-size:clamp(28px,3.6vw,44px);font-weight:800;line-height:1.1}
.useFilter{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.useFilter button{
  background:transparent;border:1px solid rgba(255,255,255,.22);color:#cfcfcf;
  padding:8px 17px;border-radius:40px;font-size:13px;cursor:pointer;font-family:inherit;font-weight:600;transition:.2s
}
.useFilter button.on,.useFilter button:hover{background:#a4d233;border-color:#a4d233;color:#0c0c0c}

.catFlow{display:grid;grid-template-columns:repeat(6,1fr);gap:1.1rem;grid-auto-flow:row dense}
.prodCard{
  background:#121214;border:1px solid rgba(255,255,255,.06);border-radius:5px;
  overflow:hidden;display:flex;flex-direction:column;transition:.25s;position:relative
}
.prodCard:hover{border-color:rgba(164,210,51,.5);transform:translateY(-4px)}
.prodCard .thumb{aspect-ratio:1/1;background:#1c1c20 center/cover no-repeat;position:relative}
.prodCard .badge{
  position:absolute;top:11px;left:11px;background:#1b5fbf;color:#fff;
  font-size:11px;font-weight:700;padding:4px 10px;border-radius:3px
}
.prodCard .pInfo{padding:18px 17px 20px;display:flex;flex-direction:column;flex:1}
.prodCard .pUse{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#a4d233;font-weight:700;margin-bottom:7px}
.prodCard h3{font-size:16px;font-weight:700;margin-bottom:8px;line-height:1.35}
.prodCard .pDesc{font-size:13px;opacity:.66;margin-bottom:14px;flex:1}
.prodCard .pBot{display:flex;align-items:center;justify-content:space-between;gap:8px}
.prodCard .price{font-size:19px;font-weight:800}
.prodCard .price small{font-size:12px;opacity:.6;font-weight:500}
.prodCard .cardBtns{display:flex;gap:7px}
.miniBtn{
  background:none;border:1px solid rgba(255,255,255,.25);color:#fff;cursor:pointer;
  width:38px;height:38px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:.2s
}
.miniBtn:hover{border-color:#a4d233;color:#a4d233}
.miniBtn.add{background:#a4d233;border-color:#a4d233;color:#0c0c0c}
.miniBtn.add:hover{background:#b6e84a}
.prodCard.span2{grid-column:span 2}
.prodCard.span3{grid-column:span 3}
.prodCard.full{grid-column:span 6}
.prodCard.row,.prodCard.full{flex-direction:row;align-items:stretch}
.prodCard.row .thumb{aspect-ratio:auto;width:40%;min-height:200px;flex-shrink:0}
.prodCard.row .pInfo{width:60%}
.prodCard.full .thumb{aspect-ratio:auto;width:44%;min-height:18.5rem;flex-shrink:0}
.prodCard.full .pInfo{width:56%;justify-content:center;padding:2rem 2rem}
.prodCard.full h3{font-size:24px}
.prodCard.full .pDesc{font-size:14px;opacity:.78}

/* ---------- product popup ---------- */
.modalScrim{
  position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:200;
  display:none;align-items:center;justify-content:center;padding:24px
}
.modalScrim.show{display:flex}
.modalBox{
  background:#141416;max-width:880px;width:100%;max-height:90vh;overflow:auto;
  border-radius:6px;border:1px solid rgba(255,255,255,.09);position:relative
}
.modalGrid{display:grid;grid-template-columns:1fr 1fr}
.modalBox .mImg{background:#1c1c20 center/cover no-repeat;min-height:360px}
.modalBox .mBody{padding:38px 36px}
.modalBox .closeX{
  position:absolute;top:14px;right:14px;background:rgba(0,0,0,.5);border:none;color:#fff;
  width:38px;height:38px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3
}
.modalBox .mUse{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#a4d233;font-weight:700}
.modalBox h3{font-size:27px;font-weight:800;margin:9px 0 14px}
.modalBox .mPrice{font-size:26px;font-weight:800;color:#a4d233;margin-bottom:18px}
.modalBox .mPrice small{font-size:13px;opacity:.6;color:#fff;font-weight:500}
.modalBox .mLong{font-size:14.5px;opacity:.85;margin-bottom:18px}
.specTab{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:24px}
.specTab td{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.specTab td:first-child{opacity:.6;width:42%}
.modalBox .revBlock{margin-top:22px;border-top:1px solid rgba(255,255,255,.1);padding-top:20px}
.modalBox .revBlock h4{font-size:14px;margin-bottom:14px;letter-spacing:.05em}
.oneRev{margin-bottom:16px}
.oneRev .who{font-size:13px;font-weight:700;margin-bottom:3px}
.oneRev .who span{color:#a4d233;font-weight:500;margin-left:8px}
.oneRev .txt{font-size:13px;opacity:.74}
.mAddRow{display:flex;align-items:center;gap:14px;margin-top:8px}
.qtyStep{display:flex;align-items:center;border:1px solid rgba(255,255,255,.25);border-radius:4px}
.qtyStep button{background:none;border:none;color:#fff;width:38px;height:42px;font-size:18px;cursor:pointer}
.qtyStep input{width:44px;text-align:center;background:none;border:none;color:#fff;font-size:15px;font-family:inherit}

/* ---------- cart modal ---------- */
.cartM{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:210;display:none;align-items:flex-start;justify-content:center;padding:6vh 20px 20px}
.cartM.open{display:flex}
.cartM_box{background:#0e0e10;width:100%;max-width:34rem;max-height:84vh;border-radius:10px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;box-shadow:0 30px 90px rgba(0,0,0,.6);animation:cartPop .24s ease}
@keyframes cartPop{from{transform:translateY(-14px);opacity:0}to{transform:translateY(0);opacity:1}}
.cartM_hd{display:flex;align-items:center;justify-content:space-between;padding:1.35rem 24px 15px;border-bottom:1px solid rgba(255,255,255,.08)}
.cartM_hd h3{font-size:19px;font-weight:800;display:inline}
.cartM_hd .cartM_sub{font-size:12px;opacity:.5;margin-left:9px}
.cartM_hd button{background:none;border:none;color:#fff;cursor:pointer}
#cartLines{flex:1;overflow:auto;padding:6px 24px;min-height:90px}
.cLine{display:flex;gap:13px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.cLine .cThumb{width:62px;height:62px;border-radius:4px;background:#1c1c20 center/cover;flex-shrink:0}
.cLine .cMid{flex:1}
.cLine .cMid h5{font-size:13.5px;font-weight:700;margin-bottom:5px;line-height:1.3}
.cLine .cMid .cPrc{font-size:13px;color:#a4d233;font-weight:700}
.cLine .cQty{display:flex;align-items:center;gap:.5em;margin-top:7px}
.cLine .cQty button{background:rgba(255,255,255,.08);border:none;color:#fff;width:24px;height:24px;border-radius:3px;cursor:pointer}
.cLine .rmX{background:none;border:none;color:#777;cursor:pointer;align-self:flex-start}
.cLine .rmX:hover{color:#e0524d}
.cartEmpty{text-align:center;opacity:.5;padding:54px 20px;font-size:14px}
.cartM_ft{padding:1rem 24px 22px;border-top:1px solid rgba(255,255,255,.1)}
.cartM_ft .sumTot{display:flex;justify-content:space-between;font-size:19px;font-weight:800;margin:4px 0 15px}
.cartM_acts{display:flex;gap:10px}
.cartM_acts .btn{flex:1;justify-content:center}


/* ---------- reviews band ---------- */
#voices{padding:6rem 0;background:#0a0a0c}
#voices .secHd{max-width:560px;margin-bottom:48px}
#voices .secHd h2{font-size:clamp(28px,3.6vw,42px);font-weight:800;line-height:1.12}
.vMason{columns:3;column-gap:1.35rem}
.vCard{
  break-inside:avoid;margin-bottom:22px;background:#141416;border:1px solid rgba(255,255,255,.06);
  border-radius:6px;padding:26px 24px
}
.vCard .stars{color:#a4d233;font-size:14px;letter-spacing:2px;margin-bottom:12px}
.vCard p{font-size:14px;opacity:.84;margin-bottom:16px}
.vCard .vWho{display:flex;align-items:center;gap:11px}
.vCard .vAv{width:40px;height:40px;border-radius:50%;background:#1b5fbf;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}
.vCard .vName{font-size:13.5px;font-weight:700}
.vCard .vMeta{font-size:12px;opacity:.55}

/* ---------- order form ---------- */
#orderZone{
  padding:6.2rem 0 104px;
  background:linear-gradient(180deg,rgba(0,0,0,.78),rgba(0,0,0,.92)),url('../uploads/photo_6612.webp') center/cover fixed no-repeat
}
.ord_shell2{display:grid;grid-template-columns:1.05fr .95fr;gap:0;max-width:1060px;margin:0 auto;border-radius:8px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.orderLeft{background:#1b5fbf;padding:54px 48px}
.orderLeft .eyebrow{color:#cfe2ff}
.orderLeft h2{font-size:clamp(26px,3.2vw,38px);font-weight:800;line-height:1.12;margin-bottom:18px}
.orderLeft p{font-size:15px;opacity:.92;margin-bottom:26px}
.payLst{list-style:none}
.payLst li{display:flex;gap:14px;padding:15px 0;border-top:1px solid rgba(255,255,255,.22);align-items:flex-start}
.payLst li .material-symbols-rounded{color:#bfe04a;flex-shrink:0}
.payLst li b{display:block;font-size:15px;margin-bottom:2px}
.payLst li small{font-size:12.5px;opacity:.85}
.orderRight{background:#101012;padding:48px 44px}
.orderRight .miniCart{margin-bottom:24px;max-height:168px;overflow:auto}
.ocLine{display:flex;justify-content:space-between;font-size:13px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.07);opacity:.85}
.ocEmpty{font-size:13px;opacity:.5;padding:10px 0}
.ocTotal{display:flex;justify-content:space-between;font-weight:800;font-size:18px;margin:14px 0 26px}
.ocTotal span:last-child{color:#a4d233}
.fld{margin-bottom:17px}
.fld label{display:block;font-size:12.5px;font-weight:600;margin-bottom:7px;opacity:.8}
.fld input,.fld textarea,.fld select{
  width:100%;background:#1b1b1f;border:1px solid rgba(255,255,255,.12);color:#fff;
  padding:13px 14px;border-radius:4px;font-family:inherit;font-size:14px
}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:none;border-color:#a4d233}
.fld textarea{min-height:78px;resize:vertical}
.payPick{display:grid;gap:10px;margin-bottom:8px}
.payOpt{display:flex;gap:12px;align-items:flex-start;border:1px solid rgba(255,255,255,.14);border-radius:5px;padding:14px 15px;cursor:pointer;transition:.2s}
.payOpt:hover{border-color:rgba(164,210,51,.5)}
.payOpt input{width:auto;margin-top:3px}
.payOpt.sel{border-color:#a4d233;background:rgba(164,210,51,.07)}
.payOpt b{font-size:14px;display:block;margin-bottom:2px}
.payOpt small{font-size:12px;opacity:.65}
.formNote{font-size:11.5px;opacity:.5;margin-top:14px;line-height:1.6}
.errLine{color:#e0524d;font-size:12px;margin-top:6px;display:none}

/* ---------- faq teaser ---------- */
#faqTease{padding:5.2rem 0;background:#08080a}
.faqRows{max-width:820px;margin:34px auto 0}
.faq_it{border-bottom:1px solid rgba(255,255,255,.1)}
.faqQ{display:flex;justify-content:space-between;align-items:center;padding:22px 4px;cursor:pointer;font-weight:700;font-size:16px;gap:16px}
.faqQ .material-symbols-rounded{transition:.25s;color:#a4d233}
.faq_it.open .faqQ .material-symbols-rounded{transform:rotate(45deg)}
.faqA{max-height:0;overflow:hidden;transition:max-height .3s ease;opacity:.8;font-size:14.5px}
.faq_it.open .faqA{max-height:300px;padding-bottom:22px}

/* ---------- footer ---------- */
#megaFoot{background:#070708;padding:4.4rem 0 34px;border-top:1px solid rgba(255,255,255,.06)}
.footTop{text-align:center;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.07)}
.footTop .brandLogo{justify-content:center;font-size:26px;margin-bottom:10px}
.footTop p{opacity:.55;font-size:13px;max-width:440px;margin:0 auto}
.footCols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.2rem;padding:50px 0 38px}
.footCols h4{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#a4d233;margin-bottom:18px}
.footCols ul{list-style:none}
.footCols li{margin-bottom:11px;font-size:14px;opacity:.72}
.footCols li a:hover{opacity:1;color:#a4d233}
.napBlk{font-size:14px;opacity:.72;line-height:1.9}
.napBlk .npItem{display:flex;gap:9px;margin-bottom:10px;align-items:flex-start}
.footBot{text-align:center;font-size:12.5px;opacity:.45;padding-top:30px}
.footBot a:hover{color:#a4d233}

/* ---------- cookie consent ---------- */
.ckCard{position:fixed;left:1.5rem;bottom:1.5rem;z-index:230;width:23rem;max-width:calc(100vw - 32px);background:#101013;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:20px 20px 17px;box-shadow:0 20px 60px rgba(0,0,0,.55);display:none}
.ckCard.show{display:block}
.ckCard_top{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.ckCard_top .material-symbols-rounded{color:#a4d233;font-size:21px}
.ckCard_top b{font-size:15px}
.ckCard p{font-size:13px;opacity:.72;line-height:1.7;margin-bottom:15px}
.ckCard p a{color:#a4d233;text-decoration:underline}
.ckCard_btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ckmini{font-family:inherit;font-weight:700;font-size:12.5px;padding:10px 15px;border-radius:6px;cursor:pointer;border:none}
.ghost2{background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff}
.ghost2:hover{border-color:#a4d233;color:#a4d233}
.ckmini.lnk{background:none;border:none;color:#a4d233;text-decoration:underline;padding:10px 4px}
.ckModal{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:240;display:none;align-items:center;justify-content:center;padding:24px}
.ckModal.show{display:flex}
.ckModal_box{background:#121214;width:100%;max-width:35rem;max-height:88vh;overflow:auto;border-radius:12px;border:1px solid rgba(255,255,255,.1);padding:30px 30px 26px}
.ckModal_hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}
.ckModal_hd h3{font-size:20px;font-weight:800}
.ckModal_hd button{background:none;border:none;color:#fff;cursor:pointer}
.ckModal_lead{font-size:13.5px;opacity:.72;margin-bottom:1.25rem;line-height:1.7}
.ckCat{border:1px solid rgba(255,255,255,.08);border-radius:9px;padding:15px 16px;margin-bottom:11px;background:#0d0d0f}
.ckCat_h{display:flex;justify-content:space-between;gap:1.1rem;align-items:flex-start}
.ckCat_h b{font-size:14.5px}
.ckCat_h p{font-size:12.5px;opacity:.6;margin-top:5px;line-height:1.6}
.ckModal_ft{display:flex;justify-content:flex-end;gap:10px;margin-top:1.1rem;flex-wrap:wrap}
.sw{position:relative;width:44px;height:24px;flex-shrink:0}
.sw input{opacity:0;width:0;height:0}
.sw label{position:absolute;inset:0;background:#33333a;border-radius:24px;cursor:pointer;transition:.2s}
.sw label::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.2s}
.sw input:checked+label{background:#a4d233}
.sw input:checked+label::after{transform:translateX(20px)}
.sw input:disabled+label{background:#a4d233;opacity:.5;cursor:not-allowed}

/* ---------- toast ---------- */
#toast{
  position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(140px);
  background:#a4d233;color:#0c0c0c;font-weight:700;font-size:14px;padding:14px 26px;
  border-radius:5px;z-index:240;transition:transform .35s;box-shadow:0 12px 40px rgba(0,0,0,.4)
}
#toast.up{transform:translateX(-50%) translateY(0)}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .navMenu{display:none}
  .burger{display:block}
  .split{grid-template-columns:1fr}
  .imgRight .photoCol{order:0}
  .imgRight .copyCol{order:0}
  .split .copyCol{padding:54px 28px}
  .stat_grid2{grid-template-columns:repeat(2,1fr);gap:36px}
  .catFlow{grid-template-columns:1fr}
  .prodCard.span2,.prodCard.span3,.prodCard.full{grid-column:span 1}
  .prodCard.row,.prodCard.full{flex-direction:column}
  .prodCard.row .thumb,.prodCard.full .thumb{width:100%;aspect-ratio:16/10;min-height:0}
  .prodCard.row .pInfo,.prodCard.full .pInfo{width:100%;padding:18px 17px 20px}
  .ckCard{left:12px;right:12px;bottom:12px;width:auto}
  .modalGrid{grid-template-columns:1fr}
  .modalBox .mImg{min-height:240px}
  .vMason{columns:2}
  .ord_shell2{grid-template-columns:1fr}
  .footCols{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .heroCopy h1{font-size:34px}
  .stat_grid2{grid-template-columns:1fr 1fr}
  .catFlow{grid-template-columns:1fr}
  .vMason{columns:1}
  .footCols{grid-template-columns:1fr}
  .fullPhoto .innrBx{margin:0 16px;padding:34px 26px}
  .orderLeft,.orderRight{padding:40px 26px}
}
.pageHd{padding:8.6rem 0 3.4rem;background:linear-gradient(180deg,#0c0c10,#08080a);border-bottom:1px solid rgba(255,255,255,.06)}
.crumb{font-size:12px;letter-spacing:.05em;opacity:.5;margin-bottom:15px}
.crumb a{color:inherit}
.crumb a:hover{color:#a4d233}
.pageHd h1{font-size:clamp(2rem,5vw,58px);line-height:1.07;font-weight:800;letter-spacing:-.01em;margin-bottom:18px}
.pageHd .lead{font-size:1.05rem;opacity:.82;max-width:640px;line-height:1.85}

.miniGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15.3rem,1fr));gap:1.1rem}
.miniCard{background:#121214;border:1px solid rgba(255,255,255,.06);border-radius:7px;padding:27px 26px}
.miniCard .ic{width:46px;height:46px;border-radius:9px;background:rgba(164,210,51,.12);color:#a4d233;display:flex;align-items:center;justify-content:center;margin-bottom:15px}
.miniCard h3{font-size:17px;font-weight:700;margin-bottom:9px}
.miniCard p{font-size:13.5px;opacity:.7;line-height:1.75}

.stepFlow{display:flex;flex-direction:column;max-width:48rem}
.stepItem{display:flex;gap:1.4rem;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.stepItem:last-child{border-bottom:none}
.stepNo{font-size:1.55rem;font-weight:800;color:#a4d233;line-height:1;min-width:44px}
.stepBody h4{font-size:16px;font-weight:700;margin-bottom:6px}
.stepBody p{font-size:14px;opacity:.72;line-height:1.75}

.cmpWrap{overflow-x:auto;border:1px solid rgba(255,255,255,.09);border-radius:8px}
.cmpTbl{width:100%;border-collapse:collapse;min-width:38rem;font-size:14px}
.cmpTbl th,.cmpTbl td{padding:15px 18px;text-align:left;border-bottom:1px solid rgba(255,255,255,.07)}
.cmpTbl thead th{background:#121214;font-size:13px;letter-spacing:.04em;color:#a4d233;font-weight:700}
.cmpTbl tbody th{font-weight:600;opacity:.65;font-size:12.5px;width:8.6rem}
.cmpTbl td{opacity:.88}
.cmpTbl tbody tr:last-child th,.cmpTbl tbody tr:last-child td{border-bottom:none}

.jobRow{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;padding:23px 0;border-bottom:1px solid rgba(255,255,255,.09);flex-wrap:wrap}
.jobRow .jMeta{flex:1;min-width:16rem}
.jobRow h4{font-size:18px;font-weight:700;margin-bottom:7px}
.jobRow .tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.jobRow .tag{font-size:11.5px;font-weight:700;letter-spacing:.04em;padding:4px 11px;border-radius:30px;background:rgba(164,210,51,.12);color:#a4d233}
.jobRow p{font-size:13.5px;opacity:.7;line-height:1.7;max-width:36rem}
.jobRow .jApply{font-size:12.5px;opacity:.5;white-space:nowrap;align-self:center}

.ctaBand{padding:5rem 0;text-align:center;background:#1b5fbf}
.ctaBand .eyebrow{color:#cfe2ff}
.ctaBand h2{font-size:clamp(26px,3.4vw,40px);font-weight:800;line-height:1.12;margin-bottom:13px}
.ctaBand p{opacity:.92;max-width:520px;margin:0 auto 24px;font-size:15px;line-height:1.8}
.ctaBand .btnRow{justify-content:center}

.faqGroupHd{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#a4d233;font-weight:700;margin:36px 0 4px;padding-top:6px}
.faqRows .faqGroupHd:first-child{margin-top:0}

@media(max-width:980px){
  .pageHd{padding:6.8rem 0 2.6rem}
  .stepItem{gap:1rem}
  .stepNo{min-width:36px;font-size:1.3rem}
  .ctaBand{padding:3.4rem 0}
  .jobRow .jApply{align-self:flex-start}
}
.legalPage {
  padding: 8.6rem 0 4.4rem;
  background: #08080a;
  min-height: 70vh;
}
.legalPage .crumb {
  font-size: 12px;
  letter-spacing: .05em;
  opacity: .5;
  margin-bottom: 12px;
}
.legalPage .crumb a:hover {
  color: #a4d233;
}
.legalHd {
  max-width: 780px;
  margin-bottom: 3.2rem;
}
.legalHd h1 {
  font-size: clamp(2.4rem, 5vw, 52px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.01em;
  margin: 6px 0 14px;
}
.legalHd .lead {
  font-size: 1.05rem;
  opacity: .82;
  line-height: 1.8;
  max-width: 680px;
}
.legalBody {
  max-width: 820px;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 2.4rem;
}
.legalBody h2 {
  font-size: 1.45rem;
  font-weight: 700;
  margin: 2.2rem 0 1rem;
  color: #a4d233;
}
.legalBody h2:first-of-type {
  margin-top: 0;
}
.legalBody p {
  font-size: 15px;
  line-height: 1.9;
  opacity: .88;
  margin-bottom: 1.1rem;
}
.legalBody ul {
  list-style: none;
  padding-left: 0;
  margin: 0.8rem 0 1.4rem;
}
.legalBody ul li {
  position: relative;
  padding-left: 1.7rem;
  font-size: 14.5px;
  line-height: 1.8;
  opacity: .85;
  margin-bottom: 0.5rem;
}
.legalBody ul li::before {
  content: "▸";
  position: absolute;
  left: 0;
  color: #a4d233;
  font-weight: 700;
}
.legalBody strong {
  color: #fff;
  font-weight: 700;
}
.legalBody a {
  color: #a4d233;
  text-decoration: underline;
}
.legalBody a:hover {
  opacity: .7;
}
.legalDate {
  margin-top: 2.8rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(255,255,255,.06);
  font-size: 13px;
  opacity: .5;
  text-align: right;
}
/* Адаптив */
@media (max-width: 780px) {
  .legalPage {
    padding: 7rem 0 3rem;
  }
  .legalHd h1 {
    font-size: 2rem;
  }
  .legalBody h2 {
    font-size: 1.2rem;
  }
}