:root{--ink:#121311;--paper:#f1f0eb;--orange:#f26522;--line:#343531;--muted:#a9aaa5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#fff;font-family:Manrope,Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}img{display:block;width:100%}.nav{height:82px;padding:0 5vw;display:flex;align-items:center;gap:4vw;background:#11120f;position:relative;z-index:20;border-bottom:1px solid #292a27}.brand{display:flex;align-items:flex-end;gap:9px}.brand span{font:30px/1 Russo One,sans-serif;color:var(--orange);letter-spacing:-1px}.brand small{font-size:9px;letter-spacing:2.5px;margin-bottom:3px}.nav nav{display:flex;gap:2.3vw;margin-left:auto}.nav nav a{font-size:13px;color:#ccc;transition:.2s}.nav nav a:hover{color:#fff}.phone{font-weight:800;font-size:15px}.menu{display:none;background:none;border:0}.hero{min-height:calc(100vh - 82px);position:relative;overflow:hidden;display:flex;align-items:center;padding:7vw}.hero-bg{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 55%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,7,.94) 0%,rgba(8,9,7,.65) 48%,rgba(8,9,7,.15) 100%)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:70px 70px}.hero-copy{position:relative;z-index:2;max-width:800px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2.8px;display:flex;align-items:center;gap:12px;margin:0 0 25px}.eyebrow span{width:34px;height:2px;background:var(--orange)}h1,h2{font-family:Russo One,sans-serif;text-transform:uppercase;margin:0;line-height:.97;letter-spacing:-2px}h1{font-size:clamp(50px,7.7vw,112px)}h1 em,h2 em{font-style:normal;color:var(--orange)}.lead{font-size:18px;line-height:1.65;max-width:600px;color:#d6d6d2;margin:30px 0}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{padding:18px 27px;font-weight:800;font-size:14px;display:inline-flex;gap:35px;align-items:center;border:1px solid #ffffff55}.btn.primary{background:var(--orange);border-color:var(--orange)}.btn.primary:hover{background:#d94f10}.btn.ghost:hover{background:#ffffff18}.hero-card{position:absolute;right:6vw;bottom:7vw;width:245px;border-left:2px solid var(--orange);background:#11120fd9;padding:25px}.hero-card span{color:var(--orange);font-size:11px;font-weight:800}.hero-card strong{display:block;font-family:Russo One;font-size:23px;line-height:1.15;margin:16px 0;text-transform:uppercase}.hero-card p{font-size:12px;color:#aaa;line-height:1.6;margin:0}.scroll{position:absolute;z-index:3;bottom:35px;left:2vw;writing-mode:vertical-rl;font-size:9px;letter-spacing:2px;display:flex;gap:12px;align-items:center}.scroll span{font-size:22px;color:var(--orange)}.intro{background:var(--paper);color:var(--ink);padding:100px 7vw 55px;display:grid;grid-template-columns:1.6fr 1fr;gap:8vw;align-items:end}.eyebrow.dark{color:#565752}h2{font-size:clamp(36px,5vw,68px)}.intro-text{color:#62635f;line-height:1.8;margin:0;border-left:1px solid #bbb;padding-left:30px}.services{background:var(--paper);color:var(--ink);display:grid;grid-template-columns:repeat(3,1fr);padding:0 7vw 105px}.services article{padding:40px;border:1px solid #d1d0ca;margin-right:-1px;position:relative;transition:.3s}.services article:hover{background:#fff;transform:translateY(-5px);box-shadow:0 16px 35px #00000012}.services article>b{position:absolute;right:25px;top:20px;color:#b5b4ae;font-size:12px}.icon{font-size:38px;color:var(--orange);height:60px}.services h3,.process h3{font:22px Russo One;text-transform:uppercase;margin:20px 0 14px}.services p{color:#686963;line-height:1.65;min-height:80px}.services a{font-size:12px;font-weight:800;border-bottom:2px solid var(--orange);padding-bottom:5px}.works{padding:100px 7vw}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.section-head>p{max-width:330px;color:#999;line-height:1.7}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:280px;gap:12px}.gallery figure{margin:0;position:relative;overflow:hidden;background:#222}.gallery figure.wide{grid-column:span 2}.gallery figure.tall{grid-row:span 2}.gallery img{height:100%;object-fit:cover;transition:.5s}.gallery figure:hover img{transform:scale(1.04)}figcaption{position:absolute;inset:auto 0 0;padding:50px 22px 20px;background:linear-gradient(transparent,#000c);display:flex;justify-content:space-between;align-items:end}figcaption strong{font-size:15px;text-transform:uppercase}figcaption span{font-size:10px;color:#ccc}.process{background:var(--paper);color:var(--ink);padding:100px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.process ol{list-style:none;padding:0;margin:0}.process li{display:grid;grid-template-columns:65px 1fr;padding:20px 0;border-top:1px solid #c9c8c2}.process li>b{color:var(--orange);font:13px Russo One}.process h3{margin:0 0 8px}.process p{margin:0;color:#686963;line-height:1.6}.cta{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.cta-photo img{height:100%;object-fit:cover}.cta-copy{padding:8vw 7vw;background:#181917;display:flex;flex-direction:column;justify-content:center}.cta-copy h2{font-size:clamp(36px,4vw,58px)}.cta-copy>p:not(.eyebrow){color:#aaa;max-width:520px;line-height:1.7}.big-phone{font:clamp(25px,3vw,43px) Russo One;color:var(--orange);margin:25px 0;border-bottom:1px solid #3b3c38;padding-bottom:25px;display:flex;justify-content:space-between}.cta address{font-style:normal;color:#ddd;line-height:1.7}.cta address strong{display:block;color:#777;font-size:10px;letter-spacing:2px;margin-bottom:6px}footer{padding:32px 7vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #30312d;color:#777;font-size:11px}.floating-call{display:none}.reveal{animation:rise .8s ease both}@keyframes rise{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@media(max-width:900px){.nav nav{display:none}.nav{justify-content:space-between}.menu{display:block;width:38px}.menu i{display:block;height:2px;background:#fff;margin:7px}.nav.open nav{display:flex;position:absolute;top:82px;left:0;right:0;background:#111;padding:25px;flex-direction:column}.nav .phone{margin-left:auto}.hero{padding:11vw 6vw;align-items:flex-start;padding-top:18vh}.hero-card,.scroll{display:none}.intro,.process{grid-template-columns:1fr;gap:35px}.services{grid-template-columns:1fr}.services article{margin-bottom:-1px}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:250px}.cta{grid-template-columns:1fr}.cta-photo{height:380px}}
@media(max-width:600px){.nav{height:68px;padding:0 20px}.brand span{font-size:24px}.nav .phone{font-size:12px}.menu{width:30px}.hero{min-height:700px;padding:105px 22px 50px}.hero-bg{object-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(8,9,7,.92),rgba(8,9,7,.48))}h1{font-size:52px;letter-spacing:-1px}.lead{font-size:16px}.btn{width:100%;justify-content:space-between}.intro,.works,.process{padding:75px 22px}.intro{padding-bottom:35px}h2{font-size:39px;letter-spacing:-1px}.services{padding:0 22px 75px}.services article{padding:30px}.section-head{display:block}.section-head>p{margin-top:20px}.gallery{display:block}.gallery figure{height:300px;margin-bottom:10px}.gallery figure.tall{height:390px}.process{gap:45px}.cta-photo{height:330px}.cta-copy{padding:70px 22px}.big-phone{font-size:25px}footer{padding:30px 22px;display:grid;gap:20px}footer>p:last-child{margin:0}.floating-call{display:grid;place-items:center;position:fixed;z-index:30;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;background:var(--orange);color:#fff;font-size:22px;box-shadow:0 8px 25px #0008}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.hero{background:radial-gradient(circle at 78% 38%,#3a3b36 0,#242521 28%,#11120f 68%)}
.hero-shade{background:linear-gradient(90deg,rgba(8,9,7,.7),rgba(8,9,7,.08))}
.cta{display:block;min-height:0;background:#181917}
.cta-copy{min-height:620px;max-width:1050px}
.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);background:#181917;border-top:1px solid #30312d;border-bottom:1px solid #30312d;padding:0 7vw}
.trust-strip>div{padding:30px 3vw;border-right:1px solid #30312d;display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center}
.trust-strip>div:last-child{border-right:0}.trust-strip b{grid-row:span 2;color:var(--orange);font:13px Russo One}.trust-strip strong{font:16px Russo One;text-transform:uppercase}.trust-strip span{font-size:12px;color:#8f908b;margin-top:5px}
.contact-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 30px}
.contact-actions a{border:1px solid #3b3c38;padding:18px;min-height:82px;display:flex;flex-direction:column;justify-content:center;transition:.2s;background:#121311}
.contact-actions a:hover{border-color:var(--orange);transform:translateY(-2px)}.contact-actions b{font:14px Russo One;color:var(--orange);letter-spacing:.5px}.contact-actions span{font-size:11px;color:#aaa;margin-top:8px;overflow-wrap:anywhere}
.gallery img{background:#242521;color:transparent}.gallery img.is-loaded{animation:photoIn .35s ease both}@keyframes photoIn{from{opacity:.35}to{opacity:1}}
footer a:hover{color:#fff}
@media(max-width:900px){.trust-strip{grid-template-columns:1fr}.trust-strip>div{border-right:0;border-bottom:1px solid #30312d}.trust-strip>div:last-child{border-bottom:0}.contact-actions{grid-template-columns:1fr}}

/* Refined portfolio */
.works{background:#11120f}
.section-head{border-bottom:1px solid #30312d;padding-bottom:38px;margin-bottom:24px}
.gallery-nav{margin:0 0 30px;border:1px solid #30312d;background:#171815;padding:25px}
.gallery-nav-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid #30312d}
.gallery-nav-title span{font-size:9px;font-weight:800;letter-spacing:2.2px;color:var(--orange)}
.gallery-nav-title strong{font:18px Russo One,sans-serif;text-transform:uppercase}
.gallery-toolbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:0}
.gallery-toolbar button{appearance:none;border:1px solid #363733;background:#11120f;color:#d2d3ce;padding:17px 15px;text-align:left;display:grid;grid-template-columns:27px 1fr;gap:10px;align-items:start;font-family:Manrope,Arial,sans-serif;cursor:pointer;transition:.22s;min-width:0}
.gallery-toolbar button>i{font-style:normal;font:10px Russo One,sans-serif;color:#686963;margin-top:3px}
.gallery-toolbar button>span{display:flex;flex-direction:column;min-width:0}.gallery-toolbar button b{font-size:12px;line-height:1.3;text-transform:uppercase}.gallery-toolbar button small{font-size:10px;color:#777873;margin-top:7px}
.gallery-toolbar button:hover{border-color:#686963;transform:translateY(-2px)}
.gallery-toolbar button.is-active{background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:0 8px 24px #f2652228}
.gallery-toolbar button.is-active>i,.gallery-toolbar button.is-active small{color:#fff;opacity:.78}
.gallery-result{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:0 2px}.gallery-result b{font:16px Russo One,sans-serif;text-transform:uppercase}.gallery-result span{font-size:11px;color:#777873}
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:18px}
.gallery figure,.gallery figure.wide,.gallery figure.tall{grid-column:auto;grid-row:auto;display:flex;flex-direction:column;border:1px solid #2e2f2b;background:#191a17;border-radius:4px;cursor:zoom-in;transition:transform .25s,border-color .25s,box-shadow .25s;min-width:0}
.gallery figure:hover{transform:translateY(-4px);border-color:#555650;box-shadow:0 18px 36px #0007}
.gallery figure:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.gallery img{height:auto;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{position:static;padding:17px 18px 18px;background:none;min-height:73px;align-items:center;border-top:1px solid #2e2f2b}
.gallery figcaption strong{font-size:13px;letter-spacing:.2px}.gallery figcaption span{font-size:9px;letter-spacing:1.2px;color:var(--orange);text-align:right}
.gallery-hint{margin:24px 0 0;color:#777873;font-size:12px;text-align:center}
.gallery figure[hidden]{display:none!important}

/* Refined contacts */
.cta{background:linear-gradient(135deg,#171815 0%,#0d0e0c 100%);padding:105px 7vw;position:relative;overflow:hidden}
.cta:before{content:"";position:absolute;right:-12vw;top:-35%;width:48vw;height:48vw;border:1px solid #ffffff0c;border-radius:50%;box-shadow:0 0 0 90px #ffffff05,0 0 0 180px #ffffff03}
.contact-shell{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:8vw;align-items:center;position:relative}
.cta-copy{padding:0;background:none;min-height:0;max-width:none;display:block}
.cta-copy h2{font-size:clamp(38px,4.4vw,64px)}
.cta-copy>p:not(.eyebrow):not(.contact-note){font-size:16px;max-width:610px;margin:25px 0;color:#b5b6b0}
.call-button{max-width:600px;margin:36px 0 17px;padding:22px 24px;background:var(--orange);display:flex;align-items:center;justify-content:space-between;transition:.25s}
.call-button:hover{background:#d94f10;transform:translateY(-2px)}
.call-button span{display:flex;flex-direction:column;gap:6px}.call-button small{font-size:9px;letter-spacing:2px;font-weight:800;opacity:.8}.call-button b{font:clamp(24px,3vw,39px) Russo One,sans-serif}.call-button i{font-style:normal;font-size:30px}
.cta-copy .contact-note{font-size:12px!important;color:#71726d!important;margin:0!important}
.contact-card{background:#f1f0eb;color:var(--ink);padding:42px;box-shadow:20px 20px 0 #f2652218}
.contact-card-kicker{margin:0 0 12px;color:var(--orange);font-size:10px;font-weight:800;letter-spacing:2.4px}
.contact-card h3{margin:0 0 28px;font:clamp(24px,2.2vw,34px) Russo One,sans-serif;text-transform:uppercase;line-height:1.08}
.contact-list{border-top:1px solid #d0cfc8}
.contact-list a{display:grid;grid-template-columns:46px 1fr auto;gap:15px;align-items:center;padding:18px 0;border-bottom:1px solid #d0cfc8;transition:.2s}
.contact-list a:hover{color:var(--orange);padding-left:5px}.contact-icon{width:42px;height:42px;border-radius:50%;background:#1a1b18;color:#fff;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:17px}.max-icon{font-family:Russo One,sans-serif}
.contact-list a>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.contact-list small,.contact-card address small{font-size:9px;letter-spacing:1.4px;color:#858680;text-transform:uppercase;font-weight:800}.contact-list b{font-size:14px;margin-top:5px;overflow-wrap:anywhere}.contact-list em{font-style:normal;font-size:22px}
.contact-card address{font-style:normal;display:grid;grid-template-columns:46px 1fr;gap:15px;align-items:center;margin-top:24px}.contact-card address>span:last-child{display:flex;flex-direction:column}.contact-card address b{font-size:14px;line-height:1.55;margin-top:5px}

/* Full photo viewer */
body.no-scroll{overflow:hidden}.lightbox{position:fixed;inset:0;z-index:100;background:#080907f2;display:none;grid-template-columns:70px minmax(0,1100px) 70px;align-items:center;justify-content:center;padding:40px}.lightbox.is-open{display:grid}.lightbox figure{margin:0;max-height:88vh;display:grid;grid-template-rows:minmax(0,1fr) auto;background:#171815;border:1px solid #343531}.lightbox img{width:100%;height:calc(88vh - 62px);object-fit:contain}.lightbox figcaption{position:static;background:#171815;padding:18px 22px;min-height:62px;display:block;font-size:14px;font-weight:700;text-transform:uppercase}.lightbox button{border:0;background:none;color:#fff;font-size:52px;cursor:pointer}.lightbox-close{position:absolute;right:28px;top:18px;font-size:42px!important}.lightbox button:hover{color:var(--orange)}

@media(max-width:1100px){.gallery-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-shell{grid-template-columns:1fr;gap:60px}.contact-card{max-width:680px}.cta{padding:85px 6vw}.lightbox{grid-template-columns:44px minmax(0,1fr) 44px;padding:24px 8px}}
@media(max-width:600px){.section-head{padding-bottom:25px}.gallery-nav{padding:18px 14px;margin-left:-8px;margin-right:-8px}.gallery-nav-title{display:block}.gallery-nav-title strong{display:block;font-size:16px;margin-top:9px}.gallery-toolbar{grid-template-columns:1fr;gap:7px}.gallery-toolbar button{padding:14px 13px;grid-template-columns:28px 1fr}.gallery-toolbar button b{font-size:12px}.gallery-toolbar button small{margin-top:4px}.gallery-result{align-items:flex-end}.gallery-result span{text-align:right}.gallery{display:grid;grid-template-columns:1fr;gap:14px}.gallery figure,.gallery figure.tall{height:auto;margin:0}.gallery img{aspect-ratio:4/3}.cta{padding:72px 22px}.contact-shell{gap:45px}.contact-card{padding:28px 22px;box-shadow:10px 10px 0 #f2652218}.call-button{padding:19px}.call-button b{font-size:23px}.contact-list a{grid-template-columns:42px 1fr auto;gap:12px}.contact-icon{width:38px;height:38px}.contact-list b{font-size:13px}.lightbox{grid-template-columns:1fr;padding:52px 10px 18px}.lightbox figure{grid-column:1}.lightbox img{height:calc(82vh - 60px)}.lightbox-prev,.lightbox-next{position:absolute;bottom:8px;font-size:44px!important}.lightbox-prev{left:28px}.lightbox-next{right:28px}.lightbox-close{right:16px;top:5px}}

/* Каменный Двор branding and visible footer contacts */
.brand span{font-size:23px;letter-spacing:-.5px}.brand small{font-size:10px;font-weight:800}
footer{padding:40px 7vw;display:grid;grid-template-columns:1.05fr 1.25fr 1.35fr auto;gap:35px;align-items:center}
.footer-links{display:flex;flex-direction:column;gap:7px}.footer-links a:first-child{font:16px Russo One,sans-serif;color:#fff}.footer-links a:hover{color:var(--orange)}
footer address{font-style:normal;display:flex;flex-direction:column;gap:6px}footer address small{font-size:9px;letter-spacing:1.8px;color:var(--orange);font-weight:800}footer address strong{color:#d5d6d1;font-size:12px;line-height:1.55}footer>p{margin:0;text-align:right}
@media(max-width:900px){footer{grid-template-columns:1fr 1fr}footer>p{text-align:left}}
@media(max-width:600px){.brand span{font-size:18px}.brand small{font-size:9px}footer{padding:34px 22px;grid-template-columns:1fr;gap:24px}}

/* Prominent address at the very end */
.footer-address-banner{grid-column:1/-1;margin-top:5px;padding:24px 26px;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}
.footer-address-banner>span,.footer-address-banner>a{display:flex;flex-direction:column;gap:7px}.footer-address-banner small{font-size:9px;font-weight:800;letter-spacing:2px;opacity:.78}.footer-address-banner strong{font:clamp(16px,2vw,23px) Russo One,sans-serif;line-height:1.25}.footer-address-banner a{text-align:right;border-left:1px solid #ffffff55;padding-left:30px}.footer-address-banner b{font:clamp(18px,2vw,25px) Russo One,sans-serif;white-space:nowrap}
@media(max-width:600px){.footer-address-banner{margin:0 -6px;padding:22px 18px;display:grid;gap:22px}.footer-address-banner strong{font-size:17px}.footer-address-banner a{text-align:left;border-left:0;border-top:1px solid #ffffff55;padding:18px 0 0}.footer-address-banner b{font-size:21px}}

footer{grid-template-columns:1fr 1.3fr auto}
@media(max-width:900px){footer{grid-template-columns:1fr 1fr}.footer-address-banner{grid-column:1/-1}}
@media(max-width:600px){footer{grid-template-columns:1fr}}

.contact-card address{background:#e4e3dc;padding:16px 18px;border-left:3px solid var(--orange)}
.contact-card address small,.contact-card address b{color:var(--ink)!important}
