
*{box-sizing:border-box;margin:0;padding:0}
:root{--ink:#1a1a1a;--mid:#666;--line:#c9c9c9;--bg:#fff;--soft:#f4f4f4;--max:1180px}
body{font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ink);background:var(--bg)}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
h1{font-size:clamp(28px,4vw,44px);line-height:1.15;letter-spacing:-.02em;margin-bottom:14px}
h2{font-size:clamp(22px,2.6vw,30px);letter-spacing:-.01em;margin:0 0 8px}
h3{font-size:18px;margin-bottom:6px}
h4{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--mid);margin-bottom:10px}
p{color:#333}

.wf-flag{background:#111;color:#fff;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;text-align:center;padding:6px}

/* nav */
.nav{border-bottom:1px solid var(--line);display:flex;align-items:center;gap:32px;
  max-width:var(--max);margin:0 auto;padding:14px 24px;position:relative;background:#fff}
.logo-box{display:inline-block;border:1px dashed var(--line);color:var(--mid);
  font-size:11px;letter-spacing:.1em;padding:12px 20px}
.menu{list-style:none;display:flex;gap:26px;margin-left:auto;align-items:center}
.menu>li{position:relative}
.menu>li>a{font-size:14px;padding:10px 0;display:inline-block;border-bottom:2px solid transparent}
.menu>li>a.on{border-bottom-color:var(--ink)}
.caret{font-size:9px;color:var(--mid)}
.sub{list-style:none;position:absolute;top:100%;left:-16px;min-width:270px;background:#fff;
  border:1px solid var(--line);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(4px);
  transition:.14s;z-index:40;box-shadow:0 6px 20px rgba(0,0,0,.07)}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none}
.sub li a{display:block;padding:8px 18px;font-size:14px}
.sub li a:hover{background:var(--soft)}
.sub-group{padding:12px 18px 4px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mid);border-top:1px solid var(--line);margin-top:6px}
.sub li:first-child+.sub-group{border-top:0;margin-top:0}

/* hero */
.hero{padding:74px 0 62px;border-bottom:1px solid var(--line)}
.hero-sm{padding:46px 0 40px}
.kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);margin-bottom:14px}
.lead{font-size:18px;color:#444;max-width:62ch}
.btns{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.btn{display:inline-block;margin-top:26px;border:1px solid var(--ink);padding:11px 22px;
  font-size:14px;background:var(--ink);color:#fff}
.btns .btn{margin-top:0}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-sm{padding:8px 16px;font-size:13px;margin-top:12px}

/* bands + sections */
.band{background:var(--soft);border-bottom:1px solid var(--line);padding:30px 0}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.stats strong{display:block;font-size:22px}
.stats span{font-size:13px;color:var(--mid)}
section.wrap{padding:52px 24px}
.sec-lead{color:var(--mid);margin-bottom:26px;max-width:62ch}

/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}
.card{border:1px solid var(--line);padding:18px;display:block;transition:.14s}
.card:hover{border-color:var(--ink)}
.card h3{margin-top:14px}
.card p{font-size:14px;color:var(--mid)}
.more{font-size:13px;border-bottom:1px solid var(--ink);display:inline-block;margin-top:12px}

/* placeholders */
.ph{border:1px dashed var(--line);background:repeating-linear-gradient(45deg,#fafafa,#fafafa 8px,#f2f2f2 8px,#f2f2f2 16px);
  color:var(--mid);font-size:12px;display:flex;align-items:center;justify-content:center;height:130px}
.ph-lg{height:210px}
.ph-sm{height:60px}

/* services */
.sgroup{padding-top:10px}
.sgroup h2,.sgroup h3{margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.sgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:34px}
.srv{border:1px solid var(--line);padding:16px;display:block;transition:.14s}
.srv:hover{border-color:var(--ink)}
.srv strong{display:block;margin-bottom:5px}
.srv span{font-size:13px;color:var(--mid)}

/* detail */
.split{display:grid;grid-template-columns:1fr 320px;gap:44px;align-items:start}
.col-main h3{margin:26px 0 10px}
.ticks{list-style:none}
.ticks li{padding:9px 0 9px 24px;border-bottom:1px solid var(--line);position:relative;font-size:15px}
.ticks li:before{content:"+";position:absolute;left:0;color:var(--mid)}
.note{border:1px solid var(--line);padding:16px;margin-top:16px}
.note strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.note p{font-size:14px;color:var(--mid)}
.back{font-size:14px;border-bottom:1px solid var(--ink)}
.cta{text-align:center}
.cta p{margin-bottom:4px;color:var(--mid)}

/* footer */
.foot{border-top:1px solid var(--line);background:var(--soft);padding:40px 0 28px;margin-top:20px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:26px}
.cols a{display:block;font-size:13px;color:var(--mid);padding:3px 0}
.cols a:hover{color:var(--ink)}
.fine{margin-top:28px;font-size:12px;color:var(--mid);border-top:1px solid var(--line);padding-top:16px}

.burger{display:none}

@media(max-width:900px){
  .wrap{padding:0 20px}
  .nav{flex-wrap:wrap;gap:0;padding:12px 20px;justify-content:space-between;align-items:center}
  .burger{display:block;border:1px solid var(--ink);background:#fff;color:var(--ink);
    font:inherit;font-size:13px;padding:9px 16px;cursor:pointer;line-height:1}
  .menu{display:none;width:100%;flex-direction:column;gap:0;margin:12px 0 0;
    border-top:1px solid var(--line)}
  .nav.open .menu{display:flex}
  .menu>li{width:100%;border-bottom:1px solid var(--line)}
  .menu>li>a{display:flex;justify-content:space-between;align-items:center;width:100%;
    padding:15px 0;border-bottom:0;font-size:16px}
  .menu>li>a.on{border-bottom:0;font-weight:600}
  .caret{font-size:11px}
  .sub{position:static;min-width:0;border:0;box-shadow:none;padding:0 0 12px;
    opacity:1;visibility:visible;transform:none}
  .has-sub:hover .sub,.has-sub:focus-within .sub{display:none}
  .has-sub .sub{display:none}
  .has-sub.open .sub{display:block}
  .has-sub.open>a .caret{transform:rotate(180deg);display:inline-block}
  .sub li a{padding:11px 0 11px 16px;font-size:15px;color:#444}
  .sub li a:hover{background:none}
  .sub-group{padding:14px 0 4px 16px;border-top:1px solid var(--line);margin-top:8px}

  .hero{padding:42px 0 36px}
  .hero-sm{padding:32px 0 28px}
  section.wrap{padding:36px 20px}
  .stats{grid-template-columns:1fr;gap:16px}
  .split{grid-template-columns:1fr;gap:28px}
  .btns{flex-direction:column;align-items:stretch}
  .btns .btn{text-align:center}
  .grid,.sgrid{grid-template-columns:1fr}
  .cols{grid-template-columns:1fr 1fr}
}

@media(max-width:420px){
  h1{font-size:26px}
  .lead{font-size:16px}
  .cols{grid-template-columns:1fr}
}
