PageSourceSearch

https://ironkross.com/remodeling

html ironkross.com collected 2026-10-04 05:56:15 UTC 36,968 bytes, 486 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<meta name="viewport" content="width=device-width, initial-scale=1">
6<title>Kitchen, Bath &amp; Whole-Home Remodeling | Iron Kross Construction</title>
7<meta name="description" content="Residential remodeling across North Texas — kitchens, baths, additions and whole-home renovations on a published schedule. Call (501) 802-0448.">
8<meta property="og:title" content="Kitchen, Bath &amp; Whole-Home Remodeling | Iron Kross Construction">
9<meta property="og:description" content="Residential remodeling across North Texas — kitchens, baths, additions and whole-home renovations on a published schedule. Call (501) 802-0448.">
10<meta property="og:type" content="website">
11<meta name="theme-color" content="#060607">
12<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' fill='%23060607'/%3E%3Cpath d='M32 8 54 20v24L32 56 10 44V20Z' fill='none' stroke='%23d4af5a' stroke-width='4'/%3E%3Cpath d='M32 22 38 34h-4v10h-4V34h-4Z' fill='%23d4af5a'/%3E%3C/svg%3E">
13<link rel="preconnect" href="https://fonts.googleapis.com">
14<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
15<link href="https://fonts.googleapis.com/css2?family=Antonio:wght@400;600;700&family=Cinzel:wght@400;600&family=Jost:wght@300;400;500&display=swap" rel="stylesheet">
16<style>:root{
17  --ink:#060607;--panel:#0d0e11;--panel-2:#14161a;--line:#26282e;
18  --gold:#d4af5a;--gold-lo:#8a6b22;--gold-hi:#f0d492;--platinum:#e8e9eb;--mute:#a3a7ad;
19  --grad-gold:linear-gradient(100deg,var(--gold-lo) 0%,var(--gold-hi) 38%,var(--gold) 62%,var(--gold-lo) 100%);
20  --pad:clamp(20px,5vw,64px);--maxw:1180px;
21}
22*{box-sizing:border-box}
23html{scroll-behavior:smooth}
24body{margin:0;background:var(--ink);color:var(--platinum);
25  font-family:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
26  font-weight:300;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
27img{max-width:100%;display:block}
28a{color:inherit;text-decoration:none}
29:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
30.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
31.eyebrow{font-family:'Cinzel',Georgia,serif;font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}
32h1,h2,h3{font-family:'Antonio',Impact,sans-serif;font-weight:700;text-transform:uppercase;margin:0;line-height:.94}
33h2{font-size:clamp(32px,5.5vw,54px)}
34h3{font-size:clamp(20px,3vw,25px);font-weight:600;letter-spacing:.02em}
35p{margin:0 0 18px}
36.gold{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold)}
37.lede{font-size:clamp(16.5px,2vw,19px);color:var(--mute);max-width:58ch}
38.motto{font-family:'Cinzel',Georgia,serif;font-weight:400;text-transform:uppercase;letter-spacing:.26em;line-height:1.9;color:var(--platinum);margin:0}
39.motto b{font-weight:600;color:var(--gold)}
40
41/* header */
42.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#000;padding:10px 16px;z-index:300}
43.skip:focus{left:12px;top:12px}
44.head{position:fixed;inset:0 0 auto 0;z-index:200;display:flex;align-items:center;justify-content:space-between;gap:16px;
45  padding:14px var(--pad);transition:background .35s,backdrop-filter .35s,border-color .35s,padding .35s;border-bottom:1px solid transparent}
46.head.solid{background:rgba(6,6,7,.94);backdrop-filter:blur(12px);border-bottom-color:var(--line);padding-top:10px;padding-bottom:10px}
47.head--fixedbg{background:rgba(6,6,7,.94);backdrop-filter:blur(12px);border-bottom-color:var(--line)}
48.head__logo{position:relative;z-index:3;display:flex;align-items:center}
49.brand__crest{width:clamp(38px,4.4vw,50px);height:auto;flex:0 0 auto}
50.brand__type{display:flex;flex-direction:column;line-height:1}
51.brand__name{font-family:'Cinzel',Georgia,serif;font-weight:600;font-size:clamp(15px,2vw,20px);letter-spacing:.17em;
52  background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
53.brand__sub{font-family:'Jost',sans-serif;font-size:9px;letter-spacing:.36em;color:var(--mute);margin-top:5px;text-transform:uppercase}
54.foot__brand{display:flex;flex-direction:column;align-items:center;gap:15px;margin-bottom:24px}
55.foot .foot__brand img{width:clamp(72px,11vw,94px);margin:0}
56.foot__brand .brand__type{align-items:center}
57.foot__brand .brand__name{font-size:clamp(20px,3.2vw,27px)}
58.foot__brand .brand__sub{font-size:10px;letter-spacing:.42em}
59.crest-mark{display:block;width:clamp(56px,8vw,74px);margin:0 auto 20px}
60.menu-btn{position:relative;z-index:3}
61.head__logo>div{display:flex;align-items:center;gap:13px}
62.nav{display:flex;align-items:center;gap:28px}
63.nav>a:not(.btn),.drop>button{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;
64  color:var(--mute);background:none;border:none;padding:0;cursor:pointer;transition:color .25s}
65.nav>a:not(.btn):hover,.drop>button:hover,.nav>a.is-here{color:var(--gold)}
66.drop{position:relative}
67.drop>button{display:inline-flex;align-items:center;gap:7px}
68.drop>button svg{width:9px;height:9px;transition:transform .3s}
69.drop[data-open="true"]>button svg{transform:rotate(180deg)}
70.drop__menu{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(-8px);min-width:220px;
71  background:rgba(10,11,13,.98);backdrop-filter:blur(14px);border:1px solid var(--line);padding:8px;
72  opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s}
73.drop[data-open="true"] .drop__menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
74.drop__menu a{display:block;padding:11px 14px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);transition:background .2s,color .2s}
75.drop__menu a:hover{background:rgba(212,175,90,.1);color:var(--gold)}
76.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:'Jost',sans-serif;font-size:13px;font-weight:500;
77  letter-spacing:.16em;text-transform:uppercase;padding:14px 26px;border:1px solid var(--gold);color:#0a0a0b;background:var(--grad-gold);
78  cursor:pointer;transition:transform .2s,box-shadow .25s,filter .25s;-webkit-text-fill-color:#0a0a0b}
79.btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(212,175,90,.24);filter:brightness(1.06)}
80.btn--ghost{background:transparent;color:var(--platinum);-webkit-text-fill-color:var(--platinum);border-color:#4a4d55}
81.btn--ghost:hover{border-color:var(--gold);color:var(--gold);-webkit-text-fill-color:var(--gold);box-shadow:none}
82.btn--sm{padding:11px 20px;font-size:12px}
83.nav__cta{display:none}
84.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--platinum);width:44px;height:40px;cursor:pointer;align-items:center;justify-content:center}
85.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:18px;height:1.5px;background:var(--gold);content:'';position:relative}
86.menu-btn span::before{position:absolute;top:-6px}
87.menu-btn span::after{position:absolute;top:6px}
88
89/* hero */
90.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
91.hero--page{min-height:min(66svh,560px);align-items:flex-end}
92.hero__bg{position:absolute;inset:0;background:#000}
93.hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.92;animation:drift 30s ease-in-out infinite alternate}
94@keyframes drift{from{transform:scale(1.03)}to{transform:scale(1.11) translate3d(-1.4%,-1%,0)}}
95.hero__bg::after{content:'';position:absolute;inset:0;
96  background:linear-gradient(180deg,rgba(6,6,7,.9) 0%,rgba(6,6,7,.42) 26%,rgba(6,6,7,.6) 58%,rgba(6,6,7,.97) 100%)}
97.hero__inner{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad) clamp(46px,8vh,86px)}
98.hero h1{font-size:clamp(42px,9vw,104px);line-height:.88}
99.hero h1 span{display:block}
100.hero--page h1{font-size:clamp(38px,7vw,80px)}
101.hero .motto{font-size:clamp(11px,2.5vw,15px);margin-bottom:18px}
102.hero .lede{margin:20px 0 28px;color:#c9ccd1}
103.hero__cta{display:flex;flex-wrap:wrap;gap:12px}
104.crumb{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
105.crumb a:hover{color:var(--gold)}
106
107/* roofline */
108.roofline{display:block;width:min(680px,86%);margin:0 auto;height:auto}
109.roofline .draw{stroke-dasharray:300;stroke-dashoffset:300;transition:stroke-dashoffset 1.5s cubic-bezier(.22,.9,.24,1)}
110.reveal--in .roofline .draw{stroke-dashoffset:0}
111.roofline .fillbox{opacity:0;transition:opacity .5s ease .9s}
112.reveal--in .roofline .fillbox{opacity:1}
113
114/* sections */
115.sec{padding:clamp(64px,10vh,116px) 0;position:relative}
116.sec--panel{background:var(--panel)}
117.sec__head{max-width:64ch;margin-bottom:clamp(34px,5.5vh,58px)}
118.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0a0b0d}
119.strip__grid{display:grid;grid-template-columns:repeat(4,1fr)}
120.strip__item{padding:28px 26px;border-right:1px solid var(--line)}
121.strip__item:last-child{border-right:none}
122.strip__item b{display:block;font-family:'Antonio',sans-serif;font-size:18px;letter-spacing:.03em;text-transform:uppercase;margin-bottom:5px}
123.strip__item span{font-size:13.5px;color:var(--mute)}
124
125/* cards */
126.svc{display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}
127.card{background:var(--panel-2);border:1px solid var(--line);display:flex;flex-direction:column;transition:border-color .3s,transform .3s}
128.card:hover{border-color:rgba(212,175,90,.55);transform:translateY(-4px)}
129.card__img{position:relative;aspect-ratio:4/3;overflow:hidden}
130.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
131.card:hover .card__img img{transform:scale(1.06)}
132.card__img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(13,14,17,.92))}
133.card__tag{position:absolute;left:0;bottom:0;z-index:2;padding:12px 18px;font-family:'Antonio',sans-serif;font-size:21px;letter-spacing:.06em;text-transform:uppercase}
134.card__body{padding:22px 22px 26px;display:flex;flex-direction:column;flex:1}
135.card__body p{font-size:15.5px;color:var(--mute);margin-bottom:16px}
136.card__link{margin-top:auto;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:inline-flex;gap:8px;align-items:center}
137.card__link:hover{gap:14px}
138.card__link span{transition:all .25s}
139.ticks{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:9px}
140.ticks li{position:relative;padding-left:26px;font-size:15px;color:#d5d8dd}
141.ticks li::before{content:'';position:absolute;left:0;top:7px;width:13px;height:13px;border:1px solid var(--gold);border-radius:50%}
142.ticks li::after{content:'';position:absolute;left:4px;top:11px;width:4px;height:6.5px;border:solid var(--gold);border-width:0 1.4px 1.4px 0;transform:rotate(42deg)}
143.ticks--2{grid-template-columns:1fr 1fr;gap:9px 26px}
144
145/* split */
146.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
147.split img{width:100%;height:100%;object-fit:cover;border:1px solid var(--line);aspect-ratio:4/3}
148
149/* steps */
150.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
151.step{padding:30px 24px 34px;border-right:1px solid var(--line);position:relative}
152.step:last-child{border-right:none}
153.step::before{content:'';position:absolute;top:-1px;left:0;height:1px;width:0;background:var(--grad-gold);transition:width 1s cubic-bezier(.22,.9,.24,1)}
154.reveal--in .step::before{width:100%}
155.step:nth-child(2)::before{transition-delay:.12s}
156.step:nth-child(3)::before{transition-delay:.24s}
157.step:nth-child(4)::before{transition-delay:.36s}
158.step__n{font-family:'Cinzel',serif;font-size:12px;letter-spacing:.3em;color:var(--gold);margin-bottom:14px}
159.step h3{margin-bottom:10px}
160.step p{font-size:15px;color:var(--mute);margin:0}
161
162/* motto band */
163.mottoband{background:#08090b;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(50px,7vh,82px) 0;text-align:center}
164.mottoband .motto{font-size:clamp(15px,3.2vw,28px);letter-spacing:.2em;line-height:2.1}
165.mottoband .motto span{display:block}
166.mottoband .sub{max-width:52ch;margin:24px auto 0;font-size:15.5px;color:var(--mute)}
167.mottoband .roofline{margin-top:30px;width:min(540px,80%)}
168
169/* gallery */
170.gal{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(220px,24vw,320px);gap:14px}
171.gal figure{margin:0;position:relative;overflow:hidden;border:1px solid var(--line)}
172.gal img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
173.gal figure:hover img{transform:scale(1.07)}
174.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(transparent,rgba(6,6,7,.94));
175  font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:#d9dce1}
176.gal .wide{grid-column:span 2}
177
178/* faq */
179.faq{max-width:860px}
180.q{border-bottom:1px solid var(--line)}
181.q button{width:100%;background:none;border:none;color:var(--platinum);cursor:pointer;text-align:left;display:flex;justify-content:space-between;
182  align-items:center;gap:20px;padding:21px 0;font-family:'Antonio',sans-serif;font-size:18px;text-transform:uppercase;letter-spacing:.03em}
183.q button:hover{color:var(--gold)}
184.q .plus{flex:0 0 auto;width:15px;height:15px;position:relative}
185.q .plus::before,.q .plus::after{content:'';position:absolute;background:var(--gold);transition:transform .3s}
186.q .plus::before{left:0;top:7px;width:15px;height:1.5px}
187.q .plus::after{left:6.75px;top:0;width:1.5px;height:15px}
188.q[data-open="true"] .plus::after{transform:scaleY(0)}
189.q__a{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.3,.9,.3,1)}
190.q__a p{font-size:15.5px;color:var(--mute);padding-bottom:20px;margin:0;max-width:66ch}
191
192/* contact */
193.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,64px)}
194.dial{display:flex;flex-direction:column;padding:17px 20px;border:1px solid var(--line);background:var(--panel-2);margin-bottom:12px;transition:border-color .25s}
195.dial:hover{border-color:var(--gold)}
196.dial b{font-family:'Antonio',sans-serif;font-size:22px;letter-spacing:.04em}
197.dial small{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
198.areas{font-size:14px;color:var(--mute);line-height:1.9}
199.formwrap{background:#fff;border:1px solid var(--gold);overflow:hidden}
200.formwrap__head{background:#0a0b0d;border-bottom:1px solid var(--gold);padding:20px 24px}
201.formwrap__head span{display:block;font-family:'Antonio',sans-serif;font-size:21px;text-transform:uppercase;letter-spacing:.04em;color:var(--platinum)}
202.formwrap__head small{display:block;margin-top:5px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
203.hzcf{background:#fff}
204.hzcf iframe{display:block;width:100%;min-height:988px;border:none}
205.formwrap__note{margin:0;padding:16px 24px;background:#0a0b0d;border-top:1px solid var(--line);font-size:13px;color:var(--mute)}
206.formwrap__note a{color:var(--gold)}
207
208/* cta band */
209.formbody{padding:clamp(22px,3.5vw,34px)}
210.field{margin-bottom:18px}
211.field label{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
212.field input,.field select,.field textarea{width:100%;background:#0a0b0d;border:1px solid var(--line);color:var(--platinum);
213  font-family:'Jost',sans-serif;font-size:16px;font-weight:300;padding:13px 14px}
214.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);outline:none}
215.field textarea{resize:vertical;min-height:96px}
216.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
217.chips{display:flex;flex-wrap:wrap;gap:9px}
218.chip input{position:absolute;opacity:0;width:0;height:0}
219.chip span{display:inline-block;padding:10px 16px;border:1px solid var(--line);cursor:pointer;font-size:13px;letter-spacing:.1em;
220  text-transform:uppercase;color:var(--mute);transition:all .22s}
221.chip input:checked+span{border-color:var(--gold);color:var(--gold);background:rgba(212,175,90,.09)}
222.hp{position:absolute;left:-9999px}
223.formwrap{background:var(--panel-2);border:1px solid var(--line);overflow:hidden}
224.formwrap__head{background:#0a0b0d;border-bottom:1px solid var(--gold);padding:20px 24px}
225.formwrap__head span{display:block;font-family:'Antonio',sans-serif;font-size:21px;text-transform:uppercase;letter-spacing:.04em;color:var(--platinum)}
226.formwrap__head small{display:block;margin-top:5px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
227.form__note{font-size:13px;color:var(--mute);margin:14px 0 0}
228.form__note a{color:var(--gold)}
229.sent{display:none;border:1px solid var(--gold);background:rgba(212,175,90,.08);padding:16px 18px;font-size:14.5px;margin-top:16px}
230.sent.show{display:block}
231
232.ctaband{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(48px,7vh,80px) 0;text-align:center}
233.ctaband h2{margin-bottom:16px}
234.ctaband p{max-width:50ch;margin:0 auto 26px;color:var(--mute)}
235.ctaband .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
236
237/* footer */
238.foot{border-top:1px solid var(--line);background:#08090b;padding:clamp(44px,6vh,70px) 0 26px;text-align:center}
239.foot img{width:min(340px,70%);margin:0 auto 24px}
240.foot__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px;margin-bottom:22px}
241.foot__nav a{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
242.foot__nav a:hover{color:var(--gold)}
243.foot__meta{font-size:12.5px;color:#6d7178;letter-spacing:.05em}
244.foot__meta a{color:var(--gold)}
245.credit{font-size:11px;color:#4d5158;margin-top:16px;letter-spacing:.04em}
246
247/* reveal */
248.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s cubic-bezier(.22,.9,.24,1)}
249.reveal--in{opacity:1;transform:none}
250
251@media(max-width:980px){
252  .svc{grid-template-columns:1fr;gap:20px}
253  .card__img{aspect-ratio:16/9}
254  .steps{grid-template-columns:1fr 1fr}
255  .step:nth-child(2n){border-right:none}
256  .step:nth-child(n+3){border-top:1px solid var(--line)}
257  .contact{grid-template-columns:1fr}
258  .split{grid-template-columns:1fr}
259  .strip__grid{grid-template-columns:1fr 1fr}
260  .strip__item:nth-child(2n){border-right:none}
261  .strip__item:nth-child(n+3){border-top:1px solid var(--line)}
262  .gal{grid-template-columns:1fr 1fr}
263  .gal .wide{grid-column:span 2}
264}
265@media(max-width:760px){
266  body{font-size:16px}
267  .nav{position:fixed;inset:0 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:rgba(6,6,7,.985);
268    backdrop-filter:blur(14px);padding:74px 24px 26px;transform:translateY(-102%);transition:transform .4s cubic-bezier(.3,.9,.3,1);
269    border-bottom:1px solid var(--line);max-height:100svh;overflow-y:auto;z-index:1}
270  .nav.open{transform:none}
271  .nav>a:not(.btn),.drop>button{padding:15px 0;border-bottom:1px solid var(--line);font-size:14px;width:100%;text-align:left;justify-content:space-between}
272  .drop__menu{position:static;transform:none;opacity:1;visibility:visible;background:none;border:none;padding:0 0 0 14px;
273    min-width:0;display:none;border-bottom:1px solid var(--line)}
274  .drop[data-open="true"] .drop__menu{display:block;transform:none}
275  .drop__menu a{padding:13px 0;font-size:13px}
276  .nav__cta{display:inline-flex;margin-top:18px}
277  .menu-btn{display:flex}
278  .head__phone{display:none}
279  .hero{min-height:92svh}
280  .hero--page{min-height:min(72svh,500px)}
281  .hero__cta .btn{flex:1 1 100%}
282  .row{grid-template-columns:1fr}
283  .ticks--2{grid-template-columns:1fr}
284  .steps{grid-template-columns:1fr}
285  .step{border-right:none;border-top:1px solid var(--line)}
286  .step:first-child{border-top:none}
287  .strip__grid{grid-template-columns:1fr}
288  .strip__item{border-right:none;border-top:1px solid var(--line)}
289  .strip__item:first-child{border-top:none}
290  .gal{grid-template-columns:1fr;grid-auto-rows:clamp(210px,58vw,300px)}
291  .gal .wide{grid-column:span 1}
292}
293@media(prefers-reduced-motion:reduce){
294  *{animation:none!important;transition-duration:.01ms!important}
295  .reveal{opacity:1;transform:none}
296  html{scroll-behavior:auto}
297}
298</style>
299<link rel="canonical" href="https://ironkross.com/remodeling.html"><link rel="icon" href="favicon-32.png" sizes="32x32"><link rel="apple-touch-icon" href="apple-touch-icon.png">
300<script type="application/ld+json">{"@context":"https://schema.org","@type":"GeneralContractor","@id":"https://ironkross.com/#business","name":"Iron Kross Construction","url":"https://ironkross.com/","telephone":"+1-501-802-0448","email":"[email protected]","image":"https://ironkross.com/images/iron-kross-crest.png","logo":"https://ironkross.com/images/iron-kross-crest.png","description":"Licensed general contractor building ground-up custom homes, residential remodels and outdoor living across the DFW Metroplex and Hunt County, Texas. In-house design, full engineered plans, self-performing crews.","address":{"@type":"PostalAddress","addressLocality":"Greenville","addressRegion":"TX","addressCountry":"US"},"areaServed":[{"@type":"City","name":"Dallas"},{"@type":"City","name":"Preston Hollow"},{"@type":"City","name":"Bluffview"},{"@type":"City","name":"Midway Hollow"},{"@type":"City","name":"Plano"},{"@type":"City","name":"Rockwall"},{"@type":"City","name":"Royse City"},{"@type":"City","name":"Greenville"},{"@type":"City","name":"Fate"},{"@type":"City","name":"Heath"},{"@type":"AdministrativeArea","name":"Hunt County, Texas"},{"@type":"AdministrativeArea","name":"DFW Metroplex"}],"knowsAbout":["Custom home building","Residential remodeling","Outdoor living construction","In-house architectural design","Engineered construction documents"],"hasOfferCatalog":{"@type":"OfferCatalog","name":"Services","itemListElement":[{"@type":"Offer","itemOffered":{"@type":"Service","name":"Custom home building","url":"https://ironkross.com/custom-homes.html"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Residential remodeling","url":"https://ironkross.com/remodeling.html"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Outdoor living","url":"https://ironkross.com/outdoor-living.html"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"In-house design and engineered plans","url":"https://ironkross.com/#design"}}]}}</script>
300
301</head>
302<body>
303<a class="skip" href="#main">Skip to content</a>
304<header class="head" id="head">
305  <a aria-label='Iron Kross Construction — home' class='head__logo' href='/'><div class=""><img class="brand__crest" src="images/iron-kross-crest.png" alt="Iron Kross crowned lion crest">
306    <span class="brand__type"><span class="brand__name">Iron Kross</span><span class="brand__sub">Construction</span></span></div></a>
307  <nav class="nav" id="nav"><a class href='/'>Home</a><div class="drop" data-open="false"><button type="button" aria-expanded="false" class="is-here">Services<svg viewBox="0 0 10 6" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M1 1l4 4 4-4"/></svg></button><div class="drop__menu"><a href='/custom-homes'>Custom Homes</a><a href='/remodeling'>Residential Remodeling</a><a href='/outdoor-living'>Outdoor Living</a></div></div><a class href='/projects'>Gallery</a><a class href='/contact'>Contact</a><a class='btn btn--sm nav__cta' href='/contact'>Request a consultation</a></nav>
308  <a class="btn btn--sm head__phone" href="tel:+15018020448">(501) 802-0448</a>
309  <button class="menu-btn" id="menuBtn" aria-label="Open menu" aria-expanded="false" aria-controls="nav"><span></span></button>
310</header>
311<main id="main">
312<section class="hero hero--page">
313  <div class="hero__bg"><img src="images/320-dalton-img-4982.jpg" alt="Renovated kitchen and great room with black feature wall" fetchpriority="high"></div>
314  <div class="hero__inner">
315    <p class="crumb"><a href='/'>Home</a> / Residential Remodeling</p>
316    <h1>Residential<br><span class="gold">remodeling.</span></h1>
317    <p class="lede">Kitchens, baths, additions and whole-home renovations — run like a build, not a favor.</p>
318    <div class="hero__cta"><a class='btn' href='/contact'>Start your remodel</a><a class="btn btn--ghost" href="tel:+15018020448">Call (501) 802-0448</a></div>
319  </div>
320</section>
321
322<section class="sec reveal">
323  <div class="wrap split">
324    <div>
325      <p class="eyebrow">Inside the house</p>
326      <h2>One crew.<br>One standard.</h2>
327      <p class="lede">Remodels go sideways in the same three places every time: selections that arrive late, scope that grows without a change order, and trades that show up out of order. We manage all three — selections locked before demo, fixed scope in writing, and a published schedule you can hold us to.</p>
328      <p class="lede">One project manager, dust containment where you're living, and a clean site at the end of every phase. If something surprises us behind the wall, you hear it that day with a price attached.</p>
329    </div>
330    <img src="images/179-norman-img-5049.jpg" alt="Primary bath with marble wet room and freestanding tub" loading="lazy">
331  </div>
332</section>
333
334<section class="sec sec--panel reveal">
335  <div class="wrap">
336    <div class="sec__head"><p class="eyebrow">Scope</p><h2>What's included.</h2></div>
337    <ul class="ticks ticks--2">
338      <li>Kitchen remodeling</li><li>Bathroom remodeling</li>
339      <li>Whole-home renovations</li><li>Room additions</li>
340      <li>Custom cabinetry and millwork</li><li>Tile, stone and flooring</li>
341      <li>Structural changes and wall removal</li><li>Electrical, plumbing and HVAC coordination</li>
342      <li>Interior and exterior upgrades</li><li>Permits, inspections and final punch</li>
343    </ul>
344  </div>
345</section>
346
347<section class="sec reveal">
348  <div class="wrap">
349    <div class="sec__head"><p class="eyebrow">Gallery</p><h2>Interior work.</h2></div>
350    <div class="gal">
351      <figure class="wide"><img src="images/320-dalton-img-4981.jpg" alt="Great room — Kitchen opened up" loading="lazy"><figcaption>Great room · Kitchen opened up</figcaption></figure>
352      <figure><img src="images/179-norman-img-5050.jpg" alt="Primary bath — Double vanity" loading="lazy"><figcaption>Primary bath · Double vanity</figcaption></figure>
353      <figure><img src="images/340-dalton-img-0384.jpg" alt="Kitchen — Green cabinetry" loading="lazy"><figcaption>Kitchen · Green cabinetry</figcaption></figure>
354      <figure><img src="images/hillside-beach-img-3657.jpg" alt="Shower — Full glass surround" loading="lazy"><figcaption>Shower · Full glass surround</figcaption></figure>
355      <figure><img src="images/360-dalton-img-0361.jpg" alt="Powder bath" loading="lazy"><figcaption>Powder bath</figcaption></figure>
356      <figure class="wide"><img src="images/602-jefferson-img-3168.jpg" alt="Kitchen and living — Dark cabinetry" loading="lazy"><figcaption>Kitchen and living · Dark cabinetry</figcaption></figure>
357      <figure><img src="images/van-img-5236.jpg" alt="Kitchen — Island seating" loading="lazy"><figcaption>Kitchen · Island seating</figcaption></figure>
358      <figure><img src="images/washington-st-dsc08432.jpg" alt="Bath — Hex floor and tub" loading="lazy"><figcaption>
358Bath · Hex floor and tub</figcaption></figure>
359      <figure><img src="images/merlin-duplex-img-5079.jpg" alt="Kitchen — Open shelving" loading="lazy"><figcaption>Kitchen · Open shelving</figcaption></figure>
360      <figure><img src="images/179-norman-img-5051.jpg" alt="Wet room — Freestanding tub" loading="lazy"><figcaption>Wet room · Freestanding tub</figcaption></figure>
361      <figure class="wide"><img src="images/178-norman-img-5011.jpg" alt="Great room — Vaulted ceiling" loading="lazy"><figcaption>Great room · Vaulted ceiling</figcaption></figure>
362      <figure><img src="images/bryan-parkway-img-0416.jpg" alt="Bath — Walk-in shower" loading="lazy"><figcaption>Bath · Walk-in shower</figcaption></figure>
363      <figure><img src="images/hillside-beach-img-5070.jpg" alt="Kitchen — White and quartz" loading="lazy"><figcaption>Kitchen · White and quartz</figcaption></figure>
364      <figure><img src="images/hillside-beach-img-3656.jpg" alt="Vanity — Matte black fixtures" loading="lazy"><figcaption>Vanity · Matte black fixtures</figcaption></figure>
365      <figure><img src="images/340-dalton-img-0386.jpg" alt="Kitchen — Quartz and brass" loading="lazy"><figcaption>Kitchen · Quartz and brass</figcaption></figure>
366    </div>
367  </div>
368</section>
369
370<section class="sec sec--panel reveal">
371  <div class="wrap">
372    <div class="sec__head"><p class="eyebrow">Remodel questions</p><h2>Straight answers.</h2></div>
373    <div class="faq">
374      <div class="q" data-open="false">
375      <button type="button" aria-expanded="false">Can we stay in the house during the work?<span class="plus" aria-hidden="true"></span></button>
376      <div class="q__a"><p>For a single kitchen or bath, usually yes — we'll set containment and tell you what's offline and when. For whole-home work it's often faster and cheaper to move out for part of it.</p></div>
377    </div><div class="q" data-open="false">
378      <button type="button" aria-expanded="false">Who picks the finishes?<span class="plus" aria-hidden="true"></span></button>
379      <div class="q__a"><p>You do, with help. You get a selections list with allowances and deadlines so nothing stalls the schedule, and we'll steer you off materials that won't hold up where you want them.</p></div>
380    </div><div class="q" data-open="false">
381      <button type="button" aria-expanded="false">What if you find something behind the wall?<span class="plus" aria-hidden="true"></span></button>
382      <div class="q__a"><p>You hear about it that day, with photos and a price. Nothing proceeds until you approve the change order in writing.</p></div>
383    </div><div class="q" data-open="false">
384      <button type="button" aria-expanded="false">Do you do additions and structural work?<span class="plus" aria-hidden="true"></span></button>
385      <div class="q__a"><p>Yes — room additions, garage conversions and load-bearing wall removal. Those need engineering and permits, which we handle.</p></div>
386    </div>
387    </div>
388  </div>
389</section>
390
391<section class="ctaband reveal">
392  <div class="wrap">
393    <img class="crest-mark" src="images/iron-kross-crest.png" alt="" aria-hidden="true">
394    <h2>Ready to remodel?</h2>
395    <p>Walk us through the space and what isn't working. We'll tell you what it takes and what it costs.</p>
396    <div class="btns">
397      <a class='btn' href='/contact'>Request a consultation</a>
398      <a class="btn btn--ghost" href="tel:+15018020448">Call (501) 802-0448</a>
399    </div>
400  </div>
401</section>
402</main>
403<footer class="foot">
404  <div class="wrap">
405    <div class="foot__brand"><img class="brand__crest" src="images/iron-kross-crest.png" alt="Iron Kross crowned lion crest">
406    <span class="brand__type"><span class="brand__name">Iron Kross</span><span class="brand__sub">Construction</span></span></div>
407    <nav class="foot__nav"><a href='/'>Home</a><a href='/custom-homes'>Custom Homes</a><a href='/remodeling'>Residential Remodeling</a><a href='/outdoor-living'>Outdoor Living</a><a href='/projects'>Gallery</a><a href='/contact'>Contact</a></nav>
408    <nav class="foot__nav" style="margin-top:10px;opacity:.8"><a href='/service-areas'>Service Areas</a><a href='/general-contractor-van-zandt-county-tx'>Van Zandt County</a><a href='/general-contractor-kaufman-county-tx'>Kaufman County</a><a href='/general-contractor-collin-county-tx'>Collin County</a><a href='/general-contractor-dallas-county-tx'>Dallas County</a><a href='/general-contractor-rains-county-tx'>Rains County</a><a href='/general-contractor-hopkins-county-tx'>Hopkins County</a><a href='/home-remodeling-hunt-county'>
408Hunt County</a></nav>
409    <nav class="foot__nav" style="margin-top:6px;opacity:.65"><a href='/kitchen-remodeling-greenville-tx'>Kitchen Remodeling</a><a href='/bathroom-remodeling-greenville-tx'>Bathroom Remodeling</a><a href='/custom-home-builder-greenville-tx'>Builder · Greenville</a><a href='/custom-home-builder-canton-tx'>Builder · Canton</a><a href='/custom-home-builder-mckinney-tx'>Builder · McKinney</a><a href='/custom-home-builder-van-tx'>Builder · Van</a><a href='/remodeling-royse-city-rockwall-fate'>Rockwall · Royse City · Fate</a></nav>
410    <p class="foot__meta">DFW Metroplex &amp; Hunt County, Texas · <a href="tel:+15018020448">(501) 802-0448</a> ·
411      <a href="mailto:[email protected]">[email protected]</a><br>
412      © <span id="yr">2026</span> Iron Kross Construction. All rights reserved.</p>
413  </div>
414</footer>
415<script>
416(function(){
417  /* ---- LEAD DELIVERY ----------------------------------------------
418     'netlify' (default) : leads land in your Netlify dashboard + email
419     'email'             : opens the visitor's email app (non-Netlify hosts)
420     'formspree'         : set FORMSPREE_ID to your form id
421  ------------------------------------------------------------------ */
422  var FORM_MODE   = 'netlify';
423  var LEAD_EMAIL  = '[email protected]';
424  var FORMSPREE_ID= '';
425
426  var head=document.getElementById('head');
427  if(head && !head.classList.contains('head--fixedbg')){
428    var s=function(){head.classList.toggle('solid',window.scrollY>40)};s();
429    window.addEventListener('scroll',s,{passive:true});
430  }
431  var btn=document.getElementById('menuBtn'), nav=document.getElementById('nav');
432  if(btn){btn.addEventListener('click',function(){
433    var o=nav.classList.toggle('open');btn.setAttribute('aria-expanded',o);
434    btn.setAttribute('aria-label',o?'Close menu':'Open menu');});
435    nav.addEventListener('click',function(e){if(e.target.tagName==='A'){nav.classList.remove('open');btn.setAttribute('aria-expanded','false');}});
436  }
437  document.querySelectorAll('.drop').forEach(function(d){
438    var b=d.querySelector('button');
439    b.addEventListener('click',function(e){e.stopPropagation();
440      var o=d.dataset.open==='true';d.dataset.open=o?'false':'true';b.setAttribute('aria-expanded',!o);});
441    d.addEventListener('mouseenter',function(){if(window.innerWidth>760)d.dataset.open='true'});
442    d.addEventListener('mouseleave',function(){if(window.innerWidth>760)d.dataset.open='false'});
443  });
444  document.addEventListener('click',function(){document.querySelectorAll('.drop').forEach(function(d){if(window.innerWidth>760)d.dataset.open='false'})});
445  document.addEventListener('keydown',function(e){if(e.key==='Escape')document.querySelectorAll('.drop').forEach(function(d){d.dataset.open='false'})});
446
447  var io=new IntersectionObserver(function(en){en.forEach(function(x){if(x.isIntersecting){x.target.classList.add('reveal--in');io.unobserve(x.target);}})},
448    {threshold:.14,rootMargin:'0px 0px -6% 0px'});
449  document.querySelectorAll('.reveal').forEach(function(el){io.observe(el)});
450
451  document.querySelectorAll('.faq .q').forEach(function(q){
452    var b=q.querySelector('button'), a=q.querySelector('.q__a');
453    b.addEventListener('click',function(){
454      var open=q.dataset.open==='true';
455      q.closest('.faq').querySelectorAll('.q').forEach(function(o){
456        o.dataset.open='false';o.querySelector('.q__a').style.maxHeight=null;o.querySelector('button').setAttribute('aria-expanded','false');});
457      if(!open){q.dataset.open='true';a.style.maxHeight=a.scrollHeight+'px';b.setAttribute('aria-expanded','true');}
458    });
459  });
460
461  var form=document.getElementById('leadForm');
462  if(form){
463    if(FORM_MODE==='formspree'&&FORMSPREE_ID){form.setAttribute('action','https://formspree.io/f/'+FORMSPREE_ID);}
464    if(FORM_MODE!=='netlify'){form.removeAttribute('data-netlify');}
465    form.addEventListener('submit',function(e){
466      var f=new FormData(form);
467      var name=(f.get('name')||'').trim(), phone=(f.get('phone')||'').trim();
468      if(!name||!phone){e.preventDefault();
469        var bad=!name?form.querySelector('[name=name]'):form.querySelector('[name=phone]');
470        bad.style.borderColor='#c0553f';bad.focus();return;}
471      if(f.get('company')){e.preventDefault();return;}
472      if(FORM_MODE==='email'){
473        e.preventDefault();
474        var scope=f.getAll('scope').join(', ')||'Not specified';
475        var body=['Name: '+name,'Phone: '+phone,'Email: '+(f.get('email')||'—'),'City: '+(f.get('city')||'—'),
476          'Project: '+scope,'Budget: '+f.get('budget'),'Timeline: '+f.get('timeline'),'','Details:',f.get('notes')||'—'].join('\n');
477        window.location.href='mailto:'+LEAD_EMAIL+'?subject='+encodeURIComponent('Project inquiry — '+name+' ('+scope+')')+'&body='+encodeURIComponent(body);
478        var s=document.getElementById('sent');if(s)s.classList.add('show');
479      }
480    });
481  }
482  var yr=document.getElementById('yr');if(yr)yr.textContent=new Date().getFullYear();
483})();
484</script>
484
485</body>
486</html>
486<script async src="/.netlify/scripts/hud?variant=public" data-nf-variant="public" data-netlify-site-id="c76b8e8c-a25e-4126-a53e-204189bbcc30" data-app-host="app.netlify.com"></script>
vendor: 1 bytes, line 486
486

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.