@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Oswald:wght@500;600;700&display=swap');
:root{--bg:#0b0b0b;--surface:#141414;--ink:#f4f1e9;--muted:#aaa7a1;--line:#303030;--accent:#ff5a1f;--light:#f2f0e9;--display:'Oswald',sans-serif;--body:'Manrope',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--body);overflow-x:hidden}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit}
.site-header{height:90px;padding:0 5vw;display:flex;align-items:center;gap:34px;border-bottom:1px solid var(--line);background:rgba(11,11,11,.96);position:sticky;top:0;z-index:50;backdrop-filter:blur(14px)}
.brand{width:102px;height:64px;display:flex;align-items:center;overflow:hidden}
.brand img{filter:invert(1);width:102px}
.nav{display:flex;gap:27px;margin-left:auto}
.nav a{font-size:.84rem;font-weight:700}
.nav a:hover,.header-call:hover{color:var(--accent)}
.lang{display:flex;border:1px solid var(--line)}
.lang a{padding:7px 8px;font-size:.7rem;font-weight:800}
.lang a:hover{background:var(--ink);color:var(--bg)}
.header-call{font-size:.84rem;font-weight:800}
.menu-button{display:none;background:none;border:0;color:inherit}
.hero{min-height:730px;display:grid;grid-template-columns:58% 42%;position:relative;border-bottom:1px solid var(--line)}
.hero-copy{padding:75px 3vw 68px 7vw;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.eyebrow{display:flex;align-items:center;gap:11px;text-transform:uppercase;font-size:.72rem;font-weight:800;letter-spacing:.15em;margin:0 0 22px}
.eyebrow>span:first-child{width:34px;height:3px;background:var(--accent);flex:0 0 auto}
.hero h1,.section h2,.contact h2,.service-hero h1{font-family:var(--display);text-transform:uppercase;letter-spacing:-.025em;line-height:.89;margin:0}
.hero h1{font-size:clamp(4.2rem,8vw,8.25rem)}
.hero h1 span{display:block}
.hero h1 span:nth-child(2){color:var(--accent)}
.hero-text{font-size:1.1rem;max-width:590px;margin:30px 0;color:var(--muted)}
.hero-actions{display:flex;gap:12px}
.btn{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:0 25px;font-size:.84rem;font-weight:800;border:1px solid #555;transition:.2s}
.btn.primary{background:var(--accent);border-color:var(--accent);color:white}
.btn.secondary{background:transparent}
.btn:hover{transform:translateY(-2px)}
.micro-trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:38px;font-size:.75rem;color:var(--muted)}
.micro-trust span:before{content:'✓';color:var(--accent);margin-right:7px;font-weight:900}
.hero-visual{position:relative;overflow:hidden;clip-path:polygon(24% 0,100% 0,100% 100%,0 100%);margin-left:-22%;width:122%;background:#222}
.hero-visual>img{height:100%;object-fit:cover;filter:grayscale(.75) contrast(1.1);opacity:.72}
.vertical-accent{position:absolute;left:20%;inset-block:0;width:9px;background:var(--accent)}
.image-index{position:absolute;right:0;bottom:0;background:var(--accent);padding:16px 22px;display:flex;gap:12px;align-items:center}
.image-index b{font-size:.7rem}
.image-index span{font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.promise-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--accent);padding:0 7vw;color:#141414}
.promise-strip div{padding:25px 28px;border-left:1px solid rgba(0,0,0,.2);display:flex;gap:17px;align-items:center}
.promise-strip div:last-child{border-right:1px solid rgba(0,0,0,.2)}
.promise-strip b{font-size:.72rem;color:white}
.promise-strip span{font-size:.8rem;font-weight:700}
.section{padding:105px 7vw}
.section-head{max-width:760px}
.section h2{font-size:clamp(3rem,5.6vw,5rem)}
.section-head>p:last-child,.row-head>p{font-size:1.08rem;color:var(--muted);max-width:670px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:56px}
.service-grid article{min-height:285px;border:1px solid var(--line);background:var(--surface);transition:.25s}
.service-grid article:hover{border-color:#595959;transform:translateY(-4px)}
.service-card{min-height:283px;padding:25px 24px;display:flex;flex-direction:column}
.service-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.service-card>span{font-size:.72rem;color:var(--accent);font-weight:800}
.service-grid h3{font:600 1.75rem/1.05 var(--display);text-transform:uppercase;margin:42px 0 17px;transition:.2s}
.service-grid article:hover h3{color:var(--accent)}
.service-grid p{font-size:.86rem;color:var(--muted);margin:0}
.projects{background:#151515}
.row-head{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end}
.project-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:330px 330px;gap:6px;margin-top:58px}
.project{position:relative;overflow:hidden;background:#222}
.project-main{grid-row:1/3}
.project img{height:100%;object-fit:cover;transition:.45s}
.project:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.project>div{position:absolute;z-index:2;left:25px;bottom:22px}
.project small{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em}
.project h3{font:600 1.7rem/1.1 var(--display);text-transform:uppercase;margin:6px 0}
.project:hover img{transform:scale(1.035)}
.visual-label{position:absolute;z-index:3;right:13px;top:13px;background:rgba(0,0,0,.68);padding:6px 8px;font-size:.59rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.process{display:grid;grid-template-columns:.84fr 1.16fr;gap:8vw}
.process ol{list-style:none;padding:0;margin:0}
.process li{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--line)}
.process li:last-child{border-bottom:1px solid var(--line)}
.process li>b{font-size:.72rem;color:var(--accent)}
.process h3{font:600 1.55rem/1.1 var(--display);text-transform:uppercase;margin:0 0 7px}
.process li p{margin:0;color:var(--muted)}
.seo-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--accent);color:#17100d}
.seo-section .eyebrow>span:first-child{background:#17100d}
.seo-copy{font-size:1.06rem}
.faq{display:grid;grid-template-columns:.78fr 1.22fr;gap:8vw}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;gap:20px;font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq summary span{color:var(--accent);font-size:1.3rem;transition:.2s}
.faq details[open] summary span{transform:rotate(45deg)}
.faq details p{color:var(--muted);margin:-4px 0 24px;max-width:700px}
.contact{background:var(--light);color:#111;padding:96px 10vw}
.contact>.eyebrow{justify-content:center}
.contact h2{font-size:clamp(3.3rem,6vw,6rem);max-width:940px;text-align:center;margin:0 auto 22px}
.contact>p:not(.eyebrow){text-align:center;max-width:620px;margin:0 auto 42px;color:#555}
.contact-grid{display:grid;grid-template-columns:1fr 1fr auto;max-width:980px;margin:auto;border-top:1px solid #bbb;border-bottom:1px solid #bbb}
.contact-grid>div{padding:20px 25px;border-right:1px solid #bbb;display:flex;flex-direction:column}
.contact-grid small{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:#777}
.contact-grid a,.contact-grid strong{font-size:1.1rem;margin-top:5px}
.contact-grid .btn{margin:15px;background:#111;color:#fff;border-color:#111}
footer{padding:38px 7vw;min-height:170px;display:flex;align-items:center;gap:28px;background:#080808;border-top:1px solid #222}
footer img{filter:invert(1);width:92px}
footer b{font-family:var(--display);font-size:1.2rem}
footer p{font-size:.73rem;color:#777;margin:4px 0}
.footer-phone{margin-left:auto;font-weight:800}
.copyright{margin-left:25px}
.service-hero{min-height:650px;display:grid;grid-template-columns:55% 45%;border-bottom:1px solid var(--line)}
.service-hero>div{padding:70px 7vw;display:flex;flex-direction:column;justify-content:center}
.service-hero .eyebrow{margin-top:50px}
.back-link{font-size:.75rem;color:var(--muted);font-weight:700}
.service-hero h1{font-size:clamp(3.7rem,7vw,7rem)}
.service-hero>div>p:not(.eyebrow){font-size:1.08rem;color:var(--muted);max-width:650px;margin:26px 0}
.service-hero .btn{align-self:flex-start}
.service-hero figure{margin:0;position:relative;overflow:hidden;background:#222}
.service-hero figure img{height:100%;object-fit:cover;filter:grayscale(.55);opacity:.8}
.service-hero figcaption{position:absolute;right:12px;top:12px;background:rgba(0,0,0,.7);padding:6px 8px;font-size:.6rem;text-transform:uppercase;font-weight:800}
.service-intro{padding:72px 14vw;background:var(--accent);color:#17100d}
.service-intro p{font:500 clamp(1.6rem,3vw,2.6rem)/1.3 var(--body);max-width:1050px;margin:0}
.service-scope{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}
.service-scope ol{list-style:none;margin:0;padding:0}
.service-scope li{display:flex;gap:20px;padding:23px 0;border-top:1px solid var(--line)}
.service-scope li:last-child{border-bottom:1px solid var(--line)}
.service-scope li b{color:var(--accent);font-size:.72rem;width:38px}
.service-scope li span{font:600 1.4rem/1.2 var(--display);text-transform:uppercase}
.service-explain{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;background:#151515}
.service-explain>div:last-child{font-size:1.05rem;color:var(--muted)}
.service-explain a{display:inline-block;color:var(--ink);font-weight:800;border-bottom:2px solid var(--accent);padding-bottom:5px;margin-top:20px}
.related{padding-top:75px}
.related>div{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.related a{padding:24px 18px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;justify-content:space-between;font-weight:800}
.related a b{color:var(--accent)}
.service-case{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;align-items:center;background:var(--light);color:#111}
.service-case h2{font-size:clamp(2.8rem,5vw,4.7rem)}
.service-case p{color:#555;max-width:570px;margin:24px 0 30px}
.service-case>a{display:block;min-height:440px;overflow:hidden}
.service-case img{height:440px;object-fit:cover;transition:.35s}
.service-case>a:hover img{transform:scale(1.025)}
.portfolio-hero{padding:110px 7vw 75px;border-bottom:1px solid var(--line)}
.portfolio-hero h1{font:600 clamp(4rem,9vw,8.5rem)/.9 var(--display);text-transform:uppercase;margin:0}
.portfolio-hero>p:last-child{max-width:720px;color:var(--muted);font-size:1.08rem;margin:28px 0 0}
.portfolio-list{padding-top:70px}
.portfolio-card{display:grid;grid-template-columns:1.25fr .75fr;background:var(--surface);border:1px solid var(--line);overflow:hidden}
.portfolio-card>img{height:580px;object-fit:cover}
.portfolio-card>div{padding:45px;display:flex;flex-direction:column;justify-content:center}
.portfolio-card span{color:var(--accent);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.portfolio-card h2{font-size:clamp(2.5rem,4vw,4rem);margin:24px 0}
.portfolio-card p{color:var(--muted)}
.portfolio-card b{margin-top:30px;text-transform:uppercase;font-size:.8rem}
.case-hero{min-height:690px;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.case-hero>div{padding:80px 7vw;display:flex;flex-direction:column;justify-content:center}
.case-hero .eyebrow{margin-top:55px}
.case-hero h1{font:600 clamp(3.5rem,6vw,6rem)/.92 var(--display);text-transform:uppercase;margin:0}
.case-hero p:not(.eyebrow){color:var(--muted);font-size:1.08rem;margin:28px 0 0;max-width:650px}
.case-hero>img{height:100%;min-height:690px;object-fit:cover}
.case-facts{display:grid;grid-template-columns:repeat(4,1fr);background:var(--accent);color:#111;padding:0 7vw}
.case-facts div{padding:26px;border-left:1px solid rgba(0,0,0,.2);display:flex;flex-direction:column}
.case-facts div:last-child{border-right:1px solid rgba(0,0,0,.2)}
.case-facts small{text-transform:uppercase;font-size:.63rem;font-weight:800;letter-spacing:.1em}
.case-facts strong{font-size:1rem;margin-top:5px}
.case-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.case-intro>div:last-child>p{font-size:1.25rem;color:var(--muted);margin-top:0}
.case-intro ul{list-style:none;padding:0;margin:35px 0 0;display:grid;grid-template-columns:1fr 1fr}
.case-intro li{padding:16px 15px 16px 0;border-top:1px solid var(--line);font-weight:700}
.case-gallery{padding-top:80px}
.case-gallery.before{background:#151515}
.photo-grid{margin-top:46px}
.photo-grid a{display:block;overflow:hidden;background:#222}
.photo-grid img{height:100%;object-fit:cover;transition:.3s}
.photo-grid a:hover img{transform:scale(1.02)}
.before-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:270px;gap:6px}
.before-grid a:first-child{grid-column:span 2;grid-row:span 2}
.before-grid a:nth-child(2),.before-grid a:nth-child(3),.before-grid a:nth-child(4),.before-grid a:nth-child(5){grid-column:span 2}
.after-grid{columns:3;column-gap:6px}
.after-grid a{break-inside:avoid;margin-bottom:6px}
.after-grid img{height:auto}
.case-gallery h2{font-size:clamp(3rem,6vw,5.5rem)}

@media(max-width:1050px){.nav{display:none;position:absolute;top:90px;left:0;right:0;background:#0b0b0b;padding:28px 5vw;border-bottom:1px solid var(--line);flex-direction:column}
.nav.open{display:flex}
.menu-button{display:grid;gap:7px;margin-left:auto;padding:12px}
.menu-button span{width:24px;height:2px;background:currentColor}
.lang{margin-left:0}
.hero,.service-hero{grid-template-columns:1fr}
.hero-copy{padding:70px 7vw 55px}
.hero-visual{height:500px;margin:0;width:auto;clip-path:none}
.service-hero figure{height:480px}
.service-grid{grid-template-columns:1fr 1fr}
.process,.faq,.service-scope,.service-explain{grid-template-columns:1fr;gap:45px}
.project-grid{grid-template-rows:300px 300px}
.related>div{grid-template-columns:1fr 1fr}
.contact-grid{grid-template-columns:1fr 1fr}
.contact-grid .btn{grid-column:1/3}
.service-case,.portfolio-card,.case-hero,.case-intro{grid-template-columns:1fr}
.service-case>a{min-height:0}
.case-hero>img{min-height:0;height:520px}
.case-facts{grid-template-columns:1fr 1fr}
.before-grid{grid-template-columns:1fr 1fr;grid-auto-rows:310px}
.before-grid a:first-child,.before-grid a:nth-child(2),.before-grid a:nth-child(3),.before-grid a:nth-child(4),.before-grid a:nth-child(5){grid-column:auto;grid-row:auto}
.after-grid{columns:2}
.copyright{display:none}
}

@media(max-width:650px){html{scroll-padding-top:74px}
.site-header{height:74px;padding:0 20px;gap:14px}
.brand,.brand img{width:78px}
.header-call{display:none}
.nav{top:74px}
.lang a{padding:7px}
.hero-copy{padding:58px 22px 45px}
.hero h1{font-size:3.55rem}
.hero-text{font-size:1rem}
.hero-actions{flex-direction:column}
.btn{width:100%}
.micro-trust{display:grid}
.hero-visual{height:370px}
.promise-strip{grid-template-columns:1fr;padding:0 22px}
.promise-strip div{padding:18px 0;border-left:0;border-bottom:1px solid rgba(0,0,0,.2)}
.promise-strip div:last-child{border-right:0}
.section{padding:76px 22px}
.section h2{font-size:2.8rem}
.service-grid{grid-template-columns:1fr}
.service-grid article,.service-card{min-height:230px}
.project-grid{display:block}
.project{height:310px;margin-bottom:6px}
.project-main{height:420px}
.row-head{display:block}
.process li{grid-template-columns:38px 1fr}
.contact{padding:72px 22px}
.contact h2{font-size:3.15rem}
.contact-grid{grid-template-columns:1fr}
.contact-grid>div{border-right:0;border-bottom:1px solid #bbb}
.contact-grid .btn{grid-column:auto}
.service-hero>div{padding:55px 22px}
.service-hero h1{font-size:3.6rem}
.service-hero figure{height:380px}
.service-intro{padding:50px 22px}
.related>div{grid-template-columns:1fr}
.portfolio-hero{padding:72px 22px 52px}
.portfolio-hero h1{font-size:3.9rem}
.portfolio-list{padding-top:45px}
.portfolio-card>img{height:350px}
.portfolio-card>div{padding:28px 22px}
.service-case{padding-inline:22px}
.service-case img{height:330px}
.case-hero>div{padding:52px 22px}
.case-hero h1{font-size:3.25rem}
.case-hero>img{height:390px}
.case-facts{grid-template-columns:1fr;padding:0 22px}
.case-facts div,.case-facts div:last-child{border-left:0;border-right:0;border-bottom:1px solid rgba(0,0,0,.2)}
.case-intro ul{grid-template-columns:1fr}
.before-grid{grid-template-columns:1fr;grid-auto-rows:330px}
.after-grid{columns:1}
footer{padding:32px 22px;flex-wrap:wrap}
.footer-phone{width:100%;margin-left:0}
}
