:root{--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:64px;--space-7:96px;--space-section:112px;--gutter:48px;--container:1320px;--header-height:96px;--text-small:12px;--text-label:14px;--text-body:17px;--text-lead:24px;--text-h3:28px;--text-h2:48px;--text-h1:68px;--text-hero:88px;--motion:240ms;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--space-4))}body{margin:0;background:var(--color-paper);color:var(--color-ink);font:var(--text-body)/1.7 var(--font-body);letter-spacing:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--font-heading);font-weight:500;line-height:1.12;letter-spacing:0;text-wrap:balance}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}p+p{margin-top:var(--space-3)}p{overflow-wrap:break-word}svg{width:20px;height:20px;flex-shrink:0;stroke-width:1.5}.wrap{width:min(calc(100% - var(--gutter)*2),var(--container));margin-inline:auto}.section{padding-block:var(--space-section)}.eyebrow{display:block;font-size:var(--text-small);font-weight:600;text-transform:uppercase;line-height:1.5;margin-bottom:var(--space-3);color:var(--color-accent)}.lead{font-size:var(--text-lead);line-height:1.5}.number{font-size:var(--text-small);color:var(--color-accent);font-variant-numeric:tabular-nums}.skip{position:fixed;left:var(--space-3);top:-100px;z-index:100;background:var(--color-paper);padding:var(--space-2)}.skip:focus{top:var(--space-2)}
.site-header{position:sticky;top:0;z-index:20;background:var(--color-paper);border-bottom:1px solid var(--color-line)}.header-inner{min-height:var(--header-height);padding-inline:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);max-width:1680px;margin:auto}.brand{display:block;flex-shrink:0;width:215px}.brand img{width:100%;height:auto}.site-header nav{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-label)}.site-header nav a{position:relative;white-space:nowrap}.site-header nav a:not(.contact-link):after{content:'';position:absolute;bottom:-6px;left:0;width:100%;height:1px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--motion)}.site-header nav a[aria-current]:after,.site-header nav a:hover:after{transform:scaleX(1)}.site-header nav a[aria-current]:after{height:2px}.external,.contact-link{display:inline-flex;align-items:center;gap:var(--space-1)}.contact-link{padding:var(--space-2) var(--space-3);border:1px solid var(--color-ink)}.contact-link:hover{background:var(--color-surface)}.menu-button{display:none;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--color-line);background:var(--color-paper);color:var(--color-ink)}
.hero{position:relative;isolation:isolate;min-height:570px;height:min(700px,calc(100svh - 190px));color:var(--color-inverse);display:flex;flex-direction:column;justify-content:space-between}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-image{object-fit:cover;object-position:60% 52%}.hero-shade{background:var(--color-veil);z-index:-1}.hero-content{padding-top:var(--space-6);padding-bottom:var(--space-5)}.hero .eyebrow{color:var(--color-gold)}.hero h1{font-size:var(--text-hero);max-width:800px;font-weight:500}.gold-dot{color:var(--color-gold)}.hero-line{font-size:var(--text-lead);margin-top:var(--space-3);margin-bottom:var(--space-4)}.button{display:inline-flex;gap:var(--space-5);align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);min-height:54px;background:var(--color-forest);color:var(--color-inverse);font-size:var(--text-label);font-weight:600;border:1px solid transparent;transition:background var(--motion),color var(--motion)}.button.light{background:var(--color-paper);color:var(--color-ink)}.button:hover{background:var(--color-gold);color:var(--color-ink)}.button svg,.text-link svg{transition:transform var(--motion)}.button:hover svg,.text-link:hover svg{transform:translate(3px,-3px)}.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding-block:var(--space-3);border-top:1px solid var(--color-gold);font-size:var(--text-small);text-transform:uppercase}.hero-bottom a{display:flex;gap:var(--space-2);align-items:center}
.service-strip{border-bottom:1px solid var(--color-line)}.service-strip .wrap{display:grid;grid-template-columns:repeat(3,1fr)}.service-strip a{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-3);border-right:1px solid var(--color-line);font-size:var(--text-label)}.service-strip a:first-child{padding-left:0}.service-strip a:last-child{border:0}.service-strip svg{margin-left:auto}.service-strip a:hover{color:var(--color-accent)}.page-body p{color:var(--color-muted)}.text-link{display:inline-flex;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--color-ink);padding-block:var(--space-2);margin-top:var(--space-3);font-size:var(--text-label);font-weight:600}.contact-band{background:var(--color-forest);color:var(--color-inverse);padding-block:var(--space-7)}.contact-band .wrap{position:relative}.contact-band .eyebrow{color:var(--color-gold)}.contact-band .button{margin-top:var(--space-4)}
.site-footer{padding-top:var(--space-6)}.footer-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-line);padding-bottom:var(--space-5)}.footer-top p{font-size:var(--text-label);color:var(--color-muted)}.footer-columns{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:var(--space-5);padding-block:var(--space-5);font-size:var(--text-label)}.footer-columns a{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere;margin-bottom:var(--space-1)}.footer-columns a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--color-line);padding-block:var(--space-3);display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-small);color:var(--color-muted)}
.page-heading{padding-block:var(--space-7);border-bottom:1px solid var(--color-line)}.page-heading h1{margin-bottom:var(--space-4);max-width:1000px}.page-heading p{max-width:880px}.page-layout{display:grid;grid-template-columns:280px 1fr;gap:var(--space-7);padding-block:var(--space-6)}.section-nav{align-self:start;position:sticky;top:calc(var(--header-height) + var(--space-4));font-size:var(--text-label)}.section-nav a{display:block;border-bottom:1px solid var(--color-line);padding-block:var(--space-2)}.page-body{max-width:800px}.page-body section{padding-bottom:var(--space-6);margin-bottom:var(--space-5);border-bottom:1px solid var(--color-line)}.page-body h2{margin-bottom:var(--space-4);font-size:var(--text-h3)}.resource-list a{display:flex;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3);border-bottom:1px solid var(--color-line)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7)}.contact-content h2{font-size:var(--text-h3);margin-bottom:var(--space-4)}fieldset{padding:0;border:0;margin:0;min-width:0}label{display:block;font-size:var(--text-label);margin-bottom:var(--space-3)}input,textarea{display:block;width:100%;border:1px solid var(--color-line);padding:var(--space-2);background:var(--color-surface);color:var(--color-ink);margin-top:var(--space-1)}button:disabled{opacity:.5;cursor:not-allowed}
.services-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5)}
.services-intro .lead{max-width:780px}
.services-intro .text-link{flex-shrink:0}
.services-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:var(--space-5);padding-block:var(--space-6)}
.services-rail{position:sticky;top:calc(var(--header-height) + var(--space-3));align-self:start}
.services-rail nav a{display:grid;grid-template-columns:20px 1fr 16px;gap:var(--space-2);padding-block:var(--space-2);border-bottom:1px solid var(--color-line);font-size:var(--text-label)}
.services-rail nav svg{width:16px;height:16px}
.services-rail nav a:hover{color:var(--color-accent)}
.service-detail{padding-block:var(--space-5);border-bottom:1px solid var(--color-line);scroll-margin-top:var(--space-3)}
.service-detail:first-child{padding-top:0}
.service-detail-heading{margin-bottom:var(--space-4)}
.service-detail h2{font-size:var(--text-h3)}
.service-detail h3{font-size:var(--text-lead);margin-block:var(--space-4) var(--space-2)}
.service-detail p{color:var(--color-muted);max-width:760px}
.technical-figure{margin:0;background:var(--color-paper);align-self:center}
.technical-figure img{width:100%;aspect-ratio:3/2;height:auto;object-fit:contain}
.service-pair{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'heading image' 'copy image';column-gap:var(--space-4);align-items:start}
.service-pair .service-detail-heading{grid-area:heading}
.service-pair .service-copy{grid-area:copy}
.service-pair .technical-figure{grid-area:image}
.service-assessment .technical-figure{max-width:580px;margin:var(--space-3) auto 0}
.service-acquisition .technical-figure{max-width:800px;margin:0 auto var(--space-4)}
.service-methods{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.service-methods h3{margin-top:0}
.illustration-note{font-size:var(--text-small);color:var(--color-muted);margin-top:var(--space-3)}
.service-summary{background:var(--color-surface);padding-block:var(--space-6)}
.service-summary .wrap{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-6)}
.service-summary .button{margin-top:var(--space-4)}
@media(max-width:1100px){.services-layout{grid-template-columns:1fr}.services-rail{position:static}.services-rail nav{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.services-rail nav a{grid-template-columns:1fr}.services-rail nav svg{display:none}}
@media(max-width:960px){.services-intro{display:block}}
@media(max-width:640px){.services-layout{padding-top:var(--space-4);gap:var(--space-4)}.services-rail nav{grid-template-columns:1fr 1fr;gap:var(--space-2)}.service-detail{padding-block:var(--space-4)}.service-pair{grid-template-columns:1fr;grid-template-areas:'heading' 'image' 'copy'}.service-pair .technical-figure{margin-bottom:var(--space-3)}.service-assessment{display:flex;flex-direction:column}.service-assessment .service-detail-heading{order:0}.service-assessment .technical-figure{order:1;margin:0 0 var(--space-3)}.service-assessment .service-copy{order:2}.service-methods,.service-summary .wrap{grid-template-columns:1fr;gap:var(--space-3)}}
.michigan-heading{padding-block:var(--space-6)}
.michigan-opening{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--space-5);align-items:center;padding-block:var(--space-5)}
.michigan-history .eyebrow{margin-bottom:var(--space-2)}
.michigan-history .lead{font-size:var(--text-body);line-height:1.7}
.history-year{display:block;font-size:var(--text-h1);font-family:var(--font-heading);line-height:1;margin-bottom:var(--space-3);color:var(--color-accent)}
.location-map{display:block;width:100%;height:auto;aspect-ratio:975/610;stroke-width:1}
.map-state{fill:var(--color-surface);stroke:var(--color-line);stroke-linejoin:round}
.map-michigan{fill:var(--color-gold);stroke:var(--color-accent)}
.michigan-map figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-1);font-size:var(--text-small);color:var(--color-muted);margin-top:var(--space-2)}
.michigan-map figcaption a:hover{text-decoration:underline}
.map-key{display:inline-flex;align-items:center;gap:var(--space-1)}
.map-key:before{content:'';width:10px;height:10px;background:var(--color-gold);border:1px solid var(--color-accent)}
.michigan-reading-band{background:var(--color-surface)}
.michigan-reading{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--space-7);padding-block:var(--space-6)}
.michigan-articles{max-width:800px}
.michigan-articles section{scroll-margin-top:var(--space-3)}
.michigan-articles section+section{border-top:1px solid var(--color-line);margin-top:var(--space-5);padding-top:var(--space-5)}
.michigan-articles h2{font-size:var(--text-h2);margin-bottom:var(--space-4)}
.michigan-articles p{color:var(--color-muted);white-space:pre-line}
.michigan-resource{display:flex;align-items:flex-start;gap:var(--space-3)}
.michigan-resource>svg{width:32px;height:32px;color:var(--color-accent)}
.michigan-resource .eyebrow{margin-bottom:0}
.michigan-resource .text-link{margin-top:0}
.michigan-next{padding-block:var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.michigan-next h2{font-size:var(--text-h3)}
@media(max-width:960px){.michigan-opening{gap:var(--space-4)}.michigan-reading{grid-template-columns:190px minmax(0,1fr);gap:var(--space-4)}}
@media(max-width:640px){.michigan-opening,.michigan-reading{grid-template-columns:1fr;padding-block:var(--space-4)}.michigan-reading .section-nav{position:static}.michigan-next{align-items:flex-start;flex-direction:column}.michigan-resource .text-link{align-items:flex-start}.michigan-map{max-width:480px}}
.resource-directory{padding-block:var(--space-5)}
.resource-group{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-6);padding-block:var(--space-4)}
.resource-group+.resource-group{border-top:1px solid var(--color-line);margin-top:var(--space-4);padding-top:var(--space-5)}
.resource-group-heading h2{font-size:var(--text-h3);max-width:300px;margin-bottom:var(--space-3)}
.resource-group-heading>svg{width:32px;height:32px;color:var(--color-accent)}
.resource-rows{list-style:none;margin:0;padding:0}
.resource-rows li+li{border-top:1px solid var(--color-line)}
.resource-rows a{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-2);transition:background var(--motion)}
.resource-rows a:hover{background:var(--color-surface)}
.resource-rows a:hover .resource-name{color:var(--color-accent)}
.resource-name{display:block;overflow-wrap:anywhere}
.resource-meta{display:block;font-size:var(--text-small);color:var(--color-muted);margin-top:var(--space-1)}
.resource-rows svg{color:var(--color-accent)}
.resource-unlinked{padding:var(--space-3) var(--space-2);color:var(--color-muted)}
.resource-next{background:var(--color-surface);padding-block:var(--space-5)}
.resource-next .wrap{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}
.resource-next h2{font-size:var(--text-h3)}
@media(max-width:640px){.resource-group{grid-template-columns:1fr;gap:var(--space-2)}.resource-group-heading>svg{display:none}.resource-group-heading h2{margin-bottom:0}.resource-rows a,.resource-unlinked{padding-inline:0}.resource-next .wrap{align-items:flex-start;flex-direction:column}}
.contact-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--space-7);padding-block:var(--space-6)}
.contact-layout h2{font-size:var(--text-h3);margin-bottom:var(--space-4)}
.contact-detail{display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--space-3);padding-block:var(--space-3);border-top:1px solid var(--color-line)}
.contact-detail>svg{color:var(--color-accent);margin-top:4px}
.contact-detail h3{font-size:var(--text-label);font-weight:600;margin-bottom:var(--space-2)}
.contact-detail p{color:var(--color-muted);max-width:300px}
.contact-detail a{overflow-wrap:anywhere}
.contact-detail a:hover{text-decoration:underline}
.contact-detail .text-link{margin-top:var(--space-1);padding-bottom:var(--space-1)}
.contact-email{display:block;margin-bottom:var(--space-1)}
.contact-message{border-left:1px solid var(--color-line);padding-left:var(--space-5)}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.contact-message textarea{resize:vertical;min-height:160px}
@media(max-width:960px){.contact-layout{gap:var(--space-4)}.contact-message{padding-left:var(--space-4)}.contact-fields{grid-template-columns:1fr;gap:0}}
@media(max-width:640px){.contact-layout{grid-template-columns:1fr;padding-block:var(--space-4);gap:var(--space-5)}.contact-message{border-left:0;border-top:1px solid var(--color-line);padding:var(--space-4) 0 0}}
.company-intro{padding-block:var(--space-6)}
.company-intro h2{max-width:1000px;font-size:var(--text-h2)}
.company-scope{max-width:920px;font-size:var(--text-lead);line-height:1.5;margin-top:var(--space-4);color:var(--color-muted)}
.company-detail{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-6);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-line)}
.company-label{font-size:var(--text-small);text-transform:uppercase;color:var(--color-accent);line-height:1.8}
.company-detail p{max-width:760px;color:var(--color-muted)}
.methods{background:var(--color-surface)}
.method-introduction{max-width:920px;margin-top:var(--space-4);color:var(--color-muted)}
.method-index{margin-top:var(--space-5);border-top:1px solid var(--color-line)}
.method{border-bottom:1px solid var(--color-line)}
.method summary{list-style:none;display:grid;grid-template-columns:72px 1fr 44px;gap:var(--space-3);align-items:center;padding-block:var(--space-4);cursor:pointer}
.method summary::-webkit-details-marker{display:none}
.method-number{font-family:var(--font-heading);font-size:var(--text-h3);font-variant-numeric:tabular-nums;color:var(--color-accent)}
.method summary h3{font-size:var(--text-h3);text-wrap:initial}
.method-toggle{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--color-line);transition:background var(--motion),color var(--motion)}
.method-toggle svg:last-child{display:none}
.method[open] .method-toggle svg:first-child{display:none}
.method[open] .method-toggle svg:last-child{display:block}
.method summary:hover .method-toggle,.method[open] .method-toggle{background:var(--color-forest);color:var(--color-inverse)}
.method-description{padding:0 0 var(--space-4) calc(72px + var(--space-3));max-width:900px}
.method-description p{color:var(--color-muted)}
.experience-intro{max-width:1000px;margin-top:var(--space-3);font-size:var(--text-body);color:var(--color-muted)}
.experience-layout{display:grid;grid-template-columns:5fr 6fr;gap:var(--space-6);align-items:start}
.experience-text{margin-top:var(--space-4)}
.experience-photo{position:sticky;top:calc(var(--header-height) + var(--space-4))}
.experience-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.experience-photo figcaption{font-size:var(--text-small);color:var(--color-muted);padding-top:var(--space-2)}
.experience-text article{border-top:1px solid var(--color-line);padding-block:var(--space-4)}
.experience-text article:first-child{padding-top:var(--space-3)}
.experience-text h3{margin-bottom:var(--space-3)}
.experience-text p{color:var(--color-muted)}
@media(max-width:960px){.experience-layout{gap:var(--space-4)}.company-detail{gap:var(--space-4)}}
@media(max-width:640px){.company-detail,.experience-layout{grid-template-columns:1fr;gap:var(--space-4)}.company-detail{margin-top:var(--space-4)}.company-label br{display:none}.company-label br:after{content:' / '}.method summary{grid-template-columns:28px 1fr 36px;gap:var(--space-2);padding-block:var(--space-3)}.method summary h3{font-size:var(--text-lead)}.method-number{font-size:var(--text-body)}.method-toggle{width:36px;height:36px}.method-description{padding-left:0}.experience-photo{position:static}.experience-photo img{aspect-ratio:4/3}.experience-layout{margin-top:var(--space-4)}}
@media(prefers-reduced-motion:no-preference){.reveal.pending{opacity:0;transform:translateY(24px)}.reveal{transition:opacity 650ms var(--ease),transform 650ms var(--ease)}}
@media(min-width:1500px){.hero-content{padding-top:var(--space-7)}}
@media(max-width:1150px){:root{--gutter:32px;--text-hero:76px;--space-section:88px}.site-header nav{gap:var(--space-3);font-size:var(--text-small)}.brand{width:180px}.overview,.specialty-layout,.page-layout,.contact-content{gap:var(--space-5)}}
@media(max-width:960px){:root{--header-height:80px;--text-h2:40px;--text-h1:56px;--text-hero:68px}.menu-button{display:flex}.site-header nav{display:none;position:absolute;top:100%;inset-inline:0;background:var(--color-paper);padding:var(--space-3) var(--gutter);max-height:calc(100svh - var(--header-height));overflow-y:auto;border-bottom:1px solid var(--color-line);font-size:var(--text-body)}.site-header nav.open{display:grid;gap:var(--space-3)}.site-header nav a{padding-block:var(--space-1);width:fit-content}.hero{min-height:560px}.service-strip a{gap:var(--space-2);padding-inline:var(--space-2)}.page-layout{grid-template-columns:200px 1fr}.footer-columns{gap:var(--space-3)}}
@media(max-width:640px){:root{--gutter:24px;--space-section:64px;--text-hero:50px;--text-h1:42px;--text-h2:36px;--text-h3:25px;--text-lead:21px;--text-body:16px;--header-height:76px}.brand{width:174px}.hero{height:calc(100svh - 150px);min-height:520px;max-height:700px}.hero-image{object-position:62% center}.hero-content{padding-top:var(--space-5)}.hero h1{font-size:var(--text-hero)}.hero-line{max-width:280px}.hero .eyebrow{font-size:10px}.hero-bottom{padding-block:var(--space-2)}.service-strip .wrap{display:block}.service-strip a,.service-strip a:first-child{padding:var(--space-2) 0;border-right:0;border-bottom:1px solid var(--color-line)}.overview,.specialty-layout,.expertise-grid,.page-layout,.contact-content{grid-template-columns:1fr;gap:var(--space-4)}.overview .section-heading{margin-bottom:var(--space-2)}.field-photo{position:static}.field-photo img{aspect-ratio:4/3}.specialty .section-heading{margin-bottom:var(--space-4)}.expertise-grid article+article{margin-top:var(--space-4)}.contact-band{padding-block:var(--space-6)}.footer-top{align-items:flex-start;gap:var(--space-4);flex-direction:column}.footer-columns{grid-template-columns:1fr;gap:var(--space-4)}.footer-bottom{flex-wrap:wrap}.page-heading{padding-block:var(--space-5)}.page-layout{padding-block:var(--space-4)}.section-nav{position:static;margin-bottom:var(--space-3)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
