
:root{
  --charcoal:#353737;
  --charcoal-deep:#292b2b;
  --cream:#f2eee7;
  --warm:#b7a58f;
  --warm-dark:#8e7d68;
  --ink:#2d2d2b;
  --paper:#f6f2ec;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
.shell{width:min(1160px,calc(100% - 44px));margin:0 auto}
.topbar{position:sticky;top:0;z-index:20;background:rgba(48,50,50,.97);border-bottom:1px solid rgba(183,165,143,.24);backdrop-filter:blur(10px)}
.nav{height:84px;display:flex;align-items:center;justify-content:space-between}
.nav-logo img{width:195px;height:54px;object-fit:cover;object-position:center 33%;filter:contrast(1.05)}
.navlinks{display:flex;align-items:center;gap:30px}
.navlinks a{font-size:11px;letter-spacing:2px;color:var(--cream);text-decoration:none}
.nav-cta{border:1px solid var(--warm);padding:10px 15px}
.menu{display:none;background:none;border:1px solid var(--warm);color:var(--cream);letter-spacing:2px;padding:9px 12px}
.hero{background:var(--charcoal);color:var(--cream);min-height:760px;display:flex;align-items:center;border-bottom:1px solid #4c4f4f}
.hero-shell{text-align:center;padding:100px 0 92px}
.hero-lockup img{width:min(610px,88vw);display:block;margin:0 auto 20px}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--warm),transparent);width:min(760px,85%);margin:28px auto 31px}
.kicker{font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,3.2vw,42px);font-weight:700;letter-spacing:1px;margin:0 0 16px}
.license{display:inline-block;background:var(--warm);color:#2c2e2e;padding:9px 28px;font-size:12px;letter-spacing:2.2px;margin:0 0 27px}
.services-line{font-size:13px;letter-spacing:2.2px;font-weight:700}
.services-line span{color:var(--warm);padding:0 8px}
.scriptline{font-family:Georgia,"Times New Roman",serif;font-size:28px;font-style:italic;color:var(--warm);margin:30px 0}
.hero-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.btn{text-decoration:none;font-size:12px;letter-spacing:2px;font-weight:700;padding:13px 22px}
.btn.tan{background:var(--warm);color:#292b2b}.btn.outline{border:1px solid #7a7b78;color:var(--cream)}
.intro{padding:108px 0}
.intro-grid,.rebuild-grid{display:grid;grid-template-columns:220px 1fr;gap:80px}
.section-mark{padding-top:10px}.section-mark span{font-family:Georgia,serif;font-size:34px;color:var(--warm-dark)}
.section-mark p{font-size:11px;letter-spacing:3px;font-weight:700}.mini-rule{width:65px;height:1px;background:var(--warm);margin:14px 0}
h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,5vw,68px);line-height:1.05;font-weight:400;margin:0 0 30px}
.intro-grid>div:last-child p{font-size:18px;color:#5c5851;max-width:760px}
.services{padding:100px 0 110px;background:#eae3d9;border-top:1px solid #ddd2c4;border-bottom:1px solid #d7ccbe}
.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:52px}.section-heading>p{max-width:430px;color:#6b655d}
.eyebrow{font-size:11px;letter-spacing:3px;color:var(--warm-dark);font-weight:700}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #cfc2b2}
.service-grid article{padding:32px;min-height:340px;border-right:1px solid #cfc2b2;background:#f4efe8}.service-grid article:last-child{border-right:0}
.service-grid h3{font-family:Georgia,serif;font-size:24px;letter-spacing:.4px;margin:30px 0 16px}.service-grid p{font-size:15px;color:#6b655d}
.service-illustration{display:block;width:150px;height:92px;object-fit:contain;object-position:left center;margin:0 0 18px 0}
.service-grid h3{margin-top:12px}

.rebuild{padding:110px 0;background:var(--charcoal-deep);color:var(--cream)}
.section-mark.light p{color:var(--cream)}.rebuild p{color:#d7d3cc;font-size:18px;max-width:760px}.text-link{display:inline-block;margin-top:20px;color:var(--warm);font-size:12px;letter-spacing:2px;text-decoration:none;font-weight:700}
.statement{padding:105px 0;text-align:center}.statement>div>p{font-size:11px;letter-spacing:3px;color:var(--warm-dark);font-weight:700}.statement blockquote{font-family:Georgia,serif;font-style:italic;font-size:clamp(40px,5vw,66px);line-height:1.15;margin:24px auto 0;max-width:920px;color:#403e3a}
.contact{padding:95px 0;background:var(--charcoal);color:var(--cream)}
.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:center}.contact-grid>div:first-child>p{max-width:620px;color:#d2cec8;font-size:18px}
.contact-panel{border:1px solid var(--warm);padding:38px;display:flex;flex-direction:column}.contact-panel h3{font-family:Georgia,serif;font-size:34px;margin:0 0 3px}.contact-panel>span{font-size:10px;letter-spacing:2.5px;color:var(--warm);margin-bottom:25px}.contact-panel a{color:var(--cream);font-size:18px;text-decoration:none;margin:4px 0}.contact-panel p{color:#bbb5ad;margin:20px 0 0}.light-eyebrow{color:var(--warm)}
footer{background:#202222;color:#9d9a94;padding:24px 0;border-top:1px solid #343737}.footer{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:2px}
@media(max-width:850px){
  .menu{display:block}.navlinks{display:none;position:absolute;top:84px;left:0;right:0;background:var(--charcoal);padding:24px;flex-direction:column}.navlinks.open{display:flex}
  .intro-grid,.rebuild-grid,.contact-grid{grid-template-columns:1fr;gap:38px}.section-mark{display:flex;align-items:center;gap:15px}.mini-rule{margin:0}
  .service-grid{grid-template-columns:1fr 1fr}.service-grid article:nth-child(2){border-right:0}.service-grid article:nth-child(-n+2){border-bottom:1px solid #cfc2b2}
  .section-heading{display:block}.section-heading>p{margin-top:25px}.hero{min-height:680px}
}
@media(max-width:560px){
  .shell{width:min(100% - 28px,1160px)}.nav-logo img{width:160px}.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0!important;border-bottom:1px solid #cfc2b2}.service-grid article:last-child{border-bottom:0}.services-line{line-height:2}.hero-shell{padding:75px 0}.footer{flex-direction:column}
}

/* v3 mobile logo visibility fix */
.nav-logo{
  display:flex;
  align-items:center;
  overflow:visible;
}
.nav-logo img{
  width:220px;
  height:auto;
  max-height:68px;
  object-fit:contain;
  object-position:center;
}
.hero-lockup{
  width:min(720px,94vw);
  margin:0 auto;
  padding:10px 14px;
  overflow:visible;
}
.hero-lockup img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center;
}
@media(max-width:850px){
  .nav-logo img{width:180px;max-height:58px}
  .hero-lockup{width:96vw;padding:8px 22px}
  .hero-lockup img{width:100%;height:auto}
}
@media(max-width:560px){
  .nav-logo img{width:150px;max-height:52px}
  .hero-lockup{width:100%;padding:8px 18px}
  .hero-lockup img{width:100%;height:auto}
  .kicker{font-size:24px}
}

/* v4: responsive brand lockup rebuilt so PEACOCK can never be cropped */
.nav-logo{ text-decoration:none; min-width:0; }
.brand-lockup{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--cream);line-height:1;max-width:100%}
.brand-mark{display:block!important;width:150px!important;height:38px!important;object-fit:contain!important;object-position:center!important;margin:0 auto 4px!important;max-height:none!important}
.brand-name{font-family:Georgia,"Times New Roman",serif;font-size:25px;letter-spacing:7px;white-space:nowrap}
.brand-sub{font-size:8px;letter-spacing:6px;color:var(--warm);margin-top:5px;white-space:nowrap}

.hero-lockup .brand-lockup{width:min(720px,92vw);margin:0 auto}
.hero-lockup .brand-mark{width:min(390px,68vw)!important;height:115px!important;margin:0 auto 12px!important}
.hero-lockup .brand-name{font-size:clamp(46px,9vw,94px);letter-spacing:clamp(8px,2vw,20px);padding-left:clamp(8px,2vw,20px)}
.hero-lockup .brand-sub{font-size:clamp(14px,2.5vw,27px);letter-spacing:clamp(8px,2vw,20px);padding-left:clamp(8px,2vw,20px);margin-top:12px}

@media(max-width:560px){
  .nav-logo .brand-mark{width:92px!important;height:27px!important;margin-bottom:2px!important}
  .nav-logo .brand-name{font-size:15px;letter-spacing:4px}
  .nav-logo .brand-sub{font-size:5.5px;letter-spacing:3.5px;margin-top:3px}
  .hero-lockup{width:100%;padding:0 14px}
  .hero-lockup .brand-lockup{width:100%}
  .hero-lockup .brand-mark{width:260px!important;height:95px!important}
  .hero-lockup .brand-name{font-size:48px;letter-spacing:8px;padding-left:8px}
  .hero-lockup .brand-sub{font-size:14px;letter-spacing:9px;padding-left:9px}
}

@media(max-width:560px){.service-illustration{width:145px;height:96px;margin-bottom:16px}.service-grid h3{margin-top:8px}}
\n\n/* v8 selected projects portfolio */\n.projects{padding:105px 0 115px;background:var(--paper);border-top:1px solid #ded3c7}\n.projects-heading{margin-bottom:48px}\n.projects-mark{display:flex;align-items:center;gap:18px;padding:0;margin-bottom:10px}\n.projects-mark .mini-rule{margin:0;width:70px}\n.projects-mark p{margin:0}\n.projects-heading h2{margin-bottom:18px}\n.projects-intro{max-width:470px;font-size:17px;color:#5f5a53;margin:0}\n.project-block{padding:0 0 48px;border-bottom:1px solid #d7cbbd;margin-bottom:48px}\n.project-block-second{margin-bottom:32px}\n.project-feature{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(250px,.85fr);gap:28px;align-items:end}\n.project-feature.reverse{grid-template-columns:minmax(0,1.7fr) minmax(250px,.9fr)}\n.project-feature>img{width:100%;height:520px;object-fit:cover;display:block}\n.project-feature.reverse>img{height:500px}\n.project-copy{padding:14px 6px 20px}\n.project-number{font-size:12px;letter-spacing:2px;display:flex;align-items:center;gap:13px;margin-bottom:17px}\n.project-number span{display:inline-block;width:42px;height:1px;background:#c5b39e}\n.project-copy h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:37px;line-height:1.1;margin:0 0 5px}\n.project-location{font-family:Georgia,"Times New Roman",serif;color:var(--warm-dark);font-size:18px;margin:0}\n.project-copy-rule{width:38px;height:1px;background:var(--warm);margin:24px 0}\n.project-copy>p:last-child{font-size:15px;color:#5f5a53;line-height:1.75;margin:0}\n.project-gallery{display:grid;gap:5px;margin-top:6px}\n.project-gallery-three{grid-template-columns:1fr 1fr 1.25fr}\n.project-gallery-four{grid-template-columns:1fr 1fr 1fr}\n.project-gallery img{width:100%;height:250px;object-fit:cover;display:block}\n.project-gallery-three img:nth-child(1){object-position:center 42%}\n.project-gallery-three img:nth-child(2){object-position:center center}\n.project-gallery-three img:nth-child(3){object-position:center center}\n.project-gallery-four img:nth-child(1){object-position:center center}\n.project-gallery-four img:nth-child(2){object-position:center center}\n.project-gallery-four img:nth-child(3){object-position:center 52%}\n.projects-tagline{display:flex;justify-content:center;align-items:center;gap:28px;padding-top:8px;font-family:Georgia,"Times New Roman",serif;font-size:22px;letter-spacing:3px;color:#3a3732}\n.tree-mark{font-size:16px;color:var(--warm-dark)}\n@media(max-width:850px){\n  .project-feature,.project-feature.reverse{grid-template-columns:1fr}\n  .project-feature>img,.project-feature.reverse>img{height:auto;max-height:560px;object-fit:cover}\n  .project-copy{padding:18px 0 8px}\n  .project-gallery-three,.project-gallery-four{grid-template-columns:repeat(2,1fr)}\n  .project-gallery img{height:260px}\n  .project-gallery-three img:last-child,.project-gallery-four img:last-child{grid-column:1 / -1;height:330px}\n  .projects-tagline{gap:18px;font-size:18px;letter-spacing:2px;flex-wrap:wrap}\n}\n@media(max-width:560px){\n  .projects{padding:78px 0 86px}\n  .projects-heading{margin-bottom:34px}\n  .project-feature>img,.project-feature.reverse>img{height:290px}\n  .project-copy h3{font-size:31px}\n  .project-copy{padding-top:18px}\n  .project-gallery-three,.project-gallery-four{grid-template-columns:1fr 1fr;gap:4px}\n  .project-gallery img{height:190px}\n  .project-gallery-three img:last-child,.project-gallery-four img:last-child{grid-column:1 / -1;height:235px}\n  .project-block{padding-bottom:34px;margin-bottom:36px}\n  .projects-tagline{font-size:16px;gap:11px;letter-spacing:1.5px}\n  .tree-mark{display:none}\n}\n
/* v9 — projects section rebuilt to match approved editorial mockup */
.projects{
  padding:104px 0 96px;
  background:#f7f3ed;
  border-top:1px solid #ded3c7;
}
.projects .shell{width:min(1240px,calc(100% - 52px));}
.projects-heading{margin:0 0 48px;max-width:650px}
.projects-mark{display:flex;align-items:center;gap:18px;margin:0 0 7px;padding:0}
.projects-mark span{font-size:42px;line-height:1;color:#a79379}
.projects-mark .mini-rule{width:82px;margin:0;background:#b7a58f}
.projects-mark p{margin:0;font-size:12px;letter-spacing:4px}
.projects-heading h2{font-size:clamp(54px,6vw,82px);margin:0 0 18px;line-height:.98}
.projects-intro{font-size:17px;line-height:1.6;max-width:430px;margin:0;color:#45423d}

.project-block{padding:0 0 54px;margin:0 0 52px;border-bottom:1px solid #d7cbbd}
.project-feature,
.project-feature.reverse{
  display:grid;
  grid-template-columns:minmax(0,2.5fr) minmax(260px,.95fr);
  gap:30px;
  align-items:end;
}
.project-feature>img,
.project-feature.reverse>img{
  width:100%;
  aspect-ratio:1.48 / 1;
  height:auto;
  object-fit:cover;
  display:block;
  background:#ddd5cb;
}
.project-copy{padding:0 2px 26px}
.project-number{font-size:12px;letter-spacing:2.5px;display:flex;align-items:center;gap:14px;margin:0 0 20px}
.project-number span{width:44px;height:1px;background:#c5b39e}
.project-copy h3{font-family:Georgia,"Times New Roman",serif;font-size:40px;font-weight:400;line-height:1.05;margin:0 0 5px}
.project-location{font-family:Georgia,"Times New Roman",serif;font-size:19px;color:#8e7458;margin:0}
.project-copy-rule{width:40px;height:1px;background:#b9a284;margin:25px 0}
.project-copy>p:last-child{font-size:15px;line-height:1.72;color:#46423c;margin:0;max-width:300px}

.project-gallery{display:grid;gap:5px;margin-top:6px}
.project-gallery-three,
.project-gallery-four{grid-template-columns:1fr 1fr 1.25fr}
.project-gallery img{
  width:100%;
  aspect-ratio:1.35 / 1;
  height:auto;
  object-fit:cover;
  display:block;
  background:#ded7cf;
}
.project-gallery-three img:nth-child(1){object-position:center 45%}
.project-gallery-three img:nth-child(2){object-position:center 44%}
.project-gallery-three img:nth-child(3){object-position:center 52%}
.project-gallery-four img:nth-child(1){object-position:center 50%}
.project-gallery-four img:nth-child(2){object-position:center 48%}
.project-gallery-four img:nth-child(3){object-position:center 48%}

.projects-tagline{display:flex;justify-content:center;gap:38px;align-items:center;padding:0 0 2px;font-family:Georgia,"Times New Roman",serif;font-size:24px;letter-spacing:3.5px;color:#242321}
.tree-mark{font-size:12px;color:#9f896e}

@media(max-width:850px){
  .projects .shell{width:min(100% - 36px,1240px)}
  .projects{padding:82px 0 78px}
  .projects-heading{margin-bottom:36px}
  .projects-heading h2{font-size:58px}
  .project-feature,.project-feature.reverse{grid-template-columns:minmax(0,1.65fr) minmax(190px,.75fr);gap:20px;align-items:end}
  .project-copy{padding-bottom:8px}
  .project-copy h3{font-size:32px}
  .project-copy>p:last-child{font-size:14px}
  .project-gallery img{aspect-ratio:1.18/1}
  .projects-tagline{font-size:19px;gap:20px;letter-spacing:2.2px}
}

@media(max-width:620px){
  .projects .shell{width:calc(100% - 28px)}
  .projects{padding:70px 0 72px}
  .projects-mark span{font-size:36px}
  .projects-mark .mini-rule{width:62px}
  .projects-mark p{font-size:10px;letter-spacing:3.2px}
  .projects-heading h2{font-size:50px;margin-bottom:14px}
  .projects-intro{font-size:15px;max-width:330px}

  .project-block{padding-bottom:38px;margin-bottom:40px}
  .project-feature,.project-feature.reverse{display:block}
  .project-feature>img,.project-feature.reverse>img{width:100%;aspect-ratio:1.42/1;height:auto;object-fit:cover}
  .project-copy{
    display:grid;
    grid-template-columns:74px 1fr;
    column-gap:14px;
    row-gap:0;
    align-items:start;
    padding:18px 2px 19px;
  }
  .project-number{grid-column:1;grid-row:1 / span 4;margin:5px 0 0;display:block;font-size:11px;line-height:1.2}
  .project-number span{display:block;width:34px;margin-top:11px}
  .project-copy h3{grid-column:2;font-size:31px;margin:0 0 4px}
  .project-location{grid-column:2;font-size:17px;margin:0}
  .project-copy-rule{grid-column:2;width:32px;margin:15px 0 14px}
  .project-copy>p:last-child{grid-column:2;font-size:14px;line-height:1.62;max-width:none;margin:0}

  .project-gallery{grid-template-columns:1fr 1fr;gap:4px;margin-top:0}
  .project-gallery img{aspect-ratio:1/1;height:auto}
  .project-gallery img:nth-child(3){grid-column:1 / -1;aspect-ratio:1.72/1}
  .projects-tagline{font-size:15px;letter-spacing:1.5px;gap:10px;flex-wrap:nowrap;white-space:nowrap;overflow:hidden;padding-top:2px}
  .tree-mark{display:none}
}

/* v15 — bathroom display only: show the complete original photo without cropping */
.project-gallery-three img[src$="garnet-bathroom.jpeg"]{
  object-fit:contain;
  object-position:center center;
  background:#f7f3ed;
}
@media(max-width:620px){
  .project-gallery-three img[src$="garnet-bathroom.jpeg"]{
    object-fit:contain;
    object-position:center center;
  }
}


/* v16 — add second bathroom view beside existing bathroom; no other layout/photo changes */
.garnet-bathroom-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  width:100%;
  aspect-ratio:1.35 / 1;
  background:#f7f3ed;
}
.project-gallery .garnet-bathroom-pair img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center center;
  background:#f7f3ed;
}
@media(max-width:850px){
  .garnet-bathroom-pair{aspect-ratio:1.18 / 1;}
}
@media(max-width:620px){
  .garnet-bathroom-pair{aspect-ratio:1 / 1;}
  .project-gallery .garnet-bathroom-pair img:nth-child(3){grid-column:auto;aspect-ratio:auto;}
}

/* v17 — polished Garnet Valley mobile gallery only.
   Keep every original photo unchanged; improve the composition/spacing. */
@media(max-width:620px){
  .project-gallery-three{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    align-items:stretch;
  }
  /* Original window + framing images remain a clean matched pair */
  .project-gallery-three > img:nth-child(1),
  .project-gallery-three > img:nth-child(2){
    grid-column:auto;
    width:100%;
    aspect-ratio:1 / 1;
    height:auto;
    object-fit:cover;
  }
  /* Bathrooms become one intentional full-width editorial row */
  .project-gallery-three > .garnet-bathroom-pair{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    width:100%;
    aspect-ratio:auto;
    background:transparent;
  }
  .project-gallery-three > .garnet-bathroom-pair img{
    width:100%;
    height:auto;
    aspect-ratio:3 / 4;
    object-fit:contain;
    object-position:center;
    background:#f7f3ed;
  }
  /* Kitchen + living room form a second matched row */
  .project-gallery-three > img[src$="garnet-kitchen.jpeg"],
  .project-gallery-three > img[src$="garnet-living-room.jpeg"]{
    grid-column:auto;
    width:100%;
    aspect-ratio:1 / 1.12;
    height:auto;
    object-fit:cover;
    object-position:center center;
  }
}
