@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=Libre+Caslon+Display&display=swap');:root{--paper:#f5f2ea;--ink:#292a27;--rust:#a65b3b;--green:#536047;--line:#d4cec1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}.photo{background-size:cover;background-position:center}header{height:86px;padding:0 5.5vw;display:flex;align-items:center;border-bottom:1px solid var(--line);background:#f8f6f0}.brand{font:28px "Libre Caslon Display",serif;letter-spacing:.18em}.brand span{display:block;font:8px "DM Sans";letter-spacing:.45em;margin-top:6px}header nav{margin-left:auto;display:flex;gap:32px;font-size:9px;letter-spacing:.2em;text-transform:uppercase}.menu{display:none}.hero{display:grid;grid-template-columns:55% 45%;min-height:660px}.hero-photo{background-image:url('hero-richmond-infill.jpg')}.hero-copy{padding:6.5vw 7vw;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:9px;letter-spacing:.27em}.hero h1,h2{font-family:"Libre Caslon Display",serif;font-weight:400}.hero h1{font-size:clamp(50px,5.2vw,80px);line-height:.95;margin:30px 0}.hero h1 em{color:var(--rust);font-weight:400}.hero-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;max-width:470px}.rust-btn{margin-top:28px;background:var(--rust);color:white;padding:18px 25px;font-size:9px;letter-spacing:.2em}.projects{padding:48px 5.5vw 55px;display:grid;grid-template-columns:.82fr repeat(3,1fr);gap:22px;background:#f8f6f0}.project-intro{padding-right:30px}.project-intro h2{font-size:47px;line-height:.95;margin:20px 0}.project-intro>p:not(.eyebrow){font-size:12px;line-height:1.7;max-width:210px}.text-link{display:inline-block;margin-top:22px;padding-bottom:9px;border-bottom:1px solid;font-size:9px;letter-spacing:.18em}.projects article .photo{height:285px}.p1{background-image:url('projects/museum-district-diva/01-9W7A6592-HDR-Edit.jpg')}.p2{background-image:url('byrd-park-mixed-use.png')}.p3{background-image:url('urban-row.png')}article b,.tile b{display:block;font-size:9px;letter-spacing:.18em;margin-top:13px;font-weight:500}article i{font:italic 13px "Libre Caslon Display";display:block;margin-top:4px}.approach{display:grid;grid-template-columns:52% 48%;background:#eeece4}.approach-photo{min-height:450px;background-image:url('approach-canvas.jpg')}.approach>div:last-child{padding:70px 8vw 60px 5vw}.approach h2{font-size:45px;line-height:1.02;margin:22px 0}.approach p:not(.eyebrow){font-size:12px;line-height:1.8}.available{padding:55px 5.5vw;display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:20px;background:#f8f6f0}.available>div:first-child{padding-right:50px}.available h2{font-size:43px;line-height:1.05;margin:20px 0}.available p:not(.eyebrow){font-size:12px;line-height:1.7}.tile .photo{height:260px}.sale-photo{background-image:url('homes-for-sale.jpg')}.rent-photo{background-image:url('residences-for-rent.png')}.richmond{display:grid;grid-template-columns:58% 42%;min-height:390px}.city-photo{background-image:url('https://images.unsplash.com/photo-1564501049412-61c2a3083791?auto=format&fit=crop&w=1500&q=85');filter:saturate(.75)}.richmond>div:last-child{background:var(--green);color:#f5f1e8;padding:55px 6vw}.richmond h2{font-size:50px;line-height:.98;margin:18px 0}.richmond p:not(.eyebrow){font-size:12px;line-height:1.8}.light{color:white}footer{min-height:140px;background:#242824;color:#f4f0e8;padding:35px 5.5vw;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center}.foot{font-size:24px}footer nav{display:flex;justify-content:center;gap:32px;text-transform:uppercase;font-size:8px;letter-spacing:.18em}.tag{font:italic 20px "Libre Caslon Display";border-left:1px solid #777;padding-left:50px}
@media(max-width:800px){header{height:72px}.brand{font-size:22px}header nav{display:none}.menu{display:block;margin-left:auto;border:0;background:none;font-size:9px;letter-spacing:.2em}.hero{grid-template-columns:1fr}.hero-photo{min-height:430px}.hero-copy{padding:60px 7vw 70px}.hero h1{font-size:53px}.projects{grid-template-columns:1fr}.project-intro{padding:20px 0}.projects article .photo{height:390px}.approach,.richmond{grid-template-columns:1fr}.approach-photo,.city-photo{min-height:380px}.approach>div:last-child{padding:60px 7vw}.available{grid-template-columns:1fr}.available>div:first-child{padding:20px 0 35px}.tile .photo{height:350px}footer{grid-template-columns:1fr;gap:35px}footer nav{justify-content:flex-start;flex-wrap:wrap}.tag{border-left:0;padding-left:0}}
/* Canvas architectural logo lockup */
.brand-lockup{display:flex;align-items:center;gap:13px;letter-spacing:0}
.brand-words{font:22px "Libre Caslon Display",serif;letter-spacing:.18em;line-height:1}
.brand-words small{display:block;font:7px "DM Sans",sans-serif;letter-spacing:.38em;color:var(--rust);margin-top:6px}
.brand-mark{position:relative;width:38px;height:38px;display:block;flex:none}
.brand-mark:before{content:"";position:absolute;inset:3px 5px 3px 2px;border:1.5px solid var(--rust);border-right-color:transparent;border-radius:50%}
.brand-mark i,.brand-mark b,.brand-mark u{position:absolute;display:block;background:#30362e;text-decoration:none}
.brand-mark i{width:1px;height:36px;left:22px;top:0}
.brand-mark b{height:1px;width:24px;left:7px;top:11px}
.brand-mark u{height:1px;width:31px;left:4px;top:29px}
.foot.brand-lockup{font-family:inherit}
.foot .brand-mark i,.foot .brand-mark b,.foot .brand-mark u{background:#e8e1d4}
.foot .brand-words{color:#f4f0e8}
@media(max-width:800px){.brand-lockup{gap:9px}.brand-mark{width:31px;height:31px;transform:scale(.82);transform-origin:left center}.brand-words{font-size:19px}}

/* Lower-page composition */
.approach{min-height:520px}
.approach-photo{min-height:520px;background-position:center 58%}
.approach-panel{padding:76px 7vw 64px 5.5vw!important}
.approach-panel h2{max-width:560px}
.approach-panel>p:not(.eyebrow){max-width:560px}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:30px 0 5px;border-top:1px solid #c9c5bb;border-bottom:1px solid #c9c5bb}
.principles span{padding:16px 12px 16px 0;font-size:8px;letter-spacing:.15em;color:#777}
.principles span+span{padding-left:18px;border-left:1px solid #c9c5bb}
.principles b{display:block;margin-top:6px;font:400 18px "Libre Caslon Display",serif;letter-spacing:0;color:var(--ink)}
.available{align-items:center}
.available h2{max-width:440px}
.available .tile{align-self:stretch;display:flex;flex-direction:column}
.available .tile .photo{flex:1;min-height:280px}
.richmond{min-height:430px}
.city-photo{background-position:center}
.richmond>div:last-child{padding-left:7vw;padding-right:7vw}
.richmond h2{font-size:56px}
footer{min-height:165px}
.tag{font-size:24px;line-height:1.1}
.tag span{color:#d7c4ac}.tag b{font:400 20px "DM Sans";margin-left:16px}
@media(max-width:800px){.approach{min-height:0}.approach-photo{min-height:400px}.approach-panel{padding:60px 7vw!important}.principles{grid-template-columns:1fr}.principles span+span{border-left:0;border-top:1px solid #c9c5bb;padding-left:0}.available .tile .photo{min-height:350px}.richmond h2{font-size:48px}}

/* Richmond by Design — approved Richmond skyline artwork */
.city-photo{
  background-image:url('richmond-by-design.png');
  background-size:200% auto;
  background-position:right center;
  background-repeat:no-repeat;
  filter:none;
}
@media(max-width:800px){
  .city-photo{background-size:auto 100%;background-position:78% center}
}

/* Subtle motion system */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in-view{opacity:1;transform:none}
.hero-photo{animation:heroReveal 1.25s ease both}
.hero-copy>*{opacity:0;transform:translateY(18px);animation:copyReveal .75s ease forwards}
.hero-copy>*:nth-child(1){animation-delay:.15s}.hero-copy>*:nth-child(2){animation-delay:.28s}.hero-copy>*:nth-child(3){animation-delay:.42s}.hero-copy>*:nth-child(4){animation-delay:.55s}
@keyframes heroReveal{from{opacity:.45;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@keyframes copyReveal{to{opacity:1;transform:none}}
.projects article .photo,.tile .photo,.approach-photo,.city-photo{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.projects article:hover .photo,.tile:hover .photo{transform:scale(1.025)}
.rust-btn,.text-link{transition:transform .25s ease,opacity .25s ease}
.rust-btn:hover,.text-link:hover{transform:translateX(4px)}
.brand-mark:before{transition:transform .6s ease}
.brand-lockup:hover .brand-mark:before{transform:rotate(18deg)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.hero-photo,.hero-copy>*,.projects article .photo,.tile .photo,.approach-photo,.city-photo,.rust-btn,.text-link,.brand-mark:before{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}

/* Expanded cinematic motion */
.photo{overflow:hidden;will-change:background-position,transform}
.hero-photo{animation:heroReveal 1.25s ease both,heroDrift 18s ease-in-out 1.3s infinite alternate}
@keyframes heroDrift{from{background-position:48% center}to{background-position:54% center}}
.eyebrow{position:relative;width:max-content}
.reveal.in-view .eyebrow:after,.hero-copy .eyebrow:after{content:"";position:absolute;left:0;bottom:-8px;height:1px;background:var(--rust);animation:lineDraw 1s .35s ease both}
@keyframes lineDraw{from{width:0}to{width:34px}}
.projects article:nth-child(2){transition-delay:.08s}.projects article:nth-child(3){transition-delay:.16s}.projects article:nth-child(4){transition-delay:.24s}
.principles span{opacity:0;transform:translateY(12px);transition:.55s ease}
.approach-panel.in-view .principles span{opacity:1;transform:none}
.approach-panel.in-view .principles span:nth-child(2){transition-delay:.14s}.approach-panel.in-view .principles span:nth-child(3){transition-delay:.28s}
.city-photo{transition:background-position 1.1s cubic-bezier(.2,.7,.2,1)}
.richmond:hover .city-photo{background-position:94% center}
.tile{position:relative;overflow:hidden}
.tile:after{content:"→";position:absolute;right:18px;bottom:1px;opacity:0;transform:translateX(-12px);transition:.35s ease;color:var(--rust)}
.tile:hover:after{opacity:1;transform:none}
header{transition:box-shadow .35s ease,background .35s ease;position:relative;z-index:20}
header.scrolled{position:sticky;top:0;box-shadow:0 8px 28px rgba(30,30,25,.08);background:rgba(248,246,240,.96);backdrop-filter:blur(12px)}
.scroll-progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--rust);z-index:100;pointer-events:none}
@media(min-width:801px){.project-intro.reveal{transform:translateX(-24px)}.project-intro.reveal.in-view{transform:none}.approach-panel.reveal,.richmond>div:last-child.reveal{transform:translateX(28px)}.approach-panel.reveal.in-view,.richmond>div:last-child.reveal.in-view{transform:none}}
@media(prefers-reduced-motion:reduce){.scroll-progress{display:none}.hero-photo{animation:none!important}.principles span{opacity:1!important;transform:none!important}.eyebrow:after{animation:none!important}}

/* Charcoal-forward palette refinement */
:root{--charcoal:#30312e;--charcoal-soft:#3a3b37;--charcoal-wash:#e8e5dc}
header{background:var(--charcoal);color:#f5f1e8;border-bottom-color:#454640}
header.scrolled{background:rgba(48,49,46,.96);color:#f5f1e8;box-shadow:0 8px 30px rgba(20,20,18,.18)}
header .brand-mark i,header .brand-mark b,header .brand-mark u{background:#f1ece1}
header nav a{transition:color .25s ease}header nav a:hover{color:#d08a68}
.hero-copy{background:#f4f1e9}
.projects{background:var(--charcoal);color:#f2eee5}
.projects .project-intro>p:not(.eyebrow){color:#c9c6bd}
.projects .eyebrow,.projects article i{color:#c7c2b7}
.projects article b{color:#f4f0e7}
.projects .text-link{color:#d88b66}
.approach{background:#e9e6de}
.approach-panel{border-top:1px solid #d0ccc1;border-bottom:1px solid #d0ccc1}
.available{background:#f6f3eb}
.available>div:first-child{border-left:4px solid var(--charcoal);padding-left:28px}
.available .tile b{background:var(--charcoal);color:#f5f1e8;margin-top:0;padding:16px 18px}
.available .tile:after{bottom:16px;right:18px;color:#d58a68}
footer{background:#1f211f}
@media(max-width:800px){header .menu{color:#f5f1e8}.available>div:first-child{padding-left:20px}}

/* Hero charcoal frame — echoes Richmond green + charcoal footer */
.hero{background:var(--charcoal);padding:28px 0 28px 5.5vw;gap:0;grid-template-columns:52% 48%;min-height:710px}
.hero-photo{min-height:654px;box-shadow:0 18px 45px rgba(15,16,14,.24);position:relative}
.hero-photo:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.hero-copy{margin:28px 5.5vw 28px 0;padding:6vw 6vw;background:var(--green);color:#f5f1e8;position:relative}
.hero-copy:before{content:"";position:absolute;left:0;top:0;width:52px;height:3px;background:var(--rust)}
.hero-copy .eyebrow{color:#ddd8cc}
.hero-copy>p:not(.eyebrow){color:#e7e2d8}
.hero h1 em{color:#d88964}
.hero .rust-btn{background:var(--rust);box-shadow:0 8px 22px rgba(25,25,20,.15)}
@media(max-width:800px){
 .hero{padding:18px;grid-template-columns:1fr;min-height:0;background:var(--charcoal)}
 .hero-photo{min-height:420px}
 .hero-copy{margin:0;padding:55px 7vw 65px;background:var(--green)}
}

/* Full-bleed editorial hero — reference treatment */
.hero{display:block!important;background:var(--charcoal);padding:24px 5.5vw 34px!important;min-height:0!important}
.hero-photo{min-height:680px!important;width:100%;position:relative;overflow:hidden;background-image:linear-gradient(90deg,rgba(17,19,16,.72) 0%,rgba(17,19,16,.46) 32%,rgba(17,19,16,.10) 62%,rgba(17,19,16,.02) 100%),url('hero-richmond-infill.jpg')!important;background-size:cover!important;background-position:center!important;box-shadow:0 20px 48px rgba(12,13,11,.28)}
.hero-photo:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.hero-overlay{position:absolute;z-index:2;left:5%;top:50%;transform:translateY(-50%);width:min(520px,45%);color:#fff}
.hero-overlay .eyebrow{color:#e4ded2;margin:0 0 22px}
.hero-overlay h1{font:400 clamp(54px,5vw,78px)/.92 "Libre Caslon Display",serif;margin:0 0 28px;letter-spacing:-.02em}
.hero-overlay h1 em{font-style:normal;color:#fff}
.hero-overlay>p:not(.eyebrow){max-width:470px;font-size:14px;line-height:1.65;color:#f3efe7;text-shadow:0 1px 12px rgba(0,0,0,.25)}
.hero-actions{display:flex;gap:14px;margin-top:30px}
.hero-btn{min-width:180px;padding:17px 20px;border:1px solid rgba(255,255,255,.78);font-size:9px;letter-spacing:.08em;display:flex;justify-content:space-between;align-items:center;transition:background .3s ease,color .3s ease,transform .3s ease}
.hero-btn.primary{background:#f5f2ea;color:var(--ink);border-color:#f5f2ea}
.hero-btn.secondary{color:#fff;background:rgba(24,27,23,.18);backdrop-filter:blur(3px)}
.hero-btn:hover{transform:translateY(-3px)}
.hero-btn.secondary:hover{background:#f5f2ea;color:var(--ink)}
.hero-overlay>*{opacity:0;transform:translateY(18px);animation:copyReveal .75s ease forwards}
.hero-overlay>*:nth-child(1){animation-delay:.18s}.hero-overlay>*:nth-child(2){animation-delay:.3s}.hero-overlay>*:nth-child(3){animation-delay:.44s}.hero-overlay>*:nth-child(4){animation-delay:.58s}
@media(max-width:800px){.hero{padding:14px!important}.hero-photo{min-height:680px!important;background-position:60% center!important}.hero-overlay{left:7%;right:7%;width:auto;top:auto;bottom:52px;transform:none}.hero-overlay h1{font-size:50px}.hero-overlay>p:not(.eyebrow){font-size:13px;max-width:90%}.hero-actions{flex-direction:column;align-items:flex-start}.hero-btn{width:230px}.hero-overlay .eyebrow{margin-bottom:16px}}

/* Approved Canvas hero artwork */
.hero{padding:24px 5.5vw 34px!important;background:var(--charcoal)!important}
.hero-photo{
  background-image:url('canvas-hero-final.png')!important;
  background-size:cover!important;
  background-position:center!important;
  min-height:680px!important;
}
.hero-photo:before{display:none!important}
.hero-overlay{
  left:5.8%!important;
  width:min(520px,43%)!important;
}
.hero-overlay h1{font-size:clamp(52px,4.7vw,76px)!important}
@media(max-width:800px){
 .hero-photo{background-image:linear-gradient(180deg,rgba(15,17,14,.05) 20%,rgba(15,17,14,.82) 76%,rgba(15,17,14,.92) 100%),url('canvas-hero-final.png')!important;background-position:66% center!important}
 .hero-overlay{width:auto!important}
}

/* Hero image only — remove all overlaid copy/buttons */
.hero{display:block!important;background:var(--charcoal)!important;padding:24px 5.5vw 34px!important}
.hero-photo{background-image:url('canvas-hero-final.png')!important;background-size:cover!important;background-position:center!important;min-height:680px!important;width:100%!important;box-shadow:0 20px 48px rgba(12,13,11,.28)}
.hero-photo:before,.hero-photo:after,.hero-overlay{display:none!important}
@media(max-width:800px){.hero{padding:14px!important}.hero-photo{min-height:520px!important;background-image:url('canvas-hero-final.png')!important;background-position:62% center!important}}

/* Approved live-text hero composition */
.hero{display:block!important;background:var(--charcoal)!important;padding:0!important}
.hero-photo{position:relative!important;width:100%!important;min-height:720px!important;background-image:url('canvas-hero-final.png')!important;background-size:cover!important;background-position:center!important;box-shadow:none!important}
.hero-photo:before{display:block!important;content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,15,12,.72) 0%,rgba(12,15,12,.48) 30%,rgba(12,15,12,.12) 58%,rgba(12,15,12,0) 78%);z-index:1}
.hero-photo:after{display:none!important}
.hero-overlay{display:block!important;position:absolute!important;z-index:2!important;left:7%!important;top:50%!important;bottom:auto!important;right:auto!important;transform:translateY(-50%)!important;width:min(590px,42%)!important;color:#fff!important}
.hero-overlay h1{font:400 clamp(62px,5.3vw,88px)/.96 "Libre Caslon Display",serif!important;letter-spacing:-.025em!important;margin:0 0 30px!important;color:#fff!important}
.hero-overlay>p{max-width:560px!important;font-size:15px!important;line-height:1.55!important;color:#fff!important;margin:0!important;text-shadow:0 1px 14px rgba(0,0,0,.25)}
.hero-actions{display:flex!important;gap:18px!important;margin-top:32px!important}
.hero-btn{min-width:220px!important;padding:20px 22px!important;border:1px solid rgba(255,255,255,.82)!important;font-size:10px!important;letter-spacing:.06em!important;display:flex!important;justify-content:space-between!important;align-items:center!important}
.hero-btn.primary{background:#f6f3eb!important;color:#292a27!important;border-color:#f6f3eb!important}
.hero-btn.secondary{background:rgba(10,12,10,.12)!important;color:#fff!important;backdrop-filter:blur(3px)}
.hero-overlay>*{opacity:0;transform:translateY(18px);animation:copyReveal .8s ease forwards}
.hero-overlay>*:nth-child(1){animation-delay:.25s}.hero-overlay>*:nth-child(2){animation-delay:.42s}.hero-overlay>*:nth-child(3){animation-delay:.58s}
@media(max-width:800px){
 .hero-photo{min-height:700px!important;background-position:62% center!important}
 .hero-photo:before{background:linear-gradient(180deg,rgba(12,15,12,.08) 10%,rgba(12,15,12,.38) 48%,rgba(12,15,12,.88) 100%)!important}
 .hero-overlay{left:7%!important;right:7%!important;top:auto!important;bottom:48px!important;transform:none!important;width:auto!important}
 .hero-overlay h1{font-size:51px!important}
 .hero-overlay>p{font-size:13px!important;max-width:94%!important}
 .hero-actions{flex-direction:column!important;gap:10px!important}
 .hero-btn{width:245px!important;min-width:0!important}
}


/* Header logo — white horizontal Canvas lockup */
header .brand-lockup{gap:18px;align-items:center}
header .brand-mark{width:58px;height:58px}
header .brand-mark:before{inset:4px 7px 4px 3px;border:1.6px solid #fff;border-right-color:transparent}
header .brand-mark i,header .brand-mark b,header .brand-mark u{background:#fff}
header .brand-mark i{width:1.5px;height:54px;left:34px;top:1px}
header .brand-mark b{height:1.5px;width:37px;left:10px;top:17px}
header .brand-mark u{height:1.5px;width:47px;left:6px;top:44px}
header .brand-words{font-size:32px;letter-spacing:.16em;color:#fff}
header .brand-words small{font-size:8px;letter-spacing:.48em;color:#fff;margin-top:7px}
@media(max-width:800px){
 header .brand-lockup{gap:10px}
 header .brand-mark{width:40px;height:40px;transform:none}
 header .brand-mark:before{inset:3px 5px 3px 2px}
 header .brand-mark i{height:38px;left:24px}
 header .brand-mark b{width:27px;left:7px;top:12px}
 header .brand-mark u{width:34px;left:4px;top:31px}
 header .brand-words{font-size:23px}
 header .brand-words small{font-size:6px}
}


/* Final header logo treatment — approved white + terracotta lockup */
header .brand-lockup{gap:20px!important;align-items:center!important}
header .brand-mark{width:58px!important;height:58px!important}
header .brand-mark:before{
  inset:4px 7px 4px 3px!important;
  border:1.7px solid #fff!important;
  border-right-color:transparent!important;
  border-radius:50%!important
}
header .brand-mark i,header .brand-mark b,header .brand-mark u{background:#c76f4f!important}
header .brand-mark i{width:1.7px!important;height:54px!important;left:34px!important;top:1px!important}
header .brand-mark b{height:1.7px!important;width:37px!important;left:10px!important;top:17px!important}
header .brand-mark u{height:1.7px!important;width:47px!important;left:6px!important;top:44px!important}
header .brand-words{
  display:block!important;
  font:400 32px/1 "Libre Caslon Display",serif!important;
  letter-spacing:.16em!important;
  color:#fff!important;
  white-space:nowrap!important
}
header .brand-words small{
  display:block!important;
  width:100%!important;
  margin-top:7px!important;
  font:500 9px/1 "DM Sans",sans-serif!important;
  letter-spacing:.39em!important;
  color:#c76f4f!important;
  white-space:nowrap!important
}
@media(max-width:800px){
 header .brand-lockup{gap:10px!important}
 header .brand-mark{width:40px!important;height:40px!important}
 header .brand-mark:before{inset:3px 5px 3px 2px!important}
 header .brand-mark i{height:38px!important;left:24px!important}
 header .brand-mark b{width:27px!important;left:7px!important;top:12px!important}
 header .brand-mark u{width:34px!important;left:4px!important;top:31px!important}
 header .brand-words{font-size:23px!important}
 header .brand-words small{font-size:6.5px!important;letter-spacing:.36em!important;margin-top:5px!important}
}


/* Approach page */
.approach-page{background:var(--paper)}
.approach-hero{display:grid;grid-template-columns:47% 53%;min-height:690px;background:var(--green);color:#f7f3ea}
.approach-hero-copy{padding:9vw 6vw 7vw 7vw;display:flex;flex-direction:column;justify-content:center}
.approach-hero-copy .eyebrow{color:#e0d9cc}
.approach-hero h1{font:400 clamp(58px,5.6vw,90px)/.94 "Libre Caslon Display",serif;letter-spacing:-.025em;margin:28px 0 34px}
.approach-hero h1 em{font-style:normal;color:#c76f4f}
.approach-hero .lead{font-size:14px;line-height:1.75;max-width:570px;color:#eee9df}
.approach-hero-photo{background-image:linear-gradient(rgba(20,22,19,.08),rgba(20,22,19,.08)),url('approach-canvas.jpg');background-position:center 55%}
.approach-manifesto{padding:110px 12vw 120px;background:#f6f3eb;display:grid;grid-template-columns:.7fr 1.3fr 1fr;gap:6vw;align-items:start}
.approach-manifesto h2{font-size:clamp(48px,4.5vw,70px);line-height:.98;margin:0}
.approach-manifesto>p:last-child{font-size:14px;line-height:1.85;margin:4px 0 0}
.approach-steps{background:var(--charcoal);color:#f5f1e8;padding:35px 7vw 60px}
.approach-steps article{display:grid;grid-template-columns:13% 1fr;border-top:1px solid #55564f;padding:54px 0 62px}
.approach-steps article>span{font:400 54px "Libre Caslon Display",serif;color:#c76f4f}
.approach-steps article>div{display:grid;grid-template-columns:.65fr 1fr 1.1fr;gap:5vw;align-items:start}
.approach-steps .eyebrow{color:#c76f4f;margin-top:10px}
.approach-steps h2{font-size:clamp(45px,4vw,65px);line-height:.95;margin:0}
.approach-steps article p:last-child{font-size:13px;line-height:1.8;color:#ccc8bf;margin:5px 0 0;max-width:520px}
.approach-closing{background:#f6f3eb;padding:85px 7vw;display:flex;justify-content:space-between;align-items:end;gap:40px}
.approach-closing h2{font-size:clamp(45px,4.4vw,68px);line-height:1;margin:22px 0 0}
.approach-cta{background:var(--green);color:#fff;padding:22px 25px;min-width:250px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;transition:transform .25s ease,background .25s ease}
.approach-cta:hover{transform:translateY(-3px);background:var(--charcoal)}
@media(max-width:800px){
 .approach-hero{grid-template-columns:1fr;min-height:0}
 .approach-hero-copy{padding:70px 7vw}
 .approach-hero h1{font-size:54px}
 .approach-hero-photo{min-height:420px}
 .approach-manifesto{padding:75px 7vw;grid-template-columns:1fr;gap:28px}
 .approach-manifesto h2{font-size:48px}
 .approach-steps{padding:20px 7vw 45px}
 .approach-steps article{grid-template-columns:1fr;padding:42px 0 50px}
 .approach-steps article>span{font-size:34px;margin-bottom:22px}
 .approach-steps article>div{grid-template-columns:1fr;gap:20px}
 .approach-steps h2{font-size:48px}
 .approach-closing{padding:65px 7vw;display:block}
 .approach-cta{margin-top:35px;width:260px}
}


/* Private residences password landing page */
.rent-gate-page{background:var(--charcoal)}
.rent-gate{display:grid;grid-template-columns:56% 44%;min-height:720px;background:var(--charcoal)}
.rent-gate-image{position:relative;background-image:linear-gradient(180deg,rgba(20,22,19,.04),rgba(20,22,19,.38)),url('residences-for-rent.png');background-size:cover;background-position:center;min-height:720px}
.rent-gate-caption{position:absolute;left:6vw;bottom:48px;color:#fff;font-size:8px;letter-spacing:.22em}
.rent-gate-caption p{font:italic 16px "Libre Caslon Display",serif;letter-spacing:0;margin:8px 0 0}
.rent-gate-panel{background:var(--green);color:#f6f2e9;display:flex;align-items:center}
.rent-gate-inner{width:min(560px,78%);margin:0 auto;padding:75px 0}
.rent-gate-inner .eyebrow{color:#ddd7ca}
.rent-gate h1{font:400 clamp(62px,5.2vw,84px)/.93 "Libre Caslon Display",serif;letter-spacing:-.025em;margin:28px 0 30px}
.rent-intro{font-size:14px;line-height:1.75;max-width:480px;color:#eee8dd}
.gate-rule{width:100%;height:1px;background:rgba(255,255,255,.25);margin:38px 0}
.gate-note{font-size:12px;line-height:1.7;max-width:450px;color:#e4ded2}
.password-form{margin-top:28px}
.password-form label{display:block;font-size:8px;letter-spacing:.2em;margin-bottom:11px;color:#ddd7ca}
.password-row{display:flex;border-bottom:1px solid rgba(255,255,255,.72)}
.password-row input{flex:1;min-width:0;border:0;background:transparent;color:#fff;font:400 17px "DM Sans",sans-serif;padding:14px 4px;outline:0}
.password-row input::placeholder{color:rgba(255,255,255,.45)}
.password-row button{border:0;background:transparent;color:#fff;font-size:9px;letter-spacing:.16em;padding:0 4px 0 22px;cursor:pointer}
.password-row button span{color:#c76f4f;font-size:16px;margin-left:10px}
.password-status{min-height:20px;font-size:10px;letter-spacing:.04em;color:#e0b09c;margin-top:12px}
.gate-back{display:inline-block;margin-top:30px;font-size:8px;letter-spacing:.16em;color:#ddd7ca}
@media(max-width:800px){
 .rent-gate{grid-template-columns:1fr;min-height:0}
 .rent-gate-image{min-height:390px}
 .rent-gate-caption{left:7vw;bottom:28px}
 .rent-gate-inner{width:86%;padding:65px 0 75px}
 .rent-gate h1{font-size:56px}
}


/* Private rental collection */
.rental-collection-page{background:#f6f3eb}
.rc-hero{min-height:560px;background:var(--green);color:#f7f3ea;padding:90px 7vw 80px;display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:8vw}
.rc-hero h1{font:400 clamp(70px,7vw,112px)/.88 "Libre Caslon Display",serif;letter-spacing:-.035em;margin:28px 0 32px}
.rc-hero>div>p:last-child{font-size:15px;line-height:1.7;max-width:540px;color:#e8e2d7}
.rc-hero aside{border-left:1px solid rgba(255,255,255,.28);padding-left:35px;margin-bottom:10px}
.rc-hero aside span{font-size:8px;letter-spacing:.22em;color:#d8d1c5}
.rc-hero aside p{font:italic 22px/1.3 "Libre Caslon Display",serif;margin:16px 0 0}
.rc-intro{padding:90px 7vw 70px;display:grid;grid-template-columns:.55fr 1.45fr;gap:7vw;border-bottom:1px solid var(--line)}
.rc-intro>div{display:grid;grid-template-columns:1.1fr .9fr;gap:6vw;align-items:end}
.rc-intro h2{font-size:clamp(48px,4.5vw,70px);line-height:.96;margin:0}
.rc-intro>div>p{font-size:13px;line-height:1.8;margin:0;max-width:420px}
.rc-grid{padding:45px 5.5vw 110px;display:grid;grid-template-columns:repeat(2,1fr);gap:65px 28px;background:#f6f3eb}
.rc-card{display:block;min-width:0}
.rc-photo{height:430px;background-size:cover;background-position:center;position:relative;overflow:hidden;transition:transform .5s ease}
.rc-card:hover .rc-photo{transform:translateY(-4px)}
.rc-placeholder{background:var(--charcoal);display:flex;align-items:center;justify-content:center;color:#d9d3c8}
.rc-placeholder span{font-size:9px;letter-spacing:.2em;border:1px solid #77766f;padding:14px 18px}
.rc-card-copy{padding:21px 4px 0;position:relative}
.rc-card-copy p{font-size:8px;letter-spacing:.19em;color:#77746d;margin:0 0 9px}
.rc-card-copy h3{font:400 34px/1 "Libre Caslon Display",serif;margin:0 0 14px}
.rc-card-copy span{display:block;font-size:9px;letter-spacing:.13em;margin-bottom:8px}
.rc-card-copy b{display:block;font-size:9px;line-height:1.6;letter-spacing:.08em;font-weight:500;color:#5b5a55;padding-right:150px}
.rc-card-copy em{position:absolute;right:4px;bottom:1px;font-style:normal;font-size:8px;letter-spacing:.13em;color:#a65b3b;border-bottom:1px solid #a65b3b;padding-bottom:5px}
.rc-note{background:var(--charcoal);color:#f3efe6;padding:85px 7vw 95px;display:grid;grid-template-columns:.5fr 1fr .8fr;gap:6vw;align-items:start}
.rc-note h2{font-size:clamp(44px,4vw,62px);line-height:.98;margin:0}
.rc-note>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#cbc7be;margin:5px 0 0}
.rc-note a{grid-column:3;display:inline-block;margin-top:-30px;color:#d58a68;font-size:9px;letter-spacing:.14em;border-bottom:1px solid #d58a68;padding-bottom:8px;width:max-content}
@media(max-width:800px){
 .rc-hero{min-height:540px;padding:70px 7vw 60px;grid-template-columns:1fr;gap:45px}
 .rc-hero h1{font-size:64px}
 .rc-hero aside{padding-left:20px}
 .rc-intro{padding:65px 7vw 55px;grid-template-columns:1fr;gap:25px}
 .rc-intro>div{grid-template-columns:1fr;gap:25px}
 .rc-grid{grid-template-columns:1fr;padding:35px 5vw 75px;gap:55px}
 .rc-photo{height:330px}
 .rc-card-copy b{padding-right:0}
 .rc-card-copy em{position:static;display:inline-block;margin-top:14px}
 .rc-note{padding:65px 7vw;grid-template-columns:1fr;gap:25px}
 .rc-note a{grid-column:auto;margin-top:5px}
}
/* Canvas residence detail pages */
.residence-page{background:#f6f3eb}.rp-hero{background:var(--charcoal);color:#fff}.rp-hero-photo{height:68vh;min-height:520px;background-size:cover;background-position:center}.rp-no-photo{background:var(--green);display:flex;align-items:center;justify-content:center}.rp-no-photo span{font-size:10px;letter-spacing:.25em}.rp-title{padding:50px 7vw 58px;display:grid;grid-template-columns:.45fr 1fr .5fr;align-items:end;gap:4vw}.rp-title h1{font:400 clamp(52px,5.6vw,86px)/.95 "Libre Caslon Display",serif;margin:0}.rp-title>p:last-child{font-size:10px;letter-spacing:.14em}.rp-details{padding:95px 7vw 110px;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.rp-details h2,.rp-gallery-heading h2{font-size:clamp(44px,4.4vw,68px);line-height:.98;margin:22px 0}.rp-details>div:last-child>p{font-size:14px;line-height:1.9;margin:4px 0 35px}.rp-availability{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.rp-availability span{display:block;font-size:8px;letter-spacing:.18em;color:#777;margin-bottom:8px}.rp-availability b{font-size:10px;letter-spacing:.08em}.rp-inquire{display:inline-block;margin-top:30px;background:var(--green);color:#fff;padding:19px 22px;font-size:9px;letter-spacing:.12em}.rp-gallery-heading{background:#e9e6de;padding:80px 7vw 90px}.rp-gallery-heading>p:last-child{font-size:12px;line-height:1.7;max-width:520px}@media(max-width:800px){.rp-hero-photo{height:52vh;min-height:380px}.rp-title{grid-template-columns:1fr;gap:15px;padding:38px 7vw 45px}.rp-title h1{font-size:52px}.rp-details{grid-template-columns:1fr;padding:65px 7vw;gap:25px}.rp-gallery-heading{padding:60px 7vw}}
/* Homes for sale */
.sales-page{background:#f6f3eb}.sales-hero{min-height:600px;background:var(--charcoal);color:#f6f1e7;padding:105px 7vw 80px;display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:8vw}.sales-hero h1{font:400 clamp(76px,8vw,124px)/.86 "Libre Caslon Display",serif;letter-spacing:-.04em;margin:30px 0 35px}.sales-hero>div>p:last-child{max-width:540px;font-size:15px;line-height:1.8;color:#d8d3c9}.sales-hero aside{border-left:1px solid #66665f;padding-left:34px}.sales-hero aside span{font-size:8px;letter-spacing:.22em;color:#aaa69d}.sales-hero aside p{font:italic 23px/1.35 "Libre Caslon Display",serif}.sales-intro{padding:95px 7vw 85px;display:grid;grid-template-columns:.5fr 1.5fr;gap:7vw}.sales-intro>div{display:grid;grid-template-columns:1.1fr .9fr;gap:6vw;align-items:end}.sales-intro h2{font-size:clamp(48px,5vw,76px);line-height:.96;margin:0}.sales-intro>div>p{font-size:13px;line-height:1.9;margin:0}.sales-feature{display:grid;grid-template-columns:1.15fr .85fr;min-height:650px}.sales-feature-photo{background:url('homes-for-sale.jpg') center/cover no-repeat;min-height:600px}.sales-feature-copy{background:var(--green);color:#f5f1e8;padding:90px 7vw;display:flex;flex-direction:column;justify-content:center}.sales-feature-copy h2{font-size:clamp(46px,4.7vw,72px);line-height:.96;margin:24px 0 30px}.sales-feature-copy>p:not(.eyebrow){font-size:13px;line-height:1.85;color:#e0dbd0}.sales-feature-copy a,.sales-coming a{display:inline-block;width:max-content;margin-top:30px;font-size:9px;letter-spacing:.14em;border-bottom:1px solid currentColor;padding-bottom:7px}.sales-coming{padding:100px 7vw 110px;text-align:center}.sales-coming h2{font-size:clamp(48px,5vw,76px);margin:24px 0 20px}.sales-coming>p:not(.eyebrow){max-width:520px;margin:auto;font-size:13px;line-height:1.8}@media(max-width:800px){.sales-hero{min-height:540px;padding:75px 7vw 60px;grid-template-columns:1fr;gap:45px}.sales-hero h1{font-size:68px}.sales-intro,.sales-intro>div,.sales-feature{grid-template-columns:1fr}.sales-intro{padding:65px 7vw}.sales-intro>div{gap:25px}.sales-feature-photo{min-height:420px}.sales-feature-copy{padding:65px 7vw}.sales-coming{padding:70px 7vw}}
/* Residences for Rent — staged kitchen banner */
.rent-gate-image{
  background-image:linear-gradient(180deg,rgba(22,24,21,.04),rgba(22,24,21,.22)),url('ResidencesRentBanner.png')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
@media(max-width:800px){
 .rent-gate-image{min-height:46vh!important;background-position:center center!important}
}

/* Contact page */
.contact-page{background:#f6f3eb}.contact-hero{min-height:590px;background:var(--charcoal);color:#f7f3ea;padding:105px 7vw 80px;display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:9vw}.contact-hero h1{font:400 clamp(64px,6.5vw,104px)/.9 "Libre Caslon Display",serif;letter-spacing:-.035em;margin:28px 0 32px}.contact-hero>div>p:last-child{max-width:570px;font-size:14px;line-height:1.85;color:#d8d3c9}.contact-hero aside{border-left:1px solid #66665f;padding-left:34px}.contact-hero aside span{display:block;font-size:8px;letter-spacing:.2em;color:#aaa69d;margin-bottom:18px}.contact-hero aside a{font:400 25px/1.2 "Libre Caslon Display",serif;color:#fff;border-bottom:1px solid #c76f4f;padding-bottom:5px}.contact-hero aside p{font-size:10px;letter-spacing:.13em;margin-top:22px;color:#bbb7ae}.contact-form-section{padding:100px 7vw 120px;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.contact-intro h2{font-size:clamp(46px,4.6vw,70px);line-height:.98;margin:25px 0}.canvas-contact-form{max-width:720px}.canvas-contact-form label{display:block;font-size:8px;letter-spacing:.18em;margin-bottom:28px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.canvas-contact-form input,.canvas-contact-form select,.canvas-contact-form textarea{box-sizing:border-box;width:100%;margin-top:10px;padding:15px 0;border:0;border-bottom:1px solid #aaa69d;background:transparent;border-radius:0;font:400 14px/1.5 "DM Sans",sans-serif;color:var(--ink);outline:none}.canvas-contact-form textarea{resize:vertical}.canvas-contact-form input:focus,.canvas-contact-form select:focus,.canvas-contact-form textarea:focus{border-color:var(--green)}.canvas-contact-form button{border:0;background:var(--green);color:#fff;padding:19px 24px;font:500 9px/1 "DM Sans",sans-serif;letter-spacing:.14em;cursor:pointer}.canvas-contact-form button:disabled{opacity:.6}.contact-status{font-size:11px;line-height:1.6;margin-top:18px}.contact-status a{text-decoration:underline}@media(max-width:800px){.contact-hero{min-height:560px;padding:75px 7vw 60px;grid-template-columns:1fr;gap:45px}.contact-hero h1{font-size:58px}.contact-form-section{grid-template-columns:1fr;padding:65px 7vw 80px;gap:35px}.form-pair{grid-template-columns:1fr;gap:0}}
/* Individual project pages */
.project-page{background:#f6f3eb}.pj-hero{min-height:78vh;background-size:cover;background-position:center;display:flex;align-items:flex-end;color:#fff;padding:90px 7vw 70px}.pj-hero h1{font:400 clamp(70px,8vw,122px)/.86 "Libre Caslon Display",serif;letter-spacing:-.04em;margin:25px 0}.pj-hero>div>p:last-child{font-size:11px;letter-spacing:.16em}.pj-intro,.pj-details{padding:100px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.pj-intro h2,.pj-details h2,.pj-story h2,.pj-location h2{font-size:clamp(48px,5vw,76px);line-height:.96;margin:22px 0}.pj-intro>div:last-child>p,.pj-story p:not(.eyebrow),.pj-details p,.pj-location>p:last-of-type{font-size:13px;line-height:1.9}.pj-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;border-top:1px solid var(--line);margin-top:42px;padding-top:28px}.pj-stats span{font-size:7px;letter-spacing:.15em}.pj-stats b{display:block;font:400 26px/1 "Libre Caslon Display",serif;letter-spacing:0;margin-bottom:9px}.pj-story{display:grid;grid-template-columns:1.15fr .85fr;min-height:680px}.pj-story-photo{background-size:cover;background-position:center}.pj-story>div:last-child{background:var(--green);color:#f6f1e7;padding:90px 7vw;display:flex;flex-direction:column;justify-content:center}.pj-story>div:last-child p:not(.eyebrow){color:#e1ddd3}.pj-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px}.pj-location{background:var(--charcoal);color:#f6f1e7;text-align:center;padding:100px 7vw 110px}.pj-location>p:last-of-type{max-width:650px;margin:0 auto;color:#cbc7be}.pj-location a{display:inline-block;margin-top:35px;color:#d58a68;font-size:9px;letter-spacing:.14em;border-bottom:1px solid #d58a68;padding-bottom:8px}@media(max-width:800px){.pj-hero{min-height:65vh;padding:70px 7vw 50px}.pj-hero h1{font-size:62px}.pj-intro,.pj-details,.pj-story{grid-template-columns:1fr}.pj-intro,.pj-details{padding:65px 7vw;gap:25px}.pj-stats{grid-template-columns:1fr 1fr}.pj-story-photo{min-height:440px}.pj-story>div:last-child{padding:65px 7vw}.pj-columns{grid-template-columns:1fr;gap:10px}.pj-location{padding:70px 7vw}}
/* Project photography gallery */
.pj-gallery{padding:100px 5.5vw 110px;background:#ece8df}.pj-gallery-head{padding:0 1.5vw 55px}.pj-gallery-head h2{font-size:clamp(48px,5vw,76px);line-height:.96;margin:22px 0}.pj-gallery-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:340px 340px;gap:18px}.pj-gallery-grid img{width:100%;height:100%;object-fit:cover;display:block}.pj-gallery-grid img:first-child{grid-row:1/3}.pj-gallery-grid img:nth-child(2),.pj-gallery-grid img:nth-child(3){grid-column:2}@media(max-width:800px){.pj-gallery{padding:65px 5vw 75px}.pj-gallery-head{padding:0 2vw 35px}.pj-gallery-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:12px}.pj-gallery-grid img,.pj-gallery-grid img:first-child,.pj-gallery-grid img:nth-child(2),.pj-gallery-grid img:nth-child(3){grid-column:auto;grid-row:auto;height:300px}}
/* Museum District Diva full editorial gallery */
.pj-gallery-full{grid-template-columns:repeat(12,1fr);grid-template-rows:none;gap:18px}.pj-gallery-full img{grid-column:span 6!important;grid-row:auto!important;height:430px}.pj-gallery-full img:nth-child(5n+1){grid-column:span 12!important;height:620px}.pj-gallery-full img:nth-child(5n+4){grid-column:span 5!important}.pj-gallery-full img:nth-child(5n+5){grid-column:span 7!important}@media(max-width:800px){.pj-gallery-full{display:block}.pj-gallery-full img,.pj-gallery-full img:nth-child(n){width:100%;height:300px!important;margin-bottom:12px}}
/* Clickable homepage project cards */
.project-card-link{display:block;color:inherit;text-decoration:none}.project-card-link .photo{transition:transform .45s ease,filter .45s ease}.project-card-link:hover .photo{transform:translateY(-4px);filter:brightness(.96)}.project-card-link b,.project-card-link i{color:inherit}

.project-card-description{max-width:330px;margin:10px 0 0;font-size:11px;line-height:1.65;color:#bdb9af;letter-spacing:0}

/* Brass Canary feature photography */
.pj-salon-photos{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:10px}.pj-salon-photos img{display:block;width:100%;height:430px;object-fit:cover}@media(max-width:800px){.pj-salon-photos{grid-template-columns:1fr}.pj-salon-photos img{height:300px}}

/* Byrd Park salon side-by-side editorial layout */
.pj-details:has(.pj-salon-photos){grid-template-columns:.72fr 1.28fr;align-items:start;gap:6vw}.pj-details:has(.pj-salon-photos) .pj-salon-photos{grid-column:2;grid-row:1 / span 2;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.pj-details:has(.pj-salon-photos) .pj-salon-photos img{height:520px}.pj-details:has(.pj-salon-photos)>div:nth-child(2){grid-column:1;grid-row:2}.pj-details:has(.pj-salon-photos)>div:first-child{grid-column:1;grid-row:1}@media(max-width:800px){.pj-details:has(.pj-salon-photos){grid-template-columns:1fr}.pj-details:has(.pj-salon-photos) .pj-salon-photos,.pj-details:has(.pj-salon-photos)>div:nth-child(2),.pj-details:has(.pj-salon-photos)>div:first-child{grid-column:1;grid-row:auto}.pj-details:has(.pj-salon-photos) .pj-salon-photos img{height:300px}}

/* Projects index */
.projects-page{background:var(--paper)}.projects-page-hero{background:var(--charcoal);color:#f6f1e7;padding:170px 7vw 105px}.projects-page-hero h1{font:400 clamp(70px,8vw,122px)/.86 "Libre Caslon Display",serif;letter-spacing:-.04em;margin:28px 0}.projects-page-hero>p:last-child{max-width:620px;color:#cbc7be;font-size:13px;line-height:1.9}.projects-collection{padding:100px 5.5vw 120px}.projects-page-head{padding:0 1.5vw 55px}.projects-page-head h2{font-size:clamp(48px,5vw,76px);line-height:.96;margin:22px 0}.projects-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 24px}.projects-page-card{display:block;color:inherit;text-decoration:none}.projects-page-card .pp-photo{height:460px;background-size:cover;background-position:center;transition:transform .4s ease,filter .4s ease}.projects-page-card:hover .pp-photo{transform:translateY(-4px);filter:brightness(.96)}.projects-page-card>div:last-child{padding:18px 8px 0}.projects-page-card span{font-size:8px;letter-spacing:.16em;color:#77746d}.projects-page-card h3{font:400 34px/1.05 "Libre Caslon Display",serif;margin:11px 0 12px}.projects-page-card p{max-width:570px;font-size:11px;line-height:1.75;color:#68665f}.pp-diva{background-image:url('projects/museum-district-diva/01-9W7A6592-HDR-Edit.jpg')}.pp-idlewood{background-image:url('byrd-park-mixed-use.png')}.pp-urban{background-image:url('urban-row.png')}.pp-fan{background-image:url('fan-fare.jpg')}.pp-triangle{background-image:url('triangle-house.jpg')}.pp-oregon{background-image:url('hill-light.jpg')}.pp-backhouse{background-image:url('house-hideaway.jpg')}.pp-campus{background-image:url('campus-row.jpg')}.projects-page-close{background:var(--green);color:#f6f1e7;text-align:center;padding:100px 7vw 110px}.projects-page-close h2{font-size:clamp(52px,6vw,86px);line-height:.94;margin:25px 0 38px}.projects-page-close a{color:#f6f1e7;font-size:9px;letter-spacing:.14em;border-bottom:1px solid #d9d3c6;padding-bottom:8px}@media(max-width:800px){.projects-page-hero{padding:125px 7vw 70px}.projects-page-hero h1{font-size:64px}.projects-collection{padding:65px 5vw 80px}.projects-page-grid{grid-template-columns:1fr;gap:50px}.projects-page-card .pp-photo{height:340px}.projects-page-close{padding:70px 7vw 80px}}

/* In Development */
.development-hero{background:linear-gradient(135deg,var(--charcoal) 0%,#383b34 58%,var(--green) 100%)}.development-intro{padding:110px 7vw 120px;display:grid;grid-template-columns:.8fr 1.35fr;column-gap:9vw;align-items:start}.development-intro>.eyebrow{grid-column:1}.development-intro h2{grid-column:2;font:400 clamp(54px,6vw,88px)/.94 "Libre Caslon Display",serif;margin:0 0 28px}.development-intro>p:not(.eyebrow){grid-column:2;font-size:13px;line-height:1.9;max-width:650px}.development-intro>a{grid-column:2;margin-top:30px;width:max-content;color:var(--rust);font-size:9px;letter-spacing:.14em;border-bottom:1px solid var(--rust);padding-bottom:8px}.development-stage{background:var(--green);color:#f6f1e7;padding:100px 7vw 110px;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.development-stage h2{font:400 clamp(48px,5vw,76px)/.96 "Libre Caslon Display",serif;margin:22px 0}.development-stage>div:first-child>p:last-child{max-width:520px;color:#e1ddd3;font-size:13px;line-height:1.9}.development-placeholder{border:1px solid rgba(246,241,231,.35);min-height:330px;padding:55px;display:flex;flex-direction:column;justify-content:flex-end}.development-placeholder span{font-size:8px;letter-spacing:.18em;color:#d9d3c6}.development-placeholder strong{font:400 48px/1 "Libre Caslon Display",serif;margin:15px 0}.development-placeholder p{font-size:10px;letter-spacing:.12em;color:#d9d3c6}@media(max-width:800px){.development-intro,.development-stage{grid-template-columns:1fr;padding:70px 7vw;gap:30px}.development-intro>.eyebrow,.development-intro h2,.development-intro>p:not(.eyebrow),.development-intro>a{grid-column:1}.development-placeholder{min-height:260px;padding:35px}}

/* In Development project cards */
.development-project{grid-template-columns:1.15fr .85fr;padding:0;gap:0;min-height:650px}.development-project-image{min-height:650px;background-size:cover;background-position:center}.development-project-copy{padding:90px 7vw;display:flex;flex-direction:column;justify-content:center}.development-project-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#e1ddd3;max-width:520px}.development-meta{display:flex;gap:45px;margin-top:40px;padding-top:28px;border-top:1px solid rgba(246,241,231,.3)}.development-meta span{font-size:7px;letter-spacing:.14em}.development-meta b{display:block;font:400 28px/1 "Libre Caslon Display",serif;letter-spacing:0;margin-bottom:8px}@media(max-width:800px){.development-project{grid-template-columns:1fr}.development-project-image{min-height:430px}.development-project-copy{padding:65px 7vw}.development-meta{gap:25px}}

/* Editorial photo banners — Projects + In Development */
.projects-banner,.development-banner{position:relative;isolation:isolate;overflow:hidden;min-height:520px;display:flex;flex-direction:column;justify-content:center;background:var(--paper)}
.projects-banner:before,.development-banner:before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center}
.projects-banner:before{background-image:url('richmond-by-design.png');background-position:center 52%}
.development-banner:before{background-image:url('approach-canvas.jpg');background-position:center 48%}
.projects-banner:after,.development-banner:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(245,242,234,.94) 0%,rgba(245,242,234,.83) 43%,rgba(245,242,234,.48) 72%,rgba(245,242,234,.28) 100%)}
.projects-banner h1,.projects-banner>p,.development-banner h1,.development-banner>p{position:relative;max-width:690px}
.development-hero.development-banner{background:var(--paper);color:var(--ink)}
@media(max-width:800px){.projects-banner,.development-banner{min-height:460px}.projects-banner:after,.development-banner:after{background:rgba(245,242,234,.78)}}

/* Approach top photo banner */
.approach-top-banner{position:relative;isolation:isolate;min-height:390px;padding:70px 7vw;display:flex;align-items:flex-end;overflow:hidden;color:var(--ink)}.approach-top-banner:before{content:"";position:absolute;inset:0;z-index:-2;background:url('approach-canvas.jpg') center 52%/cover no-repeat}.approach-top-banner:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(245,242,234,.9),rgba(245,242,234,.58) 55%,rgba(245,242,234,.25))}.approach-top-banner h1{font:400 clamp(48px,6vw,82px)/.96 "Libre Caslon Display",serif;margin:16px 0 0}.approach-top-banner>div{max-width:760px}@media(max-width:800px){.approach-top-banner{min-height:330px}.approach-top-banner:after{background:rgba(245,242,234,.7)}}

/* Projects banner repair */
.projects-page-hero.projects-banner{box-sizing:border-box;width:100%;min-height:500px;padding:110px 7vw 80px;margin:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;color:var(--ink);background:var(--paper)}
.projects-page-hero.projects-banner:before{background-image:url('richmond-by-design.png');background-size:cover;background-repeat:no-repeat;background-position:center 55%;transform:none}
.projects-page-hero.projects-banner:after{background:linear-gradient(90deg,rgba(245,242,234,.96) 0%,rgba(245,242,234,.9) 36%,rgba(245,242,234,.68) 58%,rgba(245,242,234,.28) 100%)}
.projects-page-hero.projects-banner .eyebrow{margin:0 0 20px;max-width:620px}.projects-page-hero.projects-banner h1{margin:0 0 24px;max-width:700px}.projects-page-hero.projects-banner>p:last-child{margin:0;max-width:600px}
@media(max-width:800px){.projects-page-hero.projects-banner{min-height:440px;padding:110px 7vw 65px}.projects-page-hero.projects-banner:before{background-position:center}.projects-page-hero.projects-banner:after{background:rgba(245,242,234,.82)}.projects-page-hero.projects-banner h1{font-size:clamp(48px,14vw,64px)}}

/* Projects hero definitive fix — isolate from legacy hero rules */
body.projects-page main>.projects-page-hero.projects-banner{position:relative!important;isolation:isolate!important;overflow:hidden!important;width:100%!important;min-height:500px!important;margin:0!important;padding:110px 7vw 80px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;text-align:left!important;background:#f5f2ea!important;color:#292a27!important}
body.projects-page main>.projects-page-hero.projects-banner::before{content:""!important;position:absolute!important;inset:0!important;z-index:-2!important;background:url('richmond-by-design.png') center 55%/cover no-repeat!important;transform:none!important;opacity:1!important}
body.projects-page main>.projects-page-hero.projects-banner::after{content:""!important;position:absolute!important;inset:0!important;z-index:-1!important;background:linear-gradient(90deg,rgba(245,242,234,.97) 0%,rgba(245,242,234,.93) 38%,rgba(245,242,234,.70) 61%,rgba(245,242,234,.32) 100%)!important}
body.projects-page main>.projects-page-hero.projects-banner>.eyebrow{position:relative!important;margin:0 0 20px!important;max-width:620px!important;color:#292a27!important}
body.projects-page main>.projects-page-hero.projects-banner>h1{position:relative!important;font:400 clamp(70px,8vw,122px)/.86 "Libre Caslon Display",serif!important;letter-spacing:-.04em!important;margin:0 0 28px!important;max-width:700px!important;color:#292a27!important;opacity:1!important;transform:none!important}
body.projects-page main>.projects-page-hero.projects-banner>p:last-child{position:relative!important;margin:0!important;max-width:600px!important;color:#68665f!important;font-size:13px!important;line-height:1.9!important;opacity:1!important;transform:none!important}
@media(max-width:800px){body.projects-page main>.projects-page-hero.projects-banner{min-height:440px!important;padding:90px 7vw 65px!important}body.projects-page main>.projects-page-hero.projects-banner::after{background:rgba(245,242,234,.84)!important}body.projects-page main>.projects-page-hero.projects-banner>h1{font-size:clamp(48px,14vw,64px)!important}}

/* Projects page clean hero — intentionally unique class names to avoid legacy collisions */
.projects-clean-hero{position:relative;isolation:isolate;overflow:hidden;width:100%;height:500px;margin:0;background:#f5f2ea}
.projects-clean-bg{position:absolute;inset:0;z-index:0;background:url('richmond-by-design.png') center 55%/cover no-repeat}
.projects-clean-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(245,242,234,.97) 0%,rgba(245,242,234,.93) 38%,rgba(245,242,234,.68) 62%,rgba(245,242,234,.28) 100%)}
.projects-clean-copy{position:absolute;z-index:2;left:7vw;top:50%;transform:translateY(-50%);width:min(700px,70vw);color:#292a27}
.projects-clean-kicker{margin:0 0 22px;font:500 9px/1.2 "DM Sans",sans-serif;letter-spacing:.27em;color:#292a27}
.projects-clean-copy h1{margin:0 0 26px;font:400 clamp(70px,8vw,122px)/.86 "Libre Caslon Display",serif;letter-spacing:-.04em;color:#292a27}
.projects-clean-copy>p:last-child{margin:0;max-width:590px;font:400 13px/1.9 "DM Sans",sans-serif;color:#68665f}
@media(max-width:800px){.projects-clean-hero{height:440px}.projects-clean-shade{background:rgba(245,242,234,.84)}.projects-clean-copy{left:7vw;width:86vw}.projects-clean-copy h1{font-size:clamp(48px,14vw,64px)}}

/* Projects hero — restore Canvas green */
.projects-clean-shade{background:linear-gradient(90deg,rgba(83,96,71,.97) 0%,rgba(83,96,71,.91) 38%,rgba(83,96,71,.66) 62%,rgba(83,96,71,.20) 100%)}
.projects-clean-copy,.projects-clean-copy h1,.projects-clean-kicker{color:#f6f1e7}
.projects-clean-copy>p:last-child{color:#e6e1d7}
@media(max-width:800px){.projects-clean-shade{background:rgba(83,96,71,.84)}}

/* In Development clean hero — matches Projects green treatment */
.development-clean-hero{position:relative;isolation:isolate;overflow:hidden;width:100%;height:500px;margin:0;background:#536047}
.development-clean-bg{position:absolute;inset:0;z-index:0;background:url('approach-canvas.jpg') center 48%/cover no-repeat}
.development-clean-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(83,96,71,.97) 0%,rgba(83,96,71,.91) 38%,rgba(83,96,71,.66) 62%,rgba(83,96,71,.20) 100%)}
.development-clean-copy{position:absolute;z-index:2;left:7vw;top:50%;transform:translateY(-50%);width:min(700px,70vw);color:#f6f1e7}
.development-clean-kicker{margin:0 0 22px;font:500 9px/1.2 "DM Sans",sans-serif;letter-spacing:.27em;color:#f6f1e7}
.development-clean-copy h1{margin:0 0 26px;font:400 clamp(70px,8vw,122px)/.86 "Libre Caslon Display",serif;letter-spacing:-.04em;color:#f6f1e7}
.development-clean-copy>p:last-child{margin:0;max-width:590px;font:400 13px/1.9 "DM Sans",sans-serif;color:#e6e1d7}
@media(max-width:800px){.development-clean-hero{height:440px}.development-clean-shade{background:rgba(83,96,71,.84)}.development-clean-copy{left:7vw;width:86vw}.development-clean-copy h1{font-size:clamp(48px,14vw,64px)}}

/* In Development — restored pre-banner hero */
body.development-page main>.development-hero{position:relative!important;isolation:auto!important;overflow:visible!important;min-height:auto!important;background:linear-gradient(135deg,var(--charcoal) 0%,#383b34 58%,var(--green) 100%)!important;color:#f6f1e7!important;padding:170px 7vw 105px!important;display:block!important}
body.development-page main>.development-hero::before,body.development-page main>.development-hero::after{content:none!important;display:none!important;background:none!important}
body.development-page main>.development-hero .eyebrow{color:#f6f1e7!important;margin:0!important}
body.development-page main>.development-hero h1{font:400 clamp(70px,8vw,122px)/.86 "Libre Caslon Display",serif!important;letter-spacing:-.04em!important;margin:28px 0!important;color:#f6f1e7!important;max-width:none!important}
body.development-page main>.development-hero>p:last-child{max-width:620px!important;color:#cbc7be!important;font-size:13px!important;line-height:1.9!important;margin:0!important}
@media(max-width:800px){body.development-page main>.development-hero{padding:125px 7vw 70px!important}body.development-page main>.development-hero h1{font-size:64px!important}}

/* Projects hero final: opaque green panel prevents any background-art text showing through */
.projects-clean-hero{background:#536047!important}
.projects-clean-bg{background-image:none!important;background:#536047!important;opacity:1!important}
.projects-clean-shade{background:#536047!important;opacity:1!important}
.projects-clean-copy{z-index:3!important}

/* In Development — combined opening statement */
body.development-page main>.development-hero.development-combined{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9vw!important;align-items:end!important;padding:135px 7vw 100px!important}
.development-combined-title h1{margin:25px 0 0!important}
.development-combined-copy{padding:0 0 5px;border-left:1px solid rgba(246,241,231,.25);padding-left:5vw}
.development-combined-copy h2{font:400 clamp(42px,4.4vw,68px)/.96 "Libre Caslon Display",serif;margin:20px 0 25px;color:#f6f1e7}
.development-combined-copy>p:not(.eyebrow){max-width:560px;font-size:13px;line-height:1.9;color:#cbc7be;margin:0}
.development-combined-copy a{display:inline-block;margin-top:30px;color:#d58a68;font-size:9px;letter-spacing:.14em;border-bottom:1px solid #d58a68;padding-bottom:8px}
@media(max-width:800px){body.development-page main>.development-hero.development-combined{grid-template-columns:1fr!important;gap:45px!important;padding:100px 7vw 70px!important}.development-combined-copy{border-left:0;border-top:1px solid rgba(246,241,231,.25);padding:35px 0 0}.development-combined-copy h2{font-size:46px}}

/* About page */
.about-page{background:#f6f3eb}.about-hero{min-height:620px;box-sizing:border-box;background:linear-gradient(135deg,var(--charcoal) 0%,#383b34 58%,var(--green) 100%);color:#f6f1e7;padding:170px 7vw 95px;display:flex;flex-direction:column;justify-content:flex-end}.about-hero h1{font:400 clamp(70px,8vw,122px)/.87 "Libre Caslon Display",serif;letter-spacing:-.04em;margin:28px 0 35px}.about-hero h1 em{color:#c76f4f;font-weight:400}.about-hero>p:last-child{max-width:680px;font-size:14px;line-height:1.9;color:#d8d3c9}.about-story{padding:110px 7vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw}.about-story h2,.about-richmond h2,.about-disciplines h2{font-size:clamp(48px,5vw,76px);line-height:.96;margin:24px 0}.about-story>div:last-child{padding-top:35px}.about-story>div:last-child p{font-size:13px;line-height:1.95;margin:0 0 22px}.about-story .about-lead{font:400 25px/1.45 "Libre Caslon Display",serif!important;color:var(--green)}.about-number{background:var(--green);color:#f6f1e7;padding:75px 7vw;display:flex;align-items:center;justify-content:space-between;gap:8vw}.about-number>div{display:flex;align-items:center;gap:28px}.about-number strong{font:400 clamp(100px,13vw,190px)/.75 "Libre Caslon Display",serif;color:#f6f1e7}.about-number span{font-size:9px;line-height:1.7;letter-spacing:.2em}.about-number>p{max-width:430px;font:italic 31px/1.25 "Libre Caslon Display",serif}.about-richmond{background:var(--charcoal);color:#f6f1e7;padding:110px 7vw;display:grid;grid-template-columns:1.15fr .85fr;gap:10vw}.about-richmond-copy>p:not(.eyebrow){max-width:620px;font-size:13px;line-height:1.95;color:#cbc7be}.about-richmond-statement{border-left:1px solid #66665f;padding:30px 0 30px 5vw;align-self:center}.about-richmond-statement span{font-size:8px;letter-spacing:.22em;color:#c76f4f}.about-richmond-statement blockquote{margin:28px 0 0;font:400 clamp(30px,3vw,48px)/1.18 "Libre Caslon Display",serif}.about-disciplines{padding:110px 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.about-discipline-grid{display:grid;grid-template-columns:1fr 1fr;align-content:center}.about-discipline-grid span{padding:23px 0;border-bottom:1px solid var(--line);font:400 20px/1.2 "Libre Caslon Display",serif}.about-discipline-grid span:nth-child(odd){margin-right:30px}.about-closing{text-align:center;padding:110px 7vw 120px;background:#e8e5dc}.about-closing h2{font-size:clamp(50px,5.5vw,82px);line-height:.95;margin:24px auto 38px}.about-closing div{display:flex;justify-content:center;gap:35px}.about-closing a{font-size:9px;letter-spacing:.14em;border-bottom:1px solid currentColor;padding-bottom:8px}@media(max-width:800px){.about-hero{min-height:570px;padding:125px 7vw 65px}.about-hero h1{font-size:60px}.about-story,.about-richmond,.about-disciplines{grid-template-columns:1fr;padding:70px 7vw;gap:35px}.about-story>div:last-child{padding-top:0}.about-number{padding:60px 7vw;display:block}.about-number>div{margin-bottom:35px}.about-number>p{font-size:27px}.about-richmond-statement{padding-left:7vw}.about-discipline-grid{grid-template-columns:1fr}.about-discipline-grid span:nth-child(odd){margin-right:0}.about-closing{padding:75px 7vw 85px}.about-closing div{flex-direction:column;align-items:center;gap:22px}}
