:root { --ink:#171a1b; --paper:#f5f4f0; --red:#dd241f; --muted:#717778; --line:#d9d9d5; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Manrope,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1200px,calc(100% - 64px)); margin:0 auto; }
.skip-link { position:fixed; left:12px; top:-60px; z-index:30; padding:10px 16px; background:#fff; color:#000; transition:top .2s; }
.skip-link:focus { top:12px; }
.site-header { position:absolute; inset:0 0 auto; z-index:10; color:#fff; border-bottom:1px solid rgba(255,255,255,.18); }
.header-inner { height:88px; display:flex; align-items:center; gap:38px; }
.brand { display:inline-flex; align-items:center; gap:11px; font-family:Oswald,sans-serif; text-transform:uppercase; font-size:21px; font-weight:600; letter-spacing:.05em; white-space:nowrap; }
.brand-mark { width:34px; height:34px; display:inline-block; position:relative; flex:0 0 auto; overflow:hidden; background:linear-gradient(135deg,#f05b43 0%,var(--red) 58%,#bd271c 100%); clip-path:polygon(0 0,100% 0,100% 78%,78% 100%,0 100%); box-shadow:3px 3px 0 rgba(0,0,0,.18); }
.brand-mark::before,.brand-mark::after { content:""; position:absolute; z-index:2; background:#fff; }
.brand-mark::before { width:22px; height:5px; left:6px; top:8px; }
.brand-mark::after { width:7px; height:18px; left:14px; top:8px; }
.brand-mark i,.brand-mark b { position:absolute; z-index:1; display:block; background:rgba(255,255,255,.22); }
.brand-mark i { width:100%; height:2px; left:0; bottom:6px; }
.brand-mark b { width:2px; height:100%; right:6px; top:0; }
.site-nav { display:flex; align-items:center; gap:26px; margin:auto; font-size:13px; font-weight:700; }
.site-nav a { opacity:.72; transition:opacity .2s; }.site-nav a:hover { opacity:1; }
.header-phone { font-weight:800; font-size:13px; white-space:nowrap; }
.menu-toggle { display:none; }
.hero { min-height:730px; position:relative; overflow:hidden; color:#fff; background:linear-gradient(115deg,#171a1b 0%,#171a1b 42%,#22292a 100%); }
.hero::before { content:""; position:absolute; inset:0; opacity:.55; background:repeating-linear-gradient(156deg,transparent 0 46px,rgba(255,255,255,.05) 47px 48px),linear-gradient(90deg,rgba(0,0,0,.08),transparent 68%); }
.hero-grid { position:absolute; z-index:1; width:72vw; height:72vw; right:-25vw; bottom:-40vw; border:1px solid rgba(255,255,255,.08); transform:rotate(-25deg); background:repeating-linear-gradient(90deg,transparent 0 54px,rgba(255,255,255,.06) 55px),repeating-linear-gradient(0deg,transparent 0 54px,rgba(255,255,255,.06) 55px); }
.hero-photo { position:absolute; z-index:0; right:0; top:0; width:57%; height:100%; background-image:linear-gradient(90deg,#171a1b 0%,rgba(23,26,27,.86) 7%,rgba(23,26,27,.12) 52%,rgba(23,26,27,.34)),url('assets/hero-worksite.jpg'); background-position:center,center; background-size:cover; clip-path:polygon(19% 0,100% 0,100% 100%,0 100%); filter:saturate(.78) contrast(1.08); }
.hero-shape { z-index:1; position:absolute; background:var(--red); transform:skewY(-26deg); }.hero-shape--one { width:450px; height:86px; right:-55px; top:188px; opacity:.96; }.hero-shape--two { width:270px; height:20px; right:278px; top:424px; opacity:.7; }
.hero-content { position:relative; z-index:2; padding:187px 0 76px; }
.eyebrow { margin:0 0 23px; color:rgba(255,255,255,.68); letter-spacing:.105em; font-size:11px; font-weight:800; text-transform:uppercase; display:flex; align-items:center; gap:10px; }.eyebrow span { display:inline-block; width:24px; height:2px; background:var(--red); }.eyebrow--dark{color:#737878;}
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:Oswald,Arial,sans-serif; text-transform:uppercase; line-height:.99; letter-spacing:-.025em; }
h1 { max-width:830px; font-size:clamp(50px,7vw,100px); font-weight:600; margin-bottom:30px; } h1 em { color:var(--red); font-style:normal; }
.hero-copy { max-width:475px; color:#c5c8c8; font-size:16px; line-height:1.6; margin-bottom:34px; }
.hero-actions { display:flex; align-items:center; gap:31px; }.button { min-height:53px; display:inline-flex; align-items:center; justify-content:center; gap:19px; padding:0 22px; font-size:12px; font-weight:800; transition:transform .2s,background .2s; }.button:hover { transform:translateY(-2px); }.button span,.service-card a span,.contact-address span { font-size:18px; line-height:1; }.button--red { background:var(--red); color:#fff; }.button--light { background:#fff; color:var(--ink); }.button--full { width:100%; }
.text-link { padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,.5); font-size:12px; font-weight:800; }.text-link span { margin-left:10px; font-size:16px; }
.hero-note { display:flex; align-items:center; gap:12px; margin-top:100px; color:#a4a7a7; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }.note-line { width:65px; height:1px; background:#707273; }
.section { padding:125px 0; }.section-heading { display:grid; grid-template-columns:1.15fr 1fr; column-gap:50px; align-items:end; margin-bottom:55px; }.section-heading .eyebrow { grid-column:1/-1; }.section-heading h2,.process-intro h2,.about-panel h2,.contact-copy h2 { margin:0; font-size:clamp(40px,5.1vw,68px); font-weight:600; }.section-heading>p:last-child { margin:0 0 5px; max-width:370px; color:var(--muted); line-height:1.65; font-size:14px; }
.services-section { background:var(--paper); }.services-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.service-card { min-height:370px; position:relative; padding:24px; display:flex; flex-direction:column; background:#e8e8e4; overflow:hidden; }.service-card--featured { color:#fff; background:#252b2c; }.service-card--accent { color:#fff; background:var(--red); }.service-number { position:relative;z-index:2;font-size:11px; letter-spacing:.08em; font-weight:800; opacity:.65; }.service-card h3 { position:relative; z-index:2; margin:54px 0 17px; font-size:29px; font-weight:600; }.service-card p { position:relative; z-index:2; margin:0; max-width:240px; font-size:12px; line-height:1.65; color:#707575; }.service-card--featured p,.service-card--accent p{color:rgba(255,255,255,.7)}.service-card a { position:relative; z-index:2; margin-top:auto; display:flex; justify-content:space-between; align-items:center; padding-top:18px; border-top:1px solid rgba(22,25,26,.18); font-size:11px; font-weight:800; }.service-card--featured a,.service-card--accent a{border-color:rgba(255,255,255,.25)}.service-card--with-image{color:#fff;background:#252b2c}.service-card--with-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,15,16,.2) 0%,rgba(12,15,16,.2) 30%,rgba(12,15,16,.92) 100%);z-index:1}.service-card--with-image p{color:rgba(255,255,255,.77)}.service-card--with-image a{border-color:rgba(255,255,255,.3)}.service-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.78)}
.material-chips{position:absolute;right:-15px;top:22px;width:132px;height:132px;transform:rotate(23deg)}.material-chips i{position:absolute;width:70px;height:70px;border-radius:50% 43% 52% 48%;background:#b2b5ae;box-shadow:inset 10px -8px 0 rgba(0,0,0,.13)}.material-chips i:nth-child(1){left:8px;top:6px}.material-chips i:nth-child(2){right:0;top:39px;background:#878c88}.material-chips i:nth-child(3){left:24px;bottom:0;background:#d3d2c7}.card-icon{position:absolute;right:24px;top:39px;width:90px;height:70px;opacity:.78}.card-icon--road i{position:absolute;top:0;bottom:0;width:13px;background:#c1c4c0;transform:skewX(-22deg)}.card-icon--road i:nth-child(1){left:7px}.card-icon--road i:nth-child(2){left:39px}.card-icon--road i:nth-child(3){left:71px}.card-icon--repair{border:4px solid #969b98;border-radius:50%;width:59px;height:59px;transform:rotate(18deg)}.card-icon--repair i{position:absolute;background:#969b98}.card-icon--repair i:first-child{width:69px;height:8px;left:-9px;top:22px}.card-icon--repair i:last-child{width:8px;height:69px;top:-9px;left:22px}.card-icon--snow{font-size:70px;text-align:center;line-height:1;color:#fff}
.snow-service{grid-column:1/-1;position:relative;min-height:205px;overflow:hidden;display:grid;grid-template-columns:.55fr 1.35fr .75fr;align-items:center;gap:32px;padding:35px 42px;color:#fff;background:#252b2c}.snow-service::before{content:"";position:absolute;inset:0;opacity:.32;background:radial-gradient(circle at 8% 35%,#fff 0 2px,transparent 3px),radial-gradient(circle at 27% 58%,#fff 0 1px,transparent 2px),radial-gradient(circle at 50% 23%,#fff 0 2px,transparent 3px),radial-gradient(circle at 74% 70%,#fff 0 1px,transparent 2px),radial-gradient(circle at 91% 33%,#fff 0 2px,transparent 3px);background-size:190px 145px}.snow-service::after{content:"";position:absolute;width:380px;height:380px;right:-74px;top:-172px;border:1px solid rgba(255,255,255,.12);transform:rotate(27deg);background:repeating-linear-gradient(90deg,transparent 0 42px,rgba(255,255,255,.08) 43px),repeating-linear-gradient(0deg,transparent 0 42px,rgba(255,255,255,.08) 43px)}.snow-service>*{position:relative;z-index:1}.snow-service__number{align-self:start;color:rgba(255,255,255,.7);font-size:12px;font-weight:800;letter-spacing:.08em}.snow-service__number span{display:block;margin-top:8px;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.snow-service h3{font-size:38px;margin:0 0 11px}.snow-service p{max-width:370px;margin:0;color:rgba(255,255,255,.72);font-size:13px;line-height:1.6}.snow-service .button{justify-self:end;white-space:nowrap}
.extra-service{grid-column:span 2;position:relative;min-height:335px;overflow:hidden;background:#252b2c;color:#fff}.extra-service>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72)}.extra-service::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,16,17,.14) 12%,rgba(13,16,17,.9) 92%)}.extra-service__content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;padding:26px}.extra-service__content>span{font-size:11px;font-weight:800;letter-spacing:.08em;opacity:.7}.extra-service h3{margin:50px 0 12px;font-size:36px}.extra-service p{margin:0;max-width:310px;color:rgba(255,255,255,.76);font-size:12px;line-height:1.65}.extra-service a{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:17px;border-top:1px solid rgba(255,255,255,.3);font-size:11px;font-weight:800}.extra-service a b{font-size:18px;font-weight:400}
.about-section { background:var(--ink); color:#fff; padding:0; }.about-layout{display:grid;grid-template-columns:1.1fr .9fr}.about-panel{padding:106px 8vw 106px 0}.about-panel h2{margin-bottom:28px}.about-panel>p:not(.eyebrow){max-width:490px;color:#b8bcbb;line-height:1.7;font-size:14px;margin-bottom:32px}.about-list{border-left:1px solid rgba(255,255,255,.17);padding:72px 0 72px 54px;display:flex;flex-direction:column;justify-content:center;gap:28px}.about-list div{border-bottom:1px solid rgba(255,255,255,.17);padding-bottom:25px;display:grid;grid-template-columns:45px 1fr;gap:18px}.about-list span{color:var(--red);font-size:11px;font-weight:800}.about-list p{margin:0;max-width:315px;font-size:15px;line-height:1.55}
.process-section{background:#e8e8e4}.process-intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:63px}.process-intro .eyebrow{margin:0 0 6px}.process-list{list-style:none;margin:0;padding:0;border-top:1px solid #bfc1be}.process-list li{display:grid;grid-template-columns:100px 1fr;gap:50px;padding:30px 0;border-bottom:1px solid #bfc1be}.process-list span{color:var(--red);font-size:12px;font-weight:800}.process-list div{display:flex;justify-content:space-between;gap:40px}.process-list h3{font-size:29px;margin:0}.process-list p{max-width:365px;color:#707575;font-size:13px;line-height:1.65;margin:0}
.quote-section{color:#fff;background:var(--red);padding:88px 0;position:relative;overflow:hidden}.quote-section::after{content:"";position:absolute;right:-10%;bottom:-70%;height:190%;width:50%;border:1px solid rgba(255,255,255,.18);transform:rotate(27deg);background:repeating-linear-gradient(90deg,transparent 0 54px,rgba(255,255,255,.06) 55px),repeating-linear-gradient(0deg,transparent 0 54px,rgba(255,255,255,.06) 55px)}.quote-layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr .8fr;gap:8vw;align-items:center}.quote-section .eyebrow{color:rgba(255,255,255,.72)}.quote-section .eyebrow span{background:#fff}.quote-section h2{font-size:clamp(44px,5.5vw,73px);margin:0}.quote-card{background:#fff;color:var(--ink);padding:32px}.quote-card>p{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#727777;margin-bottom:17px}.quote-card ol{list-style:none;padding:0;margin:0 0 25px}.quote-card li{display:grid;grid-template-columns:32px 1fr;gap:10px;border-top:1px solid var(--line);padding:14px 0;font-size:12px;line-height:1.45;font-weight:700}.quote-card li span{color:var(--red);font-size:10px}.quote-card .button{margin-top:4px}
.projects-section{background:var(--paper)}.projects-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.projects-heading .eyebrow{margin-bottom:19px}.projects-heading h2{font-size:clamp(40px,5.1vw,68px);margin:0}.projects-heading>p{max-width:320px;color:#707575;font-size:13px;line-height:1.65;margin:0 0 5px}.projects-grid{display:grid;grid-template-columns:1.5fr .75fr .75fr;gap:12px}.project{position:relative;margin:0;min-height:390px;overflow:hidden;background:#2a3031}.project--large{min-height:390px}.project img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .5s ease}.project:first-child img{object-position:center}.project::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(9,11,12,.86));pointer-events:none}.project:hover img{transform:scale(1.04)}.project figcaption{position:absolute;z-index:1;bottom:22px;left:22px;color:#fff;font:600 22px Oswald,sans-serif;text-transform:uppercase;letter-spacing:-.02em}
.contacts-section{position:relative;overflow:hidden;color:#fff;background:#252a2b}.contacts-section::after{content:"";position:absolute;right:-10%;top:-62%;width:65%;height:180%;border:1px solid rgba(255,255,255,.08);transform:rotate(28deg);background:repeating-linear-gradient(90deg,transparent 0 54px,rgba(255,255,255,.045) 55px),repeating-linear-gradient(0deg,transparent 0 54px,rgba(255,255,255,.045) 55px)}.contacts-layout{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center;padding:114px 0}.contact-copy h2{margin-bottom:24px}.contact-copy>p:not(.eyebrow){color:#b7bbbb;max-width:360px;font-size:14px;line-height:1.65}.contact-card{padding:38px;background:#fff;color:var(--ink);box-shadow:0 22px 45px rgba(0,0,0,.18)}.contact-phone{display:block;font-family:Oswald,sans-serif;font-size:35px;font-weight:600;letter-spacing:-.03em;margin-bottom:31px}.contact-address{display:block;padding:18px 0 27px;border-top:1px solid var(--line);color:#6c7272;font-size:12px;line-height:1.7;margin-bottom:24px}.contact-address span{float:right;color:var(--red)}
.contact-email{display:flex;align-items:center;justify-content:space-between;padding:0 0 18px;color:#6c7272;font-size:13px;font-weight:700}.contact-email span{font-size:18px;color:var(--red)}
.contact-email-note{margin:0 0 20px;padding:13px 0 0;border-top:1px solid var(--line);color:#535a5a;font-size:14px;line-height:1.55}
.site-footer{background:#151819;color:#fff}.footer-inner{min-height:100px;display:flex;align-items:center;gap:36px}.footer-inner p{margin:0 auto 0 0;color:#8a8e8d;font-size:10px;line-height:1.55;text-transform:uppercase;letter-spacing:.05em;max-width:355px}.footer-inner>span{color:#8a8e8d;font-size:10px;white-space:nowrap}
.quick-call{display:none}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media (max-width:900px){.shell{width:min(100% - 40px,700px)}.header-inner{height:76px}.header-phone{display:none}.site-nav{gap:17px;margin-left:auto}.hero{min-height:690px}.hero-content{padding-top:160px}.hero-photo{width:65%;opacity:.72}.services-grid{grid-template-columns:repeat(2,1fr)}.section-heading{grid-template-columns:1fr;gap:20px}.about-layout,.contacts-layout,.quote-layout{grid-template-columns:1fr;gap:35px}.about-panel{padding:80px 0 46px}.about-list{border-left:0;border-top:1px solid rgba(255,255,255,.17);padding:42px 0 70px}.contacts-layout{padding:82px 0}.contact-copy{margin-bottom:42px}.projects-heading{display:block}.projects-heading>p{margin-top:20px}.projects-grid{grid-template-columns:1.2fr 1fr}.project--large{grid-row:span 2}.project{min-height:200px}.snow-service{grid-template-columns:1fr 2fr;padding:32px}.snow-service .button{grid-column:2;justify-self:start}.extra-service{grid-column:1/-1;min-height:310px}.section{padding:88px 0}}
@media (max-width:620px){body{padding-bottom:58px}.shell{width:calc(100% - 32px)}.site-nav{position:absolute;left:0;right:0;top:76px;display:none;flex-direction:column;align-items:flex-start;gap:0;padding:10px 16px 16px;background:#171a1b;border-top:1px solid rgba(255,255,255,.15)}.site-nav.is-open{display:flex}.site-nav a{display:block;width:100%;padding:12px 0}.menu-toggle{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:7px 0;border:0;background:transparent;color:#fff;cursor:pointer}.menu-toggle span{display:block;width:17px;height:2px;background:#fff}.menu-toggle em{font:700 10px Manrope,sans-serif;font-style:normal;margin-left:5px;text-transform:uppercase}.hero{min-height:660px}.hero-photo{width:100%;clip-path:none;opacity:.36;background-image:linear-gradient(90deg,rgba(23,26,27,.88),rgba(23,26,27,.74)),url('assets/hero-worksite.jpg')}.hero-content{padding-top:140px}.hero h1{font-size:52px}.hero-copy{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-note{margin-top:70px;font-size:8px}.hero-shape--one{right:-145px;top:184px}.hero-shape--two{right:-80px;top:322px}.section{padding:72px 0}.section-heading{margin-bottom:36px}.section-heading h2,.process-intro h2,.about-panel h2,.contact-copy h2,.projects-heading h2,.quote-section h2{font-size:43px}.services-grid{grid-template-columns:1fr}.service-card{min-height:294px}.service-card h3{margin-top:47px}.snow-service{display:block;min-height:0;padding:28px 24px}.snow-service__number{margin-bottom:42px}.snow-service h3{font-size:35px}.snow-service p{margin-bottom:25px}.snow-service .button{width:100%}.extra-service{grid-column:auto;min-height:285px}.extra-service h3{font-size:33px;margin-top:40px}.process-intro{display:block;margin-bottom:38px}.process-intro .eyebrow{margin-bottom:18px}.process-list li{grid-template-columns:38px 1fr;gap:10px;padding:25px 0}.process-list div{display:block}.process-list h3{font-size:25px;margin-bottom:10px}.process-list p{font-size:12px}.about-panel{padding-top:70px}.about-list{padding-left:0}.quote-section{padding:68px 0}.quote-card{padding:24px 20px}.projects-heading{margin-bottom:32px}.projects-grid{grid-template-columns:1fr}.project,.project--large{min-height:260px}.projects-grid .project--large{grid-row:auto}.contacts-layout{padding:74px 0}.contact-card{padding:28px 22px}.contact-phone{font-size:28px}.footer-inner{padding:28px 0;min-height:0;display:block}.footer-inner .brand{margin-bottom:17px}.footer-inner p{margin-bottom:17px}.footer-inner>span{display:block}.button{width:100%;}.hero-actions .text-link{padding:0 0 6px;width:auto}.brand{font-size:19px}.quick-call{position:fixed;display:flex;z-index:20;inset:auto 0 0;min-height:58px;align-items:center;justify-content:center;gap:9px;color:#fff;background:var(--red);font-size:13px;font-weight:800;box-shadow:0 -4px 18px rgba(0,0,0,.22)}.quick-call span{font-size:8px;color:#fff}}

.brand{font-size:32px;gap:14px;line-height:1.1}
.brand-mark{width:48px;height:48px}
.brand-mark::before{width:65%;height:15%;left:18%;top:24%}
.brand-mark::after{width:21%;height:53%;left:41%;top:24%}
.brand-mark i{bottom:18%}.brand-mark b{right:18%}
@media(max-width:620px){.brand{font-size:28px;gap:12px}.brand-mark{width:42px;height:42px}}

.services-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-card,.extra-service,.snow-service__copy{min-width:0}
.service-card h3{font-size:23px;line-height:1.25;overflow-wrap:anywhere;hyphens:auto}
.extra-service h3,.snow-service h3{font-size:29px;line-height:1.25;overflow-wrap:anywhere;hyphens:auto}
.service-card p,.extra-service p,.snow-service p{overflow-wrap:anywhere;font-size:16px;line-height:1.6;max-width:none}
.service-card--with-image p,.extra-service p{color:rgba(255,255,255,.95)}
.extra-service__content{height:auto;min-height:inherit}
@media(max-width:900px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.services-grid{grid-template-columns:minmax(0,1fr)}.service-card h3{font-size:25px}.extra-service h3,.snow-service h3{font-size:27px}}

/* Более крупный текст на всех экранах */
.hero-copy,.section-heading>p:last-child,.about-panel>p:not(.eyebrow),
.about-list p,.process-list p,.projects-heading>p,.contact-copy>p:not(.eyebrow),
.contact-email-note{font-size:18px;line-height:1.65}
.site-nav,.header-phone,.button,.text-link,.contact-email,.contact-address,
.quote-card li,.quick-call,.service-card a,.extra-service a{font-size:16px;line-height:1.5}
.eyebrow,.hero-note,.service-number,.snow-service__number,
.snow-service__number span,.extra-service__content>span,.about-list span,
.process-list span,.quote-card>p,.quote-card li span,.footer-inner p,
.footer-inner>span,.menu-toggle em{font-size:16px;line-height:1.5}
.eyebrow,.hero-note,.snow-service__number span,.quote-card>p,.footer-inner p{letter-spacing:.035em}
.eyebrow span,.note-line{flex-shrink:0}
.button{padding:14px 22px;height:auto}
.hero-actions,.footer-inner{flex-wrap:wrap}
.footer-inner{padding-top:28px;padding-bottom:28px}
.contact-card,.quote-card,.about-panel,.process-list div{min-width:0}
.contact-email,.contact-address,.quote-card li{overflow-wrap:anywhere}
.header-inner{gap:22px}.site-nav{gap:18px}
@media(min-width:621px) and (max-width:1100px){.header-phone{display:none}.site-nav{flex-wrap:wrap;column-gap:14px;row-gap:4px}}

/* Фотографии в естественных пропорциях, без сильного увеличения */
.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px}
.projects-grid .project{min-height:0;grid-row:auto}
.projects-grid .project img{position:relative;display:block;width:100%;height:auto;object-fit:contain}
.projects-grid .project:hover img{transform:none}
.projects-grid .project::after{display:none}
.projects-grid .project figcaption{position:relative;left:auto;bottom:auto;padding:18px 20px;font-size:22px;line-height:1.3;overflow-wrap:anywhere}
@media(max-width:620px){.projects-grid{grid-template-columns:minmax(0,1fr)}}

.hero-copy{max-width:650px}.hero h1{font-size:clamp(44px,6.4vw,88px)}
.projects-grid .project figcaption p{font:400 16px/1.6 Manrope,Arial,sans-serif;text-transform:none;letter-spacing:normal;margin:12px 0 0;color:#d5d8d8}
.reviews-section{background:#e8e8e4}.reviews-layout{display:flex;align-items:center;justify-content:space-between;gap:40px}.reviews-layout h2{font-size:clamp(32px,4vw,52px);line-height:1.15;margin:0 0 20px}.reviews-layout p:not(.eyebrow){font-size:18px;line-height:1.6;max-width:650px;margin-bottom:0}.reviews-layout .button{flex-shrink:0}
.photo-credits{padding-bottom:26px;font-size:16px;line-height:1.6;color:#b8bcbc}.photo-credits summary{cursor:pointer}.photo-credits a{text-decoration:underline}.photo-credits p{margin:12px 0 0}
@media(max-width:900px){.reviews-layout{display:block}.reviews-layout .button{margin-top:26px}.hero-copy{max-width:100%}}
@media(min-width:621px) and (max-width:1100px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Живые, но спокойные акценты */
.site-header{transition:background .35s ease,box-shadow .35s ease,backdrop-filter .35s ease}.site-header.is-scrolled{position:fixed;background:rgba(23,26,27,.9);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(0,0,0,.16)}
.hero-photo{animation:hero-drift 14s ease-in-out infinite alternate}.hero-grid{animation:grid-travel 18s linear infinite}.hero-shape--one{animation:shape-float 7s ease-in-out infinite}.hero-shape--two{animation:shape-float 9s -2s ease-in-out infinite reverse}
.hero-content>*{animation:rise-in .75s both}.hero-content .eyebrow{animation-delay:.08s}.hero-content h1{animation-delay:.16s}.hero-content .hero-copy{animation-delay:.28s}.hero-content .hero-actions{animation-delay:.4s}.hero-content .hero-note{animation-delay:.55s}
.button{transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.button:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(225,57,41,.28)}.button span,.service-card a span,.extra-service a b{display:inline-block;transition:transform .25s ease}.button:hover span,.service-card:hover a span,.extra-service:hover a b{transform:translate(3px,-3px)}
.service-card,.extra-service,.project{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}.service-card:hover,.extra-service:hover{transform:translateY(-8px);box-shadow:0 20px 38px rgba(12,15,16,.17)}.service-card .service-photo,.extra-service>img,.project::before{transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s ease}.service-card:hover .service-photo,.extra-service:hover>img{transform:scale(1.07);filter:saturate(1.05)}
.brand-mark{transition:transform .3s ease,box-shadow .3s ease}.brand:hover .brand-mark{transform:rotate(-5deg) translateY(-2px);box-shadow:5px 5px 0 rgba(0,0,0,.2)}
@keyframes rise-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-drift{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.08) translate3d(-1.2%,0,0)}}@keyframes grid-travel{from{transform:translate3d(0,0,0)}to{transform:translate3d(46px,0,0)}}@keyframes shape-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(2deg)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
