@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Inter:wght@400;500;600&display=swap');

:root{
  --ink:#171819;
  --cream:#f7f5f1;
  --white:#f7f5f1;
  --bronze:#a7763e;
  --body:#333333;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--body);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}.container{width:min(1180px,calc(100% - 64px));margin:0 auto}.eyebrow{font-size:15px;line-height:1.2;letter-spacing:.28em;text-transform:uppercase;color:var(--bronze);font-weight:600}.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}

.header{position:absolute;left:0;top:0;right:0;z-index:20;padding:26px 0}.header-inner{width:min(1280px,calc(100% - 64px));margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo img{display:block;width:350px;height:auto}.header-btn,.outline-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:600;border:1px solid currentColor;padding:15px 26px;transition:.25s ease}.header-btn{color:var(--cream);border-color:rgba(247,245,241,.66)}.header-btn:hover{background:var(--cream);color:var(--ink)}

.hero{position:relative;min-height:760px;display:flex;align-items:center;color:var(--cream);background-image:linear-gradient(90deg,rgba(8,9,10,.94) 0%,rgba(8,9,10,.80) 24%,rgba(8,9,10,.47) 46%,rgba(8,9,10,.13) 73%,rgba(8,9,10,.08) 100%),url('assets/project-05.webp');background-size:cover;background-position:center center}.hero-content{max-width:500px;padding-top:94px}.hero h1{margin:18px 0 18px;color:var(--cream);font-size:48px;line-height:.72;letter-spacing:-.03em}.hero p{margin:0 0 30px;max-width:415px;color:rgba(247,245,241,.86);font-size:15px;line-height:1.7}.hero .outline-btn{color:var(--cream);border-color:rgba(247,245,241,.72)}.hero .outline-btn:hover{background:var(--cream);color:var(--ink)}

.intro{padding:72px 0;background:linear-gradient(90deg,#f8f7f4 0%,#f5f2ec 100%)}.intro-grid{display:grid;grid-template-columns:1.03fr .93fr;gap:70px;align-items:center}.intro-image{width:100%;display:block;aspect-ratio:482/318;object-fit:cover}.intro-copy{padding-right:12px}.intro h2{font-size:48px;line-height:.95;margin:16px 0 24px;color:#252525}.intro p{font-size:15px;line-height:1.72;margin:0 0 24px;max-width:480px}.intro .outline-btn{color:var(--bronze);border-color:#a89b8d}.intro .outline-btn:hover{background:var(--bronze);color:var(--cream);border-color:var(--bronze)}

.services{padding:64px 0 54px;background:radial-gradient(circle at 50% 25%,#242526 0%,#171819 48%,#151617 100%);color:var(--cream)}.services-head{text-align:center;margin-bottom:36px}.services h2{font-size:48px;line-height:1;margin:12px 0 0;color:var(--cream)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:58px}.service{text-align:center}.service-icon{width:48px;height:48px;margin:0 auto 13px;color:var(--bronze)}.service-icon svg{width:100%;height:100%;display:block}.service h3{font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:500;margin:0 0 12px}.service p{font-size:15px;line-height:1.62;max-width:245px;margin:0 auto 18px;color:rgba(247,245,241,.78)}.service a{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze);text-decoration:none;padding-bottom:5px;border-bottom:1px solid var(--bronze)}

.featured{padding:42px 0 48px;background:linear-gradient(90deg,#faf9f7 0%,#f4f1ec 100%)}.featured-grid{display:grid;grid-template-columns:240px 1fr;gap:62px;align-items:center}.featured h2{font-size:48px;line-height:.98;margin:15px 0 15px;color:#252525}.featured p{font-size:15px;line-height:1.65;margin:0 0 23px}.featured .outline-btn{color:var(--bronze);border-color:#baa996}.featured .outline-btn:hover{background:var(--bronze);color:var(--cream);border-color:var(--bronze)}.featured-image{width:100%;display:block;aspect-ratio:640/256;object-fit:cover;border-radius:8px}

.footer{background:var(--ink);padding:34px 0;color:rgba(247,245,241,.62);font-size:11px}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-logo{width:180px;opacity:.9}.footer a{color:var(--bronze);text-decoration:none}

/* Contact */
.contact-page{min-height:100vh;background:var(--ink);color:var(--cream)}.contact-hero{min-height:100vh;display:flex;align-items:center;padding:135px 0 70px;background:radial-gradient(circle at 78% 32%,#343434 0%,#202122 27%,#171819 60%)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.contact-copy h1{font-size:48px;line-height:.82;margin:17px 0 25px;letter-spacing:-.03em}.contact-copy p{max-width:430px;color:rgba(247,245,241,.72);font-size:15px;line-height:1.75}.contact-card{background:#f5f2ec;color:#242424;padding:42px}.contact-card h2{font-size:40px;margin:0 0 28px;line-height:1}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field-full{grid-column:1/-1}.contact-form label{display:block;font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:#77736d;margin-bottom:8px}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #c8c0b5;background:transparent;padding:10px 0 12px;font:14px Inter,Arial,sans-serif;border-radius:0;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--bronze)}.contact-form textarea{min-height:105px;resize:vertical}.submit-btn{grid-column:1/-1;justify-self:start;margin-top:8px;background:transparent;color:var(--bronze);border:1px solid #b8aa98;padding:16px 26px;text-transform:uppercase;letter-spacing:.2em;font-size:15px;font-weight:600;cursor:pointer}.submit-btn:hover{background:var(--bronze);color:var(--cream);border-color:var(--bronze)}.form-note{grid-column:1/-1;font-size:11px;color:#7a756f;margin:0}

@media(max-width:900px){.container{width:min(100% - 40px,1180px)}.header-inner{width:calc(100% - 40px)}.logo img{width:300px}.hero{min-height:720px;background-position:62% center}.hero h1{font-size:68px}.intro-grid{grid-template-columns:1fr;gap:36px}.services-grid{grid-template-columns:1fr;gap:42px}.featured-grid{grid-template-columns:1fr;gap:30px}.featured-image{order:-1}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-copy h1{font-size:62px}}
@media(max-width:600px){.header{padding:20px 0}.logo img{width:170px}.header-btn{padding:12px 17px;font-size:9px}.hero{min-height:680px;background-position:68% center}.hero-content{padding-top:85px}.hero h1{font-size:56px;line-height:.76}.hero p{font-size:14px;max-width:300px}.intro,.services{padding:54px 0}.intro h2{font-size:41px}.services h2{font-size:36px}.featured{padding:48px 0}.footer-inner{flex-direction:column;align-items:flex-start}.contact-hero{padding-top:115px}.contact-copy h1{font-size:52px}.contact-card{padding:30px 24px}.contact-form{grid-template-columns:1fr}.field-full,.submit-btn,.form-note{grid-column:1}}

/* Thank You */
.thank-page{min-height:100vh;background:var(--ink);color:var(--cream)}
.thank-hero{min-height:100vh;display:flex;align-items:center;padding:135px 0 70px;background:linear-gradient(90deg,rgba(8,9,10,.95) 0%,rgba(8,9,10,.78) 38%,rgba(8,9,10,.42) 68%,rgba(8,9,10,.18) 100%),url('assets/project-03.webp');background-size:cover;background-position:center center}
.thank-inner{max-width:760px}
.thank-inner h1{font-size:48px;line-height:.78;letter-spacing:-.03em;margin:18px 0 24px;color:var(--cream)}
.thank-inner p{max-width:560px;color:rgba(247,245,241,.8);font-size:15px;line-height:1.75;margin:0 0 30px}
.thank-inner .outline-btn{color:var(--cream);border-color:rgba(247,245,241,.72)}
.thank-inner .outline-btn:hover{background:var(--cream);color:var(--ink)}
@media(max-width:600px){.thank-inner h1{font-size:54px}.thank-hero{padding-top:115px;background-position:65% center}}


/* Exceptional Building Experience / Process */
.experience-process{padding:66px 0 62px;background:radial-gradient(circle at 50% 18%,#1d1e1f 0%,#151617 58%,#121314 100%);color:var(--cream)}
.experience-process .container{width:min(1280px,calc(100% - 64px))}
.experience-process-head{text-align:center;margin-bottom:48px}
.experience-process-head .eyebrow{color:var(--bronze);margin-bottom:18px;font-size:15px;letter-spacing:.25em}
.experience-process-head h2{margin:0;color:var(--cream);font-size:48px;line-height:1;font-weight:400}
.process-row{display:grid;grid-template-columns:minmax(150px,1fr) 82px minmax(150px,1fr) 82px minmax(150px,1fr) 82px minmax(150px,1fr);gap:14px;align-items:start}
.process-step{text-align:center;min-width:0}
.process-icon{width:52px;height:52px;margin:0 auto 17px;color:var(--bronze)}
.process-icon svg{display:block;width:100%;height:100%}
.process-step h3{margin:0 0 20px;color:var(--bronze);font-size:15px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.process-step p{margin:0 auto;max-width:235px;color:rgba(247,245,241,.9);font-size:15px;line-height:1.5}
.process-arrow{height:52px;display:flex;align-items:center;justify-content:center}
.process-arrow span{position:relative;display:block;width:70px;height:1.5px;background:var(--bronze)}
.process-arrow span:after{content:"";position:absolute;right:-1px;top:50%;width:8px;height:8px;border-top:1.5px solid var(--bronze);border-right:1.5px solid var(--bronze);transform:translateY(-50%) rotate(45deg)}
@media(max-width:1000px){.experience-process .container{width:min(100% - 40px,1180px)}.process-row{grid-template-columns:1fr 1fr;gap:46px 36px}.process-arrow{display:none}}
@media(max-width:640px){.experience-process{padding:54px 0}.experience-process-head{margin-bottom:40px}.experience-process-head h2{font-size:36px;line-height:1.05}.process-row{grid-template-columns:1fr;gap:42px}.process-step p{max-width:280px}.process-icon{width:48px;height:48px}}

/* Footer contact bar */
.footer{background:var(--ink);padding:30px 0 26px;color:rgba(247,245,241,.72)}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:0px}
.footer-logo{width:250px;opacity:.95}
.footer-copyright{font-size:11px;letter-spacing:.04em;color:rgba(247,245,241,.58);text-transform:uppercase}
.footer-contact-row{border-bottom:1px solid rgba(167,118,62,.6);padding-bottom:22px;display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:nowrap}
.footer-contact-item{display:flex;align-items:center;gap:10px;color:var(--cream)!important;text-decoration:none!important;font-size:15px;font-weight:500;letter-spacing:.015em;white-space:nowrap}
a.footer-contact-item:hover{color:var(--bronze)!important}
.footer-contact-item svg{width:27px;height:27px;flex:0 0 27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-divider{width:1px;height:31px;background:var(--cream);opacity:.85;flex:0 0 1px}
.footer-location{cursor:default}

@media(max-width:1050px){
  .footer-contact-row{gap:14px}
  .footer-contact-item{font-size:12px;gap:7px}
  .footer-contact-item svg{width:23px;height:23px;flex-basis:23px}
  .footer-divider{height:26px}
}
@media(max-width:760px){
  .footer-top{flex-direction:column;align-items:flex-start;padding-top:22px}
  .footer-contact-row{display:grid;grid-template-columns:1fr;justify-items:start;gap:15px}
  .footer-divider{display:none}
  .footer-contact-item{font-size:13px}
}

/* Shorter Contact + Thank You pages so footer is visible sooner */
.contact-page,
.thank-page{
  display:flex;
  flex-direction:column;
  min-height:100vh;
}

.contact-hero,
.thank-hero{
  min-height:calc(100vh - 165px);
  flex:1 0 auto;
}

.contact-hero{
  padding:115px 0 44px;
}

.thank-hero{
  padding:115px 0 44px;
}

@media(max-width:900px){
  .contact-hero,
  .thank-hero{
    min-height:auto;
    padding:110px 0 48px;
  }
}

@media(max-width:600px){
  .contact-hero,
  .thank-hero{
    min-height:auto;
    padding:100px 0 42px;
  }
}

/* Center contact page intro beside form */
.contact-copy{
  align-self:center;
}


/* =====================================================
   MATTE BLACK SITE REFRESH + NAVIGATION
===================================================== */
:root{--ink:#101112;--matte:#121314;--matte-2:#171819;--soft-white:#f4f1eb}
body{background:var(--matte);color:var(--soft-white)}
.header{background:linear-gradient(180deg,rgba(12,13,14,.86),rgba(12,13,14,0))}
.site-nav{display:flex;align-items:center;gap:34px}.site-nav a{color:var(--cream);text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.2em;transition:.2s}.site-nav a:hover{color:var(--bronze)}.site-nav .nav-contact{border:1px solid rgba(247,245,241,.68);padding:13px 20px}.site-nav .nav-contact:hover{background:var(--cream);color:var(--ink)}
.hero{background-image:linear-gradient(90deg,rgba(7,8,9,.98) 0%,rgba(7,8,9,.88) 29%,rgba(7,8,9,.58) 52%,rgba(7,8,9,.22) 78%,rgba(7,8,9,.16) 100%),url('assets/project-05.webp')}
.intro{background:var(--matte-2);color:var(--soft-white)}.intro h2,.featured h2{color:var(--soft-white)}.intro p,.featured p{color:rgba(247,245,241,.78)}.intro .outline-btn,.featured .outline-btn{color:var(--bronze);border-color:rgba(167,118,62,.7)}
.experience-process{background:#0f1011}
.featured{background:#141516;color:var(--soft-white)}
.footer{background:#0b0c0d}

/* About + Process shared */
.dark-site{background:var(--matte);color:var(--soft-white)}
.subhero{min-height:660px;display:flex;align-items:center;padding:145px 0 80px;color:var(--cream);background-size:cover;background-position:center}.subhero-inner{max-width:670px}.subhero h1{font-size:68px;line-height:.9;margin:18px 0 24px;letter-spacing:-.035em}.subhero p{max-width:590px;color:rgba(247,245,241,.82);font-size:16px;line-height:1.75}.subhero .outline-btn{margin-top:12px;color:var(--cream);border-color:rgba(247,245,241,.65)}
.about-hero{background-image:linear-gradient(90deg,rgba(7,8,9,.96),rgba(7,8,9,.78) 40%,rgba(7,8,9,.27) 76%),url('assets/project-05.webp')}
.process-hero{background-image:linear-gradient(90deg,rgba(7,8,9,.97),rgba(7,8,9,.79) 42%,rgba(7,8,9,.25) 78%),url('assets/project-04.webp')}
.dark-split{padding:88px 0;background:#151617}.dark-split-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}.dark-split img{width:100%;height:520px;object-fit:cover}.dark-copy h2{font-size:52px;line-height:.96;margin:16px 0 25px}.dark-copy p{font-size:15px;line-height:1.8;color:rgba(247,245,241,.76);max-width:520px}
.values{padding:90px 0;background:#101112}.values-head{max-width:820px;margin-bottom:50px}.values-head h2{font-size:50px;line-height:1;margin:15px 0 0}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.values-grid article{border-top:1px solid rgba(167,118,62,.7);padding:28px 0 0}.values-grid span{color:var(--bronze);font-family:'Cormorant Garamond',serif;font-size:34px}.values-grid h3{text-transform:uppercase;letter-spacing:.15em;font-size:13px;margin:16px 0 14px}.values-grid p{color:rgba(247,245,241,.72);font-size:14px;line-height:1.75}
.dark-cta{padding:82px 0;background:#171819}.dark-cta-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:68px;align-items:center}.dark-cta h2{font-size:54px;line-height:.96;margin:16px 0 22px}.dark-cta p{color:rgba(247,245,241,.74);line-height:1.75;margin-bottom:25px}.dark-cta img{width:100%;height:400px;object-fit:cover}.dark-cta .outline-btn{color:var(--cream);border-color:rgba(247,245,241,.5)}

/* Process page */
.process-intro-dark{padding:80px 0;background:#171819}.process-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.process-intro-grid h2{font-size:52px;line-height:.96;margin:16px 0 0}.process-intro-grid p{font-size:15px;line-height:1.82;color:rgba(247,245,241,.76);margin-top:0}
.process-flow{padding:90px 0;background:#101112}.process-flow-head{max-width:860px;margin-bottom:70px}.process-flow-head h2{font-size:52px;line-height:.98;margin:15px 0 0}.process-detail{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center;padding:0 0 90px;margin-bottom:90px;border-bottom:1px solid rgba(167,118,62,.26)}.process-detail.reverse img{order:2}.process-detail.reverse .process-detail-copy{order:1}.process-detail img{width:100%;height:440px;object-fit:cover}.process-number{position:absolute;top:-42px;left:0;color:rgba(167,118,62,.24);font-family:'Cormorant Garamond',serif;font-size:96px;line-height:1}.process-detail.reverse .process-number{left:auto;right:0}.process-detail-copy{position:relative;z-index:1}.process-detail-copy h3{font-size:48px;line-height:.98;margin:16px 0 20px}.process-detail-copy p{font-size:15px;line-height:1.82;color:rgba(247,245,241,.76);max-width:520px}.process-detail-copy .outline-btn{margin-top:10px;color:var(--cream);border-color:rgba(247,245,241,.55)}

/* Contact/Thank You darker + clearer */
.contact-page,.thank-page{background:#0f1011}.contact-hero{background:#111213}.thank-hero{background-image:linear-gradient(90deg,rgba(5,6,7,.97),rgba(5,6,7,.82) 42%,rgba(5,6,7,.48) 72%,rgba(5,6,7,.28)),url('assets/project-03.webp')}

@media(max-width:900px){.site-nav{gap:16px}.site-nav a:not(.nav-contact){font-size:9px}.dark-split-grid,.dark-cta-grid,.process-intro-grid,.process-detail{grid-template-columns:1fr;gap:38px}.process-detail.reverse img,.process-detail.reverse .process-detail-copy{order:initial}.process-detail img,.dark-split img,.dark-cta img{height:auto}.values-grid{grid-template-columns:1fr}.subhero h1{font-size:56px}.process-number,.process-detail.reverse .process-number{left:0;right:auto}.process-detail{padding-top:20px}}
@media(max-width:650px){.header-inner{align-items:flex-start}.site-nav{gap:9px;flex-wrap:wrap;justify-content:flex-end;max-width:210px}.site-nav a{font-size:8px}.site-nav .nav-contact{padding:9px 11px}.subhero{min-height:590px;padding-top:130px}.subhero h1{font-size:44px}.dark-split,.values,.dark-cta,.process-flow,.process-intro-dark{padding:58px 0}.dark-copy h2,.values-head h2,.dark-cta h2,.process-flow-head h2,.process-intro-grid h2,.process-detail-copy h3{font-size:38px}.process-detail{margin-bottom:60px;padding-bottom:60px}.process-number{font-size:72px}}

/* =====================================================
   2026-09-14 COLOR REFINEMENT
   Restore light sections + unify dark sections to matte black
===================================================== */
:root{
  --ink:#171819;
  --matte:#171819;
  --cream:#f7f5f1;
  --white:#f7f5f1;
  --soft-white:#f7f5f1;
  --bronze:#a7763e;
  --body:#333333;
}

body{
  background:var(--cream);
  color:var(--body);
}

/* HOME — restore original light sections */
.intro{
  background:linear-gradient(90deg,#f8f7f4 0%,#f5f2ec 100%);
  color:var(--body);
}
.intro h2{color:#252525}
.intro p{color:var(--body)}

.featured{
  background:linear-gradient(90deg,#faf9f7 0%,#f4f1ec 100%);
  color:var(--body);
}
.featured h2{color:#252525}
.featured p{color:var(--body)}

/* All dark bands use one consistent matte black */
.experience-process,
.services,
.values,
.process-flow,
.footer{
  background:var(--matte);
}

/* ABOUT — alternate light / matte black / light */
.dark-site{
  background:var(--cream);
  color:var(--body);
}

.dark-split{
  background:linear-gradient(90deg,#f8f7f4 0%,#f5f2ec 100%);
  color:var(--body);
}
.dark-split .dark-copy h2{color:#252525}
.dark-split .dark-copy p{color:var(--body)}

.values{
  color:var(--cream);
}
.values-grid p{color:rgba(247,245,241,.76)}

.dark-cta{
  background:linear-gradient(90deg,#faf9f7 0%,#f4f1ec 100%);
  color:var(--body);
}
.dark-cta h2{color:#252525}
.dark-cta p{color:var(--body)}
.dark-cta .outline-btn{
  color:var(--bronze);
  border-color:#baa996;
}
.dark-cta .outline-btn:hover{
  background:var(--bronze);
  color:var(--cream);
  border-color:var(--bronze);
}

/* PROCESS — light introduction followed by matte black process flow */
.process-intro-dark{
  background:linear-gradient(90deg,#f8f7f4 0%,#f5f2ec 100%);
  color:var(--body);
}
.process-intro-grid h2{color:#252525}
.process-intro-grid p{color:var(--body)}

.process-flow{
  background:var(--matte);
  color:var(--cream);
}
.process-flow-head h2,
.process-detail-copy h3{color:var(--cream)}
.process-detail-copy p{color:rgba(247,245,241,.78)}

/* Contact + thank-you retain dark look, now flatter/more matte */
.contact-page,
.thank-page{
  background:var(--matte);
}
.contact-hero{
  background:var(--matte);
}

/* Keep image heroes dark but less gray/washed out */
.hero{
  background-image:linear-gradient(90deg,rgba(12,13,14,.94) 0%,rgba(12,13,14,.82) 24%,rgba(12,13,14,.48) 46%,rgba(12,13,14,.14) 73%,rgba(12,13,14,.08) 100%),url('assets/project-05.webp');
}

.header{
  background:linear-gradient(180deg,rgba(12,13,14,.76),rgba(12,13,14,0));
}

/* 2026-09-14 — Align Process hero content with page sections below */
.process-hero .subhero-inner{
  max-width:1180px;
}
.process-hero .subhero-inner > .eyebrow,
.process-hero .subhero-inner > h1,
.process-hero .subhero-inner > p,
.process-hero .subhero-inner > .outline-btn{
  max-width:670px;
}

/* 2026-09-14 — Align About hero content with page sections below */
.about-hero .subhero-inner{
  max-width:1180px;
}
.about-hero .subhero-inner > .eyebrow,
.about-hero .subhero-inner > h1,
.about-hero .subhero-inner > p,
.about-hero .subhero-inner > .outline-btn{
  max-width:670px;
}

/* Global H1 size */
h1 { font-size: 48px !important; }

/* Prevent Contact page text from overlapping header/logo */
.contact-page .contact-copy {
  padding-top: 95px;
}