:root{color-scheme:dark;--bg:#181818;--text:#fff;--muted:#b9b9b9;--line:#3b3b3b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--text);font-family:Helvetica,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid white;outline-offset:6px}h1,h2,h3,h4,h5,p,figure{margin:0}h1,h2,h3,h4,h5{line-height:1.12;font-weight:500}em{font-style:normal}p{color:var(--muted)}.site-header{height:100px;max-width:1600px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.wordmark{font-size:19px;font-weight:700;letter-spacing:.04em;line-height:1.4}.wordmark span{display:block;font-size:10px;letter-spacing:.2em;font-weight:400;color:var(--muted);margin-top:4px}.desktop-nav{display:flex;gap:28px;font-size:14px}.desktop-nav a{color:var(--muted)}.desktop-nav a:hover,.desktop-nav a.active{color:#fff}.header-meta{font-size:11px;letter-spacing:.1em;color:var(--muted)}.menu-toggle,.mobile-nav{display:none}.skip-link{position:fixed;top:-100px;left:20px;z-index:10;background:white;color:#181818;padding:12px}.skip-link:focus{top:12px}.hero{max-width:1600px;margin:auto;padding:64px 5% 88px;display:grid;grid-template-columns:1.13fr 1fr;gap:7%;align-items:center;min-height:calc(100svh - 100px)}.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--muted);font-weight:500}.hero h1{font-size:clamp(44px,5vw,78px);letter-spacing:-.055em;line-height:1.04;margin:25px 0 32px}.personal-intro{max-width:540px;font-size:17px;line-height:1.8}.primary-link{display:inline-flex;align-items:center;gap:42px;font-size:14px;padding:15px 0;border-bottom:1px solid #858585;margin-top:25px}.primary-link span{font-size:24px}.hero-visual{position:relative;align-self:stretch;min-height:590px;max-height:770px;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 24%;position:absolute;inset:0}.hero-visual figcaption{position:absolute;bottom:0;left:0;right:0;padding:50px 25px 22px;background:linear-gradient(transparent,#0009);font-size:11px;letter-spacing:.14em;display:flex;justify-content:space-between;color:white}.section-shell{max-width:1600px;margin:auto;padding:75px 5% 90px;border-top:1px solid var(--line)}.section-top{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:45px}.section-note{font-size:13px;color:var(--muted)}.section-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:end;margin-bottom:55px}h2{font-size:clamp(32px,3.5vw,52px);letter-spacing:-.045em}.section-intro>p{max-width:510px}.timeline{margin:0 0 0 24%;padding:0;list-style:none}.timeline li{display:grid;grid-template-columns:155px 1fr;gap:35px;border-top:1px solid var(--line);padding:30px 0}.timeline-date{font-size:12px;letter-spacing:.08em;color:var(--muted);padding-top:6px}.timeline h3{font-size:25px;letter-spacing:-.025em;margin-bottom:12px}.timeline p{color:#ededed;margin-bottom:3px}.timeline li div>span{color:#aaa;font-size:14px}.engagement-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%}.engagement-grid article{border-top:1px solid var(--line);padding-top:28px}.engagement-grid h3{font-size:27px;margin:18px 0 22px;max-width:470px}.project-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.project-visual{position:relative;overflow:hidden;min-height:480px;background:#282828}.project-visual img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.7)}.project-type,.image-caption{position:absolute;font-size:10px;letter-spacing:.08em;left:22px;background:#181818d9;padding:7px 10px}.project-type{top:20px}.image-caption{bottom:20px}.project-number{display:none}.project-info{padding:45px}.project-info h3{font-size:44px;letter-spacing:-.04em;margin:24px 0}.project-summary{font-size:16px}.project-stats{display:flex;gap:55px;margin:30px 0}.project-stats strong{font-size:33px;font-weight:400;display:block;line-height:1.2}.project-stats span{font-size:13px;color:var(--muted)}.role-note{border-top:1px solid var(--line);padding-top:22px;display:flex;gap:28px;font-size:14px}.role-note>span{font-size:11px;color:var(--muted);white-space:nowrap}.role-note small{font-size:12px}.detail-button{background:none;border:0;border-top:1px solid var(--line);width:100%;text-align:left;padding:20px 0 0;margin-top:25px;display:flex;justify-content:space-between;font-size:14px}.detail-button span{font-size:22px}.project-details{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:35px;border-top:1px solid var(--line)}[hidden]{display:none!important}.detail-no{font-size:12px;color:#999}.project-details h4{font-size:21px;margin:16px 0}.project-details p{font-size:15px}.approach{margin-top:75px}.approach .section-top{margin-bottom:30px}.approach .section-note{display:none}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.approach h2{font-size:32px;margin-bottom:25px}.approach-statement>p{margin:15px 0;font-size:15px}.profile-facts{margin:25px 0}.profile-facts>div{display:flex;gap:25px;border-top:1px solid var(--line);padding:12px 0;font-size:13px}.profile-facts dt{font-size:10px;min-width:90px;color:var(--muted)}.profile-facts dd{margin:0}.signature{display:none}details{border-top:1px solid var(--line)}summary{display:flex;align-items:center;gap:20px;cursor:pointer;padding:26px 0;list-style:none}summary::-webkit-details-marker{display:none}summary>span{font-size:12px;color:#aaa}summary h3,summary h4{font-size:22px;flex:1}summary b{font-size:25px;font-weight:300}details[open] summary b{transform:rotate(45deg)}.principles details>p{padding:0 0 24px 35px;font-size:15px}.toolbox{margin-top:35px}.toolbox>p{font-size:11px;letter-spacing:.1em;margin-bottom:15px}.toolbox>div,.company-focus{display:flex;flex-wrap:wrap;gap:10px}.toolbox span,.company-focus span{font-size:12px;border:1px solid #444;padding:6px 12px}.company-card{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:45px 0;border-top:1px solid var(--line)}.company-intro h3{font-size:clamp(40px,4.5vw,65px);letter-spacing:-.04em;margin:25px 0}.company-role{color:white;margin-bottom:23px}.company-focus{margin-top:30px}.company-focus span{font-size:10px}.company-services>.eyebrow{margin-bottom:25px}.service-content{padding:0 0 28px 34px}.service-content h5{font-size:17px;line-height:1.4;margin:20px 0 8px}.service-content p{font-size:15px}.closing-line{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:35px;margin-top:40px;font-size:14px;color:var(--muted)}footer{max-width:1600px;margin:auto;padding:35px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-name{font-size:24px}.footer-name>span{font-size:14px;margin-left:15px}footer>p{font-size:10px;letter-spacing:.08em}.private-note{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.private-note svg{width:15px;fill:none;stroke:currentColor}
@media(min-width:1600px){.hero{min-height:850px}}
@media(max-width:1100px){.header-meta{display:none}.hero{gap:5%;padding-top:40px}.hero-visual{min-height:590px}.project-info{padding:30px}.timeline{margin-left:12%}.project-info h3{font-size:36px}}
@media(max-width:760px){html{scroll-padding-top:20px}.site-header{height:84px;padding:0 6%;position:relative}.wordmark{font-size:16px}.wordmark span{font-size:9px}.desktop-nav{display:none}.menu-toggle{display:grid;gap:6px;background:none;border:1px solid #555;padding:13px}.menu-toggle span{display:block;width:20px;height:1px;background:white}.mobile-nav{display:flex;position:absolute;top:83px;left:0;right:0;background:#222;z-index:5;padding:25px 6%;flex-direction:column;gap:20px;border-bottom:1px solid #555}.hero{padding:38px 6% 55px;display:flex;flex-direction:column;gap:35px;min-height:0}.hero-content{width:100%}.hero h1{font-size:clamp(42px,8.8vw,66px);margin:20px 0 25px}.personal-intro{font-size:16px;line-height:1.75;max-width:none}.primary-link{margin-top:16px}.hero-visual{width:100%;height:490px;min-height:0;max-height:none;align-self:auto}.hero-visual img{object-position:center 23%}.hero-visual figcaption{padding:35px 18px 16px;font-size:9px}.section-shell{padding:45px 6% 55px}.section-top{margin-bottom:28px}.section-note{display:none}.section-intro{grid-template-columns:1fr;gap:22px;margin-bottom:35px}h2{font-size:36px}.timeline{margin:0}.timeline li{grid-template-columns:1fr;gap:12px;padding:24px 0}.timeline h3{font-size:23px}.engagement-grid,.approach-grid,.company-card{grid-template-columns:1fr;gap:35px}.engagement-grid h3{font-size:25px}.project-card{grid-template-columns:1fr}.project-visual{min-height:0;height:300px}.project-info{padding:25px}.project-info h3{font-size:36px}.project-stats{gap:35px}.project-stats strong{font-size:29px}.project-details{grid-template-columns:1fr;padding:25px}.approach{margin-top:45px}.approach h2{font-size:30px}.company-card{padding-top:30px}.company-intro h3{font-size:49px}.closing-line{flex-direction:column;font-size:13px}footer{padding:25px 6%;flex-wrap:wrap}footer>p{display:none}.footer-name{font-size:20px}.footer-name>span{font-size:12px}summary h3,summary h4{font-size:20px}.profile-facts>div{gap:12px}.private-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.section-intro>*,.engagement-grid>*,.approach-grid>*,.company-card>*,.project-card>*{min-width:0}h2,h3,h4,h5{overflow-wrap:anywhere} .role-note{flex-wrap:wrap;row-gap:8px}
@media(max-width:360px){.hero h1{font-size:38px}.section-intro h2{font-size:31px}.project-info{padding:20px}.image-caption{font-size:9px;left:12px;right:12px}.project-stats{gap:25px}.company-intro h3{font-size:43px}}
.project-gallery{display:flex;flex-direction:column;min-width:0}.gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;min-height:0}.gallery-track::-webkit-scrollbar{display:none}.gallery-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.gallery-slide img{display:block;min-height:100%;object-fit:cover}.gallery-dots{position:absolute;bottom:58px;left:0;right:0;display:flex;justify-content:center;gap:4px}.gallery-dots button{background:transparent;border:0;width:36px;height:36px;display:grid;place-items:center}.gallery-dots button::after{content:'';width:8px;height:8px;border:1px solid white;border-radius:50%;background:#181818}.gallery-dots button[aria-current=true]::after{background:white}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.portrait-toggle{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer}.portrait-toggle img{filter:grayscale(1);transition:filter .65s ease}.portrait-toggle[aria-pressed=true] img{filter:grayscale(0)}.hero-visual figcaption{pointer-events:none}.portrait-toggle:focus-visible{outline:2px solid white;outline-offset:-5px;z-index:1}
@media(hover:hover) and (pointer:fine){.portrait-toggle:hover img,.portrait-toggle:focus-visible img{filter:grayscale(0)}}
@media(prefers-reduced-motion:reduce){.portrait-toggle img{transition:none}}
.hero-visual{min-height:0;max-height:none;height:auto;align-self:center;width:100%;overflow:visible}.portrait-toggle{position:relative;inset:auto;display:block;height:auto;line-height:0}.hero-visual .portrait-toggle img{position:static;display:block;width:100%;height:auto;object-fit:contain}.hero-visual figcaption{display:none}
.project-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}.project-stats>div{min-width:0}.project-stats span{display:block}.company-photo{margin-top:30px}.company-photo-toggle{width:100%;position:relative;display:block;height:auto;line-height:0}.company-photo-toggle img{display:block;width:100%;height:auto;filter:none}.company-photo-toggle .company-bw{position:absolute;inset:0;transition:opacity .65s ease}.company-photo-toggle[data-color-ready=true][aria-pressed=true] .company-bw{opacity:0}
@media(hover:hover) and (pointer:fine){.company-photo-toggle[data-color-ready=true]:hover .company-bw,.company-photo-toggle[data-color-ready=true]:focus-visible .company-bw{opacity:0}}
@media(prefers-reduced-motion:reduce){.company-photo-toggle .company-bw{transition:none}}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.contact-grid>*{min-width:0}.contact-intro h2{margin-bottom:28px}.contact-intro>p{margin-bottom:18px;max-width:490px}.contact-email{display:inline-block;font-size:clamp(18px,2vw,25px);border-bottom:1px solid #777;margin:15px 0 30px;overflow-wrap:anywhere}.social-links{display:grid;gap:16px;font-size:14px}.social-links a{display:flex;justify-content:space-between;gap:20px;max-width:370px;color:#d5d5d5}.social-links a:hover{color:white}.contact-form{padding:32px;border:1px solid #484848;background:#202020;border-radius:12px;display:grid;gap:23px}.form-title{color:white;font-size:24px;letter-spacing:-.025em}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:block;font-size:14px;color:#f5f5f5}.contact-form label>span{font-size:12px;color:#b9b9b9}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:9px;padding:13px 12px;border:1px solid #555;border-radius:5px;background:#181818;color:white;font:inherit;font-size:16px;line-height:1.5}.contact-form textarea{resize:vertical;min-height:145px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a9a9a9}.contact-form :is(input,select,textarea):focus-visible{outline:2px solid white;outline-offset:3px}.contact-form .form-note{font-size:14px;line-height:1.6}.contact-submit{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid white;background:#fff;color:#181818;border-radius:5px;padding:15px 18px;font-size:16px;font-weight:500;min-height:54px}.contact-submit:hover{background:#dedede}.contact-submit span{font-size:23px}#contact-status:empty{display:none}@media(max-width:1000px){.contact-fields{grid-template-columns:1fr}}@media(max-width:760px){.contact-grid{grid-template-columns:1fr;gap:36px}.contact-form{padding:24px 20px}.contact-intro h2{font-size:36px}}

.hero-visual .hero-photo-toggle img{filter:none}.hero-visual .hero-photo-toggle .hero-bw{position:absolute;inset:0;transition:opacity .65s ease}.hero-photo-toggle .hero-color{aspect-ratio:1151/2048}.hero-photo-toggle[data-color-ready=true][aria-pressed=true] .hero-bw{opacity:0}.permit-note{margin-top:24px;padding-top:22px;border-top:1px solid var(--line);font-size:14px}@media(hover:hover) and (pointer:fine){.hero-photo-toggle[data-color-ready=true]:hover .hero-bw,.hero-photo-toggle[data-color-ready=true]:focus-visible .hero-bw{opacity:0}}@media(prefers-reduced-motion:reduce){.hero-visual .hero-photo-toggle .hero-bw{transition:none}}

/* Full portrait within a desktop viewport, with a clearly visible photo-colored glow. */
.hero{padding-top:32px;padding-bottom:32px;min-height:calc(100svh - 100px)}
.hero-visual{max-width:min(100%,calc((100svh - 164px)*1151/2048));justify-self:center;isolation:isolate}
.hero-photo-toggle::before{content:"";position:absolute;inset:2%;z-index:-1;background:var(--hero-color-glow,none) center/100% 100% no-repeat;filter:blur(32px) saturate(2.2) brightness(1.35);transform:scale(1.18);opacity:0;transition:opacity .65s ease;pointer-events:none}
.hero-photo-toggle[aria-pressed=true]::before{opacity:.9}
.linkedin-icon{width:19px;height:19px;flex:0 0 19px}.social-links a{align-items:center;gap:12px}.social-label{flex:1}.form-trap{display:none}.form-note a{text-decoration:underline;text-underline-offset:3px}.contact-submit:disabled{opacity:.6;cursor:not-allowed}.contact-form[aria-busy=true] .contact-submit{cursor:wait}
@media(hover:hover) and (pointer:fine){.hero-photo-toggle:hover::before,.hero-photo-toggle:focus-visible::before{opacity:.9}}
@media(max-width:760px){.hero{padding-top:38px;padding-bottom:55px;min-height:0}.hero-visual{max-width:min(100%,calc((100svh - 100px)*1151/2048));align-self:center}}
@media(min-width:761px) and (max-height:800px){.hero h1{font-size:clamp(36px,4vw,60px);margin:18px 0}.personal-intro{font-size:16px;line-height:1.6}.hero .primary-link{margin-top:12px}.hero{gap:4%}}
@media(prefers-reduced-motion:reduce){.hero-photo-toggle::before{transition:none}}

.hero-photo-toggle::after{content:"";position:absolute;inset:-30px;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 0% 32%,rgba(99,139,47,.65),transparent 58%),radial-gradient(ellipse at 100% 40%,rgba(191,104,72,.65),transparent 62%);filter:blur(30px);opacity:0;transition:opacity .65s ease}.hero-photo-toggle[aria-pressed=true]::after{opacity:.85}
@media(hover:hover) and (pointer:fine){.hero-photo-toggle:hover::after,.hero-photo-toggle:focus-visible::after{opacity:.85}}
@media(prefers-reduced-motion:reduce){.hero-photo-toggle::after{transition:none}}

.hero{overflow-x:clip}

.permit-note{display:flex;align-items:flex-start;gap:18px}.permit-note p{margin:0;flex:1;min-width:0}.ihk-link{display:block;flex:0 0 110px;background:#fff;padding:10px 8px;border-radius:3px;margin-top:3px}.ihk-link img{display:block;width:100%;height:auto}@media(max-width:480px){.permit-note{flex-direction:column;gap:14px}.ihk-link{flex-basis:auto;width:110px}}

.legal-links,.legal-footer nav{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;color:var(--muted)}.legal-links a:hover,.legal-footer a:hover,.legal-page a:hover{text-decoration:underline;text-underline-offset:3px}.legal-header{max-width:1600px;margin:auto;padding:28px 5%;border-bottom:1px solid var(--line);font-size:19px;font-weight:700;letter-spacing:.04em}.legal-page{max-width:840px;margin:0 auto;padding:56px 6% 90px}.legal-back{display:inline-block;color:var(--muted);margin-bottom:36px;font-size:14px}.legal-page h1{font-size:clamp(38px,5vw,60px);margin-bottom:48px;overflow-wrap:anywhere}.legal-page section{border-top:1px solid var(--line);padding:30px 0}.legal-page h2{font-size:clamp(23px,3vw,30px);margin-bottom:18px}.legal-page h3{font-size:19px;margin:22px 0 12px}.legal-page p{margin:0 0 16px;overflow-wrap:anywhere}.legal-page a{text-decoration:underline;text-underline-offset:3px}.legal-page ul{padding-left:24px;color:var(--muted);margin:0 0 18px}.legal-page li{margin-bottom:5px}.legal-footer{max-width:1600px;margin:auto;padding:28px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--muted)}@media(max-width:760px){.legal-header{padding:22px 6%}.legal-page{padding:36px 6% 60px}.legal-page h1{font-size:clamp(22px,6.5vw,32px);margin-bottom:35px}}

.wordmark{display:flex;align-items:center;gap:clamp(8px,1.2vw,14px);min-width:0;flex-shrink:0}.wordmark .brand-lettermark{display:block;width:clamp(44px,4.3vw,58px);height:auto;flex:none}.wordmark .wordmark-text{display:block;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;color:inherit;margin-top:0;white-space:nowrap}.menu-toggle{flex-shrink:0}.footer-name{display:inline-flex;align-items:center}.footer-name .brand-lettermark{display:block;width:70px;height:auto}.legal-header a{display:inline-flex;align-items:center}.legal-header .brand-lettermark{display:block;width:72px;height:auto}@media(max-width:760px){.site-header{gap:clamp(8px,2vw,20px)}.wordmark .brand-lettermark{width:clamp(42px,12vw,50px)}.wordmark .wordmark-text{font-size:inherit}}
