
:root{
  --ink:#111111;
  --paper:#f4f1eb;
  --white:#ffffff;
  --muted:#79756e;
  --line:#d8d2c7;
  --gold:#b9985a;
  --dark:#171717;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",sans-serif;background:var(--paper);color:var(--ink);line-height:1.6}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.section{padding:100px 0}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(17,17,17,.9);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;color:#fff}
.brand-mark{width:44px;height:44px;border:1px solid var(--gold);display:grid;place-items:center;font-family:"Playfair Display",serif;font-weight:700;letter-spacing:.5px}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-text strong{font-family:"Playfair Display",serif;font-size:20px}
.brand-text small{font-size:10px;letter-spacing:3.5px;margin-top:4px;color:#d8d8d8}
.nav{display:flex;gap:28px;align-items:center;color:#fff;font-size:14px}
.nav>a:not(.btn){opacity:.82}
.nav>a:hover{opacity:1}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#111;padding:15px 22px;font-weight:700;border:0;cursor:pointer;transition:.2s}
.btn:hover{transform:translateY(-1px);filter:brightness(1.07)}
.btn-small{padding:10px 15px}
.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45)}
.btn-light{background:#fff;color:#111}
.menu-toggle{display:none;background:none;border:0;color:white;font-size:24px}
.hero{min-height:780px;display:flex;align-items:center;position:relative;color:white;background:
radial-gradient(circle at 75% 25%,rgba(185,152,90,.18),transparent 28%),
linear-gradient(135deg,#0a0a0a 0%,#232323 45%,#0e0e0e 100%);
padding-top:78px;overflow:hidden}
.hero:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(185,152,90,.22);right:-90px;bottom:-170px;transform:rotate(18deg)}
.hero-content{position:relative;z-index:2}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.5px;color:#d6b978;margin:0 0 18px}
.eyebrow.dark{color:#8b6a32}
h1,h2,h3{font-family:"Playfair Display",serif;line-height:1.08;margin-top:0}
h1{font-size:clamp(52px,7vw,92px);max-width:980px;margin-bottom:24px}
h1 span{color:#d8bb7c}
h2{font-size:clamp(38px,5vw,58px);margin-bottom:20px}
h3{font-size:25px;margin-bottom:10px}
.hero-copy{max-width:680px;font-size:20px;color:#d5d5d5}
.hero-actions{display:flex;gap:12px;margin-top:34px}
.trust-row{display:flex;gap:36px;margin-top:65px;font-size:13px;letter-spacing:.3px;color:#bcbcbc}
.trust-row span:before{content:"✓";color:#d6b978;margin-right:8px}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}
.intro-grid p:last-child{font-size:19px;color:#555}
.services{background:#fff}
.section-heading{max-width:760px;margin-bottom:48px}
.section-heading>p:last-child{color:#666;font-size:18px}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd6ca;border:1px solid #ddd6ca}
.service-card{background:#fff;padding:32px;min-height:260px}
.num{font-size:12px;letter-spacing:2px;color:#a4864e;margin-bottom:46px}
.service-card p{color:#6b6861;font-size:15px}
.projects{background:#161616;color:#fff}
.split-heading{display:flex;justify-content:space-between;align-items:end;max-width:none;gap:50px}
.split-heading>p{max-width:400px;color:#aaa}
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.project{min-height:360px;position:relative;overflow:hidden;background:#292929}
.project-large{grid-row:span 2;min-height:738px}
.project-wide{grid-column:span 2;min-height:420px}
.project-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#777;font-size:13px;letter-spacing:3px;background:
linear-gradient(140deg,#202020,#333)}
.project-placeholder:before{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.08)}
.project-meta{position:absolute;left:28px;bottom:24px;z-index:2}
.project-meta span{font-size:11px;letter-spacing:2px;color:#d1b373}
.project-meta h3{margin:6px 0 0}
.about{background:#ebe6dc}
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}
.about-panel{background:#181818;color:white;padding:60px}
.about-panel p:not(.eyebrow){color:#c6c6c6}
.text-link{display:inline-block;color:#d8bb7c;font-weight:700;margin-top:18px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.stats div{min-height:190px;padding:28px;border:1px solid #cfc6b6;display:flex;flex-direction:column;justify-content:flex-end}
.stats strong{font-family:"Playfair Display",serif;font-size:26px}
.stats span{color:#69655f;font-size:14px;margin-top:5px}
.reviews{background:#fff}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
blockquote{margin:0;padding:32px;border:1px solid #e1ddd5;font-family:"Playfair Display",serif;font-size:22px}
cite{display:block;margin-top:28px;font-family:"DM Sans",sans-serif;font-style:normal;font-size:13px;color:#777}
.cta{background:#b9985a;padding:70px 0}
.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
.cta .eyebrow{color:#4a3820}
.cta h2{margin:0;max-width:760px}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.contact-details{margin-top:38px}
.contact-details strong{font-size:12px;letter-spacing:1.5px;text-transform:uppercase}
.contact-details a{border-bottom:1px solid #b8ae9d}
.contact-form{background:white;padding:36px;border:1px solid #ddd7cd}
label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;margin-bottom:18px}
input,select,textarea{width:100%;font:inherit;padding:14px;border:1px solid #ccc5b8;background:#faf9f6}
textarea{resize:vertical}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-note{font-size:12px;color:#777;margin-bottom:0}
footer{background:#111;color:#bbb;padding:65px 0 25px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}
.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-grid strong{color:white}
.footer-brand{margin-bottom:10px}
.copyright{border-top:1px solid #2d2d2d;margin-top:50px;padding-top:22px;font-size:12px;color:#747474}

@media(max-width:900px){
  .nav{position:absolute;top:78px;left:0;right:0;background:#111;display:none;flex-direction:column;align-items:stretch;padding:24px 20px}
  .nav.open{display:flex}
  .menu-toggle{display:block}
  .hero{min-height:700px}
  .trust-row{flex-direction:column;gap:8px}
  .intro-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:40px}
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .review-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .container{width:min(100% - 28px,1180px)}
  .section{padding:72px 0}
  .hero{min-height:720px}
  h1{font-size:48px}
  h2{font-size:38px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .card-grid{grid-template-columns:1fr}
  .split-heading{display:block}
  .project-grid{grid-template-columns:1fr}
  .project-large,.project-wide{grid-column:auto;grid-row:auto;min-height:360px}
  .stats{grid-template-columns:1fr}
  .about-panel{padding:35px}
  .cta-inner{flex-direction:column;align-items:flex-start}
  .field-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}

.hero-photo{background-image:linear-gradient(90deg,rgba(7,7,7,.90),rgba(7,7,7,.68) 48%,rgba(7,7,7,.20)),url("assets/hero.jpg");background-size:cover;background-position:center}.project-photo{background-size:cover;background-position:center;transition:transform .35s ease}.project-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.04) 62%)}.project-photo .project-meta{z-index:3}@media(max-width:640px){.hero-photo{background-image:linear-gradient(rgba(7,7,7,.76),rgba(7,7,7,.64)),url("assets/hero.jpg");background-position:58% center}}

.brand-board{background:#0d0e0f;color:#fff}
.brand-board .section-heading h2{color:#fff}
.brand-board img{display:block;width:100%;height:auto;border:1px solid rgba(185,152,90,.35)}
.brand-hammer{font-size:15px;letter-spacing:-.5px}

.logo-brand{height:64px;display:flex;align-items:center}
.logo-brand img{display:block;height:58px;width:auto;max-width:430px;object-fit:cover;object-position:center}
.brand-signoff{background:#050505;padding:42px 0}
.brand-signoff-inner{display:flex;justify-content:center}
.brand-signoff img{width:min(820px,100%);height:auto;display:block}
@media(max-width:640px){
  .logo-brand img{height:48px;max-width:260px}
  .nav-wrap{height:68px}
  .nav{top:68px}
}

.portfolio-cta-row{margin-top:30px;display:flex;justify-content:center}.portfolio-hero{padding:170px 0 95px;background:linear-gradient(90deg,rgba(5,5,5,.92),rgba(5,5,5,.58)),url("assets/portfolio/deck-04.jpg");background-size:cover;background-position:center;color:white}.portfolio-hero h1{font-size:clamp(48px,7vw,82px);margin-bottom:20px}.portfolio-hero p:last-child{max-width:720px;color:#ddd;font-size:18px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.filter{border:1px solid #cfc8bb;background:transparent;padding:10px 14px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.filter.active,.filter:hover{background:#111;color:#fff;border-color:#111}.gallery-grid{columns:3 310px;column-gap:14px}.gallery-card{display:block;width:100%;margin:0 0 14px;padding:0;border:0;background:#111;position:relative;overflow:hidden;cursor:pointer;break-inside:avoid;text-align:left}.gallery-card img{display:block;width:100%;height:auto;transition:transform .35s ease,filter .35s ease}.gallery-card:hover img{transform:scale(1.018);filter:brightness(.88)}.gallery-overlay{position:absolute;left:0;right:0;bottom:0;padding:42px 18px 16px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff;opacity:0;transition:.25s}.gallery-card:hover .gallery-overlay{opacity:1}.gallery-overlay small{display:block;color:#d6b978;text-transform:uppercase;letter-spacing:1.5px;font-size:10px}.gallery-overlay strong{font-family:"Playfair Display",serif;font-size:18px}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:40px 70px}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:min(1180px,92vw);max-height:90vh;text-align:center}.lightbox img{max-width:100%;max-height:82vh;object-fit:contain;box-shadow:0 15px 50px rgba(0,0,0,.35)}.lightbox figcaption{color:#ddd;margin-top:12px}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;background:transparent;color:white;cursor:pointer}.lightbox-close{top:18px;right:25px;font-size:42px}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);font-size:64px}.lightbox-prev{left:20px}.lightbox-next{right:20px}.footer-logo img{max-width:330px}@media(max-width:760px){.gallery-toolbar{display:block}.filters{justify-content:flex-start;margin-top:20px}.gallery-grid{columns:2 150px}.gallery-overlay{opacity:1}.lightbox{padding:55px 12px}.lightbox-prev,.lightbox-next{font-size:45px}.lightbox-prev{left:3px}.lightbox-next{right:3px}}

.featured-service{background:#171717!important;color:#fff}
.featured-service p{color:#c8c8c8!important}
.featured-service .num{color:#d6b978}
.project-photo{background-size:cover;background-position:center;position:relative}
.project-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.05) 62%)}
.project-photo .project-meta{z-index:2}
.project-meta small{display:block;margin-top:6px;color:#d4d0c7;font-size:12px}
.portfolio-cta-row{display:flex;justify-content:center;margin-top:30px}
.why-us{background:#fff}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd6ca;border:1px solid #ddd6ca}
.why-grid article{background:#fff;padding:32px;min-height:280px}
.why-grid article>span{display:block;color:#9d7b40;font-size:12px;letter-spacing:2px;margin-bottom:42px}
.why-grid p{color:#68645e}
.client-split{background:#111;color:#fff}
.split-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.split-card{padding:54px;min-height:520px;border:1px solid rgba(255,255,255,.13)}
.residential-card{background:linear-gradient(145deg,#171717,#252525)}
.commercial-card{background:linear-gradient(145deg,#19150f,#2b2417)}
.split-card p:not(.eyebrow),.split-card li{color:#c7c7c7}
.split-card ul{padding-left:20px;margin:25px 0 30px}
.split-card li{margin:8px 0}
.service-area{background:#ebe6dc}
.service-area-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.town-cloud{display:flex;flex-wrap:wrap;gap:10px}
.town-cloud span{border:1px solid #c6bda9;padding:10px 14px;background:rgba(255,255,255,.35);font-size:14px}
.faq{background:#fff}
.faq-list{border-top:1px solid #ddd7cd}
.faq-list details{border-bottom:1px solid #ddd7cd;padding:0}
.faq-list summary{cursor:pointer;list-style:none;padding:24px 0;font-family:"Playfair Display",serif;font-size:22px;font-weight:700}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";float:right;font-family:"DM Sans",sans-serif;font-weight:400;color:#9a773d}
.faq-list details[open] summary:after{content:"–"}
.faq-list details p{max-width:850px;color:#666;padding:0 0 24px;margin:0}
.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.btn-dark-outline{background:transparent;border:1px solid #111;color:#111}
.optional{font-weight:400;color:#777}
@media(max-width:900px){
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .split-cards,.service-area-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .why-grid{grid-template-columns:1fr}
  .split-card{padding:34px;min-height:auto}
  .contact-actions .btn{width:100%}
}

/* V7 — Luxury black / charcoal with restrained gold */
:root{
  --ink:#f5f2eb;
  --paper:#0b0b0b;
  --white:#ffffff;
  --muted:#a9a49b;
  --line:#2a2824;
  --gold:#bd9850;
  --dark:#070707;
}
body{background:#090909;color:#f3f0e9}
.site-header{background:rgba(5,5,5,.96);border-bottom:1px solid rgba(189,152,80,.22)}
.nav-wrap{height:88px}
.logo-brand{height:76px}
.logo-brand img{height:72px;max-width:500px;object-fit:cover}
.hero{min-height:690px}
.hero-photo{
  background-image:
    linear-gradient(90deg,rgba(5,5,5,.96) 0%,rgba(5,5,5,.82) 43%,rgba(5,5,5,.32) 73%,rgba(5,5,5,.18) 100%),
    url("assets/portfolio/bath-black-04.jpg");
  background-size:cover;
  background-position:center 48%;
}
.hero-content{padding-top:20px}
h1{max-width:900px}
.hero-copy{color:#d0ccc4}
.btn{background:#bd9850;color:#090909}
.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(189,152,80,.65)}
.trust-row{margin-top:46px;color:#aaa59d}
.intro,.services,.why-us,.service-area,.faq,.contact{background:#0d0d0d;color:#f4f1ea}
.intro{border-top:1px solid #1f1d19}
.intro-grid p:last-child,.section-heading>p:last-child,.service-card p,.why-grid p,.faq-list details p,.contact p{color:#aaa59d}
.eyebrow.dark{color:#bd9850}
.services{background:#101010}
.card-grid,.why-grid{background:#28251f;border-color:#28251f}
.service-card,.why-grid article{background:#111;color:#f4f1ea}
.service-card:nth-child(even),.why-grid article:nth-child(even){background:#151515}
.projects{background:#050505}
.about{background:#0a0a0a}
.about-panel{background:#111;border:1px solid #2c2923}
.stats div{border-color:#353027;background:#0e0e0e}
.stats span{color:#a7a198}
.client-split{background:#050505}
.residential-card{background:linear-gradient(145deg,#111,#191919)}
.commercial-card{background:linear-gradient(145deg,#15120d,#201a11)}
.service-area{background:#111}
.town-cloud span{border-color:#393229;background:#151515;color:#d9d4cb}
.faq{background:#090909}
.faq-list,.faq-list details{border-color:#2c2923}
.contact-form{background:#111;border-color:#2e2a24}
input,select,textarea{background:#0b0b0b;color:#f4f1ea;border-color:#3b362d}
input::placeholder,textarea::placeholder{color:#6f6a62}
.btn-dark-outline{background:transparent;color:#f4f1ea;border-color:#bd9850}
.brand-signoff{background:#030303}
footer{background:#030303}
.cta{background:#bd9850;color:#080808}
.cta .eyebrow{color:#3d2c13}
.project-meta small{color:#d5cec1}
.text-link{color:#d0a95d}
@media(max-width:640px){
  .nav-wrap{height:74px}
  .nav{top:74px}
  .logo-brand{height:62px}
  .logo-brand img{height:58px;max-width:285px}
  .hero{min-height:650px}
  .hero-photo{
    background-image:
      linear-gradient(rgba(5,5,5,.82),rgba(5,5,5,.72)),
      url("assets/portfolio/bath-black-04.jpg");
    background-position:60% center;
  }
}

/* V8 — hero/photo/header refinement */
.site-header{background:#050505}
.nav-wrap{height:92px}
.logo-brand{height:82px;overflow:hidden}
.logo-brand img{
  height:78px;
  width:390px;
  max-width:390px;
  object-fit:cover;
  object-position:center;
  filter:contrast(1.08) brightness(1.08);
}
.hero{
  min-height:650px;
  position:relative;
  background:#0a0a0a!important;
  overflow:hidden;
}
.hero:before{
  content:"";
  position:absolute;
  top:0;right:0;bottom:0;
  width:53%;
  background:
    linear-gradient(90deg,#0a0a0a 0%,rgba(10,10,10,.88) 12%,rgba(10,10,10,.34) 48%,rgba(10,10,10,.08) 100%),
    url("assets/portfolio/bath-black-04.jpg") center/cover no-repeat;
  z-index:0;
}
.hero:after{
  content:"";
  position:absolute;
  width:1px;height:62%;
  right:4%;top:20%;
  background:linear-gradient(transparent,rgba(189,152,80,.45),transparent);
  transform:rotate(14deg);
}
.hero-overlay{display:none}
.hero-content{position:relative;z-index:2;padding-top:10px}
.hero-content h1{max-width:820px;text-shadow:0 3px 24px rgba(0,0,0,.28)}
.hero-copy{color:#dedad2;font-size:19px}
.trust-row{color:#c0bbb2}
.intro-grid p:last-child,.section-heading>p:last-child,.service-card p,.why-grid p,.faq-list details p,.contact p{color:#bbb6ad}
.about-panel p:not(.eyebrow),.split-card p:not(.eyebrow),.split-card li{color:#c9c4bb}
.nav{font-size:14px}
.nav>a:not(.btn){color:#e6e2da;opacity:.88}
.nav>a:not(.btn):hover{color:#d2ac62}
@media(max-width:900px){
  .logo-brand img{width:320px;max-width:320px;height:68px}
  .hero:before{width:65%;opacity:.7}
}
@media(max-width:640px){
  .nav-wrap{height:76px}
  .nav{top:76px}
  .logo-brand{height:66px}
  .logo-brand img{height:60px;width:260px;max-width:260px}
  .hero{min-height:640px}
  .hero:before{
    width:100%;
    opacity:.48;
    background:
      linear-gradient(rgba(5,5,5,.72),rgba(5,5,5,.82)),
      url("assets/portfolio/bath-black-04.jpg") 62% center/cover no-repeat;
  }
  .hero-content h1{font-size:46px}
}

/* V9 final visual polish */
.logo-brand img{
  height:74px;
  width:430px;
  max-width:430px;
  object-fit:cover;
  object-position:center;
  filter:none;
}
.header-phone{
  color:#d8b46b!important;
  font-weight:700;
  letter-spacing:.2px;
  white-space:nowrap;
}
.header-phone:hover{color:#f0cf89!important}

.hero-content h1{
  font-size:clamp(50px,5.2vw,78px);
  max-width:900px;
  letter-spacing:-1px;
}
.hero:before{
  background:
    linear-gradient(90deg,#0a0a0a 0%,rgba(10,10,10,.88) 13%,rgba(10,10,10,.27) 50%,rgba(10,10,10,.06) 100%),
    url("assets/portfolio/bath-black-04.jpg") 58% center/cover no-repeat;
}
.intro{
  position:relative;
}
.intro:after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:0;
  width:min(1180px,calc(100% - 40px));
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(189,152,80,.55),transparent);
}
.project-band{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  min-height:520px;
  background:#060606;
  border-bottom:1px solid #1f1c17;
}
.project-band-image{
  min-height:520px;
  background-size:cover;
  background-position:center;
  position:relative;
}
.project-band-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.05),rgba(0,0,0,.25));
}
.project-band-copy{
  padding:70px 8vw 70px 55px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.project-band-copy h2{
  font-size:clamp(36px,4vw,54px);
}
.project-band-copy p:not(.eyebrow){
  color:#bdb8af;
  max-width:520px;
}
@media(max-width:1100px){
  .header-phone{display:none}
}
@media(max-width:800px){
  .project-band{grid-template-columns:1fr}
  .project-band-image{min-height:360px}
  .project-band-copy{padding:50px 28px}
}
@media(max-width:640px){
  .logo-brand img{height:58px;width:290px;max-width:290px}
  .hero-content h1{font-size:44px;letter-spacing:-.4px}
  .hero:before{
    background:
      linear-gradient(rgba(5,5,5,.75),rgba(5,5,5,.8)),
      url("assets/portfolio/bath-black-04.jpg") 60% center/cover no-repeat;
  }
}

/* V10 — refined editorial typography and quieter luxury */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400;1,500&family=Inter:wght@400;500;600&display=swap');

body{
  font-family:"Inter",sans-serif;
  font-weight:400;
  letter-spacing:-.01em;
}
h1,h2,h3,.brand-text strong{
  font-family:"Cormorant Garamond",serif;
  font-weight:400;
  letter-spacing:-.02em;
}
h1{
  font-size:clamp(46px,4.7vw,72px);
  line-height:.98;
  max-width:760px;
}
h1 span{
  color:#c8a15b;
  font-weight:400;
}
h2{
  font-size:clamp(34px,3.8vw,52px);
  line-height:1.02;
  font-weight:400;
}
h2 em{
  color:#c8a15b;
  font-weight:400;
}
h3{
  font-size:24px;
  font-weight:500;
}
.eyebrow{
  font-family:"Inter",sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:3.3px;
}
.hero{
  min-height:635px;
}
.hero-content{
  padding-top:0;
}
.hero-copy{
  font-size:16px;
  line-height:1.75;
  max-width:600px;
  color:#d2cec6;
}
.hero-actions .btn{
  min-width:190px;
  padding:16px 24px;
  font-size:12px;
  letter-spacing:.4px;
  text-transform:uppercase;
  font-weight:500;
}
.trust-row{
  font-size:11px;
  letter-spacing:.2px;
}
.intro{
  padding:72px 0 62px;
}
.intro-grid{
  align-items:center;
}
.intro-grid p:last-child{
  font-size:15px;
  line-height:1.75;
}
.intro h2 em{
  display:block;
  font-style:italic;
}
.project-band{
  min-height:0;
  grid-template-columns:1.05fr .95fr;
  border-top:1px solid rgba(189,152,80,.24);
}
.project-band-image{
  min-height:430px;
}
.project-band-copy{
  padding:58px 7vw 58px 48px;
}
.project-band-copy h2{
  font-size:clamp(34px,3.3vw,46px);
}
.visual-services{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  background:#070707;
  border-top:1px solid rgba(189,152,80,.25);
  border-bottom:1px solid rgba(189,152,80,.25);
}
.visual-service{
  min-height:210px;
  position:relative;
  background-size:cover;
  background-position:center;
  overflow:hidden;
  border-right:1px solid rgba(189,152,80,.22);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  padding:18px 18px 16px;
}
.visual-service:last-child{border-right:0}
.visual-service:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.08) 68%);
}
.visual-service span,.visual-service b{
  position:relative;
  z-index:1;
}
.visual-service span{
  color:#f1ede6;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.5px;
  font-weight:500;
}
.visual-service b{
  color:#c8a15b;
  font-size:22px;
  font-weight:400;
}
.services .section-heading{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  max-width:none;
  align-items:end;
}
.services .section-heading>p:last-child{
  font-size:15px;
  line-height:1.75;
}
.services h2 em{
  display:block;
  font-style:italic;
}
.service-card{
  padding:28px;
  min-height:225px;
}
.service-card h3{
  font-family:"Cormorant Garamond",serif;
  font-size:27px;
  font-weight:500;
}
.service-card p{
  font-size:14px;
  line-height:1.65;
}
.num{
  margin-bottom:32px;
}
.about-panel h2,
.why-us h2,
.service-area h2,
.faq h2,
.contact h2{
  font-weight:400;
}
.nav{
  font-size:12px;
  gap:24px;
}
.nav .btn{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.4px;
}
.header-phone{
  font-size:12px;
}
@media(max-width:1000px){
  .visual-services{grid-template-columns:repeat(2,1fr)}
  .visual-service:last-child{grid-column:span 2}
  .services .section-heading{grid-template-columns:1fr}
}
@media(max-width:640px){
  h1{font-size:43px}
  .hero{min-height:620px}
  .visual-services{grid-template-columns:1fr 1fr}
  .visual-service{min-height:165px}
  .visual-service:last-child{grid-column:span 2}
  .project-band-copy{padding:42px 24px}
}

.hidden-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
