/* Консалтинг: шаблон главной. Одно слово на первом экране, дальше текст и несколько больших серых снимков. */
@font-face{font-family:Oswald;font-weight:200 700;font-display:swap;src:url(fonts/oswald-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Oswald;font-weight:200 700;font-display:swap;src:url(fonts/oswald-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Onest;font-weight:100 900;font-display:swap;src:url(fonts/onest-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-weight:100 900;font-display:swap;src:url(fonts/onest-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --bg:#ebe5e3; --surface:#e1dad7; --paper:#f8f4f2; --ink:#2b2622; --muted:#4e4642;
  --accent:#0f7d45; --accent-dk:#0b5a32; --accent-ink:#ffffff;
  --fd:Oswald,"Arial Narrow",Impact,sans-serif; --t:Onest,system-ui,-apple-system,"Segoe UI",sans-serif;
  --s-sm:1rem; --s-body:clamp(1.0625rem,1rem + .25vw,1.25rem); --s-lead:clamp(1.375rem,1.05rem + 1vw,2.125rem); --s-head:clamp(2.25rem,1.4rem + 3.4vw,4rem);
  --m:clamp(20px,5vw,80px); --g:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--s-body)/1.55 var(--t);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
p,figure,blockquote,dl,dd{margin:0}
h1,h2{margin:0;font-family:var(--fd);font-weight:600;letter-spacing:-.01em;line-height:1}
h2{font-size:var(--s-head)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.btn{display:inline-flex;align-items:center;min-height:48px;padding:0 26px;background:var(--accent);color:var(--accent-ink);font:500 var(--s-body)/1 var(--t);text-decoration:none;border:0;cursor:pointer;transition:background .25s,transform .25s}
.btn:hover{background:var(--accent-dk)} .btn:active{transform:translateY(2px)}
.btn--s{min-height:44px;padding:0 20px;font-size:var(--s-sm)}
.link,.ul{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.28em;transition:color .2s}
.link:hover,.ul:hover{color:var(--accent)}
.lead{font-size:var(--s-lead);line-height:1.22;letter-spacing:-.01em;font-weight:400;max-width:24em}

.top{display:flex;align-items:center;gap:28px;padding:18px var(--m);position:relative;z-index:3}
.mark{font:600 var(--s-body)/1 var(--fd);letter-spacing:.01em;text-decoration:none;text-transform:uppercase}
.top__nav{display:flex;gap:28px;margin-left:auto;font-size:var(--s-sm)}
.top__nav a{text-decoration:none;transition:color .2s} .top__nav a:hover{color:var(--accent)}

/* Одно слово, обрезанное краями окна */
.hero{position:relative;min-height:calc(100svh - 80px);overflow:hidden;padding:clamp(20px,5vh,64px) var(--m) 0}
.hero__copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(18px,3vh,32px);max-width:36em}
.hero__word{position:absolute;left:-3vw;bottom:-.14em;margin:0;font:700 clamp(15rem,44vw,50rem)/.8 var(--fd);letter-spacing:-.01em;white-space:nowrap;color:var(--ink);text-transform:uppercase;transform-origin:0 100%;transform:scale(calc(1 + var(--k,0) * .08))}
.js .hero__word{opacity:0;transition:opacity 1s ease .2s}
.js .hero__word.in{opacity:1}
.js .hero__copy>*{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .hero__copy>*.in{opacity:1;transform:none}

/* Итог и его квитанция */
.stats{background:var(--ink);color:var(--bg);display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--g);padding:clamp(90px,11vw,170px) var(--m)}
.stats__l{grid-column:1 / span 6;display:flex;flex-direction:column;min-height:min(78vh,780px)}
.stats__l h2{max-width:8em}
.stats__note{margin-top:20px;max-width:34em;font-size:var(--s-body)}
.stats__total{margin-top:auto;padding-top:48px;font:700 clamp(9rem,17vw,18rem)/.8 var(--fd);letter-spacing:-.02em}
.stats__cap{margin-top:16px;font-size:var(--s-body);max-width:22em}
.slip{grid-column:8 / span 5;align-self:start;max-width:440px;background:var(--paper);color:var(--ink);padding:30px 28px 46px;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),97.73% 100%,95.45% calc(100% - 10px),93.18% 100%,90.91% calc(100% - 10px),88.64% 100%,86.36% calc(100% - 10px),84.09% 100%,81.82% calc(100% - 10px),79.55% 100%,77.27% calc(100% - 10px),75% 100%,72.73% calc(100% - 10px),70.45% 100%,68.18% calc(100% - 10px),65.91% 100%,63.64% calc(100% - 10px),61.36% 100%,59.09% calc(100% - 10px),56.82% 100%,54.55% calc(100% - 10px),52.27% 100%,50% calc(100% - 10px),47.73% 100%,45.45% calc(100% - 10px),43.18% 100%,40.91% calc(100% - 10px),38.64% 100%,36.36% calc(100% - 10px),34.09% 100%,31.82% calc(100% - 10px),29.55% 100%,27.27% calc(100% - 10px),25% 100%,22.73% calc(100% - 10px),20.45% 100%,18.18% calc(100% - 10px),15.91% 100%,13.64% calc(100% - 10px),11.36% 100%,9.09% calc(100% - 10px),6.82% 100%,4.55% calc(100% - 10px),2.27% 100%,0 calc(100% - 10px))}
.slip__g{margin:22px 0 8px;font-size:var(--s-sm)} .slip__g:first-child{margin-top:0}
.slip__g b{font-weight:700}
.slip__r{display:flex;align-items:baseline;gap:8px;font-size:var(--s-sm);line-height:1.9;font-variant-numeric:tabular-nums}
.slip__r i{flex:1;overflow:hidden;white-space:nowrap;color:#8d827d;height:1.9em;line-height:1.9}
.slip__r i::before{content:"........................................................................"}
.slip__r span:last-child{font-weight:600;text-align:right}
.slip__t{display:flex;justify-content:space-between;margin-top:22px;padding:12px 14px;background:var(--ink);color:var(--paper);font:600 var(--s-body)/1 var(--fd);text-transform:uppercase;letter-spacing:.02em}

/* Услуги: полосы с переключателями */
.serv{padding-top:clamp(100px,12vw,190px)}
.serv__head{padding:0 var(--m);display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--g);row-gap:18px;margin-bottom:clamp(36px,5vw,64px)}
.serv__head h2{grid-column:1 / span 8;max-width:9em}
.serv__head p{grid-column:1 / span 6;max-width:30em}
.band{--bgc:var(--bg);--fg:var(--muted);display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--g);align-items:center;min-height:clamp(112px,20vh,200px);padding:0 var(--m);background:var(--bgc);color:var(--fg);transition:background .45s ease,color .45s ease}
.band__s{grid-column:1 / span 10;grid-row:1;font:500 var(--s-head)/1.05 var(--fd);letter-spacing:-.005em}
.band .sw{grid-column:11 / -1;grid-row:1;justify-self:end}
.band__d{grid-column:1 / span 9;grid-row:2;max-height:0;opacity:0;overflow:hidden;font-size:var(--s-body);transition:max-height .5s ease,opacity .45s ease,margin .45s ease}
.band.on{--fg:var(--ink);padding-top:22px;padding-bottom:22px}
.band.on .band__d{max-height:6em;opacity:1;margin-top:10px}
.band[data-c="1"].on{--bgc:var(--accent);--fg:#fff} .band[data-c="2"].on{--bgc:var(--ink);--fg:var(--bg)} .band[data-c="3"].on{--bgc:#cbbfba}
.band[data-c="4"].on{--bgc:var(--accent-dk);--fg:#fff} .band[data-c="5"].on{--bgc:#a99d98} .band[data-c="6"].on{--bgc:#d9cfca}
.sw{--h:clamp(1.9rem,1.5rem + 1.2vw,2.6rem);position:relative;width:calc(var(--h) * 1.8);height:var(--h);border:0;border-radius:99px;background:#cbbfba;cursor:pointer;transition:background .3s;padding:0;flex:none}
.sw i{position:absolute;top:calc(var(--h) * .125);left:calc(var(--h) * .125);width:calc(var(--h) * .75);height:calc(var(--h) * .75);border-radius:50%;background:#fff;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.sw[aria-checked="true"]{background:var(--ink)} .sw[aria-checked="true"] i{transform:translateX(calc(var(--h) * .8))}
.band[data-c="2"].on .sw{background:#7a6f6a} .band[data-c="1"].on .sw,.band[data-c="4"].on .sw{background:#06361d}
.pick{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px;padding:clamp(28px,4vw,48px) var(--m);background:var(--surface)}
.pick__t{font-size:var(--s-lead);line-height:1.2;max-width:24em;letter-spacing:-.01em}
.pick__act{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}

/* Один большой снимок как передышка */
.axis{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--g);padding-top:clamp(100px,12vw,190px)}
.axis__ph{grid-column:1 / -1;margin:0}
.axis__ph img{width:100%;height:auto;aspect-ratio:12/5;object-fit:cover}
.axis__t{grid-column:1 / span 7;margin:clamp(32px,4vw,56px) 0 0 var(--m);display:flex;flex-direction:column;gap:28px}
.axis__p{font-size:var(--s-body);max-width:34em}
.axis__tower{grid-column:9 / span 4;margin:clamp(-120px,-8vw,-48px) var(--m) 0 0;position:relative}
.axis__tower img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}

/* Отзывы: главная цитата и две в углах */
.quotes{margin-top:clamp(100px,12vw,190px);background:var(--ink);color:var(--bg);min-height:100svh;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto 1fr auto;column-gap:var(--g);padding:clamp(90px,12vw,170px) var(--m) clamp(32px,4vw,56px)}
.quotes blockquote{margin:0}
.quotes figcaption{margin-top:14px;font-size:var(--s-sm);color:#cdbfb9}
.quotes figure{margin:0}
.quotes__lead{grid-column:3 / span 8;grid-row:1;justify-self:center;text-align:left;max-width:22em}
.quotes__lead blockquote{font:400 var(--s-lead)/1.18 var(--t);letter-spacing:-.01em}
.quotes__c{grid-row:3;align-self:end}
.quotes__c blockquote{font-size:var(--s-body);line-height:1.5}
.quotes__c--l{grid-column:1 / span 4} .quotes__c--r{grid-column:9 / span 4}

.offices{padding:clamp(100px,12vw,190px) var(--m) 0}
.offices__row{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--g);margin-top:clamp(36px,5vw,64px);align-items:start}
.office{grid-column:1 / span 6;margin:0} .office--b{grid-column:8 / span 5;margin-top:clamp(48px,9vw,140px)}
.office img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover}
.office figcaption{margin-top:16px;font-size:var(--s-body);line-height:1.5}
.office b{display:block;font:600 var(--s-lead)/1.1 var(--fd);margin-bottom:4px}

/* Контакт: одно поле */
.contact{padding:clamp(120px,15vw,240px) var(--m) clamp(100px,12vw,170px);display:flex;flex-direction:column;align-items:flex-start;gap:clamp(48px,6vw,80px)}
.ask{width:min(520px,100%)}
.ask__q{font:500 var(--s-lead)/1.2 var(--t);letter-spacing:-.01em;color:var(--muted)} .ask__q span{color:var(--ink);display:block}
.ask__f{position:relative;display:block;margin-top:28px}
.ask__f input{width:100%;height:64px;padding:0 76px 0 20px;border:0;border-radius:0;background:var(--paper);color:var(--ink);font:400 var(--s-body)/1 var(--t);outline:none}
.ask__f input:focus{outline:2px solid var(--accent);outline-offset:-2px}
.ask__f button{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:var(--accent);color:#fff;font:500 1.5rem/1 var(--t);cursor:pointer;transition:background .2s,transform .2s}
.ask__f button:hover{background:var(--accent-dk)} .ask__f button:active{transform:translateX(2px)}
.ask__n{margin-top:16px;font-size:var(--s-sm);color:var(--muted)}
.rows{display:grid;gap:22px;width:min(520px,100%)}
.rows>div{display:grid;grid-template-columns:7em 1fr;gap:16px;align-items:baseline}
.rows dt{font-size:var(--s-sm);color:var(--muted)} .rows dd{font-size:var(--s-body)}

/* Подвал: имя первым */
.foot{background:var(--ink);color:var(--bg);padding:clamp(48px,6vw,96px) var(--m) 28px;overflow:hidden}
.foot__name{font:700 clamp(2rem,11.3vw,15rem)/.88 var(--fd);letter-spacing:-.01em;white-space:nowrap;text-transform:uppercase;margin:0 0 clamp(40px,6vw,88px)}
.foot__row{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--g);align-items:start}
.foot__places{grid-column:1 / span 5;display:flex;flex-direction:column;gap:8px}
.foot__places a{font-size:var(--s-lead);line-height:1.15;text-decoration:none;color:#9ad7b4;transition:color .2s} .foot__places a:hover{color:#fff;text-decoration:underline}
.foot__links{grid-column:8 / -1;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;font-size:var(--s-sm)}
.foot__links a{text-decoration:none;transition:opacity .2s} .foot__links a:hover{opacity:.65}
.foot__legal{display:grid;grid-template-columns:1fr auto;gap:12px 24px;margin-top:clamp(56px,7vw,110px);font-size:var(--s-sm);color:#cdbfb9;align-items:start}
.foot__legal p{max-width:68ch;line-height:1.5}
.foot__credits{grid-column:1 / -1;order:3}

.rv{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
.js .rv{opacity:0;transform:translateY(26px)} .js .rv.in{opacity:1;transform:none}

@media (max-width:860px){
  .top__nav{display:none} .top{justify-content:space-between}
  .hero{min-height:calc(100svh - 72px)}
  .hero__copy{max-width:47%;gap:20px}
  .hero__copy .lead{font-size:1.125rem;line-height:1.3}
  .hero__copy .btn{padding:0 16px;min-height:48px;line-height:1.15;text-align:left}
  .hero__word{writing-mode:vertical-rl;left:auto;right:-13vw;top:-4vh;bottom:auto;font-size:68vw;line-height:.8;transform:none}
  .stats{display:flex;flex-direction:column;gap:48px}
  .stats__l{min-height:0} .stats__total{font-size:40vw;padding-top:36px}
  .slip{max-width:none;width:100%}
  .serv__head h2,.serv__head p{grid-column:1 / -1}
  .band__s{grid-column:1 / span 9;font-size:1.75rem} .band .sw{grid-column:10 / -1}
  .band__d{grid-column:1 / -1}
  .axis__ph img{aspect-ratio:4/3} .axis__t{grid-column:1 / -1;margin:28px var(--m) 0} .axis__tower{grid-column:3 / -1;margin:36px var(--m) 0 0}
  .quotes{display:flex;flex-direction:column;gap:32px;min-height:0}
  .quotes__lead{max-width:none}
  .quotes__c--r{padding-left:22%}
  .office,.office--b{grid-column:1 / -1;margin-top:28px}
  .rows>div{grid-template-columns:1fr;gap:4px}
  .foot__row{display:flex;flex-direction:column;gap:28px}
  .foot__places a{font-size:1.5rem}
  .foot__legal{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important;scroll-behavior:auto !important}
  .js .rv,.js .hero__copy>*,.js .hero__word{opacity:1 !important;transform:none !important}
  .hero__word{transform:none !important}
}
