@font-face{font-family:GantsevSerif;src:url('/assets/fonts/gantsev-serif.otf') format('opentype');font-display:swap}@font-face{font-family:GantsevSans;src:url('/assets/fonts/gantsev-sans.otf') format('opentype');font-display:swap}@font-face{font-family:GantsevSans;src:url('/assets/fonts/gantsev-sans-bold.otf') format('opentype');font-weight:700;font-display:swap}
:root{--ink:#171512;--soft-ink:#50483f;--cream:#f7ecdc;--paper:#fbf2e7;--gold:#b78635;--gold-light:#d7b36c;--line:rgba(162,111,36,.45);--serif:GantsevSerif,Georgia,serif;--sans:GantsevSans,Arial,sans-serif;--shadow:0 14px 34px rgba(54,33,9,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px;max-width:100%;overflow-x:clip}body{margin:0;max-width:100%;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;overflow-x:hidden}body.is-locked{overflow:hidden}img{display:block;max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit}.shell{width:min(1480px,calc(100% - 80px));margin-inline:auto}.narrow{width:min(900px,calc(100% - 40px));margin-inline:auto}.section{padding:110px 0}.stone-bg{position:relative;background-color:var(--paper);background-image:linear-gradient(rgba(255,250,243,.64),rgba(255,250,243,.64)),url('/assets/images/marble-clean-v2.webp');background-size:720px auto}.stone-bg:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 10%,rgba(255,255,255,.55),transparent 30%),linear-gradient(120deg,transparent 60%,rgba(186,133,52,.04));}.stone-bg>*{position:relative}.eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.18em;color:var(--gold);font-weight:600;margin:0 0 22px;text-transform:uppercase}.section-head{max-width:770px;margin-bottom:56px}.section-head.centered{text-align:center;margin-inline:auto}.section-head--row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:50px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;text-transform:uppercase;letter-spacing:.012em;line-height:.94}h2{font-size:clamp(52px,5vw,82px);margin-bottom:28px}h3{font-family:var(--serif);font-weight:600}.gold-button{border:1px solid #9f6f25;background:linear-gradient(100deg,#c18f3e,#e0ba72 52%,#b67e2d);color:#18140f;min-height:58px;padding:0 27px;display:inline-flex;align-items:center;justify-content:center;gap:30px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-family:var(--serif);font-size:17px;font-weight:600;box-shadow:0 8px 18px rgba(103,63,13,.22);cursor:pointer;transition:.25s}.gold-button:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 12px 25px rgba(103,63,13,.28)}.gold-button i{font-style:normal;font-family:var(--sans)}
.site-header{height:112px;position:fixed;top:0;left:0;right:0;z-index:80;transition:.3s;background:linear-gradient(90deg,rgba(251,242,231,.98),rgba(251,242,231,.82));border-bottom:1px solid rgba(176,127,54,.24)}.site-header.is-static{position:absolute}.site-header.is-scrolled{height:82px;box-shadow:0 5px 25px rgba(36,27,17,.08);background:rgba(251,242,231,.97);backdrop-filter:blur(16px)}.site-header__inner{height:100%;display:flex;align-items:center;gap:36px}.logo{width:310px;height:96px;overflow:hidden;display:flex;align-items:center;flex:none}.logo img{width:100%;height:auto;mix-blend-mode:multiply}.main-nav{margin-left:auto;display:flex;gap:38px;align-items:center}.main-nav a{text-transform:uppercase;text-decoration:none;letter-spacing:.09em;font-size:12px;position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:.25s}.main-nav a:hover:after{right:0}.site-header__actions{display:flex;align-items:center;gap:24px;margin-left:20px}.header-phone{font-family:var(--serif);font-size:22px;text-decoration:none;white-space:nowrap}.menu-toggle{display:none;border:0;background:none;width:44px;height:44px;padding:8px}.menu-toggle i{display:block;height:1px;background:#18140f;margin:8px 0}
.hero{min-height:920px;padding-top:112px;display:flex;align-items:center;overflow:hidden}.hero__photo{position:absolute;right:0;top:112px;bottom:0;width:62%;overflow:hidden}.hero__photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0,rgba(251,242,231,.76) 14%,transparent 48%)}.hero__photo img{width:100%;height:100%;object-fit:cover;object-position:center}.hero__content{z-index:2}.hero__content>*{max-width:740px}.hero h1{font-size:clamp(62px,6.05vw,104px);max-width:860px;margin-bottom:30px;text-shadow:0 3px 4px rgba(0,0,0,.08)}.hero__lead{font-family:var(--serif);font-size:24px;max-width:600px;margin-bottom:38px}.hero__line{position:absolute;left:5%;top:24%;height:58%;width:1px;background:linear-gradient(transparent,var(--gold),transparent)}
.about{padding-top:130px}.about-grid{display:grid;grid-template-columns:1fr .92fr;gap:90px;align-items:center}.about-copy{font-family:var(--serif);font-size:26px;max-width:680px}.brush-frame{position:relative;margin:0}.brush-frame:before,.brush-frame:after{content:"";position:absolute;z-index:2;pointer-events:none}.brush-frame:before{inset:-14px;border:1px solid var(--gold)}.brush-frame:after{left:-48px;right:-36px;top:-28px;height:82px;background:linear-gradient(10deg,transparent 15%,rgba(178,127,48,.65) 18% 20%,transparent 22% 29%,rgba(54,36,20,.8) 31% 33%,transparent 35%);transform:rotate(-2deg);opacity:.68}.brush-frame img{width:100%;height:100%;object-fit:cover}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:65px;border-top:1px solid var(--line);padding-top:35px}.stats div{display:flex;flex-direction:column;border-right:1px solid var(--line);padding-right:22px}.stats div:last-child{border:0}.stats strong{font-family:var(--serif);font-size:62px;font-weight:500;color:var(--gold)}.stats span{font-family:var(--serif);font-size:17px;text-transform:uppercase}
.services{padding-top:100px}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.service-card{height:590px;position:relative;overflow:hidden;border:1px solid rgba(177,125,48,.5)}.service-card img{width:100%;height:100%;object-fit:cover;transition:.7s}.service-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(12,9,7,.9))}.service-card__body{position:absolute;left:0;right:0;bottom:0;padding:28px 24px;color:#fff}.service-card__body>span{font-family:var(--serif);font-size:42px;color:#d8ad61}.service-card h3{font-size:26px;line-height:1;text-transform:uppercase;margin:2px 0 12px}.service-card p{font-size:12px;line-height:1.45;opacity:0;max-height:0;transition:.35s;margin:0}.service-card a{display:inline-block;color:#edc477;text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:11px;margin-top:15px;opacity:0;transition:.35s}.service-card:hover img{transform:scale(1.045)}.service-card:hover p,.service-card:hover a{opacity:1;max-height:80px}
.advantages{padding:0}.advantages-grid{display:grid;grid-template-columns:minmax(360px,38%) 1fr;min-height:900px}.advantages-grid>figure{margin:0;overflow:hidden}.advantages-grid>figure img{width:100%;height:100%;object-fit:cover}.advantages-content{padding:110px clamp(45px,7vw,130px)}.advantages-content>p:not(.eyebrow){font-family:var(--serif);font-size:21px}.advantages-list{display:grid;grid-template-columns:1fr 1fr;margin-top:40px}.advantages-list article{display:grid;grid-template-columns:78px 1fr;gap:14px;padding:26px 20px 26px 0;border-bottom:1px solid var(--line)}.advantages-list article:nth-child(odd){border-right:1px solid var(--line);padding-right:34px}.advantages-list article:nth-child(even){padding-left:34px}.advantages-list span{font-family:var(--serif);font-size:48px;color:var(--gold);font-weight:400}.advantages-list h3{font-family:var(--serif);font-size:19px;margin:7px 0 5px}.advantages-list p{font-size:13px;color:var(--soft-ink);margin:0}
.stages{padding-bottom:0}.timeline{display:grid;grid-template-columns:repeat(6,1fr);position:relative;margin:70px 0 40px}.timeline:before{content:"";position:absolute;left:0;right:0;top:79px;height:1px;background:var(--gold)}.timeline article{text-align:center;padding:0 13px;position:relative}.timeline span{font-family:var(--serif);font-size:48px;color:var(--gold)}.timeline i{display:block;width:18px;height:18px;border:2px solid var(--gold);background:var(--ink);border-radius:50%;margin:18px auto 28px;position:relative;z-index:2}.timeline h3{font-family:var(--serif);font-size:17px;text-transform:uppercase;margin-bottom:9px}.timeline p{font-size:11px;color:var(--soft-ink)}.stages__button{display:flex;margin:40px auto 30px}.stages__image{width:100%;height:280px;object-fit:cover;border-top:1px solid var(--gold)}
.filters{display:flex;gap:8px;border-bottom:1px solid var(--line)}.filters button{background:none;border:0;padding:12px 20px;text-transform:uppercase;font-family:var(--serif);font-size:15px;cursor:pointer;position:relative}.filters button:after{content:"";height:2px;background:var(--gold);position:absolute;left:50%;right:50%;bottom:-1px;transition:.25s}.filters button.is-active:after,.filters button:hover:after{left:15px;right:15px}.project-card{border:1px solid var(--gold);background:#15120f}.project-card.is-hidden{display:none}.project-gallery{display:grid;grid-template-columns:2fr 1.06fr;height:650px;gap:5px}.project-gallery img{width:100%;height:100%;object-fit:cover}.project-gallery>div{display:grid;grid-template-rows:1fr 1fr;gap:5px}.project-meta{background-color:#13110f;background-image:url('/assets/images/black-marble.webp');background-size:cover;color:#f8eee1;display:flex;justify-content:space-between;align-items:center;padding:24px 32px}.project-meta h3{font-size:30px;color:#d8ab5c;margin:0;text-transform:uppercase}.project-meta p{margin:0}.project-meta a{text-transform:uppercase;text-decoration:none;font-family:var(--serif);font-size:16px}.project-meta a span{color:#d8ab5c;font-size:30px;margin-left:32px}
.review-slide{display:none;grid-template-columns:.88fr 1.12fr;gap:90px;align-items:center}.review-slide.is-active{display:grid}.review-copy{padding-left:50px}.quote{font-family:var(--serif);font-size:112px;height:80px;color:var(--gold)}blockquote{font-family:var(--serif);font-size:36px;line-height:1.35;margin:0 0 30px}.review-copy h3{font-size:24px;text-transform:uppercase;margin-bottom:4px}.stars{color:var(--gold);letter-spacing:.25em;font-size:22px}.review-slide figure{height:650px}.slider-controls{display:flex;align-items:center;gap:22px;margin-top:24px}.slider-controls button{width:56px;height:56px;border:1px solid var(--gold);background:transparent;border-radius:50%;font-size:22px;cursor:pointer}.slider-controls span{font-family:var(--serif);font-size:24px}.slider-controls b{font-size:40px;font-weight:500}
.faq-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:85px}.faq-grid h2{max-width:520px}.faq-image{width:400px;height:310px;margin-top:50px}.accordion-item{border-bottom:1px solid var(--line)}.accordion-item button{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;background:transparent;border:0;padding:25px 14px;font-family:var(--serif);font-size:26px;cursor:pointer}.accordion-item button i{width:24px;height:24px;position:relative;flex:none;margin-left:20px}.accordion-item button i:before,.accordion-item button i:after{content:"";position:absolute;background:var(--gold);left:0;right:0;top:11px;height:2px}.accordion-item button i:after{transform:rotate(90deg);transition:.25s}.accordion-item.is-open button i:after{transform:rotate(0)}.accordion-item>div{display:grid;grid-template-rows:0fr;transition:.35s}.accordion-item>div>p{overflow:hidden;margin:0;padding:0 14px;color:var(--soft-ink)}.accordion-item.is-open>div{grid-template-rows:1fr}.accordion-item.is-open>div>p{padding-bottom:28px}.faq-cta{margin-top:26px;padding:20px 24px;background:rgba(215,179,108,.12);display:flex;justify-content:space-between;align-items:center;text-transform:uppercase}.faq-cta .gold-button{min-height:52px;font-size:15px}
.contacts{padding:0}.contacts-grid{display:grid;grid-template-columns:1fr 1fr;min-height:940px}.contacts-grid>figure{margin:0}.contacts-grid>figure img{width:100%;height:100%;object-fit:cover}.contacts-form{padding:100px clamp(45px,6.5vw,115px)}.contacts-form h2{font-size:clamp(50px,5vw,78px)}.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}.field{display:flex;flex-direction:column;gap:7px}.field:nth-of-type(4),.lead-form .consent,.lead-form .gold-button{grid-column:1/-1}.field span{font-family:var(--serif);text-transform:uppercase;font-size:15px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:rgba(255,252,247,.5);border-radius:0;padding:14px 16px;outline:none;color:var(--ink)}.field input,.field select{height:56px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(183,134,53,.12)}.field.is-invalid input{border-color:#9d312d}.field small{min-height:16px;color:#9d312d;font-size:11px}.consent{display:flex;align-items:flex-start;gap:12px;font-size:11px;cursor:pointer}.consent input{position:absolute;opacity:0}.consent i{width:20px;height:20px;border:1px solid var(--gold);flex:none;position:relative}.consent input:checked+i:after{content:"✓";position:absolute;left:3px;top:-2px;font-size:17px}.contact-links{display:flex;justify-content:space-between;gap:20px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line);font-family:var(--serif);font-size:20px}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.final-cta{text-align:center;padding:72px 0;border-top:1px solid var(--gold)}.final-cta h2{font-size:clamp(46px,4.5vw,74px)}.site-footer{background-color:#111;background-image:linear-gradient(rgba(0,0,0,.15),rgba(0,0,0,.15)),url('/assets/images/black-marble.webp');background-size:cover;color:#f4e8d7;padding:70px 0 25px;border-top:2px solid var(--gold)}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1.05fr 1fr;gap:60px}.footer-logo{width:370px;max-height:170px;object-fit:cover;object-position:left center;mix-blend-mode:screen}.site-footer nav,.footer-contacts{display:flex;flex-direction:column;gap:12px}.site-footer strong{color:#d7af64;text-transform:uppercase;font-family:var(--serif);font-size:18px;margin-bottom:12px}.site-footer a{text-decoration:none}.footer-contacts a{font-family:var(--serif);font-size:22px}.footer-contacts span{font-size:13px;color:#c9bbaa}.socials{display:flex;gap:18px;margin-top:20px}.socials a{font-size:12px;text-transform:uppercase;color:#d7af64}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(215,175,100,.5);margin-top:50px;padding-top:23px;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.modal{position:fixed;inset:0;z-index:200;display:none}.modal.is-open{display:block}.modal__backdrop{position:absolute;inset:0;background:rgba(14,11,8,.72);backdrop-filter:blur(6px)}.modal__panel{position:relative;z-index:2;width:min(680px,calc(100% - 30px));max-height:calc(100vh - 40px);overflow:auto;margin:20px auto;background:var(--paper) url('/assets/images/marble-clean-v2.webp');padding:55px;border:1px solid var(--gold);box-shadow:0 30px 80px rgba(0,0,0,.35)}.modal__panel h2{font-size:52px}.modal__close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:38px;cursor:pointer}.lead-form--modal{grid-template-columns:1fr 1fr}.success-popup{position:fixed;inset:0;z-index:260;background:rgba(12,10,7,.75);display:none;align-items:center;justify-content:center;padding:20px}.success-popup.is-open{display:flex}.success-popup>div{background:var(--paper) url('/assets/images/marble-clean-v2.webp');width:min(520px,100%);text-align:center;padding:55px;border:1px solid var(--gold);box-shadow:0 25px 70px rgba(0,0,0,.35)}.success-popup i{display:grid;place-items:center;width:60px;height:60px;border:1px solid var(--gold);border-radius:50%;margin:auto;color:var(--gold);font-size:30px}.success-popup h3{font-size:38px;margin:16px 0 8px}.contact-fab{position:fixed;right:26px;bottom:24px;z-index:70;width:62px;height:62px;border-radius:50%;border:1px solid #8f5f1e;background:linear-gradient(140deg,#dcb56c,#a56d20);box-shadow:0 8px 28px rgba(80,49,8,.35);cursor:pointer;font-size:25px}.cookie-banner{position:fixed;left:22px;bottom:20px;z-index:150;width:min(560px,calc(100% - 44px));background:#17140f;color:#f7ead8;border:1px solid var(--gold);padding:16px 18px;display:none;align-items:center;gap:20px;box-shadow:0 12px 35px rgba(0,0,0,.3)}.cookie-banner.is-visible{display:flex}.cookie-banner p{margin:0;font-size:12px;flex:1}.cookie-banner a{color:#e0b667}.cookie-banner button{border:1px solid var(--gold);background:var(--gold);padding:9px 16px;text-transform:uppercase;font-size:11px;cursor:pointer}
.inner-hero{padding:180px 0 90px}.inner-hero__grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:75px}.inner-hero h1,.project-page h1,.legal-page h1{font-size:clamp(62px,7vw,110px)}.inner-hero p{font-family:var(--serif);font-size:23px}.inner-hero img{width:100%;height:650px;object-fit:cover;border:1px solid var(--gold)}.article-section,.legal-page{padding:100px 0}.article-section h2,.legal-page h2{font-size:50px;margin-top:70px}.article-section p,.legal-page p{font-family:var(--serif);font-size:22px}.check-list{font-family:var(--serif);font-size:22px;list-style:none;padding:0}.check-list li{padding:14px 0;border-bottom:1px solid var(--line)}.check-list li:before{content:"—";color:var(--gold);margin-right:14px}.project-page{padding:180px 0 110px}.project-page__meta{display:flex;gap:50px;font-family:var(--serif);font-size:24px;color:var(--gold)}.project-page__lead{font-family:var(--serif);font-size:26px;max-width:800px}.project-page__gallery{display:grid;grid-template-columns:2fr 1fr;gap:8px;margin:55px 0 90px}.project-page__gallery img{width:100%;height:420px;object-fit:cover}.project-page__gallery img:first-child{grid-row:span 2;height:848px}.not-found{min-height:100vh;display:grid;place-items:center;text-align:center;padding:150px 20px}.not-found span{font-family:var(--serif);font-size:160px;color:var(--gold)}.not-found h1{font-size:64px}.legal-page{padding-top:180px}.legal-page h1{font-size:75px}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1180px){.shell{width:min(100% - 48px,1060px)}.main-nav{gap:18px}.logo{width:230px}.header-phone{font-size:17px}.hero__photo{width:64%}.hero h1{font-size:72px}.service-grid{grid-template-columns:repeat(3,1fr)}.service-card:nth-child(n+4){height:480px}.advantages-content{padding:80px 45px}.advantages-list{grid-template-columns:1fr}.advantages-list article:nth-child(odd){border-right:0;padding-right:0}.advantages-list article:nth-child(even){padding-left:0}.timeline{grid-template-columns:repeat(3,1fr);gap:35px}.timeline:before{display:none}.timeline article{border-top:1px solid var(--gold);padding-top:18px}.timeline i{display:none}.project-gallery{height:560px}.faq-grid{grid-template-columns:.8fr 1.2fr;gap:45px}.contacts-form{padding:80px 45px}.footer-grid{grid-template-columns:1fr 1fr}.project-page__gallery{grid-template-columns:1fr 1fr}.project-page__gallery img:first-child{grid-column:1/-1;grid-row:auto;height:600px}}
@media(max-width:900px){.site-header,.site-header.is-scrolled{height:78px}.logo{width:210px;height:72px}.main-nav{position:fixed;left:0;right:0;top:78px;background:var(--paper);padding:30px;display:flex;flex-direction:column;align-items:flex-start;transform:translateY(-120%);opacity:0;transition:.35s;border-bottom:1px solid var(--gold);z-index:-1}.main-nav.is-open{transform:none;opacity:1}.main-nav a{font-family:var(--serif);font-size:25px}.header-phone{display:none}.menu-toggle{display:block}.site-header__actions{margin-left:auto}.hero{min-height:840px;padding-top:78px;align-items:flex-end;padding-bottom:75px}.hero__photo{top:78px;left:0;width:100%;height:100%}.hero__photo:after{background:linear-gradient(0deg,var(--paper) 0,rgba(251,242,231,.94) 28%,rgba(251,242,231,.15) 75%)}.hero__content{width:100%}.hero h1{font-size:clamp(48px,9vw,75px);max-width:780px}.hero__lead{font-size:20px}.about-grid,.advantages-grid,.review-slide,.faq-grid,.contacts-grid,.inner-hero__grid{grid-template-columns:1fr}.about-grid{gap:60px}.stats{margin-top:40px}.services .shell{width:calc(100% - 28px)}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{height:520px}.advantages-grid>figure{height:470px}.timeline{grid-template-columns:repeat(2,1fr)}.section-head--row{display:block}.filters{overflow-x:auto;margin-top:25px}.project-gallery{grid-template-columns:1fr;height:auto}.project-gallery .project-main{height:500px}.project-gallery>div{grid-template-columns:1fr 1fr;grid-template-rows:auto}.project-gallery>div img{height:260px}.review-slide{gap:55px}.review-copy{padding-left:0}.review-slide figure{height:520px}.faq-image{width:100%}.contacts-grid>figure{height:520px}.lead-form{grid-template-columns:1fr}.field{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr}.footer-logo{width:310px}.inner-hero{padding-top:140px}.inner-hero img{height:500px}}
@media(max-width:600px){body{font-size:14px}.shell{width:calc(100% - 30px)}.section{padding:75px 0}h2{font-size:46px}.logo{width:190px}.hero{min-height:760px}.hero__photo img{object-position:62% center}.hero h1{font-size:46px;line-height:.94}.hero__lead{font-size:17px;max-width:340px}.gold-button{width:100%;min-height:54px;font-size:15px}.about-grid{gap:45px}.about-copy{font-size:20px}.stats{grid-template-columns:1fr;gap:14px}.stats div{border-right:0;border-bottom:1px solid var(--line);padding-bottom:14px;display:grid;grid-template-columns:110px 1fr;align-items:center}.stats strong{font-size:48px}.service-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(n+4){height:500px}.advantages-grid>figure{height:350px}.advantages-content{padding:70px 20px}.advantages-list article{grid-template-columns:60px 1fr}.advantages-list span{font-size:39px}.timeline{grid-template-columns:1fr 1fr;gap:20px 8px}.timeline span{font-size:38px}.timeline h3{font-size:14px}.timeline p{display:none}.stages__image{height:180px}.filters button{padding:10px 13px;white-space:nowrap}.project-gallery .project-main{height:350px}.project-gallery>div img{height:180px}.project-meta{align-items:flex-start;gap:15px;padding:20px;flex-direction:column}.project-meta h3{font-size:24px}.project-meta a span{margin-left:12px}.review-copy{padding:0}.quote{font-size:80px;height:50px}blockquote{font-size:25px}.review-slide figure{height:360px}.faq-cta{flex-direction:column;gap:18px;align-items:stretch}.accordion-item button{font-size:20px;padding:21px 5px}.contacts-grid>figure{height:360px}.contacts-form{padding:70px 20px}.contact-links{flex-direction:column;font-size:18px}.footer-grid{grid-template-columns:1fr;gap:38px}.footer-bottom{flex-direction:column;gap:15px}.modal__panel{padding:42px 20px}.modal__panel h2{font-size:42px}.lead-form--modal{grid-template-columns:1fr}.contact-fab{width:54px;height:54px;right:15px;bottom:15px}.cookie-banner{left:12px;bottom:12px;width:calc(100% - 24px);flex-direction:column;align-items:stretch}.inner-hero h1,.project-page h1,.legal-page h1{font-size:52px}.inner-hero img{height:380px}.project-page__gallery{grid-template-columns:1fr}.project-page__gallery img,.project-page__gallery img:first-child{height:300px;grid-column:auto}.not-found span{font-size:110px}.not-found h1{font-size:43px}}

