:root{--black:#1B1B1A;--bone:#F4F1EA;--clay:#D8D0C4;--concrete:#C9C7C3;--bronze:#A67C52;--blue:#123D5F;--green:#1F4D2E;--plum:#6A3556}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Public Sans",Arial,sans-serif;background:var(--bone);color:var(--black)}
.site-header{display:flex;justify-content:space-between;align-items:center;padding:24px 42px;border-bottom:1px solid rgba(27,27,26,.15);position:fixed;top:0;left:0;right:0;background:rgba(244,241,234,.86);backdrop-filter:blur(12px);z-index:20}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--black)}.brand-text{display:flex;flex-direction:column;gap:5px;font-size:12px;letter-spacing:.34em;font-weight:600}.md-mark{width:44px;text-align:center;line-height:.8}.md-mark .m,.md-mark .d{font-size:38px;font-weight:300;letter-spacing:-.08em}.md-mark .bar{height:2px;background:var(--black);width:52px;margin:8px auto 9px;transform:translateX(-4px)}.md-mark.large{width:140px;margin:auto}.md-mark.large .m,.md-mark.large .d{font-size:120px}.md-mark.large .bar{width:150px;height:3px;margin:20px auto 24px;transform:translateX(-5px)}
.nav{display:flex;gap:20px}.nav a{text-decoration:none;color:var(--black);font-size:11px;text-transform:uppercase;letter-spacing:.14em}.menu-toggle{display:none;background:none;border:1px solid var(--black);padding:9px 12px;text-transform:uppercase;letter-spacing:.14em}
.section{padding:88px 7vw;border-bottom:1px solid rgba(27,27,26,.13)}.image-hero{min-height:100vh;display:flex;align-items:end;padding:150px 7vw 90px;position:relative;background-image:url('assets/images/steel-window-living.jpg');background-size:cover;background-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,27,26,.78),rgba(27,27,26,.32),rgba(27,27,26,.08))}.hero-copy{position:relative;max-width:900px;color:var(--bone)}.hero-copy .lead{color:rgba(244,241,234,.82)}.hero-copy .eyebrow{color:var(--bronze)}.button.light{color:var(--bone);border-color:var(--bone)}
.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze);font-weight:700}h1{font-size:clamp(48px,7vw,102px);line-height:.94;letter-spacing:-.06em;margin:20px 0;font-weight:500}h2{font-size:clamp(32px,4.2vw,64px);line-height:1;letter-spacing:-.045em;margin:10px 0 28px;font-weight:500}h3{text-transform:uppercase;letter-spacing:.18em;font-size:14px;margin:0 0 12px}.lead{font-size:22px;line-height:1.55;max-width:720px;color:rgba(27,27,26,.75)}.actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}.button{display:inline-block;border:1px solid var(--black);padding:14px 20px;text-decoration:none;color:var(--black);text-transform:uppercase;letter-spacing:.15em;font-size:12px}.button.primary{background:var(--black);color:var(--bone)}
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px}.text-stack p{font-size:21px;line-height:1.55;color:rgba(27,27,26,.76)}.values{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:28px}.values span{border-top:2px solid var(--bronze);padding:15px 0;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700}.card-grid{display:grid;gap:18px}.card-grid.six{grid-template-columns:repeat(3,1fr)}article{border:1px solid rgba(27,27,26,.14);padding:28px;background:rgba(255,255,255,.15)}article p,.project-feature p,.leader-list p,.investor-grid p{line-height:1.65;color:rgba(27,27,26,.7)}
.image-slider-section{padding:90px 7vw;background:var(--black);color:var(--bone)}.slider-copy{display:flex;justify-content:space-between;gap:40px;align-items:end}.slider{position:relative;height:560px;margin-top:34px;overflow:hidden}.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 900ms ease,transform 1200ms ease;transform:scale(1.03)}.slide.active{opacity:1;transform:scale(1)}.slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:rgba(244,241,234,.88);border:none;width:48px;height:48px;font-size:34px;cursor:pointer}.slider-btn.prev{left:18px}.slider-btn.next{right:18px}
.dark{background:var(--black);color:var(--bone)}.dark .eyebrow{color:var(--bronze)}.numbered{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:45px}.numbered div{border-left:1px solid rgba(244,241,234,.22);padding:26px}.numbered span{color:var(--bronze);letter-spacing:.18em}.numbered p{color:rgba(244,241,234,.72);line-height:1.6}
.project-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:260px;gap:18px;margin-top:30px}.gallery-card{background-size:cover;background-position:center;position:relative;display:flex;align-items:end;padding:24px;min-height:240px;overflow:hidden}.gallery-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(27,27,26,.72),rgba(27,27,26,.05))}.gallery-card div{position:relative;color:var(--bone)}.gallery-card.large-img{grid-row:span 2}.gallery-card p{text-transform:uppercase;letter-spacing:.15em;color:var(--bronze);font-size:12px}
.leader-list,.investor-grid{display:grid;gap:18px}.investor-grid{grid-template-columns:repeat(4,1fr)}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.contact-form{display:grid;gap:14px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:15px;border:1px solid rgba(27,27,26,.25);background:rgba(255,255,255,.3);font-family:inherit}.contact-form textarea{min-height:140px}.contact-form button{background:var(--black);color:var(--bone);padding:15px;border:none;text-transform:uppercase;letter-spacing:.16em}
.fade-in{opacity:0;transform:translateY(28px);transition:opacity 900ms ease,transform 900ms ease}.fade-in.visible{opacity:1;transform:none}
footer{display:flex;justify-content:space-between;gap:30px;padding:36px 42px;background:var(--black);color:var(--bone);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
@media(max-width:1050px){.nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--bone);padding:24px 42px;border-bottom:1px solid rgba(27,27,26,.15);flex-direction:column}.nav.open{display:flex}.menu-toggle{display:block}.split,.contact{grid-template-columns:1fr}.card-grid.six,.investor-grid,.numbered{grid-template-columns:repeat(2,1fr)}.project-gallery{grid-template-columns:1fr 1fr}.gallery-card.large-img{grid-row:span 1}}
@media(max-width:650px){.site-header{padding:20px}.brand-text{font-size:10px}.section,.image-slider-section{padding:64px 24px}.image-hero{padding:140px 24px 70px}.card-grid.six,.investor-grid,.numbered,.values,.project-gallery{grid-template-columns:1fr}footer{flex-direction:column;padding:30px 24px}.slider{height:390px}}

