
:root{
  --bg:#050708;
  --panel:#0a0d0f;
  --panel2:#101315;
  --text:#f7f4ed;
  --muted:#bbb6ad;
  --gold:#c89245;
  --gold2:#dfb66f;
  --line:rgba(200,146,69,.58);
  --softline:rgba(255,255,255,.10);
  --max:1840px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:dark}
body{
  margin:0;background:#050708;color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  line-height:1.55;overflow-x:hidden
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,textarea{font:inherit}
.container{width:min(94%,var(--max));margin:0 auto}

/* =========================================================
   HEADER — wide desktop composition, large brand
   ========================================================= */
.header{
  position:absolute;top:0;left:0;right:0;z-index:40;
  background:linear-gradient(to bottom,rgba(4,6,7,.56),transparent);
}
.header-inner{
  width:min(95%,1880px);
  margin:0 auto;
  min-height:126px;
  display:grid;
  grid-template-columns:minmax(380px,520px) 1fr auto;
  align-items:center;
  gap:42px;
}
.header-brand{
  display:flex;align-items:center;justify-self:start;
}
.header-brand img{
  width:clamp(390px,25vw,500px);
  max-height:112px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 14px 30px rgba(0,0,0,.38));
}
.nav{
  display:flex;align-items:center;justify-content:center;gap:48px;
  align-self:center;
}
.nav a{
  text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;font-weight:800;
  padding:12px 0;position:relative;color:#f2f0eb
}
.nav a:after{
  content:"";position:absolute;left:0;bottom:4px;height:2px;width:0;
  background:var(--gold);transition:.25s ease
}
.nav a:hover:after,.nav a.active:after{width:100%}
.phone{
  justify-self:end;
  border:1px solid var(--gold);
  color:var(--gold2);
  padding:14px 22px;
  font-weight:800;
  letter-spacing:.07em;
  font-size:.86rem;
  white-space:nowrap;
  background:rgba(5,7,8,.34)
}
.menu-btn{display:none;background:transparent;color:#fff;border:1px solid var(--line);padding:10px 13px}

/* =========================================================
   HERO — closer to concept: 35% dark / 65% photography
   ========================================================= */
.hero{
  min-height:760px;
  height:min(78vh,900px);
  display:grid;
  grid-template-columns:35% 65%;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:#050708;
}
.hero-left{
  position:relative;
  z-index:5;
  background:
    radial-gradient(circle at 28% 24%,rgba(200,146,69,.075),transparent 22%),
    linear-gradient(145deg,#050708,#080b0d);
  padding:205px 3vw 78px 5vw;
  display:flex;
  align-items:center;
}
.hero-left:after{
  content:"";
  position:absolute;
  top:-10%;
  right:-148px;
  width:250px;
  height:120%;
  background:#060809;
  transform:skewX(-28deg);
  border-right:2px solid var(--gold);
  z-index:-1;
}
.hero-content{
  width:min(620px,100%);
  position:relative;
  z-index:2;
}
.eyebrow{
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.23em;
  text-transform:uppercase;
  color:var(--gold)
}
.hero h1{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(4.2rem,4.8vw,6.7rem);
  line-height:.92;
  letter-spacing:-.04em;
  margin:20px 0 24px;
  text-wrap:balance;
}
.hero h1 .gold{color:var(--gold2)}
.rule{width:58px;height:2px;background:var(--gold);margin:25px 0}
.hero p{
  color:#d5d0c7;
  font-size:1rem;
  line-height:1.72;
  max-width:540px;
  margin:0 0 30px
}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.btn{
  min-height:56px;
  padding:0 26px;
  border:1px solid var(--gold);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.75rem;
  font-weight:800;
  transition:.25s ease
}
.btn:hover{transform:translateY(-2px);background:rgba(200,146,69,.10)}
.btn.gold{
  min-width:240px;
  background:linear-gradient(135deg,#b67e31,#dcae62);
  color:#080a0b;
  border-color:transparent
}
.hero-image{
  position:relative;
  background:url("assets/luxury-home-hero.jpg") 53% center/cover no-repeat;
  min-width:0;
}
.hero-image:after{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(6,8,9,.14),transparent 24%),
    linear-gradient(0deg,rgba(6,8,9,.15),transparent 48%);
}

/* =========================================================
   VALUE STRIP — bolder and wider
   ========================================================= */
.usp-strip{
  background:
    linear-gradient(rgba(9,12,14,.96),rgba(9,12,14,.96)),
    radial-gradient(circle at 20% 0,rgba(200,146,69,.08),transparent 25%);
  border-bottom:1px solid var(--line);
  padding:24px 0;
}
.usp-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  width:min(91%,1700px);
  margin:0 auto;
}
.usp{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:22px;
  align-items:center;
  padding:5px 44px;
  border-right:1px solid rgba(200,146,69,.27)
}
.usp:first-child{padding-left:0}
.usp:last-child{border-right:0;padding-right:0}
.usp-icon{
  width:54px;height:54px;
  border:1px solid var(--gold);
  display:grid;place-items:center;
  color:var(--gold);
  font-family:Georgia,serif;
  font-size:1.35rem
}
.usp h3{margin:0 0 5px;font-size:.88rem;letter-spacing:.14em;text-transform:uppercase}
.usp p{margin:0;color:var(--muted);font-size:.89rem}

/* =========================================================
   FEATURED PROJECTS — much larger on desktop
   ========================================================= */
.projects{
  padding:64px 0 72px;
  background:
    radial-gradient(circle at 8% 20%,rgba(200,146,69,.055),transparent 18%),
    linear-gradient(145deg,#090c0e,#050708)
}
.projects .container{
  width:min(92%,1740px);
}
.projects-wrap{
  display:grid;
  grid-template-columns:320px 1fr;
  gap:48px;
  align-items:start;
}
.projects-intro{padding-top:34px}
.projects-intro h2{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(3rem,3.25vw,4.4rem);
  line-height:1.01;
  margin:13px 0 30px
}
.project-mosaic{
  display:grid;
  grid-template-columns:1.62fr .92fr;
  grid-template-rows:285px 285px;
  gap:13px
}
.project{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(200,146,69,.48);
  background:url("assets/luxury-home-hero.jpg") center/cover no-repeat;
  min-height:0;
  transition:transform .35s ease,filter .35s ease
}
.project.large{grid-row:1/3;background-position:48% 54%}
.project.small.one{background-position:66% 43%}
.project.small.two{background-position:74% 57%}
.project:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(4,6,7,.93),rgba(4,6,7,.04) 68%);
  transition:.35s ease
}
.project:hover{transform:translateY(-3px);filter:brightness(1.05)}
.project-info{position:absolute;left:26px;right:50px;bottom:20px;z-index:2}
.project-info h3{margin:0 0 7px;font-size:1rem;letter-spacing:.13em;text-transform:uppercase}
.project-info span{font-size:.72rem;color:#eee;letter-spacing:.09em}
.project-arrow{position:absolute;right:24px;bottom:22px;color:var(--gold);z-index:3;font-size:1.25rem}

/* =========================================================
   CLOSING CTA
   ========================================================= */
.cta{
  min-height:230px;
  border-top:1px solid var(--line);
  background:
    linear-gradient(rgba(7,9,10,.88),rgba(7,9,10,.94)),
    url("assets/luxury-home-hero.jpg") center 62%/cover no-repeat;
  display:flex;align-items:center
}
.cta .container{width:min(92%,1740px)}
.cta-grid{
  display:grid;
  grid-template-columns:1.1fr .85fr auto;
  gap:58px;
  align-items:center
}
.cta h2{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  line-height:.96;
  font-size:clamp(3.1rem,4.3vw,5.2rem);
  margin:0
}
.cta h2 span{color:var(--gold2)}
.cta p{color:#ddd9d2;margin:0;max-width:430px;font-size:1rem}

/* =========================================================
   INNER PAGES
   ========================================================= */
.inner-hero{
  min-height:520px;
  padding:180px 0 78px;
  display:flex;align-items:flex-end;
  background:
    linear-gradient(90deg,rgba(5,7,8,.94),rgba(5,7,8,.40)),
    url("assets/luxury-home-hero.jpg") center/cover no-repeat;
  border-bottom:1px solid var(--line)
}
.inner-hero h1{
  margin:12px 0 12px;
  font-family:Georgia,serif;font-weight:400;
  font-size:clamp(3.6rem,6vw,6.7rem);
  line-height:.94
}
.inner-hero p{max-width:720px;color:#d0ccc5}
.section{padding:92px 0;background:#0a0d0e}
.section.alt{background:#07090a}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.photo-panel{
  min-height:530px;
  background:url("assets/luxury-home-hero.jpg") center/cover no-repeat;
  border:1px solid var(--line)
}
.copy h2{
  font-family:Georgia,serif;
  font-weight:400;
  font-size:clamp(2.8rem,4vw,4.8rem);
  line-height:1.03;
  margin:10px 0 20px
}
.copy p{color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form .full{grid-column:1/-1}
.form input,.form textarea{
  width:100%;background:#060809;border:1px solid rgba(255,255,255,.13);color:white;padding:15px 16px
}
.form textarea{min-height:170px;resize:vertical}

/* FOOTER */
.footer{background:#040506;border-top:1px solid var(--line);padding:36px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:35px}
.footer-logo{width:360px;max-height:108px;object-fit:contain;object-position:left center}
.footer-title{color:var(--gold);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px}
.footer-links{display:grid;gap:7px;color:#c6c2bb;font-size:.88rem}
.footer-bottom{border-top:1px solid var(--softline);margin-top:24px;padding-top:18px;color:#777;font-size:.76rem;display:flex;justify-content:space-between;gap:20px}

/* =========================================================
   RESPONSIVE — preserve the mobile version that already worked
   ========================================================= */
@media(max-width:1180px){
  .header-inner{grid-template-columns:330px 1fr auto;gap:24px}
  .header-brand img{width:330px}
  .nav{gap:28px}
  .phone{padding:12px 14px}
  .hero{grid-template-columns:40% 60%}
  .hero h1{font-size:clamp(3.7rem,5.3vw,5.6rem)}
  .projects-wrap{grid-template-columns:275px 1fr}
}
@media(max-width:980px){
  .header-inner{grid-template-columns:1fr auto}
  .phone{display:none}
  .menu-btn{display:block}
  .nav{
    display:none;position:absolute;top:100px;left:0;right:0;padding:20px 5%;
    background:#060809;border-bottom:1px solid var(--line);
    flex-direction:column;align-items:flex-start;gap:14px
  }
  .nav.open{display:flex}
  .header-brand img{width:300px}
  .hero{grid-template-columns:1fr;height:auto;min-height:0}
  .hero-left{min-height:620px;padding:165px 7vw 70px}
  .hero-left:after{display:none}
  .hero-image{min-height:54vh}
  .projects-wrap{grid-template-columns:1fr}
  .projects-intro{max-width:560px}
  .cta-grid{grid-template-columns:1fr 1fr}
  .cta-grid .btn{grid-column:1/-1;width:max-content}
}
@media(max-width:760px){
  .header-inner{min-height:92px}
  .header-brand img{width:250px;max-height:76px}
  .nav{top:92px}
  .hero-left{min-height:auto;padding:145px 6vw 60px}
  .hero h1{font-size:clamp(3rem,13vw,5rem)}
  .hero-image{min-height:410px;background-position:center}
  .usp-grid{grid-template-columns:1fr;width:min(90%,520px)}
  .usp{border-right:0;border-bottom:1px solid rgba(200,146,69,.25);padding:18px 0}
  .usp:last-child{border-bottom:0}
  .project-mosaic{grid-template-columns:1fr;grid-template-rows:auto}
  .project,.project.large,.project.small{grid-row:auto;min-height:300px}
  .cta{padding:52px 0}
  .cta-grid{grid-template-columns:1fr}
  .split,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}
  .form .full{grid-column:auto}
  .footer-bottom{display:block}
  .footer-bottom span{display:block;margin-top:5px}
}


/* ==========================================================
   APPROVED CONCEPT MATCH — 2026-08-08_19h24_40
   ========================================================== */
.home-page{
  background:#050708;
  min-width:320px;
}

/* Header sits over the hero exactly like the concept. */
.pcb-header{
  position:absolute;
  z-index:100;
  left:0;right:0;top:0;
  height:138px;
  display:grid;
  grid-template-columns:36% 1fr auto;
  align-items:start;
  padding:18px 5.2% 0 3.4%;
  pointer-events:none;
}
.pcb-header > *{pointer-events:auto}
.pcb-brand{
  width:315px;
  max-width:82%;
}
.pcb-brand img{
  width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.32));
}
.pcb-nav{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:38px;
  padding-top:21px;
  padding-right:28px;
}
.pcb-nav a{
  color:#f6f4ef;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:800;
  position:relative;
  padding:4px 0 10px;
  white-space:nowrap;
}
.pcb-nav a::after{
  content:"";
  position:absolute;
  left:0;bottom:2px;
  width:0;height:2px;
  background:#c89245;
}
.pcb-nav a.active{color:#e4b463}
.pcb-nav a.active::after,
.pcb-nav a:hover::after{width:100%}
.pcb-phone{
  margin-top:15px;
  min-width:144px;
  height:43px;
  padding:0 15px;
  border:1px solid #c89245;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:#dbaa5f;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  font-weight:800;
  background:rgba(6,8,9,.36);
}

/* HERO: target is ~390px high at 1052px wide. */
.concept-hero{
  position:relative;
  height:min(56.2vw,590px);
  min-height:500px;
  max-height:590px;
  overflow:hidden;
  border-bottom:1px solid #a97431;
  background:#050708;
}
.hero-photo{
  position:absolute;
  inset:0 0 0 32.6%;
  background:
    linear-gradient(90deg,rgba(5,7,8,.10),transparent 18%),
    url("assets/luxury-home-hero.jpg") 52% center/cover no-repeat;
}
.hero-wedge{
  position:absolute;
  z-index:2;
  inset:-8% auto -8% 0;
  width:46%;
  background:#050708;
  clip-path:polygon(0 0,78% 0,63% 32%,78% 100%,0 100%);
}
.hero-wedge::after{
  content:"";
  position:absolute;
  top:-2%;bottom:-2%;
  left:77.5%;
  width:2px;
  background:#c89245;
  transform:rotate(28deg);
  transform-origin:center;
  box-shadow:0 0 0 1px rgba(0,0,0,.15);
}
.hero-copy{
  position:absolute;
  z-index:5;
  left:4.2%;
  top:157px;
  width:32%;
  max-width:430px;
}
.hero-copy h1{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(38px,3.95vw,62px);
  font-weight:400;
  line-height:1.01;
  letter-spacing:-.025em;
  color:#f6f4ef;
}
.hero-copy h1 span{color:#d4a356}
.short-rule{
  width:54px;height:2px;background:#c89245;
  margin:16px 0 12px;
}
.hero-copy p{
  max-width:345px;
  margin:0 0 16px;
  color:#d4d0c8;
  font-size:13px;
  line-height:1.55;
}
.hero-buttons{
  display:flex;
  gap:14px;
}
.outline-btn,.gold-btn{
  height:42px;
  padding:0 27px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
  transition:.2s ease;
}
.outline-btn{
  border:1px solid #b77d31;
  color:#e6b466;
  background:rgba(5,7,8,.38);
}
.gold-btn{
  min-width:164px;
  border:1px solid transparent;
  color:#080a0b;
  background:linear-gradient(135deg,#b47b31,#d9aa5e);
  gap:24px;
}
.outline-btn:hover,.gold-btn:hover{transform:translateY(-2px)}

/* Value strip height/proportions from concept. */
.value-bar{
  background:
    linear-gradient(rgba(11,14,15,.98),rgba(11,14,15,.98)),
    radial-gradient(circle at 20% 0,rgba(200,146,69,.08),transparent 22%);
  border-bottom:1px solid #9a6728;
}
.value-inner{
  width:min(91%,1230px);
  margin:0 auto;
  height:92px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  align-items:center;
}
.value-item{
  min-height:56px;
  display:grid;
  grid-template-columns:52px 1fr;
  gap:16px;
  align-items:center;
  padding:0 28px;
  border-right:1px solid rgba(200,146,69,.30);
}
.value-item:first-child{padding-left:0}
.value-item:last-child{padding-right:0;border-right:0}
.value-icon{
  width:47px;height:47px;
  color:#c89245;
  display:grid;
  place-items:center;
  font-size:31px;
  font-family:Georgia,serif;
}
.value-item h3{
  margin:0 0 4px;
  font-size:13px;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.value-item p{
  margin:0;
  color:#cfcac1;
  font-size:11px;
  line-height:1.45;
}

/* Featured Projects exactly follows compact target rhythm. */
.featured{
  min-height:163px;
  padding:10px 0;
  background:
    radial-gradient(circle at 0 40%,rgba(200,146,69,.05),transparent 18%),
    #080b0d;
  border-bottom:1px solid #a06b2b;
}
.featured-inner{
  width:min(92%,1320px);
  margin:0 auto;
  display:grid;
  grid-template-columns:195px 1fr;
  gap:16px;
}
.featured-copy{
  padding:7px 0 0 0;
}
.section-kicker{
  color:#d09a4b;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:8px;
}
.section-kicker i{
  width:60px;height:1px;background:#c89245;display:inline-block;
}
.featured-copy h2{
  margin:12px 0 13px;
  color:#f4f1ea;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:30px;
  line-height:1.08;
}
.project-button{
  height:36px;
  padding:0 16px;
  font-size:9px;
  gap:10px;
}
.project-layout{
  height:145px;
  display:grid;
  grid-template-columns:1.63fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:7px;
}
.project-tile{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(200,146,69,.52);
  background:#080a0b;
}
.project-main{grid-row:1/3}
.project-tile .tile-image{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transition:transform .4s ease;
}
.project-main .tile-image{background-image:url("assets/uploads/lexem-drive-exterior.jpg");}
.project-side.top .tile-image{background-image:url("assets/uploads/lexem-drive-08.jpg");}
.project-side.bottom .tile-image{background-image:url("assets/uploads/lexem-drive-24.jpg");}
.project-tile::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(3,5,6,.90),rgba(3,5,6,0) 60%);
}
.project-tile:hover .tile-image{transform:scale(1.025)}
.tile-caption{
  position:absolute;
  z-index:3;
  left:14px;right:14px;bottom:9px;
}
.tile-caption h3{
  margin:0 0 4px;
  font-size:11px;
  line-height:1.1;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.tile-caption p{
  margin:0;
  color:#f2eee7;
  font-size:8px;
  letter-spacing:.08em;
}
.tile-caption p i{
  width:1px;height:9px;
  background:#c89245;
  display:inline-block;
  vertical-align:middle;
  margin:0 6px;
}
.tile-caption span{
  position:absolute;
  right:0;bottom:0;
  color:#d5a353;
  font-size:18px;
}

/* Bottom CTA exactly shallow like approved concept. */
.concept-cta{
  min-height:80px;
  background:
    linear-gradient(rgba(7,9,10,.88),rgba(7,9,10,.92)),
    url("assets/luxury-home-hero.jpg") center 62%/cover no-repeat;
}
.cta-inner{
  width:min(90%,1220px);
  min-height:80px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.2fr 1px .85fr auto;
  gap:35px;
  align-items:center;
}
.cta-inner h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:26px;
  line-height:.97;
}
.cta-inner h2 span{color:#d1a15a}
.cta-divider{
  width:1px;height:42px;background:#ad7935;
}
.cta-inner p{
  margin:0;
  color:#e0dbd2;
  font-size:11px;
  line-height:1.55;
}
.cta-inner .gold-btn{
  min-width:150px;
  height:39px;
  font-size:9px;
}

/* Keep mobile look intentionally different and stacked. */
@media(max-width:900px){
  .pcb-header{
    height:96px;
    padding:12px 5%;
    grid-template-columns:1fr auto;
    align-items:start;
  }
  .pcb-brand{width:250px}
  .menu-btn{display:block;margin-top:12px}
  .pcb-nav{
    display:none;
    position:absolute;
    top:92px;left:0;right:0;
    padding:18px 5%;
    background:#060809;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }
  .pcb-nav.open{display:flex}
  .pcb-phone{display:none}
  .concept-hero{
    height:auto;
    max-height:none;
    min-height:0;
    padding-top:0;
    display:flex;
    flex-direction:column;
  }
  .hero-photo{
    position:relative;
    inset:auto;
    order:2;
    height:430px;
    background-position:center;
  }
  .hero-wedge{display:none}
  .hero-copy{
    position:relative;
    left:auto;top:auto;
    order:1;
    width:100%;
    max-width:none;
    padding:145px 6vw 55px;
    background:#060809;
  }
  .hero-copy h1{font-size:clamp(42px,12vw,64px)}
  .hero-copy p{max-width:550px;font-size:14px}
  .value-inner{
    height:auto;
    grid-template-columns:1fr;
    padding:12px 0;
  }
  .value-item{
    padding:14px 0;
    border-right:0;
    border-bottom:1px solid rgba(200,146,69,.26);
  }
  .value-item:last-child{border-bottom:0}
  .featured{padding:42px 0}
  .featured-inner{grid-template-columns:1fr}
  .featured-copy{padding:0}
  .featured-copy h2{font-size:40px}
  .project-layout{
    height:auto;
    grid-template-columns:1fr;
    grid-template-rows:none;
  }
  .project-main,.project-side{grid-row:auto;height:300px}
  .concept-cta{padding:40px 0}
  .cta-inner{
    min-height:0;
    grid-template-columns:1fr;
    gap:18px;
  }
  .cta-divider{display:none}
  .cta-inner h2{font-size:38px}
}
@media(max-width:540px){
  .pcb-brand{width:220px}
  .hero-copy{padding-top:130px}
  .hero-buttons{flex-direction:column;align-items:stretch}
  .outline-btn,.gold-btn{width:100%}
  .hero-photo{height:350px}
  .project-main,.project-side{height:260px}
}


/* ==========================================================
   V3 SCREENSHOT FIX — resolves header/logo collision and scale
   ========================================================== */
@media (min-width:901px){
  .pcb-header{
    height:150px;
    grid-template-columns:35% 1fr auto;
    padding:16px 5.2% 0 3.9%;
  }

  /* The previous cropped logo rendered too tall and collided with the headline.
     This gives the logo its own predictable footprint. */
  .pcb-brand{
    width:285px;
    height:118px;
    display:flex;
    align-items:flex-start;
    overflow:visible;
  }
  .pcb-brand img{
    width:285px;
    height:108px;
    object-fit:contain;
    object-position:left top;
  }

  .pcb-nav{
    padding-top:23px;
    padding-right:30px;
  }
  .pcb-phone{
    margin-top:17px;
  }

  .concept-hero{
    height:610px;
    min-height:610px;
    max-height:610px;
  }

  /* Copy now starts safely below the full logo lockup. */
  .hero-copy{
    left:4.2%;
    top:190px;
    width:31%;
    max-width:445px;
  }
  .hero-copy h1{
    font-size:clamp(42px,3.55vw,59px);
    line-height:1.00;
  }
  .hero-copy p{
    max-width:355px;
    font-size:12px;
    line-height:1.52;
  }

  /* Wedge/photo balance tuned from the browser screenshot. */
  .hero-photo{
    left:34.5%;
    background-position:54% center;
  }
  .hero-wedge{
    width:45%;
    clip-path:polygon(0 0,78% 0,64% 31%,78% 100%,0 100%);
  }

  /* Match the target's compact, centered lower sections. */
  .value-inner{
    width:min(86%,1180px);
    height:92px;
  }
  .featured{
    padding:12px 0 14px;
  }
  .featured-inner{
    width:min(86%,1160px);
    grid-template-columns:200px 1fr;
    gap:18px;
  }
  .project-layout{
    height:154px;
  }
  .concept-cta{
    min-height:94px;
  }
  .cta-inner{
    width:min(84%,1120px);
    min-height:94px;
  }
}

/* Very wide desktop: don't let the design become tiny in the center. */
@media (min-width:1500px){
  .pcb-header{
    padding-left:4.2%;
    padding-right:5%;
  }
  .pcb-brand{width:330px;height:126px}
  .pcb-brand img{width:330px;height:118px}
  .hero-copy{
    left:4.2%;
    top:194px;
    max-width:500px;
  }
  .hero-copy h1{
    font-size:64px;
  }
  .hero-copy p{
    font-size:13px;
    max-width:390px;
  }
  .concept-hero{
    height:650px;
    min-height:650px;
    max-height:650px;
  }
  .value-inner{
    width:min(88%,1380px);
  }
  .featured-inner{
    width:min(88%,1380px);
    grid-template-columns:235px 1fr;
  }
  .project-layout{height:178px}
  .featured-copy h2{font-size:35px}
  .cta-inner{width:min(86%,1320px)}
  .cta-inner h2{font-size:31px}
}


/* ==========================================================
   V4 PRECISION PASS — scale/proportion only
   ========================================================== */
@media (min-width:901px){

  /* 1. Stronger brand presence */
  .pcb-header{
    height:168px;
    padding-top:16px;
  }
  .pcb-brand{
    width:360px;
    height:140px;
  }
  .pcb-brand img{
    width:360px;
    height:132px;
    object-fit:contain;
    object-position:left top;
  }

  /* 2. More breathing room in the hero */
  .concept-hero{
    height:660px;
    min-height:660px;
    max-height:660px;
  }
  .hero-copy{
    top:210px;
    left:4.2%;
    width:31.5%;
    max-width:480px;
  }
  .hero-copy h1{
    font-size:clamp(46px,3.8vw,64px);
    line-height:1.0;
  }
  .hero-copy p{
    max-width:380px;
    font-size:13px;
    line-height:1.58;
    margin-bottom:18px;
  }
  .short-rule{
    margin-top:18px;
    margin-bottom:14px;
  }
  .hero-buttons{
    gap:16px;
  }
  .outline-btn,.gold-btn{
    height:44px;
    padding-left:29px;
    padding-right:29px;
    font-size:11px;
  }

  /* 3. Slightly wider wedge, less aggressive photo crop */
  .hero-photo{
    left:33.4%;
    background-position:50% center;
    background-size:cover;
  }
  .hero-wedge{
    width:46.5%;
    clip-path:polygon(0 0,79% 0,64% 31%,79% 100%,0 100%);
  }

  /* 4. Larger value strip */
  .value-inner{
    width:min(88%,1320px);
    height:108px;
  }
  .value-item{
    grid-template-columns:60px 1fr;
    gap:19px;
    padding-left:34px;
    padding-right:34px;
  }
  .value-icon{
    width:54px;
    height:54px;
    font-size:34px;
  }
  .value-item h3{
    font-size:14px;
    margin-bottom:5px;
  }
  .value-item p{
    font-size:12px;
    line-height:1.5;
  }

  /* 5. Featured Projects gets real visual weight */
  .featured{
    padding:26px 0 30px;
    min-height:260px;
  }
  .featured-inner{
    width:min(88%,1320px);
    grid-template-columns:245px 1fr;
    gap:24px;
  }
  .featured-copy{
    padding-top:12px;
  }
  .section-kicker{
    font-size:11px;
  }
  .section-kicker i{
    width:76px;
  }
  .featured-copy h2{
    font-size:38px;
    line-height:1.04;
    margin:15px 0 20px;
  }
  .project-button{
    height:40px;
    padding:0 20px;
    font-size:10px;
  }

  .project-layout{
    height:225px;
    gap:10px;
  }
  .project-layout{
    grid-template-columns:1.64fr 1fr;
  }
  .tile-caption{
    left:18px;
    right:18px;
    bottom:13px;
  }
  .tile-caption h3{
    font-size:12px;
    margin-bottom:5px;
  }
  .tile-caption p{
    font-size:9px;
  }
  .tile-caption span{
    font-size:20px;
  }

  /* 6. Bottom CTA closer to concept scale */
  .concept-cta{
    min-height:132px;
  }
  .cta-inner{
    width:min(86%,1280px);
    min-height:132px;
    grid-template-columns:1.15fr 1px .9fr auto;
    gap:44px;
  }
  .cta-inner h2{
    font-size:36px;
    line-height:.98;
  }
  .cta-inner p{
    font-size:12px;
    line-height:1.6;
  }
  .cta-divider{
    height:58px;
  }
  .cta-inner .gold-btn{
    min-width:185px;
    height:44px;
    font-size:10px;
  }
}

/* Larger desktop refinement */
@media (min-width:1500px){

  .pcb-header{
    height:180px;
  }
  .pcb-brand{
    width:405px;
    height:150px;
  }
  .pcb-brand img{
    width:405px;
    height:145px;
  }

  .concept-hero{
    height:700px;
    min-height:700px;
    max-height:700px;
  }

  .hero-copy{
    top:220px;
    max-width:520px;
  }
  .hero-copy h1{
    font-size:68px;
  }
  .hero-copy p{
    max-width:410px;
    font-size:13.5px;
  }

  .hero-photo{
    left:32.8%;
    background-position:50% center;
  }
  .hero-wedge{
    width:47%;
  }

  .value-inner{
    width:min(89%,1450px);
    height:116px;
  }

  .featured{
    padding:32px 0 36px;
  }
  .featured-inner{
    width:min(89%,1480px);
    grid-template-columns:270px 1fr;
    gap:28px;
  }
  .featured-copy h2{
    font-size:42px;
  }
  .project-layout{
    height:250px;
  }

  .concept-cta{
    min-height:145px;
  }
  .cta-inner{
    width:min(87%,1400px);
    min-height:145px;
  }
  .cta-inner h2{
    font-size:40px;
  }
}



/* ==========================================================
   V4.1 BRAND PASS — larger logo only, preserve v4 layout
   ========================================================== */
@media (min-width:901px){
  .pcb-header{
    height:190px;
    padding-top:14px;
  }
  .pcb-brand{
    width:430px;
    height:162px;
  }
  .pcb-brand img{
    width:430px;
    height:155px;
    object-fit:contain;
    object-position:left top;
  }

  /* Give the larger logo a little more separation from the headline */
  .hero-copy{
    top:225px;
  }
}

@media (min-width:1500px){
  .pcb-header{
    height:205px;
  }
  .pcb-brand{
    width:475px;
    height:174px;
  }
  .pcb-brand img{
    width:475px;
    height:166px;
  }
  .hero-copy{
    top:238px;
  }
}

/* Keep tablet/mobile proportions sane */
@media (max-width:900px){
  .pcb-brand{
    width:270px;
  }
  .pcb-brand img{
    width:270px;
    height:auto;
  }
}


/* ==========================================================
   V4.2 CUSTOM MIDDLE-STRIP ICONS
   ========================================================== */
.value-icon.image-icon{
  width:62px;
  height:62px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
}
.value-icon.image-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
@media(min-width:1500px){
  .value-icon.image-icon{
    width:68px;
    height:68px;
  }
}
@media(max-width:900px){
  .value-icon.image-icon{
    width:58px;
    height:58px;
  }
}


/* ==========================================================
   PHASE 2.1 — BUILT AROUND YOU
   ========================================================== */
.built-around-you{
  position:relative;
  overflow:hidden;
  padding:88px 0 92px;
  background:
    radial-gradient(circle at 9% 18%,rgba(200,146,69,.075),transparent 25%),
    linear-gradient(135deg,#090c0e 0%,#050708 58%,#080a0b 100%);
  border-top:1px solid rgba(200,146,69,.32);
  border-bottom:1px solid rgba(200,146,69,.42);
}
.built-around-you::before{
  content:"";
  position:absolute;
  top:-170px;
  right:-90px;
  width:470px;
  height:470px;
  border:1px solid rgba(200,146,69,.08);
  transform:rotate(35deg);
  pointer-events:none;
}
.built-around-inner{
  position:relative;
  z-index:2;
  width:min(88%,1320px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(300px,.78fr) 1.45fr;
  gap:88px;
  align-items:start;
}
.built-kicker{
  margin-bottom:18px;
}
.built-around-intro h2{
  margin:0 0 21px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(48px,4.2vw,68px);
  line-height:.96;
  font-weight:400;
  letter-spacing:-.035em;
  color:#f5f2eb;
}
.built-around-intro h2 span{
  color:#d3a259;
}
.built-lead{
  max-width:480px;
  margin:0 0 15px;
  color:#f0ece5;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  line-height:1.45;
}
.built-copy{
  max-width:490px;
  margin:0;
  color:#aaa69f;
  font-size:13px;
  line-height:1.75;
}
.built-principles{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border-top:1px solid rgba(200,146,69,.42);
  border-bottom:1px solid rgba(200,146,69,.22);
}
.built-principle{
  min-height:270px;
  padding:31px 30px 34px;
  position:relative;
  border-right:1px solid rgba(200,146,69,.20);
  transition:background .28s ease,transform .28s ease;
}
.built-principle:first-child{
  padding-left:8px;
  padding-right:30px;
}
.built-principle:last-child{
  border-right:0;
  padding-right:8px;
}
.built-principle:hover{
  background:linear-gradient(to bottom,rgba(200,146,69,.055),rgba(200,146,69,0));
  transform:translateY(-3px);
}
.principle-number{
  color:#c89245;
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  letter-spacing:.13em;
}
.principle-line{
  width:34px;
  height:1px;
  margin:17px 0 25px;
  background:#c89245;
}
.built-principle h3{
  min-height:50px;
  margin:0 0 14px;
  color:#f4f1ea;
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
  line-height:1.1;
  font-weight:400;
}
.built-principle p{
  margin:0;
  color:#aaa69f;
  font-size:12px;
  line-height:1.7;
}

@media(min-width:1500px){
  .built-around-you{padding:102px 0 106px}
  .built-around-inner{width:min(89%,1480px);gap:105px}
  .built-around-intro h2{font-size:74px}
  .built-lead{font-size:22px}
  .built-copy{font-size:14px}
  .built-principle{min-height:290px;padding-top:36px}
  .built-principle h3{font-size:24px}
  .built-principle p{font-size:13px}
}
@media(max-width:1050px){
  .built-around-inner{
    grid-template-columns:1fr;
    gap:48px;
  }
  .built-around-intro{
    max-width:650px;
  }
}
@media(max-width:760px){
  .built-around-you{
    padding:62px 0 66px;
  }
  .built-around-inner{
    width:min(88%,620px);
    gap:40px;
  }
  .built-around-intro h2{
    font-size:clamp(43px,12vw,58px);
  }
  .built-lead{
    font-size:18px;
  }
  .built-principles{
    grid-template-columns:1fr;
    border-bottom:0;
  }
  .built-principle,
  .built-principle:first-child,
  .built-principle:last-child{
    min-height:0;
    padding:27px 0 30px;
    border-right:0;
    border-bottom:1px solid rgba(200,146,69,.20);
  }
  .built-principle h3{
    min-height:0;
    font-size:23px;
  }
}


/* ==========================================================
   PHASE 2.2 — ARCHITECTURAL SHOWCASE
   ========================================================== */
.architectural-showcase{
  position:relative;
  min-height:540px;
  overflow:hidden;
  isolation:isolate;
  display:flex;
  align-items:center;
  border-top:1px solid rgba(200,146,69,.50);
  border-bottom:1px solid rgba(200,146,69,.58);
  background:#050708;
}
.showcase-image{
  position:absolute;
  inset:-4%;
  z-index:-4;
  background:
    url("assets/luxury-home-hero.jpg") 50% 56%/cover no-repeat;
  transform:scale(1.035);
  transition:transform 8s cubic-bezier(.2,.6,.25,1);
}
.architectural-showcase:hover .showcase-image{
  transform:scale(1.07);
}
.showcase-shade{
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    linear-gradient(90deg,
      rgba(3,5,6,.94) 0%,
      rgba(3,5,6,.82) 24%,
      rgba(3,5,6,.40) 52%,
      rgba(3,5,6,.10) 76%,
      rgba(3,5,6,.22) 100%),
    linear-gradient(0deg,rgba(3,5,6,.40),transparent 50%);
}
.showcase-frame{
  position:absolute;
  z-index:-1;
  top:34px;
  right:4.4%;
  bottom:34px;
  width:38%;
  border-top:1px solid rgba(216,168,91,.68);
  border-right:1px solid rgba(216,168,91,.68);
  pointer-events:none;
}
.showcase-frame::before{
  content:"";
  position:absolute;
  right:-1px;
  top:-1px;
  width:74px;
  height:74px;
  border-left:1px solid rgba(216,168,91,.68);
  border-bottom:1px solid rgba(216,168,91,.68);
  transform:translate(1px,-1px);
}
.showcase-content{
  width:min(88%,1320px);
  margin:0 auto;
  padding:90px 0 92px;
}
.showcase-content > *{
  max-width:520px;
}
.showcase-kicker{
  color:#d2a158;
  font-size:11px;
  line-height:1;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.22em;
  margin-bottom:20px;
}
.showcase-content h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(64px,6vw,92px);
  line-height:.88;
  letter-spacing:-.045em;
  color:#f6f3ec;
  text-shadow:0 12px 40px rgba(0,0,0,.38);
}
.showcase-content h2 span{
  color:#d4a35b;
}
.showcase-rule{
  width:60px;
  height:2px;
  margin:27px 0 18px;
  background:#c89245;
}
.showcase-content p{
  margin:0;
  color:#e4dfd6;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px;
  line-height:1.5;
  max-width:420px;
}
.showcase-signature{
  position:absolute;
  right:4.4%;
  bottom:45px;
  display:flex;
  align-items:center;
  gap:13px;
  color:#eee9df;
  font-size:10px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.18em;
}
.showcase-signature span{
  width:58px;
  height:1px;
  background:#c89245;
}
.showcase-signature strong{
  font-weight:700;
}

@media(min-width:1500px){
  .architectural-showcase{
    min-height:620px;
  }
  .showcase-content{
    width:min(89%,1480px);
    padding:112px 0 115px;
  }
  .showcase-content h2{
    font-size:104px;
  }
  .showcase-content p{
    font-size:21px;
  }
}
@media(max-width:900px){
  .architectural-showcase{
    min-height:500px;
    align-items:flex-end;
  }
  .showcase-image{
    inset:0;
    background-position:60% center;
    transform:none;
  }
  .architectural-showcase:hover .showcase-image{
    transform:none;
  }
  .showcase-shade{
    background:
      linear-gradient(0deg,
        rgba(3,5,6,.94) 0%,
        rgba(3,5,6,.70) 43%,
        rgba(3,5,6,.18) 78%,
        rgba(3,5,6,.12) 100%);
  }
  .showcase-frame{
    top:25px;
    right:5%;
    bottom:auto;
    height:185px;
    width:55%;
    border-bottom:0;
  }
  .showcase-content{
    width:min(88%,620px);
    padding:180px 0 58px;
  }
  .showcase-content h2{
    font-size:clamp(58px,16vw,82px);
  }
  .showcase-content p{
    max-width:380px;
    font-size:18px;
  }
  .showcase-signature{
    display:none;
  }
}
@media(max-width:540px){
  .architectural-showcase{
    min-height:450px;
  }
  .showcase-content{
    padding-top:160px;
    padding-bottom:48px;
  }
  .showcase-content h2{
    font-size:clamp(52px,16vw,70px);
  }
  .showcase-kicker{
    font-size:9px;
  }
}
@media(prefers-reduced-motion:reduce){
  .showcase-image{
    transition:none !important;
  }
}


/* ==========================================================
   PHASE 2.3 — THE PIERCE EXPERIENCE
   ========================================================== */
.pierce-experience{
  position:relative;
  overflow:hidden;
  padding:94px 0 84px;
  background:
    radial-gradient(circle at 88% 14%,rgba(200,146,69,.055),transparent 24%),
    linear-gradient(140deg,#090c0e 0%,#060809 58%,#080a0b 100%);
  border-bottom:1px solid rgba(200,146,69,.48);
}
.pierce-experience::before{
  content:"";
  position:absolute;
  left:-180px;
  bottom:-290px;
  width:560px;
  height:560px;
  border:1px solid rgba(200,146,69,.06);
  transform:rotate(35deg);
  pointer-events:none;
}
.experience-inner{
  position:relative;
  z-index:2;
  width:min(88%,1320px);
  margin:0 auto;
}
.experience-heading{
  display:grid;
  grid-template-columns:.7fr 1.1fr;
  column-gap:68px;
  align-items:end;
  margin-bottom:52px;
}
.experience-kicker{
  grid-column:1;
  align-self:start;
  margin-top:8px;
}
.experience-heading h2{
  grid-column:1;
  margin:20px 0 0;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(48px,4vw,68px);
  line-height:.96;
  letter-spacing:-.035em;
  color:#f5f2eb;
}
.experience-heading h2 span{
  color:#d3a259;
}
.experience-heading > p{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:end;
  max-width:520px;
  margin:0 0 4px;
  color:#aaa69f;
  font-size:13px;
  line-height:1.75;
}
.experience-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(200,146,69,.46);
  border-bottom:1px solid rgba(200,146,69,.28);
}
.experience-step{
  position:relative;
  min-height:295px;
  padding:31px 27px 34px;
  border-right:1px solid rgba(200,146,69,.20);
  transition:background .28s ease,transform .28s ease;
}
.experience-step:first-child{
  padding-left:7px;
}
.experience-step:last-child{
  padding-right:7px;
  border-right:0;
}
.experience-step:hover{
  transform:translateY(-3px);
  background:linear-gradient(to bottom,rgba(200,146,69,.06),rgba(200,146,69,0));
}
.step-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:36px;
  margin-bottom:29px;
}
.step-number{
  color:#c89245;
  font-family:Georgia,"Times New Roman",serif;
  font-size:14px;
  letter-spacing:.16em;
}
.step-arrow{
  color:#b67e34;
  font-size:21px;
  font-weight:300;
}
.final-arrow{
  font-size:11px;
}
.experience-step h3{
  margin:0 0 16px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:25px;
  line-height:1.05;
  font-weight:400;
  color:#f5f2eb;
}
.experience-step p{
  margin:0;
  color:#aaa69f;
  font-size:12px;
  line-height:1.72;
}
.experience-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-top:34px;
}
.experience-footer span{
  width:54px;
  height:1px;
  background:#c89245;
}
.experience-footer p{
  margin:0;
  color:#c8c3ba;
  font-size:9px;
  font-weight:800;
  line-height:1;
  letter-spacing:.20em;
  text-transform:uppercase;
}

@media(min-width:1500px){
  .pierce-experience{
    padding:108px 0 96px;
  }
  .experience-inner{
    width:min(89%,1480px);
  }
  .experience-heading{
    column-gap:85px;
    margin-bottom:60px;
  }
  .experience-heading h2{
    font-size:74px;
  }
  .experience-heading > p{
    max-width:580px;
    font-size:14px;
  }
  .experience-step{
    min-height:320px;
    padding-top:38px;
  }
  .experience-step h3{
    font-size:28px;
  }
  .experience-step p{
    font-size:13px;
  }
}
@media(max-width:1050px){
  .experience-heading{
    grid-template-columns:1fr;
    gap:0;
  }
  .experience-kicker,
  .experience-heading h2,
  .experience-heading > p{
    grid-column:1;
    grid-row:auto;
  }
  .experience-heading > p{
    max-width:650px;
    margin-top:24px;
  }
  .experience-steps{
    grid-template-columns:repeat(2,1fr);
  }
  .experience-step:nth-child(2){
    border-right:0;
  }
  .experience-step:nth-child(1),
  .experience-step:nth-child(2){
    border-bottom:1px solid rgba(200,146,69,.20);
  }
}
@media(max-width:700px){
  .pierce-experience{
    padding:66px 0 60px;
  }
  .experience-inner{
    width:min(88%,620px);
  }
  .experience-heading{
    margin-bottom:34px;
  }
  .experience-heading h2{
    font-size:clamp(44px,12vw,58px);
  }
  .experience-heading > p{
    font-size:13px;
    line-height:1.7;
  }
  .experience-steps{
    grid-template-columns:1fr;
    border-bottom:0;
  }
  .experience-step,
  .experience-step:first-child,
  .experience-step:last-child{
    min-height:0;
    padding:28px 0 31px;
    border-right:0;
    border-bottom:1px solid rgba(200,146,69,.20);
  }
  .experience-step:nth-child(2){
    border-right:0;
  }
  .step-top{
    margin-bottom:18px;
  }
  .step-arrow{
    transform:rotate(90deg);
  }
  .final-arrow{
    transform:none;
  }
  .experience-step h3{
    font-size:25px;
  }
  .experience-footer{
    margin-top:28px;
  }
  .experience-footer span{
    width:28px;
  }
  .experience-footer p{
    font-size:8px;
    letter-spacing:.16em;
  }
}


/* ==========================================================
   PHASE 2.4 — REFINED CTA & FOOTER
   ========================================================== */

/* CTA */
.refined-cta{
  position:relative;
  min-height:340px;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  border-top:1px solid rgba(200,146,69,.62);
  border-bottom:1px solid rgba(200,146,69,.52);
  background:
    url("assets/luxury-home-hero.jpg") 50% 66%/cover no-repeat;
}
.refined-cta-shade{
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,
      rgba(4,6,7,.95) 0%,
      rgba(4,6,7,.87) 35%,
      rgba(4,6,7,.58) 64%,
      rgba(4,6,7,.72) 100%),
    linear-gradient(0deg,rgba(4,6,7,.28),rgba(4,6,7,.12));
}
.refined-cta-inner{
  width:min(88%,1320px);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:80px;
  align-items:center;
}
.refined-cta-copy h2{
  margin:15px 0 22px;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(56px,5vw,82px);
  line-height:.92;
  letter-spacing:-.04em;
  color:#f6f3ec;
}
.refined-cta-copy h2 span{
  color:#d3a159;
}
.refined-cta-copy p{
  max-width:600px;
  margin:0;
  color:#d7d2ca;
  font-size:14px;
  line-height:1.75;
}
.refined-cta-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:20px;
  padding-left:34px;
  border-left:1px solid rgba(200,146,69,.45);
}
.refined-primary{
  min-width:230px;
  height:50px;
  font-size:11px;
}
.refined-phone{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.refined-phone span{
  color:#9f9a92;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.refined-phone strong{
  color:#f1eee8;
  font-size:18px;
  letter-spacing:.05em;
  font-weight:500;
}

/* Footer */
.refined-footer{
  padding:52px 0 0;
  background:
    radial-gradient(circle at 12% 0%,rgba(200,146,69,.05),transparent 20%),
    #040607;
}
.refined-footer-inner{
  width:min(88%,1320px);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.6fr .55fr .85fr;
  gap:72px;
  align-items:start;
}
.footer-brand-block{
  max-width:500px;
}
.footer-brand{
  display:block;
  width:330px;
  max-width:100%;
  margin-bottom:20px;
}
.footer-brand img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:left center;
}
.footer-brand-block p{
  max-width:470px;
  margin:0 0 20px;
  color:#8f8b84;
  font-size:12px;
  line-height:1.75;
}
.footer-tagline{
  color:#d9d4ca;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
}
.footer-tagline span{
  color:#d0a057;
}
.refined-footer .footer-title{
  color:#c89245;
  font-size:10px;
  letter-spacing:.17em;
  text-transform:uppercase;
  font-weight:800;
  margin-bottom:15px;
}
.refined-footer .footer-links{
  display:grid;
  gap:9px;
  color:#c4c0b8;
  font-size:12px;
}
.refined-footer .footer-links a{
  transition:color .2s ease,transform .2s ease;
}
.refined-footer .footer-links a:hover{
  color:#d6a55c;
  transform:translateX(2px);
}
.refined-footer-bottom{
  width:min(88%,1320px);
  margin:40px auto 0;
  padding:19px 0 22px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#6f6c67;
  font-size:9px;
  letter-spacing:.06em;
  text-transform:uppercase;
}

@media(min-width:1500px){
  .refined-cta{
    min-height:390px;
  }
  .refined-cta-inner,
  .refined-footer-inner,
  .refined-footer-bottom{
    width:min(89%,1480px);
  }
  .refined-cta-copy h2{
    font-size:90px;
  }
  .refined-cta-copy p{
    font-size:15px;
  }
  .footer-brand{
    width:380px;
  }
  .footer-brand-block p{
    font-size:13px;
  }
}
@media(max-width:1000px){
  .refined-cta-inner{
    grid-template-columns:1fr;
    gap:36px;
    padding:65px 0;
  }
  .refined-cta-actions{
    padding-left:0;
    padding-top:25px;
    border-left:0;
    border-top:1px solid rgba(200,146,69,.38);
  }
  .refined-footer-inner{
    grid-template-columns:1.3fr .7fr;
  }
  .footer-contact-block{
    grid-column:1/-1;
    padding-top:5px;
  }
}
@media(max-width:700px){
  .refined-cta{
    min-height:0;
    background-position:62% center;
  }
  .refined-cta-inner{
    width:min(88%,620px);
    padding:58px 0 60px;
  }
  .refined-cta-copy h2{
    font-size:clamp(48px,13vw,66px);
  }
  .refined-cta-copy p{
    font-size:13px;
  }
  .refined-primary{
    width:100%;
  }
  .refined-footer{
    padding-top:42px;
  }
  .refined-footer-inner{
    width:min(88%,620px);
    grid-template-columns:1fr;
    gap:34px;
  }
  .footer-contact-block{
    grid-column:auto;
  }
  .footer-brand{
    width:285px;
  }
  .refined-footer-bottom{
    width:min(88%,620px);
    margin-top:30px;
    flex-direction:column;
    gap:5px;
  }
}


/* ==========================================================
   PHASE 2.5 — INTERACTION & MOTION
   Restrained premium motion only
   ========================================================== */

/* Top scroll progress accent */
.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  z-index:9999;
  width:0;
  height:2px;
  background:linear-gradient(90deg,#b77d31,#e0b56d);
  box-shadow:0 0 10px rgba(200,146,69,.28);
  pointer-events:none;
}

/* Hero entrance */
.hero-copy-motion{
  animation:pcbHeroCopyIn .85s cubic-bezier(.2,.65,.25,1) .08s both;
}
.hero-photo-motion{
  animation:pcbHeroImageIn 1.5s cubic-bezier(.2,.65,.25,1) both;
}
@keyframes pcbHeroCopyIn{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes pcbHeroImageIn{
  from{opacity:.72;transform:scale(1.045)}
  to{opacity:1;transform:scale(1)}
}

/* Shared reveal system */
.reveal-section{
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .75s cubic-bezier(.2,.65,.25,1),
    transform .75s cubic-bezier(.2,.65,.25,1);
}
.reveal-section.is-visible{
  opacity:1;
  transform:none;
}
.reveal-section .reveal-item{
  opacity:0;
  transform:translateY(18px);
  transition:
    opacity .55s cubic-bezier(.2,.65,.25,1),
    transform .55s cubic-bezier(.2,.65,.25,1);
}
.reveal-section.is-visible .reveal-item{
  opacity:1;
  transform:none;
}
.reveal-section.is-visible .reveal-item:nth-child(1){transition-delay:.06s}
.reveal-section.is-visible .reveal-item:nth-child(2){transition-delay:.13s}
.reveal-section.is-visible .reveal-item:nth-child(3){transition-delay:.20s}
.reveal-section.is-visible .reveal-item:nth-child(4){transition-delay:.27s}

/* Navigation polish */
.pcb-header{
  transition:
    background .28s ease,
    backdrop-filter .28s ease,
    border-color .28s ease;
}
.pcb-header.is-scrolled{
  position:fixed;
  background:rgba(4,6,7,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(200,146,69,.24);
}
.pcb-nav a{
  transition:color .22s ease;
}
.pcb-phone{
  transition:
    background .22s ease,
    color .22s ease,
    transform .22s ease,
    box-shadow .22s ease;
}
.pcb-phone:hover{
  background:rgba(200,146,69,.10);
  color:#efd19d;
  transform:translateY(-1px);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}

/* Buttons: quiet premium response */
.outline-btn,
.gold-btn,
.refined-primary{
  position:relative;
  overflow:hidden;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    filter .22s ease,
    background .22s ease,
    color .22s ease;
}
.outline-btn::before,
.gold-btn::before{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-110%);
  background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.14) 50%,transparent 75%);
  transition:transform .55s ease;
  pointer-events:none;
}
.outline-btn:hover::before,
.gold-btn:hover::before{
  transform:translateX(110%);
}
.gold-btn:hover,
.refined-primary:hover{
  box-shadow:0 12px 30px rgba(200,146,69,.18);
  filter:brightness(1.05);
}
.outline-btn:hover{
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}

/* Value strip */
.value-item{
  transition:
    background .25s ease,
    transform .25s ease,
    border-color .25s ease;
}
.value-item:hover{
  background:linear-gradient(to bottom,rgba(200,146,69,.055),rgba(200,146,69,0));
  transform:translateY(-2px);
}
.value-icon.image-icon img{
  transition:
    transform .32s cubic-bezier(.2,.65,.25,1),
    filter .32s ease;
}
.value-item:hover .value-icon.image-icon img{
  transform:scale(1.07);
  filter:drop-shadow(0 5px 10px rgba(200,146,69,.15));
}

/* Featured project cards */
.project-tile{
  transition:
    transform .32s cubic-bezier(.2,.65,.25,1),
    box-shadow .32s ease,
    border-color .32s ease;
}
.project-tile:hover{
  transform:translateY(-4px);
  border-color:rgba(224,181,109,.78);
  box-shadow:0 18px 42px rgba(0,0,0,.27);
}
.project-tile .tile-image{
  transition:transform 1.1s cubic-bezier(.2,.65,.25,1),filter .5s ease;
}
.project-tile:hover .tile-image{
  transform:scale(1.045);
  filter:brightness(1.05);
}
.tile-caption span{
  transition:transform .25s ease,color .25s ease;
}
.project-tile:hover .tile-caption span{
  transform:translateX(4px);
  color:#edc37e;
}

/* Editorial sections */
.built-principle,
.experience-step{
  transition:
    background .28s ease,
    transform .28s ease,
    border-color .28s ease;
}
.built-principle:hover,
.experience-step:hover{
  border-color:rgba(200,146,69,.42);
}

/* Showcase subtle parallax controlled by JS */
.showcase-image{
  will-change:transform;
}
.architectural-showcase.motion-active .showcase-image{
  transition:transform .18s linear;
}

/* CTA and footer polish */
.refined-phone{
  transition:transform .2s ease;
}
.refined-phone:hover{
  transform:translateX(3px);
}
.refined-phone strong{
  transition:color .2s ease;
}
.refined-phone:hover strong{
  color:#d8aa63;
}
.footer-brand img{
  transition:filter .3s ease,transform .3s ease;
}
.footer-brand:hover img{
  transform:translateY(-2px);
  filter:drop-shadow(0 10px 26px rgba(200,146,69,.12));
}

/* Keyboard focus */
a:focus-visible,
button:focus-visible{
  outline:2px solid #d6a55c;
  outline-offset:4px;
}

/* Accessibility: eliminate nonessential animation */
@media(prefers-reduced-motion:reduce){
  .hero-copy-motion,
  .hero-photo-motion{
    animation:none!important;
  }
  .reveal-section,
  .reveal-section .reveal-item{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  .project-tile,
  .tile-image,
  .value-item,
  .value-icon.image-icon img,
  .outline-btn,
  .gold-btn,
  .pcb-phone,
  .footer-brand img{
    transition:none!important;
  }
  .showcase-image{
    transform:none!important;
  }
}


/* ==========================================================
   PHASE 2.6 — MOBILE / TABLET REFINEMENT
   Desktop layout intentionally preserved
   ========================================================== */

/* Tablet */
@media (max-width: 1024px){

  body{
    -webkit-text-size-adjust:100%;
  }

  .pcb-header{
    min-height:96px;
    height:auto;
    padding:12px 5%;
    grid-template-columns:1fr auto;
    align-items:start;
    background:linear-gradient(to bottom,rgba(4,6,7,.88),rgba(4,6,7,.42),transparent);
  }

  .pcb-brand{
    width:min(300px,72vw);
    height:auto;
  }

  .pcb-brand img{
    width:100%;
    height:auto;
  }

  .menu-btn{
    min-width:48px;
    min-height:44px;
    margin-top:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(200,146,69,.60);
    color:#e4b56d;
    font-size:10px;
    letter-spacing:.13em;
    text-transform:uppercase;
    cursor:pointer;
  }

  .pcb-nav{
    top:94px;
    padding:18px 5% 22px;
    gap:0;
    background:rgba(5,7,8,.98);
    backdrop-filter:blur(12px);
    border-top:1px solid rgba(200,146,69,.16);
    border-bottom:1px solid rgba(200,146,69,.48);
    box-shadow:0 18px 35px rgba(0,0,0,.28);
  }

  .pcb-nav a{
    width:100%;
    min-height:48px;
    display:flex;
    align-items:center;
    font-size:12px;
    border-bottom:1px solid rgba(255,255,255,.06);
  }

  .pcb-nav a:last-child{
    border-bottom:0;
  }

  .concept-hero{
    height:auto;
    min-height:0;
    max-height:none;
    display:flex;
    flex-direction:column;
    border-bottom:1px solid rgba(200,146,69,.55);
  }

  .hero-copy{
    position:relative;
    left:auto;
    top:auto;
    width:100%;
    max-width:none;
    order:1;
    padding:150px 6vw 56px;
    background:
      radial-gradient(circle at 8% 15%,rgba(200,146,69,.07),transparent 25%),
      #050708;
  }

  .hero-copy h1{
    max-width:690px;
    font-size:clamp(48px,9vw,76px);
    line-height:.96;
  }

  .hero-copy p{
    max-width:610px;
    font-size:14px;
    line-height:1.68;
  }

  .hero-photo{
    position:relative;
    inset:auto;
    order:2;
    width:100%;
    height:54vw;
    min-height:430px;
    max-height:590px;
    background-position:center 56%;
  }

  .hero-wedge{
    display:none;
  }

  .hero-buttons{
    gap:12px;
  }

  .outline-btn,
  .gold-btn{
    min-height:48px;
  }

  .value-inner{
    width:min(90%,700px);
    grid-template-columns:1fr;
    height:auto;
    padding:9px 0;
  }

  .value-item,
  .value-item:first-child,
  .value-item:last-child{
    min-height:88px;
    padding:14px 0;
    grid-template-columns:68px 1fr;
    border-right:0;
    border-bottom:1px solid rgba(200,146,69,.25);
  }

  .value-item:last-child{
    border-bottom:0;
  }

  .value-icon.image-icon{
    width:62px;
    height:62px;
  }

  .value-item h3{
    font-size:13px;
  }

  .value-item p{
    font-size:12px;
  }

  .featured{
    padding:56px 0;
  }

  .featured-inner{
    width:min(90%,760px);
    grid-template-columns:1fr;
    gap:30px;
  }

  .featured-copy{
    max-width:560px;
  }

  .featured-copy h2{
    font-size:clamp(42px,8vw,58px);
    margin-bottom:20px;
  }

  .project-layout{
    height:auto;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
    gap:12px;
  }

  .project-main{
    grid-column:1 / -1;
    grid-row:auto;
    height:420px;
  }

  .project-side{
    height:260px;
  }

  .tile-caption h3{
    font-size:13px;
  }

  .tile-caption p{
    font-size:9px;
  }

  .built-around-you{
    padding:72px 0 74px;
  }

  .built-around-inner{
    width:min(90%,760px);
    grid-template-columns:1fr;
    gap:42px;
  }

  .built-around-intro h2{
    font-size:clamp(48px,9vw,66px);
  }

  .built-principles{
    grid-template-columns:1fr;
    border-bottom:0;
  }

  .built-principle,
  .built-principle:first-child,
  .built-principle:last-child{
    min-height:0;
    padding:29px 0 31px;
    border-right:0;
    border-bottom:1px solid rgba(200,146,69,.22);
  }

  .built-principle h3{
    min-height:0;
  }

  .architectural-showcase{
    min-height:530px;
  }

  .showcase-content{
    width:min(90%,760px);
  }

  .showcase-frame{
    width:50%;
  }

  .pierce-experience{
    padding:76px 0 68px;
  }

  .experience-inner{
    width:min(90%,760px);
  }

  .experience-heading{
    grid-template-columns:1fr;
    margin-bottom:40px;
  }

  .experience-kicker,
  .experience-heading h2,
  .experience-heading > p{
    grid-column:1;
    grid-row:auto;
  }

  .experience-heading > p{
    max-width:650px;
    margin-top:22px;
  }

  .experience-steps{
    grid-template-columns:1fr 1fr;
  }

  .experience-step{
    min-height:250px;
  }

  .refined-cta-inner{
    width:min(90%,760px);
  }

  .refined-footer-inner,
  .refined-footer-bottom{
    width:min(90%,760px);
  }
}

/* Phones */
@media (max-width: 700px){

  .pcb-header{
    min-height:88px;
    padding:10px 5%;
  }

  .pcb-brand{
    width:min(245px,72vw);
  }

  .menu-btn{
    margin-top:7px;
  }

  .pcb-nav{
    top:86px;
  }

  .hero-copy{
    padding:126px 6vw 48px;
  }

  .hero-copy h1{
    font-size:clamp(43px,13vw,63px);
    line-height:.94;
    margin-bottom:18px;
  }

  .short-rule{
    margin:18px 0 13px;
  }

  .hero-copy p{
    font-size:13px;
    line-height:1.65;
    margin-bottom:23px;
  }

  .hero-buttons{
    flex-direction:column;
    width:100%;
  }

  .hero-buttons .outline-btn,
  .hero-buttons .gold-btn{
    width:100%;
    min-width:0;
  }

  .hero-photo{
    height:68vw;
    min-height:330px;
    max-height:430px;
    background-position:58% center;
  }

  .value-inner{
    width:min(88%,520px);
  }

  .value-item,
  .value-item:first-child,
  .value-item:last-child{
    grid-template-columns:62px 1fr;
    gap:17px;
    min-height:82px;
    padding:13px 0;
  }

  .value-icon.image-icon{
    width:56px;
    height:56px;
  }

  .value-item h3{
    font-size:12px;
    line-height:1.2;
  }

  .value-item p{
    font-size:11px;
    line-height:1.45;
  }

  .featured{
    padding:50px 0 54px;
  }

  .featured-inner{
    width:min(88%,560px);
  }

  .section-kicker{
    font-size:9px;
  }

  .featured-copy h2{
    font-size:clamp(39px,12vw,52px);
  }

  .project-button{
    min-height:44px;
  }

  .project-layout{
    grid-template-columns:1fr;
  }

  .project-main,
  .project-side{
    height:270px;
  }

  .tile-caption{
    left:16px;
    right:16px;
    bottom:13px;
  }

  .tile-caption h3{
    font-size:12px;
  }

  .tile-caption p{
    display:none;
  }

  .built-around-you{
    padding:58px 0 62px;
  }

  .built-around-inner{
    width:min(88%,560px);
  }

  .built-around-intro h2{
    font-size:clamp(44px,13vw,58px);
  }

  .built-lead{
    font-size:18px;
  }

  .built-copy{
    font-size:12px;
    line-height:1.68;
  }

  .built-principle h3{
    font-size:22px;
  }

  .built-principle p{
    font-size:12px;
  }

  .architectural-showcase{
    min-height:460px;
  }

  .showcase-image{
    background-position:62% center;
  }

  .showcase-content{
    width:min(88%,560px);
    padding:170px 0 50px;
  }

  .showcase-content h2{
    font-size:clamp(52px,16vw,70px);
  }

  .showcase-content p{
    font-size:17px;
  }

  .showcase-frame{
    top:22px;
    right:6%;
    width:56%;
    height:150px;
  }

  .pierce-experience{
    padding:60px 0 56px;
  }

  .experience-inner{
    width:min(88%,560px);
  }

  .experience-heading h2{
    font-size:clamp(44px,13vw,58px);
  }

  .experience-heading > p{
    font-size:12px;
    line-height:1.7;
  }

  .experience-steps{
    grid-template-columns:1fr;
    border-bottom:0;
  }

  .experience-step,
  .experience-step:first-child,
  .experience-step:last-child{
    min-height:0;
    padding:27px 0 30px;
    border-right:0;
    border-bottom:1px solid rgba(200,146,69,.22);
  }

  .experience-step h3{
    font-size:24px;
  }

  .experience-step p{
    font-size:12px;
  }

  .step-top{
    margin-bottom:17px;
  }

  .step-arrow{
    transform:rotate(90deg);
  }

  .final-arrow{
    transform:none;
  }

  .experience-footer{
    gap:10px;
  }

  .experience-footer p{
    text-align:center;
    font-size:7px;
    line-height:1.4;
  }

  .experience-footer span{
    width:24px;
  }

  .refined-cta{
    background-position:62% center;
  }

  .refined-cta-inner{
    width:min(88%,560px);
    padding:54px 0 56px;
    grid-template-columns:1fr;
    gap:30px;
  }

  .refined-cta-copy h2{
    font-size:clamp(46px,13vw,62px);
  }

  .refined-cta-copy p{
    font-size:12px;
    line-height:1.7;
  }

  .refined-cta-actions{
    padding-left:0;
    padding-top:24px;
    border-left:0;
    border-top:1px solid rgba(200,146,69,.40);
    width:100%;
  }

  .refined-primary{
    width:100%;
    min-height:48px;
  }

  .refined-phone{
    width:100%;
  }

  .refined-phone strong{
    font-size:20px;
  }

  .refined-footer{
    padding-top:40px;
  }

  .refined-footer-inner{
    width:min(88%,560px);
    grid-template-columns:1fr;
    gap:32px;
  }

  .footer-brand{
    width:min(290px,100%);
  }

  .footer-brand-block p{
    font-size:11px;
    line-height:1.7;
  }

  .footer-tagline{
    font-size:15px;
  }

  .refined-footer .footer-links{
    gap:4px;
  }

  .refined-footer .footer-links a,
  .refined-footer .footer-links span{
    min-height:36px;
    display:flex;
    align-items:center;
  }

  .refined-footer-bottom{
    width:min(88%,560px);
    flex-direction:column;
    gap:5px;
    padding-bottom:25px;
  }

  /* Keep motion restrained on smaller touch devices */
  .project-tile:hover,
  .value-item:hover,
  .built-principle:hover,
  .experience-step:hover{
    transform:none;
  }
}

/* Very small phones */
@media (max-width: 390px){
  .pcb-brand{
    width:215px;
  }

  .hero-copy{
    padding-top:116px;
  }

  .hero-copy h1{
    font-size:40px;
  }

  .hero-photo{
    min-height:300px;
  }

  .value-item,
  .value-item:first-child,
  .value-item:last-child{
    grid-template-columns:55px 1fr;
  }

  .value-icon.image-icon{
    width:50px;
    height:50px;
  }

  .featured-copy h2,
  .built-around-intro h2,
  .experience-heading h2,
  .refined-cta-copy h2{
    font-size:40px;
  }

  .showcase-content h2{
    font-size:50px;
  }
}

@media(max-width:1024px){
  body.mobile-nav-open{
    overflow:hidden;
  }
}


/* ==========================================================
   PHASE 2.7 — FINAL HOMEPAGE POLISH
   QA, consistency, accessibility, responsive edge cases
   ========================================================== */

:root{
  --pcb-gold:#c89245;
  --pcb-gold-light:#d9aa5e;
  --pcb-deep:#050708;
}

/* Prevent accidental horizontal overflow from decorative geometry. */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

/* Consistent text rendering and selection. */
body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
::selection{
  background:rgba(200,146,69,.30);
  color:#fff;
}

/* Keep section edges visually consistent. */
.value-bar,
.featured,
.built-around-you,
.architectural-showcase,
.pierce-experience,
.refined-cta,
.refined-footer{
  position:relative;
}

/* Consistent CTA/button geometry across homepage. */
.outline-btn,
.gold-btn,
.refined-primary,
.pcb-phone,
.menu-btn{
  border-radius:0;
}
.outline-btn,
.gold-btn,
.refined-primary{
  min-height:44px;
}

/* Improve active/touch states without changing the desktop aesthetic. */
@media(hover:hover){
  .outline-btn:hover,
  .gold-btn:hover,
  .refined-primary:hover,
  .pcb-phone:hover{
    will-change:transform;
  }
}
.outline-btn:active,
.gold-btn:active,
.refined-primary:active,
.pcb-phone:active{
  transform:translateY(0);
}

/* Ensure icon art stays crisp and never shows a background box. */
.value-icon.image-icon{
  background:transparent!important;
  border:0!important;
}
.value-icon.image-icon img{
  background:transparent!important;
  mix-blend-mode:normal!important;
}

/* Slightly unify editorial text widths. */
.built-copy,
.experience-heading > p,
.refined-cta-copy p{
  text-wrap:pretty;
}
.hero-copy h1,
.built-around-intro h2,
.experience-heading h2,
.refined-cta-copy h2,
.showcase-content h2{
  text-wrap:balance;
}

/* Prevent long email/domain strings from creating overflow. */
.footer-links,
.footer-brand-block,
.refined-phone{
  min-width:0;
}
.footer-links a,
.footer-links span{
  overflow-wrap:anywhere;
}

/* Accessible skip link — appears only on keyboard focus. */
.skip-link{
  position:fixed;
  left:16px;
  top:12px;
  z-index:10000;
  transform:translateY(-160%);
  padding:10px 14px;
  background:#0a0d0f;
  color:#fff;
  border:1px solid var(--pcb-gold);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:transform .18s ease;
}
.skip-link:focus{
  transform:translateY(0);
}

/* Tablet edge-case: keep project captions readable. */
@media(min-width:701px) and (max-width:1024px){
  .project-side .tile-caption p{
    font-size:8px;
  }
}

/* Landscape phone edge-case. */
@media(max-width:900px) and (max-height:520px) and (orientation:landscape){
  .pcb-header{
    min-height:76px;
  }
  .pcb-brand{
    width:210px;
  }
  .pcb-nav{
    top:74px;
    max-height:calc(100vh - 74px);
    overflow-y:auto;
  }
  .hero-copy{
    padding-top:105px;
  }
  .hero-photo{
    min-height:290px;
    height:62vw;
  }
}

/* Ultra-wide screens: stop text and project content from becoming too spread out. */
@media(min-width:1900px){
  .hero-copy{
    max-width:540px;
  }
  .value-inner,
  .featured-inner,
  .built-around-inner,
  .experience-inner,
  .refined-cta-inner,
  .refined-footer-inner,
  .refined-footer-bottom{
    max-width:1520px;
  }
}

/* Print fallback: removes dark backgrounds for legibility. */
@media print{
  body{
    background:#fff!important;
    color:#111!important;
  }
  .pcb-header,
  .scroll-progress,
  .hero-photo,
  .hero-wedge,
  .showcase-image,
  .showcase-shade,
  .showcase-frame{
    display:none!important;
  }
  .concept-hero,
  .value-bar,
  .featured,
  .built-around-you,
  .architectural-showcase,
  .pierce-experience,
  .refined-cta,
  .refined-footer{
    background:#fff!important;
    color:#111!important;
    border-color:#ccc!important;
  }
}


/* ==========================================================
   STEP 3 / PHASE 3.1 — ABOUT HERO
   ========================================================== */

.about-page{
  background:#050708;
}

.about-hero{
  position:relative;
  isolation:isolate;
  min-height:760px;
  overflow:hidden;
  display:flex;
  align-items:center;
  border-bottom:1px solid rgba(200,146,69,.58);
  background:#050708;
}

.about-hero-photo{
  position:absolute;
  z-index:-4;
  inset:0 0 0 38%;
  background:
    url("assets/luxury-home-hero.jpg") 54% center/cover no-repeat;
  transform:scale(1.02);
}

.about-hero-overlay{
  position:absolute;
  z-index:-3;
  inset:0;
  background:
    linear-gradient(90deg,
      #050708 0%,
      #050708 34%,
      rgba(5,7,8,.95) 42%,
      rgba(5,7,8,.62) 58%,
      rgba(5,7,8,.16) 78%,
      rgba(5,7,8,.18) 100%),
    linear-gradient(0deg,rgba(5,7,8,.32),transparent 45%);
}

.about-hero-geometry{
  position:absolute;
  z-index:-2;
  top:0;
  left:29%;
  width:35%;
  height:100%;
  background:linear-gradient(135deg,rgba(9,12,14,.96),rgba(5,7,8,.72));
  clip-path:polygon(0 0,74% 0,53% 31%,77% 100%,0 100%);
  border-left:1px solid rgba(200,146,69,.10);
}

.about-hero-inner{
  position:relative;
  width:min(88%,1320px);
  margin:0 auto;
  padding:205px 0 110px;
}

.about-hero-copy{
  position:relative;
  z-index:2;
  width:45%;
  max-width:590px;
}

.about-kicker{
  margin-bottom:22px;
}

.about-hero h1{
  margin:0;
  color:#f6f3ec;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(58px,5vw,82px);
  line-height:.91;
  letter-spacing:-.045em;
  text-wrap:balance;
}

.about-hero h1 span{
  color:#d3a259;
}

.about-hero-rule{
  width:62px;
  height:2px;
  margin:28px 0 22px;
  background:#c89245;
}

.about-hero-lead{
  max-width:530px;
  margin:0 0 15px;
  color:#e9e4dc;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
  line-height:1.52;
}

.about-hero-body{
  max-width:520px;
  margin:0;
  color:#aaa69f;
  font-size:13px;
  line-height:1.75;
}

.about-hero-actions{
  display:flex;
  align-items:center;
  gap:27px;
  margin-top:30px;
}

.about-text-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  color:#ded9d0;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:color .22s ease,gap .22s ease;
}

.about-text-link span{
  color:#c89245;
  font-size:17px;
}

.about-text-link:hover{
  color:#e0b56d;
  gap:14px;
}

.about-hero-signature{
  position:absolute;
  right:0;
  bottom:42px;
  display:flex;
  align-items:center;
  gap:14px;
  color:#d9d4ca;
  font-size:9px;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.about-hero-signature i{
  width:52px;
  height:1px;
  background:#c89245;
}

.about-scroll-cue{
  position:absolute;
  right:3.4%;
  bottom:43%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  color:#d4a35b;
  font-size:8px;
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
  writing-mode:vertical-rl;
}

.about-scroll-cue i{
  width:1px;
  height:58px;
  background:linear-gradient(to bottom,#c89245,transparent);
}

/* Temporary continuation marker for the phased build.
   Intentionally subtle so Phase 3.1 feels complete by itself. */
.about-next-phase{
  padding:55px 0 58px;
  background:
    radial-gradient(circle at 12% 0%,rgba(200,146,69,.055),transparent 22%),
    #07090a;
  border-bottom:1px solid rgba(200,146,69,.26);
}

.about-next-inner{
  width:min(88%,1320px);
  margin:0 auto;
  display:grid;
  grid-template-columns:100px 1fr 1fr;
  gap:30px;
  align-items:center;
}

.about-next-inner > span{
  color:#c89245;
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.about-next-inner h2{
  margin:0;
  color:#eeeae3;
  font-family:Georgia,"Times New Roman",serif;
  font-size:32px;
  font-weight:400;
}

.about-next-inner p{
  margin:0;
  max-width:460px;
  color:#8f8b84;
  font-size:11px;
  line-height:1.65;
}

/* About hero entrance */
.about-hero-copy{
  animation:pcbAboutHeroIn .85s cubic-bezier(.2,.65,.25,1) .08s both;
}

.about-hero-photo{
  animation:pcbAboutPhotoIn 1.5s cubic-bezier(.2,.65,.25,1) both;
}

@keyframes pcbAboutHeroIn{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes pcbAboutPhotoIn{
  from{opacity:.72;transform:scale(1.055)}
  to{opacity:1;transform:scale(1.02)}
}

@media(min-width:1500px){
  .about-hero{
    min-height:820px;
  }
  .about-hero-inner,
  .about-next-inner{
    width:min(89%,1480px);
  }
  .about-hero-inner{
    padding-top:225px;
  }
  .about-hero-copy{
    max-width:650px;
  }
  .about-hero h1{
    font-size:90px;
  }
  .about-hero-lead{
    font-size:20px;
  }
  .about-hero-body{
    font-size:14px;
  }
}

@media(max-width:1024px){
  .about-hero{
    min-height:0;
    display:block;
  }

  .about-hero-photo{
    position:relative;
    inset:auto;
    height:52vw;
    min-height:420px;
    max-height:570px;
    background-position:center 56%;
    animation:none;
    transform:none;
  }

  .about-hero-overlay,
  .about-hero-geometry{
    display:none;
  }

  .about-hero-inner{
    width:100%;
    padding:0;
  }

  .about-hero-copy{
    width:100%;
    max-width:none;
    padding:68px 6vw 62px;
    background:
      radial-gradient(circle at 8% 12%,rgba(200,146,69,.07),transparent 24%),
      #050708;
  }

  .about-hero h1{
    max-width:720px;
    font-size:clamp(52px,9vw,76px);
  }

  .about-hero-lead,
  .about-hero-body{
    max-width:650px;
  }

  .about-hero-signature{
    display:none;
  }

  .about-scroll-cue{
    display:none;
  }

  .about-next-inner{
    width:min(90%,760px);
    grid-template-columns:80px 1fr;
  }

  .about-next-inner p{
    grid-column:2;
  }
}

@media(max-width:700px){
  .about-hero-photo{
    height:68vw;
    min-height:330px;
    max-height:430px;
    background-position:60% center;
  }

  .about-hero-copy{
    padding:55px 6vw 56px;
  }

  .about-hero h1{
    font-size:clamp(46px,13vw,62px);
  }

  .about-hero-lead{
    font-size:17px;
  }

  .about-hero-body{
    font-size:12px;
    line-height:1.7;
  }

  .about-hero-actions{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }

  .about-hero-actions .gold-btn{
    width:100%;
  }

  .about-text-link{
    justify-content:center;
    width:100%;
    border:1px solid rgba(200,146,69,.40);
    padding:0 16px;
  }

  .about-next-phase{
    padding:42px 0 45px;
  }

  .about-next-inner{
    width:min(88%,560px);
    grid-template-columns:1fr;
    gap:10px;
  }

  .about-next-inner p{
    grid-column:1;
  }

  .about-next-inner h2{
    font-size:29px;
  }
}

@media(prefers-reduced-motion:reduce){
  .about-hero-copy,
  .about-hero-photo{
    animation:none!important;
  }
}


/* ==========================================================
   STEP 3 / PHASE 3.2 — MEET THE BUILDER
   ========================================================== */
.meet-builder{
  position:relative;
  overflow:hidden;
  padding:102px 0 0;
  background:
    radial-gradient(circle at 84% 8%,rgba(200,146,69,.055),transparent 24%),
    linear-gradient(140deg,#090c0e 0%,#050708 64%,#080a0b 100%);
  border-bottom:1px solid rgba(200,146,69,.30);
}
.meet-builder::before{
  content:"";
  position:absolute;
  left:-170px;
  top:90px;
  width:480px;
  height:480px;
  border:1px solid rgba(200,146,69,.06);
  transform:rotate(35deg);
  pointer-events:none;
}
.meet-builder-inner{
  position:relative;
  z-index:2;
  width:min(88%,1320px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(330px,.78fr) 1.1fr;
  gap:96px;
  align-items:center;
}
.builder-portrait-wrap{
  position:relative;
  min-height:570px;
}
.builder-portrait{
  position:absolute;
  inset:0 38px 42px 0;
  overflow:hidden;
  background:
    linear-gradient(145deg,rgba(200,146,69,.08),transparent 38%),
    #0d1012;
  border:1px solid rgba(200,146,69,.32);
}
.builder-portrait-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:
    radial-gradient(circle at 50% 35%,rgba(200,146,69,.12),transparent 25%),
    linear-gradient(145deg,#121619,#080b0d);
}
.builder-portrait-placeholder::before{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border:1px solid rgba(200,146,69,.20);
  transform:rotate(45deg);
}
.builder-portrait-placeholder span{
  position:relative;
  z-index:2;
  color:#d2a159;
  font-family:Georgia,"Times New Roman",serif;
  font-size:64px;
  letter-spacing:.08em;
}
.builder-portrait-placeholder small{
  position:relative;
  z-index:2;
  color:#77736c;
  font-size:9px;
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
}
.builder-photo-frame{
  position:absolute;
  top:34px;
  right:0;
  bottom:0;
  width:72%;
  border-right:1px solid rgba(200,146,69,.66);
  border-bottom:1px solid rgba(200,146,69,.66);
  pointer-events:none;
}
.builder-photo-label{
  position:absolute;
  left:25px;
  bottom:17px;
  display:flex;
  align-items:baseline;
  gap:12px;
  padding:9px 14px;
  background:#080a0b;
  border-left:2px solid #c89245;
}
.builder-photo-label span{
  color:#8f8b84;
  font-size:8px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.builder-photo-label strong{
  color:#eee9e1;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  font-weight:400;
}
.builder-story{
  padding:18px 0 62px;
  max-width:650px;
}
.builder-kicker{
  margin-bottom:19px;
}
.builder-story h2{
  margin:0 0 28px;
  color:#f5f2eb;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(50px,4.4vw,70px);
  font-weight:400;
  line-height:.96;
  letter-spacing:-.04em;
}
.builder-story h2 span{
  color:#d3a259;
}
.builder-story > p{
  max-width:590px;
  margin:0 0 15px;
  color:#aaa69f;
  font-size:13px;
  line-height:1.75;
}
.builder-story .builder-lead{
  color:#ece7df;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  line-height:1.5;
  margin-bottom:19px;
}
.builder-quote{
  position:relative;
  max-width:580px;
  margin:29px 0 26px;
  padding:22px 0 4px 31px;
  border-top:1px solid rgba(200,146,69,.30);
}
.builder-quote i{
  position:absolute;
  left:0;
  top:22px;
  width:2px;
  height:48px;
  background:#c89245;
}
.builder-quote blockquote{
  margin:0;
  color:#ddd7cd;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px;
  line-height:1.5;
  font-style:italic;
}
.builder-signature{
  display:flex;
  align-items:baseline;
  gap:13px;
}
.builder-signature strong{
  color:#d2a159;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  font-weight:400;
}
.builder-signature span{
  color:#77736d;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.builder-principles{
  position:relative;
  z-index:2;
  width:min(88%,1320px);
  margin:62px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(200,146,69,.42);
}
.builder-principles > div{
  min-height:172px;
  padding:27px 31px 30px;
  border-right:1px solid rgba(200,146,69,.20);
}
.builder-principles > div:first-child{
  padding-left:0;
}
.builder-principles > div:last-child{
  border-right:0;
  padding-right:0;
}
.builder-principles span{
  display:block;
  margin-bottom:13px;
  color:#c89245;
  font-family:Georgia,"Times New Roman",serif;
  font-size:12px;
  letter-spacing:.14em;
}
.builder-principles strong{
  display:block;
  margin-bottom:9px;
  color:#eeeae3;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  font-weight:400;
}
.builder-principles p{
  max-width:340px;
  margin:0;
  color:#8f8b84;
  font-size:11px;
  line-height:1.65;
}

@media(min-width:1500px){
  .meet-builder{
    padding-top:116px;
  }
  .meet-builder-inner,
  .builder-principles{
    width:min(89%,1480px);
  }
  .meet-builder-inner{
    gap:112px;
  }
  .builder-portrait-wrap{
    min-height:630px;
  }
  .builder-story h2{
    font-size:76px;
  }
  .builder-story > p{
    font-size:14px;
  }
  .builder-story .builder-lead{
    font-size:22px;
  }
  .builder-principles{
    margin-top:72px;
  }
}
@media(max-width:1024px){
  .meet-builder{
    padding-top:76px;
  }
  .meet-builder-inner{
    width:min(90%,760px);
    grid-template-columns:1fr;
    gap:52px;
  }
  .builder-portrait-wrap{
    width:min(100%,610px);
    min-height:600px;
  }
  .builder-story{
    padding-bottom:24px;
  }
  .builder-principles{
    width:min(90%,760px);
    margin-top:40px;
  }
}
@media(max-width:700px){
  .meet-builder{
    padding-top:58px;
  }
  .meet-builder-inner{
    width:min(88%,560px);
    gap:42px;
  }
  .builder-portrait-wrap{
    min-height:460px;
  }
  .builder-portrait{
    inset:0 20px 30px 0;
  }
  .builder-photo-frame{
    top:22px;
    width:76%;
  }
  .builder-photo-label{
    left:14px;
    bottom:10px;
    flex-direction:column;
    gap:2px;
  }
  .builder-story h2{
    font-size:clamp(44px,13vw,58px);
  }
  .builder-story .builder-lead{
    font-size:18px;
  }
  .builder-story > p{
    font-size:12px;
    line-height:1.7;
  }
  .builder-quote blockquote{
    font-size:17px;
  }
  .builder-signature{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
  }
  .builder-principles{
    width:min(88%,560px);
    grid-template-columns:1fr;
    margin-top:32px;
  }
  .builder-principles > div,
  .builder-principles > div:first-child,
  .builder-principles > div:last-child{
    min-height:0;
    padding:25px 0 27px;
    border-right:0;
    border-bottom:1px solid rgba(200,146,69,.20);
  }
}


/* ==========================================================
   STEP 3 / PHASE 3.3 — WHAT WE BELIEVE
   ========================================================== */
.what-we-believe{
  position:relative;
  overflow:hidden;
  padding:100px 0 88px;
  background:
    radial-gradient(circle at 10% 12%,rgba(200,146,69,.055),transparent 24%),
    linear-gradient(145deg,#07090b 0%,#0a0d0f 54%,#050708 100%);
  border-top:1px solid rgba(200,146,69,.28);
  border-bottom:1px solid rgba(200,146,69,.34);
}
.what-we-believe::before{
  content:"";
  position:absolute;
  top:-170px;
  right:-120px;
  width:520px;
  height:520px;
  border:1px solid rgba(200,146,69,.055);
  transform:rotate(35deg);
  pointer-events:none;
}
.beliefs-inner{
  position:relative;
  z-index:2;
  width:min(88%,1320px);
  margin:0 auto;
}
.beliefs-heading{
  display:grid;
  grid-template-columns:.82fr 1.1fr;
  gap:74px;
  align-items:end;
  margin-bottom:56px;
}
.beliefs-kicker{
  grid-column:1;
  align-self:start;
  margin-top:7px;
}
.beliefs-heading h2{
  grid-column:1;
  margin:18px 0 0;
  color:#f5f2eb;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(50px,4.3vw,72px);
  font-weight:400;
  line-height:.95;
  letter-spacing:-.04em;
}
.beliefs-heading h2 span{
  color:#d3a259;
}
.beliefs-heading > p{
  grid-column:2;
  grid-row:1 / span 2;
  max-width:550px;
  margin:0 0 4px;
  color:#aaa69f;
  font-size:13px;
  line-height:1.78;
}
.beliefs-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(200,146,69,.44);
  border-bottom:1px solid rgba(200,146,69,.22);
}
.belief-card{
  position:relative;
  min-height:320px;
  padding:34px 28px 36px;
  border-right:1px solid rgba(200,146,69,.20);
  transition:background .28s ease,transform .28s ease,border-color .28s ease;
}
.belief-card:first-child{
  padding-left:7px;
}
.belief-card:last-child{
  padding-right:7px;
  border-right:0;
}
.belief-card:hover{
  transform:translateY(-4px);
  background:linear-gradient(to bottom,rgba(200,146,69,.055),rgba(200,146,69,0));
  border-color:rgba(200,146,69,.38);
}
.belief-number{
  color:#c89245;
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  letter-spacing:.16em;
}
.belief-accent{
  width:36px;
  height:1px;
  margin:18px 0 29px;
  background:#c89245;
}
.belief-card h3{
  margin:0 0 16px;
  color:#f2eee7;
  font-family:Georgia,"Times New Roman",serif;
  font-size:25px;
  font-weight:400;
  line-height:1.08;
}
.belief-card p{
  margin:0;
  color:#95918a;
  font-size:12px;
  line-height:1.74;
}
.beliefs-statement{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:17px;
  margin-top:36px;
}
.beliefs-statement span{
  width:58px;
  height:1px;
  background:#c89245;
}
.beliefs-statement p{
  margin:0;
  color:#cbc5bb;
  font-size:9px;
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
}

@media(min-width:1500px){
  .what-we-believe{
    padding:114px 0 102px;
  }
  .beliefs-inner{
    width:min(89%,1480px);
  }
  .beliefs-heading{
    gap:90px;
    margin-bottom:64px;
  }
  .beliefs-heading h2{
    font-size:78px;
  }
  .beliefs-heading > p{
    max-width:620px;
    font-size:14px;
  }
  .belief-card{
    min-height:345px;
    padding-top:39px;
  }
  .belief-card h3{
    font-size:28px;
  }
  .belief-card p{
    font-size:13px;
  }
}
@media(max-width:1050px){
  .beliefs-heading{
    grid-template-columns:1fr;
    gap:0;
  }
  .beliefs-kicker,
  .beliefs-heading h2,
  .beliefs-heading > p{
    grid-column:1;
    grid-row:auto;
  }
  .beliefs-heading > p{
    max-width:680px;
    margin-top:24px;
  }
  .beliefs-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .belief-card:nth-child(2){
    border-right:0;
  }
  .belief-card:nth-child(1),
  .belief-card:nth-child(2){
    border-bottom:1px solid rgba(200,146,69,.20);
  }
}
@media(max-width:700px){
  .what-we-believe{
    padding:62px 0 58px;
  }
  .beliefs-inner{
    width:min(88%,560px);
  }
  .beliefs-heading{
    margin-bottom:35px;
  }
  .beliefs-heading h2{
    font-size:clamp(44px,13vw,58px);
  }
  .beliefs-heading > p{
    font-size:12px;
    line-height:1.7;
  }
  .beliefs-grid{
    grid-template-columns:1fr;
    border-bottom:0;
  }
  .belief-card,
  .belief-card:first-child,
  .belief-card:last-child{
    min-height:0;
    padding:28px 0 31px;
    border-right:0;
    border-bottom:1px solid rgba(200,146,69,.20);
  }
  .belief-card h3{
    font-size:24px;
  }
  .belief-card p{
    font-size:12px;
  }
  .beliefs-statement{
    margin-top:28px;
    gap:11px;
  }
  .beliefs-statement span{
    width:30px;
  }
  .beliefs-statement p{
    text-align:center;
    font-size:7px;
    line-height:1.4;
  }
}


/* ==========================================================
   STEP 3 / PHASE 3.4 — THE PIERCE DIFFERENCE
   ========================================================== */
.pierce-difference{
  position:relative;
  overflow:hidden;
  padding:108px 0 92px;
  background:
    radial-gradient(circle at 86% 18%,rgba(200,146,69,.055),transparent 24%),
    #050708;
  border-top:1px solid rgba(200,146,69,.26);
  border-bottom:1px solid rgba(200,146,69,.38);
}

.pierce-difference::before{
  content:"";
  position:absolute;
  left:-180px;
  bottom:-260px;
  width:560px;
  height:560px;
  border:1px solid rgba(200,146,69,.055);
  transform:rotate(35deg);
  pointer-events:none;
}

.difference-inner{
  position:relative;
  z-index:2;
  width:min(88%,1320px);
  margin:0 auto;
}

.difference-heading{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  column-gap:80px;
  align-items:end;
  margin-bottom:62px;
}

.difference-kicker{
  grid-column:1;
  align-self:start;
  margin-top:8px;
}

.difference-heading h2{
  grid-column:1;
  margin:18px 0 0;
  color:#f5f2eb;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(54px,4.7vw,76px);
  font-weight:400;
  line-height:.92;
  letter-spacing:-.045em;
}

.difference-heading h2 span{
  color:#d3a259;
}

.difference-heading > p{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:end;
  max-width:570px;
  margin:0 0 4px;
  color:#aaa69f;
  font-size:13px;
  line-height:1.8;
}

.difference-stage{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:0;
  min-height:650px;
  border-top:1px solid rgba(200,146,69,.44);
  border-bottom:1px solid rgba(200,146,69,.30);
}

.difference-visual{
  position:relative;
  min-height:650px;
  overflow:hidden;
  border-right:1px solid rgba(200,146,69,.30);
}

.difference-image{
  position:absolute;
  inset:0;
  background:url("assets/luxury-home-hero.jpg") 62% center/cover no-repeat;
  transform:scale(1.025);
  transition:transform 1.4s cubic-bezier(.2,.65,.25,1);
}

.difference-visual:hover .difference-image{
  transform:scale(1.055);
}

.difference-image-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(0deg,rgba(4,6,7,.72) 0%,rgba(4,6,7,.10) 55%,rgba(4,6,7,.10) 100%),
    linear-gradient(90deg,rgba(4,6,7,.12),transparent 60%);
}

.difference-outline{
  position:absolute;
  top:34px;
  left:34px;
  right:34px;
  bottom:34px;
  border-left:1px solid rgba(218,171,97,.64);
  border-top:1px solid rgba(218,171,97,.64);
  pointer-events:none;
}

.difference-outline::after{
  content:"";
  position:absolute;
  left:-1px;
  bottom:0;
  width:82px;
  height:1px;
  background:rgba(218,171,97,.64);
}

.difference-stamp{
  position:absolute;
  left:55px;
  bottom:54px;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.difference-stamp span{
  color:#e0b56d;
  font-family:Georgia,"Times New Roman",serif;
  font-size:38px;
  letter-spacing:.08em;
}

.difference-stamp small{
  color:#e6e0d7;
  font-size:8px;
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
}

.difference-list{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px 0 28px 54px;
}

.difference-item{
  display:grid;
  grid-template-columns:55px 1fr;
  gap:17px;
  padding:25px 10px 25px 0;
  border-bottom:1px solid rgba(200,146,69,.18);
  transition:padding-left .25s ease,background .25s ease;
}

.difference-item:last-child{
  border-bottom:0;
}

.difference-item:hover{
  padding-left:8px;
  background:linear-gradient(90deg,rgba(200,146,69,.045),transparent 72%);
}

.difference-number{
  padding-top:4px;
  color:#c89245;
  font-family:Georgia,"Times New Roman",serif;
  font-size:12px;
  letter-spacing:.13em;
}

.difference-item h3{
  margin:0 0 8px;
  color:#f0ece5;
  font-family:Georgia,"Times New Roman",serif;
  font-size:23px;
  font-weight:400;
  line-height:1.08;
}

.difference-item p{
  max-width:450px;
  margin:0;
  color:#8f8b84;
  font-size:11px;
  line-height:1.67;
}

.difference-closing{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  padding-top:36px;
}

.difference-closing-rule{
  width:62px;
  height:1px;
  background:#c89245;
}

.difference-closing p{
  margin:0;
  color:#c8c2b8;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
}

.difference-closing em{
  color:#d5a45b;
  font-weight:400;
}

@media(min-width:1500px){
  .pierce-difference{
    padding:120px 0 105px;
  }

  .difference-inner{
    width:min(89%,1480px);
  }

  .difference-heading{
    column-gap:95px;
    margin-bottom:70px;
  }

  .difference-heading h2{
    font-size:82px;
  }

  .difference-heading > p{
    max-width:640px;
    font-size:14px;
  }

  .difference-stage,
  .difference-visual{
    min-height:710px;
  }

  .difference-list{
    padding-left:64px;
  }

  .difference-item{
    padding-top:29px;
    padding-bottom:29px;
  }

  .difference-item h3{
    font-size:26px;
  }

  .difference-item p{
    font-size:12px;
  }
}

@media(max-width:1050px){
  .difference-heading{
    grid-template-columns:1fr;
    gap:0;
  }

  .difference-kicker,
  .difference-heading h2,
  .difference-heading > p{
    grid-column:1;
    grid-row:auto;
  }

  .difference-heading > p{
    max-width:680px;
    margin-top:24px;
  }

  .difference-stage{
    grid-template-columns:1fr;
  }

  .difference-visual{
    min-height:520px;
    border-right:0;
    border-bottom:1px solid rgba(200,146,69,.30);
  }

  .difference-list{
    padding:25px 0;
  }

  .difference-item{
    padding-left:6px;
  }
}

@media(max-width:700px){
  .pierce-difference{
    padding:64px 0 58px;
  }

  .difference-inner{
    width:min(88%,560px);
  }

  .difference-heading{
    margin-bottom:36px;
  }

  .difference-heading h2{
    font-size:clamp(46px,13vw,60px);
  }

  .difference-heading > p{
    font-size:12px;
    line-height:1.72;
  }

  .difference-stage{
    min-height:0;
  }

  .difference-visual{
    min-height:390px;
  }

  .difference-image{
    background-position:65% center;
  }

  .difference-outline{
    top:20px;
    left:20px;
    right:20px;
    bottom:20px;
  }

  .difference-stamp{
    left:35px;
    bottom:35px;
  }

  .difference-stamp span{
    font-size:31px;
  }

  .difference-list{
    padding:17px 0 5px;
  }

  .difference-item{
    grid-template-columns:42px 1fr;
    gap:10px;
    padding:23px 0;
  }

  .difference-item:hover{
    padding-left:0;
    background:none;
  }

  .difference-item h3{
    font-size:22px;
  }

  .difference-item p{
    font-size:11px;
  }

  .difference-closing{
    justify-content:flex-start;
    padding-top:28px;
  }

  .difference-closing-rule{
    width:38px;
  }

  .difference-closing p{
    font-size:16px;
  }
}

@media(prefers-reduced-motion:reduce){
  .difference-image,
  .difference-item{
    transition:none!important;
  }
  .difference-visual:hover .difference-image{
    transform:scale(1.025);
  }
}


/* ==========================================================
   STEP 3 / PHASE 3.5 — BUILDER PHILOSOPHY
   ========================================================== */
.builder-philosophy{
  position:relative;
  isolation:isolate;
  min-height:690px;
  overflow:hidden;
  display:flex;
  align-items:center;
  border-top:1px solid rgba(200,146,69,.48);
  border-bottom:1px solid rgba(200,146,69,.56);
  background:#050708;
}

.philosophy-image{
  position:absolute;
  inset:-3%;
  z-index:-4;
  background:url("assets/luxury-home-hero.jpg") 52% 61%/cover no-repeat;
  transform:scale(1.035);
  transition:transform 8s cubic-bezier(.2,.65,.25,1);
}

.builder-philosophy:hover .philosophy-image{
  transform:scale(1.065);
}

.philosophy-overlay{
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    linear-gradient(90deg,
      rgba(3,5,6,.96) 0%,
      rgba(3,5,6,.89) 27%,
      rgba(3,5,6,.62) 50%,
      rgba(3,5,6,.24) 72%,
      rgba(3,5,6,.31) 100%),
    linear-gradient(0deg,rgba(3,5,6,.48),transparent 58%);
}

.philosophy-lines{
  position:absolute;
  z-index:-1;
  top:38px;
  right:4.5%;
  bottom:38px;
  width:38%;
  border-top:1px solid rgba(216,168,91,.65);
  border-right:1px solid rgba(216,168,91,.65);
  pointer-events:none;
}

.philosophy-lines span{
  position:absolute;
  top:-1px;
  right:-1px;
  width:84px;
  height:84px;
  border-left:1px solid rgba(216,168,91,.65);
  border-bottom:1px solid rgba(216,168,91,.65);
}

.philosophy-lines i{
  position:absolute;
  right:-1px;
  bottom:0;
  width:1px;
  height:82px;
  background:linear-gradient(to top,#d1a158,transparent);
}

.philosophy-inner{
  width:min(88%,1320px);
  margin:0 auto;
  padding:105px 0;
}

.philosophy-copy{
  max-width:680px;
}

.philosophy-kicker{
  margin-bottom:24px;
}

.philosophy-copy blockquote{
  margin:0;
  max-width:670px;
  color:#f5f1e9;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(50px,4.8vw,76px);
  font-weight:400;
  line-height:1.01;
  letter-spacing:-.04em;
}

.philosophy-copy blockquote::first-letter{
  color:#d3a259;
}

.philosophy-rule{
  width:64px;
  height:2px;
  margin:31px 0 23px;
  background:#c89245;
}

.philosophy-copy > p{
  max-width:560px;
  margin:0;
  color:#d4cec5;
  font-size:13px;
  line-height:1.8;
}

.philosophy-signature{
  display:flex;
  align-items:baseline;
  gap:15px;
  margin-top:30px;
}

.philosophy-signature span{
  color:#817d76;
  font-size:8px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.philosophy-signature strong{
  color:#d4a45c;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  font-weight:400;
}

.philosophy-corner-mark{
  position:absolute;
  right:5%;
  bottom:54px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
}

.philosophy-corner-mark span{
  color:#e0b56d;
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
  letter-spacing:.10em;
}

.philosophy-corner-mark small{
  color:#ddd7ce;
  font-size:7px;
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
}

@media(min-width:1500px){
  .builder-philosophy{
    min-height:770px;
  }

  .philosophy-inner{
    width:min(89%,1480px);
    padding:125px 0;
  }

  .philosophy-copy{
    max-width:760px;
  }

  .philosophy-copy blockquote{
    max-width:750px;
    font-size:82px;
  }

  .philosophy-copy > p{
    max-width:620px;
    font-size:14px;
  }
}

@media(max-width:1024px){
  .builder-philosophy{
    min-height:620px;
    align-items:flex-end;
  }

  .philosophy-image{
    inset:0;
    background-position:60% center;
    transform:none;
  }

  .builder-philosophy:hover .philosophy-image{
    transform:none;
  }

  .philosophy-overlay{
    background:
      linear-gradient(0deg,
        rgba(3,5,6,.96) 0%,
        rgba(3,5,6,.82) 40%,
        rgba(3,5,6,.34) 72%,
        rgba(3,5,6,.16) 100%);
  }

  .philosophy-lines{
    top:28px;
    right:5%;
    bottom:auto;
    width:52%;
    height:200px;
  }

  .philosophy-inner{
    width:min(90%,760px);
    padding:220px 0 70px;
  }

  .philosophy-copy{
    max-width:650px;
  }

  .philosophy-corner-mark{
    display:none;
  }
}

@media(max-width:700px){
  .builder-philosophy{
    min-height:570px;
  }

  .philosophy-image{
    background-position:64% center;
  }

  .philosophy-inner{
    width:min(88%,560px);
    padding:190px 0 54px;
  }

  .philosophy-copy blockquote{
    font-size:clamp(43px,12vw,58px);
    line-height:1.02;
  }

  .philosophy-copy > p{
    font-size:12px;
    line-height:1.72;
  }

  .philosophy-signature{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    margin-top:24px;
  }

  .philosophy-lines{
    top:21px;
    right:6%;
    width:58%;
    height:145px;
  }
}

@media(max-width:390px){
  .philosophy-copy blockquote{
    font-size:40px;
  }
}

@media(prefers-reduced-motion:reduce){
  .philosophy-image{
    transition:none!important;
    transform:none!important;
  }

  .builder-philosophy:hover .philosophy-image{
    transform:none!important;
  }
}


/* ==========================================================
   STEP 3 / PHASE 3.6 — ABOUT CTA & FOOTER
   ========================================================== */
.about-final-cta{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:430px;
  display:flex;
  align-items:center;
  background:
    url("assets/luxury-home-hero.jpg") 50% 70%/cover no-repeat;
  border-top:1px solid rgba(200,146,69,.58);
  border-bottom:1px solid rgba(200,146,69,.54);
}

.about-final-cta-overlay{
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,
      rgba(4,6,7,.97) 0%,
      rgba(4,6,7,.91) 38%,
      rgba(4,6,7,.64) 66%,
      rgba(4,6,7,.78) 100%),
    linear-gradient(0deg,rgba(4,6,7,.30),rgba(4,6,7,.10));
}

.about-final-cta-inner{
  width:min(88%,1320px);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.22fr .78fr;
  gap:90px;
  align-items:center;
  padding:82px 0 78px;
}

.about-final-copy h2{
  margin:17px 0 22px;
  color:#f6f3ec;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(58px,5vw,82px);
  font-weight:400;
  line-height:.91;
  letter-spacing:-.045em;
}

.about-final-copy h2 span{
  color:#d3a259;
}

.about-final-copy p{
  max-width:590px;
  margin:0;
  color:#d4cec5;
  font-size:13px;
  line-height:1.78;
}

.about-final-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:24px;
  padding-left:40px;
  border-left:1px solid rgba(200,146,69,.44);
}

.about-final-primary{
  min-width:235px;
  min-height:50px;
}

.about-final-contact{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.about-final-contact > span{
  margin-bottom:4px;
  color:#88847d;
  font-size:8px;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.about-final-contact a{
  color:#eee9e1;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  line-height:1.35;
  transition:color .2s ease,transform .2s ease;
}

.about-final-contact a:last-child{
  font-family:inherit;
  font-size:11px;
  letter-spacing:.02em;
}

.about-final-contact a:hover{
  color:#d6a55c;
  transform:translateX(3px);
}

.about-final-brandline{
  position:absolute;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  width:min(88%,1320px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  white-space:nowrap;
}

.about-final-brandline span{
  width:50px;
  height:1px;
  background:#c89245;
}

.about-final-brandline strong,
.about-final-brandline i{
  font-size:8px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.about-final-brandline strong{
  color:#d7d1c8;
  font-weight:800;
}

.about-final-brandline i{
  color:#c89245;
  font-style:normal;
  font-weight:800;
}

/* The established footer is intentionally reused rather than redesigned. */
.about-footer{
  border-top:0;
}

@media(min-width:1500px){
  .about-final-cta{
    min-height:480px;
  }

  .about-final-cta-inner,
  .about-final-brandline{
    width:min(89%,1480px);
  }

  .about-final-cta-inner{
    padding:96px 0 92px;
  }

  .about-final-copy h2{
    font-size:90px;
  }

  .about-final-copy p{
    max-width:650px;
    font-size:14px;
  }

  .about-final-contact a{
    font-size:19px;
  }
}

@media(max-width:1000px){
  .about-final-cta-inner{
    width:min(90%,760px);
    grid-template-columns:1fr;
    gap:34px;
    padding:70px 0 82px;
  }

  .about-final-actions{
    padding-left:0;
    padding-top:27px;
    border-left:0;
    border-top:1px solid rgba(200,146,69,.38);
  }

  .about-final-brandline{
    width:min(90%,760px);
  }
}

@media(max-width:700px){
  .about-final-cta{
    min-height:0;
    background-position:62% center;
  }

  .about-final-cta-overlay{
    background:
      linear-gradient(0deg,
        rgba(4,6,7,.97) 0%,
        rgba(4,6,7,.90) 58%,
        rgba(4,6,7,.65) 100%);
  }

  .about-final-cta-inner{
    width:min(88%,560px);
    padding:57px 0 92px;
  }

  .about-final-copy h2{
    font-size:clamp(47px,13vw,63px);
  }

  .about-final-copy p{
    font-size:12px;
    line-height:1.72;
  }

  .about-final-actions{
    width:100%;
  }

  .about-final-primary{
    width:100%;
  }

  .about-final-contact{
    width:100%;
  }

  .about-final-contact a{
    min-height:35px;
    display:flex;
    align-items:center;
    font-size:19px;
  }

  .about-final-contact a:last-child{
    font-size:11px;
    overflow-wrap:anywhere;
  }

  .about-final-brandline{
    width:min(88%,560px);
    bottom:26px;
    gap:8px;
  }

  .about-final-brandline span{
    width:22px;
  }

  .about-final-brandline strong,
  .about-final-brandline i{
    font-size:6px;
    letter-spacing:.13em;
  }
}

@media(max-width:390px){
  .about-final-copy h2{
    font-size:42px;
  }

  .about-final-brandline span{
    display:none;
  }
}


/* ==========================================================
   STEP 3 / PHASE 3.7 — FINAL ABOUT PAGE POLISH
   ========================================================== */

/* Active navigation */
.pcb-nav a[aria-current="page"]{
  color:#d9aa5e;
}
.pcb-nav a[aria-current="page"]::after{
  transform:scaleX(1);
}

/* Scroll reveal */
.about-reveal{
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .72s cubic-bezier(.2,.65,.25,1),
    transform .72s cubic-bezier(.2,.65,.25,1);
}
.about-reveal.is-visible{
  opacity:1;
  transform:none;
}

/* Stagger key content inside revealed sections */
.about-stagger > *{
  opacity:0;
  transform:translateY(15px);
  transition:
    opacity .52s cubic-bezier(.2,.65,.25,1),
    transform .52s cubic-bezier(.2,.65,.25,1);
}
.about-reveal.is-visible .about-stagger > *{
  opacity:1;
  transform:none;
}
.about-reveal.is-visible .about-stagger > *:nth-child(1){transition-delay:.07s}
.about-reveal.is-visible .about-stagger > *:nth-child(2){transition-delay:.14s}
.about-reveal.is-visible .about-stagger > *:nth-child(3){transition-delay:.21s}
.about-reveal.is-visible .about-stagger > *:nth-child(4){transition-delay:.28s}
.about-reveal.is-visible .about-stagger > *:nth-child(5){transition-delay:.35s}

/* Final typography consistency */
.about-page h1,
.about-page h2,
.about-page h3,
.about-page blockquote{
  text-wrap:balance;
}
.about-page p{
  text-wrap:pretty;
}

/* Better link/focus behavior */
.about-page a:focus-visible{
  outline:2px solid #d6a55c;
  outline-offset:4px;
}
.about-page a:active{
  transform:translateY(0);
}

/* Portrait placeholder refinement until real Evan photo is supplied */
.builder-portrait-placeholder{
  user-select:none;
}
.builder-portrait-placeholder small{
  opacity:.78;
}

/* Prevent long contact strings from overflowing */
.about-final-contact{
  min-width:0;
}
.about-final-contact a{
  max-width:100%;
  overflow-wrap:anywhere;
}

/* Mobile polish */
@media(max-width:700px){
  .about-page .section-kicker{
    line-height:1.4;
  }

  .about-hero-rule,
  .philosophy-rule{
    margin-top:23px;
    margin-bottom:19px;
  }

  .builder-portrait-wrap{
    width:100%;
  }

  .builder-photo-label{
    max-width:calc(100% - 35px);
  }

  .belief-card:hover,
  .difference-item:hover{
    transform:none;
  }

  .about-final-contact a{
    min-height:42px;
  }

  .about-footer .footer-links a{
    min-height:40px;
  }
}

/* Small-phone safeguards */
@media(max-width:390px){
  .builder-photo-label strong{
    font-size:14px;
  }

  .builder-portrait-placeholder span{
    font-size:54px;
  }

  .difference-stamp span{
    font-size:27px;
  }

  .about-final-contact a{
    font-size:17px;
  }

  .about-final-contact a:last-child{
    font-size:10px;
  }
}

/* Landscape phone */
@media(max-width:900px) and (max-height:520px) and (orientation:landscape){
  .about-hero-photo{
    min-height:300px;
  }

  .builder-portrait-wrap{
    min-height:420px;
  }

  .builder-philosophy{
    min-height:520px;
  }

  .philosophy-inner{
    padding-top:155px;
  }
}

/* Ultra-wide constraint */
@media(min-width:1900px){
  .about-hero-inner,
  .meet-builder-inner,
  .builder-principles,
  .beliefs-inner,
  .difference-inner,
  .philosophy-inner,
  .about-final-cta-inner,
  .about-final-brandline{
    max-width:1520px;
  }
}

/* Accessibility */
@media(prefers-reduced-motion:reduce){
  .about-reveal,
  .about-stagger > *{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}


/* ==========================================================
   STEP 4 / PHASE 4.1 — PROJECTS HERO
   ========================================================== */

.projects-page{
  background:#050708;
}

.projects-hero{
  position:relative;
  isolation:isolate;
  min-height:790px;
  overflow:hidden;
  display:flex;
  align-items:center;
  background:#050708;
  border-bottom:1px solid rgba(200,146,69,.58);
}

.projects-hero-photo{
  position:absolute;
  z-index:-4;
  inset:0;
  background:url("assets/luxury-home-hero.jpg") 58% center/cover no-repeat;
  transform:scale(1.025);
  animation:pcbProjectsPhotoIn 1.6s cubic-bezier(.2,.65,.25,1) both;
}

.projects-hero-overlay{
  position:absolute;
  z-index:-3;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(3,5,6,.98) 0%,
      rgba(3,5,6,.96) 28%,
      rgba(3,5,6,.82) 43%,
      rgba(3,5,6,.42) 64%,
      rgba(3,5,6,.16) 82%,
      rgba(3,5,6,.28) 100%),
    linear-gradient(0deg,rgba(3,5,6,.42),transparent 54%);
}

.projects-hero-frame{
  position:absolute;
  z-index:-1;
  top:44px;
  right:4.5%;
  bottom:44px;
  width:37%;
  border-top:1px solid rgba(216,168,91,.62);
  border-right:1px solid rgba(216,168,91,.62);
  pointer-events:none;
}

.projects-hero-frame::before{
  content:"";
  position:absolute;
  top:-1px;
  right:-1px;
  width:94px;
  height:94px;
  border-left:1px solid rgba(216,168,91,.62);
  border-bottom:1px solid rgba(216,168,91,.62);
}

.projects-hero-frame::after{
  content:"";
  position:absolute;
  right:-1px;
  bottom:0;
  width:1px;
  height:92px;
  background:linear-gradient(to top,#d1a158,transparent);
}

.projects-hero-inner{
  position:relative;
  width:min(88%,1320px);
  margin:0 auto;
  padding:205px 0 115px;
}

.projects-hero-copy{
  width:49%;
  max-width:640px;
  animation:pcbProjectsCopyIn .9s cubic-bezier(.2,.65,.25,1) .08s both;
}

.projects-kicker{
  margin-bottom:22px;
}

.projects-hero h1{
  margin:0;
  color:#f6f3ec;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(62px,5.3vw,88px);
  font-weight:400;
  line-height:.90;
  letter-spacing:-.048em;
  text-wrap:balance;
}

.projects-hero h1 span{
  color:#d3a259;
}

.projects-hero-rule{
  width:64px;
  height:2px;
  margin:30px 0 22px;
  background:#c89245;
}

.projects-hero-lead{
  max-width:555px;
  margin:0 0 15px;
  color:#ebe6dd;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px;
  line-height:1.52;
}

.projects-hero-body{
  max-width:535px;
  margin:0;
  color:#aaa69f;
  font-size:13px;
  line-height:1.76;
}

.projects-hero-link{
  display:inline-flex;
  align-items:center;
  gap:13px;
  min-height:46px;
  margin-top:30px;
  color:#e7e1d8;
  font-size:9px;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(200,146,69,.52);
  transition:color .22s ease,gap .22s ease,border-color .22s ease;
}

.projects-hero-link span{
  color:#d3a259;
  font-size:16px;
}

.projects-hero-link:hover{
  color:#e0b56d;
  gap:17px;
  border-color:#d3a259;
}

.projects-hero-mark{
  position:absolute;
  right:0;
  bottom:50px;
  display:flex;
  align-items:center;
  gap:13px;
}

.projects-hero-mark span{
  color:#e0b56d;
  font-family:Georgia,"Times New Roman",serif;
  font-size:26px;
  letter-spacing:.10em;
}

.projects-hero-mark i{
  width:42px;
  height:1px;
  background:#c89245;
}

.projects-hero-mark small{
  color:#ddd7ce;
  font-size:7px;
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
}

.projects-hero-side{
  position:absolute;
  right:2.1%;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  writing-mode:vertical-rl;
  color:#c8c2b8;
  font-size:7px;
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
}

.projects-hero-side i{
  width:1px;
  height:52px;
  background:#c89245;
}

.projects-next-phase{
  padding:58px 0 61px;
  background:
    radial-gradient(circle at 12% 0%,rgba(200,146,69,.055),transparent 22%),
    #07090a;
  border-bottom:1px solid rgba(200,146,69,.26);
}

.projects-next-inner{
  width:min(88%,1320px);
  margin:0 auto;
  display:grid;
  grid-template-columns:100px 1fr 1fr;
  gap:30px;
  align-items:center;
}

.projects-next-inner > span{
  color:#c89245;
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.projects-next-inner h2{
  margin:0;
  color:#eeeae3;
  font-family:Georgia,"Times New Roman",serif;
  font-size:32px;
  font-weight:400;
}

.projects-next-inner p{
  max-width:460px;
  margin:0;
  color:#8f8b84;
  font-size:11px;
  line-height:1.65;
}

@keyframes pcbProjectsCopyIn{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes pcbProjectsPhotoIn{
  from{opacity:.75;transform:scale(1.06)}
  to{opacity:1;transform:scale(1.025)}
}

@media(min-width:1500px){
  .projects-hero{
    min-height:850px;
  }

  .projects-hero-inner,
  .projects-next-inner{
    width:min(89%,1480px);
  }

  .projects-hero-inner{
    padding-top:225px;
  }

  .projects-hero-copy{
    max-width:700px;
  }

  .projects-hero h1{
    font-size:96px;
  }

  .projects-hero-lead{
    font-size:21px;
  }

  .projects-hero-body{
    font-size:14px;
  }
}

@media(max-width:1024px){
  .projects-hero{
    min-height:0;
    display:block;
  }

  .projects-hero-photo{
    position:relative;
    inset:auto;
    height:54vw;
    min-height:430px;
    max-height:590px;
    background-position:center 58%;
    transform:none;
    animation:none;
  }

  .projects-hero-overlay{
    display:none;
  }

  .projects-hero-frame{
    top:25px;
    right:5%;
    bottom:auto;
    width:44%;
    height:210px;
  }

  .projects-hero-inner{
    width:100%;
    padding:0;
  }

  .projects-hero-copy{
    width:100%;
    max-width:none;
    padding:68px 6vw 64px;
    background:
      radial-gradient(circle at 8% 12%,rgba(200,146,69,.07),transparent 24%),
      #050708;
  }

  .projects-hero h1{
    max-width:760px;
    font-size:clamp(54px,9vw,78px);
  }

  .projects-hero-lead,
  .projects-hero-body{
    max-width:680px;
  }

  .projects-hero-mark,
  .projects-hero-side{
    display:none;
  }

  .projects-next-inner{
    width:min(90%,760px);
    grid-template-columns:80px 1fr;
  }

  .projects-next-inner p{
    grid-column:2;
  }
}

@media(max-width:700px){
  .projects-hero-photo{
    height:68vw;
    min-height:330px;
    max-height:430px;
    background-position:62% center;
  }

  .projects-hero-frame{
    top:18px;
    right:6%;
    width:48%;
    height:135px;
  }

  .projects-hero-frame::before{
    width:55px;
    height:55px;
  }

  .projects-hero-copy{
    padding:55px 6vw 56px;
  }

  .projects-hero h1{
    font-size:clamp(47px,13vw,63px);
  }

  .projects-hero-lead{
    font-size:17px;
  }

  .projects-hero-body{
    font-size:12px;
    line-height:1.7;
  }

  .projects-hero-link{
    width:100%;
    justify-content:space-between;
    margin-top:26px;
  }

  .projects-next-phase{
    padding:43px 0 46px;
  }

  .projects-next-inner{
    width:min(88%,560px);
    grid-template-columns:1fr;
    gap:10px;
  }

  .projects-next-inner p{
    grid-column:1;
  }

  .projects-next-inner h2{
    font-size:29px;
  }
}

@media(max-width:390px){
  .projects-hero h1{
    font-size:43px;
  }
}

@media(prefers-reduced-motion:reduce){
  .projects-hero-copy,
  .projects-hero-photo{
    animation:none!important;
  }
}


/* ==========================================================
   STEP 4 / PHASE 4.2 — FEATURED PROJECTS
   ========================================================== */

.featured-projects{
  position:relative;
  overflow:hidden;
  padding:104px 0 92px;
  background:
    radial-gradient(circle at 8% 10%,rgba(200,146,69,.055),transparent 23%),
    linear-gradient(145deg,#080b0d 0%,#050708 62%,#080a0b 100%);
  border-bottom:1px solid rgba(200,146,69,.36);
}

.featured-projects::before{
  content:"";
  position:absolute;
  right:-210px;
  top:90px;
  width:520px;
  height:520px;
  border:1px solid rgba(200,146,69,.05);
  transform:rotate(35deg);
  pointer-events:none;
}

.featured-projects-inner{
  position:relative;
  z-index:2;
  width:min(88%,1320px);
  margin:0 auto;
}

.projects-intro{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:84px;
  align-items:end;
  margin-bottom:58px;
}

.projects-gallery-kicker{
  margin-bottom:18px;
}

.projects-intro h2{
  margin:0;
  color:#f5f2eb;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(52px,4.6vw,74px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.045em;
}

.projects-intro h2 span{
  color:#d3a259;
}

.projects-intro > p{
  max-width:560px;
  margin:0 0 4px;
  color:#aaa69f;
  font-size:13px;
  line-height:1.78;
}

.portfolio-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  grid-template-rows:360px 300px 320px;
  gap:14px;
}

.portfolio-card{
  position:relative;
  overflow:hidden;
  min-width:0;
  background:#0c0f11;
  border:1px solid rgba(200,146,69,.18);
}

.portfolio-card--hero{
  grid-row:1 / span 2;
}

.portfolio-card--tall{
  grid-column:2;
  grid-row:1;
}

.portfolio-card--wide{
  grid-column:2;
  grid-row:2;
}

.portfolio-card--standard:nth-of-type(4){
  grid-column:1;
  grid-row:3;
}

.portfolio-card--standard:nth-of-type(5){
  grid-column:2;
  grid-row:3;
}

.portfolio-link{
  position:absolute;
  inset:0;
  display:block;
  color:inherit;
}

.portfolio-image{
  position:absolute;
  inset:0;
  background-image:url("assets/luxury-home-hero.jpg");
  background-size:cover;
  background-repeat:no-repeat;
  transform:scale(1.025);
  transition:transform 1.15s cubic-bezier(.2,.65,.25,1),filter .45s ease;
}

.portfolio-image--one{
  background-position:55% center;
}

.portfolio-image--two{
  background-position:76% 52%;
}

.portfolio-image--three{
  background-position:28% 60%;
}

.portfolio-image--four{
  background-position:66% 72%;
}

.portfolio-image--five{
  background-position:40% 40%;
}

.portfolio-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(0deg,
      rgba(3,5,6,.94) 0%,
      rgba(3,5,6,.67) 26%,
      rgba(3,5,6,.12) 62%,
      rgba(3,5,6,.07) 100%);
  transition:background .35s ease;
}

.portfolio-index{
  position:absolute;
  top:22px;
  right:24px;
  color:#e1b66d;
  font-family:Georgia,"Times New Roman",serif;
  font-size:11px;
  letter-spacing:.16em;
}

.portfolio-caption{
  position:absolute;
  left:28px;
  right:28px;
  bottom:27px;
}

.portfolio-caption > span{
  display:block;
  margin-bottom:7px;
  color:#d1a158;
  font-size:8px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.portfolio-caption h3{
  margin:0;
  color:#f4f0e9;
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
  font-weight:400;
  line-height:1.08;
}

.portfolio-card--hero .portfolio-caption h3{
  font-size:38px;
}

.portfolio-caption p{
  max-width:470px;
  margin:10px 0 0;
  color:#c4beb5;
  font-size:11px;
  line-height:1.65;
}

.portfolio-caption strong{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:15px;
  color:#eee8df;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.portfolio-caption strong b{
  color:#d1a158;
  font-size:14px;
  transition:transform .22s ease;
}

.portfolio-link::after{
  content:"";
  position:absolute;
  left:28px;
  bottom:18px;
  width:0;
  height:1px;
  background:#c89245;
  transition:width .35s ease;
}

.portfolio-card:hover .portfolio-image{
  transform:scale(1.065);
  filter:saturate(1.06);
}

.portfolio-card:hover .portfolio-shade{
  background:
    linear-gradient(0deg,
      rgba(3,5,6,.96) 0%,
      rgba(3,5,6,.64) 29%,
      rgba(3,5,6,.06) 66%,
      rgba(3,5,6,.03) 100%);
}

.portfolio-card:hover .portfolio-caption strong b{
  transform:translateX(4px);
}

.portfolio-card:hover .portfolio-link::after{
  width:72px;
}

.portfolio-note{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  margin-top:34px;
}

.portfolio-note span{
  width:58px;
  height:1px;
  background:#c89245;
}

.portfolio-note p{
  margin:0;
  color:#bcb6ad;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  font-style:italic;
}

/* Placeholder project anchors for Phase 4.3 */
.portfolio-card:nth-child(1){scroll-margin-top:120px}
.portfolio-card:nth-child(2){scroll-margin-top:120px}
.portfolio-card:nth-child(3){scroll-margin-top:120px}
.portfolio-card:nth-child(4){scroll-margin-top:120px}
.portfolio-card:nth-child(5){scroll-margin-top:120px}

@media(min-width:1500px){
  .featured-projects{
    padding:118px 0 105px;
  }

  .featured-projects-inner{
    width:min(89%,1480px);
  }

  .projects-intro{
    gap:96px;
    margin-bottom:66px;
  }

  .projects-intro h2{
    font-size:80px;
  }

  .projects-intro > p{
    max-width:620px;
    font-size:14px;
  }

  .portfolio-grid{
    grid-template-rows:400px 330px 350px;
    gap:16px;
  }

  .portfolio-card--hero .portfolio-caption h3{
    font-size:43px;
  }

  .portfolio-caption h3{
    font-size:30px;
  }
}

@media(max-width:1024px){
  .featured-projects{
    padding:78px 0 70px;
  }

  .featured-projects-inner{
    width:min(90%,760px);
  }

  .projects-intro{
    grid-template-columns:1fr;
    gap:22px;
    margin-bottom:42px;
  }

  .projects-intro > p{
    max-width:680px;
  }

  .portfolio-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:520px 300px 300px;
  }

  .portfolio-card--hero{
    grid-column:1 / -1;
    grid-row:1;
  }

  .portfolio-card--tall{
    grid-column:1;
    grid-row:2;
  }

  .portfolio-card--wide{
    grid-column:2;
    grid-row:2;
  }

  .portfolio-card--standard:nth-of-type(4){
    grid-column:1;
    grid-row:3;
  }

  .portfolio-card--standard:nth-of-type(5){
    grid-column:2;
    grid-row:3;
  }
}

@media(max-width:700px){
  .featured-projects{
    padding:62px 0 56px;
  }

  .featured-projects-inner{
    width:min(88%,560px);
  }

  .projects-intro{
    margin-bottom:33px;
  }

  .projects-intro h2{
    font-size:clamp(45px,13vw,59px);
  }

  .projects-intro > p{
    font-size:12px;
    line-height:1.72;
  }

  .portfolio-grid{
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  .portfolio-card,
  .portfolio-card--hero,
  .portfolio-card--tall,
  .portfolio-card--wide,
  .portfolio-card--standard{
    width:100%;
    height:390px;
    min-height:390px;
  }

  .portfolio-card--hero{
    height:470px;
    min-height:470px;
  }

  .portfolio-caption{
    left:20px;
    right:20px;
    bottom:22px;
  }

  .portfolio-card--hero .portfolio-caption h3,
  .portfolio-caption h3{
    font-size:27px;
  }

  .portfolio-caption p{
    font-size:11px;
  }

  .portfolio-index{
    top:18px;
    right:18px;
  }

  .portfolio-link::after{
    left:20px;
    bottom:15px;
  }

  .portfolio-note{
    justify-content:flex-start;
    margin-top:27px;
  }

  .portfolio-note span{
    width:38px;
  }

  .portfolio-note p{
    font-size:14px;
  }
}

@media(max-width:390px){
  .portfolio-card,
  .portfolio-card--tall,
  .portfolio-card--wide,
  .portfolio-card--standard{
    height:350px;
    min-height:350px;
  }

  .portfolio-card--hero{
    height:420px;
    min-height:420px;
  }
}

@media(prefers-reduced-motion:reduce){
  .portfolio-image,
  .portfolio-caption strong b,
  .portfolio-link::after{
    transition:none!important;
  }

  .portfolio-card:hover .portfolio-image{
    transform:scale(1.025);
  }
}


/* ==========================================================
   STEP 4 / PHASE 4.3 — INDIVIDUAL PROJECT EXPERIENCE
   ========================================================== */

.project-experience{
  position:relative;
  overflow:hidden;
  padding:112px 0 96px;
  background:
    radial-gradient(circle at 88% 10%,rgba(200,146,69,.05),transparent 24%),
    linear-gradient(140deg,#07090b 0%,#050708 58%,#080a0b 100%);
  border-top:1px solid rgba(200,146,69,.28);
  border-bottom:1px solid rgba(200,146,69,.38);
}

.project-experience::before{
  content:"";
  position:absolute;
  left:-190px;
  bottom:-250px;
  width:560px;
  height:560px;
  border:1px solid rgba(200,146,69,.05);
  transform:rotate(35deg);
  pointer-events:none;
}

.project-experience-inner{
  position:relative;
  z-index:2;
  width:min(88%,1320px);
  margin:0 auto;
}

.project-experience-heading{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:82px;
  align-items:end;
  margin-bottom:62px;
}

.project-detail-kicker{
  grid-column:1;
  align-self:start;
  margin-top:8px;
}

.project-experience-heading h2{
  grid-column:1;
  margin:18px 0 0;
  color:#f5f2eb;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(52px,4.6vw,74px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.045em;
}

.project-experience-heading h2 span{
  color:#d3a259;
}

.project-experience-heading > p{
  grid-column:2;
  grid-row:1 / span 2;
  max-width:570px;
  margin:0 0 4px;
  color:#aaa69f;
  font-size:13px;
  line-height:1.78;
}

.project-detail-card{
  border-top:1px solid rgba(200,146,69,.44);
  border-bottom:1px solid rgba(200,146,69,.30);
}

.project-detail-hero{
  position:relative;
  min-height:620px;
  overflow:hidden;
  background:#0b0e10;
}

.project-detail-image{
  position:absolute;
  inset:0;
  background:url("assets/luxury-home-hero.jpg") 55% center/cover no-repeat;
  transform:scale(1.02);
  transition:transform 1.35s cubic-bezier(.2,.65,.25,1);
}

.project-detail-card:hover .project-detail-image{
  transform:scale(1.045);
}

.project-detail-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(0deg,rgba(3,5,6,.86) 0%,rgba(3,5,6,.24) 45%,rgba(3,5,6,.06) 76%),
    linear-gradient(90deg,rgba(3,5,6,.16),transparent 58%);
}

.project-detail-number{
  position:absolute;
  top:30px;
  right:32px;
  color:#e0b56d;
  font-family:Georgia,"Times New Roman",serif;
  font-size:12px;
  letter-spacing:.17em;
}

.project-detail-title{
  position:absolute;
  left:42px;
  bottom:38px;
}

.project-detail-title > span{
  display:block;
  margin-bottom:8px;
  color:#d1a158;
  font-size:8px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.project-detail-title h3{
  margin:0;
  color:#f5f1e9;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(38px,3.4vw,54px);
  font-weight:400;
  line-height:1;
}

.project-detail-content{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:76px;
  padding:58px 42px 62px;
  background:
    linear-gradient(145deg,rgba(11,14,16,.98),rgba(6,8,9,.98));
}

.project-detail-label{
  display:block;
  margin-bottom:14px;
  color:#c89245;
  font-size:8px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.project-detail-story h4{
  max-width:640px;
  margin:0 0 20px;
  color:#f0ece5;
  font-family:Georgia,"Times New Roman",serif;
  font-size:31px;
  font-weight:400;
  line-height:1.08;
}

.project-detail-story p{
  max-width:660px;
  margin:0 0 14px;
  color:#96928b;
  font-size:12px;
  line-height:1.75;
}

.project-facts{
  margin:0;
  border-top:1px solid rgba(200,146,69,.36);
}

.project-facts > div{
  display:grid;
  grid-template-columns:100px 1fr;
  gap:18px;
  padding:15px 0;
  border-bottom:1px solid rgba(200,146,69,.16);
}

.project-facts dt{
  color:#807c75;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.project-facts dd{
  margin:0;
  color:#e6e1d9;
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
}

.project-detail-gallery-preview{
  display:grid;
  grid-template-columns:1.35fr .8fr .8fr;
  gap:10px;
  padding:0 42px 44px;
  background:#07090a;
}

.detail-shot{
  min-height:260px;
  background-image:url("assets/luxury-home-hero.jpg");
  background-size:cover;
  background-repeat:no-repeat;
  border:1px solid rgba(200,146,69,.18);
}

.detail-shot--one{
  background-position:29% 60%;
}

.detail-shot--two{
  background-position:74% 43%;
}

.detail-shot--three{
  background-position:60% 75%;
}

.project-detail-navigation{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:35px;
  padding:28px 42px 30px;
  background:#050708;
  border-top:1px solid rgba(200,146,69,.24);
}

.project-back-link{
  display:flex;
  align-items:center;
  gap:10px;
  color:#c8c2b8;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  transition:color .2s ease,gap .2s ease;
}

.project-back-link span{
  color:#d2a159;
  font-size:15px;
}

.project-back-link:hover{
  color:#e1b66d;
  gap:14px;
}

.project-next-link{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
}

.project-next-link > span{
  color:#77736c;
  font-size:7px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.project-next-link a{
  color:#ebe6dd;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  transition:color .2s ease;
}

.project-next-link b{
  margin-left:8px;
  color:#d2a159;
}

.project-next-link a:hover{
  color:#d9aa5e;
}

.project-anchor{
  display:block;
  height:0;
  scroll-margin-top:120px;
}

@media(min-width:1500px){
  .project-experience{
    padding:124px 0 108px;
  }

  .project-experience-inner{
    width:min(89%,1480px);
  }

  .project-experience-heading{
    gap:96px;
    margin-bottom:70px;
  }

  .project-experience-heading h2{
    font-size:80px;
  }

  .project-experience-heading > p{
    max-width:630px;
    font-size:14px;
  }

  .project-detail-hero{
    min-height:700px;
  }

  .project-detail-content{
    padding:66px 50px 70px;
    gap:90px;
  }

  .project-detail-gallery-preview{
    padding:0 50px 50px;
  }

  .detail-shot{
    min-height:300px;
  }

  .project-detail-navigation{
    padding-left:50px;
    padding-right:50px;
  }
}

@media(max-width:1024px){
  .project-experience{
    padding:78px 0 72px;
  }

  .project-experience-inner{
    width:min(90%,760px);
  }

  .project-experience-heading{
    grid-template-columns:1fr;
    gap:0;
    margin-bottom:44px;
  }

  .project-detail-kicker,
  .project-experience-heading h2,
  .project-experience-heading > p{
    grid-column:1;
    grid-row:auto;
  }

  .project-experience-heading > p{
    max-width:680px;
    margin-top:23px;
  }

  .project-detail-hero{
    min-height:520px;
  }

  .project-detail-content{
    grid-template-columns:1fr;
    gap:38px;
    padding:48px 34px 50px;
  }

  .project-detail-gallery-preview{
    grid-template-columns:1.2fr 1fr;
    padding:0 34px 38px;
  }

  .detail-shot--one{
    grid-column:1 / -1;
    min-height:360px;
  }

  .detail-shot--two,
  .detail-shot--three{
    min-height:260px;
  }

  .project-detail-navigation{
    padding-left:34px;
    padding-right:34px;
  }
}

@media(max-width:700px){
  .project-experience{
    padding:62px 0 58px;
  }

  .project-experience-inner{
    width:min(88%,560px);
  }

  .project-experience-heading{
    margin-bottom:34px;
  }

  .project-experience-heading h2{
    font-size:clamp(45px,13vw,59px);
  }

  .project-experience-heading > p{
    font-size:12px;
    line-height:1.72;
  }

  .project-detail-hero{
    min-height:420px;
  }

  .project-detail-title{
    left:22px;
    right:22px;
    bottom:24px;
  }

  .project-detail-title h3{
    font-size:32px;
  }

  .project-detail-number{
    top:20px;
    right:20px;
  }

  .project-detail-content{
    padding:34px 22px 38px;
  }

  .project-detail-story h4{
    font-size:26px;
  }

  .project-detail-story p{
    font-size:11px;
    line-height:1.7;
  }

  .project-facts > div{
    grid-template-columns:82px 1fr;
  }

  .project-detail-gallery-preview{
    display:flex;
    flex-direction:column;
    padding:0 22px 27px;
  }

  .detail-shot,
  .detail-shot--one,
  .detail-shot--two,
  .detail-shot--three{
    min-height:270px;
  }

  .project-detail-navigation{
    flex-direction:column;
    align-items:flex-start;
    padding:24px 22px 27px;
  }

  .project-next-link{
    align-items:flex-start;
    width:100%;
    padding-top:18px;
    border-top:1px solid rgba(200,146,69,.18);
  }
}

@media(max-width:390px){
  .project-detail-hero{
    min-height:370px;
  }

  .project-detail-title h3{
    font-size:28px;
  }

  .detail-shot,
  .detail-shot--one,
  .detail-shot--two,
  .detail-shot--three{
    min-height:230px;
  }
}

@media(prefers-reduced-motion:reduce){
  .project-detail-image,
  .project-back-link{
    transition:none!important;
  }

  .project-detail-card:hover .project-detail-image{
    transform:scale(1.02);
  }
}


/* ==========================================================
   STEP 4 / PHASE 4.4 — PROJECT GALLERY / LIGHTBOX
   ========================================================== */

/* Turn preview tiles into real buttons without changing visual design */
.detail-shot.gallery-trigger{
  position:relative;
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  padding:0;
  border:1px solid rgba(200,146,69,.18);
  cursor:pointer;
  text-align:left;
  overflow:hidden;
}

.detail-shot.gallery-trigger::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(3,5,6,.56),rgba(3,5,6,.04) 52%);
  opacity:.55;
  transition:opacity .25s ease;
}

.gallery-hover-label{
  position:absolute;
  left:18px;
  bottom:16px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#f2ede5;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(5px);
  transition:opacity .25s ease,transform .25s ease;
}

.gallery-hover-label b{
  color:#d2a159;
  font-size:13px;
}

.detail-shot.gallery-trigger:hover::before,
.detail-shot.gallery-trigger:focus-visible::before{
  opacity:.85;
}

.detail-shot.gallery-trigger:hover .gallery-hover-label,
.detail-shot.gallery-trigger:focus-visible .gallery-hover-label{
  opacity:1;
  transform:none;
}

/* Lightbox */
.project-lightbox{
  position:fixed;
  inset:0;
  z-index:10000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:32px;
}

.project-lightbox.is-open{
  display:flex;
}

.project-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,3,4,.94);
  backdrop-filter:blur(8px);
}

.project-lightbox-dialog{
  position:relative;
  z-index:2;
  width:min(94vw,1480px);
  height:min(88vh,920px);
  display:grid;
  grid-template-columns:70px 1fr 70px;
  align-items:center;
}

.lightbox-stage{
  position:relative;
  height:100%;
  min-height:0;
  overflow:hidden;
  background:#050708;
  border:1px solid rgba(200,146,69,.34);
}

.lightbox-image{
  position:absolute;
  inset:0 0 84px;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  transition:opacity .20s ease,transform .35s ease;
}

.lightbox-image.is-changing{
  opacity:.25;
  transform:scale(1.01);
}

.lightbox-meta{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  min-height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:17px 24px;
  background:rgba(5,7,8,.98);
  border-top:1px solid rgba(200,146,69,.24);
}

.lightbox-count{
  display:block;
  margin-bottom:4px;
  color:#c89245;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.lightbox-meta h3{
  margin:0;
  color:#f0ece5;
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
  font-weight:400;
}

.lightbox-caption{
  margin:0;
  color:#95918a;
  font-size:10px;
  letter-spacing:.04em;
}

.lightbox-close{
  position:absolute;
  top:-18px;
  right:78px;
  z-index:4;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(200,146,69,.52);
  background:#07090a;
  color:#e7dfd5;
  font-size:25px;
  font-weight:300;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.lightbox-close:hover{
  background:#101315;
  color:#d9aa5e;
  border-color:#d9aa5e;
}

.lightbox-nav{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  justify-self:center;
  padding:0;
  border:1px solid rgba(200,146,69,.46);
  background:rgba(7,9,10,.92);
  color:#dfd8ce;
  font-size:20px;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}

.lightbox-nav:hover{
  background:#101315;
  color:#d9aa5e;
}

.lightbox-prev:hover{
  transform:translateX(-2px);
}

.lightbox-next:hover{
  transform:translateX(2px);
}

body.lightbox-open{
  overflow:hidden;
}

/* Visible keyboard focus */
.gallery-trigger:focus-visible,
.lightbox-close:focus-visible,
.lightbox-nav:focus-visible{
  outline:2px solid #d6a55c;
  outline-offset:3px;
}

/* Touch / tablet */
@media(max-width:900px){
  .project-lightbox{
    padding:18px;
  }

  .project-lightbox-dialog{
    width:100%;
    height:86vh;
    grid-template-columns:50px 1fr 50px;
  }

  .lightbox-close{
    right:58px;
    top:-10px;
  }

  .lightbox-image{
    inset-bottom:96px;
  }

  .lightbox-meta{
    min-height:96px;
    align-items:flex-start;
    flex-direction:column;
    justify-content:center;
    gap:4px;
  }
}

/* Phones */
@media(max-width:700px){
  .gallery-hover-label{
    opacity:1;
    transform:none;
    left:14px;
    bottom:12px;
  }

  .detail-shot.gallery-trigger::before{
    opacity:.72;
  }

  .project-lightbox{
    padding:0;
  }

  .project-lightbox-dialog{
    width:100%;
    height:100%;
    grid-template-columns:1fr;
    display:block;
  }

  .lightbox-stage{
    position:absolute;
    inset:54px 0 72px;
    border-left:0;
    border-right:0;
  }

  .lightbox-image{
    inset:0 0 104px;
    background-size:contain;
    background-color:#030405;
  }

  .lightbox-meta{
    min-height:104px;
    padding:15px 18px;
  }

  .lightbox-meta h3{
    font-size:19px;
  }

  .lightbox-caption{
    font-size:9px;
  }

  .lightbox-close{
    top:8px;
    right:10px;
    width:40px;
    height:40px;
  }

  .lightbox-nav{
    position:absolute;
    bottom:12px;
    width:46px;
    height:46px;
    z-index:5;
  }

  .lightbox-prev{
    left:16px;
  }

  .lightbox-next{
    right:16px;
  }
}

@media(prefers-reduced-motion:reduce){
  .gallery-hover-label,
  .detail-shot.gallery-trigger::before,
  .lightbox-image,
  .lightbox-nav{
    transition:none!important;
  }
}


/* ==========================================================
   STEP 4 / PHASE 4.5 — CRAFTSMANSHIP DETAIL
   ========================================================== */

.craftsmanship-detail{
  position:relative;
  overflow:hidden;
  padding:108px 0 94px;
  background:
    radial-gradient(circle at 12% 10%,rgba(200,146,69,.055),transparent 24%),
    linear-gradient(145deg,#080b0d 0%,#050708 62%,#080a0b 100%);
  border-top:1px solid rgba(200,146,69,.26);
  border-bottom:1px solid rgba(200,146,69,.40);
}

.craftsmanship-detail::before{
  content:"";
  position:absolute;
  right:-180px;
  top:120px;
  width:500px;
  height:500px;
  border:1px solid rgba(200,146,69,.05);
  transform:rotate(35deg);
  pointer-events:none;
}

.craftsmanship-inner{
  position:relative;
  z-index:2;
  width:min(88%,1320px);
  margin:0 auto;
}

.craftsmanship-heading{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:82px;
  align-items:end;
  margin-bottom:60px;
}

.craftsmanship-kicker{
  grid-column:1;
  align-self:start;
  margin-top:8px;
}

.craftsmanship-heading h2{
  grid-column:1;
  margin:18px 0 0;
  color:#f5f2eb;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(52px,4.6vw,74px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.045em;
}

.craftsmanship-heading h2 span{
  color:#d3a259;
}

.craftsmanship-heading > p{
  grid-column:2;
  grid-row:1 / span 2;
  max-width:570px;
  margin:0 0 4px;
  color:#aaa69f;
  font-size:13px;
  line-height:1.78;
}

.craftsmanship-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  grid-template-rows:310px 310px;
  gap:14px;
}

.craftsmanship-card{
  position:relative;
  overflow:hidden;
  min-width:0;
  border:1px solid rgba(200,146,69,.18);
  background:#0b0e10;
}

.craftsmanship-card--large{
  grid-row:1 / span 2;
}

.craftsmanship-card--wide{
  grid-column:2;
  grid-row:2;
}

.craftsmanship-image{
  position:absolute;
  inset:0;
  background-image:url("assets/luxury-home-hero.jpg");
  background-size:cover;
  background-repeat:no-repeat;
  transform:scale(1.025);
  transition:transform 1.15s cubic-bezier(.2,.65,.25,1),filter .35s ease;
}

.craftsmanship-image--one{
  background-position:54% center;
}

.craftsmanship-image--two{
  background-position:77% 44%;
}

.craftsmanship-image--three{
  background-position:30% 64%;
}

.craftsmanship-image--four{
  background-position:66% 72%;
}

.craftsmanship-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(0deg,
      rgba(3,5,6,.92) 0%,
      rgba(3,5,6,.62) 26%,
      rgba(3,5,6,.08) 62%,
      rgba(3,5,6,.05) 100%);
}

.craftsmanship-caption{
  position:absolute;
  left:26px;
  right:26px;
  bottom:24px;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:14px;
  align-items:start;
}

.craftsmanship-caption > span{
  padding-top:4px;
  color:#d3a259;
  font-family:Georgia,"Times New Roman",serif;
  font-size:11px;
  letter-spacing:.15em;
}

.craftsmanship-caption h3{
  margin:0 0 7px;
  color:#f2eee7;
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
  font-weight:400;
  line-height:1.08;
}

.craftsmanship-card--large .craftsmanship-caption h3{
  font-size:32px;
}

.craftsmanship-caption p{
  max-width:470px;
  margin:0;
  color:#b5afa6;
  font-size:10px;
  line-height:1.62;
}

.craftsmanship-card:hover .craftsmanship-image{
  transform:scale(1.06);
  filter:saturate(1.05);
}

.craftsmanship-statement{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:17px;
  margin-top:35px;
}

.craftsmanship-statement span{
  width:58px;
  height:1px;
  background:#c89245;
}

.craftsmanship-statement p{
  margin:0;
  color:#bcb6ad;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
}

.craftsmanship-statement em{
  color:#d3a259;
  font-weight:400;
}

@media(min-width:1500px){
  .craftsmanship-detail{
    padding:120px 0 105px;
  }

  .craftsmanship-inner{
    width:min(89%,1480px);
  }

  .craftsmanship-heading{
    gap:96px;
    margin-bottom:68px;
  }

  .craftsmanship-heading h2{
    font-size:80px;
  }

  .craftsmanship-heading > p{
    max-width:630px;
    font-size:14px;
  }

  .craftsmanship-grid{
    grid-template-rows:345px 345px;
    gap:16px;
  }

  .craftsmanship-card--large .craftsmanship-caption h3{
    font-size:36px;
  }

  .craftsmanship-caption h3{
    font-size:27px;
  }

  .craftsmanship-caption p{
    font-size:11px;
  }
}

@media(max-width:1024px){
  .craftsmanship-detail{
    padding:78px 0 72px;
  }

  .craftsmanship-inner{
    width:min(90%,760px);
  }

  .craftsmanship-heading{
    grid-template-columns:1fr;
    gap:0;
    margin-bottom:43px;
  }

  .craftsmanship-kicker,
  .craftsmanship-heading h2,
  .craftsmanship-heading > p{
    grid-column:1;
    grid-row:auto;
  }

  .craftsmanship-heading > p{
    max-width:680px;
    margin-top:22px;
  }

  .craftsmanship-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:460px 280px 280px;
  }

  .craftsmanship-card--large{
    grid-column:1 / -1;
    grid-row:1;
  }

  .craftsmanship-card:nth-of-type(2){
    grid-column:1;
    grid-row:2;
  }

  .craftsmanship-card:nth-of-type(3){
    grid-column:2;
    grid-row:2;
  }

  .craftsmanship-card--wide{
    grid-column:1 / -1;
    grid-row:3;
  }
}

@media(max-width:700px){
  .craftsmanship-detail{
    padding:62px 0 58px;
  }

  .craftsmanship-inner{
    width:min(88%,560px);
  }

  .craftsmanship-heading{
    margin-bottom:34px;
  }

  .craftsmanship-heading h2{
    font-size:clamp(45px,13vw,59px);
  }

  .craftsmanship-heading > p{
    font-size:12px;
    line-height:1.72;
  }

  .craftsmanship-grid{
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  .craftsmanship-card,
  .craftsmanship-card--large,
  .craftsmanship-card--wide{
    width:100%;
    height:360px;
    min-height:360px;
  }

  .craftsmanship-card--large{
    height:430px;
    min-height:430px;
  }

  .craftsmanship-caption{
    left:20px;
    right:20px;
    bottom:20px;
    grid-template-columns:34px 1fr;
    gap:10px;
  }

  .craftsmanship-card--large .craftsmanship-caption h3,
  .craftsmanship-caption h3{
    font-size:25px;
  }

  .craftsmanship-caption p{
    font-size:10px;
  }

  .craftsmanship-statement{
    justify-content:flex-start;
    margin-top:28px;
  }

  .craftsmanship-statement span{
    width:38px;
  }

  .craftsmanship-statement p{
    font-size:15px;
  }
}

@media(max-width:390px){
  .craftsmanship-card,
  .craftsmanship-card--wide{
    height:330px;
    min-height:330px;
  }

  .craftsmanship-card--large{
    height:390px;
    min-height:390px;
  }
}

@media(prefers-reduced-motion:reduce){
  .craftsmanship-image{
    transition:none!important;
  }

  .craftsmanship-card:hover .craftsmanship-image{
    transform:scale(1.025);
  }
}


/* ==========================================================
   STEP 4 / PHASE 4.6 — PROJECTS CTA & FOOTER
   ========================================================== */

.projects-final-cta{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:440px;
  display:flex;
  align-items:center;
  background:
    url("assets/luxury-home-hero.jpg") 50% 70%/cover no-repeat;
  border-top:1px solid rgba(200,146,69,.58);
  border-bottom:1px solid rgba(200,146,69,.54);
}

.projects-final-overlay{
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,
      rgba(4,6,7,.97) 0%,
      rgba(4,6,7,.90) 38%,
      rgba(4,6,7,.62) 66%,
      rgba(4,6,7,.78) 100%),
    linear-gradient(0deg,rgba(4,6,7,.30),rgba(4,6,7,.10));
}

.projects-final-inner{
  width:min(88%,1320px);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.22fr .78fr;
  gap:90px;
  align-items:center;
  padding:86px 0 82px;
}

.projects-final-copy h2{
  margin:17px 0 22px;
  color:#f6f3ec;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(58px,5vw,82px);
  font-weight:400;
  line-height:.91;
  letter-spacing:-.045em;
}

.projects-final-copy h2 span{
  color:#d3a259;
}

.projects-final-copy p{
  max-width:610px;
  margin:0;
  color:#d4cec5;
  font-size:13px;
  line-height:1.78;
}

.projects-final-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:17px;
  padding-left:42px;
  border-left:1px solid rgba(200,146,69,.44);
}

.projects-final-primary{
  min-width:235px;
  min-height:50px;
  margin-bottom:5px;
}

.projects-final-phone{
  display:flex;
  flex-direction:column;
  gap:3px;
  transition:transform .2s ease;
}

.projects-final-phone > span{
  color:#87837c;
  font-size:8px;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.projects-final-phone strong{
  color:#eee9e1;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  font-weight:400;
  letter-spacing:.03em;
  transition:color .2s ease;
}

.projects-final-phone:hover{
  transform:translateX(3px);
}

.projects-final-phone:hover strong{
  color:#d6a55c;
}

.projects-final-email{
  color:#aaa59d;
  font-size:10px;
  letter-spacing:.03em;
  transition:color .2s ease,transform .2s ease;
}

.projects-final-email:hover{
  color:#d6a55c;
  transform:translateX(3px);
}

.projects-final-brandline{
  position:absolute;
  left:50%;
  bottom:25px;
  transform:translateX(-50%);
  width:min(88%,1320px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  white-space:nowrap;
}

.projects-final-brandline span{
  width:50px;
  height:1px;
  background:#c89245;
}

.projects-final-brandline strong,
.projects-final-brandline i{
  font-size:8px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.projects-final-brandline strong{
  color:#d7d1c8;
  font-weight:800;
}

.projects-final-brandline i{
  color:#c89245;
  font-style:normal;
  font-weight:800;
}

/* Reuse the established site footer rather than inventing another treatment. */
.projects-footer{
  border-top:0;
}

@media(min-width:1500px){
  .projects-final-cta{
    min-height:490px;
  }

  .projects-final-inner,
  .projects-final-brandline{
    width:min(89%,1480px);
  }

  .projects-final-inner{
    padding:99px 0 94px;
  }

  .projects-final-copy h2{
    font-size:90px;
  }

  .projects-final-copy p{
    max-width:670px;
    font-size:14px;
  }

  .projects-final-phone strong{
    font-size:22px;
  }
}

@media(max-width:1000px){
  .projects-final-inner{
    width:min(90%,760px);
    grid-template-columns:1fr;
    gap:34px;
    padding:72px 0 84px;
  }

  .projects-final-actions{
    padding-left:0;
    padding-top:28px;
    border-left:0;
    border-top:1px solid rgba(200,146,69,.38);
  }

  .projects-final-brandline{
    width:min(90%,760px);
  }
}

@media(max-width:700px){
  .projects-final-cta{
    min-height:0;
    background-position:62% center;
  }

  .projects-final-overlay{
    background:
      linear-gradient(0deg,
        rgba(4,6,7,.97) 0%,
        rgba(4,6,7,.90) 58%,
        rgba(4,6,7,.66) 100%);
  }

  .projects-final-inner{
    width:min(88%,560px);
    padding:58px 0 94px;
  }

  .projects-final-copy h2{
    font-size:clamp(47px,13vw,63px);
  }

  .projects-final-copy p{
    font-size:12px;
    line-height:1.72;
  }

  .projects-final-actions{
    width:100%;
  }

  .projects-final-primary{
    width:100%;
  }

  .projects-final-phone,
  .projects-final-email{
    width:100%;
  }

  .projects-final-phone{
    min-height:54px;
    justify-content:center;
  }

  .projects-final-phone strong{
    font-size:20px;
  }

  .projects-final-email{
    min-height:38px;
    display:flex;
    align-items:center;
    overflow-wrap:anywhere;
  }

  .projects-final-brandline{
    width:min(88%,560px);
    bottom:27px;
    gap:8px;
  }

  .projects-final-brandline span{
    width:22px;
  }

  .projects-final-brandline strong,
  .projects-final-brandline i{
    font-size:6px;
    letter-spacing:.13em;
  }
}

@media(max-width:390px){
  .projects-final-copy h2{
    font-size:42px;
  }

  .projects-final-brandline span{
    display:none;
  }
}


/* ==========================================================
   STEP 4 / PHASE 4.7 — FINAL PROJECTS PAGE POLISH
   ========================================================== */

/* Active Projects navigation */
.pcb-nav a[aria-current="page"]{
  color:#d9aa5e;
}
.pcb-nav a[aria-current="page"]::after{
  transform:scaleX(1);
}

/* Major-section reveal */
.projects-reveal{
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .72s cubic-bezier(.2,.65,.25,1),
    transform .72s cubic-bezier(.2,.65,.25,1);
}
.projects-reveal.is-visible{
  opacity:1;
  transform:none;
}

/* Stagger portfolio/detail content */
.projects-stagger > *{
  opacity:0;
  transform:translateY(16px);
  transition:
    opacity .52s cubic-bezier(.2,.65,.25,1),
    transform .52s cubic-bezier(.2,.65,.25,1);
}
.projects-reveal.is-visible .projects-stagger > *{
  opacity:1;
  transform:none;
}
.projects-reveal.is-visible .projects-stagger > *:nth-child(1){transition-delay:.06s}
.projects-reveal.is-visible .projects-stagger > *:nth-child(2){transition-delay:.12s}
.projects-reveal.is-visible .projects-stagger > *:nth-child(3){transition-delay:.18s}
.projects-reveal.is-visible .projects-stagger > *:nth-child(4){transition-delay:.24s}
.projects-reveal.is-visible .projects-stagger > *:nth-child(5){transition-delay:.30s}

/* Typography consistency */
.projects-page h1,
.projects-page h2,
.projects-page h3,
.projects-page h4{
  text-wrap:balance;
}
.projects-page p{
  text-wrap:pretty;
}

/* Better keyboard/touch behavior */
.projects-page a:focus-visible,
.projects-page button:focus-visible{
  outline:2px solid #d6a55c;
  outline-offset:4px;
}

.portfolio-link,
.gallery-trigger{
  -webkit-tap-highlight-color:transparent;
}

/* Project cards: refined premium interaction */
.portfolio-card{
  transition:border-color .3s ease,box-shadow .3s ease;
}
.portfolio-card:hover{
  border-color:rgba(211,162,89,.48);
  box-shadow:0 22px 54px rgba(0,0,0,.24);
}

.craftsmanship-card{
  transition:border-color .3s ease;
}
.craftsmanship-card:hover{
  border-color:rgba(211,162,89,.46);
}

/* Keep project fact values safe at narrow widths */
.project-facts dd,
.project-next-link a,
.projects-final-email{
  overflow-wrap:anywhere;
}

/* Better anchor arrival below sticky navigation */
#featured-projects,
#project-one,
#craftsmanship-detail,
.project-anchor{
  scroll-margin-top:110px;
}

/* Final lightbox polish */
.project-lightbox-dialog{
  animation:pcbLightboxIn .24s ease both;
}
@keyframes pcbLightboxIn{
  from{opacity:0;transform:scale(.992)}
  to{opacity:1;transform:scale(1)}
}

/* Tablet tuning */
@media(max-width:1024px){
  .portfolio-card:hover,
  .craftsmanship-card:hover{
    box-shadow:none;
  }

  .project-detail-title{
    max-width:80%;
  }
}

/* Mobile safeguards.
   This is intentionally a Projects-page cleanup only; the dedicated
   full-site mobile recovery pass remains separate after Step 4. */
@media(max-width:700px){
  .projects-page .section-kicker{
    line-height:1.4;
  }

  .projects-hero-rule{
    margin-top:23px;
    margin-bottom:19px;
  }

  .portfolio-card:hover .portfolio-image,
  .craftsmanship-card:hover .craftsmanship-image,
  .project-detail-card:hover .project-detail-image{
    transform:scale(1.025);
  }

  .portfolio-card:hover,
  .craftsmanship-card:hover{
    border-color:rgba(200,146,69,.18);
  }

  .portfolio-link{
    min-height:100%;
  }

  .portfolio-caption strong{
    min-height:34px;
    align-items:center;
  }

  .project-back-link{
    min-height:42px;
  }

  .project-next-link a{
    min-height:42px;
    display:flex;
    align-items:center;
  }

  .gallery-trigger{
    touch-action:manipulation;
  }

  .projects-final-phone,
  .projects-final-email{
    touch-action:manipulation;
  }
}

/* Very small phone safeguards */
@media(max-width:390px){
  .portfolio-caption h3,
  .craftsmanship-caption h3{
    overflow-wrap:anywhere;
  }

  .project-facts > div{
    grid-template-columns:72px 1fr;
    gap:12px;
  }

  .project-facts dd{
    font-size:14px;
  }

  .project-next-link a{
    font-size:15px;
  }
}

/* Landscape phones */
@media(max-width:900px) and (max-height:520px) and (orientation:landscape){
  .projects-hero-photo{
    min-height:300px;
  }

  .project-detail-hero{
    min-height:430px;
  }

  .project-lightbox-dialog{
    height:96vh;
  }

  .lightbox-stage{
    inset-top:8px;
    inset-bottom:8px;
  }
}

/* Ultra-wide desktop constraint */
@media(min-width:1900px){
  .projects-hero-inner,
  .projects-next-inner,
  .featured-projects-inner,
  .project-experience-inner,
  .craftsmanship-inner,
  .projects-final-inner,
  .projects-final-brandline{
    max-width:1520px;
  }
}

/* Reduced-motion accessibility */
@media(prefers-reduced-motion:reduce){
  .projects-reveal,
  .projects-stagger > *,
  .project-lightbox-dialog{
    opacity:1!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }
}


/* ==========================================================
   STEP 5 / PHASE 5.1 — CONTACT HERO
   ========================================================== */

.contact-page{
  background:#050708;
}

.contact-hero{
  position:relative;
  isolation:isolate;
  min-height:790px;
  overflow:hidden;
  display:flex;
  align-items:center;
  background:#050708;
  border-bottom:1px solid rgba(200,146,69,.58);
}

.contact-hero-photo{
  position:absolute;
  z-index:-4;
  inset:0;
  background:url("assets/luxury-home-hero.jpg") 62% center/cover no-repeat;
  transform:scale(1.025);
  animation:pcbContactPhotoIn 1.6s cubic-bezier(.2,.65,.25,1) both;
}

.contact-hero-overlay{
  position:absolute;
  z-index:-3;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(3,5,6,.985) 0%,
      rgba(3,5,6,.96) 29%,
      rgba(3,5,6,.82) 44%,
      rgba(3,5,6,.39) 65%,
      rgba(3,5,6,.15) 82%,
      rgba(3,5,6,.30) 100%),
    linear-gradient(0deg,rgba(3,5,6,.46),transparent 55%);
}

.contact-hero-frame{
  position:absolute;
  z-index:-1;
  top:44px;
  right:4.5%;
  bottom:44px;
  width:37%;
  border-top:1px solid rgba(216,168,91,.62);
  border-right:1px solid rgba(216,168,91,.62);
  pointer-events:none;
}

.contact-hero-frame::before{
  content:"";
  position:absolute;
  top:-1px;
  right:-1px;
  width:94px;
  height:94px;
  border-left:1px solid rgba(216,168,91,.62);
  border-bottom:1px solid rgba(216,168,91,.62);
}

.contact-hero-frame::after{
  content:"";
  position:absolute;
  right:-1px;
  bottom:0;
  width:1px;
  height:92px;
  background:linear-gradient(to top,#d1a158,transparent);
}

.contact-hero-inner{
  position:relative;
  width:min(88%,1320px);
  margin:0 auto;
  padding:205px 0 115px;
}

.contact-hero-copy{
  width:52%;
  max-width:680px;
  animation:pcbContactCopyIn .9s cubic-bezier(.2,.65,.25,1) .08s both;
}

.contact-kicker{
  margin-bottom:22px;
}

.contact-hero h1{
  margin:0;
  color:#f6f3ec;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(60px,5.05vw,86px);
  font-weight:400;
  line-height:.90;
  letter-spacing:-.048em;
  text-wrap:balance;
}

.contact-hero h1 span{
  color:#d3a259;
}

.contact-hero-rule{
  width:64px;
  height:2px;
  margin:30px 0 22px;
  background:#c89245;
}

.contact-hero-lead{
  max-width:575px;
  margin:0 0 15px;
  color:#ebe6dd;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px;
  line-height:1.52;
}

.contact-hero-body{
  max-width:555px;
  margin:0;
  color:#aaa69f;
  font-size:13px;
  line-height:1.76;
}

.contact-hero-actions{
  display:flex;
  align-items:center;
  gap:34px;
  margin-top:31px;
}

.contact-hero-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  min-width:205px;
  min-height:48px;
  padding:0 21px;
  color:#f5f0e8;
  border:1px solid rgba(200,146,69,.72);
  background:rgba(7,9,10,.58);
  font-size:8px;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
  transition:background .22s ease,color .22s ease,border-color .22s ease;
}

.contact-hero-primary span{
  color:#d3a259;
  font-size:15px;
}

.contact-hero-primary:hover{
  background:#c89245;
  border-color:#c89245;
  color:#090b0c;
}

.contact-hero-primary:hover span{
  color:#090b0c;
}

.contact-hero-phone{
  display:flex;
  flex-direction:column;
  gap:3px;
  transition:transform .2s ease;
}

.contact-hero-phone small{
  color:#89857e;
  font-size:7px;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.contact-hero-phone strong{
  color:#eee9e1;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px;
  font-weight:400;
  letter-spacing:.025em;
  transition:color .2s ease;
}

.contact-hero-phone:hover{
  transform:translateX(3px);
}

.contact-hero-phone:hover strong{
  color:#d3a259;
}

.contact-hero-signature{
  position:absolute;
  right:0;
  bottom:50px;
  display:flex;
  align-items:center;
  gap:13px;
}

.contact-hero-signature span{
  color:#e0b56d;
  font-family:Georgia,"Times New Roman",serif;
  font-size:26px;
  letter-spacing:.10em;
}

.contact-hero-signature i{
  width:42px;
  height:1px;
  background:#c89245;
}

.contact-hero-signature small{
  color:#ddd7ce;
  font-size:7px;
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
}

.contact-hero-side{
  position:absolute;
  right:2.1%;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  writing-mode:vertical-rl;
  color:#c8c2b8;
  font-size:7px;
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
}

.contact-hero-side i{
  width:1px;
  height:52px;
  background:#c89245;
}

.contact-next-phase{
  padding:58px 0 61px;
  background:
    radial-gradient(circle at 12% 0%,rgba(200,146,69,.055),transparent 22%),
    #07090a;
  border-bottom:1px solid rgba(200,146,69,.26);
}

.contact-next-inner{
  width:min(88%,1320px);
  margin:0 auto;
  display:grid;
  grid-template-columns:100px 1fr 1fr;
  gap:30px;
  align-items:center;
}

.contact-next-inner > span{
  color:#c89245;
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.contact-next-inner h2{
  margin:0;
  color:#eeeae3;
  font-family:Georgia,"Times New Roman",serif;
  font-size:32px;
  font-weight:400;
}

.contact-next-inner p{
  max-width:460px;
  margin:0;
  color:#8f8b84;
  font-size:11px;
  line-height:1.65;
}

@keyframes pcbContactCopyIn{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes pcbContactPhotoIn{
  from{opacity:.75;transform:scale(1.06)}
  to{opacity:1;transform:scale(1.025)}
}

@media(min-width:1500px){
  .contact-hero{
    min-height:850px;
  }

  .contact-hero-inner,
  .contact-next-inner{
    width:min(89%,1480px);
  }

  .contact-hero-inner{
    padding-top:225px;
  }

  .contact-hero-copy{
    max-width:735px;
  }

  .contact-hero h1{
    font-size:94px;
  }

  .contact-hero-lead{
    font-size:21px;
  }

  .contact-hero-body{
    font-size:14px;
  }
}

/* Preliminary tablet/mobile behavior only.
   Full-site mobile recovery is intentionally reserved for Step 6. */
@media(max-width:1024px){
  .contact-hero{
    min-height:0;
    display:block;
  }

  .contact-hero-photo{
    position:relative;
    inset:auto;
    height:54vw;
    min-height:430px;
    max-height:590px;
    background-position:center 58%;
    transform:none;
    animation:none;
  }

  .contact-hero-overlay{
    display:none;
  }

  .contact-hero-frame{
    top:25px;
    right:5%;
    bottom:auto;
    width:44%;
    height:210px;
  }

  .contact-hero-inner{
    width:100%;
    padding:0;
  }

  .contact-hero-copy{
    width:100%;
    max-width:none;
    padding:68px 6vw 64px;
    background:
      radial-gradient(circle at 8% 12%,rgba(200,146,69,.07),transparent 24%),
      #050708;
  }

  .contact-hero h1{
    max-width:800px;
    font-size:clamp(54px,9vw,78px);
  }

  .contact-hero-lead,
  .contact-hero-body{
    max-width:680px;
  }

  .contact-hero-signature,
  .contact-hero-side{
    display:none;
  }

  .contact-next-inner{
    width:min(90%,760px);
    grid-template-columns:80px 1fr;
  }

  .contact-next-inner p{
    grid-column:2;
  }
}

@media(max-width:700px){
  .contact-hero-photo{
    height:68vw;
    min-height:330px;
    max-height:430px;
    background-position:62% center;
  }

  .contact-hero-frame{
    top:18px;
    right:6%;
    width:48%;
    height:135px;
  }

  .contact-hero-frame::before{
    width:55px;
    height:55px;
  }

  .contact-hero-copy{
    padding:55px 6vw 56px;
  }

  .contact-hero h1{
    font-size:clamp(45px,12.6vw,61px);
  }

  .contact-hero-lead{
    font-size:17px;
  }

  .contact-hero-body{
    font-size:12px;
    line-height:1.7;
  }

  .contact-hero-actions{
    flex-direction:column;
    align-items:stretch;
    gap:18px;
    margin-top:27px;
  }

  .contact-hero-primary{
    width:100%;
    justify-content:space-between;
  }

  .contact-hero-phone{
    min-height:54px;
    justify-content:center;
  }

  .contact-next-phase{
    padding:43px 0 46px;
  }

  .contact-next-inner{
    width:min(88%,560px);
    grid-template-columns:1fr;
    gap:10px;
  }

  .contact-next-inner p{
    grid-column:1;
  }

  .contact-next-inner h2{
    font-size:29px;
  }
}

@media(max-width:390px){
  .contact-hero h1{
    font-size:42px;
  }
}

@media(prefers-reduced-motion:reduce){
  .contact-hero-copy,
  .contact-hero-photo{
    animation:none!important;
  }
}


/* ==========================================================
   STEP 5 / PHASE 5.2 — START THE CONVERSATION
   ========================================================== */

.start-conversation{
  position:relative;
  overflow:hidden;
  padding:108px 0 92px;
  background:
    radial-gradient(circle at 88% 18%,rgba(200,146,69,.055),transparent 25%),
    linear-gradient(145deg,#080b0d 0%,#050708 62%,#080a0b 100%);
  border-bottom:1px solid rgba(200,146,69,.34);
}

.start-conversation::before{
  content:"";
  position:absolute;
  right:-190px;
  top:70px;
  width:500px;
  height:500px;
  border:1px solid rgba(200,146,69,.05);
  transform:rotate(35deg);
  pointer-events:none;
}

.start-conversation-inner{
  position:relative;
  z-index:2;
  width:min(88%,1320px);
  margin:0 auto;
}

.conversation-intro{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:86px;
  align-items:end;
  margin-bottom:58px;
}

.conversation-kicker{
  margin-bottom:18px;
}

.conversation-intro h2{
  margin:0;
  color:#f5f2eb;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(52px,4.6vw,74px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.045em;
}

.conversation-intro h2 span{
  color:#d3a259;
}

.conversation-intro-copy{
  max-width:570px;
  padding-bottom:3px;
}

.conversation-intro-copy p{
  margin:0;
  color:#96928b;
  font-size:12px;
  line-height:1.75;
}

.conversation-intro-copy .conversation-lead{
  margin-bottom:14px;
  color:#ddd7ce;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
  line-height:1.5;
}

.conversation-contact-panel{
  position:relative;
  display:grid;
  grid-template-columns:.8fr 1px 1.2fr;
  gap:48px;
  align-items:center;
  min-height:235px;
  padding:42px 48px;
  background:
    linear-gradient(135deg,rgba(14,17,19,.97),rgba(7,9,10,.98));
  border-top:1px solid rgba(200,146,69,.52);
  border-bottom:1px solid rgba(200,146,69,.30);
}

.conversation-contact-panel::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:105px;
  height:105px;
  border-right:1px solid rgba(200,146,69,.34);
  border-bottom:1px solid rgba(200,146,69,.34);
  pointer-events:none;
}

.conversation-person{
  display:flex;
  align-items:center;
  gap:26px;
}

.conversation-monogram{
  flex:0 0 92px;
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  border:1px solid rgba(200,146,69,.58);
  position:relative;
}

.conversation-monogram::before,
.conversation-monogram::after{
  content:"";
  position:absolute;
  width:17px;
  height:17px;
}

.conversation-monogram::before{
  top:-1px;
  left:-1px;
  border-top:2px solid #d3a259;
  border-left:2px solid #d3a259;
}

.conversation-monogram::after{
  right:-1px;
  bottom:-1px;
  border-right:2px solid #d3a259;
  border-bottom:2px solid #d3a259;
}

.conversation-monogram span{
  color:#d9aa5e;
  font-family:Georgia,"Times New Roman",serif;
  font-size:29px;
  letter-spacing:.08em;
}

.conversation-eyebrow{
  display:block;
  margin-bottom:7px;
  color:#c89245;
  font-size:7px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.conversation-person-copy h3{
  margin:0 0 5px;
  color:#f2eee7;
  font-family:Georgia,"Times New Roman",serif;
  font-size:32px;
  font-weight:400;
}

.conversation-person-copy p{
  margin:0;
  color:#8f8b84;
  font-size:10px;
  letter-spacing:.06em;
}

.conversation-divider{
  align-self:stretch;
  width:1px;
  background:linear-gradient(transparent,rgba(200,146,69,.45),transparent);
}

.conversation-methods{
  display:grid;
  grid-template-columns:1fr;
}

.conversation-method{
  display:grid;
  grid-template-columns:38px 1fr 24px;
  gap:15px;
  align-items:center;
  min-height:78px;
  padding:12px 8px;
  border-bottom:1px solid rgba(200,146,69,.17);
  transition:padding-left .22s ease,background .22s ease;
}

.conversation-method:last-child{
  border-bottom:0;
}

.conversation-method:hover{
  padding-left:14px;
  background:rgba(200,146,69,.035);
}

.conversation-method-number{
  color:#b8843e;
  font-family:Georgia,"Times New Roman",serif;
  font-size:10px;
  letter-spacing:.12em;
}

.conversation-method small{
  display:block;
  margin-bottom:4px;
  color:#77736c;
  font-size:7px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.conversation-method strong{
  color:#e9e4dc;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
  font-weight:400;
  overflow-wrap:anywhere;
}

.conversation-method > b{
  color:#d3a259;
  font-size:15px;
  transition:transform .22s ease;
}

.conversation-method:hover > b{
  transform:translateX(4px);
}

.conversation-note{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:16px;
  margin-top:31px;
}

.conversation-note span{
  width:58px;
  height:1px;
  background:#c89245;
}

.conversation-note p{
  margin:0;
  color:#b9b3aa;
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
  font-style:italic;
}

@media(min-width:1500px){
  .start-conversation{
    padding:120px 0 104px;
  }
  .start-conversation-inner{
    width:min(89%,1480px);
  }
  .conversation-intro{
    gap:98px;
    margin-bottom:66px;
  }
  .conversation-intro h2{
    font-size:80px;
  }
  .conversation-intro-copy{
    max-width:630px;
  }
  .conversation-intro-copy p{
    font-size:13px;
  }
  .conversation-intro-copy .conversation-lead{
    font-size:20px;
  }
  .conversation-contact-panel{
    min-height:255px;
    padding:48px 55px;
    gap:55px;
  }
}

@media(max-width:1024px){
  .start-conversation{
    padding:78px 0 70px;
  }
  .start-conversation-inner{
    width:min(90%,760px);
  }
  .conversation-intro{
    grid-template-columns:1fr;
    gap:23px;
    margin-bottom:43px;
  }
  .conversation-intro-copy{
    max-width:680px;
  }
  .conversation-contact-panel{
    grid-template-columns:1fr;
    gap:30px;
    padding:38px 36px;
  }
  .conversation-divider{
    width:100%;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(200,146,69,.45),transparent);
  }
}

@media(max-width:700px){
  .start-conversation{
    padding:62px 0 56px;
  }
  .start-conversation-inner{
    width:min(88%,560px);
  }
  .conversation-intro{
    margin-bottom:34px;
  }
  .conversation-intro h2{
    font-size:clamp(45px,13vw,59px);
  }
  .conversation-intro-copy p{
    font-size:12px;
    line-height:1.7;
  }
  .conversation-intro-copy .conversation-lead{
    font-size:17px;
  }
  .conversation-contact-panel{
    padding:30px 22px;
  }
  .conversation-person{
    gap:18px;
  }
  .conversation-monogram{
    flex-basis:76px;
    width:76px;
    height:76px;
  }
  .conversation-monogram span{
    font-size:24px;
  }
  .conversation-person-copy h3{
    font-size:27px;
  }
  .conversation-method{
    grid-template-columns:30px 1fr 20px;
    gap:10px;
    min-height:76px;
    padding-left:0;
    padding-right:0;
  }
  .conversation-method strong{
    font-size:16px;
  }
  .conversation-note{
    justify-content:flex-start;
    align-items:flex-start;
    margin-top:27px;
  }
  .conversation-note span{
    width:38px;
    margin-top:10px;
    flex:0 0 auto;
  }
  .conversation-note p{
    font-size:14px;
    line-height:1.5;
  }
}

@media(max-width:390px){
  .conversation-person{
    align-items:flex-start;
    flex-direction:column;
  }
  .conversation-contact-panel::after{
    width:65px;
    height:65px;
  }
  .conversation-method strong{
    font-size:14px;
  }
}

@media(prefers-reduced-motion:reduce){
  .conversation-method,
  .conversation-method > b{
    transition:none!important;
  }
}


/* ==========================================================
   STEP 5 / PHASE 5.3 — PROJECT INQUIRY FORM
   ========================================================== */

.project-inquiry{
  position:relative;
  overflow:hidden;
  padding:108px 0 94px;
  background:
    radial-gradient(circle at 10% 12%,rgba(200,146,69,.05),transparent 24%),
    linear-gradient(145deg,#07090b 0%,#050708 62%,#080a0b 100%);
  border-bottom:1px solid rgba(200,146,69,.34);
}

.project-inquiry-inner{
  position:relative;
  z-index:2;
  width:min(88%,1320px);
  margin:0 auto;
}

.inquiry-heading{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:82px;
  align-items:end;
  margin-bottom:56px;
}

.inquiry-kicker{
  grid-column:1;
  align-self:start;
  margin-top:8px;
}

.inquiry-heading h2{
  grid-column:1;
  margin:18px 0 0;
  color:#f5f2eb;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(52px,4.6vw,74px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.045em;
}

.inquiry-heading h2 span{
  color:#d3a259;
}

.inquiry-heading > p{
  grid-column:2;
  grid-row:1 / span 2;
  max-width:580px;
  margin:0 0 4px;
  color:#aaa69f;
  font-size:13px;
  line-height:1.78;
}

.inquiry-layout{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:0;
  border-top:1px solid rgba(200,146,69,.48);
  border-bottom:1px solid rgba(200,146,69,.30);
  background:linear-gradient(145deg,#0b0e10,#07090a);
}

.inquiry-form{
  padding:48px 48px 44px;
}

.inquiry-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-bottom:20px;
}

.inquiry-form label{
  display:block;
}

.inquiry-form label > span{
  display:block;
  margin-bottom:8px;
  color:#c5bfb6;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.inquiry-form input,
.inquiry-form select,
.inquiry-form textarea{
  width:100%;
  border:1px solid rgba(200,146,69,.22);
  background:#050708;
  color:#eee9e1;
  padding:14px 15px;
  outline:none;
  border-radius:0;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}

.inquiry-form input,
.inquiry-form select{
  min-height:48px;
}

.inquiry-form textarea{
  resize:vertical;
  min-height:170px;
  line-height:1.6;
}

.inquiry-form input::placeholder,
.inquiry-form textarea::placeholder{
  color:#6f6b65;
}

.inquiry-form input:focus,
.inquiry-form select:focus,
.inquiry-form textarea:focus{
  border-color:#c89245;
  background:#080a0b;
  box-shadow:0 0 0 2px rgba(200,146,69,.08);
}

.inquiry-message{
  margin-top:2px;
}

.inquiry-form-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-top:24px;
}

.inquiry-form-footer p{
  max-width:470px;
  margin:0;
  color:#7f7b75;
  font-size:10px;
  line-height:1.55;
}

.inquiry-submit{
  flex:0 0 auto;
  min-width:190px;
  min-height:48px;
  border:0;
  cursor:pointer;
}

.inquiry-status{
  min-height:22px;
  margin-top:14px;
  color:#d5a55d;
  font-size:10px;
  letter-spacing:.04em;
}

.inquiry-sidebar{
  position:relative;
  padding:48px 42px;
  border-left:1px solid rgba(200,146,69,.22);
  background:
    radial-gradient(circle at 80% 10%,rgba(200,146,69,.06),transparent 24%),
    #080a0b;
}

.inquiry-sidebar-number{
  color:#c89245;
  font-family:Georgia,"Times New Roman",serif;
  font-size:12px;
  letter-spacing:.15em;
}

.inquiry-sidebar h3{
  margin:21px 0 17px;
  color:#f0ece5;
  font-family:Georgia,"Times New Roman",serif;
  font-size:29px;
  font-weight:400;
  line-height:1.08;
}

.inquiry-sidebar > p{
  margin:0;
  color:#8f8b84;
  font-size:11px;
  line-height:1.72;
}

.inquiry-sidebar-rule{
  width:48px;
  height:1px;
  margin:27px 0 22px;
  background:#c89245;
}

.inquiry-sidebar-contact{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.inquiry-sidebar-contact > span{
  margin-bottom:4px;
  color:#77736c;
  font-size:7px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.inquiry-sidebar-contact a{
  color:#e8e2d9;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  overflow-wrap:anywhere;
  transition:color .2s ease;
}

.inquiry-sidebar-contact a:last-child{
  font-family:inherit;
  font-size:10px;
}

.inquiry-sidebar-contact a:hover{
  color:#d3a259;
}

.inquiry-form .field-error{
  border-color:#d18a67 !important;
}

@media(min-width:1500px){
  .project-inquiry{
    padding:120px 0 106px;
  }

  .project-inquiry-inner{
    width:min(89%,1480px);
  }

  .inquiry-heading{
    gap:96px;
    margin-bottom:64px;
  }

  .inquiry-heading h2{
    font-size:80px;
  }

  .inquiry-heading > p{
    max-width:640px;
    font-size:14px;
  }

  .inquiry-form{
    padding:55px 56px 50px;
  }

  .inquiry-sidebar{
    padding:55px 48px;
  }
}

@media(max-width:1024px){
  .project-inquiry{
    padding:78px 0 70px;
  }

  .project-inquiry-inner{
    width:min(90%,760px);
  }

  .inquiry-heading{
    grid-template-columns:1fr;
    gap:0;
    margin-bottom:43px;
  }

  .inquiry-kicker,
  .inquiry-heading h2,
  .inquiry-heading > p{
    grid-column:1;
    grid-row:auto;
  }

  .inquiry-heading > p{
    max-width:680px;
    margin-top:22px;
  }

  .inquiry-layout{
    grid-template-columns:1fr;
  }

  .inquiry-sidebar{
    border-left:0;
    border-top:1px solid rgba(200,146,69,.22);
  }
}

@media(max-width:700px){
  .project-inquiry{
    padding:62px 0 56px;
  }

  .project-inquiry-inner{
    width:min(88%,560px);
  }

  .inquiry-heading{
    margin-bottom:34px;
  }

  .inquiry-heading h2{
    font-size:clamp(45px,13vw,59px);
  }

  .inquiry-heading > p{
    font-size:12px;
    line-height:1.72;
  }

  .inquiry-form{
    padding:30px 22px 32px;
  }

  .inquiry-form-row{
    grid-template-columns:1fr;
    gap:16px;
    margin-bottom:16px;
  }

  .inquiry-form-footer{
    flex-direction:column;
    align-items:stretch;
    gap:18px;
  }

  .inquiry-submit{
    width:100%;
  }

  .inquiry-sidebar{
    padding:30px 22px;
  }

  .inquiry-sidebar h3{
    font-size:26px;
  }
}


/* ==========================================================
   STEP 5 / PHASE 5.4 — WHAT HAPPENS NEXT
   ========================================================== */

.what-happens-next{
  position:relative;
  overflow:hidden;
  padding:106px 0 88px;
  background:
    radial-gradient(circle at 88% 12%,rgba(200,146,69,.05),transparent 24%),
    linear-gradient(140deg,#080b0d 0%,#050708 62%,#080a0b 100%);
  border-bottom:1px solid rgba(200,146,69,.34);
}

.what-happens-next::before{
  content:"";
  position:absolute;
  left:-190px;
  bottom:-270px;
  width:560px;
  height:560px;
  border:1px solid rgba(200,146,69,.05);
  transform:rotate(35deg);
  pointer-events:none;
}

.what-happens-inner{
  position:relative;
  z-index:2;
  width:min(88%,1320px);
  margin:0 auto;
}

.next-steps-heading{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:82px;
  align-items:end;
  margin-bottom:56px;
}

.next-steps-kicker{
  grid-column:1;
  align-self:start;
  margin-top:8px;
}

.next-steps-heading h2{
  grid-column:1;
  margin:18px 0 0;
  color:#f5f2eb;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(52px,4.6vw,74px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.045em;
}

.next-steps-heading h2 span{
  color:#d3a259;
}

.next-steps-heading > p{
  grid-column:2;
  grid-row:1 / span 2;
  max-width:580px;
  margin:0 0 4px;
  color:#aaa69f;
  font-size:13px;
  line-height:1.78;
}

.next-steps-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(200,146,69,.45);
  border-bottom:1px solid rgba(200,146,69,.24);
}

.next-step-card{
  position:relative;
  min-height:295px;
  padding:33px 31px 36px;
  border-right:1px solid rgba(200,146,69,.20);
  transition:background .28s ease,transform .28s ease,border-color .28s ease;
}

.next-step-card:first-child{
  padding-left:8px;
}

.next-step-card:last-child{
  padding-right:8px;
  border-right:0;
}

.next-step-card:hover{
  transform:translateY(-3px);
  background:linear-gradient(to bottom,rgba(200,146,69,.055),rgba(200,146,69,0));
  border-color:rgba(200,146,69,.38);
}

.next-step-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:34px;
  margin-bottom:29px;
}

.next-step-number{
  color:#c89245;
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  letter-spacing:.15em;
}

.next-step-arrow{
  color:#b98139;
  font-size:20px;
  font-weight:300;
}

.next-step-final{
  font-size:10px;
}

.next-step-card h3{
  margin:0 0 15px;
  color:#f0ece5;
  font-family:Georgia,"Times New Roman",serif;
  font-size:26px;
  font-weight:400;
  line-height:1.08;
}

.next-step-card p{
  max-width:340px;
  margin:0;
  color:#929088;
  font-size:12px;
  line-height:1.72;
}

.next-steps-closing{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:17px;
  margin-top:35px;
}

.next-steps-closing span{
  width:56px;
  height:1px;
  background:#c89245;
}

.next-steps-closing p{
  margin:0;
  color:#bdb7ae;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  font-style:italic;
}

@media(min-width:1500px){
  .what-happens-next{
    padding:119px 0 102px;
  }

  .what-happens-inner{
    width:min(89%,1480px);
  }

  .next-steps-heading{
    gap:96px;
    margin-bottom:64px;
  }

  .next-steps-heading h2{
    font-size:80px;
  }

  .next-steps-heading > p{
    max-width:640px;
    font-size:14px;
  }

  .next-step-card{
    min-height:320px;
    padding-top:39px;
  }

  .next-step-card h3{
    font-size:29px;
  }

  .next-step-card p{
    font-size:13px;
  }
}

@media(max-width:1024px){
  .what-happens-next{
    padding:78px 0 70px;
  }

  .what-happens-inner{
    width:min(90%,760px);
  }

  .next-steps-heading{
    grid-template-columns:1fr;
    gap:0;
    margin-bottom:42px;
  }

  .next-steps-kicker,
  .next-steps-heading h2,
  .next-steps-heading > p{
    grid-column:1;
    grid-row:auto;
  }

  .next-steps-heading > p{
    max-width:680px;
    margin-top:22px;
  }
}

@media(max-width:700px){
  .what-happens-next{
    padding:62px 0 56px;
  }

  .what-happens-inner{
    width:min(88%,560px);
  }

  .next-steps-heading{
    margin-bottom:34px;
  }

  .next-steps-heading h2{
    font-size:clamp(45px,13vw,59px);
  }

  .next-steps-heading > p{
    font-size:12px;
    line-height:1.72;
  }

  .next-steps-grid{
    grid-template-columns:1fr;
    border-bottom:0;
  }

  .next-step-card,
  .next-step-card:first-child,
  .next-step-card:last-child{
    min-height:0;
    padding:28px 0 31px;
    border-right:0;
    border-bottom:1px solid rgba(200,146,69,.20);
  }

  .next-step-card:hover{
    transform:none;
    background:none;
  }

  .next-step-top{
    margin-bottom:18px;
  }

  .next-step-arrow{
    transform:rotate(90deg);
  }

  .next-step-final{
    transform:none;
  }

  .next-step-card h3{
    font-size:24px;
  }

  .next-step-card p{
    font-size:12px;
  }

  .next-steps-closing{
    justify-content:flex-start;
    margin-top:28px;
  }

  .next-steps-closing span{
    width:30px;
  }

  .next-steps-closing p{
    font-size:14px;
    line-height:1.45;
  }
}

@media(max-width:390px){
  .next-steps-closing span:last-child{
    display:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .next-step-card{
    transition:none!important;
  }
}


/* ==========================================================
   STEP 5 / PHASE 5.5 — CONTACT VISUAL / BRAND MOMENT
   ========================================================== */

.contact-brand-moment{
  position:relative;
  isolation:isolate;
  min-height:680px;
  overflow:hidden;
  display:flex;
  align-items:center;
  border-top:1px solid rgba(200,146,69,.48);
  border-bottom:1px solid rgba(200,146,69,.56);
  background:#050708;
}

.contact-brand-image{
  position:absolute;
  inset:-3%;
  z-index:-4;
  background:url("assets/luxury-home-hero.jpg") 53% 62%/cover no-repeat;
  transform:scale(1.035);
  transition:transform 8s cubic-bezier(.2,.65,.25,1);
}

.contact-brand-moment:hover .contact-brand-image{
  transform:scale(1.065);
}

.contact-brand-overlay{
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    linear-gradient(90deg,
      rgba(3,5,6,.96) 0%,
      rgba(3,5,6,.88) 28%,
      rgba(3,5,6,.60) 51%,
      rgba(3,5,6,.24) 73%,
      rgba(3,5,6,.31) 100%),
    linear-gradient(0deg,rgba(3,5,6,.46),transparent 58%);
}

.contact-brand-frame{
  position:absolute;
  z-index:-1;
  top:38px;
  right:4.5%;
  bottom:38px;
  width:38%;
  border-top:1px solid rgba(216,168,91,.65);
  border-right:1px solid rgba(216,168,91,.65);
  pointer-events:none;
}

.contact-brand-frame::before{
  content:"";
  position:absolute;
  top:-1px;
  right:-1px;
  width:84px;
  height:84px;
  border-left:1px solid rgba(216,168,91,.65);
  border-bottom:1px solid rgba(216,168,91,.65);
}

.contact-brand-frame::after{
  content:"";
  position:absolute;
  right:-1px;
  bottom:0;
  width:1px;
  height:82px;
  background:linear-gradient(to top,#d1a158,transparent);
}

.contact-brand-inner{
  width:min(88%,1320px);
  margin:0 auto;
  padding:105px 0;
}

.contact-brand-copy{
  max-width:700px;
}

.contact-brand-kicker{
  margin-bottom:24px;
}

.contact-brand-copy blockquote{
  margin:0;
  max-width:690px;
  color:#f5f1e9;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(50px,4.8vw,76px);
  font-weight:400;
  line-height:1.01;
  letter-spacing:-.04em;
}

.contact-brand-copy blockquote::first-letter{
  color:#d3a259;
}

.contact-brand-rule{
  width:64px;
  height:2px;
  margin:31px 0 23px;
  background:#c89245;
}

.contact-brand-copy > p{
  max-width:560px;
  margin:0;
  color:#d4cec5;
  font-size:13px;
  line-height:1.8;
}

.contact-brand-signature{
  display:flex;
  align-items:baseline;
  gap:15px;
  margin-top:30px;
}

.contact-brand-signature span{
  color:#817d76;
  font-size:8px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.contact-brand-signature strong{
  color:#d4a45c;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  font-weight:400;
}

.contact-brand-corner{
  position:absolute;
  right:5%;
  bottom:54px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
}

.contact-brand-corner span{
  color:#e0b56d;
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
  letter-spacing:.10em;
}

.contact-brand-corner small{
  color:#ddd7ce;
  font-size:7px;
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
}

@media(min-width:1500px){
  .contact-brand-moment{
    min-height:760px;
  }

  .contact-brand-inner{
    width:min(89%,1480px);
    padding:125px 0;
  }

  .contact-brand-copy{
    max-width:760px;
  }

  .contact-brand-copy blockquote{
    max-width:750px;
    font-size:82px;
  }

  .contact-brand-copy > p{
    max-width:620px;
    font-size:14px;
  }
}

@media(max-width:1024px){
  .contact-brand-moment{
    min-height:610px;
    align-items:flex-end;
  }

  .contact-brand-image{
    inset:0;
    background-position:60% center;
    transform:none;
  }

  .contact-brand-moment:hover .contact-brand-image{
    transform:none;
  }

  .contact-brand-overlay{
    background:
      linear-gradient(0deg,
        rgba(3,5,6,.96) 0%,
        rgba(3,5,6,.82) 40%,
        rgba(3,5,6,.34) 72%,
        rgba(3,5,6,.16) 100%);
  }

  .contact-brand-frame{
    top:28px;
    right:5%;
    bottom:auto;
    width:52%;
    height:200px;
  }

  .contact-brand-inner{
    width:min(90%,760px);
    padding:220px 0 70px;
  }

  .contact-brand-copy{
    max-width:650px;
  }

  .contact-brand-corner{
    display:none;
  }
}

@media(max-width:700px){
  .contact-brand-moment{
    min-height:560px;
  }

  .contact-brand-image{
    background-position:64% center;
  }

  .contact-brand-inner{
    width:min(88%,560px);
    padding:190px 0 54px;
  }

  .contact-brand-copy blockquote{
    font-size:clamp(43px,12vw,58px);
    line-height:1.02;
  }

  .contact-brand-copy > p{
    font-size:12px;
    line-height:1.72;
  }

  .contact-brand-signature{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    margin-top:24px;
  }

  .contact-brand-frame{
    top:21px;
    right:6%;
    width:58%;
    height:145px;
  }
}

@media(max-width:390px){
  .contact-brand-copy blockquote{
    font-size:40px;
  }
}

@media(prefers-reduced-motion:reduce){
  .contact-brand-image{
    transition:none!important;
    transform:none!important;
  }

  .contact-brand-moment:hover .contact-brand-image{
    transform:none!important;
  }
}


/* ==========================================================
   STEP 5 / PHASE 5.6 — FINAL CONTACT CTA & FOOTER
   ========================================================== */

.contact-final-cta{
  position:relative;
  overflow:hidden;
  padding:100px 0 82px;
  background:
    radial-gradient(circle at 10% 0%,rgba(200,146,69,.065),transparent 24%),
    radial-gradient(circle at 92% 100%,rgba(200,146,69,.04),transparent 25%),
    linear-gradient(145deg,#090c0e 0%,#050708 62%,#080a0b 100%);
  border-bottom:1px solid rgba(200,146,69,.50);
}

.contact-final-cta::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:1px;
  height:38px;
  background:linear-gradient(#c89245,transparent);
}

.contact-final-inner{
  position:relative;
  z-index:2;
  width:min(88%,1320px);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:90px;
  align-items:center;
}

.contact-final-copy h2{
  margin:18px 0 22px;
  color:#f6f3ec;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(58px,5vw,82px);
  font-weight:400;
  line-height:.91;
  letter-spacing:-.045em;
}

.contact-final-copy h2 span{
  color:#d3a259;
}

.contact-final-copy > p{
  max-width:610px;
  margin:0;
  color:#aaa69f;
  font-size:13px;
  line-height:1.78;
}

.contact-final-actions{
  padding-left:42px;
  border-left:1px solid rgba(200,146,69,.42);
}

.contact-final-primary{
  min-width:225px;
  min-height:50px;
  margin-bottom:28px;
}

.contact-final-direct{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:13px;
}

.contact-final-direct > span{
  color:#77736c;
  font-size:7px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.contact-final-direct > a{
  display:flex;
  flex-direction:column;
  gap:3px;
  transition:transform .2s ease;
}

.contact-final-direct > a:hover{
  transform:translateX(3px);
}

.contact-final-direct small{
  color:#7f7b74;
  font-size:7px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.contact-final-direct strong{
  color:#eee9e1;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
  font-weight:400;
  overflow-wrap:anywhere;
  transition:color .2s ease;
}

.contact-final-direct > a:last-child strong{
  font-family:inherit;
  font-size:11px;
}

.contact-final-direct > a:hover strong{
  color:#d3a259;
}

.contact-final-brandline{
  width:min(88%,1320px);
  margin:62px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
}

.contact-final-brandline span{
  width:50px;
  height:1px;
  background:#c89245;
}

.contact-final-brandline strong,
.contact-final-brandline i{
  font-size:8px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.contact-final-brandline strong{
  color:#d7d1c8;
  font-weight:800;
}

.contact-final-brandline i{
  color:#c89245;
  font-style:normal;
  font-weight:800;
}

.contact-footer{
  border-top:0;
}

@media(min-width:1500px){
  .contact-final-cta{
    padding:116px 0 92px;
  }

  .contact-final-inner,
  .contact-final-brandline{
    width:min(89%,1480px);
  }

  .contact-final-copy h2{
    font-size:90px;
  }

  .contact-final-copy > p{
    max-width:670px;
    font-size:14px;
  }

  .contact-final-direct strong{
    font-size:20px;
  }
}

@media(max-width:1024px){
  .contact-final-cta{
    padding:78px 0 72px;
  }

  .contact-final-inner{
    width:min(90%,760px);
    grid-template-columns:1fr;
    gap:36px;
  }

  .contact-final-actions{
    padding-left:0;
    padding-top:29px;
    border-left:0;
    border-top:1px solid rgba(200,146,69,.38);
  }

  .contact-final-brandline{
    width:min(90%,760px);
    margin-top:50px;
  }
}

@media(max-width:700px){
  .contact-final-cta{
    padding:62px 0 58px;
  }

  .contact-final-inner{
    width:min(88%,560px);
  }

  .contact-final-copy h2{
    font-size:clamp(47px,13vw,63px);
  }

  .contact-final-copy > p{
    font-size:12px;
    line-height:1.72;
  }

  .contact-final-primary{
    width:100%;
  }

  .contact-final-direct{
    width:100%;
  }

  .contact-final-direct > a{
    width:100%;
    min-height:49px;
    justify-content:center;
  }

  .contact-final-direct strong{
    font-size:19px;
  }

  .contact-final-brandline{
    width:min(88%,560px);
    margin-top:43px;
    gap:8px;
  }

  .contact-final-brandline span{
    width:22px;
  }

  .contact-final-brandline strong,
  .contact-final-brandline i{
    font-size:6px;
    letter-spacing:.13em;
  }
}

@media(max-width:390px){
  .contact-final-copy h2{
    font-size:42px;
  }

  .contact-final-brandline span{
    display:none;
  }
}


/* ==========================================================
   STEP 5 / PHASE 5.7 — FINAL CONTACT PAGE POLISH & QA
   ========================================================== */

/* Active Contact navigation */
.pcb-nav a[aria-current="page"]{
  color:#d9aa5e;
}
.pcb-nav a[aria-current="page"]::after{
  transform:scaleX(1);
}

/* Smooth anchor travel while respecting motion preferences below */
html{
  scroll-behavior:smooth;
}

/* Major Contact section reveals */
.contact-reveal{
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .72s cubic-bezier(.2,.65,.25,1),
    transform .72s cubic-bezier(.2,.65,.25,1);
}

.contact-reveal.is-visible{
  opacity:1;
  transform:none;
}

/* Small stagger polish for high-value interaction groups */
.contact-stagger > *{
  opacity:0;
  transform:translateY(14px);
  transition:
    opacity .5s cubic-bezier(.2,.65,.25,1),
    transform .5s cubic-bezier(.2,.65,.25,1);
}

.contact-reveal.is-visible .contact-stagger > *{
  opacity:1;
  transform:none;
}

.contact-reveal.is-visible .contact-stagger > *:nth-child(1){transition-delay:.05s}
.contact-reveal.is-visible .contact-stagger > *:nth-child(2){transition-delay:.10s}
.contact-reveal.is-visible .contact-stagger > *:nth-child(3){transition-delay:.15s}
.contact-reveal.is-visible .contact-stagger > *:nth-child(4){transition-delay:.20s}
.contact-reveal.is-visible .contact-stagger > *:nth-child(5){transition-delay:.25s}
.contact-reveal.is-visible .contact-stagger > *:nth-child(6){transition-delay:.30s}

/* Typography consistency */
.contact-page h1,
.contact-page h2,
.contact-page h3{
  text-wrap:balance;
}

.contact-page p{
  text-wrap:pretty;
}

/* Form usability polish */
.inquiry-form input,
.inquiry-form select,
.inquiry-form textarea,
.inquiry-submit{
  font:inherit;
}

.inquiry-form select{
  cursor:pointer;
}

.inquiry-form textarea{
  max-height:420px;
}

.inquiry-form input:-webkit-autofill,
.inquiry-form input:-webkit-autofill:hover,
.inquiry-form input:-webkit-autofill:focus{
  -webkit-text-fill-color:#eee9e1;
  -webkit-box-shadow:0 0 0 1000px #050708 inset;
  transition:background-color 9999s ease-in-out 0s;
}

.inquiry-form .field-error{
  box-shadow:0 0 0 1px rgba(209,138,103,.15);
}

.inquiry-status:not(:empty){
  padding-top:3px;
}

/* Keyboard focus treatment across Contact */
.contact-page a:focus-visible,
.contact-page button:focus-visible,
.contact-page input:focus-visible,
.contact-page select:focus-visible,
.contact-page textarea:focus-visible{
  outline:2px solid #d6a55c;
  outline-offset:4px;
}

/* Anchor arrivals clear the sticky header */
#start-the-conversation,
#project-inquiry,
#what-happens-next,
#contact-brand-moment,
#contact-final-cta{
  scroll-margin-top:112px;
}

/* Direct contact links remain readable at all widths */
.conversation-method strong,
.inquiry-sidebar-contact a,
.contact-final-direct strong{
  overflow-wrap:anywhere;
}

/* Refine premium hover response */
.conversation-contact-panel,
.inquiry-layout,
.next-step-card{
  transition:
    border-color .28s ease,
    box-shadow .28s ease,
    transform .28s ease;
}

.conversation-contact-panel:hover,
.inquiry-layout:hover{
  border-color:rgba(200,146,69,.46);
  box-shadow:0 24px 64px rgba(0,0,0,.20);
}

/* Tablet safeguard pass */
@media(max-width:1024px){
  .conversation-contact-panel:hover,
  .inquiry-layout:hover{
    box-shadow:none;
  }

  .contact-final-copy{
    max-width:720px;
  }
}

/* Preliminary phone safeguards only.
   Step 6 remains the dedicated full-site mobile recovery. */
@media(max-width:700px){
  .contact-page .section-kicker{
    line-height:1.4;
  }

  .contact-page a,
  .contact-page button,
  .contact-page select{
    -webkit-tap-highlight-color:transparent;
  }

  .conversation-method,
  .inquiry-sidebar-contact a,
  .contact-final-direct > a{
    touch-action:manipulation;
  }

  .inquiry-form input,
  .inquiry-form select,
  .inquiry-form textarea{
    font-size:16px; /* prevents unwanted iOS input zoom */
  }

  .inquiry-form textarea{
    min-height:155px;
  }

  .conversation-contact-panel:hover,
  .inquiry-layout:hover,
  .next-step-card:hover{
    transform:none;
    box-shadow:none;
  }

  .contact-final-actions{
    width:100%;
  }
}

/* Very small phone safeguards */
@media(max-width:390px){
  .contact-hero h1,
  .conversation-intro h2,
  .inquiry-heading h2,
  .next-steps-heading h2,
  .contact-brand-copy blockquote,
  .contact-final-copy h2{
    overflow-wrap:anywhere;
  }

  .conversation-method{
    grid-template-columns:27px minmax(0,1fr) 18px;
  }

  .inquiry-sidebar-contact a{
    max-width:100%;
  }
}

/* Landscape phone safeguards */
@media(max-width:900px) and (max-height:520px) and (orientation:landscape){
  .contact-hero-photo{
    min-height:300px;
    max-height:360px;
  }

  .contact-brand-moment{
    min-height:480px;
  }

  .contact-brand-inner{
    padding-top:150px;
  }
}

/* Ultra-wide desktop constraint */
@media(min-width:1900px){
  .contact-hero-inner,
  .start-conversation-inner,
  .project-inquiry-inner,
  .what-happens-inner,
  .contact-brand-inner,
  .contact-final-inner,
  .contact-final-brandline{
    max-width:1520px;
  }
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }

  .contact-reveal,
  .contact-stagger > *,
  .conversation-contact-panel,
  .inquiry-layout,
  .next-step-card{
    opacity:1!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }
}


/* =====================================================================
   STEP 6 — FULL-SITE MOBILE RECOVERY
   Final-desktop-safe override layer.
   Desktop (>1024px) is intentionally untouched.
   ===================================================================== */

@media (max-width:1024px){

  /* ---------------------------------------------------------
     GLOBAL MOBILE FOUNDATION
     --------------------------------------------------------- */
  html{
    scroll-padding-top:92px;
    overflow-x:hidden;
  }

  body{
    min-width:320px;
    width:100%;
    overflow-x:hidden;
  }

  img,
  video,
  svg{
    max-width:100%;
  }

  .container{
    width:min(90%,760px);
  }

  /* Stop accumulated desktop transforms/animations from creating
     sideways overflow on tablets/phones. */
  .about-page,
  .projects-page,
  .contact-page,
  .home-page{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  /* ---------------------------------------------------------
     SHARED HEADER — INNER PAGES
     --------------------------------------------------------- */
  .header{
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:1000;
    height:96px;
    background:linear-gradient(to bottom,rgba(4,6,7,.92),rgba(4,6,7,.54),transparent);
  }

  .header-inner{
    position:relative;
    width:90%;
    min-height:96px;
    height:96px;
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:16px;
    align-items:start;
  }

  .header-brand{
    width:min(300px,72vw);
    height:88px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
  }

  .header-brand img{
    width:100%;
    max-width:300px;
    max-height:82px;
    object-fit:contain;
    object-position:left center;
    filter:drop-shadow(0 8px 18px rgba(0,0,0,.32));
  }

  .header .phone{
    display:none!important;
  }

  .header .menu-btn{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-width:58px;
    min-height:42px;
    margin-top:20px;
    padding:0 12px;
    border:1px solid rgba(200,146,69,.68);
    background:rgba(5,7,8,.78);
    color:#e2b369;
    font-size:9px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
    cursor:pointer;
  }

  .header .nav{
    display:none!important;
    position:fixed;
    z-index:999;
    top:96px;
    left:0;
    right:0;
    width:100%;
    max-height:calc(100dvh - 96px);
    overflow-y:auto;
    padding:10px 5% 18px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:rgba(5,7,8,.985);
    backdrop-filter:blur(12px);
    border-top:1px solid rgba(200,146,69,.18);
    border-bottom:1px solid rgba(200,146,69,.52);
    box-shadow:0 18px 40px rgba(0,0,0,.34);
  }

  .header .nav.open{
    display:flex!important;
  }

  .header .nav a{
    width:100%;
    min-height:52px;
    display:flex;
    align-items:center;
    padding:0;
    color:#f0ede7;
    border-bottom:1px solid rgba(255,255,255,.07);
    font-size:11px;
    letter-spacing:.15em;
  }

  .header .nav a:last-child{
    border-bottom:0;
  }

  .header .nav a.active,
  .header .nav a[aria-current="page"]{
    color:#d9aa5e;
  }

  .header .nav a::after{
    bottom:5px;
  }

  /* ---------------------------------------------------------
     HOME HEADER
     --------------------------------------------------------- */
  .pcb-header{
    position:absolute!important;
    z-index:1000;
    top:0;
    left:0;
    right:0;
    width:100%;
    height:96px!important;
    min-height:96px;
    padding:8px 5% 0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    background:linear-gradient(to bottom,rgba(4,6,7,.92),rgba(4,6,7,.52),transparent);
  }

  .pcb-header.is-scrolled{
    position:fixed!important;
    height:82px!important;
    min-height:82px;
    background:rgba(4,6,7,.96)!important;
  }

  .pcb-brand{
    width:min(285px,72vw)!important;
    max-width:none!important;
    height:86px!important;
    display:flex!important;
    align-items:center!important;
  }

  .pcb-brand img{
    width:100%!important;
    height:auto!important;
    max-height:80px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .pcb-header .menu-btn{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-width:58px;
    min-height:42px;
    margin-top:18px!important;
    padding:0 12px;
    border:1px solid rgba(200,146,69,.68);
    background:rgba(5,7,8,.78);
    color:#e2b369;
    font-size:9px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
  }

  .pcb-phone{
    display:none!important;
  }

  .pcb-nav{
    display:none!important;
    position:fixed!important;
    z-index:999;
    top:96px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100dvh - 96px);
    overflow-y:auto;
    padding:10px 5% 18px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    background:rgba(5,7,8,.985)!important;
    backdrop-filter:blur(12px);
    border-top:1px solid rgba(200,146,69,.18);
    border-bottom:1px solid rgba(200,146,69,.52);
    box-shadow:0 18px 40px rgba(0,0,0,.34);
  }

  .pcb-header.is-scrolled .pcb-nav{
    top:82px!important;
  }

  .pcb-nav.open{
    display:flex!important;
  }

  .pcb-nav a{
    width:100%;
    min-height:52px;
    display:flex!important;
    align-items:center;
    padding:0!important;
    border-bottom:1px solid rgba(255,255,255,.07);
    font-size:11px!important;
    letter-spacing:.15em!important;
  }

  .pcb-nav a:last-child{
    border-bottom:0;
  }

  body.mobile-nav-open{
    overflow:hidden!important;
  }

  /* ---------------------------------------------------------
     HOME PAGE — restore clean mobile composition
     --------------------------------------------------------- */
  .concept-hero{
    display:flex!important;
    flex-direction:column!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
    overflow:hidden!important;
  }

  .hero-copy{
    position:relative!important;
    inset:auto!important;
    order:1!important;
    width:100%!important;
    max-width:none!important;
    padding:128px 6vw 46px!important;
    background:
      radial-gradient(circle at 8% 13%,rgba(200,146,69,.075),transparent 25%),
      #050708!important;
  }

  .hero-copy h1{
    max-width:680px;
    margin:0 0 17px!important;
    font-size:clamp(44px,9vw,72px)!important;
    line-height:.94!important;
  }

  .hero-copy p{
    max-width:610px!important;
    margin-bottom:22px!important;
    font-size:13px!important;
    line-height:1.65!important;
  }

  .short-rule{
    margin:17px 0 13px!important;
  }

  .hero-buttons{
    display:flex!important;
    flex-wrap:wrap;
    gap:11px!important;
  }

  .hero-buttons .outline-btn,
  .hero-buttons .gold-btn{
    min-height:46px!important;
  }

  .hero-photo{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    order:2!important;
    width:100%!important;
    height:52vw!important;
    min-height:390px!important;
    max-height:540px!important;
    background-position:center 55%!important;
    transform:none!important;
    animation:none!important;
  }

  .hero-wedge{
    display:none!important;
  }

  .value-bar{
    padding:0!important;
  }

  .value-inner{
    width:min(90%,700px)!important;
    height:auto!important;
    padding:10px 0!important;
    grid-template-columns:1fr!important;
  }

  .value-item,
  .value-item:first-child,
  .value-item:last-child{
    min-height:84px!important;
    padding:13px 0!important;
    grid-template-columns:64px 1fr!important;
    gap:17px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(200,146,69,.24)!important;
  }

  .value-item:last-child{
    border-bottom:0!important;
  }

  .value-icon.image-icon{
    width:58px!important;
    height:58px!important;
  }

  .featured{
    min-height:0!important;
    padding:54px 0!important;
  }

  .featured-inner{
    width:min(90%,760px)!important;
    grid-template-columns:1fr!important;
    gap:27px!important;
  }

  .featured-copy{
    padding:0!important;
  }

  .featured-copy h2{
    font-size:clamp(40px,7vw,56px)!important;
  }

  .project-layout{
    height:auto!important;
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:auto!important;
    gap:10px!important;
  }

  .project-main{
    grid-column:1/-1!important;
    grid-row:auto!important;
    height:400px!important;
  }

  .project-side{
    grid-row:auto!important;
    height:245px!important;
  }

  .built-around-you,
  .pierce-experience{
    padding:68px 0!important;
  }

  .built-around-inner,
  .experience-inner{
    width:min(90%,760px)!important;
  }

  .built-around-inner{
    grid-template-columns:1fr!important;
    gap:38px!important;
  }

  .built-principles{
    grid-template-columns:1fr!important;
  }

  .built-principle,
  .built-principle:first-child,
  .built-principle:last-child{
    min-height:0!important;
    padding:26px 0 29px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(200,146,69,.20)!important;
  }

  .architectural-showcase{
    min-height:520px!important;
  }

  .showcase-content{
    width:min(90%,760px)!important;
    padding:200px 0 58px!important;
  }

  .showcase-image{
    inset:0!important;
    background-position:60% center!important;
    transform:none!important;
  }

  .showcase-shade{
    background:
      linear-gradient(0deg,rgba(3,5,6,.95),rgba(3,5,6,.72) 43%,rgba(3,5,6,.18) 80%)!important;
  }

  .experience-heading{
    grid-template-columns:1fr!important;
    margin-bottom:36px!important;
  }

  .experience-kicker,
  .experience-heading h2,
  .experience-heading>p{
    grid-column:1!important;
    grid-row:auto!important;
  }

  .experience-heading>p{
    margin-top:21px!important;
  }

  .experience-steps{
    grid-template-columns:1fr 1fr!important;
  }

  .refined-cta-inner{
    width:min(90%,760px)!important;
    grid-template-columns:1fr!important;
    gap:30px!important;
    padding:58px 0!important;
  }

  .refined-cta-actions{
    padding:24px 0 0!important;
    border-left:0!important;
    border-top:1px solid rgba(200,146,69,.38)!important;
  }

  /* ---------------------------------------------------------
     INNER PAGE HEROES — image first, text second
     --------------------------------------------------------- */
  .about-hero,
  .projects-hero,
  .contact-hero{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    height:auto!important;
  }

  .about-hero-photo,
  .projects-hero-photo,
  .contact-hero-photo{
    position:relative!important;
    inset:auto!important;
    order:1!important;
    width:100%!important;
    height:52vw!important;
    min-height:390px!important;
    max-height:540px!important;
    transform:none!important;
    animation:none!important;
  }

  .about-hero-photo{background-position:center 56%!important}
  .projects-hero-photo{background-position:center 58%!important}
  .contact-hero-photo{background-position:center 58%!important}

  .about-hero-overlay,
  .about-hero-geometry,
  .projects-hero-overlay,
  .contact-hero-overlay{
    display:none!important;
  }

  .about-hero-frame,
  .projects-hero-frame,
  .contact-hero-frame{
    top:20px!important;
    right:5%!important;
    bottom:auto!important;
    width:42%!important;
    height:180px!important;
  }

  .about-hero-inner,
  .projects-hero-inner,
  .contact-hero-inner{
    order:2!important;
    width:100%!important;
    padding:0!important;
    margin:0!important;
  }

  .about-hero-copy,
  .projects-hero-copy,
  .contact-hero-copy{
    width:100%!important;
    max-width:none!important;
    padding:54px 6vw 58px!important;
    background:
      radial-gradient(circle at 8% 12%,rgba(200,146,69,.07),transparent 24%),
      #050708!important;
  }

  .about-hero h1,
  .projects-hero h1,
  .contact-hero h1{
    max-width:760px!important;
    font-size:clamp(48px,8.2vw,72px)!important;
    line-height:.94!important;
  }

  .about-hero-lead,
  .projects-hero-lead,
  .contact-hero-lead{
    max-width:650px!important;
    font-size:18px!important;
  }

  .about-hero-body,
  .projects-hero-body,
  .contact-hero-body{
    max-width:650px!important;
    font-size:13px!important;
  }

  .about-hero-signature,
  .about-scroll-cue,
  .projects-hero-mark,
  .projects-hero-side,
  .contact-hero-signature,
  .contact-hero-side{
    display:none!important;
  }

  /* ---------------------------------------------------------
     ABOUT PAGE
     --------------------------------------------------------- */
  .meet-builder,
  .what-we-believe,
  .pierce-difference{
    padding:72px 0!important;
  }

  .meet-builder-inner,
  .builder-principles,
  .beliefs-inner,
  .difference-inner{
    width:min(90%,760px)!important;
  }

  .meet-builder-inner{
    grid-template-columns:1fr!important;
    gap:42px!important;
  }

  .builder-portrait-wrap{
    width:min(100%,580px)!important;
    min-height:540px!important;
  }

  .builder-story{
    max-width:none!important;
    padding-bottom:16px!important;
  }

  .builder-principles{
    grid-template-columns:1fr!important;
    margin-top:34px!important;
  }

  .builder-principles>div,
  .builder-principles>div:first-child,
  .builder-principles>div:last-child{
    min-height:0!important;
    padding:24px 0 27px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(200,146,69,.20)!important;
  }

  .beliefs-heading,
  .difference-heading{
    grid-template-columns:1fr!important;
    gap:0!important;
    margin-bottom:40px!important;
  }

  .beliefs-kicker,
  .beliefs-heading h2,
  .beliefs-heading>p,
  .difference-kicker,
  .difference-heading h2,
  .difference-heading>p{
    grid-column:1!important;
    grid-row:auto!important;
  }

  .beliefs-heading>p,
  .difference-heading>p{
    margin-top:21px!important;
  }

  .beliefs-grid{
    grid-template-columns:1fr 1fr!important;
  }

  .difference-stage{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }

  .difference-visual{
    min-height:500px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(200,146,69,.30)!important;
  }

  .difference-list{
    padding:20px 0!important;
  }

  .builder-philosophy{
    min-height:590px!important;
  }

  .philosophy-inner{
    width:min(90%,760px)!important;
    padding:210px 0 65px!important;
  }

  .about-final-cta-inner{
    width:min(90%,760px)!important;
    grid-template-columns:1fr!important;
    gap:30px!important;
    padding:62px 0 78px!important;
  }

  .about-final-actions{
    padding:24px 0 0!important;
    border-left:0!important;
    border-top:1px solid rgba(200,146,69,.38)!important;
  }

  /* ---------------------------------------------------------
     PROJECTS PAGE
     --------------------------------------------------------- */
  .featured-projects,
  .project-experience,
  .craftsmanship-detail{
    padding:72px 0!important;
  }

  .featured-projects-inner,
  .project-experience-inner,
  .craftsmanship-inner{
    width:min(90%,760px)!important;
  }

  .projects-intro,
  .project-experience-heading,
  .craftsmanship-heading{
    grid-template-columns:1fr!important;
    gap:20px!important;
    margin-bottom:39px!important;
  }

  .projects-gallery-kicker,
  .projects-intro h2,
  .projects-intro>p,
  .project-detail-kicker,
  .project-experience-heading h2,
  .project-experience-heading>p,
  .craftsmanship-kicker,
  .craftsmanship-heading h2,
  .craftsmanship-heading>p{
    grid-column:1!important;
    grid-row:auto!important;
  }

  .portfolio-grid{
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:480px 275px 275px!important;
    gap:10px!important;
  }

  .portfolio-card--hero{
    grid-column:1/-1!important;
    grid-row:1!important;
  }

  .project-detail-hero{
    min-height:500px!important;
  }

  .project-detail-content{
    grid-template-columns:1fr!important;
    gap:34px!important;
    padding:42px 30px 46px!important;
  }

  .project-detail-gallery-preview{
    grid-template-columns:1fr 1fr!important;
    padding:0 30px 34px!important;
  }

  .detail-shot--one{
    grid-column:1/-1!important;
    min-height:330px!important;
  }

  .detail-shot--two,
  .detail-shot--three{
    min-height:235px!important;
  }

  .craftsmanship-grid{
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:430px 260px 260px!important;
    gap:10px!important;
  }

  .craftsmanship-card--large{
    grid-column:1/-1!important;
    grid-row:1!important;
  }

  .craftsmanship-card--wide{
    grid-column:1/-1!important;
    grid-row:3!important;
  }

  .projects-final-inner{
    width:min(90%,760px)!important;
    grid-template-columns:1fr!important;
    gap:30px!important;
    padding:62px 0 78px!important;
  }

  .projects-final-actions{
    padding:24px 0 0!important;
    border-left:0!important;
    border-top:1px solid rgba(200,146,69,.38)!important;
  }

  /* ---------------------------------------------------------
     CONTACT PAGE
     --------------------------------------------------------- */
  .start-conversation,
  .project-inquiry,
  .what-happens-next{
    padding:72px 0!important;
  }

  .start-conversation-inner,
  .project-inquiry-inner,
  .what-happens-inner{
    width:min(90%,760px)!important;
  }

  .conversation-intro,
  .inquiry-heading,
  .next-steps-heading{
    grid-template-columns:1fr!important;
    gap:20px!important;
    margin-bottom:39px!important;
  }

  .inquiry-kicker,
  .inquiry-heading h2,
  .inquiry-heading>p,
  .next-steps-kicker,
  .next-steps-heading h2,
  .next-steps-heading>p{
    grid-column:1!important;
    grid-row:auto!important;
  }

  .inquiry-heading>p,
  .next-steps-heading>p{
    margin-top:0!important;
  }

  .conversation-contact-panel{
    grid-template-columns:1fr!important;
    gap:26px!important;
    padding:34px!important;
  }

  .conversation-divider{
    width:100%!important;
    height:1px!important;
    background:linear-gradient(90deg,transparent,rgba(200,146,69,.45),transparent)!important;
  }

  .inquiry-layout{
    grid-template-columns:1fr!important;
  }

  .inquiry-sidebar{
    border-left:0!important;
    border-top:1px solid rgba(200,146,69,.22)!important;
  }

  .next-steps-grid{
    grid-template-columns:1fr 1fr 1fr!important;
  }

  .contact-brand-moment{
    min-height:590px!important;
  }

  .contact-brand-inner{
    width:min(90%,760px)!important;
    padding:210px 0 65px!important;
  }

  .contact-final-inner{
    width:min(90%,760px)!important;
    grid-template-columns:1fr!important;
    gap:30px!important;
  }

  .contact-final-actions{
    padding:24px 0 0!important;
    border-left:0!important;
    border-top:1px solid rgba(200,146,69,.38)!important;
  }

  /* ---------------------------------------------------------
     FOOTERS
     --------------------------------------------------------- */
  .refined-footer-inner,
  .footer-grid{
    width:min(90%,760px)!important;
    grid-template-columns:1fr 1fr!important;
    gap:32px!important;
  }

  .footer-brand-block,
  .footer-brand{
    max-width:100%!important;
  }

  .footer-contact-block{
    grid-column:1/-1!important;
  }

  .refined-footer-bottom,
  .footer-bottom{
    width:min(90%,760px)!important;
  }
}


/* =====================================================================
   PHONES
   ===================================================================== */
@media (max-width:700px){

  html{
    scroll-padding-top:82px;
  }

  /* Header */
  .header,
  .pcb-header{
    height:82px!important;
    min-height:82px!important;
  }

  .header-inner{
    width:90%!important;
    min-height:82px!important;
    height:82px!important;
  }

  .header-brand{
    width:min(235px,70vw)!important;
    height:76px!important;
  }

  .header-brand img{
    width:100%!important;
    max-width:235px!important;
    max-height:70px!important;
  }

  .pcb-brand{
    width:min(235px,70vw)!important;
    height:76px!important;
  }

  .pcb-brand img{
    max-height:70px!important;
  }

  .header .menu-btn,
  .pcb-header .menu-btn{
    min-width:54px!important;
    min-height:38px!important;
    margin-top:19px!important;
    padding:0 10px!important;
    font-size:8px!important;
  }

  .header .nav,
  .pcb-nav{
    top:82px!important;
    max-height:calc(100dvh - 82px)!important;
    padding:8px 6% 16px!important;
  }

  .header .nav a,
  .pcb-nav a{
    min-height:50px!important;
    font-size:10px!important;
  }

  /* Home */
  .hero-copy{
    padding:108px 6vw 40px!important;
  }

  .hero-copy h1{
    font-size:clamp(40px,11.5vw,56px)!important;
  }

  .hero-copy p{
    font-size:12px!important;
  }

  .hero-buttons{
    flex-direction:column!important;
    align-items:stretch!important;
  }

  .hero-buttons .outline-btn,
  .hero-buttons .gold-btn{
    width:100%!important;
  }

  .hero-photo{
    height:73vw!important;
    min-height:300px!important;
    max-height:390px!important;
    background-position:58% center!important;
  }

  .value-inner{
    width:min(88%,520px)!important;
  }

  .value-item,
  .value-item:first-child,
  .value-item:last-child{
    grid-template-columns:56px minmax(0,1fr)!important;
    gap:15px!important;
    min-height:78px!important;
  }

  .value-icon.image-icon{
    width:52px!important;
    height:52px!important;
  }

  .featured,
  .built-around-you,
  .pierce-experience{
    padding:50px 0!important;
  }

  .featured-inner,
  .built-around-inner,
  .experience-inner{
    width:min(88%,560px)!important;
  }

  .featured-copy h2,
  .built-around-intro h2,
  .experience-heading h2{
    font-size:clamp(39px,11vw,50px)!important;
  }

  .project-layout{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
  }

  .project-main,
  .project-side{
    width:100%!important;
    height:260px!important;
  }

  .project-main{
    height:300px!important;
  }

  .architectural-showcase{
    min-height:450px!important;
  }

  .showcase-content{
    width:min(88%,560px)!important;
    padding:155px 0 46px!important;
  }

  .showcase-content h2{
    font-size:clamp(48px,14vw,62px)!important;
  }

  .experience-steps{
    grid-template-columns:1fr!important;
    border-bottom:0!important;
  }

  .experience-step,
  .experience-step:first-child,
  .experience-step:last-child{
    min-height:0!important;
    padding:24px 0 27px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(200,146,69,.20)!important;
  }

  .refined-cta{
    min-height:0!important;
  }

  .refined-cta-inner{
    width:min(88%,560px)!important;
    padding:48px 0!important;
  }

  .refined-cta-copy h2{
    font-size:clamp(43px,12vw,56px)!important;
  }

  .refined-primary{
    width:100%!important;
  }

  /* Inner hero pages */
  .about-hero-photo,
  .projects-hero-photo,
  .contact-hero-photo{
    height:72vw!important;
    min-height:300px!important;
    max-height:390px!important;
    background-position:60% center!important;
  }

  .about-hero-frame,
  .projects-hero-frame,
  .contact-hero-frame{
    top:15px!important;
    right:5%!important;
    width:46%!important;
    height:115px!important;
  }

  .about-hero-copy,
  .projects-hero-copy,
  .contact-hero-copy{
    padding:44px 6vw 48px!important;
  }

  .about-hero h1,
  .projects-hero h1,
  .contact-hero h1{
    font-size:clamp(42px,12vw,56px)!important;
  }

  .about-hero-lead,
  .projects-hero-lead,
  .contact-hero-lead{
    font-size:16px!important;
  }

  .about-hero-body,
  .projects-hero-body,
  .contact-hero-body{
    font-size:12px!important;
    line-height:1.7!important;
  }

  .contact-hero-actions,
  .about-hero-actions{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:11px!important;
  }

  .contact-hero-primary,
  .about-hero-actions .gold-btn,
  .about-text-link{
    width:100%!important;
  }

  .about-text-link{
    justify-content:center!important;
    border:1px solid rgba(200,146,69,.38)!important;
    padding:0 14px!important;
  }

  /* About */
  .meet-builder,
  .what-we-believe,
  .pierce-difference{
    padding:52px 0!important;
  }

  .meet-builder-inner,
  .builder-principles,
  .beliefs-inner,
  .difference-inner{
    width:min(88%,560px)!important;
  }

  .builder-portrait-wrap{
    min-height:410px!important;
  }

  .builder-portrait{
    inset:0 18px 26px 0!important;
  }

  .builder-story h2,
  .beliefs-heading h2,
  .difference-heading h2{
    font-size:clamp(40px,11vw,50px)!important;
  }

  .beliefs-grid{
    grid-template-columns:1fr!important;
    border-bottom:0!important;
  }

  .belief-card,
  .belief-card:first-child,
  .belief-card:last-child{
    min-height:0!important;
    padding:25px 0 28px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(200,146,69,.20)!important;
  }

  .difference-visual{
    min-height:340px!important;
  }

  .difference-item{
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:8px!important;
    padding:20px 0!important;
  }

  .builder-philosophy{
    min-height:500px!important;
  }

  .philosophy-inner{
    width:min(88%,560px)!important;
    padding:160px 0 48px!important;
  }

  .philosophy-copy blockquote{
    font-size:clamp(39px,11vw,50px)!important;
  }

  .about-final-cta-inner{
    width:min(88%,560px)!important;
    padding:48px 0 76px!important;
  }

  .about-final-copy h2{
    font-size:clamp(42px,11.5vw,54px)!important;
  }

  .about-final-primary{
    width:100%!important;
  }

  /* Projects */
  .featured-projects,
  .project-experience,
  .craftsmanship-detail{
    padding:52px 0!important;
  }

  .featured-projects-inner,
  .project-experience-inner,
  .craftsmanship-inner{
    width:min(88%,560px)!important;
  }

  .projects-intro h2,
  .project-experience-heading h2,
  .craftsmanship-heading h2{
    font-size:clamp(40px,11vw,51px)!important;
  }

  .portfolio-grid,
  .craftsmanship-grid{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
  }

  .portfolio-card,
  .portfolio-card--hero,
  .portfolio-card--tall,
  .portfolio-card--wide,
  .portfolio-card--standard{
    width:100%!important;
    height:310px!important;
    min-height:310px!important;
  }

  .portfolio-card--hero{
    height:390px!important;
    min-height:390px!important;
  }

  .project-detail-hero{
    min-height:350px!important;
  }

  .project-detail-title{
    left:20px!important;
    right:20px!important;
    bottom:20px!important;
  }

  .project-detail-content{
    padding:30px 20px 34px!important;
  }

  .project-facts>div{
    grid-template-columns:76px minmax(0,1fr)!important;
  }

  .project-detail-gallery-preview{
    display:flex!important;
    flex-direction:column!important;
    padding:0 20px 24px!important;
  }

  .detail-shot,
  .detail-shot--one,
  .detail-shot--two,
  .detail-shot--three{
    width:100%!important;
    min-height:230px!important;
  }

  .project-detail-navigation{
    flex-direction:column!important;
    align-items:flex-start!important;
    padding:22px 20px 25px!important;
  }

  .project-next-link{
    width:100%!important;
    align-items:flex-start!important;
    padding-top:16px!important;
    border-top:1px solid rgba(200,146,69,.18)!important;
  }

  .craftsmanship-card,
  .craftsmanship-card--large,
  .craftsmanship-card--wide{
    width:100%!important;
    height:315px!important;
    min-height:315px!important;
  }

  .craftsmanship-card--large{
    height:375px!important;
    min-height:375px!important;
  }

  .projects-final-inner{
    width:min(88%,560px)!important;
    padding:48px 0 78px!important;
  }

  .projects-final-copy h2{
    font-size:clamp(42px,11.5vw,54px)!important;
  }

  .projects-final-primary{
    width:100%!important;
  }

  /* Lightbox */
  .project-lightbox{
    padding:0!important;
  }

  .project-lightbox-dialog{
    width:100%!important;
    height:100%!important;
    display:block!important;
  }

  .lightbox-stage{
    position:absolute!important;
    inset:52px 0 68px!important;
    border-left:0!important;
    border-right:0!important;
  }

  .lightbox-image{
    inset:0 0 100px!important;
    background-size:contain!important;
    background-color:#030405!important;
  }

  .lightbox-close{
    top:7px!important;
    right:9px!important;
  }

  .lightbox-prev,
  .lightbox-next{
    position:absolute!important;
    bottom:10px!important;
    z-index:5!important;
  }

  .lightbox-prev{left:14px!important}
  .lightbox-next{right:14px!important}

  /* Contact */
  .start-conversation,
  .project-inquiry,
  .what-happens-next{
    padding:52px 0!important;
  }

  .start-conversation-inner,
  .project-inquiry-inner,
  .what-happens-inner{
    width:min(88%,560px)!important;
  }

  .conversation-intro h2,
  .inquiry-heading h2,
  .next-steps-heading h2{
    font-size:clamp(40px,11vw,50px)!important;
  }

  .conversation-contact-panel{
    padding:26px 19px!important;
  }

  .conversation-person{
    gap:15px!important;
  }

  .conversation-monogram{
    flex:0 0 68px!important;
    width:68px!important;
    height:68px!important;
  }

  .conversation-method{
    grid-template-columns:28px minmax(0,1fr) 18px!important;
    gap:8px!important;
    min-height:70px!important;
    padding:10px 0!important;
  }

  .conversation-method strong{
    font-size:14px!important;
  }

  .inquiry-form{
    padding:25px 18px 28px!important;
  }

  .inquiry-form-row{
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-bottom:14px!important;
  }

  .inquiry-form input,
  .inquiry-form select,
  .inquiry-form textarea{
    font-size:16px!important;
  }

  .inquiry-form-footer{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:15px!important;
  }

  .inquiry-submit{
    width:100%!important;
  }

  .inquiry-sidebar{
    padding:26px 19px!important;
  }

  .next-steps-grid{
    grid-template-columns:1fr!important;
    border-bottom:0!important;
  }

  .next-step-card,
  .next-step-card:first-child,
  .next-step-card:last-child{
    min-height:0!important;
    padding:24px 0 27px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(200,146,69,.20)!important;
  }

  .contact-brand-moment{
    min-height:500px!important;
  }

  .contact-brand-inner{
    width:min(88%,560px)!important;
    padding:160px 0 48px!important;
  }

  .contact-brand-copy blockquote{
    font-size:clamp(39px,11vw,50px)!important;
  }

  .contact-final-cta{
    padding:52px 0!important;
  }

  .contact-final-inner,
  .contact-final-brandline{
    width:min(88%,560px)!important;
  }

  .contact-final-copy h2{
    font-size:clamp(42px,11.5vw,54px)!important;
  }

  .contact-final-primary{
    width:100%!important;
  }

  /* Footer */
  .refined-footer,
  .footer{
    overflow:hidden!important;
  }

  .refined-footer-inner,
  .footer-grid{
    width:min(88%,560px)!important;
    grid-template-columns:1fr!important;
    gap:28px!important;
  }

  .footer-contact-block{
    grid-column:auto!important;
  }

  .footer-brand{
    width:min(280px,100%)!important;
  }

  .refined-footer-bottom,
  .footer-bottom{
    width:min(88%,560px)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:4px!important;
  }

  .refined-footer .footer-links a,
  .refined-footer .footer-links span,
  .footer a{
    min-height:38px;
    display:flex;
    align-items:center;
  }
}


/* =====================================================================
   VERY SMALL PHONES
   ===================================================================== */
@media (max-width:390px){

  .header-brand,
  .pcb-brand{
    width:205px!important;
  }

  .hero-copy{
    padding-top:102px!important;
  }

  .hero-copy h1{
    font-size:38px!important;
  }

  .about-hero h1,
  .projects-hero h1,
  .contact-hero h1{
    font-size:40px!important;
  }

  .about-hero-photo,
  .projects-hero-photo,
  .contact-hero-photo{
    min-height:280px!important;
  }

  .builder-portrait-wrap{
    min-height:370px!important;
  }

  .portfolio-card--hero{
    height:350px!important;
    min-height:350px!important;
  }

  .contact-final-brandline span,
  .projects-final-brandline span,
  .about-final-brandline span{
    display:none!important;
  }
}


/* =====================================================================
   LANDSCAPE PHONE SAFEGUARDS
   ===================================================================== */
@media (max-width:900px) and (max-height:520px) and (orientation:landscape){

  .header,
  .pcb-header{
    height:70px!important;
    min-height:70px!important;
  }

  .header-inner{
    height:70px!important;
    min-height:70px!important;
  }

  .header-brand,
  .pcb-brand{
    width:200px!important;
    height:66px!important;
  }

  .header-brand img,
  .pcb-brand img{
    max-height:60px!important;
  }

  .header .menu-btn,
  .pcb-header .menu-btn{
    margin-top:14px!important;
  }

  .header .nav,
  .pcb-nav{
    top:70px!important;
    max-height:calc(100dvh - 70px)!important;
  }

  .hero-copy{
    padding-top:90px!important;
  }

  .about-hero-photo,
  .projects-hero-photo,
  .contact-hero-photo{
    min-height:270px!important;
    max-height:320px!important;
  }

  .hero-photo{
    min-height:270px!important;
    max-height:320px!important;
  }
}


/* =====================================================================
   ACCESSIBILITY
   ===================================================================== */
@media (prefers-reduced-motion:reduce){
  .hero-copy,
  .hero-photo,
  .about-hero-copy,
  .projects-hero-copy,
  .contact-hero-copy,
  .about-hero-photo,
  .projects-hero-photo,
  .contact-hero-photo{
    animation:none!important;
    transition:none!important;
  }
}


/* ADMIN PHASE 4 — dynamic project portfolio */
.portfolio-grid{
  grid-auto-rows:minmax(330px, 1fr);
}
.portfolio-grid .portfolio-card--standard{
  min-height:360px;
}
.portfolio-grid .portfolio-card--standard:nth-of-type(n){
  grid-column:auto;
  grid-row:auto;
}
.portfolio-grid .portfolio-card--hero{
  grid-column:span 1;
  grid-row:span 2;
  min-height:740px;
}
.dynamic-project-card{
  margin-bottom:72px;
  scroll-margin-top:110px;
}
.dynamic-project-card:last-child{margin-bottom:0}
.dynamic-project-card .project-detail-gallery-preview{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media(max-width:900px){
  .portfolio-grid .portfolio-card--hero{grid-row:auto;min-height:460px}
  .dynamic-project-card .project-detail-gallery-preview{grid-template-columns:1fr}
}


/* ADMIN ABOUT PORTRAIT — diamond portrait mask */
.builder-portrait{
  display:flex;
  align-items:center;
  justify-content:center;
}
.builder-portrait-diamond{
  position:absolute;
  left:50%;
  top:50%;
  width:min(72%,370px);
  aspect-ratio:1;
  transform:translate(-50%,-52%);
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 35%,rgba(200,146,69,.12),transparent 35%),
    linear-gradient(145deg,#121619,#080b0d);
  box-shadow:0 0 0 1px rgba(200,146,69,.3);
}
.builder-portrait-diamond::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(145deg,rgba(255,255,255,.04),transparent 35%,rgba(0,0,0,.12));
}
.builder-portrait-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 28%;
  opacity:0;
  transition:opacity .25s ease;
}
.builder-portrait-diamond.has-image .builder-portrait-image{opacity:1}
.builder-portrait-diamond.has-image .builder-portrait-placeholder{display:none}
.builder-portrait-diamond .builder-portrait-placeholder{
  position:absolute;
  inset:0;
}
.builder-portrait-diamond .builder-portrait-placeholder::before{
  width:68%;
  height:68%;
  transform:none;
  border:1px solid rgba(200,146,69,.22);
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
@media(max-width:760px){
  .builder-portrait-diamond{
    width:min(74%,330px);
    transform:translate(-50%,-50%);
  }
}


/* ABOUT PORTRAIT — premium illuminated diamond */
.builder-portrait-diamond{
  overflow:visible;
  isolation:isolate;
  filter:
    drop-shadow(0 0 4px rgba(210,155,67,.78))
    drop-shadow(0 0 15px rgba(210,145,45,.34))
    drop-shadow(0 0 34px rgba(196,126,24,.18));
}
.builder-portrait-diamond::before{
  content:"";
  position:absolute;
  inset:-3px;
  z-index:3;
  pointer-events:none;
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  background:linear-gradient(135deg,#8e5b18 0%,#f4c35d 24%,#fff0aa 43%,#c68425 68%,#f3c45e 100%);
}
.builder-portrait-diamond::after{
  content:"";
  position:absolute;
  inset:2px;
  z-index:4;
  pointer-events:none;
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  background:transparent;
  box-shadow:inset 0 0 22px rgba(255,218,133,.18);
}
.builder-portrait-image,
.builder-portrait-placeholder{
  z-index:2;
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.builder-portrait-image{
  inset:3px;
  width:calc(100% - 6px);
  height:calc(100% - 6px);
}
.builder-portrait-diamond.has-image::before{
  /* creates the illuminated metal rim while the image sits above the center */
  z-index:1;
}
.builder-portrait-diamond.has-image .builder-portrait-image{
  z-index:2;
  opacity:1;
  filter:saturate(.96) contrast(1.025);
}
.builder-portrait-diamond.has-image::after{
  z-index:3;
  background:
    linear-gradient(135deg,rgba(255,245,205,.15),transparent 23%),
    linear-gradient(315deg,rgba(210,143,42,.13),transparent 28%);
  box-shadow:
    inset 0 0 0 1px rgba(255,225,153,.46),
    inset 0 0 22px rgba(0,0,0,.18);
}
.builder-portrait::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:min(79%,405px);
  aspect-ratio:1;
  transform:translate(-50%,-52%);
  z-index:0;
  pointer-events:none;
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  background:radial-gradient(circle at 50% 50%,rgba(207,139,35,.13),rgba(207,139,35,.035) 48%,transparent 69%);
  filter:blur(13px);
}
@media(max-width:760px){
  .builder-portrait::after{
    width:min(81%,360px);
    transform:translate(-50%,-50%);
  }
}


/* CONTACT ADMIN PHOTO — Start the Conversation */
.conversation-photo{
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 38%,rgba(200,146,69,.11),transparent 56%),
    #0b0e10;
  box-shadow:
    0 0 0 1px rgba(200,146,69,.08),
    0 0 22px rgba(200,135,38,.08);
}
.conversation-photo-image{
  position:absolute;
  inset:2px;
  width:calc(100% - 4px);
  height:calc(100% - 4px);
  object-fit:cover;
  object-position:center 28%;
  display:block;
  opacity:0;
  z-index:1;
  transition:opacity .25s ease,transform .45s ease;
}
.conversation-photo.has-image .conversation-photo-image{
  opacity:1;
}
.conversation-photo.has-image:hover .conversation-photo-image{
  transform:scale(1.035);
}
.conversation-photo-placeholder{
  position:relative;
  z-index:2;
}
.conversation-photo.has-image .conversation-photo-placeholder{
  display:none;
}
.conversation-photo.has-image::before,
.conversation-photo.has-image::after{
  z-index:3;
}

/* PHASE 7 — direct inquiry submission */
.inquiry-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.inquiry-submit:disabled{opacity:.55;cursor:wait}
.inquiry-status{min-height:1.5em;margin-top:12px;font-size:.78rem;line-height:1.5}
.inquiry-status.is-success{color:#d6b66f}.inquiry-status.is-error{color:#e19a92}.inquiry-status.is-sending{color:#a9aaa5}


/* PROFESSIONAL AFFILIATIONS — homepage credibility section */
.professional-affiliations[hidden]{display:none!important}
.professional-affiliations{
  position:relative;
  overflow:hidden;
  padding:96px 0 90px;
  background:
    radial-gradient(circle at 50% 10%,rgba(200,146,69,.065),transparent 34%),
    linear-gradient(180deg,#090c0d 0%,#050708 100%);
  border-top:1px solid rgba(200,146,69,.16);
  border-bottom:1px solid rgba(200,146,69,.18);
}
.professional-affiliations::before{
  content:"";
  position:absolute;
  left:-9%;
  top:20%;
  width:340px;
  height:340px;
  border:1px solid rgba(200,146,69,.08);
  transform:rotate(45deg);
  pointer-events:none;
}
.affiliations-inner{
  position:relative;
  z-index:1;
  width:min(90%,1320px);
  margin:0 auto;
}
.affiliations-heading{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);
  column-gap:80px;
  align-items:end;
  margin-bottom:48px;
}
.affiliations-heading .affiliations-kicker{
  grid-column:1/-1;
  margin-bottom:16px;
}
.affiliations-heading h2{
  margin:0;
  max-width:760px;
  color:#f4f0e8;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(42px,4.7vw,72px);
  font-weight:400;
  line-height:.99;
  letter-spacing:-.035em;
}
.affiliations-heading p{
  margin:0 0 5px;
  max-width:520px;
  color:#95918a;
  font-size:12px;
  line-height:1.75;
}
.affiliations-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.affiliation-card{
  position:relative;
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:32px 30px 27px;
  overflow:hidden;
  background:
    linear-gradient(145deg,rgba(18,22,23,.96),rgba(8,10,11,.98));
  border:1px solid rgba(200,146,69,.20);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.affiliation-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:48px;
  height:2px;
  background:#c89245;
  transition:width .35s ease;
}
.affiliation-card::after{
  content:"";
  position:absolute;
  right:-52px;
  bottom:-52px;
  width:105px;
  height:105px;
  border:1px solid rgba(200,146,69,.13);
  transform:rotate(45deg);
}
.affiliation-card:hover{
  transform:translateY(-4px);
  border-color:rgba(200,146,69,.42);
  box-shadow:0 20px 50px rgba(0,0,0,.26),0 0 30px rgba(200,146,69,.035);
}
.affiliation-card:hover::before{width:100%}
.affiliation-logo-wrap{
  min-height:165px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px 18px;
}
.affiliation-logo{
  display:block;
  width:auto;
  max-width:100%;
  max-height:145px;
  object-fit:contain;
  filter:saturate(.9) brightness(.98);
  transition:transform .3s ease,filter .3s ease;
}
.affiliation-card:hover .affiliation-logo{
  transform:scale(1.025);
  filter:saturate(1) brightness(1.04);
}
.affiliation-copy{
  position:relative;
  z-index:2;
  padding-top:20px;
  border-top:1px solid rgba(200,146,69,.14);
}
.affiliation-copy>span{
  display:block;
  margin-bottom:7px;
  color:#bd8840;
  font-size:7px;
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
}
.affiliation-copy h3{
  margin:0 0 6px;
  color:#efeae2;
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
  font-weight:400;
}
.affiliation-copy p{
  margin:0;
  color:#777b77;
  font-size:9px;
  line-height:1.55;
  letter-spacing:.025em;
}
.affiliations-foot{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:18px;
  align-items:center;
  margin-top:38px;
}
.affiliations-foot span{
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(200,146,69,.26));
}
.affiliations-foot span:last-child{
  background:linear-gradient(90deg,rgba(200,146,69,.26),transparent);
}
.affiliations-foot strong{
  color:#77736c;
  font-size:7px;
  font-weight:800;
  letter-spacing:.25em;
  text-transform:uppercase;
}
@media(max-width:900px){
  .professional-affiliations{padding:76px 0 72px}
  .affiliations-heading{grid-template-columns:1fr;gap:18px}
  .affiliations-grid{grid-template-columns:1fr}
  .affiliation-card{min-height:250px;display:grid;grid-template-columns:180px 1fr;align-items:center;gap:28px}
  .affiliation-logo-wrap{min-height:150px}
  .affiliation-copy{border-top:0;border-left:1px solid rgba(200,146,69,.14);padding:10px 0 10px 25px}
}
@media(max-width:560px){
  .professional-affiliations{padding:64px 0 60px}
  .affiliations-heading h2{font-size:42px}
  .affiliation-card{display:flex;min-height:300px;padding:26px 24px}
  .affiliation-copy{width:100%;border-left:0;border-top:1px solid rgba(200,146,69,.14);padding:18px 0 0}
  .affiliation-logo-wrap{width:100%;min-height:160px}
  .affiliation-logo{max-height:135px}
}


/* AFFILIATIONS IMAGE FIX — use supplied transparent gold/black logos */
.affiliation-logo-wrap{
  min-height:170px;
  padding:16px 18px 20px;
}
.affiliation-logo{
  max-width:92%;
  max-height:150px;
  object-fit:contain;
  filter:none;
}
.affiliation-card:hover .affiliation-logo{
  transform:scale(1.025);
  filter:none;
}


/* INTERIOR PAGE FOOTERS — professional affiliations */
.footer-affiliations{
  margin-top:28px;
  padding:20px 0 18px;
  border-top:1px solid rgba(200,146,69,.13);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.footer-affiliations-label{
  flex:0 0 auto;
  color:#a87939;
  font-size:7px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.footer-affiliations-logos{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:30px;
  min-width:0;
}
.footer-affiliations-logos img{
  display:block;
  width:auto;
  max-width:112px;
  max-height:62px;
  object-fit:contain;
  filter:none;
}
@media(max-width:760px){
  .footer-affiliations{
    align-items:flex-start;
    flex-direction:column;
    gap:16px;
  }
  .footer-affiliations-logos{
    width:100%;
    justify-content:space-between;
    gap:14px;
  }
  .footer-affiliations-logos img{
    max-width:29%;
    max-height:56px;
  }
}
@media(max-width:430px){
  .footer-affiliations-logos{
    align-items:center;
    flex-direction:column;
    gap:18px;
  }
  .footer-affiliations-logos img{
    max-width:150px;
    max-height:70px;
  }
}


/* FOOTER AFFILIATIONS V2 — compact, balanced fourth footer column */
.footer .footer-grid{
  grid-template-columns:minmax(260px,1.15fr) minmax(130px,.58fr) minmax(240px,.82fr) minmax(280px,.9fr);
  gap:42px;
  align-items:start;
}
.footer-memberships{
  min-width:0;
}
.footer-membership-logos{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:17px;
  min-height:72px;
}
.footer-membership-logos img{
  display:block;
  width:auto;
  max-width:82px;
  max-height:68px;
  object-fit:contain;
  filter:none;
}
.footer-membership-logos img:nth-child(2){max-width:86px}
.footer-membership-logos img:nth-child(3){max-width:88px}

/* Retire the earlier full-width footer treatment if cached markup ever appears. */
.footer-affiliations{display:none!important}

@media(max-width:1180px){
  .footer .footer-grid{
    grid-template-columns:1.1fr .65fr .9fr;
  }
  .footer-memberships{
    grid-column:1/-1;
    padding-top:18px;
    border-top:1px solid rgba(200,146,69,.12);
  }
  .footer-membership-logos{
    justify-content:flex-start;
  }
}
@media(max-width:760px){
  .footer .footer-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .footer-memberships{
    grid-column:auto;
  }
  .footer-membership-logos{
    gap:22px;
    flex-wrap:wrap;
  }
  .footer-membership-logos img,
  .footer-membership-logos img:nth-child(2),
  .footer-membership-logos img:nth-child(3){
    max-width:94px;
    max-height:76px;
  }
}


/* =========================================================
   PUBLIC NAVIGATION POLISH — STICKY HEADER + BACK TO TOP
   ========================================================= */
.pcb-header,
.header{
  transition:
    background .28s ease,
    border-color .28s ease,
    box-shadow .28s ease,
    min-height .28s ease,
    height .28s ease,
    padding .28s ease;
}

/* Homepage compact sticky navigation */
.pcb-header.site-nav-sticky{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:88px;
  padding:10px 4.2% 0 3.4%;
  grid-template-columns:31% 1fr auto;
  align-items:start;
  background:rgba(5,7,8,.94);
  border-bottom:1px solid rgba(200,146,69,.23);
  box-shadow:0 12px 34px rgba(0,0,0,.28);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.pcb-header.site-nav-sticky .pcb-brand{
  width:225px;
}
.pcb-header.site-nav-sticky .pcb-nav{
  padding-top:16px;
}
.pcb-header.site-nav-sticky .pcb-phone{
  margin-top:9px;
  height:39px;
}

/* About / Projects / Contact compact sticky navigation */
.header.site-nav-sticky{
  position:fixed;
  top:0;
  left:0;
  right:0;
  background:rgba(5,7,8,.95);
  border-bottom:1px solid rgba(200,146,69,.23);
  box-shadow:0 12px 34px rgba(0,0,0,.28);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.header.site-nav-sticky .header-inner{
  min-height:88px;
}
.header.site-nav-sticky .header-brand img{
  width:290px;
  max-height:76px;
}
.header.site-nav-sticky .nav{
  gap:38px;
}
.header.site-nav-sticky .phone{
  padding:11px 17px;
  font-size:.78rem;
}

/* Keep anchor targets from hiding underneath the sticky navigation. */
section[id],
article[id]{
  scroll-margin-top:105px;
}

/* Back to top */
.site-back-to-top{
  position:fixed;
  right:26px;
  bottom:26px;
  z-index:140;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(200,146,69,.55);
  background:rgba(7,9,10,.88);
  color:#d9aa5e;
  box-shadow:0 12px 30px rgba(0,0,0,.28);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:
    opacity .22s ease,
    visibility .22s ease,
    transform .22s ease,
    background .2s ease,
    border-color .2s ease;
}
.site-back-to-top::before{
  content:"↑";
  font-size:19px;
  line-height:1;
}
.site-back-to-top::after{
  content:"Top";
  position:absolute;
  right:57px;
  padding:6px 8px;
  background:rgba(7,9,10,.92);
  border:1px solid rgba(200,146,69,.18);
  color:#9d8a69;
  font-size:7px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
  opacity:0;
  pointer-events:none;
  transform:translateX(5px);
  transition:.18s ease;
}
.site-back-to-top:hover{
  background:rgba(18,15,10,.96);
  border-color:#d6a24f;
  color:#f0c978;
}
.site-back-to-top:hover::after{
  opacity:1;
  transform:translateX(0);
}
.site-back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

@media(max-width:980px){
  .pcb-header.site-nav-sticky{
    height:80px;
    padding:8px 5% 0 4%;
    grid-template-columns:1fr auto;
    align-items:start;
  }
  .pcb-header.site-nav-sticky .pcb-brand{
    width:205px;
  }
  .pcb-header.site-nav-sticky .menu-btn{
    margin-top:12px;
  }
  .header.site-nav-sticky .header-inner{
    min-height:80px;
  }
  .header.site-nav-sticky .header-brand img{
    width:235px;
    max-height:68px;
  }
  .header.site-nav-sticky .nav{
    top:80px;
  }
  .site-back-to-top{
    right:18px;
    bottom:18px;
    width:44px;
    height:44px;
  }
  .site-back-to-top::after{display:none}
}
@media(max-width:560px){
  .pcb-header.site-nav-sticky{
    height:74px;
  }
  .pcb-header.site-nav-sticky .pcb-brand{
    width:178px;
  }
  .header.site-nav-sticky .header-inner{
    min-height:74px;
  }
  .header.site-nav-sticky .header-brand img{
    width:205px;
    max-height:62px;
  }
  .header.site-nav-sticky .nav{
    top:74px;
  }
  .site-back-to-top{
    width:42px;
    height:42px;
    right:14px;
    bottom:14px;
  }
}
@media(prefers-reduced-motion:reduce){
  .pcb-header,.header,.site-back-to-top{
    transition:none!important;
  }
}


/* HOMEPAGE STICKY HEADER — LOGO FIT FIX
   Keeps the homepage logo completely inside the compact sticky navigation. */
.pcb-header.site-nav-sticky{
  height:82px;
  min-height:82px;
  padding:0 4.2% 0 3.4%;
  align-items:center;
}
.pcb-header.site-nav-sticky .pcb-brand{
  width:190px;
  height:72px;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.pcb-header.site-nav-sticky .pcb-brand img{
  display:block;
  width:100%;
  height:68px;
  max-height:68px;
  object-fit:contain;
  object-position:left center;
}
.pcb-header.site-nav-sticky .pcb-nav{
  padding-top:0;
  align-self:center;
}
.pcb-header.site-nav-sticky .pcb-phone{
  margin-top:0;
  align-self:center;
}

@media(max-width:980px){
  .pcb-header.site-nav-sticky{
    height:76px;
    min-height:76px;
    padding:0 5% 0 4%;
    align-items:center;
  }
  .pcb-header.site-nav-sticky .pcb-brand{
    width:170px;
    height:66px;
  }
  .pcb-header.site-nav-sticky .pcb-brand img{
    height:62px;
    max-height:62px;
  }
  .pcb-header.site-nav-sticky .menu-btn{
    margin-top:0;
    align-self:center;
  }
}
@media(max-width:560px){
  .pcb-header.site-nav-sticky{
    height:72px;
    min-height:72px;
  }
  .pcb-header.site-nav-sticky .pcb-brand{
    width:155px;
    height:62px;
  }
  .pcb-header.site-nav-sticky .pcb-brand img{
    height:58px;
    max-height:58px;
  }
}
\n\n/* PROJECT PORTFOLIO — LEXEM GALLERY CONCEPT */
.portfolio-grid.portfolio-grid--single{grid-template-columns:1fr;grid-template-rows:minmax(560px,72vh)}
.portfolio-grid.portfolio-grid--single .portfolio-card--hero{grid-column:1;grid-row:1}
.project-detail-gallery-preview{grid-template-columns:1.35fr .8fr .8fr;grid-auto-rows:245px}
.project-detail-gallery-preview .detail-shot{min-height:0}
.project-detail-gallery-preview .detail-shot:nth-child(1){grid-row:span 2}
.project-gallery-action{padding:0 42px 44px;background:#07090a}
.project-gallery-open{width:100%;display:flex;align-items:center;gap:18px;padding:18px 22px;border:1px solid rgba(200,146,69,.34);background:#0b0e10;color:#eee8df;cursor:pointer;text-align:left;transition:border-color .2s ease,background .2s ease}
.project-gallery-open:hover{border-color:#d1a158;background:#101416}.project-gallery-open span{font:400 20px Georgia,"Times New Roman",serif}.project-gallery-open strong{margin-left:auto;color:#a9a49c;font-size:8px;letter-spacing:.16em;text-transform:uppercase}.project-gallery-open b{color:#d1a158;font-size:16px}
.project-lightbox-dialog{height:min(92vh,980px)}
.lightbox-stage{display:grid;grid-template-rows:minmax(0,1fr) 82px 88px}
.lightbox-image{position:relative;inset:auto;background-size:contain;background-color:#030405}
.lightbox-meta{position:relative;inset:auto;min-height:82px}
.lightbox-thumbs{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:10px 12px;background:#050708;border-top:1px solid rgba(200,146,69,.18);scrollbar-width:thin}
.lightbox-thumb{flex:0 0 96px;height:66px;border:1px solid rgba(255,255,255,.12);padding:0;background:#0a0c0d center/cover no-repeat;opacity:.58;cursor:pointer;transition:opacity .2s ease,border-color .2s ease,transform .2s ease}
.lightbox-thumb:hover,.lightbox-thumb.is-active{opacity:1;border-color:#d1a158}.lightbox-thumb.is-active{transform:translateY(-2px)}
@media(max-width:1024px){.project-gallery-action{padding:0 34px 38px}.project-detail-gallery-preview{grid-auto-rows:220px}}
@media(max-width:700px){.portfolio-grid.portfolio-grid--single{display:block}.portfolio-grid.portfolio-grid--single .portfolio-card--hero{height:470px}.project-detail-gallery-preview{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:190px}.project-detail-gallery-preview .detail-shot:nth-child(1){grid-column:1/-1;grid-row:auto;min-height:260px}.project-gallery-action{padding:0 22px 27px}.project-gallery-open span{font-size:18px}.project-lightbox-dialog{height:100%}.lightbox-stage{inset:54px 0 72px;display:grid;grid-template-rows:minmax(0,1fr) 104px 74px}.lightbox-image{inset:auto}.lightbox-meta{min-height:104px}.lightbox-thumbs{height:74px;padding:8px 10px}.lightbox-thumb{flex-basis:78px;height:56px}}

/* =========================================================
   HOMEPAGE FEATURED PROJECT — OPTIONAL ADMIN SLOTS
   Reflows the protected featured-project layout when one or
   more homepage feature images are disabled in the admin.
   ========================================================= */
.project-layout.featured-count-2{
  grid-template-columns:1.63fr 1fr;
  grid-template-rows:1fr;
}
.project-layout.featured-count-2 .project-main{
  grid-column:1;
  grid-row:1;
}
.project-layout.featured-count-2 .project-side-solo{
  grid-column:2;
  grid-row:1;
}
.project-layout.featured-count-1{
  display:block;
  height:auto;
}
.project-layout.featured-count-1 .project-single{
  display:block;
  width:100%;
  height:460px;
  min-height:0;
  background:#050708;
}
.project-layout.featured-count-1 .project-single .tile-image{
  background-size:contain,cover,cover;
  background-position:center,center,center;
  background-repeat:no-repeat,no-repeat,no-repeat;
  transform:none;
}
.project-layout.featured-count-1 .project-single:hover .tile-image{
  transform:none;
}

@media (max-width:1024px) and (min-width:701px){
  .project-layout.featured-count-2{
    display:grid!important;
    grid-template-columns:1.35fr 1fr!important;
    grid-template-rows:1fr!important;
    height:auto!important;
  }
  .project-layout.featured-count-2 .project-main,
  .project-layout.featured-count-2 .project-side-solo{
    grid-row:1!important;
    height:340px!important;
  }
  .project-layout.featured-count-1 .project-single{
    height:420px!important;
  }
}

@media (max-width:700px){
  .project-layout.featured-count-2{
    display:flex!important;
    flex-direction:column!important;
  }
  .project-layout.featured-count-2 .project-main{
    height:300px!important;
  }
  .project-layout.featured-count-2 .project-side-solo{
    width:100%!important;
    height:260px!important;
  }
  .project-layout.featured-count-1 .project-single{
    height:300px!important;
  }
}

/* ==========================================================
   PCB V8.18.5 — SCALABLE PROJECT PORTFOLIO
   Uniform portfolio grid + one selected project experience.
   ========================================================== */
.projects-page .featured-projects{padding-bottom:86px}
.projects-page .portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 26px;padding:0 0 16px;border-bottom:1px solid rgba(200,146,69,.2)}
.projects-page .portfolio-filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.projects-page .portfolio-filter{appearance:none;border:1px solid rgba(200,146,69,.24);background:rgba(255,255,255,.018);color:#aaa69f;padding:10px 14px;cursor:pointer;font-size:8px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;transition:border-color .2s ease,background .2s ease,color .2s ease}
.projects-page .portfolio-filter span{margin-left:6px;color:#d1a158;font-family:Georgia,"Times New Roman",serif;font-size:10px;font-weight:400;letter-spacing:0}
.projects-page .portfolio-filter:hover,.projects-page .portfolio-filter.is-active{border-color:rgba(211,162,89,.72);background:rgba(200,146,69,.08);color:#f1ede5}
.projects-page .portfolio-result-label{margin:0;color:#77746e;font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.projects-page .portfolio-grid,
.projects-page .portfolio-grid.portfolio-grid--single{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;gap:16px}
.projects-page .portfolio-grid .portfolio-card,
.projects-page .portfolio-grid .portfolio-card--hero,
.projects-page .portfolio-grid .portfolio-card--standard,
.projects-page .portfolio-grid .portfolio-card--catalog,
.projects-page .portfolio-grid.portfolio-grid--single .portfolio-card--hero{grid-column:auto;grid-row:auto;min-height:0;height:auto;aspect-ratio:1.18/1;background:#0b0e10}
.projects-page .portfolio-card--catalog{box-shadow:0 16px 40px rgba(0,0,0,.12);transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}
.projects-page .portfolio-card--catalog:hover{transform:translateY(-3px);border-color:rgba(211,162,89,.45);box-shadow:0 22px 48px rgba(0,0,0,.22)}
.projects-page .portfolio-card--catalog.is-selected{border-color:rgba(211,162,89,.62);box-shadow:0 0 0 1px rgba(211,162,89,.08),0 20px 44px rgba(0,0,0,.2)}
.projects-page .portfolio-card--catalog.is-selected::after{content:"Selected";position:absolute;z-index:4;left:22px;top:20px;padding:6px 8px;background:rgba(5,7,8,.82);border:1px solid rgba(211,162,89,.38);color:#d9ab63;font-size:7px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;backdrop-filter:blur(6px)}
.projects-page .portfolio-card--catalog .portfolio-index{top:21px;right:22px}
.projects-page .portfolio-card--catalog .portfolio-caption{left:24px;right:24px;bottom:23px}
.projects-page .portfolio-card--catalog .portfolio-caption h3,
.projects-page .portfolio-card--catalog.portfolio-card--hero .portfolio-caption h3{font-size:clamp(25px,2vw,31px);line-height:1.03}
.projects-page .portfolio-card--catalog .portfolio-caption strong{margin-top:12px}
.projects-page .portfolio-location{margin:7px 0 0!important;color:#b8b2a9!important;font-family:Georgia,"Times New Roman",serif;font-size:12px!important;font-style:italic;line-height:1.3!important}
.projects-page .portfolio-card--catalog .portfolio-link::after{bottom:15px}
.projects-page .portfolio-empty{grid-column:1/-1;padding:70px 32px;border:1px solid rgba(200,146,69,.18);background:rgba(255,255,255,.015);text-align:center}
.projects-page .portfolio-empty h3{margin:0 0 8px;color:#f2eee7;font:400 28px/1.1 Georgia,"Times New Roman",serif}
.projects-page .portfolio-empty p{margin:0;color:#96918a;font-size:12px}

/* Selected project replaces the old every-project-at-once stack. */
.projects-page .project-experience{padding-top:92px;padding-bottom:92px}
.projects-page .project-experience-heading{margin-bottom:44px}
.projects-page .dynamic-project-card{margin-bottom:0}
.projects-page .is-active-project{animation:pcbProjectReveal .5s ease both}
@keyframes pcbProjectReveal{from{opacity:.35;transform:translateY(10px)}to{opacity:1;transform:none}}
.projects-page .project-detail-hero{min-height:clamp(480px,58vw,680px)}
.projects-page .project-detail-title p{margin:10px 0 0;color:#d0cbc2;font-family:Georgia,"Times New Roman",serif;font-size:14px;font-style:italic}
.projects-page .project-detail-gallery-preview{display:grid;grid-template-columns:1.35fr .8fr .8fr;grid-auto-rows:225px}
.projects-page .project-detail-gallery-preview .detail-shot:nth-child(1){grid-row:span 2}
.projects-page .project-detail-gallery-preview .detail-shot:nth-child(n+6){display:block}
.projects-page .project-detail-navigation{justify-content:flex-start}
.projects-page .project-back-link{width:auto}

@media(max-width:1024px){
  .projects-page .portfolio-grid,.projects-page .portfolio-grid.portfolio-grid--single{grid-template-columns:repeat(2,minmax(0,1fr))}
  .projects-page .portfolio-grid .portfolio-card,.projects-page .portfolio-grid .portfolio-card--catalog{aspect-ratio:1.12/1}
  .projects-page .project-detail-gallery-preview{grid-auto-rows:210px}
}
@media(max-width:700px){
  .projects-page .featured-projects{padding-bottom:60px}
  .projects-page .portfolio-toolbar{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:20px}
  .projects-page .portfolio-filter-group{width:100%;display:grid;grid-template-columns:1fr}
  .projects-page .portfolio-filter{text-align:left;padding:11px 12px}
  .projects-page .portfolio-result-label{display:none}
  .projects-page .portfolio-grid,.projects-page .portfolio-grid.portfolio-grid--single{display:grid;grid-template-columns:1fr;gap:12px}
  .projects-page .portfolio-grid .portfolio-card,.projects-page .portfolio-grid .portfolio-card--hero,.projects-page .portfolio-grid .portfolio-card--standard,.projects-page .portfolio-grid .portfolio-card--catalog,.projects-page .portfolio-grid.portfolio-grid--single .portfolio-card--hero{height:auto;min-height:0;aspect-ratio:1.05/1}
  .projects-page .portfolio-card--catalog .portfolio-caption h3,.projects-page .portfolio-card--catalog.portfolio-card--hero .portfolio-caption h3{font-size:28px}
  .projects-page .project-experience{padding-top:68px;padding-bottom:68px}
  .projects-page .project-experience-heading{margin-bottom:30px}
  .projects-page .project-detail-hero{min-height:430px}
  .projects-page .project-detail-gallery-preview{grid-template-columns:1fr 1fr;grid-auto-rows:180px}
  .projects-page .project-detail-gallery-preview .detail-shot:nth-child(1){grid-column:1/-1;grid-row:auto;min-height:250px}
}
@media(prefers-reduced-motion:reduce){.projects-page .is-active-project{animation:none}.projects-page .portfolio-card--catalog{transition:none}}


/* PCB V8.18.6 — Projects hero compact sizing
   Keeps the existing hero design while preventing it from dominating the page. */
.projects-page .projects-hero{
  min-height: clamp(430px, 58vh, 620px) !important;
  height: auto !important;
}
.projects-page .projects-hero-inner{
  min-height: clamp(430px, 58vh, 620px) !important;
  padding-top: clamp(110px, 13vh, 150px) !important;
  padding-bottom: clamp(55px, 7vh, 85px) !important;
}
@media (max-width: 900px){
  .projects-page .projects-hero,
  .projects-page .projects-hero-inner{
    min-height: 500px !important;
  }
  .projects-page .projects-hero-inner{
    padding-top: 115px !important;
    padding-bottom: 55px !important;
  }
}
@media (max-width: 600px){
  .projects-page .projects-hero,
  .projects-page .projects-hero-inner{
    min-height: 440px !important;
  }
  .projects-page .projects-hero-inner{
    padding-top: 100px !important;
    padding-bottom: 45px !important;
  }
}

/* PCB V8.18.7 — Projects hero compact banner treatment */
.projects-page .projects-hero{
  min-height:360px !important;
  height:360px !important;
  max-height:360px !important;
  align-items:center !important;
}
.projects-page .projects-hero-inner{
  min-height:0 !important;
  height:auto !important;
  padding:105px 0 42px !important;
}
.projects-page .projects-hero h1{
  font-size:clamp(42px,4.2vw,62px) !important;
  line-height:.94 !important;
}
.projects-page .projects-kicker{
  margin-bottom:12px !important;
}
.projects-page .projects-hero-rule{
  margin:18px 0 14px !important;
}
.projects-page .projects-hero-lead{
  font-size:16px !important;
  line-height:1.42 !important;
  margin-bottom:8px !important;
}
.projects-page .projects-hero-body{
  font-size:12px !important;
  line-height:1.55 !important;
}
.projects-page .projects-hero-link{
  min-height:34px !important;
  margin-top:14px !important;
}
.projects-page .projects-hero-frame{
  top:22px !important;
  bottom:22px !important;
}
.projects-page .projects-hero-mark{
  bottom:18px !important;
}
.projects-page .projects-hero-side{
  gap:8px !important;
}
.projects-page .projects-hero-side i{
  height:32px !important;
}

@media (max-width:900px){
  .projects-page .projects-hero{
    min-height:380px !important;
    height:380px !important;
    max-height:380px !important;
  }
  .projects-page .projects-hero-inner{
    min-height:0 !important;
    padding:105px 0 40px !important;
  }
  .projects-page .projects-hero h1{
    font-size:clamp(40px,7vw,54px) !important;
  }
}

@media (max-width:600px){
  .projects-page .projects-hero{
    min-height:400px !important;
    height:400px !important;
    max-height:400px !important;
  }
  .projects-page .projects-hero-inner{
    min-height:0 !important;
    padding:96px 0 34px !important;
  }
  .projects-page .projects-hero h1{
    font-size:38px !important;
  }
  .projects-page .projects-hero-body{
    display:none !important;
  }
  .projects-page .projects-hero-mark,
  .projects-page .projects-hero-side{
    display:none !important;
  }
  .projects-page .projects-hero-frame{
    top:16px !important;
    bottom:16px !important;
    width:34% !important;
  }
}


/* =========================================================
   PCB V8.18.14 — About Page Compact Redesign
   Preserves the luxury styling while reducing scale/scroll.
   ========================================================= */

/* HERO — convert from oversized feature to compact editorial intro */
.about-page .about-hero{
  min-height: clamp(430px, 56vh, 590px) !important;
  height: auto !important;
}
.about-page .about-hero-inner{
  min-height: clamp(430px, 56vh, 590px) !important;
  padding-top: clamp(105px, 12vh, 135px) !important;
  padding-bottom: clamp(48px, 6vh, 70px) !important;
}
.about-page .about-hero-copy{
  max-width: 760px !important;
}
.about-page .about-hero h1{
  font-size: clamp(42px, 4.8vw, 70px) !important;
  line-height: .98 !important;
  margin-bottom: 18px !important;
}
.about-page .about-hero-rule{
  margin: 18px 0 20px !important;
}
.about-page .about-hero-lead{
  font-size: clamp(17px, 1.4vw, 21px) !important;
  line-height: 1.55 !important;
  max-width: 720px !important;
}
.about-page .about-hero-body{
  font-size: 15px !important;
  line-height: 1.7 !important;
  max-width: 700px !important;
  margin-top: 12px !important;
}
.about-page .about-hero-actions{
  margin-top: 24px !important;
  gap: 18px !important;
}
.about-page .about-hero-signature{
  bottom: 28px !important;
}
.about-page .about-scroll-cue{
  bottom: 18px !important;
}

/* SHARED SECTION RHYTHM */
.about-page .meet-builder,
.about-page .what-we-believe,
.about-page .pierce-difference,
.about-page .about-final-cta{
  padding-top: clamp(62px, 7vw, 92px) !important;
  padding-bottom: clamp(62px, 7vw, 92px) !important;
}
.about-page h2{
  font-size: clamp(34px, 4vw, 58px) !important;
  line-height: 1.02 !important;
}
.about-page .section-kicker{
  margin-bottom: 16px !important;
}

/* MEET THE BUILDER */
.about-page .meet-builder-inner{
  gap: clamp(42px, 6vw, 78px) !important;
  align-items: center !important;
}
.about-page .builder-portrait-wrap{
  max-width: 420px !important;
}
.about-page .builder-portrait,
.about-page .builder-portrait-diamond{
  width: min(34vw, 390px) !important;
  height: min(34vw, 390px) !important;
}
.about-page .builder-story{
  max-width: 650px !important;
}
.about-page .builder-story h2{
  margin-bottom: 18px !important;
}
.about-page .builder-lead{
  font-size: clamp(18px, 1.5vw, 22px) !important;
  margin-bottom: 16px !important;
}
.about-page .builder-story > p{
  margin: 10px 0 !important;
  line-height: 1.7 !important;
}
.about-page .builder-quote{
  margin-top: 22px !important;
  padding-top: 18px !important;
}
.about-page .builder-quote blockquote{
  font-size: clamp(20px, 2vw, 28px) !important;
  line-height: 1.35 !important;
}
.about-page .builder-signature{
  margin-top: 18px !important;
}
.about-page .builder-principles{
  margin-top: clamp(42px, 5vw, 62px) !important;
  gap: 18px !important;
}
.about-page .builder-principles > div{
  padding: 24px 24px 22px !important;
}
.about-page .builder-principles strong{
  font-size: 20px !important;
}
.about-page .builder-principles p{
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin-top: 8px !important;
}

/* WHAT WE BELIEVE */
.about-page .beliefs-heading{
  margin-bottom: 34px !important;
}
.about-page .beliefs-heading p{
  max-width: 760px !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}
.about-page .beliefs-grid{
  gap: 16px !important;
}
.about-page .belief-card{
  min-height: 0 !important;
  padding: 26px 24px !important;
}
.about-page .belief-card h3{
  font-size: 22px !important;
  margin: 12px 0 8px !important;
}
.about-page .belief-card p{
  font-size: 14px !important;
  line-height: 1.6 !important;
}
.about-page .belief-number{
  font-size: 12px !important;
}
.about-page .beliefs-statement{
  margin-top: 38px !important;
}

/* PIERCE DIFFERENCE */
.about-page .difference-heading{
  margin-bottom: 38px !important;
}
.about-page .difference-heading p{
  max-width: 760px !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}
.about-page .difference-stage{
  gap: clamp(28px, 4vw, 54px) !important;
}
.about-page .difference-visual{
  min-height: 430px !important;
}
.about-page .difference-list{
  gap: 8px !important;
}
.about-page .difference-item{
  padding: 18px 0 !important;
}
.about-page .difference-item h3{
  font-size: 21px !important;
  margin-bottom: 5px !important;
}
.about-page .difference-item p{
  font-size: 14px !important;
  line-height: 1.6 !important;
}
.about-page .difference-closing{
  margin-top: 30px !important;
}

/* FINAL CTA */
.about-page .about-final-cta{
  min-height: 0 !important;
}
.about-page .about-final-cta-inner{
  gap: 40px !important;
}
.about-page .about-final-copy h2{
  font-size: clamp(36px, 4vw, 58px) !important;
}
.about-page .about-final-copy p{
  max-width: 670px !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}
.about-page .about-final-brandline{
  margin-top: 40px !important;
}

/* TABLET */
@media (max-width: 900px){
  .about-page .about-hero,
  .about-page .about-hero-inner{
    min-height: 470px !important;
  }
  .about-page .about-hero-inner{
    padding-top: 105px !important;
    padding-bottom: 50px !important;
  }
  .about-page .builder-portrait,
  .about-page .builder-portrait-diamond{
    width: 320px !important;
    height: 320px !important;
  }
  .about-page .difference-visual{
    min-height: 360px !important;
  }
}

/* MOBILE */
@media (max-width: 600px){
  .about-page .about-hero,
  .about-page .about-hero-inner{
    min-height: 430px !important;
  }
  .about-page .about-hero-inner{
    padding-top: 95px !important;
    padding-bottom: 42px !important;
  }
  .about-page .about-hero h1{
    font-size: 39px !important;
  }
  .about-page .meet-builder,
  .about-page .what-we-believe,
  .about-page .pierce-difference,
  .about-page .about-final-cta{
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }
  .about-page .builder-portrait,
  .about-page .builder-portrait-diamond{
    width: min(82vw, 300px) !important;
    height: min(82vw, 300px) !important;
  }
  .about-page .builder-principles{
    margin-top: 34px !important;
  }
  .about-page .belief-card{
    padding: 22px 20px !important;
  }
  .about-page .difference-visual{
    min-height: 300px !important;
  }
  .about-page .difference-item{
    padding: 15px 0 !important;
  }
}


/* =========================================================
   PCB V8.18.15 — Contact Page Compact Redesign
   Keeps all inquiry/admin functionality while tightening scale.
   ========================================================= */

/* HERO */
.contact-page .contact-hero{
  min-height: clamp(420px, 54vh, 570px) !important;
  height: auto !important;
}
.contact-page .contact-hero-inner{
  min-height: clamp(420px, 54vh, 570px) !important;
  padding-top: clamp(105px, 12vh, 135px) !important;
  padding-bottom: clamp(46px, 6vh, 68px) !important;
}
.contact-page .contact-hero-copy{
  max-width: 760px !important;
}
.contact-page .contact-hero h1{
  font-size: clamp(42px, 4.8vw, 68px) !important;
  line-height: .98 !important;
  margin-bottom: 16px !important;
}
.contact-page .contact-hero-rule{
  margin: 17px 0 18px !important;
}
.contact-page .contact-hero-lead{
  font-size: clamp(17px, 1.45vw, 21px) !important;
  line-height: 1.5 !important;
  margin-bottom: 10px !important;
}
.contact-page .contact-hero-body{
  font-size: 15px !important;
  line-height: 1.7 !important;
  max-width: 700px !important;
}
.contact-page .contact-hero-actions{
  margin-top: 24px !important;
  gap: 22px !important;
}
.contact-page .contact-hero-signature{
  bottom: 26px !important;
}

/* SHARED SECTION RHYTHM */
.contact-page .start-conversation,
.contact-page .project-inquiry,
.contact-page .what-happens-next,
.contact-page .contact-final-cta{
  padding-top: clamp(58px, 6.5vw, 88px) !important;
  padding-bottom: clamp(58px, 6.5vw, 88px) !important;
}
.contact-page h2{
  font-size: clamp(34px, 4vw, 56px) !important;
  line-height: 1.02 !important;
}
.contact-page .section-kicker{
  margin-bottom: 15px !important;
}

/* START THE CONVERSATION */
.contact-page .conversation-intro{
  gap: clamp(28px, 4vw, 54px) !important;
  margin-bottom: 34px !important;
}
.contact-page .conversation-intro-copy{
  max-width: 620px !important;
}
.contact-page .conversation-lead{
  font-size: clamp(18px, 1.5vw, 22px) !important;
  line-height: 1.5 !important;
  margin-bottom: 12px !important;
}
.contact-page .conversation-intro-copy p:not(.conversation-lead){
  font-size: 15px !important;
  line-height: 1.7 !important;
}
.contact-page .conversation-contact-panel{
  padding: 26px 30px !important;
  gap: 28px !important;
}
.contact-page .conversation-monogram,
.contact-page .conversation-photo{
  width: 105px !important;
  height: 105px !important;
  flex: 0 0 105px !important;
}
.contact-page .conversation-person-copy h3{
  font-size: 27px !important;
  margin: 4px 0 !important;
}
.contact-page .conversation-method{
  padding: 16px 0 !important;
}
.contact-page .conversation-method strong{
  font-size: 18px !important;
}
.contact-page .conversation-note{
  margin-top: 28px !important;
}

/* INQUIRY */
.contact-page .inquiry-heading{
  margin-bottom: 34px !important;
}
.contact-page .inquiry-heading p{
  max-width: 740px !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}
.contact-page .inquiry-layout{
  gap: clamp(24px, 4vw, 48px) !important;
}
.contact-page .inquiry-form{
  padding: 30px !important;
}
.contact-page .inquiry-form-row{
  gap: 16px !important;
  margin-bottom: 16px !important;
}
.contact-page .inquiry-form input,
.contact-page .inquiry-form select,
.contact-page .inquiry-form textarea{
  min-height: 48px !important;
  padding: 12px 14px !important;
}
.contact-page .inquiry-form textarea{
  min-height: 145px !important;
}
.contact-page .inquiry-message{
  margin-top: 4px !important;
}
.contact-page .inquiry-form-footer{
  margin-top: 20px !important;
  gap: 18px !important;
}
.contact-page .inquiry-sidebar{
  padding: 28px 26px !important;
}
.contact-page .inquiry-sidebar h3{
  font-size: 24px !important;
  line-height: 1.15 !important;
}
.contact-page .inquiry-sidebar p{
  font-size: 14px !important;
  line-height: 1.65 !important;
}

/* WHAT HAPPENS NEXT */
.contact-page .next-steps-heading{
  margin-bottom: 32px !important;
}
.contact-page .next-steps-heading p{
  max-width: 760px !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}
.contact-page .next-steps-grid{
  gap: 16px !important;
}
.contact-page .next-step-card{
  min-height: 0 !important;
  padding: 24px 22px !important;
}
.contact-page .next-step-card h3{
  font-size: 21px !important;
  margin: 14px 0 8px !important;
}
.contact-page .next-step-card p{
  font-size: 14px !important;
  line-height: 1.6 !important;
}
.contact-page .next-steps-closing{
  margin-top: 34px !important;
}

/* FINAL CTA */
.contact-page .contact-final-cta{
  min-height: 0 !important;
}
.contact-page .contact-final-inner{
  gap: 38px !important;
}
.contact-page .contact-final-copy h2{
  font-size: clamp(36px, 4vw, 56px) !important;
}
.contact-page .contact-final-copy p{
  max-width: 660px !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}
.contact-page .contact-final-actions{
  gap: 22px !important;
}
.contact-page .contact-final-brandline{
  margin-top: 36px !important;
}

/* TABLET */
@media (max-width: 900px){
  .contact-page .contact-hero,
  .contact-page .contact-hero-inner{
    min-height: 465px !important;
  }
  .contact-page .contact-hero-inner{
    padding-top: 104px !important;
    padding-bottom: 48px !important;
  }
  .contact-page .conversation-contact-panel{
    padding: 24px !important;
  }
  .contact-page .inquiry-form{
    padding: 26px !important;
  }
}

/* MOBILE */
@media (max-width: 600px){
  .contact-page .contact-hero,
  .contact-page .contact-hero-inner{
    min-height: 425px !important;
  }
  .contact-page .contact-hero-inner{
    padding-top: 95px !important;
    padding-bottom: 42px !important;
  }
  .contact-page .contact-hero h1{
    font-size: 39px !important;
  }
  .contact-page .start-conversation,
  .contact-page .project-inquiry,
  .contact-page .what-happens-next,
  .contact-page .contact-final-cta{
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }
  .contact-page .conversation-contact-panel{
    padding: 22px 18px !important;
  }
  .contact-page .conversation-monogram,
  .contact-page .conversation-photo{
    width: 88px !important;
    height: 88px !important;
    flex-basis: 88px !important;
  }
  .contact-page .inquiry-form{
    padding: 22px 18px !important;
  }
  .contact-page .next-step-card{
    padding: 22px 18px !important;
  }
}


/* =========================================================
   PCB V8.18.16 — Contact Diamond Portrait Refinement
   Restores the premium About-page portrait language at a compact scale.
   ========================================================= */

.contact-page .conversation-contact-panel{
  position: relative !important;
  overflow: visible !important;
}

.contact-page .conversation-person{
  align-items: center !important;
  gap: 28px !important;
}

.contact-page .conversation-photo,
.contact-page .conversation-monogram{
  position: relative !important;
  width: 148px !important;
  height: 148px !important;
  flex: 0 0 148px !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  transform: rotate(45deg) !important;
  box-shadow:
    0 0 0 1px rgba(183,136,63,.8),
    0 0 18px rgba(183,136,63,.18),
    0 0 34px rgba(255,255,255,.05) !important;
}

.contact-page .conversation-photo::before,
.contact-page .conversation-monogram::before{
  content:"" !important;
  position:absolute !important;
  inset:-7px !important;
  border:1px solid rgba(183,136,63,.42) !important;
  pointer-events:none !important;
}

.contact-page .conversation-photo img,
.contact-page .conversation-photo > *,
.contact-page .conversation-monogram img,
.contact-page .conversation-monogram > *{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transform: rotate(-45deg) scale(1.42) !important;
}

.contact-page .conversation-photo{
  clip-path: inset(0) !important;
}

.contact-page .conversation-person-copy{
  position: relative !important;
  z-index: 2 !important;
}

.contact-page .conversation-person-copy h3{
  font-size: 28px !important;
}

@media (max-width: 900px){
  .contact-page .conversation-photo,
  .contact-page .conversation-monogram{
    width: 132px !important;
    height: 132px !important;
    flex-basis: 132px !important;
  }
}

@media (max-width: 600px){
  .contact-page .conversation-person{
    gap: 22px !important;
  }
  .contact-page .conversation-photo,
  .contact-page .conversation-monogram{
    width: 112px !important;
    height: 112px !important;
    flex-basis: 112px !important;
  }
}


/* =========================================================
   PCB V8.18.17 — Contact Gold Panel + Portrait Refinement
   ========================================================= */

/* Gold frame around the complete contact information panel */
.contact-page .conversation-contact-panel{
  position: relative !important;
  border: 1px solid rgba(190, 139, 55, .78) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.015),
    0 18px 55px rgba(0,0,0,.20) !important;
  padding: 34px 42px !important;
}

/* Small architectural corner accent */
.contact-page .conversation-contact-panel::after{
  content:"" !important;
  position:absolute !important;
  right:-1px !important;
  top:-1px !important;
  width:72px !important;
  height:72px !important;
  border-top:1px solid rgba(219,166,75,.95) !important;
  border-right:1px solid rgba(219,166,75,.95) !important;
  pointer-events:none !important;
}

/* Give the portrait / identity block more room */
.contact-page .conversation-person{
  gap: 46px !important;
  padding-left: 8px !important;
}

/* More deliberate diamond frame */
.contact-page .conversation-photo,
.contact-page .conversation-monogram{
  width: 154px !important;
  height: 154px !important;
  flex: 0 0 154px !important;
  border: 2px solid rgba(213,160,68,.95) !important;
  box-shadow:
    0 0 0 5px rgba(213,160,68,.10),
    0 0 0 7px rgba(213,160,68,.42),
    0 0 26px rgba(191,139,55,.20),
    0 0 56px rgba(191,139,55,.07) !important;
}

/* Secondary outer diamond */
.contact-page .conversation-photo::before,
.contact-page .conversation-monogram::before{
  inset:-10px !important;
  border:1px solid rgba(213,160,68,.55) !important;
}

/* Keep photo filling the diamond cleanly */
.contact-page .conversation-photo img,
.contact-page .conversation-photo > *,
.contact-page .conversation-monogram img,
.contact-page .conversation-monogram > *{
  object-fit:cover !important;
  transform: rotate(-45deg) scale(1.45) !important;
}

/* Shift copy away from portrait and add a subtle anchor line */
.contact-page .conversation-person-copy{
  padding-left: 6px !important;
  min-width: 260px !important;
}
.contact-page .conversation-person-copy::after{
  content:"" !important;
  display:block !important;
  width:56px !important;
  height:1px !important;
  background:rgba(213,160,68,.88) !important;
  margin-top:18px !important;
}

/* Right side spacing / divider refinement */
.contact-page .conversation-methods{
  padding-left: 36px !important;
}
.contact-page .conversation-method{
  padding: 19px 0 !important;
}

/* Tablet */
@media (max-width: 900px){
  .contact-page .conversation-contact-panel{
    padding: 30px 30px !important;
  }
  .contact-page .conversation-person{
    gap: 36px !important;
  }
  .contact-page .conversation-photo,
  .contact-page .conversation-monogram{
    width: 138px !important;
    height: 138px !important;
    flex-basis: 138px !important;
  }
  .contact-page .conversation-methods{
    padding-left: 22px !important;
  }
}

/* Mobile */
@media (max-width: 600px){
  .contact-page .conversation-contact-panel{
    padding: 26px 20px !important;
  }
  .contact-page .conversation-person{
    gap: 26px !important;
    padding-left: 0 !important;
  }
  .contact-page .conversation-photo,
  .contact-page .conversation-monogram{
    width: 116px !important;
    height: 116px !important;
    flex-basis: 116px !important;
  }
  .contact-page .conversation-person-copy{
    padding-left: 0 !important;
    min-width: 0 !important;
  }
  .contact-page .conversation-methods{
    padding-left: 0 !important;
  }
}


/* =========================================================
   PCB V8.18.18 — Contact Portrait 3D Gold Diamond
   Actual HTML/CSS implementation of the approved concept.
   ========================================================= */

/* Make sure the rotated portrait frame can render outside itself */
.contact-page .conversation-person{
  gap: 58px !important;
  padding-left: 20px !important;
  overflow: visible !important;
}

/* Main metallic diamond */
.contact-page .conversation-photo,
.contact-page .conversation-monogram{
  position: relative !important;
  width: 160px !important;
  height: 160px !important;
  flex: 0 0 160px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  transform: rotate(45deg) !important;

  /* Strong visible gold edge */
  border: 3px solid #c9953e !important;
  outline: 1px solid rgba(255,216,142,.82) !important;
  outline-offset: -6px !important;

  background: #0b0d0d !important;
  box-shadow:
    0 0 0 3px rgba(72,43,10,.95),
    0 0 0 6px rgba(207,153,60,.96),
    0 0 0 8px rgba(255,214,132,.30),
    0 0 20px rgba(210,151,54,.45),
    0 0 46px rgba(210,151,54,.23),
    0 0 80px rgba(210,151,54,.10) !important;
}

/* Outer floating gold diamond */
.contact-page .conversation-photo::before,
.contact-page .conversation-monogram::before{
  content:"" !important;
  position:absolute !important;
  inset:-13px !important;
  display:block !important;
  border:2px solid rgba(199,145,53,.88) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,220,151,.15),
    0 0 18px rgba(197,139,43,.16) !important;
  pointer-events:none !important;
}

/* Inner highlight gives the frame a beveled / dimensional appearance */
.contact-page .conversation-photo::after,
.contact-page .conversation-monogram::after{
  content:"" !important;
  position:absolute !important;
  inset:5px !important;
  z-index:3 !important;
  border:1px solid rgba(255,232,186,.75) !important;
  box-shadow:
    inset 2px 2px 4px rgba(255,236,192,.14),
    inset -3px -3px 6px rgba(59,31,3,.50) !important;
  pointer-events:none !important;
}

/* Photo remains upright while filling the rotated diamond */
.contact-page .conversation-photo img,
.contact-page .conversation-monogram img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  transform:rotate(-45deg) scale(1.43) !important;
  transform-origin:center !important;
  z-index:1 !important;
}

/* If the existing photo wrapper contains an extra element, keep it clipped to the diamond */
.contact-page .conversation-photo > :not(img),
.contact-page .conversation-monogram > :not(img){
  transform:rotate(-45deg) !important;
}

/* More separation between portrait and identity copy */
.contact-page .conversation-person-copy{
  padding-left: 14px !important;
}
.contact-page .conversation-person-copy::after{
  width:62px !important;
  background:#c9953e !important;
  box-shadow:0 0 8px rgba(201,149,62,.18) !important;
}

/* Keep the approved gold square/panel around the whole section */
.contact-page .conversation-contact-panel{
  border:1px solid rgba(201,149,62,.86) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,224,169,.025),
    0 0 0 1px rgba(83,52,14,.30),
    0 20px 60px rgba(0,0,0,.24) !important;
}

/* Tablet */
@media (max-width:900px){
  .contact-page .conversation-person{
    gap:46px !important;
    padding-left:12px !important;
  }
  .contact-page .conversation-photo,
  .contact-page .conversation-monogram{
    width:142px !important;
    height:142px !important;
    flex-basis:142px !important;
  }
}

/* Mobile */
@media (max-width:600px){
  .contact-page .conversation-person{
    gap:34px !important;
    padding-left:8px !important;
  }
  .contact-page .conversation-photo,
  .contact-page .conversation-monogram{
    width:118px !important;
    height:118px !important;
    flex-basis:118px !important;
    box-shadow:
      0 0 0 2px rgba(72,43,10,.95),
      0 0 0 5px rgba(207,153,60,.96),
      0 0 0 7px rgba(255,214,132,.25),
      0 0 20px rgba(210,151,54,.28) !important;
  }
  .contact-page .conversation-photo::before,
  .contact-page .conversation-monogram::before{
    inset:-10px !important;
  }
  .contact-page .conversation-person-copy{
    padding-left:4px !important;
  }
}


/* =========================================================
   PCB V8.18.19 — Contact Portrait Real Frame Fix
   The frame is now a separate element from the photograph.
   ========================================================= */

/* Cancel the old rotated-frame treatment on the photo itself. */
.contact-page .conversation-photo,
.contact-page .conversation-monogram{
  position:absolute !important;
  inset:10px !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  flex:none !important;
  transform:none !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:#0b0d0d !important;
  overflow:hidden !important;
  clip-path:inset(0) !important;
  z-index:2 !important;
}

.contact-page .conversation-photo::before,
.contact-page .conversation-photo::after,
.contact-page .conversation-monogram::before,
.contact-page .conversation-monogram::after{
  content:none !important;
  display:none !important;
}

/* Dedicated structural frame around the image. */
.contact-page .conversation-photo-frame{
  position:relative !important;
  width:166px !important;
  height:166px !important;
  flex:0 0 166px !important;
  transform:rotate(45deg) !important;
  transform-origin:center !important;
  box-sizing:border-box !important;
  overflow:visible !important;
  z-index:2 !important;

  border:3px solid #d29b3f !important;
  background:linear-gradient(135deg,#f2cf83 0%,#a86f1c 28%,#e8b75a 52%,#84510f 76%,#e7bd6b 100%) !important;

  box-shadow:
    0 0 0 2px rgba(255,226,163,.82),
    0 0 0 5px rgba(79,45,7,.95),
    0 0 0 7px rgba(201,143,45,.90),
    0 0 16px rgba(220,162,57,.60),
    0 0 34px rgba(220,162,57,.34),
    0 0 66px rgba(220,162,57,.18) !important;
}

/* Outer floating outline, matching the supplied reference. */
.contact-page .conversation-photo-frame::before{
  content:"" !important;
  position:absolute !important;
  inset:-12px !important;
  border:1px solid rgba(224,171,77,.95) !important;
  box-shadow:
    0 0 8px rgba(221,158,49,.40),
    0 0 22px rgba(221,158,49,.22) !important;
  pointer-events:none !important;
}

/* Inner bevel/highlight. */
.contact-page .conversation-photo-frame::after{
  content:"" !important;
  position:absolute !important;
  inset:4px !important;
  border:1px solid rgba(255,238,197,.92) !important;
  box-shadow:
    inset 2px 2px 3px rgba(255,244,216,.24),
    inset -3px -3px 5px rgba(61,33,4,.62) !important;
  pointer-events:none !important;
  z-index:4 !important;
}

/* Counter-rotate only the image so Evan stays upright inside the diamond. */
.contact-page .conversation-photo-image{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:145% !important;
  height:145% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  transform:translate(-50%,-50%) rotate(-45deg) !important;
  transform-origin:center !important;
  z-index:1 !important;
}

/* Placeholder also remains upright. */
.contact-page .conversation-photo-placeholder{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) rotate(-45deg) !important;
  z-index:1 !important;
}

/* Match the spacing in the supplied reference. */
.contact-page .conversation-person{
  gap:64px !important;
  padding-left:26px !important;
  overflow:visible !important;
}
.contact-page .conversation-person-copy{
  padding-left:8px !important;
}

/* Keep the full contact panel outline subtle and crisp. */
.contact-page .conversation-contact-panel{
  border:1px solid rgba(206,151,57,.86) !important;
}

/* Tablet */
@media (max-width:900px){
  .contact-page .conversation-photo-frame{
    width:146px !important;
    height:146px !important;
    flex-basis:146px !important;
  }
  .contact-page .conversation-person{
    gap:50px !important;
    padding-left:18px !important;
  }
}

/* Mobile */
@media (max-width:600px){
  .contact-page .conversation-photo-frame{
    width:120px !important;
    height:120px !important;
    flex-basis:120px !important;
    box-shadow:
      0 0 0 2px rgba(255,226,163,.75),
      0 0 0 4px rgba(79,45,7,.95),
      0 0 0 6px rgba(201,143,45,.90),
      0 0 16px rgba(220,162,57,.38),
      0 0 30px rgba(220,162,57,.20) !important;
  }
  .contact-page .conversation-photo-frame::before{
    inset:-9px !important;
  }
  .contact-page .conversation-photo,
  .contact-page .conversation-monogram{
    inset:8px !important;
  }
  .contact-page .conversation-person{
    gap:38px !important;
    padding-left:12px !important;
  }
}


/* =========================================================
   PCB V8.18.20 — Contact Diamond Subtle Refinement
   Removes the excessive layered/neon treatment.
   ========================================================= */

.contact-page .conversation-photo-frame{
  width:158px !important;
  height:158px !important;
  flex:0 0 158px !important;

  /* Clean single metallic edge */
  border:2px solid #c6923d !important;
  background:#0b0d0d !important;

  /* Very restrained depth */
  box-shadow:
    0 0 0 1px rgba(244,211,148,.45),
    0 0 14px rgba(195,139,47,.18),
    0 0 28px rgba(195,139,47,.08) !important;
}

/* One subtle outer outline only */
.contact-page .conversation-photo-frame::before{
  inset:-7px !important;
  border:1px solid rgba(198,146,61,.42) !important;
  box-shadow:none !important;
}

/* Soft inner bevel, no bright stacked lines */
.contact-page .conversation-photo-frame::after{
  inset:4px !important;
  border:1px solid rgba(255,235,195,.28) !important;
  box-shadow:
    inset 1px 1px 2px rgba(255,255,255,.08),
    inset -1px -1px 3px rgba(59,31,3,.28) !important;
}

/* Keep the photo comfortably inside the frame */
.contact-page .conversation-photo,
.contact-page .conversation-monogram{
  inset:8px !important;
}

/* Slightly more breathing room, but not exaggerated */
.contact-page .conversation-person{
  gap:52px !important;
  padding-left:20px !important;
}

/* Tone down panel border as well */
.contact-page .conversation-contact-panel{
  border:1px solid rgba(192,140,53,.68) !important;
  box-shadow:
    0 18px 48px rgba(0,0,0,.18) !important;
}

@media (max-width:900px){
  .contact-page .conversation-photo-frame{
    width:140px !important;
    height:140px !important;
    flex-basis:140px !important;
  }
  .contact-page .conversation-person{
    gap:44px !important;
  }
}

@media (max-width:600px){
  .contact-page .conversation-photo-frame{
    width:116px !important;
    height:116px !important;
    flex-basis:116px !important;
    box-shadow:
      0 0 0 1px rgba(244,211,148,.38),
      0 0 12px rgba(195,139,47,.14) !important;
  }
  .contact-page .conversation-photo-frame::before{
    inset:-5px !important;
  }
  .contact-page .conversation-person{
    gap:34px !important;
    padding-left:10px !important;
  }
}


/* =========================================================
   PCB V8.18.21 — Contact Hero Smaller
   Leaves approved contact panel/portrait untouched.
   ========================================================= */

.contact-page .contact-hero{
  min-height: clamp(340px, 42vh, 420px) !important;
  height:auto !important;
}

.contact-page .contact-hero-inner{
  min-height: clamp(340px, 42vh, 420px) !important;
  padding-top: clamp(92px, 10vh, 112px) !important;
  padding-bottom: 36px !important;
}

.contact-page .contact-hero-copy{
  max-width: 720px !important;
}

.contact-page .contact-hero h1{
  font-size: clamp(38px, 4.2vw, 58px) !important;
  line-height: .98 !important;
  margin-bottom: 12px !important;
}

.contact-page .contact-hero-rule{
  margin: 12px 0 14px !important;
}

.contact-page .contact-hero-lead{
  font-size: clamp(16px, 1.25vw, 19px) !important;
  line-height: 1.48 !important;
  margin-bottom: 8px !important;
}

.contact-page .contact-hero-body{
  font-size: 14px !important;
  line-height: 1.62 !important;
  max-width: 660px !important;
}

.contact-page .contact-hero-actions{
  margin-top: 18px !important;
  gap: 18px !important;
}

.contact-page .contact-hero-signature{
  bottom: 18px !important;
}

@media (max-width:900px){
  .contact-page .contact-hero,
  .contact-page .contact-hero-inner{
    min-height: 390px !important;
  }
  .contact-page .contact-hero-inner{
    padding-top: 92px !important;
    padding-bottom: 34px !important;
  }
}

@media (max-width:600px){
  .contact-page .contact-hero,
  .contact-page .contact-hero-inner{
    min-height: 360px !important;
  }
  .contact-page .contact-hero-inner{
    padding-top: 86px !important;
    padding-bottom: 30px !important;
  }
  .contact-page .contact-hero h1{
    font-size: 35px !important;
  }
  .contact-page .contact-hero-lead{
    font-size: 16px !important;
  }
  .contact-page .contact-hero-body{
    font-size: 13.5px !important;
  }
}
