/* IMM Atelier 0.2 — intentionally self-contained, CSS-first visual system. */
:root{--imm-forest:#163a2e;--imm-deep:#102b23;--imm-paper:#f8f6f0;--imm-sand:#f0ece2;--imm-gold:#b77b46;--imm-gold-light:#d29b66;--imm-ink:#172b25;--imm-muted:#617167;--imm-serif:'Iowan Old Style',Baskerville,'Palatino Linotype',Georgia,serif;--imm-sans:Inter,'Helvetica Neue',Arial,sans-serif;--imm-width:1360px}
html{scroll-behavior:smooth}body{margin:0;background:var(--imm-paper);color:var(--imm-ink);font-family:var(--imm-sans);font-size:16px}*,*::before,*::after{box-sizing:border-box}
body .wp-site-blocks{overflow-x:clip} .imm-main,.imm-main>.wp-block-post-content,.imm-main>.wp-block-post-content>.wp-block-group{margin-block-start:0!important} .imm-main .wp-block-post-content>:first-child{margin-top:0}
.imm-wrap{width:min(calc(100% - 100px),var(--imm-width));max-width:var(--imm-width);margin-left:auto!important;margin-right:auto!important}.imm-wrap>.wp-block-group{max-width:none}
.imm-main h1,.imm-main h2,.imm-main h3,.imm-footer h2{font-family:var(--imm-serif);font-weight:400;letter-spacing:-.048em;line-height:1.06}.imm-main h1{font-size:clamp(3.65rem,6.7vw,7.9rem)}.imm-main h2{font-size:clamp(2.9rem,5.2vw,5.7rem)}.imm-main h3{font-size:clamp(1.65rem,2.1vw,2.4rem)}.imm-main h1 em,.imm-main h2 em,.imm-footer h2 em{font-weight:400;font-style:italic}.imm-main p{line-height:1.75}.imm-main a,.imm-footer a{text-decoration:none}.imm-main a:focus-visible,.imm-footer a:focus-visible,.imm-site-header a:focus-visible{outline:3px solid var(--imm-gold-light);outline-offset:5px}.imm-eyebrow{font:600 11px/1.4 var(--imm-sans)!important;letter-spacing:.22em;text-transform:uppercase;color:var(--imm-gold);margin:0 0 31px!important}.imm-eyebrow.imm-white{color:#f5dfbd}.imm-mini-label{font:700 10px/1.4 var(--imm-sans)!important;letter-spacing:.17em;color:var(--imm-gold);margin:0 0 14px!important}.imm-main .wp-block-buttons{margin-top:34px}
/* Header: floating over home, white on interior pages. */
.imm-site-header{position:relative;z-index:80;background:#fff;box-shadow:0 1px 0 rgba(26,51,40,.09)}body.home .imm-site-header{position:absolute;top:0;left:0;right:0;background:transparent;box-shadow:none;color:#fff;transition:background .25s ease,box-shadow .25s ease}body.home .imm-site-header.is-stuck{position:fixed;background:rgba(253,251,247,.97);box-shadow:0 12px 28px rgba(0,0,0,.09);color:var(--imm-forest);backdrop-filter:blur(12px)}
.imm-site-header .imm-nav-inner{min-height:102px;display:flex;align-items:center;gap:34px!important;justify-content:space-between}.imm-brand{flex:0 0 auto;min-width:204px;position:relative;padding-left:0}.imm-brand-title{margin:0!important;font-family:var(--imm-serif)!important;font-size:32px!important;font-weight:700!important;line-height:.86!important;letter-spacing:-.075em!important}.imm-brand-title a{color:inherit;text-decoration:none!important}.imm-brand-sub{margin:10px 0 0!important;font-size:8.5px!important;font-weight:700;letter-spacing:.21em;line-height:1.3!important}.imm-site-header .wp-block-navigation{font-size:12px;font-weight:600;letter-spacing:.035em;margin-left:auto}.imm-site-header .wp-block-navigation a{color:inherit!important;text-decoration:none!important}.imm-site-header .wp-block-navigation-item__content:hover{opacity:.65}.imm-site-header .wp-block-buttons{margin:0}.imm-header-cta{flex-shrink:0}.imm-site-header .wp-block-navigation__responsive-container-open{color:inherit}.imm-site-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--imm-paper);color:var(--imm-forest);padding:45px 25px}.imm-site-header .wp-block-navigation__responsive-container.is-menu-open a{color:var(--imm-forest)!important}.imm-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{gap:28px}
.imm-main .wp-block-button__link,.imm-site-header .wp-block-button__link{background:var(--imm-forest);color:#fff;border:1px solid var(--imm-forest);padding:18px 26px;font:600 12px/1.4 var(--imm-sans);letter-spacing:.035em;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;border-radius:0}.imm-main .wp-block-button__link:hover,.imm-site-header .wp-block-button__link:hover{transform:translateY(-2px)}.imm-main .imm-btn-gold .wp-block-button__link,.imm-site-header .imm-btn-gold .wp-block-button__link{background:var(--imm-gold);border-color:var(--imm-gold);color:#fff}.imm-main .imm-btn-gold .wp-block-button__link:hover,.imm-site-header .imm-btn-gold .wp-block-button__link:hover{background:#995e33;border-color:#995e33}.imm-main .imm-btn-outline .wp-block-button__link{background:transparent;color:var(--imm-forest);border-color:var(--imm-forest)}.imm-main .imm-btn-outline .wp-block-button__link:hover{background:var(--imm-forest);color:#fff}
/* Hero */
.imm-main .imm-hero{margin:0!important;position:relative;min-height:740px;isolation:isolate;overflow:hidden;display:flex;align-items:center}.imm-hero .wp-block-cover__image-background{object-fit:cover;object-position:center 45%;transform:scale(1.05)}.imm-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,32,25,.88) 0%,rgba(8,29,25,.56) 36%,rgba(15,36,30,.08) 82%),linear-gradient(0deg,rgba(11,32,25,.32),transparent 40%);z-index:0;pointer-events:none}.imm-hero .wp-block-cover__inner-container{width:100%;z-index:2}.imm-hero-inner{padding-top:105px;padding-bottom:94px}.imm-hero h1{color:#fff;max-width:980px;line-height:.98!important;font-size:clamp(5.5rem,9vw,10.6rem);letter-spacing:-.055em;margin:0 0 28px!important}.imm-hero h1 em{color:#eed5ad}.imm-hero-lead{color:#fff;font-size:clamp(1rem,1.55vw,1.27rem);max-width:450px;line-height:1.65!important}.imm-hero .imm-scrollcue{color:#fff;font-size:10px;letter-spacing:.22em;position:absolute;bottom:26px;opacity:.8}.imm-hero .wp-block-buttons{margin-top:45px}
/* Intro bar */
.imm-trust-band{background:var(--imm-paper);border-bottom:1px solid #e0d9cb;padding:36px 0;margin:0!important}.imm-trust-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px}.imm-stat{border-left:1px solid var(--imm-gold);padding-left:22px}.imm-small-stat{margin:0 0 4px!important;font-size:10px!important;letter-spacing:.13em;line-height:1.6!important;color:var(--imm-gold)!important;font-weight:700}.imm-stat-desc{margin:0!important;font-size:15px!important;font-family:var(--imm-serif);line-height:1.2!important;color:var(--imm-ink)}
/* Services */
.imm-services-section{padding:132px 0 145px;background:var(--imm-paper);margin:0!important}.imm-intro{margin-bottom:62px}.imm-intro-columns{align-items:end;gap:90px}.imm-intro h2{margin:0!important;max-width:870px}.imm-intro .wp-block-column:first-child{flex-basis:67%!important}.imm-intro .wp-block-column:last-child{flex-basis:33%!important}.imm-section-summary{font-size:17px;color:var(--imm-muted);max-width:395px;margin:0!important}.imm-section-minor{font-size:13px;color:var(--imm-muted)}.imm-card-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 24px!important}.imm-card-grid> .wp-block-group{min-width:0}.imm-service-card{background:transparent;position:relative;transition:transform .3s}.imm-card-image-area{position:relative;overflow:hidden;background:#d5c7ad}.imm-card-image-area .wp-block-image{margin:0!important;overflow:hidden}.imm-service-photo img{display:block;width:100%;height:300px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s ease}.imm-service-card:hover .imm-service-photo img{transform:scale(1.065);filter:saturate(1.1)}.imm-card-nr{position:absolute;top:15px;left:17px;color:#fff;z-index:2;margin:0!important;font:600 12px/1 var(--imm-sans)!important;text-shadow:0 1px 4px #0009}.imm-card-bottom{border-bottom:1px solid #d3c9ba;padding:26px 0 25px;min-height:199px}.imm-card-bottom h3{margin:0 0 12px!important}.imm-card-bottom h3 a{color:var(--imm-ink)}.imm-card-description{font-size:14px;color:var(--imm-muted);line-height:1.6!important;margin:0 0 18px!important;max-width:335px}.imm-editorial-link{margin:0!important;text-transform:uppercase;font:700 11px/1.4 var(--imm-sans)!important;letter-spacing:.11em}.imm-editorial-link a{color:var(--imm-forest);border-bottom:1px solid var(--imm-gold);padding-bottom:5px}.imm-editorial-link a span{color:var(--imm-gold);font-size:14px}
/* Editorial */
.imm-editorial-section{background:#e8e3d7;margin:0!important}.imm-editorial-grid{display:grid!important;grid-template-columns:50% 50%;min-height:680px}.imm-editorial-media{height:100%;overflow:hidden}.imm-editorial-media .wp-block-image{height:100%;margin:0}.imm-editorial-media img{height:100%;width:100%;object-fit:cover;display:block;object-position:45% center}.imm-editorial-text{display:flex;flex-direction:column;justify-content:center;padding:100px clamp(55px,8vw,130px);align-items:flex-start}.imm-editorial-text h2{margin:0 0 27px!important}.imm-editorial-copy{color:var(--imm-muted);font-size:16px;max-width:460px;margin:0!important}.imm-editorial-text .imm-eyebrow{margin-bottom:35px!important}
/* CTA + footer */
.imm-cta-band{background:var(--imm-forest);color:#fff;padding:86px 0;margin:0!important}.imm-cta-grid{display:flex!important;align-items:center;justify-content:space-between;gap:50px!important}.imm-cta-copy h2{font-size:clamp(2.8rem,4.5vw,5.6rem);color:#fff;margin:0 0 20px!important}.imm-white-muted{color:#cad5c8}.imm-cta-grid .wp-block-buttons{flex-shrink:0;margin:0}.imm-footer{background:#112d24;color:#fff;margin:0!important}.imm-footer-main{padding:100px 0 74px;display:grid!important;grid-template-columns:1fr 1fr;gap:80px!important}.imm-footer h2{font-size:clamp(3rem,4.5vw,5.1rem);margin:0}.imm-footer h2 em{color:#dbb18a}.imm-footer-details{display:grid!important;grid-template-columns:1fr 1fr;gap:24px 50px!important;align-content:end}.imm-footer-details>div:last-child{grid-column:1/-1}.imm-footer-label{font:700 10px/1.2 var(--imm-sans)!important;letter-spacing:.22em;color:#ca9d76!important;margin:0 0 12px!important}.imm-footer-details p{margin:0!important;font-size:14px;line-height:1.7}.imm-footer a{color:#fff}.imm-footer a:hover{text-decoration:underline}.imm-footer-bottom{border-top:1px solid #ffffff30;padding:20px 0 26px;display:flex!important;justify-content:space-between;gap:20px}.imm-footer-bottom p{font-size:11px;color:#c2d0c8;margin:0!important}
/* Inner pages */
.imm-page-hero{min-height:420px;display:flex;align-items:center;position:relative;isolation:isolate;margin:0!important}.imm-page-hero img.wp-block-cover__image-background{object-position:center 41%}.imm-page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#102b23ed,#102b2399 50%,#102b2310);z-index:0}.imm-page-hero>.wp-block-cover__inner-container{z-index:2;width:100%}.imm-page-hero-copy{padding:85px 0 55px}.imm-page-hero h1{color:#fff;font-size:clamp(3rem,5.5vw,6rem);margin:0 0 23px!important}.imm-page-hero h1 em{color:#edc89f}.imm-page-hero-lead{color:#f5f3ed;font-size:16px;max-width:450px}.imm-inner-page-services{padding:100px 0 145px}.imm-inner-page-services h2{margin:0 0 65px!important}.imm-inner-page-services>.imm-eyebrow{margin-bottom:26px!important}
.imm-detail-band{padding:65px 0 10px;margin:0!important;background:var(--imm-paper)}.imm-detail-hero{display:grid!important;grid-template-columns:42% 58%;align-items:center;min-height:570px}.imm-detail-copy{padding:60px 60px 90px 0}.imm-detail-heading{font-size:clamp(3.4rem,5.9vw,6.8rem)!important;margin:0 0 33px!important}.imm-detail-lead{font-size:18px;line-height:1.7!important;color:var(--imm-muted);max-width:520px;margin:0!important}.imm-detail-photo{width:100%;margin:0!important}.imm-detail-photo img{width:100%;height:570px;object-fit:cover;display:block}.imm-detail-intro{padding:80px 0 110px;display:grid!important;grid-template-columns:1fr 1fr;gap:100px!important;border-bottom:1px solid #d6cab9}.imm-detail-intro h2{margin:0!important}.imm-detail-list{max-width:560px;padding-top:15px}.imm-detail-list h3{font-size:31px;margin:0 0 20px!important}.imm-detail-list .imm-editorial-copy{font-size:15px;margin-bottom:27px!important}.imm-detail-bullet{font-size:14px;border-bottom:1px solid #ddd4c6;padding:12px 0;margin:0!important}.imm-gallery-section{padding:103px 0 140px}.imm-gallery-section h2{margin:0 0 12px!important}.imm-gallery-note{color:var(--imm-muted);font-size:13px;max-width:750px;margin:0 0 35px!important}.imm-native-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px!important}.imm-native-gallery>.wp-block-image{margin:0!important;width:100%!important;min-width:0!important}.imm-native-gallery>.wp-block-image img{width:100%;height:260px;object-fit:cover;display:block;transition:transform .3s ease}.imm-native-gallery>.wp-block-image img:hover{transform:scale(1.025)}
.imm-about-page-section,.imm-contact-page-section{padding:80px 0 120px}.imm-about-page-grid,.imm-contact-layout{display:grid!important;grid-template-columns:1fr 1fr;gap:100px!important;align-items:center}.imm-about-photo{margin:0!important}.imm-about-photo img{width:100%;height:620px;object-fit:cover;display:block}.imm-about-page-text{padding:30px 0}.imm-about-page-text h1{font-size:clamp(3rem,5vw,6rem)}.imm-contact-layout{align-items:start;min-height:460px}.imm-contact-panel{background:#e7e1d5;padding:65px 60px}.imm-contact-panel h3{margin:0 0 30px!important}.imm-contact-data{font-family:var(--imm-serif);font-size:24px;color:var(--imm-forest);overflow-wrap:anywhere}.imm-contact-address{font-size:16px}.imm-notfound{padding:100px 0 150px}
/* Scroll effects: enhancements only. Content stays visible if JS never runs. */
.imm-reveal.will-animate{opacity:0;transform:translateY(32px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}.imm-reveal.will-animate.is-visible{opacity:1;transform:none}.imm-card-grid .imm-service-card:nth-child(3n+2){transition-delay:.08s}.imm-card-grid .imm-service-card:nth-child(3n+3){transition-delay:.16s}
/* WP block editor/front-end guardrails */
.imm-main .wp-block-cover__inner-container>.imm-wrap{width:min(calc(100% - 100px),var(--imm-width))}.imm-main .wp-block-cover .wp-block-cover__inner-container{max-width:none}.imm-main :where(.wp-block-columns){margin-block-end:0}.imm-main .wp-block-group>*+*{margin-block-start:0}
@media(max-width:1150px){.imm-site-header .imm-nav-inner{min-height:85px;gap:20px!important}.imm-wrap{width:min(calc(100% - 70px),var(--imm-width))}.imm-main .wp-block-cover__inner-container>.imm-wrap{width:min(calc(100% - 70px),var(--imm-width))}.imm-brand{min-width:180px}.imm-brand-title{font-size:27px!important}.imm-hero h1{font-size:clamp(5rem,8.5vw,8rem)}.imm-card-grid{gap:35px 20px!important}.imm-service-photo img{height:260px}.imm-editorial-text{padding:80px 60px}.imm-hero{min-height:650px!important}.imm-trust-inner{gap:20px}.imm-detail-intro{gap:55px!important}}
@media(max-width:810px){.imm-wrap{width:calc(100% - 42px)}.imm-main .wp-block-cover__inner-container>.imm-wrap{width:calc(100% - 42px)}.imm-header-cta{display:none!important}.imm-site-header .imm-nav-inner{min-height:76px;gap:8px!important}.imm-site-header .wp-block-navigation{margin-left:auto}.imm-brand-title{font-size:25px!important}.imm-brand-sub{font-size:7px!important;margin-top:8px!important}.imm-main .imm-hero{min-height:650px!important}.imm-hero-inner{padding:155px 0 100px}.imm-hero h1{font-size:clamp(4.2rem,13vw,6.5rem)}.imm-hero-lead{font-size:16px;max-width:370px}.imm-hero:after{background:linear-gradient(90deg,rgba(9,32,25,.87),rgba(9,32,25,.35) 78%),linear-gradient(0deg,#102b2359,transparent)}.imm-trust-inner{grid-template-columns:1fr 1fr;gap:20px}.imm-stat:nth-child(3){display:none}.imm-services-section{padding:90px 0 105px}.imm-intro-columns{display:block!important}.imm-intro h2{margin-bottom:25px!important}.imm-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:26px 18px!important}.imm-service-photo img{height:230px}.imm-card-bottom{min-height:200px}.imm-card-bottom h3{font-size:29px}.imm-editorial-grid{grid-template-columns:1fr!important}.imm-editorial-media img{height:450px}.imm-editorial-text{padding:80px 45px 90px}.imm-cta-grid{display:block!important}.imm-cta-grid>.wp-block-buttons{margin-top:40px}.imm-footer-main{grid-template-columns:1fr!important;gap:45px!important}.imm-detail-hero{grid-template-columns:1fr!important}.imm-detail-copy{padding:70px 0 50px}.imm-detail-photo img{height:370px}.imm-detail-intro{grid-template-columns:1fr!important;gap:15px!important;padding:55px 0 75px}.imm-native-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}.imm-about-page-grid,.imm-contact-layout{grid-template-columns:1fr!important;gap:40px!important}.imm-about-photo img{height:470px}.imm-contact-panel{padding:50px 40px}.imm-page-hero{min-height:370px!important}}
@media(max-width:520px){.imm-wrap,.imm-main .wp-block-cover__inner-container>.imm-wrap{width:calc(100% - 34px)}.imm-hero h1{font-size:clamp(3.7rem,14vw,5.5rem)}.imm-hero-inner{padding-top:155px}.imm-trust-band{padding:27px 0}.imm-stat{padding-left:13px}.imm-stat-desc{font-size:13px!important}.imm-small-stat{font-size:8px!important}.imm-main h2{font-size:clamp(2.5rem,12vw,3.8rem)}.imm-services-section{padding:76px 0 85px}.imm-intro{margin-bottom:40px}.imm-card-grid{grid-template-columns:1fr!important;gap:28px!important}.imm-service-photo img{height:285px}.imm-card-bottom{min-height:0;padding:20px 0 25px}.imm-card-bottom h3{font-size:33px}.imm-card-description{font-size:15px}.imm-editorial-media img{height:350px}.imm-editorial-text{padding:72px 22px}.imm-cta-band{padding:62px 0}.imm-footer-main{padding:66px 0 40px}.imm-footer-details{grid-template-columns:1fr!important;gap:28px!important}.imm-footer-details>div:last-child{grid-column:auto}.imm-footer-bottom{display:block!important}.imm-footer-bottom p{margin:0 0 12px!important}.imm-page-hero-copy{padding-top:110px}.imm-page-hero h1{font-size:clamp(3.2rem,12vw,4.5rem)}.imm-inner-page-services{padding:70px 0 90px}.imm-detail-heading{font-size:clamp(3.3rem,11vw,5rem)!important}.imm-detail-band{padding:20px 0}.imm-detail-copy{padding:60px 0 35px}.imm-detail-photo img{height:280px}.imm-gallery-section{padding:76px 0}.imm-native-gallery{gap:8px!important}.imm-native-gallery>.wp-block-image img{height:180px}.imm-about-page-section,.imm-contact-page-section{padding:55px 0 80px}.imm-contact-panel{padding:38px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.imm-reveal.will-animate{opacity:1;transform:none;transition:none!important}.imm-service-photo img,.imm-main .wp-block-button__link{transition:none!important}}
/* Explicit cover positioning also makes standalone previews independent of WordPress core CSS. */
.imm-main .wp-block-cover.imm-hero>.wp-block-cover__image-background,.imm-main .wp-block-cover.imm-page-hero>.wp-block-cover__image-background{position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.imm-main .wp-block-cover.imm-hero>.wp-block-cover__background,.imm-main .wp-block-cover.imm-page-hero>.wp-block-cover__background{position:absolute;inset:0;z-index:0;pointer-events:none}
.imm-main .wp-block-cover.imm-hero>.wp-block-cover__inner-container,.imm-main .wp-block-cover.imm-page-hero>.wp-block-cover__inner-container{position:relative;z-index:2;width:100%;flex:1 1 auto}

/* Deliberate spacing around editable Gutenberg button groups. */
.imm-detail-copy .wp-block-buttons,.imm-about-page-text .wp-block-buttons,.imm-editorial-text .wp-block-buttons{margin-top:38px!important}
.imm-hero .wp-block-buttons{margin-top:45px!important}
.imm-detail-copy .imm-detail-lead{margin-bottom:16px!important}
/* IMM 0.3 • Carpentry design system. Made for Gutenberg, not tied to a builder. */
:root { --imm3-paper:#f8f7f3; --imm3-white:#fffefa; --imm3-ink:#21231e; --imm3-sub:#595b56; --imm3-timber:#a86a3f; --imm3-dark:#26382d; --imm3-line:#e4e1d9; --imm3-max:1180px; }
body {background:var(--imm3-paper);color:var(--imm3-ink)}
.imm-main .imm3-home,.imm-main .imm3-services-page,.imm-main .imm3-detail-page{background:var(--imm3-paper);margin:0!important;color:var(--imm3-ink)}
.imm-main .imm3-home h1,.imm-main .imm3-home h2,.imm-main .imm3-home h3,.imm-main .imm3-services-page h1,.imm-main .imm3-services-page h2,.imm-main .imm3-services-page h3,.imm-main .imm3-detail-page h1,.imm-main .imm3-detail-page h2,.imm-main .imm3-detail-page h3{font-family:Arial,'Helvetica Neue',Helvetica,sans-serif!important;font-weight:650!important;letter-spacing:-.046em!important;line-height:1.07!important}
.imm-main .imm3-home h1 em,.imm-main .imm3-home h2 em,.imm-main .imm3-services-page h1 em{font-style:normal;color:var(--imm3-timber);font-weight:600}
.imm-main .imm3-home h2,.imm-main .imm3-services-page h2,.imm-main .imm3-detail-page h2{font-size:clamp(2.15rem,3.75vw,3.65rem)!important}
.imm-main .imm3-home h3,.imm-main .imm3-services-page h3,.imm-main .imm3-detail-page h3{font-size:clamp(1.5rem,2vw,2rem)!important}
.imm-main .imm3-home p,.imm-main .imm3-services-page p,.imm-main .imm3-detail-page p{line-height:1.62}
.imm3-home .imm-wrap,.imm3-services-page .imm-wrap,.imm3-detail-page .imm-wrap{max-width:var(--imm3-max);width:min(calc(100% - 70px),var(--imm3-max));margin-inline:auto!important}
.imm3-eyebrow{font:700 11px/1.2 Arial,Helvetica,sans-serif!important;letter-spacing:.19em!important;text-transform:uppercase;color:var(--imm3-timber)!important;margin:0 0 20px!important}
.imm3-white{color:#f0dbc0!important}
.imm3-tiny{font:700 10px/1.45 Arial,sans-serif!important;letter-spacing:.14em!important;color:var(--imm3-timber);text-transform:uppercase;margin:0 0 11px!important}
.imm3-body{font-size:16px;line-height:1.8!important;color:var(--imm3-sub);margin:0!important;max-width:480px}
.imm3-small{font-size:14px;line-height:1.55!important;color:#61615d;margin:0!important}
/* tighter transparent/fixed header, slightly undersized Corgan-style logo */
.imm-site-header .imm-nav-inner{min-height:80px!important;max-width:var(--imm3-max);width:min(calc(100% - 70px),var(--imm3-max));gap:24px!important}
.imm-brand-title{font-family:Arial,Helvetica,sans-serif!important;font-size:23px!important;font-weight:800!important;letter-spacing:-.055em!important;line-height:1!important}
.imm-brand-sub{font-size:9px!important;letter-spacing:.15em!important}
.imm-site-header .wp-block-navigation{font-size:12px;font-weight:700;letter-spacing:.015em}
.imm-site-header .wp-block-button__link{background:var(--imm3-timber)!important;border-color:var(--imm3-timber)!important;color:white!important;padding:14px 21px!important}
body:has(.imm3-home) .imm-site-header{position:absolute;inset:0 0 auto;background:transparent;box-shadow:none;color:#fff}
body:has(.imm3-home) .imm-site-header .imm-brand-title a,body:has(.imm3-home) .imm-site-header .imm-brand-sub{color:#fff!important}
body:has(.imm3-home) .imm-site-header.is-stuck{position:fixed;background:#faf9f5;box-shadow:0 6px 25px #09130e18;color:var(--imm3-ink)}
body:has(.imm3-home) .imm-site-header.is-stuck .imm-brand-title a,body:has(.imm3-home) .imm-site-header.is-stuck .imm-brand-sub{color:var(--imm3-ink)!important}
/* Header image: full-width, one strong photo, not a slider */
.imm-main .imm3-hero{margin:0!important;position:relative;isolation:isolate;overflow:hidden;min-height:min(85vh,760px)!important;display:flex;align-items:center;justify-content:center}
.imm-main .imm3-hero>.wp-block-cover__image-background{position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%;z-index:0}
.imm-main .imm3-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,25,20,.76) 0%,rgba(19,25,20,.48) 46%,rgba(19,25,20,.06) 100%);pointer-events:none;z-index:1}
.imm-main .imm3-hero>.wp-block-cover__inner-container{width:100%;position:relative;z-index:2}
.imm3-hero-content{padding:165px 0 95px}
.imm-main .imm3-hero-title{font-size:clamp(3.8rem,6.7vw,6.5rem)!important;color:#fff;line-height:.99!important;max-width:800px;margin:0 0 26px!important}
.imm-main .imm3-hero-title em{color:#fff!important}
.imm3-hero-lead{max-width:360px!important;font-size:16px;line-height:1.65!important;color:#f8f5ec;margin:0!important}
.imm3-hero .wp-block-buttons{margin-top:29px!important}
.imm3-home .wp-block-button__link,.imm3-services-page .wp-block-button__link,.imm3-detail-page .wp-block-button__link{display:inline-flex;align-items:center;min-height:47px;padding:13px 21px!important;font:700 12px/1.2 Arial,Helvetica,sans-serif;border-radius:0;letter-spacing:.02em;transition:transform .18s ease,color .2s ease,background .2s ease}
.imm3-home .wp-block-button__link:hover,.imm3-services-page .wp-block-button__link:hover,.imm3-detail-page .wp-block-button__link:hover{transform:translateY(-2px)}
.imm3-home .imm3-btn-light .wp-block-button__link,.imm3-services-page .imm3-btn-light .wp-block-button__link,.imm3-detail-page .imm3-btn-light .wp-block-button__link{background:var(--imm3-timber)!important;border:1px solid var(--imm3-timber)!important;color:#fff!important}
.imm3-home .imm3-btn-outline .wp-block-button__link,.imm3-services-page .imm3-btn-outline .wp-block-button__link,.imm3-detail-page .imm3-btn-outline .wp-block-button__link{background:transparent!important;color:var(--imm3-ink)!important;border:1px solid #36352e!important}
.imm3-hero-index{position:absolute;bottom:27px;color:#f7f4eb;font-size:10px!important;letter-spacing:.18em;font-weight:700;margin:0!important}
/* Benefit bar compact and almost architectural */
.imm3-mini-strip{padding:22px 0!important;background:#fffefa;border-bottom:1px solid var(--imm3-line);margin:0!important}
.imm3-mini-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0!important}
.imm3-mini-grid>p{margin:0!important;padding:10px 30px;border-left:1px solid var(--imm3-line);line-height:1.4!important;font-size:13px!important}
.imm3-mini-grid>p:first-child{padding-left:0;border:0}.imm3-mini-grid strong{display:block;font:700 13px/1.3 Arial,Helvetica,sans-serif;color:var(--imm3-ink)}.imm3-mini-grid span{display:block;font-size:12px;color:#77756e;margin-top:6px}
/* Editorial heading with restrained rhythm */
.imm3-intro{padding:108px 0 88px;display:grid!important;grid-template-columns:1.3fr 1fr;gap:80px!important;align-items:end}
.imm3-intro h2{margin:0!important}.imm3-intro-blurb{max-width:430px;padding-bottom:6px}.imm3-intro-blurb .wp-block-buttons{margin:23px 0 0!important}
.imm3-services-area{background:#fffefa;margin:0!important;padding:92px 0 110px}
.imm3-services-heading{margin:0 0 44px!important}
.imm3-services-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px!important}
.imm3-feature{min-width:0!important;margin:0!important;background:transparent}
.imm3-feature-image{margin:0!important;overflow:hidden;aspect-ratio:1.25!important;position:relative}
.imm3-feature-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.5,.2,1)}
.imm3-feature-image:hover img{transform:scale(1.05)}
.imm3-feature-copy{padding:24px 0 0}
.imm3-feature-copy h3{margin:0 0 10px!important;color:var(--imm3-ink)}
.imm3-feature-copy .imm3-small{max-width:315px;min-height:48px}
.imm3-arrow-link{font:700 12px/1.3 Arial,sans-serif!important;margin:22px 0 0!important;text-transform:none}
.imm3-arrow-link a{border-bottom:1px solid var(--imm3-timber);color:var(--imm3-ink)!important;padding-bottom:4px}
.imm3-service-links{border-top:1px solid var(--imm3-line);margin-top:68px!important;padding-top:28px;display:grid!important;grid-template-columns:1fr 1.4fr auto;align-items:center;gap:18px!important}
.imm3-service-links .imm3-tiny{margin:0!important}
.imm3-other-links{display:flex;gap:32px!important;margin:0!important;font-size:13px!important;flex-wrap:wrap}
.imm3-other-links a{display:inline-flex;gap:7px;white-space:nowrap;color:var(--imm3-ink);text-decoration:none;border-bottom:1px solid #c7c2b7}
.imm3-other-links a span{color:var(--imm3-timber)}
.imm3-service-links .wp-block-buttons{margin:0!important}
/* split image/text near middle to evoke carpentry demo */
.imm3-editorial{display:grid!important;grid-template-columns:1fr 1fr;background:#eeeae3;margin:0!important;align-items:stretch}
.imm3-editorial-photo,.imm3-editorial-picture{height:100%;margin:0!important}
.imm3-editorial-picture img{display:block;width:100%;height:100%;min-height:480px;max-height:600px;object-fit:cover;object-position:60% 55%}
.imm3-editorial-copy{align-self:center;max-width:610px;padding:80px clamp(28px,6vw,105px)}
.imm3-editorial-copy h2{margin:0 0 26px!important}
.imm3-editorial-copy .wp-block-buttons{margin-top:26px!important}
.imm3-cta{background:var(--imm3-dark);color:#fff;padding:88px 0!important;margin:0!important}
.imm3-cta-grid{display:grid!important;grid-template-columns:1.3fr 1fr;align-items:end;gap:65px!important}
.imm3-cta h2{color:#fff;margin:0!important}.imm3-cta .imm3-body{color:#e3e5dd;max-width:350px}.imm3-cta-link .wp-block-buttons{margin:26px 0 0!important}
/* Interior pages – crisp headers and photo-led composition */
.imm3-interior-heading{padding:106px 0 66px}
.imm-main .imm3-services-page h1{font-size:clamp(3.4rem,5.2vw,5.6rem)!important;margin:0 0 24px!important}
.imm3-lead{font-size:17px;max-width:580px;color:var(--imm3-sub);line-height:1.7!important;margin:0!important}
.imm3-overview-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px!important;padding-bottom:104px}
.imm3-overview-card{border-top:1px solid var(--imm3-line);padding-top:18px;min-width:0}
.imm3-overview-image{margin:0!important;aspect-ratio:1.95;overflow:hidden}
.imm3-overview-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.imm3-overview-image:hover img{transform:scale(1.035)}
.imm3-overview-copy{padding-top:21px}
.imm3-overview-copy h3{margin:0 0 10px!important}
.imm3-overview-copy h3 a{color:var(--imm3-ink)!important;text-decoration:none}
.imm3-overview-copy h3 span{float:right;color:var(--imm3-timber);font-size:18px}
.imm3-detail-top{background:#f0ece4;padding:78px 0 0;margin:0!important}
.imm3-detail-headline{padding:0 0 50px!important}
.imm-main .imm3-detail-headline h1{font-size:clamp(3.7rem,6vw,6.2rem)!important;max-width:920px;margin:0 0 20px!important}
.imm3-detail-banner{max-width:var(--imm3-max);width:min(calc(100% - 70px),var(--imm3-max));margin:0 auto!important;position:relative;aspect-ratio:2.7;overflow:hidden}
.imm3-detail-banner img{width:100%;height:100%;object-fit:cover;display:block}
.imm3-detail-info{display:grid!important;grid-template-columns:1fr 1fr;gap:100px!important;padding:85px 0!important;border-bottom:1px solid var(--imm3-line)}
.imm3-detail-info h2{margin:0!important}.imm3-detail-bullet{font-size:14px;border-bottom:1px solid var(--imm3-line);padding:15px 0;margin:0!important;color:var(--imm3-ink)}
.imm3-detail-info .imm3-body{margin-bottom:22px!important}
.imm3-gallery-area{padding:90px 0 115px}
.imm3-gallery-area h2{margin:0 0 20px!important}.imm3-gallery-note{font-size:13px!important;color:var(--imm3-sub);margin-bottom:27px!important}
.imm3-native-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px!important;margin:0!important}
.imm3-native-gallery>.wp-block-image{margin:0!important;width:100%!important;min-width:0!important;overflow:hidden}
.imm3-native-gallery>.wp-block-image img{display:block;width:100%;height:265px;object-fit:cover;transition:transform .35s}
.imm3-native-gallery>.wp-block-image img:hover{transform:scale(1.035)}
/* Footer compact, Corgan-like: high-contrast without an excessive second hero */
.imm-footer{background:#222f28!important;color:#fff}.imm-footer-main{max-width:var(--imm3-max);width:min(calc(100% - 70px),var(--imm3-max));grid-template-columns:1.1fr 1fr!important;gap:65px!important;padding:68px 0 52px!important}
.imm-footer h2{font-family:Arial,Helvetica,sans-serif!important;font-weight:650!important;letter-spacing:-.04em!important;font-size:clamp(2rem,3.2vw,3.2rem)!important;line-height:1.08!important}
.imm-footer-details{align-content:center!important;gap:24px!important}
.imm-footer-bottom{max-width:var(--imm3-max);width:min(calc(100% - 70px),var(--imm3-max));padding:22px 0!important}
/* avoid hidden content while CSS/JS loads, only active when observer adds class */
.imm3-home .imm-reveal.will-animate,.imm3-services-page .imm-reveal.will-animate{transform:translateY(16px);transition-duration:.55s}
@media(max-width:1050px){.imm3-intro{grid-template-columns:1fr 1fr;gap:40px!important}.imm3-service-links{grid-template-columns:1fr;gap:22px!important}.imm3-other-links{gap:24px}.imm3-editorial-picture img{min-height:450px}.imm3-editorial-copy{padding:65px 40px}.imm-footer-main{gap:40px!important}}
@media(max-width:780px){.imm3-home .imm-wrap,.imm3-services-page .imm-wrap,.imm3-detail-page .imm-wrap,.imm3-detail-banner,.imm-site-header .imm-nav-inner,.imm-footer-main,.imm-footer-bottom{width:calc(100% - 42px)}
.imm3-hero-content{padding:150px 0 88px}.imm-main .imm3-hero-title{font-size:clamp(3.2rem,10vw,5.4rem)!important}.imm-main .imm3-hero{min-height:660px!important}
.imm3-mini-grid{grid-template-columns:1fr 1fr}.imm3-mini-grid>p:nth-child(3){display:none}.imm3-mini-grid>p:nth-child(2){padding-right:0}
.imm3-intro{padding:76px 0 65px;grid-template-columns:1fr;gap:26px!important}.imm3-services-area{padding:78px 0 83px}.imm3-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:33px 20px!important}.imm3-feature:nth-child(3){grid-column:1/-1;max-width:calc(50% - 10px)}.imm3-editorial{grid-template-columns:1fr}.imm3-editorial-picture img{height:410px;min-height:0}.imm3-editorial-copy{max-width:none;padding:67px 42px}.imm3-cta{padding:68px 0!important}.imm3-cta-grid{grid-template-columns:1fr;gap:30px!important}
.imm3-interior-heading{padding:72px 0 55px}.imm3-overview-grid{gap:30px 20px!important}.imm3-detail-info{gap:32px!important}.imm-footer-main{grid-template-columns:1fr!important;gap:38px!important}.imm3-native-gallery>.wp-block-image img{height:205px}}
@media(max-width:560px){.imm3-home .imm-wrap,.imm3-services-page .imm-wrap,.imm3-detail-page .imm-wrap,.imm3-detail-banner,.imm-site-header .imm-nav-inner,.imm-footer-main,.imm-footer-bottom{width:calc(100% - 32px)}
.imm-site-header .imm-nav-inner{min-height:72px!important}.imm-brand-title{font-size:20px!important}.imm-brand-sub{font-size:7px!important}.imm-main .imm3-hero{min-height:600px!important}.imm-main .imm3-hero-title{font-size:clamp(3rem,12vw,4.4rem)!important}.imm-main .imm3-hero:after{background:linear-gradient(90deg,rgba(18,27,21,.82),rgba(18,27,21,.33))}.imm3-hero-content{padding:140px 0 85px}.imm3-mini-strip{padding:15px 0!important}.imm3-mini-grid{grid-template-columns:1fr}.imm3-mini-grid>p{padding:5px 0!important;border:none}.imm3-mini-grid>p:nth-child(2){display:none}
.imm3-intro{padding:65px 0 58px}.imm-main .imm3-home h2,.imm-main .imm3-services-page h2,.imm-main .imm3-detail-page h2{font-size:clamp(2rem,9vw,3rem)!important}.imm3-services-area{padding:60px 0 70px}.imm3-services-grid{grid-template-columns:1fr;gap:32px!important}.imm3-feature:nth-child(3){max-width:none;grid-column:auto}.imm3-feature-image{aspect-ratio:1.5!important}.imm3-feature-copy{padding-top:17px}.imm3-feature-copy .imm3-small{min-height:0}.imm3-service-links{margin-top:42px!important}.imm3-other-links{flex-direction:column;align-items:flex-start;gap:12px!important}.imm3-editorial-picture img{height:290px}.imm3-editorial-copy{padding:55px 17px}.imm3-cta-grid{gap:21px!important}.imm-main .imm3-services-page h1,.imm-main .imm3-detail-headline h1{font-size:clamp(2.95rem,11vw,4.5rem)!important}.imm3-overview-grid{grid-template-columns:1fr;gap:32px!important;padding-bottom:70px}.imm3-overview-image{aspect-ratio:1.65}.imm3-detail-top{padding-top:60px}.imm3-detail-banner{aspect-ratio:1.7}.imm3-detail-info{grid-template-columns:1fr!important;padding:60px 0!important}.imm3-gallery-area{padding:70px 0 80px}.imm3-native-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}.imm3-native-gallery>.wp-block-image img{height:150px}.imm-footer-main{padding:50px 0 32px!important}.imm-footer h2{font-size:2.15rem!important}.imm-footer-details{gap:21px!important}.imm-footer-bottom{padding:17px 0!important}}
@media(prefers-reduced-motion:reduce){.imm3-feature-image img,.imm3-overview-image img,.imm3-native-gallery>.wp-block-image img{transition:none!important}.imm3-home .imm-reveal.will-animate{transform:none;opacity:1}}

/* IMM 0.3 footer — deliberately small after the contact stripe */
.imm3-footer{background:#eeeae2!important;color:#222620!important;padding:0!important;margin:0!important}
.imm3-footer .imm-wrap{width:min(calc(100% - 70px),var(--imm3-max));max-width:var(--imm3-max);margin-inline:auto!important}
.imm3-footer-main{display:grid!important;grid-template-columns:1.4fr 1fr .7fr;gap:65px!important;padding:66px 0 55px}
.imm3-footer h2{font:750 22px/1.1 Arial,Helvetica,sans-serif;letter-spacing:-.04em;margin:0 0 18px!important}
.imm3-footer p{font:400 13px/1.75 Arial,Helvetica,sans-serif;margin:0!important;color:#545750}
.imm3-footer .imm3-tiny{font-size:10px!important;color:#a2663d!important;font-weight:750!important;letter-spacing:.18em!important;margin:0 0 13px!important}
.imm3-footer a{color:#262e29;text-decoration:none}.imm3-footer a:hover{text-decoration:underline}
.imm3-footer-bottom{border-top:1px solid #d7d3ca;display:flex!important;justify-content:space-between;gap:20px;padding:20px 0!important}.imm3-footer-bottom p{font-size:11px;color:#676a63}
@media(max-width:780px){.imm3-footer-main{grid-template-columns:1fr 1fr!important;gap:35px!important}.imm3-footer-brand{grid-column:1/-1}.imm3-footer .imm-wrap{width:calc(100% - 42px)}}
@media(max-width:560px){.imm3-footer-main{grid-template-columns:1fr!important;padding:48px 0 35px;gap:25px!important}.imm3-footer-brand{grid-column:auto}.imm3-footer .imm-wrap{width:calc(100% - 32px)}.imm3-footer-bottom{display:block!important}.imm3-footer-bottom p{margin-bottom:8px!important}}

/* IMM 0.3 additional information pages */
.imm3-interior-page{background:var(--imm3-paper);margin:0!important}
.imm3-interior-page .imm-wrap{max-width:var(--imm3-max);width:min(calc(100% - 70px),var(--imm3-max));margin-inline:auto!important}
.imm-main .imm3-interior-page h1,.imm-main .imm3-interior-page h2,.imm-main .imm3-interior-page h3{font-family:Arial,Helvetica,sans-serif!important;font-weight:650!important;letter-spacing:-.045em!important;line-height:1.08!important}
.imm-main .imm3-interior-page h1{font-size:clamp(3rem,5.2vw,5.6rem)!important;margin:0 0 25px!important}
.imm-main .imm3-interior-page h1 em{font-style:normal;color:var(--imm3-timber)}
.imm-main .imm3-interior-page h2{font-size:clamp(2.1rem,3.7vw,3.5rem)!important;margin:0 0 22px!important}
.imm-main .imm3-interior-page h3{font-size:clamp(1.4rem,2vw,1.9rem)!important;margin:0 0 12px!important}
.imm3-about-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:70px!important;align-items:center;padding-bottom:85px}
.imm3-about-image{margin:0!important}.imm3-about-image img{width:100%;height:510px;object-fit:cover;display:block}
.imm3-about-text .imm3-body+.imm3-body{margin-top:16px!important}.imm3-about-text .wp-block-buttons{margin-top:30px!important}
.imm3-about-values{border-top:1px solid var(--imm3-line);padding:52px 0 108px;display:grid!important;grid-template-columns:repeat(3,1fr);gap:28px!important}
.imm3-about-value{border-right:1px solid var(--imm3-line);padding-right:25px}.imm3-about-value:last-child{border:0}.imm3-about-value h3{margin:0 0 14px!important}
.imm3-contact-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:80px!important;padding-bottom:125px}
.imm3-contact-card{background:#eeeae2;padding:62px}.imm3-contact-card .wp-block-buttons{margin-top:32px!important}
.imm3-contact-info{padding:30px 0}.imm3-contact-info .imm3-tiny{margin-top:24px!important}.imm3-contact-info h3 a{font-size:clamp(1.3rem,2.1vw,2rem);color:var(--imm3-ink);overflow-wrap:anywhere;text-decoration:none}
@media(max-width:780px){.imm3-interior-page .imm-wrap{width:calc(100% - 42px)}.imm3-about-grid,.imm3-contact-grid{grid-template-columns:1fr!important;gap:30px!important}.imm3-about-image img{height:420px}.imm3-about-values{grid-template-columns:1fr!important;gap:22px!important;padding-bottom:75px}.imm3-about-value{border:0;border-bottom:1px solid var(--imm3-line);padding-bottom:20px}.imm3-contact-card{padding:45px}.imm3-contact-grid{padding-bottom:75px}}
@media(max-width:560px){.imm3-interior-page .imm-wrap{width:calc(100% - 32px)}.imm-main .imm3-interior-page h1{font-size:clamp(2.9rem,12vw,4.1rem)!important}.imm3-about-image img{height:310px}.imm3-about-grid{padding-bottom:50px}.imm3-contact-card{padding:36px 25px}}