.image-mosaic{
  background:var(--bone);
}
.mosaic-copy{
  max-width:900px;
  margin-bottom:34px;
}
.mosaic-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr 1fr;
  grid-auto-rows:280px;
  gap:18px;
}
.mosaic-grid img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.88) contrast(.98);
}
.mosaic-grid img:nth-child(1){
  grid-row:span 2;
}
.mosaic-grid img:nth-child(3){
  grid-row:span 2;
}
.mosaic-grid img:hover,
.gallery-card:hover{
  transform:translateY(-4px);
}
.mosaic-grid img,
.gallery-card{
  transition:transform 500ms ease, filter 500ms ease;
}
.gallery-card{
  filter:saturate(.9) contrast(.98);
}
.image-hero{
  background-position:center center;
}
@media(max-width:850px){
  .mosaic-grid{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:220px;
  }
  .mosaic-grid img:nth-child(1),
  .mosaic-grid img:nth-child(3){
    grid-row:span 1;
  }
}
@media(max-width:560px){
  .mosaic-grid{
    grid-template-columns:1fr;
    grid-auto-rows:260px;
  }
}

.project-gallery.expanded{
  grid-template-columns:1.35fr 1fr 1fr;
  grid-auto-rows:240px;
}
.project-gallery.expanded .gallery-card.large-img{
  grid-row:span 2;
}
.material-story{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:60px;
  align-items:start;
  background:linear-gradient(90deg,var(--bone),rgba(216,208,196,.45));
}
.material-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.material-strip img{
  width:100%;
  height:420px;
  object-fit:cover;
  display:block;
  filter:saturate(.86) contrast(.98);
  transition:transform 500ms ease, filter 500ms ease;
}
.material-strip img:hover{
  transform:translateY(-4px);
  filter:saturate(.95) contrast(1.02);
}
.mosaic-grid.expanded{
  grid-template-columns:1.1fr .8fr 1fr .8fr;
}
.mosaic-grid.expanded img:nth-child(1),
.mosaic-grid.expanded img:nth-child(3),
.mosaic-grid.expanded img:nth-child(6){
  grid-row:span 2;
}
@media(max-width:1050px){
  .material-story{grid-template-columns:1fr;}
  .material-strip{grid-template-columns:repeat(2,1fr);}
  .project-gallery.expanded{grid-template-columns:1fr 1fr;}
}
@media(max-width:650px){
  .material-strip,
  .project-gallery.expanded,
  .mosaic-grid.expanded{grid-template-columns:1fr;}
  .material-strip img{height:320px;}
  .project-gallery.expanded .gallery-card.large-img{grid-row:span 1;}
  .mosaic-grid.expanded img:nth-child(1),
  .mosaic-grid.expanded img:nth-child(3),
  .mosaic-grid.expanded img:nth-child(6){grid-row:span 1;}
}


.site-logo{
  height:72px;
  width:auto;
  display:block;
}

.footer-brand{
  margin-top:40px;
  display:flex;
  justify-content:center;
}

.footer-logo{
  height:90px;
  width:auto;
  opacity:.95;
}

@media(max-width:768px){
  .site-logo{height:56px;}
  .footer-logo{height:72px;}
}


