:root{--bg:#202124;--panel:#303236;--yellow:#f39a18;--paper:#f5f5f5;--ink:#202124;--muted:#bfc1c5;--line:#44464a;color-scheme:light;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--bg);color:var(--paper);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #4c8eff;outline-offset:5px}a:hover{opacity:.8}p,h1,h2,h3,figure{margin:0}p+p{margin-top:18px}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}.preview-note{background:var(--yellow);color:var(--ink);text-align:center;font-size:12px;font-weight:800;letter-spacing:.08em;padding:8px 16px}.preview-note span{font-weight:400;letter-spacing:0;margin-left:12px}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:20px}.brand-mark{font-size:32px;line-height:.9;letter-spacing:-2px;font-weight:950}.brand-mark span{display:block;font-size:9px;letter-spacing:1.5px;margin-top:7px}.brand-caption{font-size:11px;line-height:1.4;letter-spacing:.1em;border-left:1px solid var(--line);padding-left:20px}.header nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600}.nav-estimate{background:var(--yellow);color:var(--ink);padding:12px 20px}.nav-estimate span{margin-left:24px}.hero{padding-top:38px}.hero-top{display:flex;justify-content:space-between}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;line-height:1.5}.yellow-dot{display:inline-block;height:7px;width:7px;background:var(--yellow);margin-right:9px}.hero-location{color:var(--muted)}.hero-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:60px;padding-top:32px;padding-bottom:50px}h1,h2,h3{font-weight:850;line-height:1.04;letter-spacing:-.045em}h1{font-size:clamp(52px,6.4vw,88px);line-height:.98}h1 span{color:var(--yellow)}.hero-copy{color:#d0d1d4;margin:26px 0 28px;font-size:18px;line-height:1.6}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:16px 22px;font-size:14px;font-weight:700;min-height:52px}.yellow{color:var(--ink);background:var(--yellow)}.text-link{font-size:14px;font-weight:700;display:inline-flex;gap:20px;align-items:center;min-height:44px}.hero-panel{background:var(--yellow);color:var(--ink);padding:26px 28px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.panel-label{font-size:10px;font-weight:800;letter-spacing:.13em}.giant-amp{font-size:clamp(92px,12vw,176px);letter-spacing:-.09em;line-height:1;font-weight:950;border-bottom:2px solid var(--ink);padding-block:10px}.hero-panel>p{font-size:24px;font-weight:850;line-height:1.12;letter-spacing:-.03em;padding-top:22px}.panel-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:28px}.panel-bottom span{font-size:10px;line-height:1.4;font-weight:700;letter-spacing:.07em}.panel-bottom a{font-size:34px;line-height:1;min-width:44px;text-align:right}.hero-foot{display:flex;gap:28px;padding:20px 0;border-top:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.1em}.hero-foot span:nth-child(even){color:var(--yellow)}.light-section{background:var(--paper);color:var(--ink)}.services,.projects{padding:80px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:42px}h2{font-size:clamp(36px,4.5vw,58px);margin-top:20px}.section-head>p{color:#606267}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d3d4d6;border-left:1px solid #d3d4d6}.service-grid article{padding:28px;border-bottom:1px solid #d3d4d6;border-right:1px solid #d3d4d6;display:flex;flex-direction:column;min-height:290px}.service-number{font-size:12px;letter-spacing:.08em;color:#67696e;font-weight:700}.service-grid h3{font-size:28px;margin:27px 0 16px}.service-grid p{color:#5c5e63;line-height:1.65;font-size:15px;margin-bottom:22px}.service-grid a{display:flex;justify-content:space-between;font-size:13px;font-weight:700;margin-top:auto;min-height:28px}.service-cta{background:var(--yellow)}.about,.area{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:85px}.about-copy{max-width:480px}.large-copy{font-size:27px;line-height:1.35;letter-spacing:-.03em}.about-copy>p:not(.large-copy){color:var(--muted)}.placeholder-note{font-size:14px}.about-copy .text-link{margin-top:18px;color:var(--yellow)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photo-placeholder{aspect-ratio:1.3;background:#e6e7e9;display:flex;flex-direction:column;justify-content:space-between;padding:24px;border:1px solid #d0d2d5}.photo-placeholder>span{font-size:50px;font-weight:800;line-height:1;color:#76797f}.photo-placeholder p{font-size:12px;letter-spacing:.13em;font-weight:700;line-height:1.5;color:#595d64}.project-grid img{width:100%;aspect-ratio:1.3;object-fit:cover;display:block}.project-grid figcaption{display:flex;justify-content:space-between;font-size:14px;font-weight:700;padding-top:18px}.area{align-items:center}.area-name{color:var(--yellow);font-size:24px;font-weight:700}.area p:not(.area-name):not(.eyebrow){color:var(--muted);margin-top:16px}.area .text-link{margin-top:20px}.contact{background:var(--yellow);color:var(--ink);padding:74px 0}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px}.contact h2{font-size:clamp(54px,6.5vw,82px);margin-bottom:24px}.contact h2 span{color:var(--ink)}.contact .actions{margin-top:28px;gap:12px}.dark{background:var(--ink);color:var(--paper)}.outline{border:1px solid var(--ink)}.contact-status{font-size:13px;max-width:400px;margin-top:18px}.contact-status:focus{outline:2px solid var(--ink);outline-offset:6px}.contact-details{padding-top:8px}.contact-details ol{padding-left:22px;margin:24px 0 36px}.contact-details li{padding:7px 0}.contact-row{border-top:1px solid #cdd0d5;display:flex;gap:20px;justify-content:space-between;padding:16px 0;font-size:14px;overflow-wrap:anywhere}.contact-row>span:first-child{font-size:11px;letter-spacing:.1em;font-weight:700;flex-shrink:0}.small{font-size:12px;line-height:1.6;max-width:370px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:28px;font-size:12px;color:var(--muted)}.footer-brand{font-size:16px;font-weight:800;color:var(--paper)}.mobile-contact{display:none}.skip{position:absolute;top:-100px;left:20px;z-index:5;padding:15px;background:white;color:black}.skip:focus{top:10px}
@media(min-width:1500px){h1{font-size:88px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero-grid{gap:32px}.hero-panel{padding:22px}.brand-caption{display:none}.hero-grid{grid-template-columns:1.5fr 1fr}.about,.area,.contact-grid{gap:45px}.service-grid article{padding:22px}.header nav{gap:22px}.actions{gap:12px}.hero-foot{gap:18px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.preview-note{font-size:10px;line-height:1.4}.preview-note span{display:block;margin:3px 0 0;font-size:11px}.header{padding-block:20px;align-items:flex-start;gap:12px}.header nav{gap:14px;flex-wrap:wrap;justify-content:flex-end;font-size:12px;max-width:250px}.header nav>a{min-height:30px;display:flex;align-items:center}.nav-estimate{padding:8px 12px}.nav-estimate span{margin-left:8px}.brand-mark{font-size:29px}.hero{padding-top:26px}.hero-location{font-size:10px;max-width:145px;text-align:right;overflow-wrap:anywhere}.hero-grid{grid-template-columns:1fr;padding-top:30px;gap:32px;padding-bottom:30px}h1{font-size:clamp(42px,10.6vw,74px)}.hero-copy{font-size:16px}.hero-panel{display:none}.hero-foot{font-size:9px;letter-spacing:.06em;gap:10px;justify-content:space-between;flex-wrap:wrap}.services,.projects{padding:52px 0}.section-head{display:block;margin-bottom:28px}.section-head>p{margin-top:22px;font-size:15px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:240px;padding:24px}.service-grid h3{margin-top:18px}.service-grid p{font-size:16px}.service-grid a{font-size:14px;min-height:40px}.about,.area{grid-template-columns:1fr;gap:32px;padding-block:52px}.large-copy{font-size:24px}.project-grid{grid-template-columns:1fr;gap:30px}.photo-placeholder{aspect-ratio:1.6}.project-grid img{aspect-ratio:1.6}.contact-grid{grid-template-columns:1fr;gap:36px}.contact{padding:52px 0}.contact h2{font-size:60px}.contact-row{font-size:13px}.contact-details ol{margin-bottom:24px}footer{flex-wrap:wrap;padding-block:26px 92px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;width:100%;z-index:3;background:var(--bg);padding:10px 16px max(10px,env(safe-area-inset-bottom));gap:10px;border-top:1px solid var(--line)}.mobile-contact a{width:50%;text-align:center;background:var(--yellow);color:var(--ink);font-size:14px;font-weight:700;padding:12px}.mobile-contact a+ a{background:var(--panel);color:var(--paper);border:1px solid var(--line)}.contact-status{scroll-margin-bottom:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Brand refresh: the original logo is displayed unchanged inside a cropped viewport. */
.header{width:100%;padding:18px max(48px,calc((100vw - 1240px)/2));background:#fafafa;color:var(--ink);border-bottom:3px solid var(--yellow)}
.logo-crop{display:block;position:relative;overflow:hidden;aspect-ratio:1.85/1;background:#fafafa;flex-shrink:0}
.logo-crop img{position:absolute;width:136%;height:auto;max-width:none;left:-18%;top:-49%}
.header-logo{width:190px}
.hero{padding-top:38px}
.hero-panel{background:#fafafa;border-top:5px solid var(--yellow);box-shadow:0 18px 45px #0002;color:var(--ink);padding:26px 28px}
.hero-logo{width:100%;margin:28px 0 22px}
.hero-panel>p{font-size:30px;border-top:1px solid #d9dadd;padding-top:24px}
.panel-bottom a{background:var(--yellow);width:48px;height:48px;text-align:center;padding:5px}
.service-grid article{background:#fff}
.service-grid .service-cta{background:#eceef0;border-top:4px solid var(--yellow)}
.service-grid article:hover{border-bottom-color:var(--yellow)}
.service-grid a span{color:#a85d00}
.contact{background:#eceef0;border-top:5px solid var(--yellow)}
.contact h2 span{color:#a85d00}
.contact .dark{background:var(--yellow);color:var(--ink)}
.photo-placeholder{background:linear-gradient(135deg,#eceef0,#dfe1e4);border-top:3px solid #b6bac0}
.preview-note{background:#303236;color:#e0e2e5}
.preview-note span{color:#bfc1c5}
@media(max-width:1000px){.header{padding-inline:24px}.header-logo{width:165px}}
@media(max-width:700px){.header{padding:14px 20px;align-items:center}.header-logo{width:134px}.header nav{max-width:190px;gap:8px 12px}.hero-panel{display:block;padding:20px 24px}.hero-logo{max-width:350px;margin:12px auto}.hero-panel>.panel-label,.hero-panel>p,.hero-panel>.panel-bottom{display:none}.hero-grid{gap:28px}.header nav>a{font-size:12px}.hero{padding-top:26px}}
@media(max-width:370px){.header-logo{width:110px}.header nav{gap:7px 10px}.nav-estimate{padding:7px 10px}}

/* Stock photography and contact details */
.hero-grid{grid-template-columns:1.5fr 1fr;gap:40px}
.photo-panel{padding:0;min-height:480px;background:#303236;position:relative;overflow:hidden}
.photo-panel .hero-stock{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:48% center}
.photo-overlay{position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#17191ce8);padding:28px;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:56px;color:#fff}
.photo-overlay>p{font-size:29px;font-weight:850;line-height:1.1;margin-top:10px}
.stock-label{position:absolute;bottom:16px;left:28px;color:#e3e5e7;font-size:11px}
.photo-credit{font-size:12px;color:#62656b;margin-top:24px}
.hero-location{max-width:280px;text-align:right}
@media(max-width:700px){.hero-grid{grid-template-columns:1fr}.photo-panel{display:block;min-height:340px;padding:0}.hero-location{max-width:170px}.photo-panel .photo-overlay{display:flex}.photo-overlay>p{font-size:25px}.stock-label{bottom:16px}.contact-row{flex-wrap:wrap}}

/* Estimate request form */
.estimate-section{padding:80px 0;background:#f5f5f5;color:var(--ink)}
.estimate-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
.estimate-intro>p:not(.eyebrow){margin-top:24px;color:#5c5e63;max-width:360px}
.estimate-direct a{color:#9c5500;font-weight:700;font-size:22px;display:inline-block;margin-top:6px}
.message-form{background:#fff;padding:34px;border-top:4px solid var(--yellow);box-shadow:0 12px 36px #20212409}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:22px;min-width:0}
.form-grid .form-field{margin-bottom:0}.form-grid{margin-bottom:22px}
.form-field label{font-size:14px;font-weight:700}.form-field label span{font-weight:400;color:#62656b}
.form-field input,.form-field textarea{font:inherit;font-size:16px;color:var(--ink);background:#fafafa;border:1px solid #aeb2b8;border-radius:0;padding:13px 14px;width:100%;min-height:48px}
.form-field textarea{resize:vertical;min-height:150px}
.form-field input:focus,.form-field textarea:focus{outline:2px solid #a85d00;outline-offset:2px;border-color:#a85d00;background:#fff}
.form-field input::placeholder,.form-field textarea::placeholder{color:#72767d;opacity:1}
.form-required{font-size:12px;color:#62656b;margin-bottom:22px}
.form-privacy,.form-help{font-size:12px;color:#62656b;line-height:1.7;margin:0 0 22px}
.form-privacy a,.form-help a{text-decoration:underline;text-underline-offset:3px}
.message-form button{border:0;cursor:pointer;font-family:inherit;font-size:14px;min-height:52px}
.message-form button:focus-visible{outline:3px solid #4c8eff;outline-offset:4px}
.message-form .form-help{margin:16px 0 0}
.form-honey{display:none}
.thanks-main{min-height:75vh;display:flex;align-items:center;padding-block:70px}
.thanks-card{max-width:700px}.thanks-card p{margin:24px 0;color:#c6c8cc}.thanks-card .eyebrow{color:var(--yellow)}
@media(max-width:900px){.estimate-layout{gap:36px;grid-template-columns:1fr 1.3fr}.form-grid{grid-template-columns:1fr}.message-form{padding:24px}}
@media(max-width:700px){.estimate-section{padding:52px 0}.estimate-layout{grid-template-columns:1fr;gap:32px}.message-form{padding:22px}.message-form button{width:100%}}

/* Real project before-and-after gallery. Full images stay visible. */
.before-after-gallery{display:grid;gap:60px}
.project-story{padding-top:28px;border-top:1px solid #cdd0d5}
.project-heading{display:flex;align-items:center;gap:28px;margin-bottom:24px}
.project-heading>.eyebrow{color:#6a6d73;white-space:nowrap}
.project-heading h3{font-size:30px;line-height:1.15}
.comparison-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.phase-label{font-size:14px;letter-spacing:.1em;text-transform:uppercase;padding:12px 16px;margin:0 0 16px;background:#303236;color:#fff}
.phase-label.after{background:var(--yellow);color:var(--ink)}
.comparison-column{min-width:0}
.comparison-column figure+figure{margin-top:24px}
.comparison-column img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#e5e6e8}
.comparison-column a{display:block}
.comparison-column figcaption{font-size:12px;padding-top:8px;color:#62656b}
@media(max-width:700px){.comparison-pair{gap:12px}.project-heading{display:block}.project-heading h3{font-size:25px;margin-top:10px}.phase-label{padding:10px;font-size:12px}.comparison-column figcaption{font-size:11px}.comparison-column figure+figure{margin-top:16px}.before-after-gallery{gap:38px}}
