:root{--paper:#f5f2ec;--stone:#f8f5ee;--sand:#cbb58e;--sand-light:#e7d7b8;--line:#d8d2c7;--shell:min(1360px,calc(100% - 96px))}
.service-hero h1,.service-body h2,.service-contact h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}.service-hero,.service-header,.service-footer{background:#141511}.service-grid figure{margin:0}.service-grid figcaption{font-size:13px;color:#65665e;margin-top:15px}.service-body>section:not(.service-grid){padding-top:25px;border-top:1px solid var(--line)}
.site-header{position:relative;background:#141511;border-bottom:1px solid #ffffff20}.header-inner{height:94px}.brand-name strong{letter-spacing:.07em}.site-nav a{font-size:13px}.header-contact{border-color:var(--sand);color:var(--sand-light)}
.refresh-hero{background:#141511;color:var(--stone);padding:50px 0 0;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:65px;align-items:center}.hero-content{padding:25px 0 35px}.hero-content h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(46px,4.6vw,70px);font-weight:400;letter-spacing:-.035em;line-height:1.04;margin:0 0 28px}.hero-content h1 em{color:var(--sand-light)}.hero-description{color:#c9cac2;max-width:430px;font-size:17px;line-height:1.8;margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;font-size:13px}.hero-actions .button{padding:15px 22px;font-size:13px}.hero-signature{font-family:Georgia,serif;font-style:italic;font-size:17px;line-height:1.5;color:var(--sand-light);margin:32px 0 0}.hero-project{margin:0;position:relative;min-width:0}.hero-project>img{height:560px;width:100%;object-fit:cover;object-position:48% center}.hero-project figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#111c);padding:75px 30px 25px;display:grid;grid-template-columns:1fr auto;gap:6px;color:white}.hero-project figcaption span{font-size:11px;letter-spacing:.07em}.hero-project figcaption strong{grid-column:1;font-family:Georgia,serif;font-size:27px;font-weight:400}.hero-project figcaption a{grid-column:2;grid-row:1/3;align-self:center;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff80;text-decoration:none;font-size:23px}.photo-label{position:absolute;top:22px;left:22px;font-size:9px;letter-spacing:.15em;background:#141511c9;padding:9px 12px;color:white}.hero-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff25;margin-top:45px;padding:25px 0;font-size:10px;letter-spacing:.13em;color:#aeb0a5}
.trust-band{background:#eae5db;color:var(--ink);border-bottom:1px solid var(--line)}.trust-band strong{font-weight:500}.trust-band small{color:#5d5e55}.trust-band p{border-color:var(--line)}.trust-band span{color:#796747}.section{padding:100px 0}.section h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(40px,4.1vw,64px);font-weight:400;line-height:1.12;letter-spacing:-.04em}.section h2 em{font-style:italic;color:#705b3c}.statement{padding:85px 0}.statement-grid{grid-template-columns:1.4fr 1fr;gap:100px;align-items:center}.statement-grid h2{font-size:clamp(34px,3.3vw,49px)}.statement-grid>p:last-child{font-size:15px;color:#65665e}
.selected-work{background:var(--paper);color:var(--ink);padding-top:30px}.portfolio-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:end;margin-bottom:45px}.portfolio-heading h2{margin:0}.portfolio-heading>p{max-width:400px;color:#686961;font-size:15px;margin:0 0 4px}.portfolio-heading .eyebrow{font-size:11px}.featured-build{display:grid;grid-template-columns:1.4fr 1fr;background:#20231d;color:var(--stone);margin-bottom:70px}.featured-build .image-button{padding:0;border:0;width:100%;background:none;overflow:hidden}.featured-build .image-button img{height:540px;width:100%;object-fit:cover;transition:transform .6s}.featured-build .image-button:hover img{transform:scale(1.025)}.featured-copy{padding:55px 45px;display:flex;flex-direction:column;justify-content:center}.featured-copy .eyebrow{font-size:10px;margin-bottom:25px}.featured-copy h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(35px,3.2vw,49px);line-height:1.12;letter-spacing:-.025em;margin:0 0 22px}.featured-copy>p:not(.eyebrow){color:#c3c8ba;font-size:15px;margin:0 0 25px}.project-scope{font-size:12px;letter-spacing:.04em;color:var(--sand-light);padding-top:20px;border-top:1px solid #ffffff25}.featured-copy .text-link{align-self:start;font-size:13px;margin-top:24px}
.gallery-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.gallery-toolbar>h3{font-family:Georgia,serif;font-weight:400;font-size:29px;letter-spacing:-.035em;margin:0}.gallery-filters{display:flex;gap:7px;flex-wrap:wrap}.gallery-filters button{border:1px solid var(--line);background:transparent;padding:10px 16px;font-size:12px;min-height:44px;color:#565950}.gallery-filters button.is-active{background:#20231d;color:var(--stone);border-color:#20231d}.gallery-filters button:hover{border-color:#20231d}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 25px}.project-card{min-width:0}.project-card[hidden]{display:none}.project-card>button{position:relative;display:block;width:100%;padding:0;border:0;background:#e5e0d6;overflow:hidden}.project-card img{height:340px;width:100%;object-fit:cover;transition:transform .5s}.project-card button:hover img{transform:scale(1.04)}.photo-expand{position:absolute;bottom:15px;right:15px;width:36px;height:36px;display:grid;place-items:center;background:#f8f5eee8;font-size:21px;color:#20231d}.project-card-copy{padding:19px 0 0}.project-card-copy>p{font-size:12px;letter-spacing:.04em;color:#705d40;margin:0 0 8px}.project-card-copy h3{font-family:Georgia,serif;font-weight:400;font-size:25px;line-height:1.2;letter-spacing:-.025em;margin:0 0 9px}.project-card-copy>span{font-size:13px;line-height:1.7;color:#66685f;display:block}.gallery-count{font-size:12px;color:#6e7067;margin:28px 0}.portfolio-cta{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:25px}.portfolio-cta p{font-family:Georgia,serif;font-size:24px;line-height:1.3;margin:0}.portfolio-cta .text-link{margin:0;white-space:nowrap;font-size:13px}
.services{background:#eae5db}.expertise-card h3,.steps h3{font-family:Georgia,serif;font-weight:400}.expertise-card p,.steps p{font-size:15px}.expertise-card small{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.service-page-link{font-size:12px;border-color:#bdb5a5}.transformation{padding-top:85px}.transformation-copy p{color:#64665c;font-size:15px}.process{background:#eeebe3;border-block:1px solid var(--line)}.about{background:#20231d}.about-grid{gap:75px}.about-logo{aspect-ratio:4/3}.about-copy>p:not(.eyebrow){font-size:15px;color:#c3c8ba}.area{padding:75px 0}.locations span{font-size:12px;padding:10px 14px}.estimate{background:#151711}.estimate-grid{gap:65px}.estimate-grid>div>p:not(.eyebrow){font-size:15px;color:#c3c8ba}#estimate-form{background:#23261e;border-color:#ffffff20;padding:32px}input,select,textarea{background:#171a13;border-color:#ffffff30}.form-note{font-size:12px}.contact{padding:65px 0;background:#d7c3a1}.contact h2{font-family:Georgia,serif;font-size:clamp(40px,4.5vw,66px);font-weight:400}.contact-link strong{font-size:29px}.contact-inner{gap:70px}.site-footer{background:#141511}.js [data-reveal]{opacity:1;transform:none}
@media(max-width:1150px){.hero-layout{gap:35px;grid-template-columns:1fr 1fr}.hero-project>img{height:520px}.hero-content h1{font-size:clamp(42px,4.8vw,60px)}.statement-grid{grid-template-columns:1.3fr 1fr;gap:40px}.statement-grid>p:last-child{grid-column:auto}.project-card img{height:280px}.portfolio-heading{gap:40px}.featured-copy{padding:35px}.featured-build .image-button img{height:480px}}
@media(max-width:820px){:root{--shell:calc(100% - 40px)}.header-inner{height:82px}.refresh-hero{padding-top:30px}.hero-layout{grid-template-columns:1fr;gap:30px}.hero-content{padding:10px 0 0}.hero-content h1{font-size:clamp(42px,7.6vw,68px)}.hero-description{max-width:520px;font-size:16px}.hero-signature{margin-top:28px}.hero-project>img{height:460px}.hero-bottom{margin-top:25px;display:grid;grid-template-columns:1fr 1fr;font-size:9px;padding:20px 0;gap:10px}.section{padding:65px 0}.selected-work{padding-top:10px}.statement-grid,.portfolio-heading,.featured-build{grid-template-columns:1fr;gap:25px}.statement-grid>p:last-child{grid-column:auto}.statement-grid h2{font-size:37px}.portfolio-heading>p{max-width:560px}.portfolio-heading{margin-bottom:30px}.featured-build{gap:0;margin-bottom:45px}.featured-build .image-button img{height:440px}.featured-copy{padding:32px}.featured-copy h3{font-size:40px}.gallery-toolbar{display:block}.gallery-toolbar>h3{margin-bottom:18px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.project-card img{height:310px}.project-card-copy h3{font-size:23px}.portfolio-cta{align-items:start;flex-direction:column;gap:16px}.about-grid,.estimate-grid{gap:35px}.hero-project figcaption{padding:70px 22px 22px}.hero-project figcaption strong{font-size:26px}.contact{padding:55px 0}.contact-inner{gap:30px}.area{padding:55px 0}}
@media(max-width:480px){.hero-content h1{font-size:clamp(35px,9vw,44px)}.hero-actions{gap:18px}.hero-actions .button{font-size:12px;padding-inline:18px}.hero-project>img{height:360px}.photo-label{top:15px;left:15px;font-size:8px}.hero-project figcaption strong{font-size:23px}.project-grid{grid-template-columns:1fr;gap:34px}.project-card img{height:380px}.project-card-copy h3{font-size:27px}.gallery-filters{gap:5px}.gallery-filters button{padding:10px 11px;font-size:11px}.featured-build .image-button img{height:330px}.featured-copy{padding:30px 25px}.portfolio-cta p{font-size:23px}.section h2{font-size:41px}.statement-grid h2{font-size:34px}#estimate-form{padding:22px}.contact-link strong{font-size:27px}.contact-link.email strong{font-size:17px}}

/* Preserve the existing stone palette and serif display type. Full-width sections use the inset .shell for content spacing. */
/* Shared refinements: readable controls, consistent rhythm, and clear paths. */
:root { --focus-light: #ead4ac; --focus-dark: #765629; --section-space: clamp(64px, 7vw, 100px); }
::selection { background: var(--sand); color: var(--ink); }
html { scrollbar-color: #8f7b5b var(--paper); }
input, textarea { caret-color: var(--sand-light); }
a, button, input, select, textarea { touch-action: manipulation; }
:focus-visible { outline: 3px solid var(--focus-dark); outline-offset: 5px; }
.site-header :focus-visible, .refresh-hero :focus-visible, .about :focus-visible,
.estimate :focus-visible, .site-footer :focus-visible, .lightbox :focus-visible { outline-color: var(--focus-light); }
h1, h2, h3 { text-wrap: balance; }
.section { padding-block: var(--section-space); }
.header-inner { gap: 24px; }
.site-nav { gap: 22px; }
.site-nav a, .service-header nav a { min-height: 44px; display: inline-flex; align-items: center; }
.hero-content h1 { margin-bottom: 24px; }
.hero-location { color: var(--sand-light); margin: 0 0 16px; font-size: 14px; }
.hero-description { font-size: 17px; line-height: 1.7; }
.hero-actions > a:not(.button) { min-height: 44px; display: inline-flex; align-items: center; }
.hero-project { align-self: stretch; }
.hero-project > img { height: 100%; min-height: 510px; }
.hero-project figcaption { background: linear-gradient(transparent, #10130fe8); padding-top: 100px; }
.hero-project figcaption span { font-size: 12px; }
.hero-bottom { color: #c0c3b7; font-size: 11px; letter-spacing: .09em; }
.trust-band p { display: flex; flex-direction: column; padding-block: 24px; }
.trust-band strong { font-size: 16px; }
.trust-band small { margin-top: 2px; }
.statement-grid > p:last-child { max-width: 470px; }
.selected-work { padding-top: 0; }
.featured-build { margin-bottom: 56px; }
.featured-copy h3 { font-size: clamp(34px, 3.6vw, 52px); }
.image-button::after { content: 'Enlarge photo'; background: #171a13; border: 1px solid #ffffff70; backdrop-filter: none; border-radius: 0; padding: 10px 16px; }
.project-card img { aspect-ratio: 4 / 3; height: auto; }
.project-card-copy > span { font-size: 14px; }
.gallery-filters button { font-size: 13px; }
.photo-expand { width: 44px; height: 44px; background: var(--stone); }
.expertise-grid { display: block; border-bottom: 0; }
.expertise-card, .expertise-card:first-child { display: grid; grid-template-columns: .65fr 1.2fr .8fr; align-items: start; gap: 32px; min-height: 0; padding: 32px 0; border: 0; border-bottom: 1px solid #bdb5a5; }
.expertise-card:last-child { border-bottom: 1px solid #bdb5a5; }
.expertise-card h3 { margin: 0; font-size: 34px; }
.expertise-card p { margin: 0; }
.expertise-card:hover { background: transparent; }
.service-detail { justify-self: end; align-self: center; font-size: 14px; text-underline-offset: 6px; min-height: 44px; display: inline-flex; align-items: center; gap: 14px; }
.service-detail svg { width: 18px; height: 18px; flex-shrink: 0; }
.service-page-links { gap: 12px; }
.service-page-link { font-size: 14px; min-height: 48px; }
.section-heading { margin-bottom: 36px; }
.contractors { background: #ded5c5; border-block: 1px solid #c5baa7; }
.contractor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.contractor-grid p { max-width: 62ch; margin: 0 0 20px; color: #514b3e; }
.contractor-grid .text-link { margin-top: 0; }
.about-copy > p:first-of-type { margin-top: 24px; }
.about h2 em, .estimate h2 em { color: var(--sand-light); }
.estimate-checklist { margin: 30px 0; padding-block: 24px; border-block: 1px solid #ffffff30; max-width: 420px; }
.estimate-checklist h3 { font-size: 16px; font-weight: 500; margin: 0 0 10px; }
.estimate-checklist ul { margin: 0 0 16px; padding-left: 20px; color: #c3c8ba; font-size: 14px; }
.estimate-checklist a { display: inline-block; padding-block: 8px; }
#estimate-form { align-self: start; }
#estimate-form input, #estimate-form select { min-height: 50px; }
#estimate-form label { font-size: 15px; }
#estimate-form .button { width: 100%; }
#estimate-form [aria-invalid=true] { border-color: #edb7a2; }
#estimate-form[aria-busy=true] .button { opacity: .7; }
#form-status { padding: 14px 0 0; color: var(--sand-light); }
#form-status[data-state=error] { color: #f5c3ad; }
.contact h2 { font-size: clamp(36px, 4vw, 58px); }
.lightbox { padding: 18px 24px; color: var(--stone); height: min(94svh, 1000px); overflow: hidden; }
.lightbox[open] { display: flex; flex-direction: column; gap: 12px; }
.lightbox-top { display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; }
.lightbox-top p { margin: 0; font-size: 13px; color: var(--sand-light); }
.lightbox-close { position: static; min-height: 44px; padding: 8px 14px; border: 1px solid #ffffff66; }
.lightbox-stage { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; gap: 16px; align-items: center; flex: 1; min-height: 0; }
.lightbox-stage img { min-height: 0; max-height: 100%; height: 100%; object-fit: contain; }
.lightbox-stage button { min-height: 48px; display: grid; place-items: center; padding: 0; background: transparent; color: var(--stone); border: 1px solid #ffffff66; }
.lightbox-stage button:hover, .lightbox-close:hover { background: #34372d; }
#lightbox-caption { margin: 0; font-size: 14px; text-align: center; flex-shrink: 0; }
body:has(.lightbox[open]) { overflow: hidden; }
.service-hero p { color: #c9cac2; }
.service-footer a { display: inline-block; min-height: 44px; padding-block: 10px; }
@media (max-width: 1150px) {
  .header-inner, .site-nav { gap: 16px; }
  .contractor-grid { gap: 45px; }
}
@media (max-width: 820px) {
  .hero-content h1 br:first-child { display: none; }
  .hero-content h1 { max-width: 650px; }
  .hero-project > img { height: 430px; min-height: 0; }
  .hero-signature { margin-top: 22px; }
  .hero-layout { gap: 32px; }
  .statement-grid, .contractor-grid { grid-template-columns: 1fr; gap: 28px; }
  .trust-band p { padding: 18px 12px; }
  .trust-band strong { font-size: 14px; }
  .expertise-card, .expertise-card:first-child { grid-template-columns: 1fr 1.5fr; gap: 14px 28px; }
  .expertise-card p { grid-column: 2; }
  .service-detail { grid-column: 2; justify-self: start; }
  .service-header nav { gap: 10px 20px; }
  .site-nav { z-index: 45; background: #141511; }
  .mobile-actions { height: calc(64px + env(safe-area-inset-bottom, 0px)); padding-bottom: env(safe-area-inset-bottom, 0px); }
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  .lightbox { padding: 12px; }
  .lightbox-stage { grid-template-columns: 44px minmax(0,1fr) 44px; gap: 8px; }
}
@media (max-width: 480px) {
  .hero-project > img { height: 330px; }
  .hero-bottom { font-size: 11px; }
  .hero-actions { gap: 12px 20px; }
  .hero-actions .button { font-size: 14px; }
  .hero-signature { font-size: 16px; }
  .trust-band strong { font-size: 12px; }
  .expertise-card, .expertise-card:first-child { grid-template-columns: 1fr; gap: 14px; padding-block: 26px; }
  .expertise-card p, .service-detail { grid-column: 1; }
  .section h2 { font-size: clamp(32px, 9vw, 41px); }
  .hero-project figcaption strong { font-size: 23px; }
  .featured-copy h3 { font-size: 36px; }
  .gallery-filters button { font-size: 12px; }
  .lightbox-stage { grid-template-columns: 1fr 1fr; grid-template-rows: minmax(0, 1fr) 48px; }
  .lightbox-stage img { grid-column: 1 / -1; grid-row: 1; }
  .lightbox-stage button { grid-row: 2; }
  .lightbox-next { grid-column: 2; }
}
