/* Homepage layout. Gallery and photo-viewer styles remain in styles.css. */
.revamp{background:#171512}
.revamp .shell{width:min(100% - 64px,1320px)}
.revamp .site-header{background:#302d28;border-bottom:1px solid #49453d;box-shadow:0 4px 22px #0002}
.revamp .site-header .site-header-inner{display:grid!important;grid-template-columns:260px 1fr auto;grid-template-rows:auto;gap:24px;min-height:96px;padding-block:14px}
.revamp .site-header .brand{grid-area:1/1;width:260px;max-width:100%}
.revamp .site-header .header-areas{grid-area:1/2;display:flex;flex-wrap:wrap;justify-content:center;gap:2px 14px;min-width:0;color:#d1a066;font:600 19px/1.15 'Barlow Condensed',Impact,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-align:center;white-space:normal}
.revamp .site-header .town{white-space:nowrap}
.revamp .site-header .header-actions{grid-area:1/3;display:flex;gap:8px;width:auto}
.revamp .site-header .header-btn{background:#444039;border:1px solid #22201c;border-radius:7px;padding:12px 14px;height:auto;min-height:44px;font:600 13px/1.25 'DM Sans',Arial,sans-serif;white-space:nowrap}
.revamp .site-header .header-btn:hover{background:#514b42}
.revamp .hero{min-height:0}
.revamp .hero-body{padding-top:calc(var(--site-header-height,96px) + 52px);padding-bottom:58px}
.revamp .hero:before{background:linear-gradient(90deg,#171310bc 0%,#17131070 48%,#17131015 100%)}
.revamp .hero-photo{background-position:center}
.revamp .hero-copy{max-width:650px}
.revamp .hero-description{font-size:17px;line-height:1.5;max-width:510px;margin:20px 0 0}
.revamp .hero .kicker{font-size:11px;letter-spacing:.19em;margin-bottom:18px}
.revamp .services.section.shell{position:relative;width:100%;padding:40px max(32px,calc((100% - 1320px)/2)) 42px;background:linear-gradient(135deg,#3a3329 0%,#2d2821 35%,#211e19 70%,#1b1916 100%)}
.revamp .section-top{padding-right:120px;margin-bottom:24px}
.revamp #services-title,.revamp #experience-title,.revamp #process-title{font:600 clamp(24px,2.2vw,32px)/1.15 'DM Sans',Arial,sans-serif;letter-spacing:-.035em;color:var(--cream);margin:0 0 10px;max-width:none}
.revamp .section-top .services-intro{font-size:15px;line-height:1.45;max-width:700px}
.revamp .service-row-controls{display:flex;position:absolute;right:max(32px,calc((100% - 1320px)/2));top:44px;gap:8px;margin:0}
.revamp .service-row-controls .icon-btn{width:44px;height:44px;border-radius:7px;color:#f4f0e9;background:#ffffff12}
.revamp .service-row-controls .icon-btn:hover{background:#ffffff23}
.revamp .service-row-controls .icon-btn:disabled{opacity:.28;cursor:default}
.revamp .services .service-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:14px;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0;overscroll-behavior-x:contain}
.revamp .services .service-grid::-webkit-scrollbar{display:none}
.revamp .services .service-card{flex:0 0 calc((100% - 42px)/4);aspect-ratio:4/4.5;scroll-snap-align:start;scroll-snap-stop:always;border-radius:10px;background:linear-gradient(145deg,#39342c,#24211c);transition:filter .2s;min-width:0}
.revamp .services .service-card:hover{transform:none;filter:brightness(1.1)}
.revamp .services .service-card:active{transform:none}
.revamp .service-card .card-fallback{background:transparent}
.revamp .service-card .card-text{padding:16px}
.revamp .service-card .card-text strong{font-size:17px;line-height:1.2}
.revamp .service-card .card-text small{font-size:12px;line-height:1.4;margin-top:6px}
.revamp .service-card .card-scrim{background:linear-gradient(0deg,#15120fee,transparent 85%)}
.revamp .experience{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:42px;border:0;min-height:0;padding-block:30px 42px}
.revamp .experience-photo{background:url('assets/workbench.webp') center/cover;min-height:290px;height:100%;border-radius:10px}
.revamp .experience-copy{padding:8px 0}
.revamp .experience-copy>p{font:400 15px/1.55 'DM Sans',Arial,sans-serif;color:#c4bdb4;max-width:600px;margin:0 0 12px}
.revamp .experience-copy .section-lead{font-size:18px;color:#f4f0e9;line-height:1.45}
.revamp .experience-copy .planning-note{font-size:14px}
.revamp .experience-stats{border:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:8px 0 0;margin:12px 0 0}
.revamp .experience-stats span{padding:0;border:0}
.revamp .experience-stats strong{font:600 25px/1.15 'Barlow Condensed',Impact,sans-serif;color:#d1a066}
.revamp .experience-stats small{font-size:11px;margin-top:4px}
.revamp .process{background:#29251f;border:0;border-radius:12px;padding:26px 30px;margin-bottom:36px}
.revamp #process-title{font-size:25px;margin-bottom:22px}
.revamp .process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:0}
.revamp .process-grid>.process-step{display:grid;grid-template-columns:24px 1fr;gap:12px;border:0;padding:0;margin:0;grid-column:auto}
.revamp .process-step>span{font:600 28px/1 'Barlow Condensed',Impact,sans-serif;margin:0;color:#d1a066}
.revamp .process-step strong{color:#f4f0e9;font-size:14px;text-transform:none}
.revamp .process-step p{font-size:13px;line-height:1.5;margin:6px 0 0;color:#c4bdb4}
.revamp .footer{background:#171511}
.revamp .footer-inner{min-height:90px;gap:32px}
.revamp .legal-disclaimer{padding-block:15px}
.revamp .legal-disclaimer p{font-size:11px;line-height:1.55;color:#a79f93;margin:0}
@media(max-width:1150px){
 .revamp .site-header .site-header-inner{grid-template-columns:230px 1fr;grid-template-rows:auto auto;gap:12px 20px;min-height:0}
 .revamp .site-header .brand{width:230px}
 .revamp .site-header .header-actions{grid-area:2/1/3/3;display:grid;grid-template-columns:1fr 1fr;width:100%}
 .revamp .site-header .header-areas{justify-self:end;max-width:350px}
}
@media(max-width:750px){
 .revamp .shell{width:calc(100% - 32px)}
 .revamp .site-header .site-header-inner{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:10px 12px;padding-block:10px}
 .revamp .site-header .brand{width:200px}
 .revamp .site-header .header-areas{display:grid;grid-template-columns:auto auto;gap:5px 8px;font-size:14px;letter-spacing:.035em;max-width:none;text-align:left;justify-self:end}
 .revamp .site-header .header-btn{font-size:11px;white-space:normal;padding:9px 6px;min-height:42px;line-height:1.25}
 .revamp .hero-body{padding-top:calc(var(--site-header-height,126px) + 26px);padding-bottom:32px}
 .revamp .hero-photo{background-position:right center}
 .revamp .hero .kicker{font-size:10px;margin-bottom:14px}
 .revamp .hero-copy h1{font-size:clamp(44px,11vw,66px)}
 .revamp .hero-description{font-size:14px;max-width:430px;margin-top:16px;line-height:1.5}
 .revamp .services.section.shell{padding:26px 16px 30px}
 .revamp .section-top{padding-right:0;margin-bottom:16px}
 .revamp #services-title{padding-right:94px;font-size:25px;min-height:34px}
 .revamp .section-top .services-intro{font-size:13px;max-width:440px}
 .revamp .service-row-controls{top:23px;right:16px;gap:6px}
 .revamp .service-row-controls .icon-btn{width:36px;height:36px}
 .revamp .services .service-card{flex-basis:calc((100% - 14px)/2);aspect-ratio:3/4}
 .revamp .service-card .card-text{padding:12px}
 .revamp .service-card .card-text strong{font-size:14px}
 .revamp .service-card .card-text small{font-size:11px;line-height:1.3}
 .revamp .experience{grid-template-columns:1fr;gap:18px;padding-block:0 28px}
 .revamp .experience-photo{min-height:0;height:150px;background-position:center 56%}
 .revamp .experience-copy{padding:0}
 .revamp #experience-title{font-size:24px}
 .revamp .experience-copy .section-lead{font-size:16px}
 .revamp .experience-copy>p{font-size:13px;line-height:1.5;margin-bottom:10px}
 .revamp .experience-copy .planning-note{font-size:13px}
 .revamp .experience-stats{gap:8px;margin-top:12px;padding-top:0}
 .revamp .experience-stats strong{font-size:23px}
 .revamp .experience-stats small{font-size:10px}
 .revamp .process{padding:20px;margin-bottom:24px}
 .revamp #process-title{font-size:24px;margin-bottom:18px}
 .revamp .process-grid{grid-template-columns:1fr;gap:17px}
 .revamp .process-grid>.process-step{grid-template-columns:20px 1fr;gap:10px}
 .revamp .process-step p{margin-top:3px;font-size:12px}
 .revamp .footer-inner{padding-block:20px;gap:16px;min-height:0}
 .revamp .footer-brand{width:170px}
 .revamp .footer-inner nav{width:100%;order:2;gap:20px}
 .revamp .footer-inner>span{order:3;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.revamp *{scroll-behavior:auto!important;transition:none!important}}

/* Mobile-only header and browsing cue; desktop carousel unchanged. */
.mobile-browse-cue{display:none}
@media(max-width:750px){
 .revamp .site-header .site-header-inner{grid-template-columns:clamp(100px,30vw,140px) minmax(0,1fr);column-gap:8px}
 .revamp .site-header .brand{width:100%}
 .revamp .site-header .header-areas{display:flex;flex-wrap:nowrap;gap:0;justify-content:flex-end;align-items:center;font-size:clamp(9px,2.5vw,13px);letter-spacing:0;white-space:nowrap;width:100%}
 .revamp .site-header .town+.town:before{content:"·";margin:0 3px;color:var(--gold)}
 .revamp .service-row-controls{display:none}
 .revamp #services-title{padding-right:0;min-height:0}
 .mobile-browse-cue{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px;color:#d1c8bc;font-size:11px;letter-spacing:.02em}
}
/* Give the form its own clearly defined surface without a scrollbar track. */
.revamp #contactDialog{background:#304245;border-radius:12px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;box-shadow:0 24px 90px #000c;max-height:90dvh}
.revamp #contactDialog::-webkit-scrollbar,.revamp #contactDialog .dialog-shell::-webkit-scrollbar{display:none;width:0;height:0}
.revamp #contactDialog::backdrop{background:#000c;backdrop-filter:blur(4px)}
.revamp #contactDialog .dialog-shell{scrollbar-width:none;padding:28px}
.revamp #contactDialog h2{font:600 clamp(24px,3vw,32px)/1.2 'DM Sans',Arial,sans-serif;padding-right:35px}
.revamp #contactDialog .kicker{display:none}
.revamp #contactDialog .contact-form input,.revamp #contactDialog .contact-form textarea{background:#243538;border:1px solid #6c7a79;border-radius:6px;font-size:16px}
.revamp #contactDialog .contact-form input::placeholder,.revamp #contactDialog .contact-form textarea::placeholder{color:#b6c0bf}
.revamp #contactDialog input[hidden]{display:none}
.revamp #contactDialog .dialog-close{background:#1d2b2e}
@media(max-width:750px){.revamp #contactDialog .dialog-shell{padding:22px 18px}}

/* Short, personal sections with quiet separation. */
.revamp .lower-section{border-top:1px solid rgba(209,192,165,.22);padding-block:38px}
.revamp .lower-section h2{font:600 clamp(26px,2.7vw,37px)/1.15 'DM Sans',Arial,sans-serif;letter-spacing:-.035em;color:var(--cream);margin:0 0 18px}
.revamp .lower-section p{font-size:15px;line-height:1.6;color:#c4bdb4;margin:0 0 12px;max-width:600px}
.revamp .lower-section .personality-line{color:#ead6b8;font-size:17px;line-height:1.5;margin-top:18px}
.revamp .small-jobs{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:65px}
.revamp .job-list{padding:24px 28px;background:linear-gradient(130deg,#332e26,#25221d);border-radius:10px;transform:rotate(-1deg)}
.revamp .job-list span{display:block;padding:10px 0;font-size:17px;color:#eee6dc}
.revamp .job-list span:before{content:'✓';color:var(--gold);margin-right:14px}
.revamp .job-list p{font-size:13px;margin:12px 0 0;color:#c8b9a5}
.revamp .experience{border-top:1px solid rgba(209,192,165,.22);padding-top:38px}
.revamp .custom-ideas{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.revamp .custom-ideas h2{margin:0}
.revamp .process{border-top:1px solid rgba(209,192,165,.22);margin-top:4px;margin-bottom:0}
.revamp .message-help{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:32px}
.revamp .message-help h2{font-size:28px;margin-bottom:12px}
.revamp .message-help ul{list-style:none;padding:0;margin:0;align-self:center;display:grid;gap:10px;color:#d4ccc1;font-size:14px}
.revamp .message-help li:before{content:'•';color:var(--gold);margin-right:12px}
.revamp .footer{border-top:1px solid rgba(209,192,165,.22)}
@media(max-width:750px){
 .revamp .lower-section{padding-block:26px}
 .revamp .small-jobs,.revamp .custom-ideas,.revamp .message-help{grid-template-columns:1fr;gap:18px}
 .revamp .lower-section h2{font-size:26px;margin-bottom:14px}
 .revamp .lower-section p{font-size:14px;line-height:1.5}
 .revamp .lower-section .personality-line{font-size:15px;margin-top:14px}
 .revamp .job-list{padding:15px 20px;transform:none}
 .revamp .job-list span{font-size:15px;padding:7px 0}
 .revamp .job-list p{font-size:12px}
 .revamp .experience{padding-top:26px}
 .revamp .custom-ideas h2{margin-bottom:0}
 .revamp .message-help{margin-top:24px;gap:10px}
 .revamp .message-help ul{font-size:13px}
}

/* The homeowner illustration sits between the copy and checklist. */
.revamp .small-jobs{grid-template-columns:1.1fr 1fr .9fr;gap:26px}
.revamp .homeowner-illustration{margin:0;min-width:0;align-self:center}
.revamp .homeowner-illustration img{display:block;width:100%;height:auto;mix-blend-mode:lighten}
.revamp .small-jobs .job-list{padding:20px}
@media(min-width:751px) and (max-width:1050px){
 .revamp .small-jobs{grid-template-columns:1fr 1fr;gap:24px}
 .revamp .small-jobs-copy{grid-column:1/-1}
 .revamp .small-jobs-copy p{max-width:none}
}
@media(max-width:750px){
 .revamp .small-jobs{grid-template-columns:1fr;gap:18px}
 .revamp .homeowner-illustration{width:min(100%,340px);justify-self:center}
}

/* Hero and work share one continuous charcoal surface. */
.revamp .hero::after{content:"";position:absolute;inset:auto 0 0;height:160px;background:linear-gradient(to bottom,transparent 0%,rgba(23,21,18,.35) 35%,#171512 100%);z-index:-1;pointer-events:none}
.revamp .services.section.shell{background:#171512}
/* Cream slab lettering with small gold diamond separators. */
.revamp .site-header .header-areas{font-family:'Roboto Slab',Georgia,serif;font-size:12px;font-weight:500;letter-spacing:.04em;color:#eee1cd;gap:0;flex-wrap:nowrap}
.revamp .site-header .town+.town::before{content:"◆";display:inline-block;font-size:6px;vertical-align:middle;color:#d1a066;margin:0 9px}
/* Controls occupy their own gutters alongside the card viewport. */
.revamp .service-carousel{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:14px;align-items:center}
.revamp .service-carousel>.icon-btn{position:static;width:44px;height:48px;border-radius:7px;background:#ffffff12;color:#f4f0e9}
.revamp .service-carousel>.icon-btn:hover{background:#ffffff23}
.revamp .service-carousel>.icon-btn:disabled{opacity:.28;cursor:default}
.revamp .service-carousel>.service-grid{min-width:0}
.revamp .section-top{padding-right:0}
@media(min-width:751px) and (max-width:1150px){
 .revamp .site-header .header-areas{font-size:11px;max-width:none}
 .revamp .site-header .town+.town::before{margin:0 6px}
}
@media(max-width:750px){
 .revamp .site-header .site-header-inner{grid-template-columns:clamp(78px,24vw,112px) minmax(0,1fr);column-gap:6px}
 .revamp .site-header .header-areas{font-size:clamp(7px,2.05vw,10px);letter-spacing:0;white-space:nowrap}
 .revamp .site-header .town+.town::before{font-size:4px;margin:0 3px}
 .revamp .service-carousel{display:block}
 .revamp .service-carousel>.icon-btn{display:none}
 .revamp .hero::after{height:100px}
}
.revamp .message-help{margin-bottom:0}
.revamp .custom-ideas{margin-bottom:12px}

/* Compact fabrication banner; galleries reuse the existing dialogs. */
.revamp .digital-fab{position:relative;isolation:isolate;margin-top:20px;padding:24px 0;border-block:1px solid #a88a5544;background:#171713 url('assets/fabrication-backdrop.png') center/cover no-repeat}
.revamp .digital-fab::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0c0d0be6,#0c0d0b66)}
.revamp .fab-layout{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:0}
.revamp .fab-copy{min-width:0}
.revamp .fab-eyebrow{margin:0 0 6px;font:500 10px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#d7b581}
.revamp #fab-title{margin:0 0 7px;font:600 24px/1.2 'DM Sans',Arial,sans-serif;letter-spacing:-.025em;text-transform:none;color:#f4f0e9;max-width:none}
.revamp #fab-title span{color:#dfb478}
.revamp .fab-summary{margin:0;font:400 12px/1.6 'DM Sans',Arial,sans-serif;color:#d2d0c6}
.revamp .fab-summary a{display:inline-block;margin-left:6px;color:#e2bd89;text-underline-offset:3px}
.revamp .fab-work{flex:0 0 auto;max-width:100%}
.revamp .fab-gallery-heading{margin:0 0 7px;font:400 10px/1.4 'DM Sans',Arial,sans-serif;color:#d0cdc1}
.revamp .fab-grid{display:flex;gap:8px}
.revamp .fab-card{display:flex;align-items:center;gap:7px;min-height:44px;padding:7px 10px;border:1px solid #bba07766;border-radius:6px;background:#14170edb;color:#f4f0e9;text-align:left;cursor:pointer;font:inherit}
.revamp .fab-card:hover{border-color:#e1ba7b;background:#343427}
.revamp .fab-card:focus-visible,.revamp .fab-summary a:focus-visible{outline:2px solid #edc78b;outline-offset:4px}
.revamp .fab-mini-icon{position:relative;display:block;width:25px;height:25px;flex:0 0 25px;overflow:hidden;color:#dcb983;border-radius:3px}
.revamp .fab-mini-icon svg{width:100%;height:100%;display:block}
.revamp .fab-mini-icon img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.revamp .fab-mini-copy strong{display:block;font:600 12px/1.3 'DM Sans',Arial,sans-serif;white-space:nowrap}
.revamp .fab-mini-copy small,.revamp .fab-mini-arrow{display:none}
@media(max-width:900px){.revamp .fab-layout{flex-wrap:wrap;gap:14px}.revamp #fab-title{font-size:22px}.revamp .digital-fab{padding:20px 0}}
@media(max-width:480px){.revamp .digital-fab{padding:18px 0}.revamp #fab-title{font-size:20px}.revamp .fab-summary{font-size:11px}.revamp .fab-summary a{margin-left:0}.revamp .fab-grid{gap:6px;flex-wrap:wrap}.revamp .fab-card{padding:7px 8px}.revamp .fab-mini-copy strong{font-size:11px}.revamp .fab-mini-icon{width:22px;height:22px;flex-basis:22px}}

/* Full-width section rules, with content alignment preserved. */
.revamp .lower-section,.revamp .experience,.revamp .process{position:relative;border-top:0}
.revamp .lower-section::before,.revamp .experience::before,.revamp .process::before{content:"";position:absolute;top:0;left:calc((100% - 100vw)/2);width:100vw;height:1px;background:rgba(209,192,165,.22);pointer-events:none}
.revamp{overflow-x:clip}
.revamp .digital-fab{border-color:rgba(209,192,165,.22)}
/* Fabrication alone carries its artwork through every gallery level. */
.revamp dialog.fabrication-dialog{background:linear-gradient(#10110d6b,#10110d6b),url('assets/fabrication-backdrop.png') center/cover no-repeat #171713}
.revamp dialog.fabrication-dialog .sheet-shell,.revamp dialog.fabrication-dialog .project-toolbar,.revamp dialog.fabrication-dialog .lightbox-topbar,.revamp dialog.fabrication-dialog .lightbox-row,.revamp dialog.fabrication-dialog .lightbox-frame,.revamp dialog.fabrication-dialog .lightbox-footer{background:transparent}
.revamp dialog.fabrication-dialog .sheet-empty{color:#e5d9c7}

.revamp dialog.fabrication-dialog .sheet-head,.revamp dialog.fabrication-dialog .sheet-gallery{background:transparent}
.revamp dialog.fabrication-dialog .sheet-head h2,.revamp dialog.fabrication-dialog .sheet-empty{text-shadow:0 2px 5px #000;color:#fff3df}

/* September 25 refinements */
.revamp .service-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:2px;margin-top:12px}
.revamp .service-dot{display:grid;place-items:center;width:26px;height:28px;padding:0;border:0;background:transparent;cursor:pointer}
.revamp .service-dot::before{content:"";width:8px;height:8px;border:1.5px solid #d1a066;border-radius:50%;background:#d1a066}
.revamp .service-dot.is-visible::before{background:transparent}
.revamp .service-dot:focus-visible{outline:2px solid #ecc38f;outline-offset:1px}
.revamp .fab-label{display:block;padding:9px 13px;border:1px solid #b68059;border-radius:6px;background:rgba(20,23,14,.88);color:#edddc5;font-size:12px;font-weight:600}
.revamp .small-jobs{grid-template-columns:1.15fr 1fr}
.revamp .small-jobs-copy{grid-column:auto}
.revamp .repair-reminders{padding:26px 0;border-block:1px solid rgba(209,192,165,.22);background:#30342c}
.revamp .repair-reminders h2{font:600 23px/1.2 'DM Sans',Arial,sans-serif;color:#f1e7d6;margin:0 0 14px}
.revamp .repair-reminders .job-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0;background:none;transform:none;border-radius:0}
.revamp .repair-reminders .job-list span{font-size:15px;padding:8px 0}
.revamp .repair-reminders .job-list p{grid-column:1/-1;margin:2px 0 0}
@media(max-width:750px){
.revamp .site-header .site-header-inner{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:8px 12px}
.revamp .site-header .brand{width:100%;max-width:240px}
.revamp .site-header .header-areas{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 9px;font-size:clamp(13px,3.5vw,17px);line-height:1.25;white-space:normal}
.revamp .site-header .town+.town:before{content:none}
.revamp .site-header .header-btn{min-height:32px;padding:5px 6px;font-size:11px}
.revamp .small-jobs{grid-template-columns:1fr}
.revamp .repair-reminders .job-list{grid-template-columns:1fr 1fr;gap:4px 12px}
.revamp .repair-reminders .job-list span{font-size:13px}
}

/* Distinct full-width photo sections, using the supplied images unchanged. */
.revamp .repair-reminders{padding:38px 0;background:linear-gradient(90deg,#171c17d9 0%,#171c1790 48%,#171c1710 100%),url('assets/repair-shelf.png') right center/cover no-repeat}
.revamp .repair-reminders h2{font-size:clamp(24px,3vw,36px);margin-bottom:20px}
.revamp .repair-reminders h2 span,.revamp .custom-ideas h2 span{color:#e6b477}
.revamp .repair-reminders .job-list{grid-template-columns:1fr 1fr;max-width:760px;gap:8px 22px}
.revamp .repair-reminders .job-list span{display:flex;align-items:center;font-size:16px}
.revamp .repair-reminders .job-list span:before{display:inline-grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border:1px solid #e1ae6a;border-radius:50%;margin-right:10px;font-size:17px}
.revamp .repair-reminders .job-list p{margin-top:16px;max-width:650px}
.revamp .digital-fab{margin-top:0;border-top:0;padding:30px 0}
.revamp .custom-ideas{display:block;width:100%;margin:0;padding:38px 0;border-top:0;border-bottom:1px solid rgba(209,192,165,.22);background:linear-gradient(90deg,#171b16ee 0%,#171b16c9 42%,#171b161a 100%),url('assets/pinterest-phone.png') right center/cover no-repeat}
.revamp .custom-ideas::before{display:none}
.revamp .pinterest-content{display:block}
.revamp .custom-ideas h2{font:600 clamp(24px,3vw,36px)/1.2 'DM Sans',Arial,sans-serif;max-width:720px;margin:0 0 18px}
.revamp .custom-ideas .pinterest-content>div{max-width:650px;width:58%}
.revamp .custom-ideas p{font-size:16px;line-height:1.7;margin:0;color:#e1d8c9}
/* Keep the separator above the process box, with an actual gap. */
.revamp .process{margin-top:32px}
.revamp .process::before{top:-24px}
@media(max-width:750px){
.revamp .site-header{background:radial-gradient(ellipse at 50% 35%,#38362b 0%,#25251e 65%,#22221d 100%);border-bottom:1px solid #7b694d55}
.revamp .site-header .site-header-inner{display:flex!important;flex-direction:column;align-items:center;gap:11px;padding:15px 0 13px}
.revamp .site-header .brand{width:86%;max-width:440px;align-self:center}
.revamp .site-header .brand img{filter:brightness(0) saturate(100%) invert(84%) sepia(30%) saturate(687%) hue-rotate(337deg) brightness(103%) contrast(96%)}
.revamp .site-header .header-areas{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:0;width:100%;font:700 clamp(9px,2.7vw,17px)/1.3 Georgia,serif;letter-spacing:.035em;text-transform:uppercase;color:#f1dfbe}
.revamp .site-header .town{white-space:nowrap}
.revamp .site-header .town+.town:before{content:'★';display:inline;margin:0 clamp(4px,1.5vw,10px);color:#c26726;font-size:.8em}
.revamp .site-header .header-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin:0}
.revamp .site-header .header-btn,.revamp .site-header .header-btn-primary{position:relative;background:linear-gradient(110deg,#ba5018,#d06c24);border:1px solid #d47932;color:#fff1dc;min-height:36px;height:auto;padding:7px 17px 7px 6px;font-size:clamp(9px,2.55vw,13px);border-radius:7px;white-space:nowrap;box-shadow:0 2px 4px #0003}
.revamp .site-header .header-btn::after{content:'›';position:absolute;right:6px;font-size:20px;line-height:1}
.revamp .site-header .header-btn:hover{background:#db7429}
.revamp .repair-reminders{padding:26px 0;background-position:70% center}
.revamp .repair-reminders .job-list{max-width:100%;gap:7px 12px}
.revamp .repair-reminders .job-list span{font-size:12px}
.revamp .repair-reminders .job-list span:before{width:19px;height:19px;flex-basis:19px;font-size:13px;margin-right:7px}
.revamp .repair-reminders .job-list p{font-size:12px;margin-top:12px}
.revamp .digital-fab{padding:24px 0}
.revamp .fab-layout{gap:12px}
.revamp .custom-ideas{padding:28px 0;background-position:65% center}
.revamp .custom-ideas h2{max-width:78%;font-size:25px}
.revamp .custom-ideas .pinterest-content>div{width:65%}
.revamp .custom-ideas p{font-size:12px;line-height:1.6}
.revamp .process{margin-top:36px}
.revamp .process::before{top:-24px}
}

/* Targeted desktop background sizing: contain the photo by height, not width. */
@media(min-width:751px){
.revamp .repair-reminders{background-color:#20251d;background-image:linear-gradient(90deg,#20251d 0%,#20251de6 37%,#20251d33 72%,transparent 100%),url('assets/repair-shelf.png');background-size:cover;background-position:center,right center;background-repeat:no-repeat}
.revamp .custom-ideas{background-color:#171b16;background-image:linear-gradient(90deg,#171b16 0%,#171b16e6 38%,#171b1633 72%,transparent 100%),url('assets/pinterest-phone.png');background-size:cover;background-position:center,right center;background-repeat:no-repeat}
}
/* Compact mobile header, including the safe area on edge-to-edge browsers. */
@media(max-width:750px){
html:has(body.revamp){background:#171512}
.revamp .site-header{background:#141510;padding-top:env(safe-area-inset-top,0px)}
.revamp .site-header .site-header-inner{gap:0;padding:5px 0 9px}
.revamp .site-header .brand{width:86%;max-width:440px;margin:0;line-height:0}
.revamp .site-header .brand img{display:block;width:100%;margin:0}
.revamp .site-header .header-areas{margin-top:0;line-height:1.15;flex-wrap:nowrap;font-size:clamp(9px,2.7vw,17px)}
.revamp .site-header .header-actions{margin-top:13px;gap:8px}
.revamp .site-header .header-btn,.revamp .site-header .header-btn-primary{background:rgba(32,31,23,.55);border:1px solid #b45b25;color:#f3e5cf;box-shadow:none;min-height:32px;padding-top:5px;padding-bottom:5px}
.revamp .site-header .header-btn::after{color:#d67b35}
.revamp .site-header .header-btn:hover{background:#63371966}
}
/* Footer arrangement from the supplied reference. */
.revamp .footer{background:#13140f;padding:24px 0 26px}
.revamp .footer .footer-inner{display:grid;grid-template-columns:minmax(180px,300px) 1fr;gap:50px;min-height:0;padding:0;align-items:center}
.revamp .footer .footer-brand{width:100%;max-width:300px}
.revamp .footer .footer-brand img{filter:brightness(0) saturate(100%) invert(84%) sepia(30%) saturate(687%) hue-rotate(337deg) brightness(103%) contrast(96%)}
.revamp .footer .footer-inner nav{display:flex;justify-content:space-around;width:100%;gap:18px;order:initial}
.revamp .footer .footer-inner nav a{font-size:18px;color:#efe5d2}
.revamp .footer-towns{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;text-transform:uppercase;color:#f0e5ce;font:600 17px/1.4 Georgia,serif}
.revamp .footer-towns b{color:#cb6b2a;font-size:19px}
.revamp .footer .legal-disclaimer{text-align:center;padding:22px 0 0}
.revamp .footer .legal-disclaimer p{font-size:15px;line-height:1.6;color:#bfb6a5;margin:0 auto;max-width:1200px}
.revamp .footer .legal-disclaimer strong{display:block;font-size:17px;color:#e8dfcf;margin-bottom:4px}
.revamp .footer .legal-disclaimer a{color:#cf7a39}
.revamp .footer .legal-disclaimer .footer-copyright{margin-top:18px}
@media(max-width:750px){
.revamp .footer{padding:20px 0}
.revamp .footer .footer-inner{grid-template-columns:36% 1fr;gap:14px}
.revamp .footer .footer-inner nav{gap:8px;justify-content:space-between}
.revamp .footer .footer-inner nav a{font-size:12px}
.revamp .footer-towns{font-size:clamp(9px,2.5vw,14px);gap:3px;margin-top:16px;white-space:nowrap}
.revamp .footer-towns b{font-size:11px}
.revamp .footer .legal-disclaimer{padding-top:18px}
.revamp .footer .legal-disclaimer p{font-size:11px}
.revamp .footer .legal-disclaimer strong{font-size:13px}
}

/* Only the requested mobile logo/background correction. No box metrics changed. */
@media(max-width:750px){
.revamp .site-header::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:env(safe-area-inset-top,0px);background:#141510;pointer-events:none}
.revamp .site-header .brand img{filter:none;opacity:1;mix-blend-mode:normal;mask:none;-webkit-mask:none}
}
/* Supplied combined guidance artwork replaces the two former sections. */
.revamp .combined-photo-guide{width:100%;padding:0;margin:0}
.revamp .combined-photo-guide>img{display:block;width:100%;height:auto}

/* Mobile header correction only. Artwork uses its original alpha as a mask. */
@media(max-width:750px){
.revamp .site-header{position:fixed;top:0;left:0;right:0;background:#141510;padding-top:env(safe-area-inset-top,0px)}
.revamp .site-header::before{display:none}
.revamp .site-header .site-header-inner{padding-top:4px;padding-bottom:7px;gap:0}
.revamp .site-header .brand{position:relative;display:block;aspect-ratio:2048 / 599;height:auto;overflow:hidden;margin:0;flex-shrink:0}
.revamp .site-header .brand img{visibility:hidden;position:absolute;width:100%;height:auto;filter:none;opacity:1}
.revamp .site-header .brand::after{content:"";position:absolute;left:0;top:-10.851419%;width:100%;aspect-ratio:2048 / 682;background:linear-gradient(115deg,#80543e 0%,#b17b58 30%,#d1a47e 52%,#f1e2c5 70%,#bf936e 89%,#94644a 100%);-webkit-mask:url('assets/ironwood-logo.png') center / 100% 100% no-repeat;mask:url('assets/ironwood-logo.png') center / 100% 100% no-repeat;pointer-events:none}
.revamp .site-header .header-areas{margin-top:4px}
.revamp .site-header .header-actions{margin-top:8px}
}

/* Restore contrast on the three non-interactive fabrication service badges only. */
.revamp #digital-fabrication .fab-label .accent-metallic{background-image:none;color:#edddc5;-webkit-text-fill-color:#edddc5}
