@font-face{font-family:DM Sans;src:url(/portfolio/ironwood-plumbing/fonts/dm-sans-latin.woff2)format("woff2");font-weight:400 600;font-style:normal;font-display:swap}@font-face{font-family:DM Serif Display;src:url(/portfolio/ironwood-plumbing/fonts/dm-serif-display-latin.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#f5f2eb;--surface:#ebe6dd;--ink:#322d27;--muted:#686156;--accent:#955233;--action:#955233;--line:#cfc7ba;--white:#fffcf7;--serif:"DM Serif Display", Georgia, serif;--sans:"DM Sans", sans-serif;--gut:clamp(24px, 5.55vw, 88px);font-family:var(--sans);color:var(--ink);background:var(--bg);font-synthesis:none;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}p{margin:0 0 20px;line-height:1.65}h1,h2,h3{margin:0;font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.035em}h2{font-size:clamp(38px,4.2vw,60px);line-height:1.08}h3{letter-spacing:-.025em;font-size:23px;line-height:1.25}img{max-width:100%;display:block}svg{flex-shrink:0}.wrap{width:min(calc(100% - 2 * var(--gut)), 1328px);margin-inline:auto}.section{padding:112px 0;scroll-margin-top:95px}section[id],footer[id]{scroll-margin-top:100px}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h3[tabindex]:focus{outline:0}h3[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}#main:focus{outline:0}.skip-link{z-index:100;color:#fff;background:var(--ink);padding:14px 24px;position:fixed;top:12px;left:20px;transform:translateY(-150%)}.skip-link:focus{transform:none}.demo-banner{background:var(--ink);min-height:36px;color:var(--bg);padding:8px var(--gut);letter-spacing:.015em;justify-content:space-between;gap:20px;font-size:12px;line-height:1.5;display:flex}.demo-banner a{text-underline-offset:3px;text-decoration:underline}.site-header{z-index:20;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.nav-wrap{justify-content:space-between;align-items:center;gap:24px;min-height:96px;display:flex}.brand{flex-shrink:0;align-items:center;gap:12px;display:inline-flex}.brand-logo{width:206px;height:auto}.main-nav{align-items:center;gap:30px;font-size:14px;display:flex}.main-nav>a:not(.btn){border-bottom:1px solid #0000;padding:12px 0;transition:border-color .18s}.main-nav>a:not(.btn):hover{border-color:var(--accent)}.btn{border:1px solid #0000;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;gap:18px;min-height:52px;padding:13px 23px;font-size:14px;font-weight:500;line-height:1.5;transition:background-color .16s,transform .16s;display:inline-flex}.btn--primary{background:var(--accent);color:var(--white)}.btn--primary:hover{background:#7d4228;transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn--secondary{border-color:var(--line);background:0 0}.btn--secondary:hover{background:var(--surface);transform:translateY(-1px)}.menu-toggle{display:none}.hero{align-items:center;min-height:calc(100svh - 132px);padding:40px 0 64px;display:flex}.hero-grid{grid-template-columns:1.08fr 1fr;align-items:center;gap:64px;display:grid}.hero-copy{padding:20px 0}.eyebrow{letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:24px;font-size:12px;font-weight:500;line-height:1.6;display:flex}.tiny-sun{color:var(--accent);font-size:24px;line-height:1}.hero h1{letter-spacing:-.045em;font-size:clamp(60px,5.8vw,86px);line-height:1.02}.hero h1 em{color:var(--accent);font-style:normal}.hero-lead{color:#554e45;max-width:450px;margin:28px 0 32px;font-size:18px}.hero-actions{align-items:center;gap:28px;display:flex}.text-link{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:10px 0;font-size:14px;font-weight:500;transition:border-color .16s;display:inline-flex}.text-link:hover{border-color:var(--ink)}.hero-note{color:var(--muted);margin:18px 0 0;font-size:12px}.hero-photo{border-radius:3px;height:clamp(490px,42vw,640px);position:relative;overflow:hidden}.hero-photo>img{object-fit:cover;object-position:50% 55%;width:100%;height:100%}.photo-stamp{background:var(--bg);width:124px;height:124px;color:var(--ink);outline:5px solid var(--bg);border:1px solid #bdb3a2;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;bottom:24px;right:24px;transform:rotate(-9deg)}.photo-stamp span{letter-spacing:.13em;font-size:10px}.photo-stamp svg{color:var(--accent)}.section-heading{justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:52px;display:flex}.section-heading>p{max-width:420px;color:var(--muted);margin-bottom:4px}.services{border-top:1px solid var(--line)}.service-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.service-card{border:1px solid var(--line);border-radius:3px;flex-direction:column;padding:28px 24px;transition:transform .18s,background .18s,border-color .18s;display:flex}.service-card:hover{background:#ece6db;border-color:#ad967e;transform:translateY(-2px)}.service-card-top{color:var(--accent);justify-content:space-between;align-items:center;margin-bottom:40px;display:flex}.service-card-top>span{color:var(--muted);font-size:12px}.service-card h3{margin-bottom:16px;font-size:22px}.service-card>p{color:#595249;margin-bottom:32px;font-size:16px}.service-card-foot{border-top:1px solid var(--line);min-height:60px;color:var(--accent);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:20px;display:flex}.service-card-foot>span{max-width:145px;font-size:12px;line-height:1.6}.approach{background:var(--ink);color:var(--bg)}.approach-grid{grid-template-columns:1.08fr 1fr;gap:64px;display:grid}.approach .eyebrow{color:#d1b49d}.approach-intro{color:#d2cbbf;max-width:430px;margin:28px 0}.light-link{color:var(--bg);border-color:#8e8171}.light-link:hover{border-color:var(--bg)}.approach-steps{margin:0;padding:0;list-style:none}.approach-steps li{border-bottom:1px solid #62594e;gap:28px;padding:28px 0;display:flex}.approach-steps li:first-child{padding-top:0}.approach-steps li:last-child{border-bottom:0;padding-bottom:0}.approach-steps li>span{font-family:var(--serif);color:#d1a380;font-size:28px;line-height:1}.approach-steps h3{margin-bottom:12px;font-size:22px}.approach-steps p{color:#d2cbbf;max-width:400px;margin:0;font-size:16px}.area-grid{grid-template-columns:1.08fr 1fr;align-items:center;gap:64px;display:grid}.section-lead{max-width:430px;margin-top:24px;font-size:20px}.area-grid>div>p:not(.eyebrow){max-width:430px}.area-grid>div>p:not(.eyebrow):not(.section-lead){color:var(--muted)}.area-list{grid-template-columns:1fr 1fr;gap:0 24px;max-width:430px;margin:28px 0 16px;padding:0;list-style:none;display:grid}.area-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:9px;padding:16px 0;font-size:16px;display:flex}.area-list svg{color:var(--accent)}.area-list span{width:100%;color:var(--muted);padding-left:29px;font-size:12px;display:block}.quiet-note{font-size:12px}.area-photo{border-radius:3px;height:550px;overflow:hidden}.area-photo img{object-fit:cover;object-position:60% center;width:100%;height:100%}.quote{background:var(--surface)}.quote-grid{grid-template-columns:1fr 1.08fr;align-items:start;gap:80px;display:grid}.quote-copy{padding-top:28px}.quote-copy>p{max-width:410px}.quote-copy>p:not(.eyebrow):not(.section-lead){color:var(--muted)}.quote-promises{gap:14px;margin:28px 0 40px;padding:0;list-style:none;display:grid}.quote-promises li{align-items:center;gap:10px;font-size:14px;display:flex}.quote-promises svg{color:var(--accent)}.demo-explainer{border-top:1px solid #c7bdad;max-width:410px;padding-top:24px}.small-label{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:500}.demo-explainer p{color:var(--muted);margin-top:8px;font-size:14px}.quote-panel{background:var(--white);border:1px solid #cfc7ba;border-radius:4px;min-width:0;padding:32px;box-shadow:0 8px 24px #322d2705}.quote-panel-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px;display:flex}.demo-tag{color:#70442c;white-space:nowrap;background:#f3e9dc;border:1px solid #c7b49f;border-radius:2px;padding:3px 8px;font-size:11px}.stepper{gap:12px;margin:0 0 36px;padding:0;list-style:none;display:flex}.stepper li{color:#746c61;border-bottom:2px solid #ded7cd;flex:1;align-items:center;gap:7px;padding-bottom:14px;font-size:12px;display:flex;position:relative}.stepper li.active{color:var(--accent);border-color:var(--accent)}.stepper li>span{border:1px solid #bdb3a5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:23px;height:23px;font-size:11px;display:flex}.stepper li.active>span{color:var(--white);background:var(--accent);border-color:var(--accent)}.quote-panel h3{font-family:var(--serif);letter-spacing:-.03em;margin-bottom:12px;font-size:31px}.form-intro{color:var(--muted);margin-bottom:26px;font-size:16px}.field-label,legend{margin-bottom:10px;font-size:14px;font-weight:500;display:block}.field-label span,legend span{color:var(--muted);font-size:12px;font-weight:400}fieldset{border:0;min-width:0;margin:0 0 24px;padding:0}fieldset+fieldset{margin-top:24px}.service-choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.radio-option{cursor:pointer;border:1px solid #b7ada0;border-radius:3px;align-items:center;gap:9px;min-height:48px;padding:13px 12px;font-size:16px;line-height:1.5;transition:background .16s,border-color .16s;display:flex;position:relative}.radio-option:hover{border-color:var(--accent);background:#f5eee4}.radio-option:has(input:checked){border-color:var(--accent);background:#f5e9dc}input[type=radio],input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);flex-shrink:0;margin:0}select{background:var(--white);width:100%;height:50px;color:var(--ink);border:1px solid #a89e90;border-radius:3px;margin-bottom:22px;padding:0 12px;font-size:16px}select:has(+.field-error){margin-bottom:0}.field-error{color:#a32519;margin:9px 0 16px;font-size:14px}.field-note{border-left:3px solid var(--accent);background:#f4eade;margin-top:0;margin-bottom:24px;padding:12px 16px;font-size:14px}.form-actions{justify-content:flex-end;gap:12px;margin-top:6px;display:flex}.form-actions>.btn--primary{flex:1}.form-bottom{color:var(--muted);border-top:1px solid #e1dace;justify-content:space-between;align-items:center;gap:10px;margin-top:22px;padding-top:18px;font-size:12px;display:flex}.text-button{text-underline-offset:3px;background:0 0;border:0;min-height:44px;padding:10px 0;font-size:14px;text-decoration:underline}.text-button:hover{color:var(--accent)}.quote-summary{margin:24px 0}.quote-summary div{border-bottom:1px solid var(--line);justify-content:space-between;gap:24px;padding:15px 0;font-size:14px;display:flex}.quote-summary dt{color:var(--muted)}.quote-summary dd{text-align:right;overflow-wrap:anywhere;max-width:60%;margin:0;font-weight:500}.confirmation{align-items:flex-start;gap:12px;margin:24px 0;font-size:14px;line-height:1.65;display:flex}.confirmation input{margin-top:3px}.completion-mark{color:#475231;background:#e6e9dc;border-radius:50%;place-items:center;width:58px;height:58px;margin:24px 0;display:grid}.completion>p{color:var(--muted);font-size:15px}.completion strong{color:var(--ink)}.completion .btn{width:100%;margin-top:8px}.faq-grid{grid-template-columns:1fr 1.08fr;gap:80px;display:grid}.faq-grid>div>p:last-child{color:var(--muted);margin-top:24px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:23px 0;font-size:16px;font-weight:500;line-height:1.6;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-plus{color:var(--accent);font-size:25px;font-weight:400;line-height:1}.faq-list details[open] .faq-plus{transform:rotate(45deg)}.faq-list details p{color:var(--muted);margin-bottom:24px;padding-right:32px;font-size:16px;line-height:1.75}.faq-list summary:hover{color:var(--accent)}footer{background:#e7e1d6;border-top:1px solid #cfc5b5;padding:64px 0 24px}.footer-top{border-bottom:1px solid #c5bbaa;justify-content:space-between;align-items:center;gap:32px;padding-bottom:48px;display:flex}.footer-top>p{font-family:var(--serif);letter-spacing:-.03em;margin:0;font-size:28px;line-height:1.2}.footer-top .btn{border-color:#958777}.footer-bottom{justify-content:space-between;gap:80px;padding:32px 0;display:flex}.footer-bottom>div:first-child{max-width:620px}.footer-bottom p{color:#62594e;margin-bottom:6px;font-size:13px}.footer-bottom strong{color:var(--ink);font-weight:500}.footer-links{grid-template-columns:1fr 1fr;align-content:start;gap:8px 36px;font-size:13px;display:grid}.footer-links a{padding:5px 0}.footer-links a:hover{text-underline-offset:4px;text-decoration:underline}.footer-meta{color:#62594e;border-top:1px solid #c5bbaa;justify-content:space-between;align-items:flex-start;gap:32px;padding-top:20px;font-size:11px;display:flex}.credits{text-align:right;max-width:440px}.credits summary{cursor:pointer;text-underline-offset:3px;min-height:32px;text-decoration:underline}.credits p{text-align:left;margin:12px 0 0;font-size:12px}.credits a{text-underline-offset:3px;text-decoration:underline}@media (width>=1600px){.hero{min-height:768px}.hero-photo{height:660px}.hero h1{font-size:92px}}@media (width<=1199px){.main-nav{gap:19px;font-size:13px}.brand-logo{width:188px}.hero-grid,.approach-grid,.area-grid{gap:40px}.hero-actions{flex-direction:column;align-items:flex-start;gap:16px}.hero .text-link{padding:0 0 5px}.hero h1{font-size:66px}.hero-lead{font-size:17px}.hero-photo{height:550px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card-top{margin-bottom:24px}.service-card>p{max-width:310px}.service-card-foot>span{max-width:none}.quote-grid,.faq-grid{gap:40px}.quote-panel{padding:26px}.stepper{gap:8px}.stepper li{font-size:11px}.section{padding:88px 0}}@media (width<=959px){.nav-wrap{min-height:80px}.menu-toggle{background:0 0;border:1px solid #b7ada0;border-radius:3px;align-items:center;gap:16px;min-height:44px;padding:10px 16px;font-size:14px;display:flex}.menu-toggle>span{font-size:20px;line-height:1}.main-nav{display:none}.main-nav.is-open{width:100%;padding:24px var(--gut) 32px;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:8px;max-height:calc(100dvh - 80px);display:flex;position:absolute;top:100%;left:0;overflow:auto;box-shadow:0 12px 16px #322d2714}.main-nav>a:not(.btn){padding:12px 0;font-size:18px}.main-nav .btn{margin-top:8px}.demo-banner{font-size:11px}.demo-banner>span{max-width:350px}.hero{min-height:auto;padding:48px 0 64px}.hero h1{font-size:clamp(48px,7vw,66px)}.hero-grid{gap:32px}.hero .eyebrow{letter-spacing:.06em;max-width:300px;font-size:10px}.hero-photo{height:540px}.photo-stamp{width:102px;height:102px;bottom:20px;right:20px}.photo-stamp span{font-size:8px}.hero-lead{font-size:16px}.hero-note{font-size:11px}.section-heading{gap:32px}.section-heading>p{max-width:320px;font-size:15px}.approach-grid,.area-grid{gap:40px}.approach h2{font-size:40px}.approach-steps li{gap:18px}.area-photo{height:570px}.area-list{gap:0 16px}.quote-grid,.faq-grid{grid-template-columns:1fr;gap:40px}.quote-copy{padding-top:0}.quote-copy>p{max-width:600px}.quote-promises{margin-bottom:0}.demo-explainer{display:none}.quote-panel{justify-self:center;width:100%;max-width:700px;padding:36px}.quote-copy h2 br{display:none}.quote-copy .section-lead{max-width:none}.stepper li{font-size:13px}.footer-top{gap:24px}.footer-top>p{font-size:24px}.footer-bottom{gap:32px}.footer-bottom>div:first-child{max-width:440px}.footer-links{white-space:nowrap;gap:6px 24px}}@media (width<=639px){:root{--gut:24px}.demo-banner{justify-content:center;min-height:34px;padding:9px 24px}.demo-banner>span{display:none}.demo-banner a{font-size:11px;text-decoration:none}.nav-wrap{min-height:76px}.brand-logo{width:180px}.menu-toggle{gap:10px;padding:8px 12px;font-size:12px}.hero{min-height:auto;padding:28px 0 48px}.hero-grid{grid-template-columns:1fr;gap:28px}.hero-copy{padding:0}.hero .eyebrow{letter-spacing:.08em;gap:7px;max-width:none;margin-bottom:18px;font-size:10px}.tiny-sun{font-size:21px}.hero h1{font-size:clamp(48px,12.8vw,70px);line-height:1.02}.hero h1 br:nth-of-type(2){display:none}.hero-lead{max-width:370px;margin:22px 0 24px;font-size:16px;line-height:1.65}.hero-actions{grid-template-columns:1fr;gap:18px;display:grid}.hero .btn{width:100%}.hero .text-link{justify-self:start;font-size:13px}.hero-note{margin-top:14px;font-size:11px}.hero-photo{width:100%;height:320px}.hero-photo>img{object-position:50% 53%}.photo-stamp{width:100px;height:100px}.section{padding:64px 0;scroll-margin-top:76px}section[id],footer[id]{scroll-margin-top:90px}h2{font-size:40px}.eyebrow{letter-spacing:.1em;margin-bottom:18px;font-size:10px}.section-heading{margin-bottom:32px;display:block}.section-heading>p{max-width:none;margin-top:24px}.section-heading>p br{display:none}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:25px}.service-card-top{margin-bottom:24px}.service-card h3{font-size:24px}.service-card>p{max-width:none;margin-bottom:24px;font-size:16px}.service-card-foot>span{font-size:12px}.approach-grid,.area-grid{grid-template-columns:1fr;gap:40px}.approach h2{font-size:40px}.approach-intro{margin:24px 0;font-size:16px}.approach-steps h3{font-size:21px}.approach-steps p{font-size:16px}.approach-steps li{gap:22px;padding:24px 0}.section-lead{font-size:19px}.area-list{gap:0 20px;margin-top:24px}.area-photo{height:330px}.area-photo img{object-position:center}.quote-grid{gap:32px}.quote-copy h2 br{display:block}.quote-promises li{font-size:13px}.quote-panel{padding:24px 20px}.quote-panel-top{margin-bottom:24px}.small-label{font-size:10px}.stepper{gap:7px;margin-bottom:28px}.stepper li{flex-direction:column;align-items:flex-start;gap:5px;font-size:12px}.stepper li>span{width:20px;height:20px;font-size:9px}.quote-panel h3{font-size:28px}.form-intro{font-size:16px}.service-choices{grid-template-columns:1fr}.radio-option{min-height:48px;padding:13px;font-size:16px}.field-label,legend{font-size:13px}.form-actions{flex-wrap:wrap}.form-actions .btn{min-height:50px;padding:12px 16px;font-size:13px}.form-bottom{flex-wrap:wrap;gap:8px;font-size:12px}.text-button{font-size:14px}.quote-summary div{gap:16px;font-size:14px}.completion>p{font-size:16px}.faq-grid{gap:28px}.faq-list summary{padding:22px 0;font-size:16px}.faq-list details p{padding-right:18px;font-size:16px}.faq-grid>div>p:last-child{font-size:15px}.footer-top{flex-wrap:wrap;gap:28px;padding-bottom:32px}.footer-top>p{font-size:22px}.footer-top .btn{width:100%}.footer-bottom{flex-direction:column;gap:24px;padding:28px 0}.footer-bottom p{font-size:12px}.footer-links{flex-wrap:wrap;gap:16px 24px;font-size:12px;display:flex}.footer-meta{flex-direction:column;gap:12px;font-size:10px}.credits{text-align:left;max-width:100%}footer{padding-top:44px}}@media (width<=359px){.nav-wrap{gap:12px}.brand-logo{width:160px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.btn:hover,.btn:active,.service-card:hover{transform:none}}@media (forced-colors:active){.radio-option:has(input:checked){outline:2px solid highlight}.btn{border:1px solid buttontext}.stepper li.active{border-color:highlight}}.demo-banner:has(.portfolio-return){flex-wrap:wrap;align-items:center}.demo-banner .portfolio-return{text-underline-offset:3px;align-items:center;min-height:44px;font-size:13px;line-height:1.4;text-decoration:underline;display:inline-flex}
