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 & 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 & 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 & 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.