/* v7 luxury brand refinements */
.site-loader{
  position:fixed;
  inset:0;
  background:var(--bone);
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:opacity 700ms ease, visibility 700ms ease;
}
.site-loader img{
  width:min(420px,70vw);
  height:auto;
  opacity:0;
  animation:loaderFade 1.4s ease forwards;
}
.site-loader.loaded{
  opacity:0;
  visibility:hidden;
}
@keyframes loaderFade{
  0%{opacity:0; transform:translateY(14px);}
  100%{opacity:.94; transform:none;}
}

.site-header{
  transition:padding 360ms ease, background 360ms ease, box-shadow 360ms ease;
}
.site-header.scrolled{
  padding-top:14px;
  padding-bottom:14px;
  background:rgba(244,241,234,.96);
  box-shadow:0 8px 28px rgba(27,27,26,.07);
}
.logo-wrap{
  display:flex;
  align-items:center;
}
.site-logo{
  height:74px;
  width:auto;
  display:block;
  transition:height 360ms ease, opacity 360ms ease;
}
.site-header.scrolled .site-logo{
  height:52px;
}
.hero-watermark{
  position:absolute;
  right:7vw;
  bottom:9vh;
  width:min(460px,34vw);
  opacity:.12;
  filter:invert(1);
  z-index:1;
  pointer-events:none;
}
.hero-copy{
  z-index:2;
}
.patterned{
  position:relative;
  overflow:hidden;
}
.brand-pattern{
  position:absolute;
  pointer-events:none;
  opacity:.035;
  width:min(760px,65vw);
  right:-8vw;
  top:50%;
  transform:translateY(-50%);
  filter:grayscale(1);
  z-index:0;
}
.patterned > *:not(.brand-pattern){
  position:relative;
  z-index:1;
}
.investor-pattern{
  left:-10vw;
  right:auto;
  opacity:.028;
}
.luxury-footer{
  background:var(--black);
  color:var(--bone);
  padding:70px 7vw 38px;
  text-align:center;
}
.footer-logo-wrap{
  display:flex;
  justify-content:center;
  margin-bottom:34px;
}
.footer-logo{
  width:min(460px,82vw);
  height:auto;
  filter:invert(1);
  opacity:.92;
}
.footer-nav{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:24px;
  margin:26px 0 34px;
}
.footer-nav a{
  color:var(--bone);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:11px;
  opacity:.78;
  transition:opacity 240ms ease, color 240ms ease;
}
.footer-nav a:hover{
  opacity:1;
  color:var(--bronze);
}
.footer-line{
  width:100%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(166,124,82,.7),transparent);
  margin:34px 0;
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:28px;
  text-align:left;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(244,241,234,.72);
}
@media(max-width:768px){
  .site-logo{height:56px;}
  .site-header.scrolled .site-logo{height:44px;}
  .hero-watermark{width:70vw;right:2vw;bottom:6vh;}
  .footer-bottom{flex-direction:column;text-align:center;}
}


/* v9 footer refinement */
.footer-nav{
    gap:16px !important;
    margin:12px 0 24px !important;
}
.footer-nav a{
    font-size:10px !important;
    letter-spacing:.14em !important;
    opacity:.7;
}

.footer-line{
    margin:22px 0 !important;
}


/* v10 footer navigation alignment */
.footer-nav{
    justify-content:flex-start !important;
    text-align:left !important;
    width:100%;
}

.luxury-footer{
    text-align:left !important;
}

.footer-bottom{
    align-items:flex-start;
}


/* v11 institutional footer layout */
.footer-nav{
    width:auto !important;
    flex:1;
    justify-content:flex-start !important;
    margin:0 !important;
}

.footer-line{
    display:none !important;
}

.footer-bottom{
    border-top:1px solid rgba(166,124,82,.55);
    padding-top:22px;
    margin-top:22px;
}

.luxury-footer{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.footer-nav::after{
    content:"";
    width:1px;
    height:18px;
    background:rgba(166,124,82,.6);
    display:inline-block;
    margin-left:18px;
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
}

.footer-bottom span:first-child{
    text-align:left;
}

.footer-bottom span:last-child{
    text-align:right;
}

@media(max-width:768px){
    .footer-nav::after{display:none;}
    .footer-bottom{
        flex-direction:column;
        gap:12px;
    }
    .footer-bottom span:last-child{
        text-align:left;
    }
}


/* v12 slider caption alignment fix */
.slide-caption .eyebrow,
.slider-caption .eyebrow,
.slide-label,
.caption-label{
    display:block !important;
    width:100%;
    margin-bottom:10px;
}

.slide-caption h3,
.slider-caption h3{
    display:block;
    clear:both;
}


/* v13 slider heading layout fix */
.slider-copy{
    display:block !important;
}

.slider-copy .eyebrow{
    display:block !important;
    width:100% !important;
    margin:0 0 22px 0 !important;
}

.slider-copy h2{
    display:block !important;
    width:100% !important;
    max-width:1200px;
    margin-top:0 !important;
    clear:both !important;
}

.image-slider-section .eyebrow{
    float:none !important;
}