/* Gantsev v4 — точная светлая каменно-золотая арт-дирекция */
.stone-bg{background-color:#f8efe4;background-image:linear-gradient(rgba(255,250,244,.38),rgba(255,250,244,.38)),url('/assets/images/surface-marble-v4.webp');background-size:cover;background-position:center}.stone-bg:before{background:radial-gradient(circle at 12% 8%,rgba(255,255,255,.5),transparent 30%),linear-gradient(120deg,transparent 62%,rgba(183,134,53,.035))}
.site-header{background:linear-gradient(90deg,rgba(250,243,235,.97),rgba(250,243,235,.78));border-bottom:1px solid rgba(164,112,39,.2)}
.hero{min-height:941px;padding-top:112px;align-items:center;background:#f7eee3}.hero__photo{left:0;right:0;top:0;bottom:0;width:100%;height:100%}.hero__photo:after{background:linear-gradient(90deg,rgba(248,240,230,.96) 0%,rgba(248,240,230,.82) 27%,rgba(248,240,230,.22) 51%,transparent 67%)}.hero__photo img{object-position:center center}.hero__content{padding-top:55px}.hero__content>*{max-width:710px}.hero h1{font-size:clamp(58px,4.9vw,82px);line-height:1.02;max-width:760px;margin-bottom:28px}.hero__lead{font-size:20px;max-width:520px}.hero__line{left:49%;top:38%;height:45%}
.section{padding:120px 0}.about-grid{grid-template-columns:.94fr 1.06fr;gap:110px}.about .brush-frame{height:690px}.about-copy{font-size:23px}.service-card{height:610px}.services .section-head{margin-bottom:62px}.advantages-grid{min-height:900px}.advantages-grid>figure img{object-position:center}.stages__image{height:290px}
.portfolio{overflow:hidden}.portfolio>.shell{position:relative;z-index:2}.portfolio:after{content:"";position:absolute;z-index:1;right:-100px;top:0;width:420px;height:190px;background:url('/assets/images/gold-brush-v4.webp') center/contain no-repeat;mix-blend-mode:multiply;opacity:.56;transform:rotate(-12deg);pointer-events:none}.portfolio .section-head{margin-bottom:38px}.portfolio h2{font-size:clamp(48px,4.5vw,68px);color:#9a6a24}.project-card{border:1px solid rgba(183,134,53,.7);box-shadow:0 16px 45px rgba(58,34,10,.12)}.project-gallery{height:640px}.project-meta{min-height:105px;padding:24px 34px;background-image:linear-gradient(rgba(10,9,8,.2),rgba(10,9,8,.2)),url('/assets/images/footer-marble-v4.webp')}.project-meta h3{font-size:28px}.review-slide figure img{width:100%;height:100%;object-fit:cover}.faq-image img{width:100%;height:100%;object-fit:cover}
.final-cta{position:relative;overflow:hidden;text-align:center;min-height:330px;padding:70px 0 62px;border-top:1px solid #b78738;border-bottom:1px solid #9e6f27;background:#f7eee2 url('/assets/images/final-cta-v4.webp') center/cover no-repeat}.final-cta:before{content:"";position:absolute;inset:18px;border:1px solid rgba(168,115,38,.5);border-top-color:transparent;pointer-events:none}.final-cta .shell{position:relative;z-index:2}.final-cta h2{font-size:clamp(48px,4.2vw,70px);margin-bottom:19px;text-shadow:0 3px 4px rgba(0,0,0,.12)}.final-cta__rule{width:min(430px,70%);height:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 23px}.final-cta__rule i{height:1px;background:#b38131;flex:1}.final-cta__rule b{width:68px;height:5px;margin:0 4px;border:1px solid #9b671e;background:linear-gradient(90deg,#dfb761,#a86f22);box-shadow:0 2px 5px rgba(76,43,5,.25)}.final-cta__button{min-width:390px;min-height:70px;font-size:19px;gap:24px}.final-cta__button img{width:34px;height:34px}
.site-footer{min-height:470px;padding:62px 0 24px;border-top:0;background-color:#11100e;background-image:linear-gradient(rgba(6,6,5,.12),rgba(6,6,5,.12)),url('/assets/images/footer-marble-v4.webp');background-size:cover;background-position:center}.footer-grid{grid-template-columns:1.35fr .75fr 1.12fr 1.25fr;gap:0;align-items:center;min-height:270px}.footer-grid>nav,.footer-grid>.footer-contacts{border-left:1px solid rgba(215,175,100,.62);padding-left:46px;min-height:190px;justify-content:center}.footer-brand{padding-right:44px}.footer-logo{width:360px;height:145px;max-height:none;object-fit:contain;object-position:left center;mix-blend-mode:screen}.footer-nav,.footer-services{display:flex;flex-direction:column;gap:14px}.footer-nav a,.footer-services a{font-family:var(--serif);font-size:17px;letter-spacing:.035em;text-transform:uppercase;line-height:1.28}.footer-services a:hover,.footer-nav a:hover{color:#d7af64}.socials{gap:22px;margin-top:14px}.socials a{width:48px;height:48px;border:1px solid #c79745;border-radius:50%;display:grid;place-items:center;transition:.25s}.socials a:hover{background:rgba(216,173,92,.12);transform:translateY(-2px)}.socials img{width:25px;height:25px}.footer-contacts{gap:24px}.footer-contact{display:flex;align-items:center;gap:18px}.footer-contact i{width:52px;height:52px;border:1px solid #c79745;border-radius:50%;display:grid;place-items:center;flex:none}.footer-contact i img{width:28px;height:28px}.footer-contact span{font-family:var(--serif);font-size:23px;letter-spacing:.025em;white-space:nowrap}.footer-bottom{margin-top:38px;padding-top:24px;border-top:1px solid rgba(215,175,100,.55);font-family:var(--serif);font-size:13px;letter-spacing:.1em}
@media(max-width:1180px){.hero{min-height:850px}.hero h1{font-size:66px}.footer-grid>nav,.footer-grid>.footer-contacts{padding-left:28px}.footer-contact span{font-size:18px}.footer-logo{width:290px}.portfolio:after{width:300px}}
@media(max-width:900px){.hero{min-height:860px;padding-top:78px;align-items:flex-end}.hero__photo{top:0}.hero__photo:after{background:linear-gradient(0deg,rgba(248,240,230,.98) 0%,rgba(248,240,230,.92) 29%,rgba(248,240,230,.08) 72%)}.hero__content{padding-top:0}.hero h1{font-size:clamp(48px,9vw,70px)}.about .brush-frame{height:620px}.footer-grid{grid-template-columns:1fr 1fr;gap:38px}.footer-grid>nav,.footer-grid>.footer-contacts{border-left:0;border-top:1px solid rgba(215,175,100,.55);padding:30px 0 0;min-height:0}.footer-brand{padding-right:0}.final-cta__button{min-width:360px}}
@media(max-width:600px){.stone-bg{background-size:auto 820px}.hero{min-height:790px}.hero__photo img{object-position:68% center}.hero__photo:after{background:linear-gradient(0deg,rgba(248,240,230,.99) 0%,rgba(248,240,230,.94) 36%,rgba(248,240,230,.1) 78%)}.hero h1{font-size:43px;line-height:.98}.hero__lead{font-size:16px}.hero__content{padding-bottom:8px}.about .brush-frame{height:430px}.section{padding:82px 0}.portfolio:after{width:220px;height:120px;right:-60px}.project-gallery{height:auto}.final-cta{min-height:300px;padding:58px 0 52px}.final-cta h2{font-size:41px}.final-cta__button{min-width:0;width:100%;font-size:15px}.site-footer{padding-top:52px}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-grid>nav,.footer-grid>.footer-contacts{padding-top:26px}.footer-logo{width:310px;height:130px}.footer-contact span{font-size:20px}.footer-bottom{margin-top:34px}}
@media(min-width:901px){.hero__content>*{max-width:780px}.hero h1{font-size:clamp(54px,4.25vw,72px);max-width:780px}}
@media(min-width:901px){.portfolio h2{font-size:56px;white-space:nowrap}.footer-logo{mix-blend-mode:normal}.contact-fab.is-hidden{opacity:0;pointer-events:none;transform:translateY(20px)}}

/* Gantsev v5 — пропорции утвержденных экранов 1672×941 */
.review-slide figure{position:relative}.review-note{position:absolute;right:-25px;bottom:28px;width:205px;padding:22px;background:rgba(248,239,227,.96);border:1px solid var(--gold);box-shadow:0 12px 30px rgba(45,27,8,.18);display:flex;flex-direction:column;color:var(--ink)}.review-note b{font-family:var(--serif);font-size:19px;text-transform:uppercase}.review-note span{font-family:var(--serif);margin:8px 0 4px}.review-note small{font-size:11px;line-height:1.4}.review-all{min-height:48px;padding:0 22px;border:1px solid #9f6f25;background:linear-gradient(100deg,#c18f3e,#e0ba72 52%,#b67e2d);display:inline-flex;align-items:center;text-decoration:none;text-transform:uppercase;font-family:var(--serif);font-size:13px;margin-left:10px}.contacts-grid{position:relative}.contacts-grid:after{content:"";position:absolute;left:calc(50% - 75px);top:5%;width:150px;height:90%;background:url('/assets/images/gold-brush-v4.webp') center/contain no-repeat;mix-blend-mode:multiply;transform:rotate(90deg);opacity:.48;pointer-events:none}.contacts .lead-form{grid-template-columns:1fr}.contacts .field,.contacts .lead-form .consent,.contacts .lead-form .gold-button{grid-column:1/-1}
@media(min-width:1181px){
  .shell{width:min(1360px,calc(100% - 80px))}
  .site-header,.site-header.is-scrolled{height:90px}.logo{width:270px;height:82px}.site-header__inner{gap:28px}.main-nav{gap:31px}.header-phone{font-size:20px}
  .hero{min-height:811px;padding-top:90px}.hero__photo{top:0}.hero__content{padding-top:42px}.hero__content>*{max-width:640px}.hero h1{font-size:57px;line-height:1.02;max-width:640px;margin-bottom:24px}.hero__lead{font-size:18px;max-width:510px;margin-bottom:32px}.hero__photo:after{background:linear-gradient(90deg,rgba(248,240,230,.97) 0%,rgba(248,240,230,.89) 28%,rgba(248,240,230,.28) 48%,transparent 62%)}
  h2{font-size:58px}.section{padding:70px 0}.section-head{margin-bottom:38px}.eyebrow{margin-bottom:15px}
  .about{padding:70px 0}.about-grid{grid-template-columns:.96fr 1.04fr;gap:80px}.about .brush-frame{height:540px}.about-copy{font-size:21px}.stats{margin-top:38px;padding-top:24px}.stats strong{font-size:48px}
  .brush-frame:after{left:-38px;right:-38px;top:-36px;height:88px;background:url('/assets/images/gold-brush-v4.webp') center/cover no-repeat;mix-blend-mode:multiply;opacity:.48;transform:rotate(-4deg)}
  .services{min-height:811px;padding:65px 0}.services .section-head{margin-bottom:38px}.service-card{height:470px}.service-card__body{padding:22px 18px}.service-card__body>span{font-size:34px}.service-card h3{font-size:21px}
  .advantages.section{padding:0}.advantages-grid{min-height:811px;height:811px;grid-template-columns:34.3% 1fr}.advantages-content{padding:65px 75px}.advantages-content>p:not(.eyebrow){font-size:18px}.advantages-list{margin-top:25px}.advantages-list article{padding-top:18px;padding-bottom:18px}.advantages-list span{font-size:40px}
  .stages.section{min-height:811px;padding:68px 0 0}.stages .section-head{margin-bottom:25px}.timeline{margin:45px 0 25px}.timeline:before{top:67px}.timeline span{font-size:40px}.timeline i{margin:13px auto 20px}.stages__button{margin:25px auto 24px}.stages__image{height:215px}
  .portfolio.section{min-height:811px;padding:58px 0}.portfolio .section-head{margin-bottom:25px}.portfolio h2{font-size:52px}.project-gallery{height:500px}.project-meta{min-height:78px;padding:14px 24px}.project-meta h3{font-size:23px}.project-meta a{font-size:14px}
  .reviews.section{min-height:811px;padding:58px 0}.reviews .section-head{margin-bottom:12px}.review-slide{grid-template-columns:.82fr 1.18fr;gap:70px}.review-slide figure{height:550px}.review-copy{padding-left:30px}.quote{font-size:86px;height:58px}blockquote{font-size:29px;margin-bottom:22px}.review-copy h3{font-size:20px}.slider-controls{margin-top:10px}.slider-controls button{width:48px;height:48px}.slider-controls span{font-size:20px}.slider-controls b{font-size:31px}
  .faq.section{min-height:811px;padding:62px 0}.faq-grid{grid-template-columns:.62fr 1.38fr;gap:65px}.faq-image{width:340px;height:255px;margin-top:30px}.accordion-item button{padding:19px 12px;font-size:21px}.faq-cta{margin-top:18px;padding:14px 18px}.faq-cta .gold-button{min-height:46px}
  .contacts{min-height:811px}.contacts-grid{min-height:811px;height:811px}.contacts-form{padding:55px 80px}.contacts-form h2{font-size:58px;margin-bottom:18px}.contacts .lead-form{gap:10px;margin-top:22px}.contacts .field{gap:4px}.contacts .field input,.contacts .field select{height:46px}.contacts .field textarea{height:64px}.contacts .field small{min-height:8px}.contacts .lead-form .gold-button{min-height:50px}.contact-links{margin-top:18px;padding-top:16px;font-size:17px}
  .final-cta{min-height:285px;padding:55px 0 45px}.final-cta h2{font-size:55px}.final-cta__button{min-height:62px}.site-footer{min-height:430px;padding-top:45px}.footer-grid{min-height:245px}.footer-bottom{margin-top:24px}
}
@media(max-width:600px){
  .hero{min-height:720px}.hero h1{font-size:39px;max-width:355px}.hero__lead{font-size:15px}.section{padding:62px 0}.about .brush-frame{height:350px}.service-card,.service-card:nth-child(n+4){height:390px}.advantages-grid>figure{height:300px}.advantages-content{padding:55px 20px}.stages__image{height:145px}.review-slide figure{height:330px}.review-note{right:8px;bottom:8px;width:158px;padding:12px}.review-note small{display:none}.review-all{width:100%;justify-content:center;margin:8px 0 0}.faq-image{height:230px}.contacts-grid>figure{height:330px}.contacts-form{padding:55px 20px}.contacts-grid:after{display:none}.final-cta{min-height:260px}.site-footer{min-height:0}
}
.hero h1{white-space:pre-line}
@media(min-width:1181px){.about{min-height:811px;display:flex;align-items:center}.portfolio .project-gallery{height:470px}.reviews .review-slide figure{height:520px}.final-cta{min-height:330px;padding:70px 0 55px}.site-footer{min-height:470px;padding-top:55px}.footer-grid{min-height:270px}}
@media(min-width:1181px){.hero__content>*{max-width:680px}.hero h1{font-size:52px;max-width:680px}}

/* Gantsev v6 — карточка проекта, фотогалерея и отзывы */
.project-page{padding:150px 0 105px;overflow:hidden}.project-page:after{content:"";position:absolute;right:-100px;top:740px;width:440px;height:220px;background:url('/assets/images/gold-brush-v4.webp') center/contain no-repeat;opacity:.32;mix-blend-mode:multiply;transform:rotate(-10deg);pointer-events:none}.project-page__hero{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:center;min-height:650px}.project-page__intro{padding:35px 0}.project-page h1{font-size:clamp(58px,5vw,80px);line-height:.96;margin-bottom:32px}.project-page__meta{display:flex;gap:0;margin-bottom:28px;color:#9b6a24;font-family:var(--serif);font-size:22px;text-transform:uppercase}.project-page__meta span{padding:0 25px;border-left:1px solid var(--gold)}.project-page__meta span:first-child{padding-left:0;border-left:0}.project-page__lead{max-width:620px;color:var(--soft-ink);font-family:var(--serif);font-size:24px;line-height:1.45}.project-page__cover{height:610px;box-shadow:0 25px 60px rgba(55,34,10,.16)}
.gallery-tile{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:1px solid rgba(177,128,49,.65);background:#17130f;cursor:zoom-in}.gallery-tile>img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}.gallery-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,8,6,.46));opacity:.55;transition:.3s}.gallery-tile:hover>img{transform:scale(1.025);filter:saturate(1.05)}.gallery-tile:hover:after{opacity:.82}.gallery-tile__zoom{position:absolute;z-index:2;right:22px;top:22px;width:54px;height:54px;border:1px solid #9f6f25;border-radius:50%;display:grid;place-items:center;background:linear-gradient(115deg,rgba(231,198,132,.96),rgba(187,126,41,.96));box-shadow:0 8px 22px rgba(20,13,5,.2);transition:transform .3s}.gallery-tile:hover .gallery-tile__zoom{transform:scale(1.07)}.gallery-tile__zoom img{width:26px;height:26px}.gallery-tile small{position:absolute;z-index:2;left:22px;bottom:18px;color:#f8ebda;font-family:var(--serif);font-size:13px;letter-spacing:.12em;text-transform:uppercase}.project-page__cover small{left:auto;right:22px;bottom:20px}
.project-page__gallery{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:350px;gap:12px;margin:95px 0}.project-page__gallery .gallery-tile{height:auto}.project-page__gallery .gallery-tile--wide{grid-column:1/-1;height:600px}.project-page__gallery .gallery-tile:last-child:nth-child(even){grid-column:1/-1;height:420px}
.project-page__story{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:82px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-page__story h2{font-size:55px}.project-page__story>div:last-child>p{font-family:var(--serif);font-size:23px;line-height:1.7;margin-bottom:38px}
.project-reviews{padding:95px 0 20px}.project-reviews>header{max-width:760px;margin-bottom:48px}.project-reviews h2{font-size:58px}.project-reviews__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.project-reviews__list{display:grid;gap:20px}.project-review-card{padding:44px 42px;border:1px solid var(--line);background:rgba(255,250,243,.72);box-shadow:0 14px 34px rgba(63,39,13,.08)}.project-review-card blockquote{font-size:27px}.project-review-card h3{margin:25px 0 4px;text-transform:uppercase}.project-review-card p{margin:0;color:var(--soft-ink)}.project-review-card--empty{min-height:330px;display:flex;flex-direction:column;justify-content:center}.project-review-card--empty>span{height:75px;color:var(--gold);font-family:var(--serif);font-size:100px;line-height:1}.project-review-card--empty p{font-family:var(--serif);font-size:25px;line-height:1.55}.review-form{position:relative;padding:48px 50px;border:1px solid #9f6f25;background:rgba(250,240,227,.92);box-shadow:0 18px 48px rgba(64,39,10,.12)}.review-form:before{content:"";position:absolute;inset:12px;border:1px solid rgba(183,134,53,.3);pointer-events:none}.review-form>*{position:relative}.review-form h3{font-size:35px;text-transform:uppercase;margin:0 0 5px}.review-form>p{color:var(--soft-ink);margin-bottom:24px}.review-form .field{display:flex;flex-direction:column;gap:6px;margin-bottom:17px}.review-form .field>span,.rating-field legend{font-size:12px;letter-spacing:.1em;text-transform:uppercase}.review-form input,.review-form textarea{width:100%;border:1px solid #d3b98f;background:#fffaf3;padding:13px 14px;outline:0}.review-form input{height:50px}.review-form textarea{resize:vertical;min-height:145px}.review-form input:focus,.review-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(183,134,53,.12)}.review-form .field small{min-height:15px;color:#9d312d}.rating-field{border:0;padding:0;margin:0 0 18px}.rating-field>div{display:flex;flex-direction:row-reverse;justify-content:flex-end}.rating-field input{position:absolute;opacity:0;width:1px;height:1px}.rating-field label{font-size:34px;line-height:1;color:#c8baa7;cursor:pointer;transition:.2s}.rating-field input:checked~label,.rating-field label:hover,.rating-field label:hover~label{color:var(--gold)}.review-form .consent{margin:18px 0}.review-form .gold-button{width:100%}.review-form__status{display:none;margin:16px 0 0!important;padding:13px 15px;border:1px solid}.review-form__status.is-success{display:block;background:#e5efe7;border-color:#86a98d;color:#245e35}.review-form__status.is-error{display:block;background:#f5e4e1;border-color:#c99089;color:#84352e}
.project-lightbox{position:fixed;z-index:500;inset:0;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.project-lightbox.is-open{opacity:1;visibility:visible}.project-lightbox__backdrop{position:absolute;inset:0;background:rgba(7,6,5,.88);backdrop-filter:blur(9px)}.project-lightbox__panel{position:relative;z-index:1;width:min(1320px,calc(100vw - 48px));height:min(900px,calc(100vh - 48px));display:grid;grid-template-rows:88px minmax(0,1fr) 120px;border:1px solid #a7752e;background:#11100e url('/assets/images/footer-marble-v4.webp') center/cover;color:#f5eadc;box-shadow:0 30px 100px rgba(0,0,0,.58);transform:translateY(18px) scale(.985);transition:transform .35s}.project-lightbox.is-open .project-lightbox__panel{transform:none}.project-lightbox__panel>header{display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid rgba(205,158,80,.52)}.project-lightbox__panel>header div{display:flex;flex-direction:column}.project-lightbox__panel>header span{color:#c9994d;font-size:10px;letter-spacing:.16em}.project-lightbox__panel>header strong{font-family:var(--serif);font-size:20px;font-weight:500;text-transform:uppercase}.project-lightbox__panel>header button{width:48px;height:48px;border:1px solid #b98638;border-radius:50%;background:transparent;color:#e7c47e;font-family:var(--serif);font-size:31px;line-height:1;cursor:pointer}.project-lightbox__panel>figure{margin:0;padding:16px 20px;min-height:0;background:rgba(5,5,4,.55);display:grid;place-items:center}.project-lightbox__panel>figure img{width:100%;height:100%;object-fit:contain}.project-lightbox__panel>footer{display:grid;grid-template-columns:56px 90px 1fr 56px;gap:20px;align-items:center;padding:15px 28px;border-top:1px solid rgba(205,158,80,.52)}.project-lightbox__arrow{width:54px;height:54px;border:1px solid #b98638;border-radius:50%;background:transparent;color:#e8c77e;font-size:23px;cursor:pointer}.project-lightbox__counter{display:flex;align-items:baseline;gap:8px;font-family:var(--serif);color:#c3a675}.project-lightbox__counter b{font-size:32px;color:#f2dec0;font-weight:500}.project-lightbox__thumbs{display:flex;gap:9px;justify-content:center;overflow-x:auto;padding:3px}.project-lightbox__thumbs button{width:96px;height:66px;flex:none;padding:0;border:1px solid transparent;background:#15120f;opacity:.56;cursor:pointer}.project-lightbox__thumbs button.is-active{border-color:#d1a34f;opacity:1}.project-lightbox__thumbs img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.project-page{padding-top:115px}.project-page__hero{grid-template-columns:1fr;gap:35px}.project-page__intro{padding-bottom:0}.project-page__cover{height:560px}.project-page__story,.project-reviews__grid{grid-template-columns:1fr;gap:45px}.project-lightbox{padding:10px}.project-lightbox__panel{width:calc(100vw - 20px);height:calc(100vh - 20px);grid-template-rows:78px minmax(0,1fr) 105px}.project-lightbox__panel>footer{grid-template-columns:50px 65px 1fr 50px;padding:12px 16px;gap:10px}.project-lightbox__thumbs button{width:78px;height:55px}}
@media(max-width:600px){.project-page{padding:105px 0 70px}.project-page h1{font-size:48px}.project-page__meta{font-size:17px}.project-page__lead{font-size:20px}.project-page__cover{height:430px}.gallery-tile__zoom{right:14px;top:14px;width:48px;height:48px}.project-page__gallery{grid-template-columns:1fr;grid-auto-rows:290px;gap:8px;margin:62px 0}.project-page__gallery .gallery-tile,.project-page__gallery .gallery-tile--wide,.project-page__gallery .gallery-tile:last-child:nth-child(even){grid-column:auto;height:290px}.project-page__story{padding:60px 0}.project-page__story h2,.project-reviews h2{font-size:43px}.project-page__story>div:last-child>p{font-size:20px}.project-reviews{padding-top:70px}.project-reviews__grid{gap:30px}.project-review-card{padding:32px 24px}.project-review-card blockquote{font-size:23px}.review-form{padding:38px 22px}.review-form h3{font-size:29px}.project-lightbox{padding:0}.project-lightbox__panel{width:100vw;height:100dvh;border:0;grid-template-rows:72px minmax(0,1fr) 96px}.project-lightbox__panel>header{padding:0 14px}.project-lightbox__panel>header span{display:none}.project-lightbox__panel>header strong{font-size:15px;max-width:240px}.project-lightbox__panel>header button{width:43px;height:43px}.project-lightbox__panel>figure{position:relative;padding:8px;overflow:hidden;isolation:isolate}.project-lightbox__panel>figure:before{content:"";position:absolute;z-index:-2;inset:-35px;background-image:linear-gradient(rgba(7,6,5,.48),rgba(7,6,5,.48)),var(--gallery-bg);background-position:center;background-size:cover;filter:blur(24px) saturate(.7)}.project-lightbox__panel>figure:after{content:"";position:absolute;z-index:-1;inset:0;background:rgba(7,6,5,.22)}.project-lightbox__panel>figure img{position:relative;z-index:1;filter:drop-shadow(0 18px 34px rgba(0,0,0,.38))}.project-lightbox__panel>footer{grid-template-columns:46px 1fr 46px;padding:10px 12px;gap:8px}.project-lightbox__counter{display:none}.project-lightbox__thumbs{justify-content:flex-start}.project-lightbox__thumbs button{width:66px;height:50px}.project-lightbox__arrow{width:44px;height:44px}}

/* Gantsev v7 — прозрачные фирменные логотипы без фоновых прямоугольников */
.logo{overflow:visible}.logo img{width:100%;height:100%;object-fit:contain;object-position:left center;mix-blend-mode:normal}.footer-logo{width:100%;max-width:390px;height:auto;max-height:125px;object-fit:contain;object-position:left center;mix-blend-mode:normal}.footer-brand{overflow:visible}@media(max-width:900px){.logo{width:225px;height:68px}.footer-logo{max-width:350px}}@media(max-width:600px){.logo{width:205px;height:64px}.footer-logo{width:100%;max-width:330px;height:auto;max-height:105px}.footer-brand{padding-right:0}}

/* Gantsev v7.1 — сообщения валидации и отправки форм */
.consent-error{display:block;grid-column:1/-1;min-height:16px;margin-top:-7px;color:#9d312d;font-size:12px}.form-message{display:none;grid-column:1/-1;margin:0;padding:12px 14px;border:1px solid;font-size:13px}.form-message.is-visible{display:block}.form-message.is-error{border-color:#c98781;background:#f8e4e2;color:#8d2f29}.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-color:#a33d35;box-shadow:0 0 0 2px rgba(163,61,53,.1)}

/* Gantsev v7.2 — единое непрерывное мраморное полотно без полос на стыках секций */
html{background:#f8efe4}
body{position:relative;isolation:isolate;background:#f8efe4}
body:before{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background-color:#f8efe4;background-image:linear-gradient(rgba(255,250,244,.38),rgba(255,250,244,.38)),url('/assets/images/surface-marble-v4.webp');background-position:center;background-size:cover;background-repeat:no-repeat}
.stone-bg{background-color:transparent;background-image:none;background-size:auto;background-position:initial}
.stone-bg:before{display:none}
@media(max-width:600px){body:before{background-position:43% center}.stone-bg{background-size:auto}}


/* 2026-07-13 updates: transparent premium logo + about section fit */
.logo{width:320px;height:84px;display:flex;align-items:center}
.logo img{width:100%;height:100%;object-fit:contain;object-position:left center;mix-blend-mode:normal}
.footer-brand{display:flex;flex-direction:column;justify-content:center}
.footer-logo{width:100%;max-width:390px;height:auto;max-height:120px;object-fit:contain;object-position:left center;mix-blend-mode:normal}
.about{padding:88px 0 82px}
.about-grid{grid-template-columns:.96fr 1.04fr;gap:82px;align-items:center}
.about .brush-frame{height:620px;overflow:hidden}
.about .brush-frame img{width:100%;height:100%;object-fit:cover;object-position:55% 24%}
@media(max-width:1180px){.logo{width:292px;height:78px}.about .brush-frame{height:560px}.about-grid{gap:64px}}
@media(max-width:900px){.logo{width:238px;height:66px}.footer-logo{max-width:340px;max-height:112px}.about .brush-frame{height:500px}.about .brush-frame img{object-position:56% 18%}}
@media(max-width:600px){.logo{width:220px;height:60px}.footer-logo{max-width:300px;max-height:98px}.about{padding:64px 0}.about .brush-frame{height:420px}.about .brush-frame img{object-position:56% 16%}}

/* Gantsev v13.1 — аккуратные карточки проектов с читаемым текстом */
.portfolio .projects{display:grid;gap:42px}
.project-card{overflow:hidden;background:#12100e;border:1px solid rgba(183,134,53,.78);box-shadow:0 20px 58px rgba(51,31,9,.16)}
.project-gallery{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(320px,.96fr);height:620px;gap:4px;color:#fff;text-decoration:none;background:#12100e}
.project-side{display:grid;grid-template-rows:1fr 1fr;gap:4px;min-width:0}
.project-visual{position:relative;overflow:hidden;margin:0;min-width:0;background:#18140f}
.project-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .35s ease}
.project-visual--main:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,6,0) 35%,rgba(8,7,6,.16) 56%,rgba(8,7,6,.86) 100%);pointer-events:none}
.project-visual--cta:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,6,.02) 32%,rgba(8,7,6,.72) 100%);pointer-events:none}
.project-copy{position:absolute;z-index:2;left:30px;right:30px;bottom:28px;max-width:760px;padding:18px 22px 17px;background:linear-gradient(110deg,rgba(15,12,9,.92),rgba(15,12,9,.72));border-left:3px solid #d5a249;box-shadow:0 16px 38px rgba(0,0,0,.28);backdrop-filter:blur(7px)}
.project-copy>span{display:block;margin-bottom:7px;color:#e2bb72;font-size:10px;letter-spacing:.17em;text-transform:uppercase}
.project-copy h3{margin:0;color:#f1c66f;font-size:clamp(27px,2.15vw,36px);line-height:1.08;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.65)}
.project-copy p{margin:9px 0 0;color:#fff6e8;font-size:15px;letter-spacing:.025em;text-shadow:0 2px 10px rgba(0,0,0,.72)}
.project-cta{position:absolute;z-index:2;right:20px;bottom:20px;display:inline-flex;align-items:center;gap:24px;padding:13px 16px 13px 18px;border:1px solid rgba(220,173,91,.9);background:rgba(14,12,10,.84);box-shadow:0 12px 28px rgba(0,0,0,.3);backdrop-filter:blur(7px);color:#fff8ea;font-family:var(--serif);font-size:14px;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.project-cta i{font-style:normal;color:#e7b655;font-size:24px;line-height:1}
.project-gallery:hover .project-visual img{transform:scale(1.025);filter:saturate(1.04) contrast(1.02)}
.project-gallery:hover .project-cta{background:#b78635;color:#17120c}
.project-gallery:hover .project-cta i{color:#17120c}
@media(max-width:1100px){
  .project-gallery{grid-template-columns:minmax(0,1.6fr) minmax(280px,.9fr);height:560px}
  .project-copy{left:24px;right:24px;bottom:24px;max-width:650px}
  .project-copy h3{font-size:29px}
}
@media(max-width:900px){
  .portfolio .projects{gap:30px}
  .project-gallery{grid-template-columns:1fr;height:auto}
  .project-visual--main{height:500px}
  .project-side{grid-template-columns:1fr 1fr;grid-template-rows:none;height:280px}
  .project-copy{max-width:calc(100% - 48px)}
}
@media(max-width:600px){
  .project-visual--main{height:420px}
  .project-side{height:190px}
  .project-copy{left:14px;right:14px;bottom:14px;max-width:none;padding:15px 16px 14px}
  .project-copy>span{font-size:9px}
  .project-copy h3{font-size:23px;line-height:1.12}
  .project-copy p{font-size:13px}
  .project-cta{right:10px;bottom:10px;gap:12px;padding:10px 12px;font-size:11px}
  .project-cta i{font-size:19px}
}

/* Gantsev v14 — clean project cards, readable text, contained galleries */
.portfolio .project-card{
  width:100%;
  max-width:100%;
  overflow:hidden;
  border:1px solid rgba(183,134,53,.78);
  background:#11100e;
  box-shadow:0 20px 58px rgba(51,31,9,.16);
}
.portfolio .project-gallery{
  display:grid;
  grid-template-columns:minmax(0,1.9fr) minmax(300px,.94fr);
  width:100%;
  max-width:100%;
  height:560px;
  min-width:0;
  overflow:hidden;
  gap:4px;
  background:#11100e;
  text-decoration:none;
}
.portfolio .project-side{
  display:grid;
  grid-template-rows:minmax(0,1fr) minmax(0,1fr);
  min-width:0;
  min-height:0;
  overflow:hidden;
  gap:4px;
}
.portfolio .project-visual{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  margin:0;
  overflow:hidden;
  background:#17130f;
}
.portfolio .project-visual:after{
  content:none!important;
}
.portfolio .project-visual img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:cover;
  object-position:center;
  transform:none;
}
.portfolio .project-gallery:hover .project-visual img{
  transform:scale(1.018);
  filter:saturate(1.03) contrast(1.015);
}
.portfolio .project-info{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  min-height:122px;
  padding:25px 30px;
  color:#f8eee1;
  background-color:#12100e;
  background-image:linear-gradient(rgba(8,7,6,.18),rgba(8,7,6,.18)),url('/assets/images/footer-marble-v4.webp');
  background-size:cover;
  border-top:1px solid rgba(215,175,100,.42);
}
.portfolio .project-info__text{
  min-width:0;
}
.portfolio .project-info__text>span{
  display:block;
  margin-bottom:7px;
  color:#d7ae63;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.portfolio .project-info h3{
  margin:0;
  color:#e5b75f;
  font-family:var(--serif);
  font-size:clamp(25px,2vw,34px);
  line-height:1.08;
  text-transform:uppercase;
}
.portfolio .project-info p{
  margin:9px 0 0;
  color:#fff6e8;
  font-size:15px;
}
.portfolio .project-info__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  flex:none;
  min-height:54px;
  padding:0 19px 0 22px;
  border:1px solid #c49343;
  background:linear-gradient(110deg,#b98231,#d8ae61,#a96f25);
  color:#17120c;
  font-family:var(--serif);
  font-size:14px;
  letter-spacing:.035em;
  text-decoration:none;
  text-transform:uppercase;
  box-shadow:0 10px 24px rgba(0,0,0,.24);
  transition:transform .2s,filter .2s;
  white-space:nowrap;
}
.portfolio .project-info__link:hover{
  transform:translateY(-2px);
  filter:brightness(1.06);
}
.portfolio .project-info__link i{
  font-style:normal;
  font-size:24px;
  line-height:1;
}

/* Never allow project images to escape their gallery frames */
.project-page__cover,
.project-page__gallery,
.project-page__gallery .gallery-tile,
.project-page__gallery .gallery-tile--wide{
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
.project-page__gallery{
  width:100%;
}
.project-page__gallery .gallery-tile{
  width:100%;
  height:100%;
  min-height:0;
}
.project-page__gallery .gallery-tile>img,
.project-page__cover>img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:cover;
  object-position:center;
}

@media(max-width:1100px){
  .portfolio .project-gallery{grid-template-columns:minmax(0,1.6fr) minmax(270px,.9fr);height:520px}
  .portfolio .project-info{padding:23px 25px;gap:24px}
  .portfolio .project-info h3{font-size:27px}
}
@media(max-width:900px){
  .portfolio .project-gallery{grid-template-columns:1fr;height:auto}
  .portfolio .project-visual--main{height:460px}
  .portfolio .project-side{grid-template-columns:1fr 1fr;grid-template-rows:none;height:240px}
  .portfolio .project-info{align-items:flex-start;flex-direction:column;gap:20px}
  .portfolio .project-info__link{width:100%}
}
@media(max-width:600px){
  .portfolio .project-visual--main{height:360px}
  .portfolio .project-side{height:165px}
  .portfolio .project-info{padding:20px 17px;min-height:0}
  .portfolio .project-info h3{font-size:23px;line-height:1.12}
  .portfolio .project-info p{font-size:13px}
  .portfolio .project-info__link{min-height:50px;font-size:12px}
}


/* v15 fixes — compact modal, better lightbox, cleaner footer */
.final-cta,
.site-footer{
  position:relative;
  z-index:3;
  overflow:hidden;
}
.final-cta{
  background:linear-gradient(rgba(248,240,230,.96),rgba(248,240,230,.96)),url('/assets/images/marble-clean-v2.webp') center/cover;
}
.final-cta>.shell,
.site-footer>.shell{
  position:relative;
  z-index:1;
}
.site-footer{
  margin-top:0;
  padding:56px 0 24px;
  background-color:#11100e;
  background-image:linear-gradient(rgba(7,6,5,.16),rgba(7,6,5,.16)),url('/assets/images/footer-marble-v4.webp');
  background-position:center;
  background-size:cover;
}
.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  background:inherit;
  z-index:0;
}
.footer-grid{
  align-items:start;
}
.footer-brand{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:16px;
}
.footer-logo{
  margin:0;
}
.socials{
  flex-wrap:wrap;
  gap:16px;
}
.socials a,
.footer-contact i{
  background:rgba(14,12,10,.22);
  box-shadow:0 10px 24px rgba(0,0,0,.16);
}
.footer-nav a,
.footer-services a,
.footer-bottom a,
.footer-bottom span{
  line-height:1.32;
}
.footer-bottom{
  align-items:center;
}

.modal__panel{
  width:min(620px,calc(100% - 32px));
  max-height:calc(100dvh - 32px);
  margin:16px auto;
  padding:32px 30px 26px;
  border:1px solid rgba(183,134,53,.82);
  box-shadow:0 26px 80px rgba(0,0,0,.34);
}
.modal__panel .eyebrow{
  margin-bottom:10px;
}
.modal__panel h2{
  font-size:clamp(34px,4vw,46px);
  line-height:.96;
  margin-bottom:10px;
  max-width:470px;
}
.modal__panel>p:not(.eyebrow){
  max-width:470px;
  margin-bottom:0;
  color:rgba(31,26,21,.88);
}
.modal__close{
  top:14px;
  right:14px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(183,134,53,.76);
  border-radius:14px;
  background:rgba(255,251,245,.92);
  color:#231a12;
  box-shadow:0 10px 26px rgba(0,0,0,.12);
  font-size:28px;
  line-height:1;
  transition:transform .2s,background .2s,color .2s,border-color .2s;
}
.modal__close:hover{
  transform:translateY(-1px);
  background:var(--gold);
  border-color:#9b6a25;
  color:#18120d;
}
.lead-form--modal{
  margin-top:22px;
  grid-template-columns:1fr 1fr;
  gap:14px 16px;
}
.lead-form--modal .field{
  gap:6px;
}
.lead-form--modal .field span{
  font-size:12px;
  letter-spacing:.11em;
}
.lead-form--modal .field input,
.lead-form--modal .field select{
  height:50px;
  padding:12px 14px;
}
.lead-form--modal .field textarea{
  min-height:110px;
  padding:12px 14px;
}
.lead-form--modal .gold-button{
  min-height:52px;
}
.lead-form--modal .consent{
  gap:10px;
  font-size:10.5px;
}
.lead-form--modal .consent i{
  width:18px;
  height:18px;
}

.project-lightbox__panel{
  width:min(1280px,calc(100vw - 40px));
  height:min(900px,calc(100vh - 40px));
  grid-template-rows:84px minmax(0,1fr) 116px;
}
.project-lightbox__panel>header{
  padding:0 24px 0 28px;
}
.project-lightbox__panel>header strong{
  font-size:18px;
  line-height:1.15;
}
.project-lightbox__panel>header button{
  width:46px;
  height:46px;
  border:1px solid rgba(201,153,77,.86);
  border-radius:14px;
  background:rgba(15,12,9,.58);
  color:#e7c47e;
  display:grid;
  place-items:center;
  font-family:var(--sans);
  font-size:28px;
  line-height:1;
  box-shadow:0 12px 30px rgba(0,0,0,.2);
  transition:transform .2s,background .2s,border-color .2s,color .2s;
}
.project-lightbox__panel>header button:hover{
  transform:translateY(-1px);
  background:rgba(183,134,53,.16);
  border-color:#dfba76;
  color:#f5e4c0;
}
.project-lightbox__panel>figure{
  padding:14px 18px;
  overflow:hidden;
}
.project-lightbox__panel>figure img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
}
.project-lightbox__thumbs{
  justify-content:flex-start;
}
.project-lightbox__thumbs button{
  border-radius:8px;
  overflow:hidden;
}

@media(max-width:900px){
  .modal__panel{
    width:min(560px,calc(100% - 24px));
    padding:28px 22px 22px;
  }
  .site-footer{padding-top:48px}
}

@media(max-width:600px){
  .final-cta{padding:52px 0 46px}
  .final-cta h2{font-size:38px}
  .site-footer{padding-top:44px}
  .footer-grid{gap:28px}
  .footer-logo{max-width:280px;height:auto;max-height:92px}
  .footer-contact{gap:14px}
  .footer-contact i{width:46px;height:46px}
  .footer-contact span{font-size:18px;white-space:normal}
  .modal__panel{
    width:calc(100% - 16px);
    max-height:calc(100dvh - 16px);
    margin:8px auto;
    padding:20px 14px 16px;
  }
  .modal__close{
    top:10px;
    right:10px;
    width:40px;
    height:40px;
    border-radius:12px;
    font-size:25px;
  }
  .modal__panel h2{
    max-width:270px;
    font-size:28px;
    margin-bottom:8px;
  }
  .modal__panel>p:not(.eyebrow){
    font-size:13px;
    line-height:1.45;
  }
  .lead-form--modal{
    margin-top:16px;
    gap:12px;
  }
  .lead-form--modal .field input,
  .lead-form--modal .field select{
    height:46px;
    padding:10px 12px;
  }
  .lead-form--modal .field textarea{
    min-height:92px;
    padding:10px 12px;
  }
  .lead-form--modal .gold-button{
    min-height:48px;
    font-size:14px;
  }
  .lead-form--modal .consent{
    font-size:10px;
    gap:8px;
  }
  .project-lightbox__panel{
    width:100vw;
    height:100dvh;
    grid-template-rows:70px minmax(0,1fr) 92px;
  }
  .project-lightbox__panel>header{
    padding:0 10px 0 14px;
  }
  .project-lightbox__panel>header strong{
    max-width:220px;
    font-size:14px;
  }
  .project-lightbox__panel>header button{
    width:40px;
    height:40px;
    border-radius:12px;
    font-size:24px;
  }
  .project-lightbox__panel>figure{
    padding:10px;
  }
}

/* v17: homepage blocks follow the order configured in the admin panel */
.home-flow{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.home-flow>.home-block{
  order:var(--section-order,0);
  min-width:0;
}


/* v18 modal polish */
.modal__panel{
  width:min(660px,calc(100% - 28px));
  max-height:calc(100dvh - 28px);
  margin:14px auto;
  padding:30px 30px 26px;
  border:1px solid rgba(185,139,62,.82);
  box-shadow:0 30px 80px rgba(0,0,0,.32);
  background-position:center;
  background-size:cover;
}
.modal__panel .eyebrow{margin-bottom:12px}
.modal__panel h2{
  font-size:clamp(34px,4.6vw,54px);
  line-height:.92;
  letter-spacing:-.02em;
  margin:0 86px 14px 0;
  max-width:430px;
}
.modal__panel>p:not(.eyebrow){
  margin:0 86px 18px 0;
  max-width:470px;
  line-height:1.5;
  color:rgba(31,26,21,.88);
}
.modal__close{
  position:absolute;
  right:18px;
  top:18px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(185,139,62,.9);
  border-radius:14px;
  background:rgba(252,247,240,.96);
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  color:transparent;
  font-size:0;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.modal__close::before,
.modal__close::after{
  content:"";
  position:absolute;
  width:18px;
  height:2px;
  border-radius:2px;
  background:#2a2017;
}
.modal__close::before{transform:rotate(45deg)}
.modal__close::after{transform:rotate(-45deg)}
.modal__close:hover{
  transform:translateY(-1px);
  background:#f4ead8;
  border-color:#c7984c;
  box-shadow:0 10px 28px rgba(0,0,0,.12);
}
.lead-form--modal{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 16px;
  align-items:start;
}
.lead-form--modal .field{gap:6px}
.lead-form--modal .field span{
  font-size:12px;
  letter-spacing:.12em;
}
.lead-form--modal .field input,
.lead-form--modal .field select,
.lead-form--modal .field textarea{
  background:rgba(255,252,247,.88);
  border:1px solid rgba(206,167,99,.95);
}
.lead-form--modal .field input,
.lead-form--modal .field select{height:52px;padding:12px 14px}
.lead-form--modal .field textarea{min-height:108px;padding:12px 14px}
.lead-form--modal .field:nth-of-type(3),
.lead-form--modal .field:nth-of-type(4),
.lead-form--modal .consent,
.lead-form--modal .consent-error,
.lead-form--modal .gold-button,
.lead-form--modal .form-message{grid-column:1/-1}
.lead-form--modal .consent{
  margin-top:2px;
  gap:10px;
  align-items:flex-start;
  font-size:11px;
  line-height:1.45;
}
.lead-form--modal .consent i{width:18px;height:18px;flex:0 0 18px}
.lead-form--modal .gold-button{min-height:54px;margin-top:2px}
@media(max-width:600px){
  .modal__panel{
    width:calc(100% - 12px);
    max-height:calc(100dvh - 12px);
    margin:6px auto;
    padding:18px 14px 16px;
    border-radius:14px;
  }
  .modal__close{
    right:10px;
    top:10px;
    width:42px;
    height:42px;
    border-radius:12px;
  }
  .modal__close::before,
  .modal__close::after{width:16px}
  .modal__panel h2{
    max-width:260px;
    margin:0 58px 10px 0;
    font-size:29px;
  }
  .modal__panel>p:not(.eyebrow){
    margin:0 0 14px;
    max-width:none;
    font-size:14px;
    line-height:1.45;
  }
  .lead-form--modal{grid-template-columns:1fr;gap:12px}
  .lead-form--modal .field input,
  .lead-form--modal .field select{height:48px;padding:10px 12px}
  .lead-form--modal .field textarea{min-height:88px;padding:10px 12px}
  .lead-form--modal .gold-button{min-height:50px}
}

/* v19 — project video section */
.project-video{padding:30px 0 92px}
.project-video>header{max-width:780px;margin-bottom:34px}
.project-video>header h2{font-size:clamp(42px,4.2vw,64px);margin-bottom:18px}
.project-video>header>p:last-child{max-width:680px;color:var(--soft-ink)}
.project-video__grid{display:grid;grid-template-columns:1fr;gap:22px}
.project-video__grid--two{grid-template-columns:1fr 1fr}
.project-video figure{position:relative;display:grid;place-items:center;aspect-ratio:16/9;margin:0;overflow:hidden;border:1px solid rgba(183,134,53,.78);background:#0f0e0c url('/assets/images/footer-marble-v4.webp') center/cover;box-shadow:0 22px 55px rgba(51,31,9,.18)}
.project-video video,.project-video iframe{display:block;width:100%;height:100%;border:0;object-fit:contain;background:#0b0a09}
.project-video__external{min-width:250px}
@media(max-width:900px){.project-video{padding-bottom:72px}.project-video__grid--two{grid-template-columns:1fr}}
@media(max-width:600px){.project-video{padding:10px 0 60px}.project-video>header h2{font-size:39px}.project-video figure{aspect-ratio:16/10}}


/* v20 — cross-browser project video */
.project-video{padding:92px 0 92px;scroll-margin-top:100px}
.project-video>header{max-width:820px;margin-bottom:30px}
.project-video>header h2{font-size:clamp(42px,4.2vw,64px);line-height:.96;margin-bottom:16px}
.project-video>header>p:last-child{max-width:720px;margin-bottom:0;color:var(--soft-ink);font-size:18px;line-height:1.55}
.project-video figure{background:#11100e url('/assets/images/footer-marble-v4.webp') center/cover;padding:14px}
.project-video video,.project-video iframe{background:#0b0a09;border:0;border-radius:2px}
.project-video video{object-fit:contain}
.project-video__unsupported{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;color:#f5eadc;padding:30px}
.project-video__unsupported p{margin:0;font-family:var(--serif);font-size:22px}
@media(max-width:900px){.project-video{padding:76px 0 72px}}
@media(max-width:600px){.project-video{padding:90px 0 56px;scroll-margin-top:82px}.project-video>header h2{font-size:37px}.project-video>header>p:last-child{font-size:15px}.project-video figure{padding:8px;aspect-ratio:16/10}}

/* v21 — reliable gallery controls and video fallback */
.gallery-tile__zoom{
  width:46px;
  height:46px;
  right:16px;
  top:16px;
  border:1px solid rgba(198,148,69,.82);
  background:rgba(20,16,12,.76);
  box-shadow:0 10px 24px rgba(0,0,0,.24);
  opacity:0;
  transform:translateY(-5px) scale(.96);
  transition:opacity .2s ease,transform .2s ease,background .2s ease;
}
.gallery-tile__zoom img{display:none!important}
.gallery-tile__zoom::before{
  content:"";
  width:15px;
  height:15px;
  border:2px solid #f0c873;
  border-radius:50%;
  box-sizing:border-box;
}
.gallery-tile__zoom::after{
  content:"";
  position:absolute;
  width:9px;
  height:2px;
  background:#f0c873;
  border-radius:2px;
  transform:translate(8px,8px) rotate(45deg);
  transform-origin:left center;
}
.gallery-tile:hover .gallery-tile__zoom,
.gallery-tile:focus-visible .gallery-tile__zoom{
  opacity:1;
  transform:none;
  background:rgba(20,16,12,.9);
}
.project-video__player-wrap{
  position:relative;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  background:#0b0a09;
}
.project-video__player{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#0b0a09;
}
.project-video__error{
  width:min(620px,calc(100% - 36px));
  margin:auto;
  padding:34px 28px;
  text-align:center;
  color:#f7ead8;
  border:1px solid rgba(199,151,71,.72);
  background:rgba(15,12,9,.9);
  box-shadow:0 18px 42px rgba(0,0,0,.3);
}
.project-video__error[hidden]{display:none!important}
.project-video__error strong{
  display:block;
  margin-bottom:9px;
  font-family:var(--serif);
  font-size:26px;
  font-weight:500;
  text-transform:uppercase;
}
.project-video__error p{margin:0 0 20px;color:#d9c9b4}
.project-video__error .gold-button{min-width:220px}
@media(max-width:900px){
  .gallery-tile__zoom{opacity:1;transform:none}
}
@media(max-width:600px){
  .gallery-tile__zoom{width:40px;height:40px;right:10px;top:10px}
  .gallery-tile__zoom::before{width:13px;height:13px}
  .project-video__error{width:calc(100% - 20px);padding:24px 16px}
  .project-video__error strong{font-size:21px}
}

/* v22 — корректное видео без обрезания и постоянная панель управления */
.project-video figure{
  aspect-ratio:auto;
  min-height:0;
  padding:12px;
  overflow:hidden;
}
.project-video__player-wrap{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  min-height:360px;
  max-height:min(76vh,820px);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#090806;
}
.project-video__player{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain!important;
  object-position:center!important;
  background:#090806;
}
.project-video__controls{
  position:absolute;
  z-index:5;
  left:16px;
  right:16px;
  bottom:16px;
  min-height:58px;
  display:grid;
  grid-template-columns:44px auto minmax(120px,1fr) 44px 44px;
  align-items:center;
  gap:12px;
  padding:8px 10px;
  border:1px solid rgba(220,177,98,.55);
  border-radius:14px;
  color:#f7ead8;
  background:linear-gradient(180deg,rgba(12,10,8,.78),rgba(12,10,8,.94));
  box-shadow:0 14px 34px rgba(0,0,0,.34);
  backdrop-filter:blur(10px);
}
.project-video__controls[hidden]{display:none!important}
.project-video__controls button{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(221,177,96,.68);
  border-radius:11px;
  background:rgba(255,255,255,.035);
  color:#f3d89d;
  cursor:pointer;
  transition:.2s ease;
}
.project-video__controls button:hover{
  background:rgba(183,134,53,.22);
  border-color:#e0b76d;
  transform:translateY(-1px);
}
.project-video__play span{
  width:0;
  height:0;
  margin-left:3px;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  border-left:11px solid currentColor;
}
.project-video__player-wrap.is-playing .project-video__play span{
  width:12px;
  height:15px;
  margin:0;
  border:0;
  border-left:4px solid currentColor;
  border-right:4px solid currentColor;
}
.project-video__time{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:92px;
  font-size:12px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  color:#e7d2ae;
}
.project-video__time i{font-style:normal;color:#9e8a6c}
.project-video__progress{
  width:100%;
  height:4px;
  appearance:none;
  border-radius:999px;
  background:rgba(255,255,255,.25);
  cursor:pointer;
}
.project-video__progress::-webkit-slider-thumb{
  appearance:none;
  width:14px;
  height:14px;
  border-radius:50%;
  border:2px solid #f7e3b6;
  background:#c89239;
  box-shadow:0 0 0 3px rgba(200,146,57,.18);
}
.project-video__progress::-moz-range-thumb{
  width:12px;
  height:12px;
  border-radius:50%;
  border:2px solid #f7e3b6;
  background:#c89239;
}
.project-video__mute span{
  font-size:0;
  width:16px;
  height:13px;
  position:relative;
}
.project-video__mute span::before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  width:6px;
  height:6px;
  border:2px solid currentColor;
  border-right:0;
}
.project-video__mute span::after{
  content:"))";
  position:absolute;
  left:7px;
  top:-4px;
  font-size:14px;
  letter-spacing:-4px;
}
.project-video__mute.is-muted span::after{content:"×";left:9px;top:-5px;font-size:18px;letter-spacing:0}
.project-video__fullscreen span{
  width:17px;
  height:17px;
  border:2px solid currentColor;
  border-radius:2px;
  position:relative;
}
.project-video__fullscreen span::after{
  content:"";
  position:absolute;
  inset:3px;
  border:1px solid currentColor;
  opacity:.55;
}
.project-video__player-wrap:fullscreen{
  width:100vw;
  height:100vh;
  max-height:none;
  aspect-ratio:auto;
  background:#000;
}
.project-video__player-wrap:fullscreen .project-video__controls{left:24px;right:24px;bottom:24px}
@media(max-width:900px){
  .project-video__player-wrap{min-height:300px;max-height:68vh}
  .project-video__controls{left:10px;right:10px;bottom:10px;grid-template-columns:42px minmax(0,1fr) 42px 42px}
  .project-video__time{display:none}
}
@media(max-width:600px){
  .project-video figure{padding:6px}
  .project-video__player-wrap{aspect-ratio:4/3;min-height:250px;max-height:64vh}
  .project-video__controls{min-height:52px;padding:6px;gap:7px;border-radius:11px}
  .project-video__controls button{width:38px;height:38px;border-radius:9px}
  .project-video__progress::-webkit-slider-thumb{width:12px;height:12px}
}

.about-media{overflow:hidden}
.about-media video,.about-media iframe,.about-media .about-media__fallback{display:block;width:100%;height:100%}
.about-media video{background:#000;object-fit:cover}
.about-media iframe{border:0;background:#000}
.about-media .about-media__fallback{position:relative}
.about-media .about-media__fallback img{width:100%;height:100%;object-fit:cover}
.about-media .about-media__fallback .gold-button{position:absolute;left:24px;bottom:24px;width:auto;min-width:220px}
@media(max-width:600px){.about-media .about-media__fallback .gold-button{left:16px;right:16px;bottom:16px;min-width:0;width:calc(100% - 32px)}}

/* v27 — clear, fast-loading director interview */
.about-media{position:relative;overflow:hidden;background:#111;border:1px solid rgba(183,134,53,.55)}
.about-video{position:relative;width:100%;height:100%;min-height:520px;background:#0d0c0b;overflow:hidden}
.about-video__poster,.about-video__player,.about-video__frame,.about-video__frame iframe{display:block;width:100%;height:100%}
.about-video__poster{object-fit:cover;object-position:center}
.about-video__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.1) 52%,rgba(0,0,0,.62));pointer-events:none}
.about-video__start{position:absolute;left:28px;bottom:28px;display:flex;align-items:center;gap:16px;border:1px solid rgba(224,183,105,.9);background:rgba(17,14,10,.82);color:#fff;padding:12px 18px 12px 12px;min-width:250px;cursor:pointer;box-shadow:0 14px 38px rgba(0,0,0,.28);backdrop-filter:blur(8px);transition:.2s}
.about-video__start:hover{transform:translateY(-2px);background:rgba(38,29,18,.94)}
.about-video__start>i{position:relative;width:56px;height:56px;flex:0 0 56px;border-radius:50%;background:linear-gradient(145deg,#e4bd75,#b47a29);box-shadow:0 6px 18px rgba(0,0,0,.25)}
.about-video__start>i:after{content:"";position:absolute;left:22px;top:17px;border-left:17px solid #17120d;border-top:11px solid transparent;border-bottom:11px solid transparent}
.about-video__start span{display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.about-video__start b{font-family:var(--serif);font-size:19px;font-weight:500;line-height:1.15}
.about-video__start small{margin-top:3px;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#e1bd79}
.about-video__loading,.about-video__error{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:12px;background:#111;color:#f7ead7;text-align:center;padding:25px;z-index:4}
.about-video__loading i{width:34px;height:34px;border:3px solid rgba(255,255,255,.2);border-top-color:#d3a14f;border-radius:50%;animation:aboutSpin .8s linear infinite}
.about-video__loading span{font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.about-video__error strong{font-family:var(--serif);font-size:24px}
.about-video__error p{max-width:360px;margin:0;color:rgba(255,255,255,.75)}
.about-video__player{position:absolute;inset:0;background:#000;object-fit:contain;z-index:3}
.about-video__frame{position:absolute;inset:0;background:#000;z-index:3}
.about-video__frame iframe{border:0}
.about-video.is-active .about-video__poster,.about-video.is-active .about-video__shade,.about-video.is-active .about-video__start{display:none}
@keyframes aboutSpin{to{transform:rotate(360deg)}}
@media(max-width:900px){.about-video{min-height:480px}.about-video__start{left:22px;bottom:22px}}
@media(max-width:600px){.about-video{min-height:380px}.about-video__start{left:14px;right:14px;bottom:14px;min-width:0;width:calc(100% - 28px);padding:10px 14px 10px 10px}.about-video__start>i{width:48px;height:48px;flex-basis:48px}.about-video__start>i:after{left:19px;top:15px;border-left-width:15px;border-top-width:9px;border-bottom-width:9px}.about-video__start b{font-size:17px}.about-video__start small{font-size:10px}}

/* v28 — stable native interview player */
.about-media{height:620px;background:#111;border:1px solid rgba(183,134,53,.55);overflow:hidden}
.about-video-native{position:relative;width:100%;height:100%;background:#111;overflow:hidden}
.about-video-native__player,.about-video-native iframe{display:block;width:100%;height:100%;border:0;background:#000;object-fit:contain}
.about-video-native__caption{position:absolute;left:20px;bottom:58px;z-index:2;display:flex;align-items:center;gap:12px;max-width:calc(100% - 40px);padding:10px 14px 10px 10px;background:rgba(18,14,10,.82);border:1px solid rgba(215,169,88,.82);color:#fff;pointer-events:none;box-shadow:0 12px 30px rgba(0,0,0,.25);backdrop-filter:blur(7px)}
.about-video-native__caption>div{display:flex;flex-direction:column;gap:2px}
.about-video-native__caption b{font-family:var(--serif);font-size:18px;font-weight:500}
.about-video-native__caption small{font-size:11px;color:#e7c98f;line-height:1.35}
.about-video-native__icon{position:relative;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:linear-gradient(145deg,#e2b969,#b47a29)}
.about-video-native__icon:after{content:"";position:absolute;left:17px;top:12px;border-left:13px solid #17120d;border-top:9px solid transparent;border-bottom:9px solid transparent}
.about-video-native__fallback{position:absolute;right:14px;bottom:14px;z-index:3;padding:8px 11px;background:rgba(15,12,9,.78);border:1px solid rgba(215,169,88,.65);color:#f2dfbc;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.about-video-native__player:fullscreen{object-fit:contain;background:#000}
@media(max-width:900px){.about-media{height:500px}}
@media(max-width:600px){.about-media{height:380px}.about-video-native__caption{left:10px;right:10px;bottom:54px;max-width:none}.about-video-native__caption small{display:none}.about-video-native__fallback{right:10px;top:10px;bottom:auto}}

/* v29 — final mobile layout for About/director video */
@media (max-width: 900px){
  .about-grid{
    grid-template-columns:minmax(0,1fr) !important;
    gap:42px !important;
  }
  .about-grid>*{min-width:0}
  .about-media{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    aspect-ratio:16/10;
    margin:0 !important;
    justify-self:stretch;
  }
  .about-media:before{inset:-8px}
  .about-media:after{left:-18px;right:-18px;top:-22px}
  .about-video-native,
  .about-video-native__player,
  .about-video-native iframe{
    width:100% !important;
    height:100% !important;
    min-width:0;
  }
  .about-video-native__player{object-fit:contain !important}
}
@media (max-width: 600px){
  .about{
    padding:54px 0 64px !important;
    overflow:hidden;
  }
  .about .shell{width:calc(100% - 30px)}
  .about-grid{gap:34px !important}
  .about h2{
    font-size:43px;
    line-height:.96;
    overflow-wrap:anywhere;
  }
  .about-copy{
    font-size:18px !important;
    line-height:1.55;
  }
  .stats{
    grid-template-columns:1fr !important;
    gap:0 !important;
    margin-top:28px !important;
    padding-top:0 !important;
  }
  .stats div{
    grid-template-columns:92px minmax(0,1fr) !important;
    min-height:74px;
    padding:12px 0 !important;
    border-right:0 !important;
    border-bottom:1px solid var(--line) !important;
  }
  .stats div:last-child{border-bottom:0 !important}
  .stats strong{font-size:44px !important}
  .stats span{font-size:15px;line-height:1.25}
  .about-media{
    aspect-ratio:16/10;
    min-height:0 !important;
    border-radius:0;
  }
  .about-media:before{inset:-5px}
  .about-media:after{display:none}
  .about-video-native__caption{
    left:8px !important;
    right:8px !important;
    bottom:48px !important;
    padding:8px 10px !important;
  }
  .about-video-native__caption b{font-size:15px}
  .about-video-native__caption small{display:none}
  .about-video-native__icon{width:34px;height:34px;flex-basis:34px}
  .about-video-native__icon:after{left:14px;top:10px;border-left-width:10px;border-top-width:7px;border-bottom-width:7px}
  .about-video-native__fallback{
    top:8px !important;
    right:8px !important;
    bottom:auto !important;
    font-size:9px;
    padding:6px 8px;
  }
  .cookie-banner{
    left:10px !important;
    right:10px !important;
    bottom:10px !important;
    width:auto !important;
    padding:12px !important;
    gap:10px !important;
  }
  .cookie-banner p{font-size:11px !important;line-height:1.4}
  .cookie-banner button{width:100%;min-height:42px}
}

/* v30 — final mobile responsive pass */
@media (max-width: 600px){
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:14px}
  .shell{width:calc(100% - 28px);max-width:none}
  .section,.about,.services,.portfolio,.reviews,.faq{padding:58px 0}
  .stone-bg{background-size:auto 760px;background-position:center top}

  /* Header */
  .site-header,.site-header.is-scrolled{height:78px}
  .site-header__inner{height:78px;padding:0 14px}
  .logo{width:210px;height:64px;flex:0 0 210px}
  .menu-toggle{width:44px;height:44px;margin-right:-6px}
  .main-nav{top:78px;padding:24px 20px 30px;max-height:calc(100dvh - 78px);overflow:auto}
  .main-nav a{font-size:22px;line-height:1.2}

  /* Generic typography */
  h1,h2,.section-head h2,.section-head--row h2,.project-page h1,.inner-hero h1,.legal-page h1{
    max-width:100%;overflow-wrap:anywhere;word-break:normal;hyphens:auto
  }
  h2,.section-head h2,.section-head--row h2{font-size:clamp(36px,10.5vw,44px);line-height:.96;letter-spacing:-.025em}
  .section-head{margin-bottom:32px}
  .section-head p{font-size:15px;line-height:1.5}
  .eyebrow{font-size:11px;letter-spacing:.16em;line-height:1.5}

  /* Hero */
  .hero{min-height:720px;padding-top:78px;padding-bottom:48px}
  .hero__content{padding:0 14px 8px}
  .hero h1{font-size:clamp(39px,11.5vw,48px);line-height:.94;max-width:355px}
  .hero__lead{font-size:16px;line-height:1.5;max-width:345px}

  /* About */
  .about-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:34px!important;align-items:stretch}
  .about-grid>div,.about-grid>figure{min-width:0;width:100%}
  .about h2{font-size:clamp(39px,11vw,47px);line-height:.95}
  .about-copy{font-size:19px;line-height:1.55}
  .stats{grid-template-columns:1fr;gap:0;margin-top:30px;padding-top:0;border-top:1px solid var(--line)}
  .stats div{grid-template-columns:102px minmax(0,1fr);gap:10px;min-height:82px;padding:14px 0;border-right:0;border-bottom:1px solid var(--line);align-items:center}
  .stats div:last-child{border-bottom:0}
  .stats strong{font-size:45px;line-height:1}
  .stats span{font-size:15px;line-height:1.3;overflow-wrap:anywhere}
  .about .brush-frame,.about-media,.about-video,.about-video-native{width:100%;height:auto!important;min-height:0!important;aspect-ratio:4/5;margin:0;overflow:hidden}
  .about .brush-frame:before{inset:0}
  .about .brush-frame:after{display:none}
  .about-media video,.about-media iframe,.about-video video,.about-video-native video{width:100%;height:100%;object-fit:contain;background:#111}

  /* Services */
  .services .shell{width:calc(100% - 28px)}
  .service-grid{grid-template-columns:1fr;gap:14px}
  .service-card,.service-card:nth-child(n+4){height:420px}
  .service-card__body{padding:24px 20px}
  .service-card__body h3{font-size:27px;line-height:1.05}
  .service-card__body p{font-size:14px}

  /* Advantages */
  .advantages-grid{grid-template-columns:1fr;min-height:0}
  .advantages-grid>figure{height:300px}
  .advantages-content{padding:52px 18px}
  .advantages-content h2{font-size:39px}
  .advantages-list{margin-top:30px}
  .advantages-list article{grid-template-columns:50px minmax(0,1fr);gap:12px;padding:18px 0}
  .advantages-list span{font-size:34px}
  .advantages-list h3{font-size:17px}
  .advantages-list p{font-size:13px}

  /* Stages */
  .timeline{grid-template-columns:1fr 1fr;gap:22px 12px}
  .timeline article{min-width:0}
  .timeline span{font-size:34px}
  .timeline h3{font-size:13px;overflow-wrap:anywhere}
  .timeline p{display:none}
  .stages__button{margin-top:34px}
  .stages__image{height:145px;object-fit:cover}

  /* Portfolio */
  .section-head--row{display:block}
  .portfolio .section-head--row h2{font-size:clamp(35px,10.4vw,43px);line-height:.94;max-width:100%}
  .filters{display:flex;width:100%;gap:0;margin-top:22px;padding-bottom:5px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;border-bottom:1px solid var(--line)}
  .filters::-webkit-scrollbar{display:none}
  .filters button{flex:0 0 auto;padding:10px 14px;font-size:13px;white-space:nowrap}
  .projects{gap:28px}
  .project-card{overflow:hidden}
  .project-gallery{display:grid;grid-template-columns:1fr;height:auto;gap:3px}
  .project-gallery .project-main{height:360px}
  .project-side{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:none!important;gap:3px}
  .project-gallery .project-side img,.project-gallery>div img{height:155px}
  .project-info{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:22px 18px}
  .project-info__text h3{font-size:25px;line-height:1.04;overflow-wrap:anywhere}
  .project-info__link{width:100%;min-height:50px;justify-content:center}

  /* Reviews */
  .review-slide{grid-template-columns:1fr;gap:32px}
  .review-copy{padding:0}
  blockquote{font-size:23px;line-height:1.35}
  .review-slide figure{height:350px}
  .review-note{right:8px;bottom:8px;width:160px;padding:12px}
  .slider-controls{display:grid;grid-template-columns:48px 1fr 48px;gap:10px;align-items:center}
  .review-all{grid-column:1/-1;width:100%;justify-content:center;margin:8px 0 0}

  /* FAQ */
  .faq-grid{grid-template-columns:1fr;gap:34px}
  .faq-image{height:230px}
  .accordion-item button{font-size:18px;line-height:1.25;padding:18px 2px}
  .faq-cta{flex-direction:column;align-items:stretch;gap:14px}

  /* Contacts */
  .contacts-grid{grid-template-columns:1fr}
  .contacts-grid>figure{height:320px}
  .contacts-form{padding:50px 18px}
  .contacts-form h2{font-size:39px}
  .lead-form{grid-template-columns:1fr}
  .field,.consent,.lead-form .gold-button,.form-message{grid-column:1/-1}
  .contact-links{flex-direction:column;gap:10px;font-size:17px}

  /* Footer */
  .final-cta{min-height:250px;padding:48px 0 42px}
  .final-cta h2{font-size:37px;line-height:1}
  .site-footer{padding-top:42px}
  .footer-grid{grid-template-columns:1fr;gap:28px}
  .footer-logo{width:100%;max-width:290px;height:auto;max-height:96px}
  .footer-grid>nav,.footer-grid>.footer-contacts{padding-top:22px}
  .footer-contact span{font-size:18px;overflow-wrap:anywhere}
  .footer-bottom{margin-top:28px;flex-direction:column;gap:12px;align-items:flex-start}

  /* Modal and cookie */
  .modal__panel{width:calc(100% - 12px);max-height:calc(100dvh - 12px);margin:6px;padding:18px 14px 16px;border-radius:14px}
  .modal__panel h2{font-size:29px;max-width:250px}
  .cookie-banner{left:10px;right:10px;bottom:10px;width:auto;max-width:none;padding:14px;gap:10px;z-index:1200}
  .cookie-banner p{font-size:11px;line-height:1.35;margin:0}
  .cookie-banner button{min-height:42px}

  /* Project pages */
  .project-page{padding:98px 0 60px}
  .project-page h1{font-size:43px;line-height:.96}
  .project-page__cover{height:380px}
  .project-page__gallery{grid-template-columns:1fr;grid-auto-rows:270px;gap:8px;margin:46px 0}
  .project-page__gallery .gallery-tile,.project-page__gallery .gallery-tile--wide,.project-page__gallery .gallery-tile:last-child:nth-child(even){grid-column:auto;height:270px}
  .project-video{padding:60px 0 48px}
  .project-video>header h2{font-size:36px}
  .project-video figure{aspect-ratio:16/10;padding:6px}
}

@media (max-width: 420px){
  .shell{width:calc(100% - 24px)}
  .logo{width:195px;flex-basis:195px}
  h2,.section-head h2,.section-head--row h2{font-size:36px}
  .portfolio .section-head--row h2{font-size:35px}
  .project-gallery .project-main{height:340px}
  .project-gallery .project-side img,.project-gallery>div img{height:145px}
  .filters button{padding-left:12px;padding-right:12px}
}

/* v34 reviews page — matches the main-site review design */
.reviews-page{
  padding:clamp(150px,10vw,180px) 0 112px;
  min-height:70vh;
  overflow:hidden;
}
.reviews-page>.shell{width:min(1390px,calc(100% - 48px))}
.reviews-page__head{
  max-width:860px;
  margin:0 0 44px;
  text-align:left;
}
.reviews-page__head h1{
  font-family:var(--serif);
  font-size:clamp(54px,5.5vw,82px);
  font-weight:400;
  line-height:.94;
  margin:14px 0 18px;
  overflow-wrap:anywhere;
}
.reviews-page__head>p:last-child{
  max-width:680px;
  margin:0;
  font-size:18px;
  line-height:1.55;
  color:var(--soft-ink);
}
.reviews-page__list{display:grid;gap:100px}
.reviews-page__showcase{
  position:relative;
  display:grid;
  grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);
  gap:76px;
  align-items:center;
  padding-bottom:74px;
}
.reviews-page__showcase:not(:last-child):after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(183,134,53,.72) 14%,rgba(183,134,53,.72) 86%,transparent);
}
.reviews-page__copy{
  min-width:0;
  padding:28px 0 20px 30px;
}
.reviews-page__quote{
  height:72px;
  margin-bottom:3px;
  color:var(--gold);
  font-family:var(--serif);
  font-size:105px;
  line-height:.8;
}
.reviews-page__copy blockquote{
  max-width:580px;
  margin:0 0 30px;
  font-family:var(--serif);
  font-size:clamp(28px,2.15vw,37px);
  line-height:1.32;
  overflow-wrap:anywhere;
}
.reviews-page__copy h2{
  margin:0 0 7px;
  font-family:var(--serif);
  font-size:clamp(22px,1.7vw,29px);
  line-height:1.1;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
.reviews-page__copy>p{
  margin:0 0 22px;
  font-size:17px;
  line-height:1.45;
}
.reviews-page__copy .stars{
  margin:0;
  color:var(--gold);
  font-size:22px;
  letter-spacing:.22em;
}
.reviews-page__meta{
  display:flex;
  align-items:baseline;
  gap:7px;
  margin-top:35px;
  font-family:var(--serif);
}
.reviews-page__meta b{font-size:38px;font-weight:500}
.reviews-page__meta span{font-size:18px}
.reviews-page__visual{
  position:relative;
  height:clamp(500px,42vw,650px);
  margin:0;
  overflow:visible;
}
.reviews-page__visual>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.reviews-page__note{
  position:absolute;
  z-index:4;
  right:-26px;
  bottom:34px;
  width:220px;
  min-height:155px;
  padding:25px 24px;
  border:1px solid var(--gold);
  background:rgba(248,239,227,.96);
  box-shadow:0 15px 34px rgba(45,27,8,.17);
  display:flex;
  flex-direction:column;
  color:var(--ink);
}
.reviews-page__note b{
  font-family:var(--serif);
  font-size:21px;
  text-transform:uppercase;
}
.reviews-page__note span{
  margin:11px 0 7px;
  font-family:var(--serif);
  font-size:17px;
}
.reviews-page__note small{
  font-size:12px;
  line-height:1.4;
}
@media(max-width:1100px){
  .reviews-page>.shell{width:min(940px,calc(100% - 36px))}
  .reviews-page__showcase{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:48px}
  .reviews-page__copy{padding-left:0}
  .reviews-page__visual{height:520px}
  .reviews-page__note{right:14px;bottom:18px}
}
@media(max-width:900px){
  .reviews-page{padding:118px 0 88px}
  .reviews-page>.shell{width:min(720px,calc(100% - 30px))}
  .reviews-page__head{margin-bottom:40px}
  .reviews-page__showcase{
    grid-template-columns:1fr;
    gap:36px;
    padding-bottom:60px;
  }
  .reviews-page__copy{padding:0}
  .reviews-page__copy blockquote{max-width:none}
  .reviews-page__visual{height:auto;aspect-ratio:16/11}
  .reviews-page__note{right:14px;bottom:14px}
}
@media(max-width:600px){
  .reviews-page{padding:96px 0 68px}
  .reviews-page>.shell{width:calc(100% - 24px)}
  .reviews-page__head{margin-bottom:30px}
  .reviews-page__head h1{font-size:42px;margin:10px 0 14px}
  .reviews-page__head>p:last-child{font-size:15px;line-height:1.5}
  .reviews-page__list{gap:58px}
  .reviews-page__showcase{gap:26px;padding-bottom:48px}
  .reviews-page__quote{height:48px;font-size:76px}
  .reviews-page__copy blockquote{font-size:23px;margin-bottom:23px}
  .reviews-page__copy h2{font-size:24px}
  .reviews-page__copy>p{font-size:15px;margin-bottom:16px}
  .reviews-page__copy .stars{font-size:18px}
  .reviews-page__meta{margin-top:22px}
  .reviews-page__meta b{font-size:31px}
  .reviews-page__visual{aspect-ratio:4/3}
  .reviews-page__note{
    right:8px;
    bottom:8px;
    width:166px;
    min-height:0;
    padding:14px;
  }
  .reviews-page__note b{font-size:17px}
  .reviews-page__note span{font-size:14px;margin:7px 0 4px}
  .reviews-page__note small{font-size:10px}
}

/* v37 — stable project gallery and correctly fitted photographs */
.project-lightbox{
  padding:18px;
}
.project-lightbox__backdrop{
  background:rgba(7,6,5,.92);
  backdrop-filter:blur(12px);
}
.project-lightbox__panel{
  width:min(1500px,calc(100vw - 36px));
  height:min(940px,calc(100dvh - 36px));
  grid-template-rows:74px minmax(0,1fr) 104px;
  overflow:hidden;
  border-color:rgba(183,134,53,.86);
  background:#0d0c0b url('/assets/images/footer-marble-v4.webp') center/cover;
}
.project-lightbox__panel>header{
  padding:0 22px 0 28px;
}
.project-lightbox__panel>header strong{
  font-size:18px;
  line-height:1.15;
}
.project-lightbox__panel>header button{
  width:46px;
  height:46px;
  border-radius:14px;
  outline:0;
  box-shadow:none;
}
.project-lightbox__panel>header button:focus-visible,
.project-lightbox__arrow:focus-visible,
.project-lightbox__thumbs button:focus-visible{
  outline:2px solid #e0b867;
  outline-offset:3px;
}
.project-lightbox__panel>figure{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:14px;
  background:#0b0a09;
  touch-action:pan-y;
}
.project-lightbox__panel>figure:before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:-45px;
  background-image:linear-gradient(rgba(7,6,5,.40),rgba(7,6,5,.55)),var(--gallery-bg);
  background-position:center;
  background-size:cover;
  filter:blur(34px) saturate(.78);
  transform:scale(1.08);
  opacity:.78;
  transition:background-image .25s ease;
}
.project-lightbox__panel>figure:after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:radial-gradient(circle at center,rgba(255,255,255,.035),rgba(5,5,4,.40) 75%);
}
.project-lightbox__panel>figure img{
  position:relative;
  z-index:2;
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  margin:auto;
  object-fit:contain;
  object-position:center;
  box-shadow:0 22px 55px rgba(0,0,0,.42);
  opacity:1;
  transform:translateZ(0);
  transition:opacity .2s ease,transform .25s ease;
}
.project-lightbox__panel>figure.is-landscape img{
  width:100%;
  height:100%;
}
.project-lightbox__panel>figure.is-portrait img{
  width:auto;
  height:100%;
  max-width:min(62vw,820px);
}
.project-lightbox__panel>figure.is-loading img{
  opacity:.28;
  transform:scale(.995);
}
.project-lightbox__loader,
.project-lightbox__error{
  position:absolute;
  z-index:5;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  min-width:210px;
  padding:16px 20px;
  border:1px solid rgba(213,169,91,.54);
  background:rgba(13,11,9,.84);
  color:#f1dfc1;
  text-align:center;
  font-family:var(--serif);
  backdrop-filter:blur(8px);
}
.project-lightbox__loader[hidden],
.project-lightbox__error[hidden]{display:none!important}
.project-lightbox__loader i{
  display:block;
  width:34px;
  height:34px;
  margin:0 auto 10px;
  border:2px solid rgba(218,174,96,.28);
  border-top-color:#d9a84f;
  border-radius:50%;
  animation:gallery-spin .75s linear infinite;
}
.project-lightbox__loader b{
  font-weight:500;
  font-size:15px;
}
.project-lightbox__error{
  color:#f4e8d4;
  border-color:#a96755;
}
@keyframes gallery-spin{to{transform:rotate(360deg)}}
.project-lightbox__panel>footer{
  grid-template-columns:52px 80px minmax(0,1fr) 52px;
  gap:14px;
  padding:12px 20px;
}
.project-lightbox__arrow{
  width:48px;
  height:48px;
  outline:0;
}
.project-lightbox__counter b{font-size:29px}
.project-lightbox__thumbs{
  justify-content:flex-start;
  scroll-behavior:smooth;
  scrollbar-width:thin;
  scrollbar-color:#9e702c transparent;
}
.project-lightbox__thumbs button{
  width:88px;
  height:62px;
  border-radius:7px;
  overflow:hidden;
  transition:opacity .2s,border-color .2s,transform .2s;
  outline:0;
}
.project-lightbox__thumbs button.is-active{
  transform:translateY(-2px);
}
.project-lightbox__thumbs img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
@media(max-width:900px){
  .project-lightbox{padding:8px}
  .project-lightbox__panel{
    width:calc(100vw - 16px);
    height:calc(100dvh - 16px);
    grid-template-rows:68px minmax(0,1fr) 92px;
  }
  .project-lightbox__panel>header{padding:0 12px 0 16px}
  .project-lightbox__panel>header span{display:none}
  .project-lightbox__panel>header strong{font-size:15px;max-width:calc(100vw - 100px)}
  .project-lightbox__panel>header button{width:42px;height:42px;border-radius:12px}
  .project-lightbox__panel>figure{padding:8px}
  .project-lightbox__panel>figure.is-portrait img{height:100%;max-width:82vw}
  .project-lightbox__panel>footer{grid-template-columns:44px minmax(0,1fr) 44px;padding:9px 10px;gap:8px}
  .project-lightbox__counter{display:none}
  .project-lightbox__arrow{width:42px;height:42px}
  .project-lightbox__thumbs button{width:68px;height:50px}
}
@media(max-width:600px){
  .project-lightbox{padding:0}
  .project-lightbox__panel{
    width:100vw;
    height:100dvh;
    grid-template-rows:64px minmax(0,1fr) 82px;
    border:0;
  }
  .project-lightbox__panel>header strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .project-lightbox__panel>figure{padding:6px}
  .project-lightbox__panel>figure.is-landscape img{width:100%;height:auto;max-height:100%}
  .project-lightbox__panel>figure.is-portrait img{height:100%;width:auto;max-width:94vw}
  .project-lightbox__loader,.project-lightbox__error{min-width:190px;padding:13px 15px;font-size:14px}
  .project-lightbox__panel>footer{grid-template-columns:40px minmax(0,1fr) 40px;padding:7px 8px}
  .project-lightbox__arrow{width:38px;height:38px;font-size:18px}
  .project-lightbox__thumbs{gap:6px}
  .project-lightbox__thumbs button{width:60px;height:45px;border-radius:5px}
}

/* v42 — premium project gallery: full image, no cropping or distortion */
.project-lightbox{
  padding:clamp(8px,1.4vw,20px);
  overscroll-behavior:contain;
}
.project-lightbox__backdrop{
  background:rgba(8,7,6,.94);
  backdrop-filter:blur(14px) saturate(.72);
}
.project-lightbox__panel{
  width:min(1480px,calc(100vw - 32px));
  height:min(940px,calc(100dvh - 32px));
  grid-template-rows:72px minmax(0,1fr) 94px;
  border:1px solid rgba(197,146,59,.88);
  background:#0d0c0b url('/assets/images/footer-marble-v4.webp') center/cover;
  box-shadow:0 36px 120px rgba(0,0,0,.68);
}
.project-lightbox__panel>header{
  padding:0 18px 0 26px;
  background:linear-gradient(90deg,rgba(13,12,11,.96),rgba(23,20,17,.9));
}
.project-lightbox__panel>header button{
  width:44px;
  height:44px;
  border-radius:13px;
  background:rgba(18,15,12,.58);
  box-shadow:0 8px 22px rgba(0,0,0,.22);
}
.project-lightbox__panel>figure{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:0;
  margin:0;
  padding:clamp(14px,1.8vw,26px) clamp(54px,5vw,82px);
  overflow:hidden;
  isolation:isolate;
  background:#090807;
}
.project-lightbox__panel>figure:before{
  inset:-56px;
  background-image:linear-gradient(rgba(6,5,4,.56),rgba(6,5,4,.66)),var(--gallery-bg);
  background-position:center;
  background-size:cover;
  filter:blur(42px) saturate(.62) brightness(.74);
  transform:scale(1.12);
  opacity:.74;
}
.project-lightbox__panel>figure:after{
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,4,3,.34),transparent 24%,transparent 76%,rgba(4,4,3,.34)),
    radial-gradient(circle at center,rgba(255,255,255,.025),rgba(3,3,2,.3) 78%);
}
.project-lightbox__panel>figure img,
.project-lightbox__panel>figure.is-landscape img,
.project-lightbox__panel>figure.is-portrait img{
  position:relative;
  z-index:2;
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0;
  min-height:0;
  margin:auto;
  object-fit:contain!important;
  object-position:center!important;
  image-orientation:from-image;
  box-shadow:0 24px 70px rgba(0,0,0,.5);
  background:#0a0908;
}
.project-lightbox__stage-arrow{
  position:absolute;
  z-index:6;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(205,157,77,.88);
  border-radius:50%;
  background:rgba(12,10,8,.72);
  color:#e7c47e;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(8px);
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  transition:background .2s,border-color .2s,transform .2s,color .2s;
}
.project-lightbox__stage-arrow:hover{
  background:rgba(183,134,53,.22);
  border-color:#e0b867;
  color:#fff1d4;
}
.project-lightbox__stage-arrow:focus-visible{
  outline:2px solid #e0b867;
  outline-offset:3px;
}
.project-lightbox__stage-arrow--prev{left:16px}
.project-lightbox__stage-arrow--next{right:16px}
.project-lightbox__panel>footer{
  grid-template-columns:78px minmax(0,1fr)!important;
  gap:16px;
  padding:11px 20px;
  background:linear-gradient(90deg,rgba(12,10,8,.95),rgba(21,18,15,.9));
}
.project-lightbox__panel>footer>.project-lightbox__arrow{display:none}
.project-lightbox__counter{
  justify-content:center;
  white-space:nowrap;
}
.project-lightbox__thumbs{
  justify-content:flex-start;
  align-items:center;
  gap:9px;
  padding:4px 2px;
}
.project-lightbox__thumbs button{
  width:84px;
  height:58px;
  border-radius:7px;
  background:#0b0907;
}
.project-lightbox__thumbs img{
  object-fit:cover;
  image-orientation:from-image;
}
@media(max-width:900px){
  .project-lightbox__panel{
    width:calc(100vw - 12px);
    height:calc(100dvh - 12px);
    grid-template-rows:66px minmax(0,1fr) 84px;
  }
  .project-lightbox__panel>figure{
    padding:10px 52px;
  }
  .project-lightbox__stage-arrow{
    width:42px;
    height:42px;
    font-size:19px;
  }
  .project-lightbox__stage-arrow--prev{left:8px}
  .project-lightbox__stage-arrow--next{right:8px}
  .project-lightbox__panel>footer{
    grid-template-columns:64px minmax(0,1fr)!important;
    padding:8px 10px;
    gap:8px;
  }
  .project-lightbox__counter{display:flex}
  .project-lightbox__counter b{font-size:24px}
  .project-lightbox__thumbs button{width:66px;height:48px}
}
@media(max-width:600px){
  .project-lightbox{padding:0}
  .project-lightbox__panel{
    width:100vw;
    height:100dvh;
    grid-template-rows:62px minmax(0,1fr) 78px;
    border:0;
  }
  .project-lightbox__panel>header{padding:0 10px 0 14px}
  .project-lightbox__panel>header button{width:40px;height:40px}
  .project-lightbox__panel>figure{
    padding:8px 44px;
  }
  .project-lightbox__stage-arrow{
    width:36px;
    height:36px;
    font-size:17px;
  }
  .project-lightbox__stage-arrow--prev{left:5px}
  .project-lightbox__stage-arrow--next{right:5px}
  .project-lightbox__panel>footer{
    grid-template-columns:52px minmax(0,1fr)!important;
    padding:6px 8px;
  }
  .project-lightbox__counter b{font-size:20px}
  .project-lightbox__counter{gap:4px;font-size:13px}
  .project-lightbox__thumbs{gap:6px}
  .project-lightbox__thumbs button{width:56px;height:42px}
}
.project-lightbox__thumbs img{
  object-fit:contain;
  background:#0b0907;
}


/* v45 — reviews submission switch */
.project-reviews__grid--single{grid-template-columns:minmax(0,920px);justify-content:start}
.project-reviews__grid--single .project-reviews__list{width:100%}
@media(max-width:900px){.project-reviews__grid--single{grid-template-columns:1fr}}

/* v46 — galleries for service directions */
.service-detail{padding:150px 0 96px;overflow:hidden}
.service-detail__grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.35fr);gap:72px;align-items:center}
.service-detail__copy{position:relative;z-index:2}
.service-detail__copy h1{font-size:clamp(58px,6.2vw,96px);line-height:.91;margin:16px 0 26px;overflow-wrap:anywhere}
.service-detail__lead{max-width:620px;font:24px/1.55 var(--serif);margin:0 0 36px}
.service-detail__copy .gold-button{width:min(100%,360px)}
.service-gallery{min-width:0;border:1px solid var(--gold);background:#15120f;box-shadow:0 28px 70px rgba(62,39,15,.16)}
.service-gallery__header{min-height:92px;padding:19px 24px;display:flex;align-items:center;justify-content:space-between;gap:22px;color:#f3e7d5;background:linear-gradient(rgba(9,8,7,.3),rgba(9,8,7,.3)),url('/assets/images/black-marble.webp') center/cover;border-bottom:1px solid rgba(183,134,53,.72)}
.service-gallery__header .eyebrow{margin:0 0 5px;color:#d3a452;font-size:11px}
.service-gallery__header strong{display:block;font:22px/1.1 var(--serif);text-transform:uppercase}
.service-gallery__header>span{white-space:nowrap;font:18px var(--serif);color:#d8b36b}
.service-gallery__header>span b{font-size:32px;font-weight:400;color:#fff}
.service-gallery__stage{position:relative;height:clamp(440px,43vw,690px);overflow:hidden;display:grid;place-items:center;background:#171512}
.service-gallery__stage::before{content:"";position:absolute;inset:-30px;background-image:linear-gradient(rgba(10,9,8,.58),rgba(10,9,8,.58)),var(--service-gallery-bg);background-size:cover;background-position:center;filter:blur(28px);transform:scale(1.08);opacity:.78}
.service-gallery__stage::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 80px rgba(0,0,0,.38);pointer-events:none}
.service-gallery__stage img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;object-position:center;transition:opacity .2s ease,transform .35s ease}
.service-gallery__stage.is-changing img{opacity:.25;transform:scale(.992)}
.service-gallery__arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:54px;height:54px;border:1px solid rgba(216,179,107,.86);border-radius:50%;display:grid;place-items:center;background:rgba(14,12,10,.75);color:#f0c875;font-size:24px;cursor:pointer;backdrop-filter:blur(7px);transition:.2s}
.service-gallery__arrow:hover{background:var(--gold);color:#1a130b;transform:translateY(-50%) scale(1.04)}
.service-gallery__arrow--prev{left:18px}.service-gallery__arrow--next{right:18px}
.service-gallery__thumbs{display:flex;gap:10px;overflow-x:auto;padding:14px;background:linear-gradient(rgba(9,8,7,.22),rgba(9,8,7,.22)),url('/assets/images/black-marble.webp') center/cover;scrollbar-width:thin;scrollbar-color:#b78635 #1b1712}
.service-gallery__thumb{flex:0 0 128px;height:82px;padding:0;border:1px solid rgba(183,134,53,.28);background:#0d0b09;cursor:pointer;opacity:.58;transition:.2s;overflow:hidden}
.service-gallery__thumb img{width:100%;height:100%;display:block;object-fit:cover}
.service-gallery__thumb:hover,.service-gallery__thumb.is-active{opacity:1;border-color:#dfb66f;box-shadow:0 0 0 2px rgba(183,134,53,.22)}
.service-detail-content{padding:90px 0 120px;border-top:1px solid rgba(183,134,53,.42)}
.service-detail-content__inner{position:relative}
.service-detail-content__inner h2{font-size:clamp(45px,5vw,72px);line-height:.98;margin:13px 0 32px}
.service-detail-content__text{font:22px/1.72 var(--serif);max-width:920px;margin-bottom:38px}
.service-detail-content__text p{margin:0 0 22px}
.service-detail-content .gold-button{width:min(100%,360px)}
@media(max-width:1100px){.service-detail__grid{grid-template-columns:1fr;gap:48px}.service-detail{padding-top:120px}.service-detail__copy{max-width:850px}.service-gallery__stage{height:min(70vw,680px)}}
@media(max-width:700px){.service-detail{padding:96px 0 64px}.service-detail__grid{gap:34px}.service-detail__copy h1{font-size:clamp(44px,13.5vw,62px)}.service-detail__lead{font-size:19px;line-height:1.5}.service-gallery__header{min-height:76px;padding:14px 15px}.service-gallery__header strong{font-size:17px}.service-gallery__header>span{font-size:14px}.service-gallery__header>span b{font-size:24px}.service-gallery__stage{height:72vw;min-height:300px;max-height:500px}.service-gallery__arrow{width:44px;height:44px;font-size:20px}.service-gallery__arrow--prev{left:10px}.service-gallery__arrow--next{right:10px}.service-gallery__thumbs{gap:7px;padding:10px}.service-gallery__thumb{flex-basis:92px;height:62px}.service-detail-content{padding:64px 0 90px}.service-detail-content__inner h2{font-size:40px}.service-detail-content__text{font-size:18px;line-height:1.58}}
@media(max-width:420px){.service-detail{padding-top:82px}.service-gallery__stage{height:78vw;min-height:270px}.service-gallery__header .eyebrow{font-size:9px}.service-gallery__header strong{font-size:15px}.service-gallery__thumb{flex-basis:78px;height:54px}}


/* v49 — whole direction card is clickable */
.service-card{
  display:block;
  color:#fff;
  text-decoration:none;
  cursor:pointer;
  outline:none;
  isolation:isolate;
}
.service-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  border:1px solid transparent;
  pointer-events:none;
  transition:border-color .25s ease,box-shadow .25s ease;
}
.service-card__body{z-index:2}
.service-card__link{
  display:inline-block;
  color:#edc477;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:11px;
  margin-top:15px;
  opacity:0;
  max-height:0;
  overflow:hidden;
  transition:opacity .35s ease,max-height .35s ease,transform .35s ease;
  transform:translateY(6px);
}
.service-card:hover::after,
.service-card:focus-visible::after{
  border-color:rgba(237,196,119,.95);
  box-shadow:inset 0 0 0 2px rgba(237,196,119,.18);
}
.service-card:hover img,
.service-card:focus-visible img{transform:scale(1.045)}
.service-card:hover p,
.service-card:focus-visible p,
.service-card:hover .service-card__link,
.service-card:focus-visible .service-card__link{
  opacity:1;
  max-height:90px;
  transform:none;
}
.service-card:active img{transform:scale(1.025)}
@media(hover:none){
  .service-card p,
  .service-card__link{opacity:1;max-height:90px;transform:none}
}


/* v51 — premium floating consultation button */
.contact-fab{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:70;
  width:auto;
  height:58px;
  min-width:208px;
  padding:0 18px 0 10px;
  border:1px solid rgba(202,154,76,.92);
  border-radius:7px;
  background:
    linear-gradient(105deg,rgba(14,12,10,.96),rgba(34,28,21,.96)),
    url('/assets/images/black-marble.webp') center/cover;
  color:#f3d18d;
  box-shadow:0 12px 34px rgba(20,13,6,.34),inset 0 1px rgba(255,255,255,.05);
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
  font-family:var(--serif);
  font-size:14px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,color .22s ease;
}
.contact-fab::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(110deg,rgba(204,151,65,.18),transparent 46%,rgba(255,229,172,.08));
  transform:translateX(-105%);
  transition:transform .4s ease;
}
.contact-fab::after{
  content:"";
  position:absolute;
  left:58px;
  top:11px;
  bottom:11px;
  width:1px;
  background:rgba(218,173,95,.35);
}
.contact-fab__icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(220,177,101,.82);
  border-radius:5px;
  background:linear-gradient(135deg,#d6a654,#a86f22);
  color:#17110b;
  box-shadow:inset 0 1px rgba(255,255,255,.28);
}
.contact-fab__icon svg{width:22px;height:22px;display:block}
.contact-fab__label{position:relative;top:1px;white-space:nowrap}
.contact-fab:hover,
.contact-fab:focus-visible{
  transform:translateY(-3px);
  border-color:#e4bd76;
  color:#ffe8bb;
  box-shadow:0 18px 42px rgba(20,13,6,.42),0 0 0 3px rgba(190,137,55,.12);
  outline:none;
}
.contact-fab:hover::before,
.contact-fab:focus-visible::before{transform:none}
.contact-fab:active{transform:translateY(-1px)}
.contact-fab.is-hidden{opacity:0;pointer-events:none;transform:translateY(18px)}
@media(max-width:600px){
  .contact-fab{
    right:14px;
    bottom:14px;
    width:52px;
    min-width:52px;
    height:52px;
    padding:6px;
    border-radius:7px;
    justify-content:center;
  }
  .contact-fab::after{display:none}
  .contact-fab__icon{width:38px;height:38px;flex-basis:38px;border-radius:5px}
  .contact-fab__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
}

/* v52 — floating CTA like the approved reference */
.contact-fab{
  right:28px;
  bottom:26px;
  width:auto;
  min-width:330px;
  height:76px;
  padding:8px 16px 8px 9px;
  border:1px solid #c9943d;
  border-radius:12px;
  background:
    linear-gradient(108deg,rgba(13,12,11,.98),rgba(31,27,23,.97)),
    url('/assets/images/black-marble.webp') center/cover;
  color:#f2d294;
  box-shadow:0 14px 36px rgba(15,10,5,.38),inset 0 1px rgba(255,255,255,.05);
  gap:14px;
  font-size:20px;
  font-weight:500;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.contact-fab::before{
  background:linear-gradient(110deg,rgba(205,158,80,.14),transparent 46%,rgba(255,230,175,.07));
}
.contact-fab::after{
  left:auto;
  right:58px;
  top:15px;
  bottom:15px;
  background:rgba(218,173,95,.58);
}
.contact-fab__icon{
  width:60px;
  height:60px;
  flex:0 0 60px;
  border:1px solid rgba(225,184,110,.95);
  border-radius:9px;
  background:linear-gradient(145deg,#e4ba6d,#b77a2c);
  padding:5px;
  overflow:hidden;
}
.contact-fab__icon img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.28));
}
.contact-fab__label{
  flex:1;
  position:relative;
  top:0;
  text-align:left;
  white-space:nowrap;
}
.contact-fab__arrow{
  width:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  font-family:Arial,sans-serif;
  font-size:34px;
  font-weight:300;
  line-height:1;
  color:#e3b55f;
  transition:transform .22s ease,color .22s ease;
}
.contact-fab:hover .contact-fab__arrow,
.contact-fab:focus-visible .contact-fab__arrow{transform:translateX(4px);color:#ffe3a8}
@media(max-width:600px){
  .contact-fab{
    right:12px;
    bottom:12px;
    width:auto;
    min-width:0;
    height:58px;
    padding:6px 10px 6px 6px;
    border-radius:10px;
    gap:8px;
  }
  .contact-fab::after{right:42px;top:11px;bottom:11px;display:block}
  .contact-fab__icon{width:46px;height:46px;flex-basis:46px;padding:4px;border-radius:7px}
  .contact-fab__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .contact-fab__arrow{width:24px;flex-basis:24px;font-size:25px}
}


/* v53 — custom logo inside floating CTA */
.contact-fab__icon{
  width:78px;
  height:60px;
  flex:0 0 78px;
  border:0;
  border-radius:7px;
  background:transparent;
  padding:0;
  overflow:hidden;
}
.contact-fab__icon img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  filter:none;
}
@media(max-width:600px){
  .contact-fab__icon{width:58px;height:46px;flex-basis:58px;padding:0;border:0;background:transparent}
}

/* v55 — compact mobile floating CTA without the right arrow */
@media (max-width:600px){
  .contact-fab{
    padding:6px;
    gap:0;
  }
  .contact-fab::after{display:none!important}
  .contact-fab__arrow{display:none!important}
  .contact-fab__icon{width:58px;height:46px;flex:0 0 58px}
}

/* v56 — admin-controlled floating CTA color and transparency */
.contact-fab{
  background:var(--contact-fab-bg,#11100ef5)!important;
}
.contact-fab__icon{
  background:var(--contact-fab-logo-bg,rgba(154,107,37,.35))!important;
}
.contact-fab__icon img{
  opacity:var(--contact-fab-logo-opacity,1)!important;
}

/* v57 — clear mobile CTA and stable page background */
html,
body{
  background-color:var(--site-bg-color,#f8efe4);
}
body::before{
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change:transform;
}
@media (max-width:600px){
  .contact-fab{
    right:14px!important;
    bottom:14px!important;
    width:auto!important;
    min-width:214px!important;
    max-width:calc(100vw - 28px)!important;
    height:58px!important;
    padding:6px 13px 6px 7px!important;
    gap:10px!important;
    border-radius:11px!important;
    justify-content:flex-start!important;
  }
  .contact-fab__icon{
    width:54px!important;
    height:46px!important;
    flex:0 0 54px!important;
  }
  .contact-fab__label{
    position:static!important;
    width:auto!important;
    height:auto!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
    clip:auto!important;
    white-space:nowrap!important;
    border:0!important;
    display:block!important;
    font-size:15px!important;
    line-height:1!important;
    letter-spacing:.035em!important;
  }
  .contact-fab__arrow,
  .contact-fab::after{display:none!important}
}
@media (max-width:380px){
  .contact-fab{min-width:198px!important;padding-right:10px!important;gap:7px!important}
  .contact-fab__label{font-size:13px!important}
  .contact-fab__icon{width:49px!important;flex-basis:49px!important}
}

/* v63 — floating CTA without vertical divider */
.contact-fab::after{
  content:none!important;
  display:none!important;
}

/* v64: preserve line breaks entered in admin textareas */
.admin-text{white-space:pre-line;overflow-wrap:anywhere}

/* v66 — immersive premium fullscreen gallery with hover thumbnail carousel */
.project-lightbox{
  padding:0!important;
  background:#070605;
}
.project-lightbox__backdrop{
  background:rgba(6,5,4,.95)!important;
  backdrop-filter:blur(16px) saturate(.72)!important;
}
.project-lightbox__panel{
  position:relative!important;
  width:100vw!important;
  height:100dvh!important;
  display:block!important;
  overflow:hidden!important;
  border:0!important;
  background:#090807!important;
  box-shadow:none!important;
}
.project-lightbox__panel>header{
  position:absolute!important;
  inset:0 0 auto 0!important;
  z-index:30!important;
  min-height:86px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:20px!important;
  padding:22px 28px 26px!important;
  border:0!important;
  background:linear-gradient(180deg,rgba(6,5,4,.90) 0%,rgba(6,5,4,.55) 48%,rgba(6,5,4,0) 100%)!important;
}
.project-lightbox__panel>header div{min-width:0}
.project-lightbox__panel>header span{
  display:block!important;
  margin-bottom:6px!important;
  color:#c9994d!important;
  font-size:11px!important;
  letter-spacing:.18em!important;
}
.project-lightbox__panel>header strong{
  display:block!important;
  max-width:min(76vw,980px)!important;
  color:#f5eadc!important;
  font:500 clamp(22px,1.8vw,32px)/1.05 var(--serif)!important;
  text-transform:uppercase!important;
}
.project-lightbox__panel>header button{
  flex:none!important;
  width:52px!important;
  height:52px!important;
  border:1px solid rgba(205,157,77,.84)!important;
  border-radius:16px!important;
  background:rgba(9,8,7,.58)!important;
  color:#e8c77e!important;
  box-shadow:0 10px 28px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(10px)!important;
}
.project-lightbox__panel>figure{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:94px 92px 116px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#090807!important;
}
.project-lightbox__panel>figure:before{
  content:""!important;
  position:absolute!important;
  inset:-64px!important;
  z-index:-2!important;
  background-image:linear-gradient(rgba(7,6,5,.58),rgba(7,6,5,.72)),var(--gallery-bg)!important;
  background-position:center!important;
  background-size:cover!important;
  filter:blur(54px) saturate(.75) brightness(.74)!important;
  transform:scale(1.12)!important;
  opacity:.88!important;
}
.project-lightbox__panel>figure:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  background:
    radial-gradient(circle at center,rgba(255,255,255,.03),rgba(4,4,3,.26) 58%,rgba(4,4,3,.48) 100%),
    linear-gradient(90deg,rgba(4,4,3,.52),transparent 16%,transparent 84%,rgba(4,4,3,.52))!important;
}
.project-lightbox__panel>figure img,
.project-lightbox__panel>figure.is-landscape img,
.project-lightbox__panel>figure.is-portrait img{
  position:relative!important;
  z-index:3!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:min(92vw,1600px)!important;
  max-height:calc(100dvh - 170px)!important;
  min-width:0!important;
  min-height:0!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  image-orientation:from-image!important;
  background:transparent!important;
  box-shadow:0 24px 70px rgba(0,0,0,.48)!important;
}
.project-lightbox__loader,
.project-lightbox__error{
  z-index:8!important;
}
.project-lightbox__stage-arrow{
  position:absolute!important;
  z-index:10!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:58px!important;
  height:58px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(205,157,77,.84)!important;
  border-radius:50%!important;
  background:rgba(10,9,8,.54)!important;
  color:#e8c77e!important;
  font-size:24px!important;
  line-height:1!important;
  box-shadow:0 12px 36px rgba(0,0,0,.3)!important;
  backdrop-filter:blur(8px)!important;
}
.project-lightbox__stage-arrow:hover{
  background:rgba(183,134,53,.2)!important;
  color:#fff0d2!important;
  border-color:#e0b867!important;
}
.project-lightbox__stage-arrow--prev{left:24px!important}
.project-lightbox__stage-arrow--next{right:24px!important}
.project-lightbox__panel>footer{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:25!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:end!important;
  gap:18px!important;
  padding:0 24px 18px!important;
  border:0!important;
  background:linear-gradient(0deg,rgba(6,5,4,.96) 0%,rgba(6,5,4,.66) 52%,rgba(6,5,4,0) 100%)!important;
}
.project-lightbox__panel>footer>.project-lightbox__arrow{display:none!important}
.project-lightbox__counter{
  display:flex!important;
  align-items:flex-end!important;
  gap:8px!important;
  min-width:86px!important;
  padding:0 0 10px!important;
  color:rgba(244,228,196,.72)!important;
}
.project-lightbox__counter b{
  color:#f5eadc!important;
  font-size:30px!important;
  line-height:1!important;
}
.project-lightbox__thumbs{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:14px 2px 6px!important;
  scroll-behavior:smooth!important;
  scrollbar-width:thin!important;
  scrollbar-color:#9d702d transparent!important;
  opacity:0!important;
  transform:translateY(26px)!important;
  transition:opacity .28s ease,transform .28s ease!important;
}
.project-lightbox__panel:hover .project-lightbox__thumbs,
.project-lightbox__panel:focus-within .project-lightbox__thumbs{
  opacity:1!important;
  transform:translateY(0)!important;
}
.project-lightbox__thumbs button{
  position:relative!important;
  flex:none!important;
  width:110px!important;
  height:72px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(205,157,77,.18)!important;
  border-radius:12px!important;
  background:rgba(11,9,8,.72)!important;
  opacity:.52!important;
  transform:scale(.97)!important;
  transition:opacity .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease!important;
  box-shadow:none!important;
}
.project-lightbox__thumbs button:hover,
.project-lightbox__thumbs button:focus-visible,
.project-lightbox__thumbs button.is-active{
  opacity:1!important;
  transform:scale(1)!important;
  border-color:#d1a34f!important;
  box-shadow:0 10px 28px rgba(0,0,0,.24)!important;
}
.project-lightbox__thumbs img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  background:#0b0907!important;
}
@media (hover:none), (pointer:coarse){
  .project-lightbox__thumbs{
    opacity:1!important;
    transform:none!important;
  }
}
@media(max-width:1100px){
  .project-lightbox__panel>figure{padding:88px 74px 108px!important}
  .project-lightbox__panel>figure img,
  .project-lightbox__panel>figure.is-landscape img,
  .project-lightbox__panel>figure.is-portrait img{max-width:min(94vw,1400px)!important;max-height:calc(100dvh - 164px)!important}
}
@media(max-width:900px){
  .project-lightbox__panel>header{min-height:74px!important;padding:16px 16px 20px!important}
  .project-lightbox__panel>header span{display:none!important}
  .project-lightbox__panel>header strong{max-width:calc(100vw - 88px)!important;font-size:16px!important}
  .project-lightbox__panel>header button{width:44px!important;height:44px!important;border-radius:14px!important}
  .project-lightbox__panel>figure{padding:74px 54px 96px!important}
  .project-lightbox__panel>figure img,
  .project-lightbox__panel>figure.is-landscape img,
  .project-lightbox__panel>figure.is-portrait img{max-width:calc(100vw - 96px)!important;max-height:calc(100dvh - 144px)!important}
  .project-lightbox__stage-arrow{width:46px!important;height:46px!important;font-size:20px!important}
  .project-lightbox__stage-arrow--prev{left:10px!important}
  .project-lightbox__stage-arrow--next{right:10px!important}
  .project-lightbox__panel>footer{gap:10px!important;padding:0 12px 12px!important}
  .project-lightbox__counter{min-width:60px!important;padding-bottom:8px!important}
  .project-lightbox__counter b{font-size:22px!important}
  .project-lightbox__thumbs{gap:8px!important;padding:10px 2px 4px!important}
  .project-lightbox__thumbs button{width:80px!important;height:56px!important;border-radius:10px!important}
}
@media(max-width:640px){
  .project-lightbox__panel>header{padding:12px 12px 18px!important}
  .project-lightbox__panel>header strong{font-size:14px!important}
  .project-lightbox__panel>figure{padding:66px 8px 90px!important}
  .project-lightbox__panel>figure img,
  .project-lightbox__panel>figure.is-landscape img,
  .project-lightbox__panel>figure.is-portrait img{max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 132px)!important}
  .project-lightbox__stage-arrow{width:38px!important;height:38px!important;font-size:17px!important;background:rgba(10,9,8,.68)!important}
  .project-lightbox__stage-arrow--prev{left:4px!important}
  .project-lightbox__stage-arrow--next{right:4px!important}
  .project-lightbox__panel>footer{grid-template-columns:50px minmax(0,1fr)!important;padding:0 8px 8px!important}
  .project-lightbox__counter{min-width:50px!important;font-size:12px!important}
  .project-lightbox__counter b{font-size:18px!important}
  .project-lightbox__thumbs button{width:62px!important;height:44px!important;border-radius:8px!important}
}

/* v67 — true fullscreen premium project gallery */
.project-lightbox{
  inset:0!important;
  padding:0!important;
  background:#070605!important;
  overscroll-behavior:none!important;
}
.project-lightbox__backdrop{
  inset:0!important;
  background:#070605!important;
  backdrop-filter:none!important;
}
.project-lightbox__panel{
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#080706!important;
  overflow:hidden!important;
}
.project-lightbox__panel>figure{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:#080706!important;
  touch-action:pan-y pinch-zoom!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
.project-lightbox__panel>figure:before{
  inset:-72px!important;
  background-image:linear-gradient(rgba(6,5,4,.46),rgba(6,5,4,.62)),var(--gallery-bg)!important;
  background-position:center!important;
  background-size:cover!important;
  filter:blur(58px) saturate(.82) brightness(.72)!important;
  transform:scale(1.14)!important;
  opacity:.96!important;
}
.project-lightbox__panel>figure:after{
  inset:0!important;
  background:
    radial-gradient(circle at center,rgba(255,255,255,.025),rgba(4,4,3,.16) 56%,rgba(4,4,3,.38) 100%),
    linear-gradient(90deg,rgba(5,4,3,.20),transparent 18%,transparent 82%,rgba(5,4,3,.20))!important;
}
.project-lightbox__panel>figure img,
.project-lightbox__panel>figure.is-landscape img,
.project-lightbox__panel>figure.is-portrait img{
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:clamp(6px,1vw,14px)!important;
  object-fit:contain!important;
  object-position:center center!important;
  image-orientation:from-image!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  pointer-events:none!important;
}
.project-lightbox__panel>header{
  position:absolute!important;
  inset:0 0 auto 0!important;
  z-index:30!important;
  min-height:104px!important;
  padding:20px 22px 36px!important;
  border:0!important;
  background:linear-gradient(180deg,rgba(5,4,3,.88) 0%,rgba(5,4,3,.48) 52%,rgba(5,4,3,0) 100%)!important;
  pointer-events:none!important;
}
.project-lightbox__panel>header div,
.project-lightbox__panel>header button{pointer-events:auto!important}
.project-lightbox__panel>header button{
  width:48px!important;
  height:48px!important;
  border-radius:14px!important;
  background:rgba(8,7,6,.52)!important;
  backdrop-filter:blur(10px)!important;
}
.project-lightbox__stage-arrow{
  position:fixed!important;
  z-index:32!important;
  top:50%!important;
  width:54px!important;
  height:54px!important;
  transform:translateY(-50%)!important;
  border:1px solid rgba(210,164,86,.80)!important;
  background:rgba(8,7,6,.42)!important;
  color:#e9c980!important;
  backdrop-filter:blur(9px)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.24)!important;
  opacity:.78!important;
}
.project-lightbox__stage-arrow:hover,
.project-lightbox__stage-arrow:focus-visible{
  opacity:1!important;
  background:rgba(183,134,53,.22)!important;
}
.project-lightbox__stage-arrow--prev{left:18px!important}
.project-lightbox__stage-arrow--next{right:18px!important}
.project-lightbox__panel>footer{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:28!important;
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  align-items:end!important;
  gap:14px!important;
  padding:46px 18px 14px!important;
  border:0!important;
  background:linear-gradient(0deg,rgba(5,4,3,.95) 0%,rgba(5,4,3,.62) 56%,rgba(5,4,3,0) 100%)!important;
  opacity:0!important;
  transform:translateY(34px)!important;
  pointer-events:none!important;
  transition:opacity .26s ease,transform .26s ease!important;
}
.project-lightbox__panel:hover .project-lightbox__thumbs{
  opacity:0!important;
  transform:translateY(26px)!important;
}
.project-lightbox.is-ui-visible .project-lightbox__panel>footer,
.project-lightbox.is-ui-visible .project-lightbox__panel:hover>footer,
.project-lightbox.is-ui-visible .project-lightbox__panel:focus-within>footer{
  opacity:1!important;
  transform:translateY(0)!important;
  pointer-events:auto!important;
}
.project-lightbox.is-ui-visible .project-lightbox__thumbs,
.project-lightbox.is-ui-visible .project-lightbox__panel:hover .project-lightbox__thumbs,
.project-lightbox.is-ui-visible .project-lightbox__panel:focus-within .project-lightbox__thumbs{
  opacity:1!important;
  transform:translateY(0)!important;
}
.project-lightbox__counter{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:76px!important;
  padding:0 0 9px!important;
  white-space:nowrap!important;
}
.project-lightbox__counter b{font-size:27px!important}
.project-lightbox__thumbs{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:9px 2px 5px!important;
  opacity:1!important;
  transform:none!important;
  scroll-behavior:smooth!important;
  scroll-snap-type:x proximity!important;
  overscroll-behavior-x:contain!important;
  touch-action:pan-x!important;
  cursor:grab!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.project-lightbox__thumbs::-webkit-scrollbar{display:none!important}
.project-lightbox__thumbs.is-dragging{
  cursor:grabbing!important;
  scroll-behavior:auto!important;
}
.project-lightbox__thumbs button{
  flex:0 0 auto!important;
  width:92px!important;
  height:62px!important;
  padding:0!important;
  border-radius:10px!important;
  scroll-snap-align:center!important;
  opacity:.55!important;
  transform:scale(.97)!important;
  background:#0a0908!important;
}
.project-lightbox__thumbs button:hover,
.project-lightbox__thumbs button:focus-visible,
.project-lightbox__thumbs button.is-active{
  opacity:1!important;
  transform:scale(1)!important;
  border-color:#d2a34e!important;
}
.project-lightbox__thumbs img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.project-lightbox__loader,
.project-lightbox__error{z-index:36!important}
@media(max-width:900px){
  .project-lightbox__panel>header{min-height:82px!important;padding:14px 12px 28px!important}
  .project-lightbox__panel>header span{display:none!important}
  .project-lightbox__panel>header strong{font-size:15px!important;max-width:calc(100vw - 86px)!important}
  .project-lightbox__panel>header button{width:42px!important;height:42px!important}
  .project-lightbox__stage-arrow{width:44px!important;height:44px!important;font-size:19px!important}
  .project-lightbox__stage-arrow--prev{left:8px!important}
  .project-lightbox__stage-arrow--next{right:8px!important}
  .project-lightbox__panel>footer{grid-template-columns:58px minmax(0,1fr)!important;padding:36px 8px 8px!important;gap:7px!important}
  .project-lightbox__counter{min-width:58px!important;padding-bottom:7px!important;font-size:12px!important}
  .project-lightbox__counter b{font-size:20px!important}
  .project-lightbox__thumbs{gap:7px!important;padding:7px 1px 3px!important}
  .project-lightbox__thumbs button{width:68px!important;height:48px!important;border-radius:8px!important}
}
@media(max-width:600px){
  .project-lightbox__panel>figure img,
  .project-lightbox__panel>figure.is-landscape img,
  .project-lightbox__panel>figure.is-portrait img{padding:2px!important}
  .project-lightbox__panel>header{min-height:74px!important;padding:10px 9px 24px!important}
  .project-lightbox__panel>header strong{font-size:13px!important;max-width:calc(100vw - 70px)!important}
  .project-lightbox__panel>header button{width:39px!important;height:39px!important;border-radius:12px!important}
  .project-lightbox__stage-arrow{width:38px!important;height:38px!important;font-size:17px!important}
  .project-lightbox__stage-arrow--prev{left:4px!important}
  .project-lightbox__stage-arrow--next{right:4px!important}
  .project-lightbox__panel>footer{grid-template-columns:48px minmax(0,1fr)!important;padding:28px 6px 6px!important;gap:5px!important}
  .project-lightbox__counter{min-width:48px!important;padding-bottom:5px!important;font-size:11px!important}
  .project-lightbox__counter b{font-size:17px!important}
  .project-lightbox__thumbs{gap:5px!important;padding:5px 1px 2px!important}
  .project-lightbox__thumbs button{width:56px!important;height:40px!important;border-radius:6px!important}
}

/* v67 — admin-controlled compact floating button size */
.contact-fab{
  height:var(--contact-fab-height,67px)!important;
  min-width:var(--contact-fab-min-width,290px)!important;
  padding:var(--contact-fab-padding-y,7px) var(--contact-fab-padding-x,14px) var(--contact-fab-padding-y,7px) var(--contact-fab-padding-left,8px)!important;
  gap:var(--contact-fab-gap,12px)!important;
  font-size:var(--contact-fab-font-size,18px)!important;
}
.contact-fab__icon{
  width:var(--contact-fab-icon-width,69px)!important;
  height:var(--contact-fab-icon-height,53px)!important;
  flex-basis:var(--contact-fab-icon-width,69px)!important;
}
.contact-fab__arrow{
  width:var(--contact-fab-arrow-width,30px)!important;
  flex-basis:var(--contact-fab-arrow-width,30px)!important;
  font-size:var(--contact-fab-arrow-size,30px)!important;
}
@media(max-width:600px){
  .contact-fab{
    height:var(--contact-fab-mobile-height,52px)!important;
    min-width:var(--contact-fab-mobile-min-width,193px)!important;
    max-width:calc(100vw - 28px)!important;
    padding:var(--contact-fab-mobile-padding-y,5px) var(--contact-fab-mobile-padding-x,12px) var(--contact-fab-mobile-padding-y,5px) var(--contact-fab-mobile-padding-left,6px)!important;
    gap:var(--contact-fab-mobile-gap,9px)!important;
  }
  .contact-fab__icon{
    width:var(--contact-fab-mobile-icon-width,49px)!important;
    height:var(--contact-fab-mobile-icon-height,41px)!important;
    flex-basis:var(--contact-fab-mobile-icon-width,49px)!important;
  }
  .contact-fab__label{font-size:var(--contact-fab-mobile-font-size,13.5px)!important}
}

/* v68 — precise centered close control for fullscreen gallery */
.project-lightbox__panel>header .project-lightbox__close{
  position:fixed!important;
  top:18px!important;
  right:18px!important;
  z-index:60!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(205,157,77,.88)!important;
  border-radius:14px!important;
  background:rgba(9,8,7,.72)!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  box-shadow:0 10px 28px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(10px)!important;
  transform:none!important;
  overflow:hidden!important;
  cursor:pointer!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
.project-lightbox__close span{
  position:relative!important;
  display:block!important;
  width:16px!important;
  height:16px!important;
}
.project-lightbox__close span::before,
.project-lightbox__close span::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:17px!important;
  height:1.5px!important;
  border:0!important;
  border-radius:2px!important;
  background:#e9c980!important;
  transform-origin:center!important;
}
.project-lightbox__close span::before{transform:translate(-50%,-50%) rotate(45deg)!important}
.project-lightbox__close span::after{transform:translate(-50%,-50%) rotate(-45deg)!important}
.project-lightbox__panel>header .project-lightbox__close:hover{
  background:rgba(183,134,53,.2)!important;
  border-color:#e0b867!important;
}
.project-lightbox__panel>header .project-lightbox__close:focus-visible{
  outline:2px solid #e0b867!important;
  outline-offset:3px!important;
}
@media(max-width:600px){
  .project-lightbox__panel>header .project-lightbox__close{
    top:10px!important;
    right:10px!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    border-radius:12px!important;
  }
  .project-lightbox__close span{width:14px!important;height:14px!important}
  .project-lightbox__close span::before,
  .project-lightbox__close span::after{width:15px!important}
}

/* v69 — definitive premium galleries: working selection, fullscreen modal and service carousel */
.project-lightbox{
  position:fixed!important;
  inset:0!important;
  z-index:5000!important;
  display:block!important;
  padding:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  background:#080706!important;
  transition:opacity .24s ease,visibility .24s ease!important;
}
.project-lightbox.is-open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.project-lightbox__backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(5,4,3,.96)!important;
  backdrop-filter:blur(18px) saturate(.72)!important;
}
.project-lightbox__panel{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  display:block!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#080706!important;
  box-shadow:none!important;
  transform:none!important;
}
.project-lightbox__panel>header{
  position:absolute!important;
  inset:0 0 auto 0!important;
  z-index:40!important;
  min-height:88px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:20px!important;
  padding:18px 88px 32px 20px!important;
  border:0!important;
  background:linear-gradient(180deg,rgba(5,4,3,.92),rgba(5,4,3,.46) 54%,rgba(5,4,3,0))!important;
  pointer-events:none!important;
}
.project-lightbox__panel>header div{min-width:0!important;pointer-events:none!important}
.project-lightbox__panel>header span{
  display:block!important;
  margin:0 0 6px!important;
  color:#c99a4d!important;
  font:600 10px/1.2 Arial,sans-serif!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.project-lightbox__panel>header strong{
  display:block!important;
  max-width:min(78vw,1100px)!important;
  overflow:hidden!important;
  color:#f4eadc!important;
  font:500 clamp(22px,2vw,34px)/1.05 var(--serif)!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  text-transform:uppercase!important;
}
.project-lightbox__panel>figure{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:84px 74px 88px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#080706!important;
  touch-action:pan-y!important;
}
.project-lightbox__panel>figure::before{
  content:""!important;
  position:absolute!important;
  inset:-70px!important;
  z-index:-2!important;
  background-image:linear-gradient(rgba(4,4,3,.58),rgba(4,4,3,.70)),var(--gallery-bg)!important;
  background-position:center!important;
  background-size:cover!important;
  filter:blur(58px) saturate(.72) brightness(.72)!important;
  transform:scale(1.13)!important;
  opacity:.88!important;
}
.project-lightbox__panel>figure::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  background:radial-gradient(circle at center,rgba(255,255,255,.02),rgba(3,3,2,.20) 58%,rgba(3,3,2,.48) 100%)!important;
}
.project-lightbox__panel>figure img,
.project-lightbox__panel>figure.is-landscape img,
.project-lightbox__panel>figure.is-portrait img{
  position:relative!important;
  z-index:3!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:auto!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  image-orientation:from-image!important;
  background:transparent!important;
  box-shadow:0 24px 70px rgba(0,0,0,.46)!important;
  opacity:1!important;
  transform:none!important;
}
.project-lightbox__panel>figure.is-loading img{opacity:.34!important}
.project-lightbox__stage-arrow{
  position:fixed!important;
  z-index:45!important;
  top:50%!important;
  width:52px!important;
  height:52px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  transform:translateY(-50%)!important;
  border:1px solid rgba(211,166,87,.76)!important;
  border-radius:50%!important;
  background:rgba(7,6,5,.46)!important;
  color:#e8c77e!important;
  font:400 22px/1 Arial,sans-serif!important;
  box-shadow:0 12px 32px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(9px)!important;
  cursor:pointer!important;
  transition:background .18s,border-color .18s,color .18s,transform .18s!important;
}
.project-lightbox__stage-arrow:hover,
.project-lightbox__stage-arrow:focus-visible{
  background:rgba(183,134,53,.24)!important;
  border-color:#e0b867!important;
  color:#fff0d0!important;
  transform:translateY(-50%) scale(1.04)!important;
}
.project-lightbox__stage-arrow--prev{left:16px!important}
.project-lightbox__stage-arrow--next{right:16px!important}
.project-lightbox__panel>header .project-lightbox__close{
  position:fixed!important;
  top:16px!important;
  right:16px!important;
  z-index:70!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(211,166,87,.78)!important;
  border-radius:50%!important;
  background:rgba(8,7,6,.62)!important;
  color:#e8c77e!important;
  box-shadow:0 12px 34px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(10px)!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  overflow:visible!important;
}
.project-lightbox__close svg{
  display:block!important;
  width:20px!important;
  height:20px!important;
  overflow:visible!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.65!important;
  stroke-linecap:round!important;
}
.project-lightbox__panel>header .project-lightbox__close:hover,
.project-lightbox__panel>header .project-lightbox__close:focus-visible{
  background:rgba(183,134,53,.22)!important;
  border-color:#e0b867!important;
  color:#fff0d0!important;
}
.project-lightbox__close span,
.project-lightbox__close span::before,
.project-lightbox__close span::after{display:none!important;content:none!important}
.project-lightbox__panel>footer{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:42!important;
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  align-items:end!important;
  gap:12px!important;
  min-height:100px!important;
  padding:34px 18px 12px!important;
  border:0!important;
  background:linear-gradient(0deg,rgba(4,3,3,.96),rgba(4,3,3,.58) 58%,rgba(4,3,3,0))!important;
  opacity:0!important;
  transform:translateY(26px)!important;
  pointer-events:none!important;
  transition:opacity .22s ease,transform .22s ease!important;
}
.project-lightbox.is-ui-visible .project-lightbox__panel>footer{
  opacity:1!important;
  transform:translateY(0)!important;
  pointer-events:auto!important;
}
.project-lightbox__panel>footer>.project-lightbox__arrow{display:none!important}
.project-lightbox__counter{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:6px!important;
  min-width:72px!important;
  padding:0 0 8px!important;
  white-space:nowrap!important;
  color:rgba(244,228,196,.72)!important;
  font:400 14px/1 var(--serif)!important;
}
.project-lightbox__counter b{color:#f4eadc!important;font-size:28px!important;font-weight:400!important}
.project-lightbox__thumbs{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:8px 2px 4px!important;
  scroll-behavior:smooth!important;
  scroll-snap-type:x proximity!important;
  overscroll-behavior-x:contain!important;
  touch-action:pan-x!important;
  cursor:grab!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  opacity:1!important;
  transform:none!important;
}
.project-lightbox__thumbs::-webkit-scrollbar{display:none!important}
.project-lightbox__thumbs.is-dragging{cursor:grabbing!important;scroll-behavior:auto!important}
.project-lightbox__thumbs button{
  flex:0 0 auto!important;
  width:92px!important;
  height:62px!important;
  display:block!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(211,166,87,.24)!important;
  border-radius:9px!important;
  background:#0a0908!important;
  box-shadow:none!important;
  opacity:.56!important;
  transform:scale(.97)!important;
  scroll-snap-align:center!important;
  cursor:pointer!important;
  transition:opacity .16s,border-color .16s,transform .16s,box-shadow .16s!important;
}
.project-lightbox__thumbs button:hover,
.project-lightbox__thumbs button:focus-visible,
.project-lightbox__thumbs button.is-active{
  opacity:1!important;
  transform:scale(1)!important;
  border-color:#d4a34c!important;
  box-shadow:0 8px 24px rgba(0,0,0,.26)!important;
}
.project-lightbox__thumbs img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  background:#0a0908!important;
}
.project-lightbox__loader,.project-lightbox__error{z-index:50!important}

/* Service detail: one-screen layout and real thumbnail carousel */
.service-gallery{
  min-width:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  overflow:hidden!important;
  border:1px solid rgba(183,134,53,.84)!important;
  background:#0d0b09!important;
  box-shadow:0 28px 70px rgba(62,39,15,.16)!important;
}
.service-gallery__header{
  min-height:68px!important;
  padding:12px 18px!important;
}
.service-gallery__header .eyebrow{font-size:9px!important;margin-bottom:3px!important}
.service-gallery__header strong{font-size:18px!important}
.service-gallery__header>span b{font-size:25px!important}
.service-gallery__stage{
  position:relative!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
  background:#11100e!important;
}
.service-gallery__open{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  cursor:zoom-in!important;
}
.service-gallery__open>img,
.service-gallery__stage>img,
.service-gallery__stage img[data-service-main]{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  image-orientation:from-image!important;
}
.service-gallery__open>span{
  position:absolute!important;
  z-index:4!important;
  right:16px!important;
  bottom:16px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:9px 12px!important;
  border:1px solid rgba(211,166,87,.66)!important;
  border-radius:10px!important;
  background:rgba(9,8,7,.68)!important;
  color:#f1d59d!important;
  font:600 11px/1 Arial,sans-serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  opacity:0!important;
  transform:translateY(6px)!important;
  transition:opacity .18s,transform .18s!important;
  backdrop-filter:blur(8px)!important;
}
.service-gallery__open:hover>span,
.service-gallery__open:focus-visible>span{opacity:1!important;transform:none!important}
.service-gallery__open svg{width:16px!important;height:16px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.6!important}
.service-gallery__arrow{
  z-index:5!important;
  width:48px!important;
  height:48px!important;
  pointer-events:auto!important;
}
.service-gallery__carousel{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 44px!important;
  align-items:center!important;
  gap:8px!important;
  padding:9px 10px!important;
  background:linear-gradient(rgba(9,8,7,.22),rgba(9,8,7,.22)),url('/assets/images/black-marble.webp') center/cover!important;
  border-top:1px solid rgba(183,134,53,.62)!important;
}
.service-gallery__rail-arrow{
  width:40px!important;
  height:40px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid rgba(211,166,87,.56)!important;
  border-radius:50%!important;
  background:rgba(12,10,8,.66)!important;
  color:#e8c77e!important;
  cursor:pointer!important;
}
.service-gallery__rail-arrow:disabled{opacity:.24!important;cursor:default!important}
.service-gallery__thumbs{
  min-width:0!important;
  display:flex!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px!important;
  background:transparent!important;
  scroll-behavior:smooth!important;
  scroll-snap-type:x mandatory!important;
  overscroll-behavior-x:contain!important;
  touch-action:pan-x!important;
  scrollbar-width:none!important;
  cursor:grab!important;
}
.service-gallery__thumbs::-webkit-scrollbar{display:none!important}
.service-gallery__thumbs.is-dragging{cursor:grabbing!important;scroll-behavior:auto!important}
.service-gallery__thumb{
  flex:0 0 112px!important;
  height:70px!important;
  scroll-snap-align:center!important;
  border-radius:7px!important;
  overflow:hidden!important;
}
.service-gallery__thumb img{width:100%!important;height:100%!important;object-fit:cover!important}

@media(min-width:1101px){
  .service-detail{
    min-height:calc(100svh - 86px)!important;
    display:flex!important;
    align-items:center!important;
    padding:96px 0 30px!important;
  }
  .service-detail__grid{
    grid-template-columns:minmax(320px,.68fr) minmax(620px,1.32fr)!important;
    gap:48px!important;
    align-items:center!important;
  }
  .service-gallery{height:min(720px,calc(100svh - 116px))!important}
}
@media(max-width:1100px){
  .service-gallery{height:min(720px,82svh)!important}
}
@media(max-width:900px){
  .project-lightbox__panel>header{min-height:72px!important;padding:14px 72px 26px 14px!important}
  .project-lightbox__panel>header span{display:none!important}
  .project-lightbox__panel>header strong{font-size:15px!important;max-width:calc(100vw - 92px)!important}
  .project-lightbox__panel>figure{padding:68px 50px 76px!important}
  .project-lightbox__stage-arrow{width:42px!important;height:42px!important;font-size:18px!important}
  .project-lightbox__stage-arrow--prev{left:6px!important}
  .project-lightbox__stage-arrow--next{right:6px!important}
  .project-lightbox__panel>header .project-lightbox__close{top:10px!important;right:10px!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
  .project-lightbox__panel>footer{grid-template-columns:54px minmax(0,1fr)!important;min-height:82px!important;padding:26px 8px 7px!important;gap:6px!important}
  .project-lightbox__counter{min-width:54px!important;font-size:12px!important}
  .project-lightbox__counter b{font-size:20px!important}
  .project-lightbox__thumbs{gap:6px!important;padding:5px 1px 2px!important}
  .project-lightbox__thumbs button{width:66px!important;height:46px!important;border-radius:6px!important}
  .service-gallery__carousel{grid-template-columns:38px minmax(0,1fr) 38px!important;gap:5px!important;padding:7px!important}
  .service-gallery__rail-arrow{width:34px!important;height:34px!important}
  .service-gallery__thumb{flex-basis:88px!important;height:58px!important}
}
@media(max-width:600px){
  .project-lightbox__panel>figure{padding:60px 4px 70px!important}
  .project-lightbox__stage-arrow{width:36px!important;height:36px!important;font-size:16px!important;background:rgba(7,6,5,.68)!important}
  .project-lightbox__stage-arrow--prev{left:3px!important}
  .project-lightbox__stage-arrow--next{right:3px!important}
  .project-lightbox__panel>header .project-lightbox__close{top:8px!important;right:8px!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}
  .project-lightbox__close svg{width:17px!important;height:17px!important}
  .project-lightbox__panel>footer{grid-template-columns:46px minmax(0,1fr)!important;min-height:72px!important;padding:20px 5px 5px!important}
  .project-lightbox__counter{min-width:46px!important;font-size:10px!important}
  .project-lightbox__counter b{font-size:16px!important}
  .project-lightbox__thumbs button{width:56px!important;height:40px!important}
  .service-gallery{height:min(650px,78svh)!important}
  .service-gallery__header{min-height:58px!important;padding:9px 11px!important}
  .service-gallery__header strong{font-size:15px!important}
  .service-gallery__header>span b{font-size:20px!important}
  .service-gallery__open>span{display:none!important}
  .service-gallery__arrow{width:40px!important;height:40px!important}
  .service-gallery__carousel{grid-template-columns:34px minmax(0,1fr) 34px!important;padding:6px 5px!important}
  .service-gallery__rail-arrow{width:32px!important;height:32px!important;font-size:15px!important}
  .service-gallery__thumb{flex-basis:72px!important;height:50px!important}
}
@media(hover:none),(pointer:coarse){
  .project-lightbox__panel>footer{opacity:1!important;transform:none!important;pointer-events:auto!important}
  .service-gallery__open>span{opacity:1!important;transform:none!important}
}
/* v69.1 — blurred current image fills the unused fullscreen area */
.project-lightbox__panel>figure::before{z-index:0!important}
.project-lightbox__panel>figure::after{z-index:1!important}
.project-lightbox__panel>figure img,
.project-lightbox__panel>figure.is-landscape img,
.project-lightbox__panel>figure.is-portrait img{z-index:2!important}

/* v70 — true edge-to-edge project lightbox, safe title, no black empty fields */
.project-lightbox{
  inset:0!important;
  padding:0!important;
  background:#080706!important;
}
.project-lightbox__panel{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#080706!important;
  box-shadow:none!important;
}
.project-lightbox__panel>figure{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#080706!important;
}
.project-lightbox__panel>figure::before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  inset:-72px!important;
  background-image:var(--gallery-bg)!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  filter:blur(54px) saturate(.92) brightness(.68)!important;
  transform:scale(1.14)!important;
  opacity:.96!important;
}
.project-lightbox__panel>figure::after{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  background:
    linear-gradient(180deg,rgba(5,4,3,.58) 0,rgba(5,4,3,.06) 20%,rgba(5,4,3,.02) 72%,rgba(5,4,3,.46) 100%),
    linear-gradient(90deg,rgba(5,4,3,.18),transparent 16%,transparent 84%,rgba(5,4,3,.18))!important;
  pointer-events:none!important;
}
.project-lightbox__panel>figure img,
.project-lightbox__panel>figure.is-landscape img,
.project-lightbox__panel>figure.is-portrait img{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:calc(100vw - 20px)!important;
  max-height:calc(100dvh - 20px)!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  box-shadow:0 24px 72px rgba(0,0,0,.38)!important;
}
.project-lightbox__panel>header{
  position:absolute!important;
  z-index:60!important;
  top:0!important;
  left:0!important;
  right:0!important;
  min-height:92px!important;
  padding:18px 88px 34px 22px!important;
  border:0!important;
  background:linear-gradient(180deg,rgba(5,4,3,.88) 0%,rgba(5,4,3,.52) 48%,rgba(5,4,3,0) 100%)!important;
  pointer-events:none!important;
}
.project-lightbox__panel>header>div{
  min-width:0!important;
  max-width:min(1080px,calc(100vw - 130px))!important;
}
.project-lightbox__panel>header span{
  display:block!important;
  margin:0 0 7px!important;
  color:#c9994d!important;
  font-size:10px!important;
  letter-spacing:.18em!important;
}
.project-lightbox__panel>header strong{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  color:#f5eadc!important;
  font:500 clamp(22px,2.1vw,35px)/1.06 var(--serif)!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  text-transform:uppercase!important;
}
.project-lightbox__panel>header .project-lightbox__close,
.project-lightbox__panel>header button[data-gallery-close]:not(.project-lightbox__backdrop){
  position:fixed!important;
  z-index:100!important;
  top:max(16px,env(safe-area-inset-top))!important;
  right:max(16px,env(safe-area-inset-right))!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(209,161,79,.86)!important;
  border-radius:15px!important;
  background:rgba(8,7,6,.62)!important;
  color:#e7c47e!important;
  box-shadow:0 12px 30px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(10px)!important;
  pointer-events:auto!important;
}
.project-lightbox__stage-arrow{
  position:fixed!important;
  z-index:55!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:50px!important;
  height:50px!important;
  border-radius:50%!important;
  background:rgba(8,7,6,.48)!important;
  backdrop-filter:blur(8px)!important;
}
.project-lightbox__stage-arrow--prev{left:max(14px,env(safe-area-inset-left))!important}
.project-lightbox__stage-arrow--next{right:max(14px,env(safe-area-inset-right))!important}
.project-lightbox__panel>footer{
  position:fixed!important;
  z-index:58!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  min-height:96px!important;
  padding:28px 18px 10px!important;
  display:grid!important;
  grid-template-columns:68px minmax(0,1fr)!important;
  align-items:end!important;
  gap:12px!important;
  border:0!important;
  background:linear-gradient(0deg,rgba(5,4,3,.92) 0%,rgba(5,4,3,.55) 54%,rgba(5,4,3,0) 100%)!important;
  opacity:0!important;
  transform:translateY(24px)!important;
  pointer-events:none!important;
  transition:opacity .22s ease,transform .22s ease!important;
}
.project-lightbox.is-ui-visible .project-lightbox__panel>footer,
.project-lightbox__panel>footer:hover,
.project-lightbox__panel>footer:focus-within{
  opacity:1!important;
  transform:none!important;
  pointer-events:auto!important;
}
.project-lightbox__counter{
  display:flex!important;
  min-width:68px!important;
  padding-bottom:8px!important;
}
.project-lightbox__thumbs{
  min-width:0!important;
  display:flex!important;
  gap:9px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:5px 1px 3px!important;
  scroll-behavior:smooth!important;
  scroll-snap-type:x proximity!important;
  scrollbar-width:none!important;
  cursor:grab!important;
}
.project-lightbox__thumbs::-webkit-scrollbar{display:none!important}
.project-lightbox__thumbs button{
  flex:0 0 92px!important;
  width:92px!important;
  height:62px!important;
  scroll-snap-align:center!important;
}
/* Remove the old touch rule that forced the strip to stay visible. */
@media(hover:none),(pointer:coarse){
  .project-lightbox__panel>footer{
    opacity:0!important;
    transform:translateY(24px)!important;
    pointer-events:none!important;
  }
  .project-lightbox.is-ui-visible .project-lightbox__panel>footer,
  .project-lightbox__panel>footer:focus-within{
    opacity:1!important;
    transform:none!important;
    pointer-events:auto!important;
  }
}
@media(max-width:900px){
  .project-lightbox__panel>header{min-height:78px!important;padding:14px 68px 28px 14px!important}
  .project-lightbox__panel>header span{display:none!important}
  .project-lightbox__panel>header strong{font-size:16px!important;max-width:calc(100vw - 90px)!important}
  .project-lightbox__panel>header .project-lightbox__close,
  .project-lightbox__panel>header button[data-gallery-close]:not(.project-lightbox__backdrop){width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;top:max(10px,env(safe-area-inset-top))!important;right:max(10px,env(safe-area-inset-right))!important;border-radius:13px!important}
  .project-lightbox__stage-arrow{width:42px!important;height:42px!important}
  .project-lightbox__stage-arrow--prev{left:max(6px,env(safe-area-inset-left))!important}
  .project-lightbox__stage-arrow--next{right:max(6px,env(safe-area-inset-right))!important}
  .project-lightbox__panel>footer{grid-template-columns:52px minmax(0,1fr)!important;min-height:82px!important;padding:22px 8px 7px!important;gap:6px!important}
  .project-lightbox__counter{min-width:52px!important;font-size:11px!important}
  .project-lightbox__counter b{font-size:20px!important}
  .project-lightbox__thumbs button{flex-basis:66px!important;width:66px!important;height:46px!important}
}
@media(max-width:600px){
  .project-lightbox__panel>figure{padding:4px!important}
  .project-lightbox__panel>figure img,
  .project-lightbox__panel>figure.is-landscape img,
  .project-lightbox__panel>figure.is-portrait img{max-width:calc(100vw - 8px)!important;max-height:calc(100dvh - 8px)!important}
  .project-lightbox__panel>header{padding:10px 60px 24px 10px!important}
  .project-lightbox__panel>header strong{font-size:14px!important}
  .project-lightbox__stage-arrow{width:36px!important;height:36px!important;font-size:16px!important}
  .project-lightbox__stage-arrow--prev{left:3px!important}
  .project-lightbox__stage-arrow--next{right:3px!important}
  .project-lightbox__panel>footer{grid-template-columns:44px minmax(0,1fr)!important;min-height:72px!important;padding:18px 5px 5px!important}
  .project-lightbox__counter{min-width:44px!important;font-size:10px!important}
  .project-lightbox__counter b{font-size:16px!important}
  .project-lightbox__thumbs button{flex-basis:56px!important;width:56px!important;height:40px!important}
}

/* v71 — mobile gallery thumbnails stay permanently visible */
@media (max-width:900px), (hover:none), (pointer:coarse){
  .project-lightbox .project-lightbox__panel>footer,
  .project-lightbox.is-ui-visible .project-lightbox__panel>footer,
  .project-lightbox .project-lightbox__panel>footer:hover,
  .project-lightbox .project-lightbox__panel>footer:focus-within{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .project-lightbox .project-lightbox__thumbs{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
  }
}
@media (max-width:600px){
  .project-lightbox .project-lightbox__panel>footer{
    min-height:70px!important;
    padding-bottom:max(6px,env(safe-area-inset-bottom))!important;
  }
}

/* v72 — individual long-form direction pages */
.service-story{position:relative;overflow:hidden;padding-top:var(--header-height,92px)}
.service-story__hero{min-height:calc(100dvh - var(--header-height,92px));display:flex;align-items:center;padding:72px 0 88px}
.service-story__hero-grid{display:grid;grid-template-columns:minmax(340px,.82fr) minmax(0,1.28fr);gap:clamp(48px,6vw,110px);align-items:center}
.service-story__hero-copy{position:relative;z-index:2}
.service-story__hero-copy h1{font-size:clamp(62px,6.2vw,108px);line-height:.9;margin:18px 0 28px;text-transform:uppercase;overflow-wrap:anywhere}
.service-story__hero-copy>p:not(.eyebrow){max-width:680px;margin:0 0 34px;font:clamp(20px,1.45vw,26px)/1.55 var(--serif)}
.service-story__hero-media{position:relative;min-width:0;height:min(720px,72dvh);border:1px solid rgba(183,134,53,.62);background:#15110e;box-shadow:0 28px 70px rgba(61,39,15,.16);overflow:hidden}
.service-story__hero-slides,.service-story__hero-slide{position:absolute;inset:0}
.service-story__hero-slide{display:block;width:100%;height:100%;padding:0;border:0;background:#15110e;opacity:0;visibility:hidden;transform:scale(1.025);transition:opacity .85s ease,transform 1.2s ease,visibility .85s;cursor:zoom-in}
.service-story__hero-slide.is-active{opacity:1;visibility:visible;transform:none;z-index:2}
.service-story__hero-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1.2s ease}
.service-story__hero-slide:hover img{transform:scale(1.018)}
.service-story__hero-slide span{position:absolute;right:18px;bottom:18px;padding:10px 13px;border:1px solid rgba(221,179,103,.48);background:rgba(11,9,7,.68);color:#f0d9b1;font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:.25s;backdrop-filter:blur(8px)}
.service-story__hero-slide:hover span,.service-story__hero-slide:focus-visible span{opacity:1;transform:none}
.service-story__hero-nav{position:absolute;z-index:5;left:24px;bottom:24px;display:flex;gap:8px}
.service-story__hero-nav button{width:38px;height:3px;padding:0;border:0;background:rgba(255,255,255,.42);cursor:pointer;transition:.25s}
.service-story__hero-nav button.is-active{width:70px;background:#d0a052}
.service-story__section-head{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);align-items:end;gap:40px;margin-bottom:50px}
.service-story__section-head h2{margin:0;font-size:clamp(46px,5vw,84px);line-height:.93;max-width:1050px}
.service-story__benefits,.service-story__scope,.service-story__album,.service-story__process,.service-story__results{padding:110px 0}
.service-story__benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.service-story__benefit-card{position:relative;min-height:300px;padding:30px;border:1px solid rgba(183,134,53,.38);background:rgba(255,250,243,.64);box-shadow:0 18px 45px rgba(64,43,19,.06);overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}
.service-story__benefit-card:hover{transform:translateY(-5px);border-color:rgba(183,134,53,.88);box-shadow:0 26px 65px rgba(64,43,19,.12)}
.service-story__benefit-card>span{position:absolute;right:24px;top:22px;color:rgba(183,134,53,.5);font:26px var(--serif)}
.service-story__icon{width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(183,134,53,.58);color:#ad792b;background:rgba(255,249,240,.6)}
.service-story__icon svg{width:30px;height:30px}
.service-story__benefit-card h3,.service-story__scope-card h3{font-size:25px;line-height:1.05;margin:62px 0 14px;text-transform:uppercase}
.service-story__benefit-card p,.service-story__scope-card p{margin:0;color:rgba(30,25,20,.78);font-size:16px;line-height:1.55}
.service-story__scope{position:relative;background:#12100e url('/assets/images/footer-marble-v4.webp') center/cover;color:#f3e6d2}
.service-story__scope:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(8,7,6,.68),rgba(18,14,10,.3));pointer-events:none}
.service-story__scope>.shell{position:relative;z-index:1}
.service-story__scope .eyebrow{color:#d0a052}
.service-story__scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(205,159,83,.48);border-left:1px solid rgba(205,159,83,.48)}
.service-story__scope-card{position:relative;min-height:290px;padding:30px;border-right:1px solid rgba(205,159,83,.48);border-bottom:1px solid rgba(205,159,83,.48);background:rgba(9,8,7,.28);transition:background .3s}
.service-story__scope-card:hover{background:rgba(183,134,53,.12)}
.service-story__scope-card .service-story__icon{background:rgba(9,8,7,.48);color:#e1b96f}
.service-story__scope-card p{color:rgba(244,230,208,.72)}
.service-story__scope-number{position:absolute;right:24px;top:22px;color:rgba(229,190,116,.54);font:27px var(--serif)}
.service-story__album-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-auto-rows:330px;gap:12px}
.service-story__album-card{position:relative;display:block;padding:0;border:1px solid rgba(183,134,53,.42);background:#17130f;overflow:hidden;cursor:zoom-in}
.service-story__album-card:first-child{grid-row:span 2}
.service-story__album-card:nth-child(4){grid-column:span 2}
.service-story__album-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease,filter .4s}
.service-story__album-card:hover img{transform:scale(1.035);filter:brightness(.82)}
.service-story__album-card span{position:absolute;left:18px;right:18px;bottom:16px;display:flex;justify-content:space-between;align-items:center;color:#f1ddba;font:22px var(--serif);text-shadow:0 2px 12px #000}
.service-story__album-card i{font-style:normal;font-size:26px}
.service-story__process-list{display:grid;gap:0;border-top:1px solid rgba(183,134,53,.5)}
.service-story__process-list article{display:grid;grid-template-columns:110px minmax(0,1fr);gap:30px;align-items:center;padding:30px 10px;border-bottom:1px solid rgba(183,134,53,.36);transition:background .25s,padding .25s}
.service-story__process-list article:hover{padding-left:24px;background:rgba(183,134,53,.06)}
.service-story__process-list b{color:#bb8430;font:44px var(--serif)}
.service-story__process-list h3{margin:0 0 7px;font-size:27px;text-transform:uppercase}
.service-story__process-list p{margin:0;color:rgba(31,25,20,.72);font-size:17px}
.service-story__result-carousel{position:relative;padding:0 68px}
.service-story__result-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px 2px 14px;cursor:grab}
.service-story__result-rail::-webkit-scrollbar{display:none}
.service-story__result-rail.is-dragging{cursor:grabbing;scroll-snap-type:none}
.service-story__result-card{position:relative;flex:0 0 clamp(290px,34vw,520px);height:clamp(360px,43vw,620px);padding:0;border:1px solid rgba(183,134,53,.54);background:#15110e;overflow:hidden;scroll-snap-align:center;cursor:zoom-in}
.service-story__result-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease,filter .35s}
.service-story__result-card:hover img{transform:scale(1.025);filter:brightness(.82)}
.service-story__result-card span{position:absolute;left:18px;right:18px;bottom:18px;display:flex;justify-content:space-between;align-items:end;color:#f4e4c7;font:27px var(--serif);text-shadow:0 3px 14px #000}
.service-story__result-card i{font:11px var(--sans);letter-spacing:.12em;text-transform:uppercase}
.service-story__carousel-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:52px;height:52px;border:1px solid #b78635;border-radius:50%;background:rgba(15,12,9,.84);color:#e9c97e;font-size:22px;cursor:pointer}
.service-story__carousel-arrow--prev{left:0}.service-story__carousel-arrow--next{right:0}
.service-story__cta{padding:40px 0 120px}
.service-story__cta-box{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:52px 58px;border:1px solid rgba(183,134,53,.6);background:linear-gradient(100deg,rgba(255,251,245,.86),rgba(234,210,171,.44));box-shadow:0 26px 70px rgba(68,45,18,.1)}
.service-story__cta-box h2{margin:8px 0 0;font-size:clamp(38px,4vw,66px);line-height:.95;max-width:900px}

/* Individual visual character for each direction */
.service-story--design-project .service-story__hero-media{clip-path:polygon(0 0,100% 0,100% 94%,93% 100%,0 100%)}
.service-story--design-project .service-story__benefit-card:nth-child(2),.service-story--design-project .service-story__benefit-card:nth-child(5){background:rgba(232,211,179,.34)}
.service-story--apartment .service-story__hero-media{border-radius:0 0 0 90px}
.service-story--apartment .service-story__benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-story--apartment .service-story__benefit-card{min-height:245px;padding-left:110px}
.service-story--apartment .service-story__benefit-card .service-story__icon{position:absolute;left:30px;top:30px}
.service-story--apartment .service-story__benefit-card h3{margin-top:4px}
.service-story--house .service-story__hero-grid{grid-template-columns:minmax(0,1.18fr) minmax(340px,.72fr)}
.service-story--house .service-story__hero-copy{order:2;padding:42px;border-left:1px solid rgba(183,134,53,.58)}
.service-story--house .service-story__hero-media{order:1;height:min(760px,76dvh)}
.service-story--house .service-story__scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-story--house .service-story__scope-card{min-height:240px}
.service-story--commercial .service-story__hero{background:linear-gradient(90deg,rgba(9,8,7,.94) 0 42%,transparent 42%);color:#f3e6d2}
.service-story--commercial .service-story__hero-copy{padding-right:44px}
.service-story--commercial .service-story__hero-copy .eyebrow{color:#d0a052}
.service-story--commercial .service-story__hero-media{height:min(650px,68dvh);border-color:rgba(226,188,118,.74)}
.service-story--commercial .service-story__benefit-card{border-radius:0;border-top:4px solid #b78635}
.service-story--commercial .service-story__process-list article{grid-template-columns:160px minmax(0,1fr)}
.service-story--contracting .service-story__hero{background:#11100e url('/assets/images/footer-marble-v4.webp') center/cover;color:#f3e6d2}
.service-story--contracting .service-story__hero-copy .eyebrow{color:#d0a052}
.service-story--contracting .service-story__hero-media{border:1px solid rgba(205,159,83,.64);box-shadow:24px 24px 0 rgba(183,134,53,.12)}
.service-story--contracting .service-story__benefits{background:linear-gradient(100deg,#f8efe4 0 58%,#e7d3b4 58%)}
.service-story--contracting .service-story__benefit-card{background:rgba(255,252,247,.83)}
.service-story--contracting .service-story__scope-card{min-height:250px}

@media(max-width:1100px){
  .service-story__hero-grid,.service-story--house .service-story__hero-grid{grid-template-columns:1fr;gap:46px}
  .service-story--house .service-story__hero-copy,.service-story--house .service-story__hero-media{order:initial}
  .service-story--house .service-story__hero-copy{padding:0;border:0}
  .service-story--commercial .service-story__hero{background:linear-gradient(180deg,#11100e 0 46%,transparent 46%)}
  .service-story--commercial .service-story__hero-copy{padding-right:0}
  .service-story__hero-media{height:min(680px,65dvh)}
  .service-story__benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-story__scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-story__album-grid{grid-template-columns:1fr 1fr;grid-auto-rows:300px}
  .service-story__album-card:first-child{grid-row:span 1;grid-column:span 2}
  .service-story__album-card:nth-child(4){grid-column:span 1}
}
@media(max-width:760px){
  .service-story{padding-top:78px}
  .service-story__hero{min-height:auto;padding:54px 0 72px}
  .service-story__hero-copy h1{font-size:clamp(46px,13vw,67px);margin:14px 0 22px}
  .service-story__hero-copy>p:not(.eyebrow){font-size:19px;line-height:1.5}
  .service-story__hero-media{height:62dvh;min-height:420px;max-height:640px;border-radius:0!important;clip-path:none!important}
  .service-story__hero-slide span{display:none}
  .service-story__section-head{grid-template-columns:1fr;gap:12px;margin-bottom:32px}
  .service-story__section-head h2{font-size:42px}
  .service-story__benefits,.service-story__scope,.service-story__album,.service-story__process,.service-story__results{padding:72px 0}
  .service-story__benefit-grid,.service-story--apartment .service-story__benefit-grid,.service-story__scope-grid,.service-story--house .service-story__scope-grid{grid-template-columns:1fr}
  .service-story__benefit-card,.service-story--apartment .service-story__benefit-card{min-height:0;padding:24px}
  .service-story--apartment .service-story__benefit-card{padding-left:92px}
  .service-story--apartment .service-story__benefit-card .service-story__icon{left:22px;top:22px}
  .service-story__benefit-card h3,.service-story__scope-card h3{font-size:22px;margin-top:42px}
  .service-story--apartment .service-story__benefit-card h3{margin-top:0}
  .service-story__scope-card{min-height:230px;padding:24px}
  .service-story__album-grid{grid-template-columns:1fr;grid-auto-rows:280px}
  .service-story__album-card:first-child,.service-story__album-card:nth-child(4){grid-column:auto;grid-row:auto}
  .service-story__process-list article{grid-template-columns:66px minmax(0,1fr);gap:15px;padding:22px 4px}
  .service-story__process-list b{font-size:30px}
  .service-story__process-list h3{font-size:21px}
  .service-story__result-carousel{padding:0 44px}
  .service-story__result-card{flex-basis:82vw;height:68vh;max-height:580px}
  .service-story__carousel-arrow{width:38px;height:38px;font-size:17px}
  .service-story__cta{padding-bottom:80px}
  .service-story__cta-box{display:grid;padding:34px 24px}
  .service-story__cta-box h2{font-size:38px}
  .service-story--commercial .service-story__hero,.service-story--contracting .service-story__hero{background:#11100e url('/assets/images/footer-marble-v4.webp') center/cover}
}


/* v73 — lighter service visuals, refined typography and persistent mobile thumbs */
.service-card img{filter:brightness(1.12) saturate(1.03)!important;object-position:center center!important}
.service-card__shade{background:linear-gradient(180deg,rgba(12,9,7,.06) 0%,rgba(12,9,7,.22) 38%,rgba(12,9,7,.72) 100%)!important}
.service-card h3{font-size:22px!important;line-height:1.04!important}
.service-story__hero-copy h1{font-size:clamp(48px,5vw,82px)!important;line-height:.96!important;max-width:13ch}
.service-story__section-head h2{font-size:clamp(34px,4.1vw,62px)!important;line-height:1.02!important;max-width:900px!important}
.service-story__cta-box h2{font-size:clamp(30px,3.2vw,54px)!important;line-height:1.02!important;max-width:720px!important}
.service-story__benefit-card h3,.service-story__scope-card h3,.service-story__process-list h3{font-size:18px!important;line-height:1.14!important;letter-spacing:0!important}
.service-story__benefit-card p,.service-story__scope-card p,.service-story__process-list p{font-size:15px!important;line-height:1.55!important}
.service-story__icon{width:54px!important;height:54px!important;border-color:rgba(183,134,53,.7)!important;background:rgba(255,252,247,.82)!important;box-shadow:0 10px 26px rgba(73,49,20,.08)!important}
.service-story__icon svg{width:24px!important;height:24px!important}
.service-story__hero-slide{display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;background:#f3efe8!important}
.service-story__hero-slide img{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;box-shadow:0 22px 48px rgba(57,40,19,.14)!important}
.service-story__album-card,.service-story__result-card{display:flex!important;align-items:center!important;justify-content:center!important;padding:14px!important;background:#f2eee8!important}
.service-story__album-card img,.service-story__result-card img{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;filter:none!important;box-shadow:0 16px 38px rgba(57,40,19,.12)!important}
.service-story__album-card:hover img,.service-story__result-card:hover img{transform:scale(1.012)!important;filter:none!important}
.service-story__album-card span,.service-story__result-card span{left:14px!important;right:14px!important;bottom:12px!important;padding:10px 12px!important;border-radius:10px!important;background:linear-gradient(180deg,rgba(11,9,7,0) 0%,rgba(11,9,7,.74) 100%)!important}
.service-story__hero-nav{left:18px!important;bottom:18px!important}
.service-story__cta-box{padding:42px 44px!important}
.project-lightbox.is-open .project-lightbox__panel>footer,
.project-lightbox.is-open .project-lightbox__thumbs{opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important}
@media(max-width:900px){
  .project-lightbox.is-open .project-lightbox__panel>footer{display:grid!important}
  .project-lightbox.is-open .project-lightbox__thumbs{display:flex!important}
}
@media(max-width:760px){
  .service-story__hero-copy h1{font-size:clamp(40px,11vw,56px)!important;max-width:none}
  .service-story__hero-copy>p:not(.eyebrow){font-size:18px!important}
  .service-story__hero-media{min-height:380px!important;height:auto!important}
  .service-story__benefit-card,.service-story__scope-card{padding:20px!important}
  .service-story__album-card,.service-story__result-card{padding:10px!important}
  .service-story__cta-box{padding:28px 20px!important;gap:20px!important;flex-direction:column!important;align-items:flex-start!important}
}

/* v74 — compact typography, lighter direction pages, cleaner icons */
.service-story__hero-copy h1{
  font-size:clamp(42px,4.2vw,68px)!important;
  line-height:1!important;
  max-width:14ch!important;
  margin:14px 0 22px!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.service-story__section-head{
  grid-template-columns:minmax(170px,.42fr) minmax(0,1.58fr)!important;
  gap:28px!important;
  margin-bottom:36px!important;
}
.service-story__section-head h2{
  font-size:clamp(32px,3.1vw,50px)!important;
  line-height:1.05!important;
  max-width:920px!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.service-story__cta-box h2{
  font-size:clamp(28px,2.75vw,44px)!important;
  line-height:1.05!important;
  max-width:680px!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.service-story__benefits,
.service-story__scope,
.service-story__album,
.service-story__process,
.service-story__results{padding:82px 0!important}
.service-story__benefit-grid{gap:12px!important}
.service-story__benefit-card{
  min-height:220px!important;
  padding:24px!important;
}
.service-story__scope-card{
  min-height:220px!important;
  padding:24px!important;
}
.service-story__benefit-card h3,
.service-story__scope-card h3{
  margin:42px 0 10px!important;
  font-size:18px!important;
  line-height:1.12!important;
}
.service-story__benefit-card p,
.service-story__scope-card p{
  font-size:14px!important;
  line-height:1.5!important;
}
.service-story__scope-number,
.service-story__benefit-card>span{
  top:18px!important;
  right:20px!important;
  font-size:22px!important;
}
.service-story__icon{
  width:48px!important;
  height:48px!important;
  border:1px solid rgba(196,143,57,.56)!important;
  border-radius:12px!important;
  background:rgba(255,249,239,.08)!important;
  color:#d4a653!important;
  box-shadow:none!important;
}
.service-story__benefit-card .service-story__icon{
  background:rgba(255,252,247,.58)!important;
  color:#b47b27!important;
}
.service-story__icon svg{
  width:25px!important;
  height:25px!important;
  stroke-width:1.35!important;
}
.service-story__process-list article{
  padding:22px 8px!important;
}
.service-story__process-list h3{
  font-size:20px!important;
  line-height:1.12!important;
}
.service-story__process-list p{font-size:15px!important}
.service-story__process-list b{font-size:36px!important}
.service-story__hero-slide{
  padding:12px!important;
  background:rgba(243,238,230,.84)!important;
}
.service-story__hero-slide img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.service-story__album-card,
.service-story__result-card{
  padding:10px!important;
  background:#eee8df!important;
}
.service-story__album-card img,
.service-story__result-card img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.service-card img{
  filter:brightness(1.16) saturate(1.02)!important;
}
.service-card__shade{
  background:linear-gradient(180deg,rgba(10,8,6,.02) 0%,rgba(10,8,6,.14) 38%,rgba(10,8,6,.68) 100%)!important;
}
.service-card h3{
  font-size:20px!important;
  line-height:1.03!important;
}
.service-card__body>span{font-size:32px!important}
.service-story--commercial .service-story__hero{
  background:linear-gradient(90deg,rgba(20,17,14,.84) 0 40%,transparent 40%)!important;
}
.service-story--contracting .service-story__scope:before{
  background:linear-gradient(120deg,rgba(8,7,6,.46),rgba(18,14,10,.16))!important;
}
@media(max-width:1100px){
  .service-story__section-head{grid-template-columns:1fr!important;gap:10px!important}
  .service-story__section-head h2{max-width:780px!important}
}
@media(max-width:760px){
  .service-story__hero-copy h1{
    font-size:clamp(38px,10vw,52px)!important;
    max-width:none!important;
  }
  .service-story__section-head h2{
    font-size:clamp(30px,8.5vw,42px)!important;
  }
  .service-story__cta-box h2{
    font-size:clamp(28px,8vw,38px)!important;
  }
  .service-story__benefits,
  .service-story__scope,
  .service-story__album,
  .service-story__process,
  .service-story__results{padding:58px 0!important}
  .service-story__benefit-card,
  .service-story__scope-card{min-height:0!important;padding:20px!important}
  .service-story__benefit-card h3,
  .service-story__scope-card h3{font-size:17px!important;margin-top:36px!important}
  .service-story__hero-slide{padding:6px!important}
  .project-lightbox.is-open .project-lightbox__panel>footer{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
    display:grid!important;
  }
  .project-lightbox.is-open .project-lightbox__thumbs{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
    display:flex!important;
  }
}


/* v75 — generated transparent service icons and compact direction layout */
.service-story__icon,
.service-story__scope-card .service-story__icon{
  width:86px!important;
  height:86px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.service-story__icon-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  filter:none!important;
}
.service-story__benefit-card h3,
.service-story__scope-card h3{
  margin-top:28px!important;
  font-size:18px!important;
  line-height:1.16!important;
}
.service-story__scope-card .service-story__icon{margin-bottom:22px!important}
.service-story__section-head h2{
  font-size:clamp(34px,3.7vw,56px)!important;
  line-height:1.02!important;
  max-width:860px!important;
}
.service-story__cta-box h2{
  font-size:clamp(30px,3vw,48px)!important;
  line-height:1.04!important;
  max-width:690px!important;
}
.service-story__benefit-card,
.service-story__scope-card{min-height:270px!important}
.service-story--apartment .service-story__benefit-card{padding-left:132px!important}
.service-story--apartment .service-story__benefit-card .service-story__icon{left:26px!important;top:24px!important}
.service-story--apartment .service-story__benefit-card h3{margin-top:4px!important}
@media(max-width:760px){
  .service-story__icon,.service-story__scope-card .service-story__icon{width:72px!important;height:72px!important}
  .service-story__section-head h2{font-size:36px!important}
  .service-story__benefit-card,.service-story__scope-card{min-height:0!important}
  .service-story--apartment .service-story__benefit-card{padding-left:106px!important}
}
