:root{
  --ivory:#f7f3ea;
  --pearl:#fffdfa;
  --pearl-2:#ebe8e1;
  --ink:#171717;
  --muted:#67635d;
  --black:#080808;
  --black-2:#121212;
  --gold:#b47a24;
  --gold-light:#dfba6d;
  --gold-pale:#f0dab0;
  --silver:#aeb3b7;
  --red:#c9142d;
  --line:rgba(145,102,35,.28);
  --dark-line:rgba(224,185,107,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ivory)}
body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:"Montserrat","Avenir Next","Helvetica Neue",Arial,sans-serif;
  text-rendering:optimizeLegibility;
}
main{position:relative;overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.display{
  font-family:"Barlow Condensed","Avenir Next Condensed","Arial Narrow",Arial,sans-serif;
  font-stretch:condensed;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.metal,.gold,.gold-text{
  background:linear-gradient(180deg,#7f561f 0%,#d3a857 42%,#8a5b1c 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-stroke:0;
  filter:none;
}
.eyebrow{
  margin:0 0 15px;
  color:#8c5d1d;
  font-family:"Barlow Condensed","Avenir Next Condensed","Arial Narrow",Arial,sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.25em;
  text-transform:uppercase;
}
.eyebrow:before{display:inline-block;width:34px;height:2px;margin:0 13px 3px 0;background:var(--red);content:""}
.section-title{margin:0;font-size:clamp(44px,6vw,76px);line-height:.92;color:var(--ink)}
.section-intro{max-width:610px;margin:20px 0 0;color:var(--muted);font-size:16px;line-height:1.75}

.site-header{
  position:absolute;
  z-index:10;
  top:0;
  left:50%;
  display:grid;
  width:min(1180px,calc(100% - 40px));
  height:100px;
  transform:translateX(-50%);
  grid-template-columns:1fr auto 1fr;
  align-items:center;
}
.site-header:after{
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(180,122,36,.45) 15%,rgba(174,179,183,.34) 50%,rgba(180,122,36,.45) 85%,transparent);
  content:"";
}
.brand{display:flex;width:max-content;align-items:center}
.brand-logo{width:116px;height:76px;object-fit:contain;filter:drop-shadow(0 7px 12px rgba(40,29,13,.18))}
nav{display:flex;gap:30px;color:#38342f;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
nav a{position:relative;padding:14px 0}
nav a:after{position:absolute;bottom:7px;left:0;width:0;height:2px;background:var(--gold);content:"";transition:width .2s}
nav a:hover:after,nav a:focus-visible:after{width:100%}
.phone{display:inline-flex;align-items:center;justify-self:end;align-items:center;gap:8px;color:#30281e;font-size:14px;font-weight:800}
.phone svg{color:var(--gold)}

.hero{
  position:relative;
  display:grid;
  min-height:760px;
  padding:138px max(20px,calc((100vw - 1180px)/2)) 72px;
  overflow:hidden;
  grid-template-columns:.82fr 1.18fr;
  align-items:center;
  gap:76px;
  background:
    radial-gradient(ellipse at 7% 15%,rgba(210,174,104,.17),transparent 28%),
    radial-gradient(ellipse at 94% 82%,rgba(176,185,191,.20),transparent 30%),
    radial-gradient(ellipse at 56% 82%,rgba(255,255,255,.82),transparent 40%),
    linear-gradient(122deg,#fffefa 0%,#f4efe6 56%,#fbfaf6 100%);
}
.hero:before{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 1.5% 13%,rgba(185,127,38,.72) 0 2px,transparent 2.7px),
    radial-gradient(circle at 3.5% 17%,rgba(129,137,142,.55) 0 3px,transparent 3.8px),
    radial-gradient(circle at 6% 11%,rgba(255,255,255,.98) 0 4px,transparent 4.8px),
    radial-gradient(circle at 8% 19%,rgba(213,179,111,.62) 0 2.5px,transparent 3.2px),
    radial-gradient(circle at 98.5% 78%,rgba(185,127,38,.68) 0 2px,transparent 2.7px),
    radial-gradient(circle at 96% 84%,rgba(133,141,146,.54) 0 3px,transparent 3.8px),
    radial-gradient(circle at 92.5% 88%,rgba(255,255,255,.98) 0 4px,transparent 4.8px),
    radial-gradient(circle at 90% 81%,rgba(213,179,111,.58) 0 2.5px,transparent 3.2px),
    linear-gradient(115deg,transparent 0 31%,rgba(178,146,96,.065) 32%,transparent 33% 55%,rgba(149,160,167,.075) 56%,transparent 57%);
  content:"";
  pointer-events:none;
}
.hero:after{position:absolute;right:0;bottom:0;left:0;height:3px;background:linear-gradient(90deg,#0b0b0b 0 12%,#a56c1e 42%,#e3c175 50%,#a56c1e 58%,#0b0b0b 88%);content:""}
.hero-copy,.hero-visual{position:relative;z-index:1}
.hero-copy:before{display:block;width:58px;height:3px;margin-bottom:25px;background:linear-gradient(90deg,var(--red) 0 58%,var(--gold) 58%);content:""}
.hero .hero-headline{
  margin:0;
  color:var(--ink);
  font-family:"Barlow Condensed","Avenir Next Condensed","Arial Narrow",Arial,sans-serif;
  font-size:clamp(62px,5.7vw,82px);
  font-weight:800;
  line-height:.88;
  letter-spacing:.015em;
  text-transform:uppercase;
  white-space:nowrap;
}
.hero .hero-headline span{display:block;margin-top:12px;color:var(--gold);font:inherit;letter-spacing:.055em}
.hero-copy>p:not(.eyebrow){max-width:530px;margin:28px 0 0;color:#56514b;font-size:16px;line-height:1.75}
.actions{display:flex;gap:12px;margin-top:30px}
.btn{
  display:inline-flex;
  min-height:54px;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 24px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.66);
  color:var(--ink);
  font-family:"Barlow Condensed","Avenir Next Condensed","Arial Narrow",Arial,sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.095em;
  text-transform:uppercase;
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.btn:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 10px 25px rgba(70,47,17,.13)}
.primary{border-color:var(--black);background:var(--black);color:#fff}
.primary svg{color:var(--gold-light)}
.hero-visual{position:relative;justify-self:end;width:min(100%,640px)}
.hero-visual:before,.hero-visual:after{position:absolute;z-index:-1;width:145px;height:145px;background:radial-gradient(circle,rgba(180,122,36,.66) 0 2px,transparent 2.8px) 0 0/29px 31px,radial-gradient(circle,rgba(142,149,153,.56) 0 3px,transparent 3.8px) 12px 15px/43px 47px,radial-gradient(circle,rgba(255,255,255,.98) 0 4px,transparent 4.8px) 8px 6px/61px 59px;content:"";opacity:.8;pointer-events:none}
.hero-visual:before{top:-46px;right:-36px;transform:rotate(10deg);-webkit-mask-image:linear-gradient(225deg,#000,transparent 72%);mask-image:linear-gradient(225deg,#000,transparent 72%)}
.hero-visual:after{bottom:-48px;left:-42px;transform:rotate(-8deg);-webkit-mask-image:linear-gradient(45deg,#000,transparent 72%);mask-image:linear-gradient(45deg,#000,transparent 72%)}
.project-frame{position:relative;overflow:hidden;border:1px solid rgba(177,121,35,.58);background:#111;box-shadow:0 34px 76px rgba(61,48,28,.24),0 0 0 10px rgba(255,255,255,.62)}
.project-frame:before{position:absolute;z-index:2;top:-60%;left:-32%;width:24%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);content:"";pointer-events:none;transform:rotate(18deg);animation:pearlShimmer 8s ease-in-out infinite}
.project-frame img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center}
.project-frame:after{position:absolute;inset:9px;border:1px solid rgba(236,207,153,.62);content:"";pointer-events:none}

.trust{display:flex;min-height:82px;align-items:center;justify-content:center;gap:clamp(18px,5vw,70px);padding:18px;border-block:1px solid #9b671d;background:linear-gradient(110deg,#070707,#17130d 48%,#070707);color:#f7efe0;font-size:12px;font-weight:800;letter-spacing:.10em;text-align:center;text-transform:uppercase}
.trust i{width:5px;height:5px;border-radius:50%;background:var(--gold-light)}

.services{position:relative;padding:112px 0;background:radial-gradient(ellipse at 6% 42%,rgba(205,165,94,.13),transparent 29%),linear-gradient(140deg,#faf8f2,#eeebe4)}
.services:before,.finishes:before,.services:after,.finishes:after{position:absolute;width:330px;height:330px;background:radial-gradient(circle,rgba(180,122,36,.58) 0 2px,transparent 2.7px) 0 0/43px 47px,radial-gradient(circle,rgba(142,149,153,.42) 0 3px,transparent 3.7px) 21px 18px/67px 71px,radial-gradient(circle,rgba(255,255,255,.96) 0 4px,transparent 4.7px) 11px 27px/89px 83px;content:"";pointer-events:none;opacity:.74;transform:rotate(12deg)}
.services:before,.finishes:before{top:-95px;left:-105px;-webkit-mask-image:linear-gradient(135deg,#000 4%,transparent 71%);mask-image:linear-gradient(135deg,#000 4%,transparent 71%)}
.services:after,.finishes:after{right:-105px;bottom:-95px;-webkit-mask-image:linear-gradient(315deg,#000 4%,transparent 71%);mask-image:linear-gradient(315deg,#000 4%,transparent 71%)}
.services .wrap,.finishes .wrap{position:relative;z-index:1}
.services-head{display:flex;align-items:end;justify-content:space-between;gap:50px}
.service-grid{display:grid;margin-top:54px;grid-template-columns:repeat(6,1fr);gap:16px}
.service-card{position:relative;min-height:365px;overflow:hidden;border:1px solid rgba(145,102,35,.35);background:#151515;box-shadow:0 16px 38px rgba(58,45,26,.16);grid-column:span 2}
.service-card:nth-child(4),.service-card:nth-child(5){min-height:255px;grid-column:span 3}
.service-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.service-card:hover img{transform:scale(1.035)}
.service-card:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(0,0,0,.9) 94%);content:""}
.service-copy{position:absolute;z-index:2;right:0;bottom:0;left:0;padding:27px}
.service-copy span{color:var(--gold-light);font-size:10px;font-weight:800;letter-spacing:.21em;text-transform:uppercase}
.service-copy h3{margin:8px 0;color:#fff;font-size:clamp(28px,3vw,42px);line-height:.95}
.service-copy p{margin:0;color:#d7d5d0;font-size:13px;line-height:1.58}
.service-card .duo{display:grid;width:100%;height:100%;grid-template-columns:1fr 1fr}
.service-card .duo img{min-width:0}

.projects,.reviews,.contact{position:relative;overflow:hidden}
.projects{padding:110px 0;border-block:1px solid #9b671d;background:radial-gradient(circle at 7% 15%,rgba(224,185,107,.10) 0 2px,transparent 3px),radial-gradient(circle at 93% 86%,rgba(201,20,45,.10) 0 2px,transparent 3px),linear-gradient(135deg,#070707,#15130f);color:#fff}
.projects:before,.reviews:before,.contact:before{position:absolute;inset:0;background:radial-gradient(circle,rgba(224,185,107,.20) 0 1px,transparent 1.8px) 0 0/76px 81px,radial-gradient(circle,rgba(255,255,255,.09) 0 1px,transparent 1.7px) 29px 17px/113px 107px;content:"";pointer-events:none;opacity:.48;-webkit-mask-image:linear-gradient(135deg,#000,transparent 36%,transparent 68%,#000);mask-image:linear-gradient(135deg,#000,transparent 36%,transparent 68%,#000)}
.projects .wrap,.reviews .wrap,.contact>div{position:relative;z-index:1}
.projects .section-title{color:#fff}
.projects .eyebrow{color:var(--gold-light)}
.projects .section-intro{color:#aaa69e}
.gallery{display:grid;margin-top:46px;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,275px);gap:15px}
.project{position:relative;margin:0;overflow:hidden;border:1px solid var(--dark-line);background:#161616;box-shadow:0 14px 34px rgba(0,0,0,.35)}
.project:first-child{grid-row:1/3}
.project img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.project:hover img{transform:scale(1.025)}
.project:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(0,0,0,.88));content:""}
.project-label{position:absolute;z-index:2;bottom:0;left:0;padding:24px;color:#fff}
.project-label strong{display:block;font-size:26px;text-transform:uppercase}
.project-label small{color:var(--gold-light);font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}

.finishes{position:relative;padding:110px 0;background:radial-gradient(ellipse at 82% 25%,rgba(177,186,192,.18),transparent 32%),radial-gradient(ellipse at 18% 76%,rgba(211,168,87,.12),transparent 30%),linear-gradient(135deg,#f0ede6,#fffdfa)}
.finish-grid{display:grid;margin-top:46px;grid-template-columns:repeat(5,1fr);gap:12px}
.finish{position:relative;display:flex;min-width:0;min-height:270px;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:18px 14px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(244,240,232,.88));box-shadow:0 15px 34px rgba(69,51,25,.10);color:#292621;font-size:11px;font-weight:800;letter-spacing:.08em;text-align:center;text-transform:uppercase;transition:transform .25s,border-color .25s,box-shadow .25s}
.finish:hover{transform:translateY(-4px);border-color:rgba(177,121,35,.62);box-shadow:0 20px 42px rgba(69,51,25,.17)}
.finish img{width:min(100%,174px);aspect-ratio:1;flex:none;border:1px solid rgba(177,121,35,.56);border-radius:7px;object-fit:cover;box-shadow:0 10px 24px rgba(66,48,23,.19);transition:filter .25s,transform .25s}
.finish:hover img{filter:saturate(1.06) contrast(1.04);transform:scale(1.018)}
.finish-new{position:absolute;z-index:2;top:0;right:0;padding:5px 10px;background:var(--red);color:#fff;font-size:8px;font-style:italic;font-weight:800;letter-spacing:.08em;transform:rotate(8deg);transform-origin:top right}

.reviews{padding:110px 0;border-top:1px solid #9b671d;background:linear-gradient(125deg,#080808,#17140e 54%,#080808);color:#fff}
.reviews .section-title{color:#fff}
.reviews .eyebrow{color:var(--gold-light)}
.review-grid{display:grid;margin-top:45px;grid-template-columns:repeat(3,1fr);gap:16px}
.review{display:flex;min-height:292px;flex-direction:column;padding:30px;border:1px solid rgba(183,126,36,.45);background:linear-gradient(145deg,#fffefa,#eeeae2);color:var(--ink);box-shadow:0 20px 48px rgba(0,0,0,.28)}
.stars{color:var(--gold);font-size:18px;letter-spacing:.13em}
.review blockquote{margin:24px 0 28px;color:#4b4741;font-size:16px;line-height:1.68}
.review footer{display:block;min-height:0;margin-top:auto;color:#77716a;font-size:10px;font-style:normal;font-weight:800;letter-spacing:.12em;text-transform:none}
.review footer em{color:#171717;font-style:italic}

.contact{display:grid;padding:105px max(20px,calc((100vw - 1180px)/2));grid-template-columns:.9fr 1.1fr;align-items:end;gap:80px;border-top:1px solid #9b671d;background:#080808;color:#fff}
.contact .section-title{color:#fff}
.contact .eyebrow{color:var(--gold-light)}
.contact-links{border-top:1px solid var(--dark-line)}
.contact-links a{display:grid;min-height:90px;grid-template-columns:1fr auto;align-items:center;border-bottom:1px solid var(--dark-line);transition:padding .2s,color .2s}
.contact-links a:hover{padding:0 14px;color:var(--gold-light)}
.contact-links small{display:block;margin-bottom:6px;color:#99948c;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.contact-links strong{font-size:clamp(18px,2.4vw,29px)}

.site-footer{display:grid;min-height:142px;grid-template-columns:1fr auto 1fr;align-items:center;color:#6e685f;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.site-footer span:last-child{text-align:right}
.footer-logo{width:120px;height:88px;object-fit:contain;filter:drop-shadow(0 7px 12px rgba(49,34,14,.15))}
:focus-visible{outline:2px solid var(--red);outline-offset:4px}
@keyframes pearlShimmer{0%,56%{left:-32%;opacity:0}64%{opacity:.72}82%{left:122%;opacity:0}100%{left:122%;opacity:0}}

@media(max-width:850px){
  .site-header{grid-template-columns:1fr auto}
  nav{display:none}
  .hero{grid-template-columns:1fr .95fr;gap:42px}
  .hero .hero-headline{font-size:clamp(52px,7.2vw,66px)}
  .service-card{grid-column:span 3}
  .service-card:nth-child(5){grid-column:1/-1}
  .finish-grid{grid-template-columns:repeat(2,1fr)}
  .review-grid{grid-template-columns:1fr}
  .review{min-height:auto}
  .contact{gap:42px}
}
@media(max-width:640px){
  .wrap{width:calc(100% - 30px)}
  .site-header{width:calc(100% - 30px);height:88px}
  .brand-logo{width:98px;height:72px}
  .phone{font-size:0}
  .site-header .phone svg{display:block;width:42px;height:42px;padding:10px;border:1px solid var(--line);color:var(--gold)}
  .site-header .phone:after{display:none!important;content:none!important}
  .hero{min-height:auto;padding-top:130px;padding-bottom:68px;grid-template-columns:1fr;gap:46px}
  .hero-copy:before{width:48px;margin-bottom:21px}
  .hero .hero-headline{font-size:clamp(40px,12.3vw,52px);line-height:.91}
  .hero .hero-headline span{font-size:inherit}
  .hero-copy>p:not(.eyebrow){margin-top:25px;font-size:15px;line-height:1.7}
  .hero-visual{width:100%;justify-self:center}
  .actions{flex-direction:column}
  .btn{width:100%}
  .project-frame{box-shadow:0 24px 54px rgba(61,48,28,.22),0 0 0 6px rgba(255,255,255,.6)}
  .trust{display:grid;min-height:auto;grid-template-columns:1fr 1fr;gap:0;padding:0;font-size:10px}
  .trust span{padding:17px 8px;border:1px solid rgba(224,185,107,.13)}
  .trust i{display:none}
  .services,.projects,.finishes,.reviews{padding:78px 0}
  .services-head{display:block}
  .section-title{font-size:clamp(42px,13vw,58px)}
  .service-grid{grid-template-columns:1fr}
  .service-card,.service-card:nth-child(4),.service-card:nth-child(5){min-height:335px;grid-column:auto}
  .gallery{grid-template-columns:1fr;grid-template-rows:repeat(3,255px)}
  .project:first-child{grid-row:auto}
  .finish-grid{grid-template-columns:repeat(2,1fr)}
  .finish-grid{gap:8px}
  .finish{min-height:224px;padding:14px 10px;font-size:10px}
  .finish img{width:min(100%,148px)}
  .contact{padding-top:78px;padding-bottom:78px;grid-template-columns:1fr}
  .contact-links strong{font-size:16px}
  .site-footer{grid-template-columns:1fr;justify-items:center;gap:8px;padding:24px 0;text-align:center}
  .site-footer span:last-child{text-align:center}
  .footer-logo{width:110px;height:78px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.project-frame:before{animation:none;display:none}}
