:root{--ink:#f2eee5;--gold:#d7ba7b;--paper:#111213;--muted:#bcbab3;--line:#383630}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #ad8132;outline-offset:6px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.06}em{font-weight:400;color:var(--gold)}h1{font-size:clamp(46px,4.8vw,76px)}h2{font-size:clamp(36px,3.5vw,56px)}h3{line-height:1.25;font-weight:500}.header{max-width:1440px;margin:auto;min-height:112px;padding:20px 5%;display:flex;justify-content:space-between;align-items:center;gap:32px}.brand{display:flex;flex-direction:column}.brand-name{font-family:Georgia,serif;font-weight:bold;font-size:27px;letter-spacing:-1px;line-height:1.3}.brand-dot{color:var(--gold)}.brand-caption{font-size:10px;letter-spacing:2.6px;margin-top:5px}.header nav{display:flex;gap:30px;font-size:14px}.header nav a:hover,.text-link:hover{color:var(--gold)}.header-contact{border:1px solid #776344;border-radius:3px;padding:11px 18px;font-size:14px}.header-contact span{margin-left:18px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.08fr 1fr;padding:16px 5% 50px;gap:5%}.hero-copy{padding-top:50px;align-self:center}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;margin-bottom:26px}.pin{font-size:20px;color:var(--gold);margin-right:8px}.lead{font-size:17px;color:var(--muted);max-width:480px;margin-top:28px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 24px;border-radius:3px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#e7cd94;transform:translateY(-2px)}.gold{background:var(--gold);color:#232824}.button span{font-size:23px;line-height:1}.text-link{font-size:14px}.text-link span{margin-left:10px}.rating{display:flex;gap:14px;align-items:center;margin-top:47px;padding-top:24px;border-top:1px solid var(--line);max-width:450px}.rating strong{font-family:Georgia,serif;font-size:40px;line-height:1}.rating>div{display:flex;flex-direction:column;font-size:12px}.stars{color:var(--gold);letter-spacing:2px;font-size:16px}.rating-note{margin-left:auto;padding-left:20px;border-left:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.5}.hero-image{position:relative;min-height:625px;border-radius:5px;overflow:hidden}.hero-image>img{height:100%;position:absolute;object-position:50% 47%}.hero-image:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(12,25,21,.8))}.photo-caption{position:absolute;z-index:1;bottom:38px;left:35px;color:white;display:flex;flex-direction:column;gap:14px}.photo-caption>span:first-child{font-size:10px;letter-spacing:2px}.photo-caption strong{font:400 34px/1.14 Georgia,serif}.photo-caption>span:last-child{font-size:12px;color:#e0e4de}.image-corner{position:absolute;right:25px;bottom:38px;z-index:2;color:white;border:1px solid #ffffff80;width:42px;height:42px;text-align:center;line-height:40px;border-radius:50%;font-size:23px}.service-strip{background:#1b1c1e;color:#f5f3ec;display:flex;justify-content:center;align-items:center;gap:4%;padding:23px 5%;font-size:14px}.service-strip i{color:var(--gold);font-style:normal}.section{max-width:1440px;margin:auto;padding:95px 5%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:42px}.section-heading>p{max-width:300px;color:var(--muted);font-size:15px;line-height:1.8}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;gap:35px;transition:transform .2s;min-height:380px}.service-card:hover{transform:translateY(-5px)}.repair-card{background:#24221d;border-color:#776344}.card-top{display:flex;justify-content:space-between;font-size:15px}.card-top span:last-child{font-size:27px;line-height:1}.label{font-size:10px;letter-spacing:1.6px;font-weight:600}.service-card h3{font:32px Georgia,serif;margin:12px 0 17px}.service-card p{font-size:15px;color:var(--muted);line-height:1.7}.service-bottom{font-size:12px;padding-top:20px;border-top:1px solid var(--line);margin-top:auto}.repair-section{background:#1b1c1e;color:#f8f8ef;display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:85px max(5%,calc((100vw - 1296px)/2))}.repair-section .eyebrow,.repair-help>.label{color:#c5b487}.repair-section em{color:var(--gold)}.repair-story>p{max-width:490px;color:#c3c8c0;font-size:15px;line-height:1.8;margin-top:24px}.repair-help{padding-top:10px}.issue{display:flex;gap:25px;padding:28px 0;border-bottom:1px solid var(--line)}.issue>span{color:#b6a67f;font-size:13px}.issue h3{font-size:21px;margin-bottom:10px}.issue p{font-size:14px;color:#c3c8c0}.repair-help .button{margin-top:35px}.small{font-size:12px;color:#aeb4ac;margin-top:15px;max-width:370px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:38px 28px}.project{padding:0;border:0;background:none;text-align:left;cursor:pointer}.project-photo{position:relative;overflow:hidden;border-radius:3px;height:450px;background:#242527}.project-photo img{height:100%;transition:transform .5s}.project:hover img{transform:scale(1.035)}.project:nth-child(1) img{object-position:center 62%}.zoom{position:absolute;bottom:18px;right:18px;width:40px;height:40px;display:grid;place-items:center;background:var(--paper);border-radius:50%;font-size:24px}.project-text{padding-top:18px;display:flex;justify-content:space-between;gap:15px;align-items:baseline}.project-text h3{font-size:18px}.project-text>span{font-size:12px;color:var(--muted)}.reviews{background:#191a1c;max-width:none}.reviews>.section-heading,.review-grid,.rating-date{max-width:1296px;margin-left:auto;margin-right:auto}.review-score{display:flex;flex-direction:column;min-width:220px}.review-score>strong{font:52px Georgia,serif}.review-score>strong span{font:17px Arial;color:var(--gold);letter-spacing:1px;vertical-align:middle;margin-left:15px}.review-score>span{font-size:14px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.review{background:var(--paper);padding:32px}.review-top{display:flex;gap:12px;align-items:center}.avatar{width:42px;height:42px;background:#333028;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.review-top>div:nth-child(2){display:flex;flex-direction:column}.review-top strong{font-size:15px}.review-top>div>span{font-size:12px;color:var(--muted)}.review-top>.stars{margin-left:auto;font-size:12px;white-space:nowrap}.review blockquote{font-size:15px;line-height:1.85;margin:25px 0}.review-source{font-size:12px;color:var(--muted)}.rating-date{font-size:12px;color:var(--muted);margin-top:20px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.steps article{border-top:1px solid var(--line);padding-top:25px}.steps article>span{font:35px Georgia,serif;color:var(--gold)}.steps h3{font-size:21px;margin:18px 0 12px}.steps p{color:var(--muted);font-size:15px}.contact{background:#1b1c1e;color:var(--ink);padding:75px max(5%,calc((100vw - 1296px)/2));display:flex;justify-content:space-between;gap:50px;align-items:center}.contact .eyebrow{color:#d0bd92}.contact em{color:var(--gold)}.contact p{color:#c3c8c0;margin-top:22px}.contact-action{min-width:320px;display:flex;flex-direction:column;gap:15px}.contact-action>span{font-size:12px;color:#c3c8c0}.contact-action>p{font-size:12px}footer{padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}footer .brand-name{font-size:21px}dialog{border:0;padding:20px;background:var(--paper);max-width:min(90vw,820px);max-height:94vh;border-radius:5px}dialog::backdrop{background:#101711db}dialog img{width:auto;max-width:100%;max-height:75vh;margin:auto;object-fit:contain}dialog h3{margin-top:15px;font-size:16px;padding-right:20px}#close-gallery{position:absolute;right:25px;top:25px;border:0;background:var(--paper);font-size:28px;width:42px;height:42px;border-radius:50%;cursor:pointer}.skip{position:absolute;top:-100px;left:20px;background:var(--gold);color:#171717;padding:10px;z-index:10}.skip:focus{top:10px}@media(min-width:1500px){.repair-section,.contact{padding-left:calc((100vw - 1296px)/2);padding-right:calc((100vw - 1296px)/2)}}@media(max-width:1000px){.header nav{gap:15px}.header-contact{display:none}.hero{gap:30px}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.hero-image{min-height:600px}.hero-copy{padding-top:20px}h1{font-size:52px}.service-card{padding:22px}.service-card h3{font-size:27px}.service-bottom{font-size:11px}.repair-section{gap:7%}.project-text{flex-direction:column;gap:5px}.review-top>.stars{display:none}.project-photo{height:380px}}@media(max-width:700px){.header{min-height:90px;padding:20px 6%}.brand-name{font-size:25px}.brand-caption{font-size:9px}.header nav a{display:none}.header nav a:first-child{display:block;font-size:13px}.hero{grid-template-columns:1fr;padding:10px 6% 30px;gap:32px}.hero-copy{padding-top:20px}h1{font-size:clamp(40px,10vw,58px)}.eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:22px}.lead{font-size:16px;margin-top:22px}.hero-actions{flex-direction:row;align-items:center;gap:20px;flex-wrap:wrap;margin-top:25px}.button{padding:16px 19px}.rating{margin-top:28px;max-width:none}.rating-note{font-size:11px}.hero-image{min-height:460px}.photo-caption{left:25px;bottom:28px}.photo-caption strong{font-size:32px}.service-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;padding:23px 6%;font-size:12px}.service-strip i{display:none}.section{padding:62px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;max-width:none}.services{grid-template-columns:1fr;gap:14px}.service-card{min-height:0;gap:23px;padding:25px}.service-card h3{font-size:31px}.service-bottom{font-size:12px}.repair-section{grid-template-columns:1fr;padding:60px 6%;gap:40px}.repair-story h2{font-size:47px}.repair-story h2 br:nth-child(2){display:none}.repair-story>p{font-size:15px}.issue{padding:25px 0}.repair-help .button{width:100%;font-size:13px}.project-grid{gap:30px;grid-template-columns:1fr}.project-photo{height:430px}.project-text{gap:7px}.review-score{margin-top:25px}.review-grid{grid-template-columns:1fr;gap:18px}.review{padding:25px}.review blockquote{font-size:14px}.steps{grid-template-columns:1fr;gap:25px;margin-top:30px}.steps h3{margin-top:12px}.contact{padding:55px 6%;flex-direction:column;align-items:stretch;gap:30px}.contact-action{min-width:0}.contact h2{font-size:44px}.contact-action .button{max-width:380px}footer{padding:28px 6%;flex-wrap:wrap}footer>span{width:100%;order:3}.project-photo img{object-position:center}dialog{max-width:94vw;padding:12px}dialog h3{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}} 

.review-scores{display:flex;gap:30px;flex-wrap:wrap}.review-scores .review-score{min-width:170px}.reviews .section-heading{flex-wrap:wrap}.review-source[href]{text-decoration:underline;text-underline-offset:4px}.review{display:flex;flex-direction:column}.review-source{margin-top:auto}.review blockquote{white-space:pre-line}.review-top>div:nth-child(2){min-width:0}.review-top strong{overflow-wrap:anywhere}@media(max-width:700px){.review-scores{gap:24px}.review-scores .review-score{min-width:130px}.review-score>strong{font-size:44px}}

/* Black and champagne identity */
:root{color-scheme:dark}
::selection{background:var(--gold);color:#111213}
.brand-name,.brand-caption,.eyebrow,.label,.rating strong,.review-score>strong,.card-top,.avatar{color:var(--gold)}
.header{border-bottom:1px solid var(--line)}
.header-contact{color:var(--gold)}
.header-contact:hover{background:#24221d}
.hero{padding-top:34px;padding-bottom:64px}
.hero-image{border:1px solid #494237;border-radius:3px}
.hero-image:after{background:linear-gradient(transparent,rgba(9,10,11,.88))}
.service-strip{border-top:1px solid #494031;border-bottom:1px solid #494031;color:#e2cfaa;background:#191919}
.service-card{background:#1b1c1e;border-radius:3px;transition:transform .2s,border-color .2s}
.service-card:hover{border-color:var(--gold)}
.service-card.repair-card{background:#24221d;border-color:#776344}
.service-card h3,.project-text h3{color:#e4cd9d}
.repair-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#171819}
.review{background:#222325;border:1px solid #3a3832;border-radius:3px}
.review blockquote{font-size:16px;color:#e4e0d8}
.review-source[href]{color:#d7ba7b}
.zoom{background:var(--gold);color:#171717}
.contact{background:#1d1c19;border-top:1px solid #66563a;border-bottom:1px solid #66563a;color:var(--ink)}
footer{background:#101112;color:var(--muted)}
dialog{background:#1b1c1e;color:var(--ink);border:1px solid #64573f}
#close-gallery{background:var(--gold);color:#171717}
a:focus-visible,button:focus-visible{outline-color:#ecd4a0}
.service-card p,.section-heading>p,.repair-story>p,.issue p,.steps p{font-size:16px}
@media(max-width:700px){.hero{padding-top:20px;padding-bottom:32px}.review blockquote{font-size:16px}}

.hero-ratings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}.hero-ratings .rating{margin:0;padding:0;border:0;gap:12px;max-width:none;min-width:0}.hero-ratings .rating>div{min-width:0}.hero-ratings .rating strong{font-size:36px}.hero-ratings .rating:hover{color:var(--gold)}@media(max-width:1000px) and (min-width:701px){.hero-ratings{grid-template-columns:1fr;gap:18px}}@media(max-width:700px){.hero-ratings{margin-top:28px;gap:14px}.hero-ratings .rating{gap:8px}.hero-ratings .rating strong{font-size:30px}.hero-ratings .rating>div{font-size:12px}}@media(max-width:360px){.hero-ratings{grid-template-columns:1fr}}

/* Equal contact options */
.contact-intro{flex:1;min-width:0}.contact-intro>p{max-width:440px;font-size:16px}
.contact-people{flex:1;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.person-contact{padding:24px 20px;border:1px solid #66563a;background:#171819;border-radius:3px;min-width:0}
.person-contact h3{font:28px Georgia,serif;color:var(--gold);margin-bottom:16px}
.contact-phone{display:block;font-size:18px;white-space:nowrap;margin-bottom:20px}
.contact-buttons{display:flex;flex-direction:column;gap:10px}.contact-buttons a{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #66563a;padding:10px 12px;font-size:14px;border-radius:3px}.contact-buttons a:hover{background:#30291e;border-color:var(--gold)}
.contact-vk{grid-column:1/-1;color:var(--gold);font-size:16px;padding:10px 0}
@media(max-width:1100px){.contact{flex-direction:column;align-items:stretch}.contact-people{width:100%}}
@media(max-width:500px){.contact-people{grid-template-columns:1fr}.contact-phone{font-size:20px}.person-contact{padding:24px}.contact-buttons{flex-direction:row;flex-wrap:wrap}.contact-buttons a{flex:1 1 100px}}

/* Brand, prices and completed balcony story */
.header .brand{width:310px;flex-shrink:0}.brand-logo{width:100%;height:auto;object-fit:contain}.header{background:#000;max-width:none}.header nav{flex-wrap:wrap;gap:18px}
.price-layout{display:grid;grid-template-columns:1fr 1fr;gap:26px}.price-group{padding:28px;background:#1b1c1e;border:1px solid var(--line);margin-bottom:24px}.price-group h3,.balcony-quote h3{font:30px Georgia,serif;color:var(--gold);margin-bottom:20px}.price-group>p{color:var(--muted);font-size:16px;margin-bottom:20px}.price-repair{border-color:#776344}.price-list{margin:0}.price-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.price-list>div:last-child{border:0}.price-list dt{font-size:16px}.price-list dd{margin:0;color:var(--gold);font-size:16px;font-weight:600;white-space:nowrap}.balcony-quote{display:flex;align-items:center;gap:40px;justify-content:space-between;padding:30px;border:1px solid #776344}.balcony-quote p{max-width:650px;color:var(--muted)}.balcony-quote .button{flex-shrink:0}
.case-study{margin-top:70px;padding-top:45px;border-top:1px solid #776344}.case-heading{display:flex;justify-content:space-between;gap:24px;align-items:center}.case-heading h3{font:clamp(30px,3vw,44px) Georgia,serif}.case-duration{padding:12px 20px;border:1px solid #776344;color:var(--gold);white-space:nowrap}.case-lead{max-width:850px;margin:25px 0 30px;color:var(--muted);font-size:17px}.case-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.case-photo img{width:100%;height:440px;object-fit:cover}.case-photo>span{display:block;padding:14px 0;color:var(--gold);font-size:16px}.case-details{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:25px}.case-details h4{font-size:20px;color:var(--gold);margin:0}.case-details ul{padding-left:20px;line-height:1.8;color:var(--muted)}.case-details .text-link{font-size:16px;color:var(--gold)}
.conditions{border-top:1px solid var(--line)}.terms-grid{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:24px}.terms-grid article{padding:28px;border:1px solid #66563a;background:#1b1c1e}.terms-grid strong{font:clamp(32px,3vw,46px) Georgia,serif;color:var(--gold);display:block;margin-bottom:20px}.terms-grid h3{font-size:19px;line-height:1.5}.terms-grid p{color:var(--muted);margin-top:15px}
@media(max-width:1100px){.header .brand{width:260px}.price-layout{grid-template-columns:1fr}.balcony-quote{align-items:flex-start;flex-direction:column;gap:24px}.case-photo img{height:340px}.terms-grid{grid-template-columns:1fr 1fr}.terms-grid article:last-child{grid-column:1/-1}}
@media(max-width:700px){.header{flex-wrap:wrap;gap:12px}.header .brand{width:min(100%,300px);margin:auto}.header nav{width:100%;justify-content:center;gap:12px 22px}.header nav a,.header nav a:first-child{display:block;font-size:14px}.price-group{padding:22px}.price-list>div{grid-template-columns:1fr;gap:6px}.price-list dd{white-space:normal}.balcony-quote{padding:24px}.case-heading{align-items:flex-start;flex-direction:column}.case-photos{grid-template-columns:1fr 1fr}.case-photo img{height:300px}.case-photo:last-child{grid-column:1/-1}.case-photo:last-child img{height:auto;max-height:480px;object-fit:contain;background:#191a1c}.case-details{grid-template-columns:1fr;gap:24px}.terms-grid{grid-template-columns:1fr}.terms-grid article:last-child{grid-column:auto}.case-duration{font-size:14px}}
@media(max-width:400px){.case-photos{grid-template-columns:1fr}.case-photo img{height:auto;max-height:500px;object-fit:contain}}
