.mpart{font:400 16px/1.55 "Helvetica Neue",Helvetica,Arial,sans-serif;color:#141414;-webkit-font-smoothing:antialiased;--ink:#141414;--ink-2:#5a5a5a;--line:#e6e3e0;--bg:#fff;--bg-2:#f6f4f2;--accent:#e8542b;--accent-dark:#c8431f;--h:64px}
.mpart *{box-sizing:border-box;margin:0;padding:0}
.mpart img{display:block;width:100%;height:100%;object-fit:cover}
.mpart a{color:inherit;text-decoration:none}
.mpart .wrap{max-width:1320px;margin:0 auto;padding:0 32px}
.mpart .narrow{max-width:820px}
.mpart .eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2)}
.mpart h2{font-weight:300;font-size:clamp(27px,3.2vw,40px);letter-spacing:-.01em;line-height:1.12}
.mpart h3{font-weight:400;font-size:19px;letter-spacing:-.01em}
.mpart .muted{color:var(--ink-2)}
.mpart .lead{font-size:17px;line-height:1.68;color:#333}
.mpart .sec{padding:76px 0}
.mpart .sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;flex-wrap:wrap}
.mpart .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:999px;font-size:14px;border:1px solid transparent;cursor:pointer;transition:.18s;white-space:nowrap}
.mpart .btn-p{background:var(--accent);color:#fff}
.mpart .btn-p:hover{background:var(--accent-dark)}
.mpart .btn-o{border-color:var(--ink);color:var(--ink)}
.mpart .btn-o:hover{background:var(--ink);color:#fff}
.mpart .btn-w{border-color:rgba(255,255,255,.6);color:#fff}
.mpart .btn-w:hover{background:#fff;color:var(--ink)}
.mpart .note{background:#1d1d1d;color:#dcd8d4;font-size:13px;padding:10px 32px;text-align:center}
.mpart .note b{color:#fff;font-weight:500}
.mpart .hero{position:relative;min-height:min(72vh,620px);display:flex;align-items:flex-end;color:#fff}
.mpart .hero .bg{position:absolute;inset:0}
.mpart .hero .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(0,0,0,.72),rgba(0,0,0,.3) 62%,rgba(0,0,0,.12))}
.mpart .hero .wrap{position:relative;z-index:2;padding-top:90px;padding-bottom:50px;width:100%}
.mpart .hero h1{font-weight:300;font-size:clamp(34px,4.6vw,60px);line-height:1.05;letter-spacing:-.02em;max-width:17ch}
.mpart .hero p{margin:20px 0 26px;font-size:17px;line-height:1.65;max-width:62ch;color:rgba(255,255,255,.88)}
.mpart .hcta{display:flex;gap:12px;flex-wrap:wrap}
.mpart .toc{background:var(--bg-2);border-bottom:1px solid var(--line);padding:34px 0 38px}
.mpart .tocgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.mpart .tcol .th{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.mpart .tcol a{display:block;padding:5px 0;font-size:15px;color:#333}
.mpart .tcol a:hover{color:var(--accent)}
.mpart .two{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.mpart .fig{border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:var(--bg-2)}
.mpart .fig.tall{aspect-ratio:3/4}
.mpart .body p+p{margin-top:14px}
.mpart .pull{background:#fff;border-left:3px solid var(--accent);border-radius:0 10px 10px 0;padding:18px 24px;font-size:16px;line-height:1.6;margin-top:20px}
.mpart .pull b{font-weight:500}
.mpart .gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mpart .gal a{position:relative;border-radius:11px;overflow:hidden;aspect-ratio:3/4;color:#fff}
.mpart .gal span{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:12px 14px;font-size:13px;background:linear-gradient(transparent,rgba(0,0,0,.78))}
.mpart .mist{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.mpart .forms{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mpart .fcard{border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.mpart .fcard .ph{display:block;aspect-ratio:16/10;background:var(--bg-2)}
.mpart .fcard .bd{padding:18px 20px 22px;flex:1;display:flex;flex-direction:column}
.mpart .plus, .mpart .minus{display:block;font-size:14px;line-height:1.5;padding:5px 0 5px 20px;position:relative}
.mpart .plus:before{content:"+";position:absolute;left:0;color:#2c7a4b;font-weight:600}
.mpart .minus:before{content:"–";position:absolute;left:0;color:#b3341a;font-weight:600}
.mpart .fcard .hd{margin-bottom:10px}
.mpart .jump{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mpart .jcard{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3;color:#fff;display:flex;align-items:flex-end}
.mpart .jcard .bgi{position:absolute;inset:0}
.mpart .jcard .bgi:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.05) 68%)}
.mpart .jcard .jb{position:relative;z-index:2;padding:22px}
.mpart .jcard .jb p{font-size:13.5px;opacity:.86;margin-top:5px}
.mpart .jcard .jl{display:inline-block;margin-top:12px;color:#ff8b62;font-size:14px}
.mpart .kits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mpart .kit{border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.mpart .kit .ph{display:block;aspect-ratio:4/3;background:var(--bg-2)}
.mpart .kit .bd{padding:18px 20px 22px;flex:1;display:flex;flex-direction:column}
.mpart .kit .spec{font-size:13px;color:var(--ink-2);margin:6px 0 10px}
.mpart .kit .inc{font-size:13px;line-height:1.5;color:var(--ink-2);border-top:1px solid var(--line);padding-top:11px;margin-top:auto}
.mpart .kit .pr{margin-top:12px;font-size:17px}
.mpart .kit .pr small{font-size:13px;color:var(--ink-2)}
.mpart .gband{display:grid;grid-template-columns:340px 1fr;background:#232323;border-radius:14px;overflow:hidden;align-items:center}
.mpart .gband .ph{display:block;height:100%;min-height:250px}
.mpart .gband .tx{padding:36px 42px}
.mpart .gband b{display:block;color:#fff;font-size:clamp(23px,2.5vw,31px);font-weight:300;line-height:1.15;margin:10px 0 12px}
.mpart .gband .sub{display:block;color:rgba(255,255,255,.66);font-size:16px;line-height:1.6;max-width:60ch}
.mpart .qa{border-bottom:1px solid var(--line)}
.mpart .qa summary{cursor:pointer;list-style:none;padding:19px 0;font-size:18px;display:flex;justify-content:space-between;gap:20px;align-items:center}
.mpart .qa summary::-webkit-details-marker{display:none}
.mpart .qa summary:after{content:"+";color:var(--accent);font-size:22px;font-weight:300}
.mpart .qa[open] summary:after{content:"–"}
.mpart .qa .ans{padding-bottom:20px;color:#444;line-height:1.65;max-width:74ch}
.mpart .qa i{color:var(--accent);font-style:normal}
.mpart .b2b{background:var(--bg-2);border-radius:14px;padding:44px;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.mpart .b2b ul{list-style:none}
.mpart .b2b li{padding:9px 0 9px 24px;position:relative;border-bottom:1px solid var(--line);font-size:15px}
.mpart .b2b li:before{content:"—";position:absolute;left:0;color:var(--accent)}
.mpart .kash{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mpart .kcard{display:flex;flex-direction:column}
.mpart .kcard .ph{display:block;aspect-ratio:16/10;border-radius:11px;overflow:hidden;background:var(--bg-2);margin-bottom:12px}
.mpart .sitefoot{background:#231f20;color:rgba(255,255,255,.72);padding:64px 0 72px;font-size:14px}
.mpart .ffgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr .7fr;gap:40px}
.mpart .flogo{width:auto;height:38px;object-fit:contain;margin-bottom:22px}
.mpart .fh{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:18px}
.mpart .fcol a{display:block;padding:5px 0;color:rgba(255,255,255,.72)}
.mpart .fcol a:hover{color:#fff}
.mpart .fadr{line-height:1.55;margin-bottom:14px}
.mpart .fu{text-decoration:underline;margin-bottom:12px}
.mpart .fsoc{display:flex;gap:10px}
.mpart .fsoc a{width:34px;height:34px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;padding:0}
@media(max-width:1100px){
.mpart .tocgrid{grid-template-columns:repeat(2,1fr)}
.mpart .two, .mpart .b2b, .mpart .gband{grid-template-columns:1fr}
.mpart .mist, .mpart .forms, .mpart .jump, .mpart .kits, .mpart .kash{grid-template-columns:repeat(2,1fr)}
.mpart .gal{grid-template-columns:repeat(2,1fr)}
.mpart .ffgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
.mpart .wrap{padding:0 18px}
.mpart .sec{padding:52px 0}
.mpart .tocgrid, .mpart .mist, .mpart .forms, .mpart .jump, .mpart .kits, .mpart .kash, .mpart .gal{grid-template-columns:1fr}
.mpart .ffgrid{grid-template-columns:1fr}
.mpart .b2b{padding:26px}
.mpart .gband .tx{padding:26px 22px}
}
.mpart .disc{margin:16px 0 30px;padding:16px 22px;background:#fff;border-left:3px solid var(--accent);
  border-radius:0 10px 10px 0;font-size:15px;line-height:1.6;color:#333}
.mpart .mistlist{display:flex;flex-direction:column;gap:20px}
.mpart .mrow{display:grid;grid-template-columns:370px 1fr;background:#fff;border:1px solid var(--line);
  border-radius:14px;overflow:hidden}
.mpart .mrow .ph{display:block;position:relative;height:100%;min-height:280px}
.mpart .mrow .tag{position:absolute;top:14px;left:14px;background:#fff;color:#b3341a;font-size:10px;
  letter-spacing:.09em;text-transform:uppercase;padding:5px 10px;border-radius:4px}
.mpart .mrow .bd{padding:34px 40px 30px}
.mpart .mnum{display:block;font-size:13px;letter-spacing:.12em;color:var(--accent);margin-bottom:10px}
.mpart .mrow h3{font-size:clamp(21px,2.1vw,27px);font-weight:300;letter-spacing:-.01em;line-height:1.2}
.mpart .mrow .tez{margin-top:12px;font-size:17px;line-height:1.6;color:#333;max-width:62ch}
.mpart details.more{margin-top:18px}
.mpart details.more summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;
  color:var(--accent);font-size:15px;padding:8px 0}
.mpart details.more summary::-webkit-details-marker{display:none}
.mpart details.more summary:after{content:"↓";font-size:13px;transition:.2s}
.mpart details.more[open] summary:after{content:"↑"}
.mpart details.more .cl{display:none}
.mpart details.more[open] .op{display:none}
.mpart details.more[open] .cl{display:inline}
.mpart .more .txt{padding-top:6px;max-width:66ch}
.mpart .more .txt p{font-size:16px;line-height:1.68;color:#333}
.mpart .more .txt p+p{margin-top:14px}
.mpart .more .wait{color:var(--accent)}
.mpart .more .say{font-size:17px;line-height:1.6;color:var(--ink);border-left:3px solid var(--accent);padding-left:18px;margin-top:18px}
@media(max-width:900px){
.mpart .mrow{grid-template-columns:1fr}
.mpart .mrow .ph{min-height:220px}
.mpart .mrow .bd{padding:26px 22px}
}
.mpart .mpair{display:grid;grid-template-rows:1fr 1fr;gap:3px;height:100%}
.mpart .mshot{display:block;position:relative;min-height:215px;overflow:hidden}
.mpart .mshot .cap{position:absolute;top:12px;left:12px;z-index:2;font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;padding:4px 9px;border-radius:4px}
.mpart .cap.bad{background:#fff;color:#b3341a}
.mpart .cap.good{background:var(--ink);color:#fff}
.mpart .mshot .cpt{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:10px 12px;color:#fff;
  font-size:12.5px;line-height:1.35;background:linear-gradient(transparent,rgba(0,0,0,.8))}
@media(max-width:900px){
.mpart .mpair{grid-template-rows:none;grid-template-columns:1fr 1fr}
.mpart .mshot{min-height:170px}
}
.mpart .mslider{display:block;position:relative;height:100%;overflow:hidden;background:#1a1a1a}
.mpart .mtrack{position:absolute;inset:0;display:flex;transition:transform .32s cubic-bezier(.4,0,.2,1)}
.mpart .mslide{flex:0 0 100%;position:relative;height:100%}
.mpart .mslide img{width:100%;height:100%;object-fit:cover}
.mpart .mslider .cap{position:absolute;top:14px;left:14px;z-index:3;font-size:10px;letter-spacing:.09em;
  text-transform:uppercase;padding:5px 10px;border-radius:4px;background:#fff;color:#b3341a}
.mpart .mslider .cpt{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:44px 14px 14px;color:#fff;
  font-size:13px;line-height:1.4;background:linear-gradient(transparent,rgba(0,0,0,.85))}
.mpart .nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:38px;height:38px;border-radius:50%;
  border:0;background:rgba(255,255,255,.9);color:#141414;font-size:22px;line-height:1;cursor:pointer;
  display:grid;place-items:center;transition:.15s;padding-bottom:3px}
.mpart .nav:hover{background:#fff}
.mpart .prev{left:12px}
.mpart .next{right:12px}
.mpart .count{position:absolute;top:14px;right:14px;z-index:3;background:rgba(0,0,0,.55);color:#fff;
  font-size:11px;padding:5px 9px;border-radius:4px;letter-spacing:.04em}
.mpart .mrow .mslider{min-height:430px}
.mpart .moreband{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;margin-top:22px;
  background:#232323;border-radius:14px;padding:28px 32px;transition:.18s}
.mpart .moreband:hover{background:#2a2a2a}
.mpart .mb-tx b{display:block;color:#fff;font-size:20px;font-weight:400;line-height:1.3;margin-bottom:9px}
.mpart .mb-tx span{display:block;color:rgba(255,255,255,.62);font-size:14.5px;line-height:1.55;max-width:78ch}
.mpart .mb-btn{flex:none;background:var(--accent);color:#fff;padding:13px 26px;border-radius:999px;font-size:15px;white-space:nowrap}
@media(max-width:900px){
.mpart .mrow .mslider{min-height:280px}
.mpart .moreband{grid-template-columns:1fr}
}
.mpart .trans{margin:26px 0 22px;font-size:17px;line-height:1.65;color:#333}
.mpart .trans a{color:var(--accent);border-bottom:1px solid rgba(232,84,43,.35)}
.mpart .readon{display:inline-block;margin-top:20px;padding:13px 26px;border:1px solid var(--ink);border-radius:999px;font-size:15px;transition:.18s}
.mpart .readon:hover{background:var(--ink);color:#fff}
.mpart .shots3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:30px}
.mpart .shots3 figure{margin:0}
.mpart .shots3 img{aspect-ratio:4/3;border-radius:12px;background:#e6e2de}
.mpart .shots3 figcaption{margin-top:12px;font-size:15px;color:var(--ink)}
.mpart .twocol{column-count:2;column-gap:56px;max-width:1060px}
.mpart .twocol p{font-size:17px;line-height:1.68;color:#333;break-inside:avoid;margin:0}
.mpart .twocol p+p{margin-top:0}
@media(max-width:900px){
.mpart .shots3{grid-template-columns:1fr}
.mpart .twocol{column-count:1}
.mpart .twocol p+p{margin-top:14px}
}
.mpart .furnsec{background:#1d1d1d;color:#fff}
.mpart .furnsec h2{color:#fff}
.mpart .ftop{display:grid;grid-template-columns:1fr 1.15fr;gap:52px;align-items:center;margin-bottom:38px}
.mpart .ftx h2{margin:12px 0 18px}
.mpart .ftx p{font-size:17px;line-height:1.68;color:rgba(255,255,255,.72);max-width:52ch;margin-bottom:26px}
.mpart .fph{border-radius:14px;overflow:hidden;aspect-ratio:16/10;background:#2a2a2a}
.mpart .fsub{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid #333;padding-top:34px}
.mpart .fsc{display:flex;flex-direction:column;background:#262626;border-radius:12px;overflow:hidden;transition:.18s}
.mpart .fsc:hover{background:#2e2e2e}
.mpart .fsc .ph{display:block;aspect-ratio:16/10;background:#333}
.mpart .fsc .tb{display:block;padding:18px 20px 22px}
.mpart .fsc h3{color:#fff;font-size:19px}
.mpart .fsc p{font-size:14px;line-height:1.5;color:rgba(255,255,255,.6);margin-top:7px}
.mpart .fsc .jl{display:inline-block;margin-top:12px;color:var(--accent);font-size:14px}
.mpart .jump.two-up{grid-template-columns:repeat(2,1fr);max-width:900px}
@media(max-width:900px){
.mpart .ftop{grid-template-columns:1fr;gap:26px}
.mpart .fsub{grid-template-columns:1fr}
.mpart .jump.two-up{grid-template-columns:1fr}
}
.mpart .kit .ph, .mpart .pcard .ph, .mpart .acard .ph, .mpart .fcard .ph, .mpart .scard .ph, .mpart .fsc .ph, .mpart .kcard .ph, .mpart .mat .ph, .mpart .shots3 img, .mpart .gal a img{flex:none;width:100%}
.mpart .kit .ph, .mpart .pcard .ph, .mpart .acard .ph, .mpart .fcard .ph, .mpart .scard .ph, .mpart .fsc .ph, .mpart .kcard .ph, .mpart .mat .ph{display:block;overflow:hidden}
.mpart .kit .ph img, .mpart .pcard .ph img, .mpart .acard .ph img, .mpart .fcard .ph img, .mpart .scard .ph img, .mpart .fsc .ph img, .mpart .kcard .ph img, .mpart .mat .ph img{width:100%;height:100%;object-fit:cover}
.mpart .scen3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mpart .sc{background:#fff;border-radius:12px;padding:26px 28px}
.mpart .scn{display:block;font-size:19px;margin-bottom:10px}
.mpart .sc p{font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.mpart .warn{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 28px}
.mpart .wn{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:11px}
.mpart .warn h3{font-size:19px}
.mpart .warn p{margin-top:9px;font-size:14.5px;line-height:1.6;color:var(--ink-2)}
.mpart .whenbox{background:#fff;border-left:3px solid var(--ink);border-radius:0 12px 12px 0;padding:24px 28px;margin-top:26px}
.mpart .wt{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);margin-bottom:14px}
.mpart .whenbox ul{list-style:none}
.mpart .whenbox li{position:relative;padding:8px 0 8px 24px;font-size:15.5px;border-bottom:1px solid var(--line)}
.mpart .whenbox li:last-child{border:none}
.mpart .whenbox li:before{content:"—";position:absolute;left:0;color:var(--accent)}
.mpart .tagbig{background:var(--accent);color:#fff;padding:9px 18px;border-radius:999px;font-size:14px;white-space:nowrap}
.mpart .bigfact{display:grid;grid-template-columns:250px 1fr;gap:36px;align-items:start;background:var(--ink);
  color:#fff;border-radius:14px;padding:38px 40px;margin-top:34px}
.mpart .bf-num{font-size:clamp(38px,5vw,62px);font-weight:300;line-height:1;color:var(--accent);letter-spacing:-.02em}
.mpart .bf-tx h3{font-size:22px;font-weight:400;color:#fff;margin-bottom:12px}
.mpart .bf-tx p{font-size:16px;line-height:1.65;color:rgba(255,255,255,.76);max-width:70ch}
.mpart .bf-tx p+p{margin-top:12px}
.mpart .bf-tx b{color:#fff;font-weight:500}
.mpart .bf-small{font-size:14px!important;color:rgba(255,255,255,.5)!important;padding-top:14px;border-top:1px solid #333;margin-top:18px!important}
.mpart .acc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.mpart .ai{background:#fff;border-radius:10px;padding:16px 18px;font-size:14px;line-height:1.5;color:#333}
.mpart .ceremony{background:#171717;color:#fff}
.mpart .ceremony p{font-size:16.5px;line-height:1.7;color:rgba(255,255,255,.75);max-width:58ch}
.mpart .ceremony p+p{margin-top:14px}
.mpart .ceremony .cs{font-size:20px;line-height:1.5;color:#fff;border-left:3px solid var(--accent);padding-left:18px;margin:20px 0}
.mpart .ph-hold{display:grid;place-items:center;background:#232323;border:1px dashed #444;text-align:center;
  color:rgba(255,255,255,.45);font-size:14px;line-height:1.6;aspect-ratio:4/3}
.mpart .ph-hold i{color:var(--accent);font-style:normal}
.mpart .tblwrap{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.mpart .tblscroll{overflow-x:auto}
.mpart table{border-collapse:collapse;font-size:14.5px;min-width:820px;width:100%}
.mpart th, .mpart td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.mpart th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-weight:500;background:var(--bg-2)}
.mpart td:first-child{font-weight:500}
.mpart tr:last-child td{border-bottom:none}
.mpart .tn{color:var(--ink-2);font-weight:400;font-size:12.5px}
.mpart .sumgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mpart .sum{position:relative;display:block;border:1px solid var(--line);border-radius:12px;padding:24px 26px;background:#fff;transition:.18s}
.mpart .sum:hover{border-color:var(--ink-2)}
.mpart .sum.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.mpart .sum strong{display:block;font-size:26px;font-weight:300;margin-bottom:10px}
.mpart .sum span{display:block;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.mpart .sum i{position:absolute;top:-11px;left:24px;background:var(--accent);color:#fff;font-style:normal;
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:4px}
@media(max-width:1000px){
.mpart .scen3, .mpart .acc-grid, .mpart .sumgrid{grid-template-columns:repeat(2,1fr)}
.mpart .bigfact{grid-template-columns:1fr;gap:18px;padding:28px 24px}
}
@media(max-width:640px){
.mpart .scen3, .mpart .acc-grid, .mpart .sumgrid{grid-template-columns:1fr}
}
.mpart .capgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mpart .cap{background:var(--bg-2);border-radius:12px;padding:26px 28px}
.mpart .cn{display:block;font-size:40px;font-weight:300;line-height:1;color:var(--accent);margin-bottom:14px}
.mpart .cap h3{font-size:18px}
.mpart .cap p{margin-top:9px;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.mpart .nextsec{background:var(--ink);color:#fff;padding:0}
.mpart .nextrow{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0}
.mpart .ntx{padding:52px 48px 52px 32px}
.mpart .ntx h2{color:#fff;margin:12px 0 16px}
.mpart .ntx p{font-size:17px;line-height:1.68;color:rgba(255,255,255,.72);max-width:52ch;margin-bottom:26px}
.mpart .nph{height:100%;min-height:330px}
.mpart .nph img{width:100%;height:100%;object-fit:cover}
@media(max-width:1000px){
.mpart .capgrid{grid-template-columns:1fr}
.mpart .nextrow{grid-template-columns:1fr}
.mpart .ntx{padding:34px 22px}
.mpart .nph{min-height:220px}
}
.mpart .part{color:var(--accent)}
.mpart .hero .subh{font-size:clamp(19px,2.1vw,26px);font-weight:300;line-height:1.35;color:rgba(255,255,255,.92);
  margin:14px 0 0;max-width:24ch}
.mpart .pmbox{background:#fff;border-radius:12px;padding:20px 24px}
.mpart .needflat{margin-top:16px;background:#fff;border-left:3px solid var(--ink);border-radius:0 11px 11px 0;
  padding:16px 20px;font-size:15px;line-height:1.6}
.mpart .needflat b{font-weight:500}
.mpart .pmt{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px}
.mpart .pmt.good{color:#2c7a4b}
.mpart .pmt.bad{color:#b3341a}
.mpart .pl, .mpart .mn{display:block;position:relative;padding:8px 0 8px 24px;font-size:15px;line-height:1.55;border-bottom:1px solid var(--line)}
.mpart .pl:last-child, .mpart .mn:last-child{border-bottom:none}
.mpart .pl:before{content:"+";position:absolute;left:2px;color:#2c7a4b;font-weight:600}
.mpart .mn:before{content:"–";position:absolute;left:4px;color:#b3341a;font-weight:600}
.mpart .dangerbox{margin-top:24px;background:#fdf4f1;border:1px solid #eccfc4;border-radius:12px;padding:24px 28px}
.mpart .dt{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#b3341a;margin-bottom:11px}
.mpart .dangerbox p{font-size:15.5px;line-height:1.65;color:#3a3a3a;}
.mpart .shots2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mpart .shots2 figure{margin:0}
.mpart .shots2 img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px;background:#e6e2de}
.mpart .shots2 figcaption{margin-top:10px;font-size:14px;color:var(--ink-2)}
.mpart .bigq{background:var(--ink);color:#fff;padding:84px 0}
.mpart .bigq h2{color:#fff;font-size:clamp(28px,4vw,50px);margin:14px 0 20px}
.mpart .bigq p{font-size:18px;line-height:1.65;color:rgba(255,255,255,.72);max-width:60ch;margin:0 auto}
.mpart .ilink{color:var(--accent);border-bottom:1px solid rgba(232,84,43,.35)}
.mpart .bf-num{white-space:normal}
@media(max-width:640px){
.mpart .shots2{grid-template-columns:1fr}
}
.mpart .mslider{display:block;position:relative;overflow:hidden;background:#1a1a1a;align-self:start}
.mpart .mtrack{position:absolute;inset:0;display:flex;transition:transform .32s cubic-bezier(.4,0,.2,1)}
.mpart .mslide{flex:0 0 100%;position:relative;height:100%}
.mpart .mslide img{width:100%;height:100%;object-fit:cover}
.mpart .mslider .cpt{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:44px 16px 16px;color:#fff;
  font-size:13.5px;line-height:1.45;background:linear-gradient(transparent,rgba(0,0,0,.85))}
.mpart .nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:38px;height:38px;border-radius:50%;
  border:0;background:rgba(255,255,255,.9);color:#141414;font-size:22px;line-height:1;cursor:pointer;
  display:grid;place-items:center;padding-bottom:3px;transition:.15s}
.mpart .nav:hover{background:#fff}
.mpart .prev{left:12px}
.mpart .next{right:12px}
.mpart .count{position:absolute;top:14px;right:14px;z-index:3;background:rgba(0,0,0,.55);color:#fff;
  font-size:11px;padding:5px 9px;border-radius:4px}
.mpart .figcap{margin:0}
.mpart .figcap img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:#e6e2de}
.mpart .figcap figcaption{margin-top:12px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.mpart .qrow{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mpart .q{background:#fff;border-radius:12px;padding:26px 28px;display:flex;flex-direction:column}
.mpart .qn{display:block;font-size:12px;letter-spacing:.14em;color:var(--accent);margin-bottom:12px}
.mpart .q h3{font-size:19px;line-height:1.25}
.mpart .q p{margin-top:9px;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.mpart .qa{margin-top:auto;padding-top:16px;font-size:15px;color:var(--ink);font-weight:500}
.mpart .varblock{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin-top:36px;
  background:#fff;border-radius:14px;padding:32px}
.mpart .varblock .vtx h3{font-size:clamp(23px,2.6vw,30px);font-weight:300;margin:10px 0 14px}
.mpart .varblock .vtx p{font-size:16px;line-height:1.68;color:#333;max-width:52ch}
.mpart .varblock .vtx p+p{margin-top:12px}
.mpart .varblock .ilink{display:inline-block;margin-top:16px}
@media(max-width:1000px){
.mpart .qrow{grid-template-columns:1fr}
.mpart .varblock{grid-template-columns:1fr;gap:24px;padding:20px}
.mpart .varblock.rev .vtx{order:-1}
}
.mpart .two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.mpart .two>*{min-width:0}
.mpart .varblock{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.mpart .varblock>*{min-width:0}
.mpart .mslider{display:block!important;position:relative!important;width:100%;max-width:100%;min-width:0;
  height:auto!important;overflow:hidden!important;background:#1a1a1a}
.mpart .mtrack{position:absolute!important;inset:0;display:flex;width:100%}
.mpart .mslide{flex:0 0 100%;min-width:0;position:relative;height:100%}
.mpart .mslide img{width:100%;height:100%;object-fit:cover;max-width:100%}
@media(max-width:1000px){
.mpart .two, .mpart .varblock{grid-template-columns:1fr}
}
.mpart .mslide img.posbot{object-position:35% 88%}
.mpart .nextsec{background:var(--bg-2)!important;padding:60px 0!important}
.mpart .nextrow{background:var(--ink);color:#fff;border-radius:16px;overflow:hidden;
  padding:0!important;max-width:1320px;width:calc(100% - 64px);margin:0 auto}
.mpart .ntx{padding:52px 46px!important}
.mpart .nph{min-height:340px}
@media(max-width:1000px){
.mpart .nextrow{width:calc(100% - 36px)}
.mpart .ntx{padding:30px 24px!important}
.mpart .nph{min-height:220px}
}
.mpart .plainbox{margin-top:22px;background:#fff;border-radius:12px;padding:24px 30px}
.mpart .plainbox p{font-size:16.5px;line-height:1.7;color:#333;}
@media(max-width:1100px){

}

/* ---------------------------------------------------------------------------
   МП 06.09.2026. Боковые отступы .wrap — длинной записью.

   В макете у части блоков к .wrap добавлен второй класс, который задавал
   отступы сокращённо: .phead{padding:54px 0 30px}. Сокращённая запись
   обнуляет и горизонтальные отступы, а по весу селекторы равны, поэтому
   выигрывал тот, что ниже в файле, — и текст прижимался к краю экрана.

   Длинная запись ниже по файлу перебивает такие сокращения и при этом
   не трогает вертикальные отступы, которые блок задавал осмысленно.
   --------------------------------------------------------------------------- */
.mpart .wrap { padding-left: 32px; padding-right: 32px; }

@media (max-width: 640px) {
    .mpart .wrap { padding-left: 18px; padding-right: 18px; }
}


/* ---------------------------------------------------------------------------
   МП 06.09.2026. Кнопки с длинной подписью переносятся на телефоне.

   В макете у .btn стоит white-space:nowrap — расчёт на короткие надписи.
   Но «Подробнее о проектировании костровой зоны» и «Вернуться к разделу…»
   в одну строку шире экрана: кнопка распирала страницу, и вместе с ней
   уезжали вбок заголовок и текст соседнего блока.
   --------------------------------------------------------------------------- */
@media (max-width: 640px) {
    .mpart .btn {
        max-width: 100%;
        white-space: normal;
        text-align: center;
        line-height: 1.3;
    }
}


/* ---------------------------------------------------------------------------
   МП 06.09.2026. Мобильные правки статей раздела «Полезное».
   --------------------------------------------------------------------------- */
@media (max-width: 640px) {

    /* Оглавление на телефоне занимало целый экран списком якорей — прячем:
       на узком экране проще листать, чем прыгать. Как на лендингах разделов. */
    .mpart .toc { display: none; }

    /* Ряды фотографий — лентой со свайпом. В столбик три-четыре кадра подряд
       растягивали статью на несколько экранов и разрывали текст.
       align-items:flex-start обязателен: иначе flex тянет карточки на высоту
       самой высокой, содержимое вылезает и лента начинает листаться ещё и
       по вертикали. */
    .mpart .shots3,
    .mpart .shots2,
    .mpart .gal {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        margin-left: -18px;
        margin-right: -18px;
        padding: 0 18px;
    }

    .mpart .shots3::-webkit-scrollbar,
    .mpart .shots2::-webkit-scrollbar,
    .mpart .gal::-webkit-scrollbar { display: none; }

    .mpart .shots3 > *,
    .mpart .shots2 > *,
    .mpart .gal > * {
        flex: 0 0 86%;
        min-width: 0;
        scroll-snap-align: center;
        margin: 0;
    }

    .mpart .shots3 figcaption,
    .mpart .shots2 figcaption {
        font-size: 14px;
        line-height: 1.45;
    }
    /* Блок «Следующий шаг» — только текст и кнопка.
       Кадр под плашкой на телефоне занимал целый экран перед переходом,
       ради которого блок и стоит, и ничего не сообщал. */
    .mpart .nextsec .nph { display: none; }

    .mpart .nextsec .nextrow { grid-template-columns: 1fr; }
    /* Ряды карточек с фотографиями — тоже лентой. Это блоки «Готовые
       комплекты», «Мебель для костровой зоны» и переходы в соседние разделы:
       в столбик каждая карточка занимала по экрану. Текстовые блоки —
       чек-лист, разбор ошибок — оставлены как есть: их читают подряд,
       и свайп там мешал бы. */
    .mpart .kits,
    .mpart .fsub,
    .mpart .jump {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        margin-left: -18px;
        margin-right: -18px;
        padding: 0 18px;
    }

    .mpart .kits::-webkit-scrollbar,
    .mpart .fsub::-webkit-scrollbar,
    .mpart .jump::-webkit-scrollbar { display: none; }

    .mpart .kits > *,
    .mpart .fsub > *,
    .mpart .jump > * {
        flex: 0 0 86%;
        min-width: 0;
        scroll-snap-align: center;
        margin: 0;
    }

    /* Полоса вкладок в разборе ошибок прокручивается вбок, но по виду это
       незаметно. Затухание у правого края показывает, что вкладки есть
       дальше. Маска не требует лишней обёртки и не уезжает со скроллом. */
    .mpart .stnav {
        -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 26px), transparent);
        mask-image: linear-gradient(90deg, #000 calc(100% - 26px), transparent);
    }
    /* Раскрывающийся текст. Скрываем через :not(.is-open) на самом блоке,
       а не переключаем display у частей: у них разные исходные значения
       (block, flex, grid), и «display:block» при раскрытии ломал бы вёрстку. */
    .mpart .mpmore-box:not(.is-open) .mpmore { display: none; }

    .mpart .mpmore-box { cursor: pointer; }

    .mpart .mpmore-btn {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-top: 14px;
        padding: 10px 20px;
        border: 1px solid var(--line);
        border-radius: 999px;
        background: transparent;
        font: inherit;
        font-size: 15px;
        /* цвет берём от блока: кнопка стоит и на светлом фоне, и на тёмном */
        color: inherit;
        border-color: color-mix(in srgb, currentColor 38%, transparent);
        cursor: pointer;
    }

    .mpart .mpmore-btn::after { content: "↓"; }
    .mpart .mpmore-box.is-open .mpmore-btn::after { content: "↑"; }

    /* Цепочка «Порядок, а не размер участка» — десять слов подряд в столбик.
       На телефоне это экран текста, который ничего не добавляет к чек-листу
       над ним: там те же шаги, но с объяснениями. */
    .mpart .chain { display: none; }
}

/* На десктопе текст показан целиком, кнопка не нужна. */
@media (min-width: 641px) {
    .mpart .mpmore-btn { display: none; }
}
