
/* Step 1: accessible inquiry form. */
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-pair>div{display:grid;gap:8px}
.contact-form label{font-weight:600;color:#f3ecdf}.contact-form h2{font:600 clamp(30px,3vw,46px)/1.12 "Cormorant Garamond",Georgia,serif;letter-spacing:-.02em}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #e1b866;outline-offset:3px}
.contact-form input::placeholder{color:#bbb5aa}.contact-form small{color:#cbc3b6}.contact-form small a{text-decoration:underline}
.contact-form button:disabled{opacity:.65;cursor:wait}.form-error{padding:18px;border-left:3px solid #e1b866;background:#30251c;color:#fff1d9}
#inquiry-status:empty{display:none}.legal-copy a:not(.btn){text-decoration:underline}
@media(max-width:650px){.form-pair{grid-template-columns:1fr}}


.contact-info{align-content:start;gap:32px}.legal-copy h2{font-size:clamp(32px,3.4vw,48px);line-height:1.15}

/* Step 2: preserve the complete architectural story and balance the signature. */
.home-page{--header-height:142px}.home-page .rc2-header .nav{display:flex;justify-content:space-between;gap:clamp(20px,2vw,40px);min-height:var(--header-height)}
.home-page .site-header .brand{width:clamp(370px,29vw,510px)!important;max-width:calc(100% - 80px);flex:none}
.home-page .site-header .brand img{height:124px;max-height:124px;object-fit:contain}
.home-page .header-cta{display:none}
.home-page .opening-frame{display:block;min-height:0}
.home-page .rc2-hero{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;isolation:isolate;background:#090b0a}
.home-page .rc2-hero::before,.home-page .rc2-hero::after,.home-page .blueprint-grid{display:none}
.hero-art{grid-area:1/1;align-self:center;justify-self:end;width:70%;max-width:1900px;position:relative;z-index:0}
.hero-art img{width:100%;height:auto;aspect-ratio:2/1;object-fit:contain}
.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#090b0a 0%,rgba(9,11,10,.55) 8%,transparent 24%),linear-gradient(0deg,rgba(9,11,10,.3),transparent 15%);pointer-events:none}
.home-page .rc2-hero-inner{grid-area:1/1;z-index:1;min-height:clamp(470px,31vw,720px);height:auto;padding-block:40px;align-self:center}
.home-page .rc2-copy{width:43%;max-width:710px;padding:0}
.home-page .opening-frame .rc2-title{font-size:clamp(52px,4.1vw,86px);line-height:.99}
.home-page .rc2-title .gold,.home-page .rc2-title .last{padding-left:0}
.home-page .rc2-kicker{max-width:500px;letter-spacing:.12em;font-size:12px;margin-bottom:22px}
.home-page .rc2-kicker i{display:none}
.home-page .rc2-reputation{font-size:clamp(18px,1.12vw,22px);line-height:1.5;max-width:440px}
.hero-specialty{display:block;margin-top:12px;color:#e3c38c;font-size:16px;line-height:1.4;max-width:360px}
.home-page .rc2-rule{margin:20px 0 16px}
.home-page .rc2-actions{margin-top:24px;gap:12px}.home-page .rc2-actions a{padding:14px 18px;min-height:46px}
.home-page .leather-inner{min-height:110px;padding-block:20px;grid-template-columns:minmax(0,.8fr) minmax(0,2fr) 64px;gap:28px}
.home-page .story-star{display:none}.home-page .leather-title{border-left:0;padding-left:0}
.home-page .opening-frame .values-stage{padding:20px 0 26px}.home-page .opening-frame .value-card{padding:22px 24px}
.home-page .value-icon{display:none}.home-page .value-card a{margin-top:12px}
@media(min-width:2200px){.home-page .hero-art{width:68%;max-width:none}.home-page .rc2-hero-inner{min-height:clamp(720px,30vw,1050px)}}
@media(max-width:1380px){.home-page .site-header .brand{width:clamp(330px,38vw,470px)!important}.home-page .rc2-copy{width:45%}.home-page .opening-frame .rc2-title{font-size:clamp(45px,4.5vw,62px)}}
@media(max-width:980px){
 .home-page .rc2-hero{grid-template-columns:1fr}.hero-art{grid-area:2/1;width:100%;max-width:none}.hero-art::after{background:linear-gradient(0deg,rgba(9,11,10,.2),transparent 20%)}
 .home-page .rc2-hero-inner{grid-area:1/1;min-height:0;padding-block:38px}
 .home-page .rc2-copy{width:100%;max-width:680px}.home-page .opening-frame .rc2-title{font-size:clamp(48px,7.5vw,70px)}
 .home-page .rc2-title span{display:inline}.home-page .rc2-title span+span::before{content:" "}
 .home-page .rc2-reputation{max-width:620px}.home-page .rc2-actions{flex-direction:row;align-items:center}
 .home-page .leather-inner{grid-template-columns:1fr;gap:12px}.home-page .leather-title{padding:0 0 12px;border:0;border-bottom:1px solid var(--db-line)}.home-page .texas-mark{display:none}
}
@media(max-width:760px){
 .home-page{--header-height:112px}.home-page .site-header .brand{width:clamp(260px,75vw,390px)!important;max-width:calc(100% - 56px)}
 .home-page .site-header .brand img{height:96px;max-height:96px}.home-page .rc2-hero-inner{padding:30px 0}
 .home-page .rc2-actions{flex-direction:column;align-items:stretch}.home-page .rc2-actions a{width:100%}
 .home-page .rc2-kicker{font-size:10px;letter-spacing:.1em}.home-page .opening-frame .value-card{padding:22px}
}


/* Step 3: a clear editorial hierarchy, consistent navigation and natural image geometry. */
:root{--max:1600px;--reading:#d9d2c7}
body{font-size:18px;line-height:1.65}
h1,h2,h3,.page-hero h1,.portfolio-index .page-hero h1,.portfolio-detail .page-hero h1,.section-head h2,.project-meta h3,.community-pillars h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;letter-spacing:-.02em;line-height:1.08;text-transform:none}
h1,.page-hero h1,.portfolio-index .page-hero h1,.portfolio-detail .page-hero h1,.journey-copy h1,.project-detail-overlay h1{font-size:clamp(40px,4.5vw,76px);max-width:1100px}
h2,.section-head h2,.section-head h2.editorial-heading,.story-split h2,.cta-band h2{font-size:clamp(34px,3.2vw,54px);line-height:1.12;letter-spacing:-.02em}
h3,.content-card h3,.person-copy h3,.premium-pillars h3{font-size:clamp(27px,2.1vw,36px);line-height:1.15}
.site-header .nav-links a,.site-header.rc2-header .nav-links a,.site-header:not(.rc2-header) .nav-links a{font-family:Montserrat,Arial,sans-serif;font-size:12px;font-weight:600;letter-spacing:.065em;text-transform:uppercase;min-height:44px}
.site-header .nav-links{gap:clamp(16px,1.4vw,28px)}
.leather-title,.value-card h3,.footer-grid h4{font-family:var(--brand-display);font-weight:400}
.home-page .value-card h3{font-size:clamp(20px,1.4vw,26px)}
.home-page .leather-title{font-size:clamp(17px,1.1vw,22px)}
.section-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,90px);align-items:start}
.section-head h2{overflow-wrap:normal}.section-head .lead{font-size:clamp(20px,1.45vw,24px);line-height:1.55}
.lead{font-size:clamp(20px,1.6vw,25px);line-height:1.55}.muted{color:#c8c0b4}
.page-hero{background:#101511;background-image:none!important}
.page-hero::after{background:none!important}.page-hero .lead{max-width:850px;border-left:0;padding-left:0}
.page-hero .wrap{max-width:var(--max)}.page-hero h1{max-width:1050px}
section:not(.page-hero):not(.rc2-hero):not(.leather-story):not(.values-stage):not(.proof-band):not(.journey-hero):not(.cta-band):not(.visual-note):not(.project-detail-hero){padding-block:clamp(52px,5vw,88px)}
.project-meta h3,.story-project .project-meta h3{font-size:clamp(27px,2.2vw,38px);line-height:1.06;letter-spacing:-.015em}
.project-meta span{font-family:Montserrat,Arial,sans-serif;font-size:12px;line-height:1.4}
.project-meta p{font-size:16px}.project-meta{left:24px;right:24px;bottom:24px}
.story-split .lead,.story-split .muted{font-size:clamp(20px,1.4vw,23px);line-height:1.65}
.person-copy .muted,.content-card .muted{color:#c8c0b4}
.footer-grid a,.footer-grid p{font-size:16px;color:#c3bbb0;line-height:1.6}.footer-bottom{color:#a69e92;font-size:14px}
.footer-grid h4{font-size:16px;letter-spacing:.025em}.footer-logo{width:240px}
.brand-watermark::before{opacity:.014}
img{image-rendering:auto}.skip-link{position:absolute;left:20px;top:-100px;z-index:100;background:#e1b866;color:#151611;padding:12px 20px;font-weight:700}.skip-link:focus{top:12px}
a,button,input,textarea{touch-action:manipulation}button{min-height:44px}
@media(min-width:2200px){:root{--max:1840px}}
@media(max-width:1380px){.site-header .nav-links a{font-size:16px!important}}
@media(max-width:980px){.section-head,.split,.contact-grid,.content-grid{grid-template-columns:1fr;gap:32px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
 body{font-size:17px}h1,.page-hero h1,.portfolio-index .page-hero h1,.portfolio-detail .page-hero h1,.journey-copy h1,.project-detail-overlay h1{font-size:clamp(38px,10vw,50px)}
 h2,.section-head h2,.section-head h2.editorial-heading,.story-split h2,.cta-band h2{font-size:clamp(32px,8.7vw,42px)}
 h3,.content-card h3,.person-copy h3{font-size:29px}.project-meta h3,.story-project .project-meta h3{font-size:30px}
 .team-grid,.journey-grid{grid-template-columns:1fr}.project-meta{left:20px;right:20px;bottom:20px}.footer-grid{gap:28px}.footer-logo{width:250px}
 .home-page .value-card h3{font-size:23px}.section-head{margin-bottom:30px}.page-hero .lead{font-size:20px}
}

/* Step 4: accessible filtering and useful empty states. */
.filter-summary{color:#c8c0b4;margin:-12px 0 24px;font-size:16px}
.filter{min-height:46px;border-color:#786a50;transition:background .15s}.filter:hover{border-color:#e1b866}
.portfolio-empty{padding:clamp(32px,5vw,72px);border:1px solid #6b593b;background:#161b16;max-width:900px}
.portfolio-empty p{margin:18px 0 28px;max-width:620px;color:#ded6c8}
.project-list .project-card{box-shadow:none;border:1px solid #4b493f;min-height:clamp(330px,29vw,460px)}
.project-list .portfolio-card-link::after{background:linear-gradient(0deg,rgba(0,0,0,.87),rgba(0,0,0,.42) 22%,transparent 56%)}
.project-list .portfolio-card-link:focus-visible{outline:3px solid #e1b866;outline-offset:-6px}
.project-list .project-meta h3{margin-top:10px}.project-list .project-meta p{margin-top:7px}
@media(max-width:650px){.project-list .project-card{min-height:370px}.filter-row{gap:8px}.filter{padding:10px 14px}}

/* Step 5: curated architecture-first galleries; every supplied photograph retained. */
.portfolio-gallery{margin-top:28px;align-items:start}.portfolio-gallery img{object-fit:contain;background:#d7d0c3;border-radius:0}
.portfolio-gallery a{border-radius:0}.portfolio-gallery figcaption{font-size:17px;line-height:1.4;padding:12px 0 18px;color:#423b32}
.portfolio-gallery .portrait-photo img{object-fit:contain}.gallery-more{border-top:1px solid #c1b7a6;margin:24px 0;padding-top:24px}
.gallery-more summary{cursor:pointer;font:600 18px/1.5 Montserrat,Arial,sans-serif;padding:14px 0;color:#5f421a;min-height:48px}
.gallery-more summary:focus-visible{outline:3px solid #76521e;outline-offset:5px}
.gallery-extended{margin-top:24px}.portfolio-credits{font-size:16px;line-height:1.6;padding-top:28px;margin-top:24px;border-top:1px solid #c1b7a6;color:#4d4438}.portfolio-credits a{text-decoration:underline}
.project-pagination{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-block:32px;color:#e1c38c;flex-wrap:wrap}
.project-pagination a{max-width:35%;font-size:17px;line-height:1.5;text-decoration:underline;text-underline-offset:5px;min-height:44px;display:flex;align-items:center}
.photo-viewer{margin:auto}.photo-viewer img{width:auto;height:auto;max-width:100%;max-height:calc(100% - 70px)}
.photo-viewer figcaption{font-size:17px;line-height:1.4}.photo-viewer button{min-width:44px;min-height:44px}
@media(max-width:650px){.project-pagination{display:grid;grid-template-columns:1fr}.project-pagination a{max-width:100%}.portfolio-gallery{gap:20px}}


.gallery-heron .portfolio-gallery:not(.gallery-extended){grid-template-columns:repeat(2,minmax(0,1fr));max-width:1120px}.gallery-heron .portfolio-gallery img{max-height:420px}@media(max-width:650px){.gallery-heron .portfolio-gallery:not(.gallery-extended){grid-template-columns:1fr}}

/* Step 6: human company proof and a truthful, complete service narrative. */
.about-project{display:block;max-width:700px}.about-project img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#d8d0c2}
.about-project span{display:block;color:#60421b;padding-top:14px;font-size:17px;text-decoration:underline;text-underline-offset:4px}
.about-project+div .lead{margin:22px 0 28px;color:#51483a}
.journey-hero{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;align-items:center;background:#090b0a}
.services-art{grid-area:1/1;width:68%;justify-self:end;position:relative}
.services-art img{width:100%;height:auto;aspect-ratio:2/1;object-fit:contain}
.services-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#090b0a,rgba(9,11,10,.45) 12%,transparent 30%)}
.journey-copy{grid-area:1/1;padding-block:64px;min-height:570px;display:flex;flex-direction:column;justify-content:center}
.journey-copy h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(42px,4.2vw,76px);max-width:650px;line-height:1.02}
.journey-copy .eyebrow{margin-bottom:26px}.journey-copy .lead{max-width:540px;font-size:clamp(20px,1.4vw,24px);line-height:1.55}
.journey-copy .hero-actions{margin-top:28px}.journey-card{padding:32px 26px;min-height:0}.journey-card h3{margin:38px 0 18px}.journey-card p{color:#cbc2b5;font-size:18px;line-height:1.6}
.premium-pillars h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:30px}
.capability-list strong{font-size:21px}.capability-list span{font-size:18px;line-height:1.6}
@media(max-width:980px){.services-art{grid-area:2/1;width:100%}.services-art::after{display:none}.journey-copy{grid-area:1/1;min-height:0;padding-block:44px}.journey-copy h1,.journey-copy .lead{max-width:760px}}
@media(max-width:650px){.journey-copy h1{font-size:42px}.journey-copy .hero-actions{flex-direction:column}.journey-copy .hero-actions a{width:100%}.premium-pillars{grid-template-columns:1fr}}


.journey-copy h1{max-width:40%;font-size:clamp(42px,4vw,72px)}.journey-copy .lead{max-width:36%}.journey-copy .hero-actions{max-width:43%;gap:12px}.journey-copy .eyebrow{max-width:38%;line-height:1.6}@media(max-width:980px){.journey-copy h1,.journey-copy .lead,.journey-copy .hero-actions,.journey-copy .eyebrow{max-width:100%}}

/* Step 7: consistent people cards and explicit, nonblocking portrait placeholders. */
.team-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:28px}
.person,.person-no-photo{display:flex;flex-direction:column;background:#171c17;border:1px solid #45483b;grid-template-columns:none}
.person>img{width:100%;max-width:300px;height:300px;aspect-ratio:1;object-fit:contain;align-self:center;filter:grayscale(.3);transform:none!important}
.person:hover>img{filter:grayscale(0)}
.portrait-placeholder{height:300px;min-height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:32px;background:#20271e;text-align:center;border-bottom:1px solid #45483b}
.portrait-placeholder img{width:110px;height:88px;aspect-ratio:auto;object-fit:contain;filter:none;opacity:.7;transform:none!important}
.portrait-placeholder p{font:600 27px/1.2 "Cormorant Garamond",Georgia,serif;color:#ead4a9;margin-top:18px}
.portrait-placeholder span{font-size:16px;line-height:1.5;color:#c8c0b4;margin-top:10px}
.person-copy{padding:28px;flex:1}.person-copy h3{font-size:32px}.person-copy p{font-size:16px;line-height:1.4;margin:12px 0 18px}
.person-copy .muted{font-size:18px;line-height:1.65;display:block}
.community-pillars{align-items:stretch}.community-pillars article{padding:32px;background:#f0e8da;color:#24170f}
.community-pillars h3{font:600 32px/1.15 "Cormorant Garamond",Georgia,serif;margin-bottom:18px;color:#24170f}
.community-pillars p{font-size:18px;line-height:1.65;color:#4b4036}
.charity-logo{height:190px;overflow:hidden}.charity-logo img{max-width:220px;width:100%;height:150px;object-fit:contain}
.charity-logo img[src*="womens-fund"]{transform:scale(1.25)}.charity-logo img[src*="mjh-foundation"]{transform:scale(1.12)}
.charity-card{padding:24px}.charity-card h3{font-size:30px;line-height:1.12}.charity-card p{font-size:18px}
@media(max-width:1050px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.community-pillars{grid-template-columns:1fr}}
@media(max-width:650px){.team-grid{grid-template-columns:1fr}.person-copy{padding:26px}.community-pillars article{padding:28px}.charity-logo{height:180px}}

/* Step 8: distinguish construction evidence from property context. */
.property-context{border-top:1px solid #b6a88e;margin-top:28px;padding-top:20px}.property-context summary{cursor:pointer;font-size:18px;font-weight:600;min-height:44px;color:#65451e}.property-context p{font-size:18px;line-height:1.7;color:#4b4036;margin-top:16px;max-width:1000px}
.project-story-section{background:#111810}.project-story-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(30px,6vw,90px)}
.project-story-grid h2{margin:18px 0 22px}.project-story-grid p{color:#d1c8b9;max-width:760px;font-size:20px;line-height:1.65}
.project-story-facts{margin:0}.project-story-facts>div{border-top:1px solid #6b634c;padding:18px 0}.project-story-facts dt{font:600 12px/1.5 Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#dfbd7d}.project-story-facts dd{margin:7px 0 0;font-size:20px;color:#e9e1d3}
.archive-placeholder{padding:48px;background:#d7cbb4;text-align:center}.archive-placeholder img{width:180px;height:150px;object-fit:contain;margin:auto}.archive-placeholder p{font:600 30px/1.2 "Cormorant Garamond",Georgia,serif;color:#503a1a;margin-top:24px}
.archive-placeholder+div .lead{color:#51483a;margin:20px 0}.legal-copy p{margin-top:18px}.content-card p+p{margin-top:20px}
@media(max-width:800px){.project-story-grid{grid-template-columns:1fr}}

/* Step 9: final wide-screen balance and reading measures. */
@media(min-width:2200px){
 .home-page .site-header .nav,.home-page .rc2-hero-inner{max-width:2600px}
 .home-page .site-header .brand{width:560px!important}.home-page .site-header .brand img{height:132px;max-height:132px}
 .home-page .opening-frame .rc2-title{font-size:clamp(86px,2.65vw,104px)}
 .home-page .rc2-copy{max-width:900px;width:39%}
 .home-page .rc2-reputation{font-size:24px;max-width:580px}
 .home-page .hero-specialty{font-size:20px;max-width:480px}
 .home-page .rc2-kicker{font-size:15px}
}
.legal-copy{width:100%;max-width:920px;margin-inline:auto}
.visual-note p,.content-card p{line-height:1.7}


/* Final review correction: small-phone word fit and complete desktop introduction. */
@media(max-width:360px){.home-page .value-card h3{font-size:18px}}
@media(min-width:981px) and (max-height:1100px){
 .home-page .hero-art{width:min(70%,calc((100svh - var(--header-height) - 300px)*2))}
 .home-page .rc2-hero-inner{min-height:0;padding-block:20px}
 .home-page .opening-frame .rc2-title{font-size:clamp(52px,4vw,72px)}
 .home-page .rc2-kicker{margin-bottom:18px}
 .home-page .rc2-rule{margin:16px 0 12px}
 .home-page .hero-specialty{margin-top:8px}
 .home-page .rc2-actions{margin-top:18px}
}

/* October 19 client follow-up: preserve photograph proportions and honest pending projects. */
.gallery-heron .portfolio-gallery img{height:auto;aspect-ratio:auto;max-height:none}
.project-forthcoming .project-placeholder{height:100%;min-height:inherit;display:grid;place-items:center;background:#24291f;padding:30px 30px 170px}
.project-forthcoming .project-placeholder img{width:130px;height:auto;max-height:130px;object-fit:contain}

/* Client-supplied professional portraits: full image, natural proportions, original color. */
.team-grid .person>img{width:100%;max-width:none;height:auto;aspect-ratio:auto;object-fit:contain;filter:none;transform:none!important}
