@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Manrope:wght@400;500;600&display=swap');
:root{--ink:#191a17;--panel:#22231f;--cream:#eee9df;--muted:#b7b4aa;--copper:#bc9770;--line:#49483e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a,button,input,textarea,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--copper);outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.04}h1{font-size:clamp(3.2rem,6.5vw,6.5rem);letter-spacing:-.035em}h2{font-size:clamp(2.6rem,4.6vw,4.6rem);letter-spacing:-.025em}h3{font-size:2rem}p{max-width:640px}p+p{margin-top:20px}.wrap{width:min(1320px,88%);margin:auto}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.22em;font-weight:600;color:var(--copper);margin-bottom:24px}.draft{background:#303027;text-align:center;padding:6px 15px;color:#d1c7b6;font-size:12px;letter-spacing:.07em}.topbar{min-height:110px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:15px;align-items:center}.mark{font-family:Georgia,serif;font-size:31px;border:1px solid var(--copper);height:46px;width:46px;display:grid;place-items:center;color:var(--copper)}.brand strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:27px;letter-spacing:.12em;line-height:1.1}.brand small{display:block;font-size:10px;letter-spacing:.29em;margin-top:7px}.header-right{display:flex;align-items:center;gap:38px;font-size:13px}.button{display:inline-flex;justify-content:center;align-items:center;gap:35px;padding:14px 24px;border:1px solid var(--copper);font-size:14px;color:var(--cream);background:transparent;cursor:pointer;min-height:50px}.button.solid{background:var(--cream);border-color:var(--cream);color:var(--ink)}.button:hover{background:var(--copper);border-color:var(--copper);color:var(--ink)}.nav{display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-size:12px}.nav a{color:var(--muted)}.nav a:hover,.nav a[aria-current=page]{color:var(--cream)}.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:8px;text-decoration-color:var(--copper)}.menu-toggle{display:none}.hero{position:relative;min-height:660px;display:flex;align-items:center;isolation:isolate}.hero>img{position:absolute;inset:0;height:100%;z-index:-2;object-position:center 60%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,15,12,.89),rgba(13,15,12,.55) 48%,rgba(13,15,12,.04));z-index:-1}.hero-content{padding:76px 0}.hero h1{max-width:840px}.hero em{font-weight:400;color:#d8bf9c}.hero p{margin:26px 0 34px;max-width:470px;color:#ddd9cf}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:50px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#d3cbbb}.section{padding:110px 0}.intro{display:grid;grid-template-columns:1fr 1.5fr;gap:100px;border-bottom:1px solid var(--line)}.intro h2{font-size:clamp(2.6rem,3.7vw,3.7rem)}.intro p{margin-top:22px;color:var(--muted)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:45px}.text-link{font-size:14px;border-bottom:1px solid var(--copper);padding-bottom:7px;display:inline-block}.projects{display:grid;grid-template-columns:1.35fr 1fr;gap:40px}.project:nth-child(2){padding-top:100px}.project img{height:440px;transition:filter .2s}.project:hover img{filter:brightness(1.07)}.project h3{margin:23px 0 7px}.project span{font-size:12px;letter-spacing:.13em;color:var(--muted);text-transform:uppercase}.light{background:var(--cream);color:var(--ink)}.light .eyebrow{color:#765339}.reasons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px;margin-top:50px}.reasons article{border-top:1px solid #bdb5a6;padding-top:26px}.reasons h3{font-size:2rem;margin:15px 0}.reasons p{color:#59594e}.number{font-size:12px;letter-spacing:.15em;color:#765339}.services{margin-top:44px}.service{display:grid;grid-template-columns:70px 1fr 1fr 30px;align-items:center;gap:30px;padding:31px 0;border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service p{font-size:14px;color:var(--muted)}.service:hover h3{color:var(--copper)}.about-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.about-split img{height:620px}.about-split p{color:var(--muted);margin:25px 0}.signature{font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;margin:24px 0 6px}.process{display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px;margin-top:45px}.process h3{margin:16px 0}.process p{color:var(--muted)}.cta{padding:85px 0;border-top:1px solid var(--line);background:#27261f}.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta h2{max-width:650px}.footer{padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:70px}.footer p,.footer a{font-size:14px;color:var(--muted)}.footer .brand{color:var(--cream);margin-bottom:25px}.footer a{display:block;margin-bottom:8px}.footer h3{font-size:25px;margin-bottom:20px}.footer-bottom{border-top:1px solid var(--line);margin-top:50px;padding-top:23px;font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.page-head{padding:75px 0 65px}.page-head h1{max-width:1050px}.page-head p{margin-top:30px;color:var(--muted)}.wide-photo{height:580px}.detail-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.detail-grid p{color:var(--muted);margin-top:24px}.detail-list{list-style:none;padding:0;margin:0}.detail-list li{padding:20px 0;border-bottom:1px solid var(--line);font-family:'Cormorant Garamond',Georgia,serif;font-size:28px}.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:90px}.contact-info a{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.4rem,2.3vw,2rem);margin:15px 0;overflow-wrap:anywhere}.contact-info p{color:var(--muted);margin:25px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}label{font-size:14px}input,select,textarea{width:100%;background:var(--panel);border:1px solid #626155;border-radius:0;color:var(--cream);padding:13px}textarea{resize:vertical;min-height:145px}.form-note{font-size:13px;color:var(--muted);margin:20px 0}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:20px;z-index:20;background:var(--cream);color:var(--ink);padding:10px}.muted{color:var(--muted)}
@media(max-width:1050px){.nav{font-size:11px;gap:12px}.header-right>a:first-child{display:none}.intro,.about-split,.detail-grid,.contact-grid{gap:50px}.hero{min-height:610px}.project img{height:350px}.service{grid-template-columns:40px 1fr 1fr 20px;gap:20px}.service h3{font-size:1.7rem}}
@media(max-width:760px){.wrap{width:88%}.draft{font-size:10px}.topbar{min-height:88px}.brand strong{font-size:23px}.brand small{font-size:8px}.mark{height:37px;width:37px;font-size:25px}.header-right{gap:12px}.header-right .button{display:none}.menu-toggle{display:block;background:transparent;color:var(--cream);border:1px solid var(--line);padding:10px 14px;font-size:14px}.nav{display:none;padding:10px 0 25px}.nav.open{display:flex;flex-direction:column;gap:0}.nav a{font-size:15px;padding:12px 0}.hero{min-height:680px;align-items:end}.hero-content{padding:64px 0 28px}.hero:after{background:linear-gradient(0deg,rgba(13,15,12,.96),rgba(13,15,12,.58) 70%,rgba(13,15,12,.13))}.hero>img{object-position:66% center}.hero h1{font-size:3.6rem}.hero p{font-size:15px;max-width:310px}.hero-bottom{font-size:9px;gap:20px;margin-top:44px}.section{padding:65px 0}.intro,.projects,.about-split,.detail-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.intro{padding-bottom:55px}.section-heading{align-items:start;flex-direction:column;gap:25px}.project:nth-child(2){padding-top:0}.project img{height:350px}.reasons,.process{grid-template-columns:1fr;gap:32px}.service{grid-template-columns:25px 1fr 18px;gap:15px;padding:25px 0}.service p{display:none}.service h3{font-size:1.8rem}.about-split img{height:410px}.cta .wrap{align-items:start;flex-direction:column}.cta{padding:65px 0}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom{flex-direction:column}.page-head{padding:55px 0 45px}.wide-photo{height:360px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.contact-grid{gap:45px}.eyebrow{font-size:11px}.button{gap:25px}.footer-grid .brand{margin-bottom:15px}}
.footer a{overflow-wrap:anywhere}.footer a.brand{display:flex}.footer-grid>*{min-width:0}
@media(max-width:760px){.hero:after{background:linear-gradient(0deg,rgba(13,15,12,.96),rgba(13,15,12,.65) 70%,rgba(13,15,12,.48))}.contact-info a[href^="mailto:"]{font-family:Manrope,Arial,sans-serif;font-size:15px}}
@media(max-width:380px){.hero h1{font-size:3.1rem}.brand{gap:10px}.brand strong{font-size:21px}.hero-bottom{flex-direction:column;align-items:start}.hero .eyebrow{max-width:260px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Pass 2: core brand hierarchy and non-destructive photo presentation. */
.photo-hero[data-photo-status=pending]{background:linear-gradient(115deg,#24231c,#121310 72%);z-index:-1}
.photo-hero[data-photo-status=pending] .photo-pending{background:transparent}
.hero:has(.photo-hero[data-photo-status=pending]):after{display:none}
.photo-hero[data-photo-status=pending] figcaption{z-index:2}
:root{--ink:#11120f;--panel:#1c1d19;--cream:#eee5d5;--muted:#bcb5a8;--copper:#be8e52;--line:#474033}
.campaign-lockup{display:block;position:relative;overflow:hidden;width:340px;aspect-ratio:612/178;flex:none;background:#11120f}
.campaign-lockup img{position:absolute!important;max-width:none!important;width:249.673%!important;height:auto!important;left:-11.111%;top:-39.326%;object-fit:initial!important;filter:none!important}
.topbar{min-height:142px}.brand-pillars{color:#d0ad7a}.hero em{color:#d3b382}.button.solid{background:#e4cfaa;border-color:#e4cfaa}.cta{background:#211e17}.light{background:#e8dfd0}.eyebrow{color:#c39a64}.footer .campaign-lockup{width:280px}.hero h1{font-weight:500}.craft-statement{border-color:#9f733f}
@media(max-width:760px){.topbar{min-height:110px}.campaign-lockup{width:230px}.footer .campaign-lockup{width:260px}.hero h1{font-size:3.45rem}}
@media(max-width:380px){.campaign-lockup{width:190px}.hero h1{font-size:3rem}.menu-toggle{padding:10px}}
.photo-frame.photo-hero{background:transparent}
:root{--photo-contrast:1.06;--photo-brightness:.94;--photo-saturation:.9;--photo-warmth:.10;--photo-position:50% 50%}
.plain-brand{font-size:23px;font-weight:500;letter-spacing:0;line-height:1.25}.brand-pending{display:flex;flex-direction:column;gap:5px}.brand .brand-pending small{font-size:11px;letter-spacing:.05em;color:var(--muted);margin:0}.campaign-logo{width:min(370px,100%);height:88px;object-fit:contain;object-position:left center;filter:none}.brand-pillars{padding:19px 0 0;font-size:12px;letter-spacing:.15em;color:#d9c2a3;line-height:1.7}.nav{font-size:13px;flex-wrap:wrap}.footer-secondary{font-size:12px;color:var(--copper);margin:18px 0 8px;letter-spacing:.08em}.photo-frame{margin:0;position:relative;overflow:hidden;background:#272823;border:1px solid #49483e}.photo-frame img{height:100%;width:100%;object-fit:cover;object-position:var(--photo-position);filter:brightness(var(--photo-brightness)) contrast(var(--photo-contrast)) saturate(var(--photo-saturation)) sepia(var(--photo-warmth))}.photo-frame figcaption{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);font:500 11px/1.5 Manrope,Arial,sans-serif;letter-spacing:.06em;color:#f1e9dc;background:rgba(21,22,19,.94);border:1px solid #91816a;padding:8px 12px}.photo-frame[data-photo-status=confirmed] figcaption{background:rgba(21,22,19,.78)}.photo-hero{position:absolute;inset:0;border:0;overflow:hidden;pointer-events:none}.photo-hero img{position:absolute;inset:0;z-index:-2;object-position:50% 50%}.photo-hero figcaption{top:18px;bottom:auto;right:6%;left:auto;z-index:2}.hero-content{position:relative;z-index:1}.photo-portfolio{aspect-ratio:4/3}.project .photo-frame img{height:100%;filter:brightness(var(--photo-brightness)) contrast(var(--photo-contrast)) saturate(var(--photo-saturation)) sepia(var(--photo-warmth))}.photo-landscape{aspect-ratio:16/9}.photo-pending{height:100%;min-height:280px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:45px 35px 75px;text-align:center;gap:18px;background:#252621}.photo-pending>span{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1.1}.photo-pending small{font-size:14px;color:var(--muted)}.secondary-capabilities{margin-top:45px;padding-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.secondary-capabilities p{color:var(--muted);font-size:15px}.secondary-capabilities .eyebrow{margin-bottom:12px}.secondary-capabilities .text-link{margin:0 25px 18px 0}.craft-statement{border-left:1px solid var(--copper);padding:50px 0 50px 35px}.craft-statement h2{font-size:clamp(2.5rem,4vw,4.1rem)}.restoration{border-top:1px solid var(--line)}.restoration .detail-grid{margin-top:35px}.restoration h3{font-size:2rem}.project>span{font-size:13px}.brand-pillars{overflow-wrap:normal}.footer .brand{line-height:1.4}
@media(max-width:1050px){.nav{justify-content:flex-start;column-gap:25px}.brand-pillars{font-size:11px}.plain-brand{font-size:21px}.secondary-capabilities{gap:25px}}
@media(max-width:760px){.topbar{gap:16px}.brand{min-width:0}.plain-brand{font-size:18px;max-width:230px}.brand .brand-pending small{font-size:10px}.brand-pillars{font-size:11px;letter-spacing:.08em;padding:15px 0;line-height:1.9}.nav{font-size:15px}.photo-hero figcaption{left:6%;right:auto;top:15px;font-size:10px;padding:6px 9px}.hero-content{padding-top:90px}.photo-hero img{object-position:55% 50%}.photo-landscape{aspect-ratio:4/3}.photo-frame figcaption{font-size:10px}.secondary-capabilities{grid-template-columns:1fr;gap:25px}.craft-statement{padding:30px 0 30px 23px}.photo-pending{min-height:0;padding:25px 20px 65px}.photo-pending>span{font-size:2rem}.photo-pending small{font-size:12px}.campaign-logo{width:230px;height:75px}.photo-portfolio{aspect-ratio:4/3}}
/* Jeremy-supplied photographs: keep complete architectural forms in view. */
.hero{width:min(1440px,100%);margin:auto;display:grid;grid-template-columns:1.05fr 1fr;min-height:0;align-items:stretch;background:var(--ink);gap:35px;padding:35px 6% 65px}
.hero:after{display:none}.hero>.photo-hero{grid-column:2;grid-row:1;position:relative;inset:auto;z-index:auto;aspect-ratio:3/4;border:1px solid var(--line);background:#1a1a16;min-height:0;align-self:center}
.hero>.photo-hero img{position:relative;inset:auto;z-index:auto;width:100%;height:100%;object-fit:contain;object-position:center}
.hero>.photo-hero figcaption{top:auto;bottom:14px;left:14px;right:auto;max-width:calc(100% - 28px);font-size:11px}
.hero-content{grid-column:1;grid-row:1;width:100%;padding:48px 0;align-self:center}.hero h1{font-size:clamp(3rem,4.4vw,4.6rem);line-height:1.05;max-width:650px}.hero h1 em{display:block;margin-top:12px}.hero h1 br{display:none}.hero p{font-size:16px}.hero-bottom{font-size:10px;line-height:1.8;flex-wrap:wrap;gap:20px;margin-top:38px}
.photo-portfolio{aspect-ratio:3/4}.photo-frame[data-orientation=portrait] img{object-fit:contain}.photo-landscape[data-orientation=portrait]{aspect-ratio:3/4;max-width:620px;margin:auto}.project .photo-frame img{height:100%}.about-split .photo-frame img{height:100%}.photo-frame{background:#181914}.photo-frame img{filter:brightness(.96) contrast(1.04) saturate(.94) sepia(.07)}.project .photo-frame img{filter:brightness(.96) contrast(1.04) saturate(.94) sepia(.07)}
@media(max-width:1050px){.hero{gap:28px}.hero h1{font-size:3.2rem}.hero-content{padding:28px 0}.hero .eyebrow{font-size:11px}.hero>.photo-hero{align-self:center}.hero p{font-size:15px}}
@media(max-width:760px){.hero{grid-template-columns:1fr;gap:0;padding:20px 6% 40px}.hero>.photo-hero{grid-column:1;grid-row:1;width:100%;aspect-ratio:3/4;max-height:none}.hero-content{grid-column:1;grid-row:2;padding:36px 0 0}.hero h1{font-size:3.05rem}.hero p{max-width:none}.hero-bottom{flex-direction:column;align-items:start}.hero>.photo-hero figcaption{font-size:10px;bottom:10px;left:10px}.photo-portfolio{aspect-ratio:3/4}.photo-landscape[data-orientation=landscape]{aspect-ratio:4/3}.section{padding:60px 0}}

.owner-photo-note{font-size:.8rem;line-height:1.6;color:#c1b49f;border-left:1px solid #9b784d;padding-left:16px;margin-top:20px}.owner-principle{font-family:Georgia,serif;color:#e6cfab;font-size:1.35rem;line-height:1.5}

/* Campaign photographic pass: actual project imagery, reversible presentation. */
:root{--ink:#0d0e0c;--panel:#181713;--line:#4e4030;--copper:#bc925e;--photo-brightness:.86;--photo-contrast:1.16;--photo-saturation:.96;--photo-warmth:.13}
.photo-frame{background:#090a08;border:1px solid #655039;box-shadow:0 14px 35px #0005}
.photo-frame img,.project .photo-frame img{filter:brightness(var(--photo-brightness)) contrast(var(--photo-contrast)) saturate(var(--photo-saturation)) sepia(var(--photo-warmth));transition:none}
.photo-frame figcaption{left:0;bottom:0;max-width:100%;border:0;border-top:1px solid #9b784d;background:#10110ff2;padding:12px 16px;color:#e7d7bd;letter-spacing:.075em}
.hero>.photo-hero{border-color:#7f6240}.hero>.photo-hero img{object-fit:cover;transform:scale(1.025)}
.hero>.photo-hero figcaption{left:0;bottom:0;max-width:100%;padding:12px 16px}
.projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.project:nth-child(2){padding-top:55px}.project:nth-child(3){padding-top:110px}.project h3{font-size:2rem;line-height:1.1}
.projects .photo-frame{aspect-ratio:3/4}.projects .photo-frame img{object-fit:cover}
.photo-frame[data-photo-id=homeRestoration] img{object-position:72% 50%}
.photo-frame[data-photo-id=homeMillwork] img{transform:scale(1.06);object-position:50% 55%}
.photo-frame[data-photo-id=homeDoor] img{transform:scale(1.06)}
.photo-frame[data-photo-id=homeCraft]{aspect-ratio:4/3}.photo-frame[data-photo-id=homeCraft] img{object-fit:cover;transform:scale(1.12);object-position:60% 48%}
.photo-detail{aspect-ratio:1/1}.photo-detail img{object-fit:cover!important;transform:scale(1.1)}
.detail-feature{background:#171510;border-top:1px solid #463927;border-bottom:1px solid #463927}.detail-feature .detail-grid{align-items:center}.detail-feature .text-link{margin-top:32px}
.light{background:#1d1b16;color:var(--cream);border-block:1px solid #493d2c}.light .eyebrow,.light .number{color:#c7a16d}.light .reasons p,.light p{color:#c4bbae}.light .reasons article{border-color:#786045}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.gallery-grid:has(article:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid:not(:has(article:nth-child(3))){grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery-grid article{min-width:0}.photo-gallery{aspect-ratio:3/4}.photo-gallery img{object-fit:cover!important}.gallery-grid h3{font-size:1.85rem;margin-top:23px}.project-gallery{border-top:1px solid #443724}.project-gallery h2{max-width:900px}
.photo-frame[data-photo-id=doorDetail] img{transform:scale(1.18);object-position:48% 50%}
.photo-frame[data-photo-id=windowBrick] img{transform:scale(1.22);object-position:50% 43%}
.photo-frame[data-photo-id=windowBatch] img{transform:scale(1.07);object-position:45% 50%}
.photo-frame[data-photo-id=millworkShutters] img{transform:scale(1.06)}
.photo-frame[data-photo-id=shutterDetail] img{transform:scale(1.10)}
.photo-frame[data-photo-id=cabinetDetail] img{transform:scale(1.05)}
.photo-frame[data-photo-id=furnitureGate] img{transform:scale(1.08);object-position:50% 42%}
.photo-frame[data-photo-id=furnitureCarving] img{transform:scale(1.2);object-position:50% 36%}
.photo-frame[data-photo-id=furniture]{aspect-ratio:4/3;max-width:850px;margin:auto}.photo-frame[data-photo-id=furniture] img{object-fit:cover;transform:scale(1.12);object-position:50% 65%}
.photo-frame[data-photo-id=aboutCraft] img{object-fit:cover;transform:scale(1.08);object-position:45% 65%}
.photo-frame[data-photo-id=doors]{max-width:480px}.photo-frame[data-photo-id=doors] img{object-fit:cover;transform:scale(1.03)}
.photo-frame[data-photo-id=millwork] img,.photo-frame[data-photo-id=cabinetry] img{object-fit:cover;transform:scale(1.025)}
@media(max-width:1000px){.projects{gap:20px}.gallery-grid{gap:24px}.project h3{font-size:1.8rem}}
@media(max-width:760px){.projects,.gallery-grid,.gallery-grid:has(article:nth-child(4)),.gallery-grid:not(:has(article:nth-child(3))){grid-template-columns:1fr;gap:38px}.project:nth-child(2),.project:nth-child(3){padding-top:0}.photo-gallery{aspect-ratio:4/5}.photo-frame[data-photo-id=doorPair],.photo-frame[data-photo-id=doorGlazed],.photo-frame[data-photo-id=windowBatch],.photo-frame[data-photo-id=millworkShutters]{aspect-ratio:3/4}.gallery-grid h3{margin-top:18px}.hero>.photo-hero figcaption{left:0;bottom:0}.photo-frame figcaption{font-size:10px;padding:10px 12px}}

.photo-frame[data-photo-id=homeDoor] img{transform:scale(1.16);transform-origin:50% 100%}.photo-frame[data-photo-id=homeMillwork] img{transform:scale(1.1);transform-origin:50% 70%}.photo-frame[data-photo-id=doors]{aspect-ratio:1/2;max-width:370px}.photo-frame[data-photo-id=doors] img{transform:none;object-position:50% 50%}

/* Dedicated photo presentation pass. These viewports never invent project pixels. */
.photo-frame.curated{aspect-ratio:4/5!important;max-width:none!important;width:100%;margin:0;display:flex;align-items:center;justify-content:center;background:#0b0c0a;border:1px solid #735938;padding:13px 13px 48px;box-shadow:0 10px 26px #0005}
.photo-art{display:block;width:100%;height:100%;overflow:hidden;filter:brightness(.90) contrast(1.14) saturate(.94) sepia(.12)}
.photo-frame.curated figcaption{left:0;right:0;bottom:0;max-width:100%;min-height:40px;font-size:11px;padding:10px 13px;border-top:1px solid #624c32;background:#15140f;color:#ddc8a5}
.photo-frame.curated[data-photo-tier=PROCESS]{aspect-ratio:4/3!important;box-shadow:none}
.photo-frame.curated.photo-detail{aspect-ratio:1/1!important}.photo-frame.curated[data-photo-id=aboutCraft]{margin-top:25px}
.hero{padding-top:22px;padding-bottom:40px;grid-template-columns:.85fr 1.15fr;gap:44px}.hero>.photo-frame.curated{aspect-ratio:4/5!important;max-height:670px}.hero-content{padding:20px 0}.hero h1{font-size:clamp(2.8rem,4vw,4rem)}
.section{padding:68px 0}.intro{gap:60px;padding-top:45px;padding-bottom:55px}.intro h2{font-size:3rem}.intro p{margin-top:0}.intro p+p{margin-top:18px}
.projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.project:nth-child(2),.project:nth-child(3){padding-top:0}.project h3{font-size:1.85rem}.section-heading{margin-bottom:30px}
.project-gallery{padding-top:55px}.gallery-grid{gap:28px}.gallery-grid:has(article:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid h3{font-size:1.75rem;margin-top:15px}
.gallery-grid article:has([data-photo-tier=PROCESS]){max-width:470px;align-self:center}.gallery-grid article:has([data-photo-tier=PROCESS]) h3{font-size:1.6rem}
.service-intro{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);align-items:center;gap:65px;padding-top:10px}.service-intro-copy .detail-grid{display:block}.service-intro-copy .detail-list{margin-top:24px}.service-intro-copy .detail-list li{padding:12px 0;font-size:25px}.service-intro>.photo-frame{max-height:690px}.service-intro>.photo-frame[data-photo-tier=SUPPORT]{max-height:490px}
.about-split{gap:60px}.about-split>.photo-frame[data-photo-tier=PROCESS]{max-height:360px}.page-head{padding:48px 0 35px}.page-head h1{font-size:clamp(3rem,5vw,5rem)}.page-head p{margin-top:22px}
@media(max-width:760px){.hero{grid-template-columns:1fr;gap:0;padding:18px 6% 30px}.hero>.photo-frame.curated{grid-column:1;grid-row:1;max-height:none}.hero-content{padding-top:28px}.hero h1{font-size:2.9rem}.projects,.gallery-grid,.gallery-grid:has(article:nth-child(4)){grid-template-columns:1fr}.service-intro{grid-template-columns:1fr;gap:30px}.service-intro>.photo-frame{max-height:none}.service-intro>.photo-frame[data-photo-tier=SUPPORT]{max-height:460px}.section{padding:42px 0}.intro{gap:28px}.intro h2{font-size:2.5rem}.photo-frame.curated{padding:9px 9px 43px}.photo-frame.curated figcaption{font-size:10px}.gallery-grid article:has([data-photo-tier=PROCESS]){max-width:100%}.about-split{gap:30px}}

/* Exact finished campaign ad benchmark, supplied by Jeremy in this task. */
:root{--ink:#090a08;--panel:#17140e;--cream:#eee8dc;--copper:#b7893e;--line:#514022}
.exact-campaign-lockup{display:block;width:340px;background:#050504}.exact-campaign-lockup img{display:block;width:100%;height:auto;filter:none;object-fit:contain}.footer .exact-campaign-lockup{width:280px}
.photo-art{filter:brightness(.88) contrast(1.20) saturate(.98) sepia(.20)}.photo-frame.curated{border-color:#85602e;background:#070805}.photo-frame.curated figcaption{border-color:#85602e;color:#d8bb87;background:#11100c}.eyebrow{color:#bc924c}.hero em,.owner-principle{color:#d7bf96}.signature{color:#d2ad67}.button.solid{background:#c4a06a;border-color:#c4a06a;color:#100e09}.light,.detail-feature{background:#15130e}.section-heading:after{content:'';width:45px;height:1px;background:#967038;align-self:center}.hero>.photo-frame.curated{box-shadow:0 18px 35px #0008}
@media(max-width:760px){.exact-campaign-lockup{width:230px}.footer .exact-campaign-lockup{width:260px}.section-heading:after{display:none}}@media(max-width:380px){.exact-campaign-lockup{width:195px}}

.makers-mark{display:flex;justify-content:center;padding-top:20px;overflow:visible}.makers-mark .jm-flame-exact{display:block;width:68px;height:auto;max-width:none;object-fit:contain;filter:none!important;transform:none!important;opacity:1;border:0;box-shadow:none;clip-path:none}

/* Role-based full-frame photography. Captions are outside the image viewport. */
.photo-frame.curated{display:block;aspect-ratio:auto!important;padding:0!important;width:100%;max-width:100%!important;max-height:none!important;border:0;overflow:hidden;background:transparent;box-shadow:none}
.photo-frame.curated .photo-art{display:block;width:100%;height:auto;aspect-ratio:var(--frame-ratio);filter:none;overflow:hidden;background:#090a08}
.photo-frame.curated figcaption,.hero>.photo-frame.curated figcaption{position:static;min-height:0;max-width:none;padding:12px 0 0;border:0;background:transparent;font-size:10px;line-height:1.6;color:#c8ad80;letter-spacing:.065em}
.photo-frame.curated[data-photo-tier=HERO]{max-width:min(100%,calc(740px * var(--frame-number)))!important}
.photo-frame.curated[data-photo-tier=SUPPORT]{max-width:min(100%,calc(480px * var(--frame-number)))!important}
.photo-frame.curated[data-photo-tier=PROCESS]{max-width:min(100%,calc(300px * var(--frame-number)))!important}
.hero{grid-template-columns:.8fr 1.2fr;gap:42px;align-items:center;padding-bottom:44px}
.hero>.photo-frame.curated{aspect-ratio:auto!important;justify-self:end;box-shadow:none}
.service-intro{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:55px}
.service-intro>.photo-frame.curated{justify-self:end}
.service-intro:has(>[data-frame=tall]){grid-template-columns:1fr auto;gap:70px}
.service-intro:has(>[data-frame=tall])>.photo-frame{width:calc(740px * var(--frame-number));justify-self:end}
.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:40px 32px}
.gallery-grid article:has([data-photo-tier=PROCESS]){max-width:420px;align-self:start}
.gallery-grid article:has([data-frame=tall]){justify-self:start}
.gallery-grid h3{margin-top:13px;font-size:1.65rem}
.projects{align-items:start;gap:28px}
.projects .photo-frame.curated{max-width:100%!important}
.projects .photo-art{aspect-ratio:4/5}
.detail-feature .photo-frame.curated{max-width:100%!important}
.about-split{align-items:center}
@media(max-width:760px){
 .hero{grid-template-columns:1fr;gap:0}.hero>.photo-frame.curated{justify-self:stretch;max-width:100%!important}
 .service-intro,.service-intro:has(>[data-frame=tall]){grid-template-columns:1fr;gap:30px}
 .service-intro>.photo-frame.curated{justify-self:start}
 .service-intro:has(>[data-frame=tall])>.photo-frame{width:calc(620px * var(--frame-number));justify-self:center}
 .gallery-grid,.gallery-grid:has(article:nth-child(4)),.gallery-grid:not(:has(article:nth-child(3))){grid-template-columns:1fr}
 .photo-frame.curated[data-photo-tier=SUPPORT]{max-width:min(100%,calc(460px * var(--frame-number)))!important}
 .photo-frame.curated[data-photo-tier=PROCESS]{max-width:min(100%,calc(260px * var(--frame-number)))!important}
 .projects .photo-frame.curated{max-width:100%!important}
}
/* Fit narrow whole-piece features to their column, without a dark image mat. */
.service-intro:has(>[data-frame=tall]){grid-template-columns:auto minmax(0,1fr);gap:70px}
.service-intro:has(>[data-frame=tall])>.photo-frame{justify-self:start}
.service-intro-copy{min-width:0}
@media(max-width:760px){.service-intro:has(>[data-frame=tall]){grid-template-columns:1fr;gap:30px}.service-intro:has(>[data-frame=tall])>.photo-frame{justify-self:start}}
.photo-frame.curated[data-photo-tier],.photo-frame.curated.photo-detail{aspect-ratio:auto!important}

/* The exact PNG includes transparent space: 68px canvas gives a ~46px visible flame; 50px gives ~34px. No crop or effects. */
@media(max-width:760px){.makers-mark .jm-flame-exact{width:50px;height:auto}}

/* Verified fabrication / installation stories: close detail, wider architectural context. */
.project-pair{display:grid;grid-template-columns:5fr 12fr;gap:28px;max-width:748px;margin:0 auto;align-items:start}
.project-pair article{min-width:0}.project-pair h3{font-size:1.35rem;line-height:1.35;min-height:3.6em;margin:0;padding-bottom:18px}
.project-pair h3 span{color:var(--copper)}
.project-pair .photo-frame.curated[data-photo-tier]{max-width:100%!important;width:100%}
.newel-story{border-top:1px solid var(--line)}.newel-story .section-heading p{max-width:650px}
@media(max-width:760px){.project-pair{gap:16px;grid-template-columns:5fr 12fr}.project-pair h3{font-size:1rem;min-height:4.2em;padding-bottom:12px}.project-pair .photo-frame.curated figcaption{font-size:9px;letter-spacing:.02em}}

/* Selective campaign-style edge blending. The photo source and central subject stay intact. */
.photo-frame.curated[data-photo-blend$="feather"]{background:transparent;border:0;box-shadow:none}
.photo-frame.curated[data-photo-blend$="feather"] .photo-art{
 --fade-x:7%;--fade-y:6%;
 -webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade-x),#000 calc(100% - var(--fade-x)),transparent),linear-gradient(to bottom,transparent,#000 var(--fade-y),#000 calc(100% - var(--fade-y)),transparent);
 mask-image:linear-gradient(to right,transparent,#000 var(--fade-x),#000 calc(100% - var(--fade-x)),transparent),linear-gradient(to bottom,transparent,#000 var(--fade-y),#000 calc(100% - var(--fade-y)),transparent);
 -webkit-mask-composite:source-in;mask-composite:intersect;
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
.photo-frame.curated[data-photo-blend="feature-feather"] .photo-art{--fade-x:3.5%;--fade-y:4%}
.photo-frame.curated[data-photo-blend="narrow-feather"] .photo-art{--fade-x:3%;--fade-y:2%}
/* The installed newel touches the right edge: keep its outline legible. */
.photo-frame.curated[data-photo-id="homeFinished"] .photo-art{--fade-x:2%;--fade-y:3%}
@media(max-width:760px){.photo-frame.curated[data-photo-blend="hero-feather"] .photo-art{--fade-x:5%;--fade-y:5%}}

/* Exact stacked ad lockup. Preserve its original composition and proportions. */
.exact-campaign-lockup{width:210px;background:transparent}
.footer .exact-campaign-lockup{width:180px}
@media(max-width:760px){.exact-campaign-lockup{width:170px}.footer .exact-campaign-lockup{width:170px}}
@media(max-width:380px){.exact-campaign-lockup{width:160px}}

/* Version 1: exact metallic campaign identity, scaled proportionally. */
.exact-campaign-lockup{width:220px}.footer .exact-campaign-lockup{width:180px}
.topbar{padding-top:14px;padding-bottom:14px}
@media(max-width:760px){.exact-campaign-lockup{width:158px}.footer .exact-campaign-lockup{width:158px}}
@media(max-width:380px){.exact-campaign-lockup{width:148px}}
/* Blend only the campaign background. The exact image, scale and aspect ratio stay intact.
   Narrow edge ramps stop before the lettering; wider corner fades sit in empty wood. */
.exact-campaign-lockup img {
  --campaign-edge-mask: linear-gradient(to right, transparent, #000 1.2%, #000 98.8%, transparent), linear-gradient(to bottom, transparent, #000 1%, #000 98.8%, transparent), radial-gradient(ellipse 45% 30% at 100% 0%, transparent, #000 75%), radial-gradient(ellipse 45% 30% at 0% 0%, transparent, #000 75%);
  --campaign-background-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22760%22%20height%3D%22895%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22h%22%3E%3Cstop%20stop-color%3D%22white%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%22.12%22%20stop-color%3D%22white%22%2F%3E%3Cstop%20offset%3D%22.88%22%20stop-color%3D%22white%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22white%22%20stop-opacity%3D%220%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22v%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%22.60%22%20stop-color%3D%22white%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%22.68%22%20stop-color%3D%22white%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20width%3D%22760%22%20height%3D%22895%22%20fill%3D%22url(%23h)%22%2F%3E%3Crect%20width%3D%22760%22%20height%3D%22895%22%20fill%3D%22url(%23v)%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-image: var(--campaign-background-mask), var(--campaign-edge-mask);
  mask-image: var(--campaign-background-mask), var(--campaign-edge-mask);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

/* Continuous campaign wood backdrop, independent of the unchanged logo artwork. */
header.wrap{width:100%;padding-inline:max(6%,calc((100% - 1320px)/2));position:relative;isolation:isolate}
header.wrap::before{content:"";position:absolute;inset:0 0 -45px;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(8,8,6,.28),rgba(8,8,6,.54)),url("assets/campaign-header-wood.svg") center top/cover no-repeat;opacity:.22;-webkit-mask-image:linear-gradient(#000 0%,#000 60%,transparent 100%);mask-image:linear-gradient(#000 0%,#000 60%,transparent 100%)}
/* Campaign continuity: original grain direction and warm, fine texture across one surface. */
header.wrap::before{background-image:url("assets/campaign-wood-continuous.png");background-size:cover;background-position:center top;background-repeat:no-repeat;opacity:.85;-webkit-mask-image:linear-gradient(#000 0%,#000 55%,transparent 100%);mask-image:linear-gradient(#000 0%,#000 55%,transparent 100%)}

/* Preview only: locked Average Jerm outro signature, September 30, 2026.
   Protected Flame artwork is unchanged. No image filters, cropping or animation. */
@font-face{font-family:'Elite Signature Bebas';src:url('assets/BebasNeue-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.footer .makers-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding-top:16px;padding-bottom:14px;text-align:center;overflow:visible}
.footer .makers-mark .jm-flame-exact{width:125px;height:auto;margin:0 0 -15px;flex:none}
.footer .makers-motto{display:block;position:relative;top:-7px;font-family:'Elite Signature Bebas',sans-serif;font-size:26px;font-weight:400;line-height:1.15;letter-spacing:.11em;color:#ed892b;white-space:nowrap;padding-left:.11em}
@media(max-width:760px){.footer .makers-mark{padding-top:14px;padding-bottom:12px}.footer .makers-mark .jm-flame-exact{width:109px;margin-bottom:-13px}.footer .makers-motto{font-size:22px;letter-spacing:.1em;padding-left:.1em}}
