:root{
  --paper:#F4F6F5; --ink:#0C1512; --mut:#5C6B66; --acc:#0F8A6A; --acc2:#FF6B4A;
  --line:rgba(12,21,18,.12); --card:#fff;
  --disp:'Prata',serif; --body:'Manrope',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font:16px/1.65 var(--body)}
::selection{background:var(--acc);color:#fff}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.rv{opacity:0;transform:translateY(20px);transition:.7s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1;transform:none}

/* шапка */
.hd{position:sticky;top:0;z-index:40;background:transparent;transition:.3s}
.hd.sc{background:rgba(244,246,245,.9);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.hd-in{display:flex;align-items:center;gap:26px;padding:18px 24px}
.logo{font:400 20px var(--disp);letter-spacing:.01em}
.logo::first-letter{color:var(--acc)}
.logo.light{color:#fff}
.nav{margin-left:auto;display:flex;gap:22px}
.nav a{font:600 14px var(--body);color:var(--mut);position:relative}
.nav a:hover{color:var(--ink)}
.nav a::after{content:'';position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--acc2);transition:.25s}
.nav a:hover::after{width:100%}
.burger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;padding:6px}
.burger i{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0}

/* герой */
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;padding:80px 24px 60px}
.hero-tag{font:700 12px var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--acc)}
.hero h1{font:400 clamp(34px,5vw,60px)/1.12 var(--disp);margin:16px 0 18px}
.hero-sub{color:var(--mut);font-size:17px;max-width:520px}
.hero-btns{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 24px;font:700 14px var(--body);border:1px solid var(--ink);transition:.2s}
.btn.acc{background:var(--acc);border-color:var(--acc);color:#fff}
.btn.acc:hover{background:var(--ink);border-color:var(--ink);transform:translateY(-2px)}
.btn.gh:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
.hero-card{background:var(--ink);color:#fff;padding:28px;transform:rotate(2deg);box-shadow:14px 14px 0 var(--acc);display:flex;flex-direction:column;gap:10px;transition:.3s}
.hero-card:hover{transform:rotate(0)}
.hc-t{font:700 11px var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--acc2)}
.hero-card a{font:400 19px var(--disp);border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:8px}
.hero-card a:hover{color:var(--acc2);border-color:var(--acc2)}
.hero-card span{color:rgba(255,255,255,.6);font-size:13px}

/* лента */
.ribbon{background:var(--acc2);color:#fff;overflow:hidden;transform:rotate(-1deg) scale(1.02);margin:26px 0}
.ribbon-row{display:flex;white-space:nowrap;width:max-content;animation:rb 26s linear infinite}
.ribbon-row span{font:700 12px var(--body);letter-spacing:.16em;padding:10px 0}
@keyframes rb{to{transform:translateX(-50%)}}

/* контент */
.content-sec{position:relative;padding:56px 24px 30px}
.sec-num{font:400 64px var(--disp);color:transparent;-webkit-text-stroke:1px var(--acc);position:absolute;top:26px;left:24px;opacity:.5}
.content{max-width:820px;margin-left:90px}
.content h1,.content h2,.content h3{font:400 26px/1.25 var(--disp);margin:22px 0 12px}
.content p{margin:0 0 14px;color:#2A3833}
.content ul,.content ol{margin:0 0 14px 20px}
.content a{color:var(--acc);border-bottom:1px solid}
.content img{max-width:100%;border-radius:6px}

/* контакты-полоса */
.cnt-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:30px 24px 80px}
.cnt-card{background:var(--card);border:1px solid var(--line);padding:22px;position:relative;transition:.25s}
.cnt-card::before{content:'';position:absolute;top:-1px;left:-1px;width:34px;height:3px;background:var(--acc2)}
.cnt-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(12,21,18,.1)}
.cnt-card span{font:700 11px var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.cnt-card b{display:block;margin-top:8px;font:400 18px var(--disp)}

/* внутренняя страница */
.pagehead{padding:70px 24px 10px;position:relative}
.pagehead h1{font:400 clamp(30px,4vw,46px) var(--disp)}

/* подвал */
.ft{background:var(--ink);color:#fff;margin-top:40px}
.ft-in{display:grid;grid-template-columns:1.2fr 1fr auto;gap:36px;padding:52px 24px 26px;align-items:start}
.ft p{color:rgba(255,255,255,.55);font-size:14px;margin-top:10px;max-width:320px}
.ft-c{display:flex;flex-direction:column;gap:8px;font-size:14px}
.ft-c a:hover{color:var(--acc2)}
.ft-r{display:flex;flex-direction:column;gap:6px;font-size:12px;color:rgba(255,255,255,.5);text-align:right}
.ft-cms{color:var(--acc)}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:50px}
  .hero-card{transform:none;box-shadow:8px 8px 0 var(--acc)}
  .cnt-strip{grid-template-columns:1fr}
  .content{margin-left:0}
  .sec-num{position:static;display:block;font-size:44px;margin-bottom:10px}
  .ft-in{grid-template-columns:1fr}
  .ft-r{text-align:left}
  .burger{display:block}
  .nav{position:fixed;inset:0;background:var(--paper);flex-direction:column;align-items:center;justify-content:center;gap:26px;transform:translateX(100%);transition:.3s}
  .nav.open{transform:none}
  .nav a{font-size:20px}
}