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

}

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

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

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

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


/* ---------------------------------------------------------------------------
   МП 06.09.2026. Мобильная раскладка раздела.

   1. Оглавление (.toc) на телефоне занимало целый экран списком якорей —
      прячем: на узком экране проще листать, чем прыгать.
   2. Товарные ряды оставались в три колонки, потому что число колонок
      прописано инлайн в разметке, а инлайн сильнее любого селектора.
      Отсюда !important: обычным правилом его не перебить.
   3. Длинные названия («Скамьи полукруглые», «Ландшафтный светильник»)
      обрезались краем карточки: слово не переносилось. Разрешаем перенос.
   --------------------------------------------------------------------------- */
@media (max-width: 640px) {

    .fplhran .toc { display: none; }

    .fplhran .prods,
    .fplhran .prods.four,
    .fplhran .prods.five,
    .fplhran .forms,
    .fplhran .kits,
    .fplhran .jump,
    .fplhran .kash,
    .fplhran .mist {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }

    .fplhran .pc .bd { padding: 12px 12px 14px; }

    .fplhran .pc h3 {
        font-size: 16px;
        line-height: 1.25;
        overflow-wrap: anywhere;
        hyphens: auto;
    }

    .fplhran .pc .why {
        font-size: 13px;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .fplhran .pc .pr {
        font-size: 15px;
        white-space: nowrap;
    }
}


/* ---------------------------------------------------------------------------
   МП 06.09.2026. Слайдеры #disk и #finn ниже 900px: static заменён на relative.

   В макете эти слайдеры на десктопе липкие (position:sticky), а ниже 900px
   правило сбрасывало их в position:static. При этом дорожка со слайдами
   внутри — position:absolute; inset:0. У статичного слайдера она теряет его
   как систему координат и раскладывается от корня страницы: семь слайдов
   шириной в экран каждый дают документ в 2730px.

   Отсюда всё сразу: страница уезжала вбок, текст «разъезжался», в области
   первого экрана вместо картинки оказывалась растянутая листалка, а кадры
   в блоке «Способ 2» показывались чёрным полем (фон слайдера #1a1a1a).
   На десктопе не проявлялось — правило живёт только ниже 900px.

   Лечится одним словом: слайдер должен остаться позиционированным.
   relative снимает липкость, но сохраняет систему координат для дорожки.
   --------------------------------------------------------------------------- */
@media (max-width: 900px) {
    .fplhran #disk .mslider,
    .fplhran #finn .mslider {
        position: relative;
        /* top остаётся от липкого варианта (132px) и сдвигает картинку вниз,
           тогда как место в потоке она занимает на прежнем уровне — отсюда
           наезд на текст под собой. Сбрасываем вместе с position. */
        top: auto;
    }
}


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

    /* «Крышка или искрогаситель» — лентой. Две карточки в столбик занимали
       два экрана, а смысл блока в сравнении: их нужно видеть рядом. */
    .fplhran #chto-vybrat .two {
        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;
    }

    .fplhran #chto-vybrat .two::-webkit-scrollbar { display: none; }

    .fplhran #chto-vybrat .two > * {
        flex: 0 0 86%;
        min-width: 0;
        scroll-snap-align: center;
        margin: 0;
    }
}

/* --- Блок «Костровая зона начинается с чаши» -------------------------------
   Кадр из блока убран, поэтому текст и кнопка занимают всю ширину плашки,
   а не половину.

   Плашку возвращаем на чёрный. В файл со стилями макета затесалось правило
   .nextsec{background:var(--bg-2)!important} — оно из другой страницы,
   где такой блок светлый. Здесь же заголовок и текст белые
   (.ntx h2{color:#fff}), и на светлом фоне они пропадали. */
.fplhran .nextsec {
    background: var(--ink) !important;
    padding: 0 !important;
}

.fplhran .nextsec .nextrow {
    grid-template-columns: 1fr;
}

.fplhran .nextsec .ntx {
    padding: 52px 46px !important;
}

@media (max-width: 640px) {
    .fplhran .nextsec .ntx {
        padding: 34px 22px !important;
    }
}


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

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