@font-face{font-display:swap;font-family:Gill Sans Site;font-style:normal;font-weight:300;src:local(Gill Sans Light),local(GillSans-Light),url(../media/GillSans-Light.252a1bbijh77e.otf)format("opentype")}:root{--ink:#343d45;--isotype:#72c6bc;--paper:#f4f3ed;--paper-deep:#e7e5dc;--moss:#495344;--lichen:#d99c08;--lichen-light:#efbd2c;--red:#a82225;--line:#3433352e;--font-site:"Gill Sans Site", "Gill Sans", "Gill Sans MT", "DM Sans", Arial, sans-serif;--font-display:var(--font-site);--font-body:var(--font-site);--font-meta:var(--font-site);background:var(--paper);color:var(--ink);font-family:var(--font-body);scroll-behavior:smooth;font-weight:300}*{box-sizing:border-box}html,body{max-width:100%;overflow-x:clip}body{margin:0}img,svg{max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.construction-page{background:var(--moss);color:var(--paper);isolation:isolate;min-height:100svh;padding:clamp(1.5rem,4vw,4rem) clamp(1.25rem,7vw,8rem);display:grid;position:relative;overflow:hidden}.construction-header{align-self:start}.construction-header img{filter:grayscale()invert()brightness(1.8)contrast(1.15);mix-blend-mode:screen;opacity:.92;width:clamp(14rem,28vw,24rem);height:auto;display:block}.construction-content{z-index:1;align-self:center;max-width:58rem;padding:clamp(4rem,10vw,8rem) 0;position:relative}.construction-content h1{max-width:50rem;margin-bottom:2rem;font-size:clamp(4.2rem,10vw,9rem);line-height:.84}.construction-content h1 em{color:var(--lichen-light)}.construction-content>p:not(.eyebrow){max-width:34rem;margin-bottom:2.75rem;font-size:clamp(1rem,1.55vw,1.25rem);line-height:1.6}.construction-content a{font-family:var(--font-meta);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid;gap:1.25rem;padding-bottom:.6rem;font-size:.68rem;display:inline-flex}.construction-content a:hover{color:var(--lichen-light)}.construction-content a span{font-size:1rem}.construction-footer{font-family:var(--font-meta);letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #f4f3ed3d;justify-content:space-between;align-self:end;padding-top:1rem;font-size:.58rem;display:flex}.construction-orbit{pointer-events:none;z-index:-1;border:clamp(2rem,5vw,5rem) solid #72c6bc33;border-radius:48% 52% 56% 44%;position:absolute;transform:rotate(-24deg)}.construction-orbit-large{width:clamp(22rem,55vw,52rem);height:clamp(22rem,55vw,52rem);top:clamp(4rem,8vw,9rem);right:clamp(-22rem,-14vw,-8rem)}.construction-orbit-small{border-width:clamp(1.2rem,2.8vw,2.5rem);width:clamp(9rem,20vw,18rem);height:clamp(9rem,20vw,18rem);top:clamp(-6rem,-3vw,-2rem);right:clamp(3rem,12vw,15rem);transform:rotate(32deg)}@media (max-width:620px){.construction-page{min-height:100svh}.construction-header img{width:14rem}.construction-content h1{font-size:clamp(3.6rem,18vw,5.4rem)}.construction-content a{align-items:flex-start;line-height:1.45}.construction-footer{flex-direction:column;align-items:flex-start;gap:.55rem}.construction-orbit-large{top:30%;right:-15rem}}.site-header{border-bottom:1px solid var(--line);z-index:10;background:#fff;justify-content:space-between;align-items:center;padding:.55rem clamp(1.25rem,5vw,5rem);display:flex;position:sticky;top:0}.brand{align-items:center;gap:.42rem;display:inline-flex}.brand-isotype{width:clamp(3.5rem,4.8vw,4.2rem);display:block}.brand-logotype{width:clamp(11.6rem,15vw,13.2rem);display:block}.main-nav{font-family:var(--font-meta);letter-spacing:.09em;text-transform:uppercase;gap:clamp(1.25rem,3vw,3rem);font-size:.65rem;display:flex}.main-nav a{transition:color .2s}.main-nav a:hover{color:var(--red)}.menu-toggle{background:0 0;border:0;padding:.4rem;display:none}.menu-toggle i{background:var(--ink);width:1.55rem;height:1px;margin:.27rem;display:block}.hero{color:var(--paper);isolation:isolate;place-items:end start;min-height:min(840px,100svh - 80px);display:grid;position:relative;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{object-fit:cover;object-position:center;z-index:-2;width:100%;height:100%}.hero-shade{z-index:-1;background:linear-gradient(90deg,#131613c7 0%,#13161366 49%,#1316132e 100%)}.hero-copy{padding:5rem clamp(1.25rem,8vw,9.5rem) clamp(4.5rem,8vw,7.4rem)}.eyebrow{font-family:var(--font-meta);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.3rem;font-size:.64rem}h1,h2,p{margin-top:0}h1,h2{font-family:var(--font-display);letter-spacing:-.05em;text-wrap:balance;font-weight:300}h1{margin-bottom:1.7rem;font-size:clamp(3.8rem,8vw,7.7rem);line-height:.9}h1 em,h2 em{color:var(--lichen-light);font-weight:300}.hero-description{max-width:25rem;margin-bottom:2.7rem;font-size:clamp(.92rem,1.4vw,1.1rem);line-height:1.55}.text-link{font-family:var(--font-meta);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:.55rem;font-size:.66rem}.text-link span{margin-left:1.2rem;font-size:1rem}.hero-caption{font-family:var(--font-meta);letter-spacing:.08em;text-align:right;text-transform:uppercase;margin:0;font-size:.54rem;line-height:1.65;position:absolute;bottom:2rem;right:clamp(1.25rem,5vw,5rem)}.portfolio-section,.projects-section,.about-me{padding:clamp(5.5rem,11vw,10rem) clamp(1.25rem,8vw,9.5rem)}.projects-section{background:var(--paper-deep)}.projects-section .portfolio-item{background:var(--paper)}.projects-section .item-number,.projects-section .item-title{background:var(--paper-deep)}.section-heading{max-width:58rem;margin-bottom:clamp(2.5rem,6vw,5.5rem)}.section-heading h2{margin:0;font-size:clamp(2.9rem,5.1vw,5.25rem);line-height:.94}.section-heading h2 em{color:var(--red)}.image-group-accordion{border-top:1px solid var(--line)}.image-group{border-bottom:1px solid var(--line)}.image-group h3{margin:0}.image-group-toggle{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:2.5rem minmax(0,1fr) auto 2rem;align-items:center;gap:clamp(.75rem,2vw,2rem);width:100%;padding:clamp(1.15rem,2vw,1.75rem) 0;display:grid}.image-group-toggle:focus-visible{outline:1px solid var(--red);outline-offset:.45rem}.image-group-number,.image-group-count{font-family:var(--font-meta);letter-spacing:.06em;text-transform:uppercase;font-size:.57rem}.image-group-number{color:var(--red)}.image-group-name{font-family:var(--font-display);letter-spacing:-.045em;font-size:clamp(1.8rem,3.6vw,3.7rem);font-weight:300;line-height:.95;transition:color .2s}.image-group-toggle:hover .image-group-name,.image-group.is-expanded .image-group-name{color:var(--red)}.image-group-count{white-space:nowrap}.image-group-icon{font-family:var(--font-display);text-align:right;font-size:1.8rem;font-weight:300;line-height:1}.image-group-panel{padding:.25rem 0 clamp(2.75rem,5vw,4.5rem) calc(2.5rem + clamp(.75rem,2vw,2rem));animation:.4s both reveal}.image-group-description{max-width:38rem;margin:0 0 2rem;font-size:.92rem;line-height:1.65}.portfolio-grid{grid-template-columns:repeat(12,1fr);gap:clamp(.65rem,1.5vw,1.35rem);display:grid}.portfolio-item{background:var(--paper-deep);display:block;position:relative;overflow:hidden}.portfolio-item:first-child{grid-column:span 5}.portfolio-item:nth-child(2){grid-column:span 7;margin-top:15%}.portfolio-item:nth-child(3){grid-column:3/span 4;margin-top:4%}.portfolio-item:nth-child(4){grid-column:span 5}.portfolio-item:nth-child(5){grid-column:span 3;margin-top:-3%}.portfolio-item:nth-child(6){grid-column:span 4;margin-top:16%}.portfolio-item img{object-fit:cover;width:100%;height:100%;transition:transform .55s,filter .55s;display:block}.portfolio-item:hover img{filter:saturate(1.13);transform:scale(1.045)}.portfolio-item:first-child img,.portfolio-item:nth-child(4) img{aspect-ratio:.8}.portfolio-item:nth-child(2) img{aspect-ratio:1.13}.portfolio-item:nth-child(3) img,.portfolio-item:nth-child(5) img,.portfolio-item:nth-child(6) img{aspect-ratio:.72}.item-number,.item-title{background:var(--paper);font-family:var(--font-meta);letter-spacing:.06em;text-transform:uppercase;padding:.45rem .55rem;font-size:.57rem;position:absolute}.item-number{top:0;left:0}.item-title{bottom:0;right:0}.gallery-hint{font-family:var(--font-meta);letter-spacing:.05em;opacity:.65;text-transform:uppercase;margin:2.25rem 0 0;font-size:.57rem}.collection-empty{border-bottom:1px solid var(--line);border-top:1px solid var(--line);margin:0;padding:2rem 0;font-size:.95rem}.about-me{background:var(--moss);color:var(--paper);grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(3.5rem,9vw,10rem);display:grid}.about-intro{align-self:center;max-width:32rem}.about-intro h2{margin-bottom:2.2rem;font-size:clamp(2.9rem,5.1vw,5.3rem);line-height:.92}.about-intro>p:last-child{max-width:26rem;margin:0;font-size:.95rem;line-height:1.75}.about-carousel{align-self:center;min-width:0}.carousel-frame{aspect-ratio:.88;background:#1e241e;position:relative;overflow:hidden}.carousel-frame img{object-fit:cover;width:100%;height:100%;animation:.65s both reveal;display:block}.carousel-controls{justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.carousel-dots{gap:.45rem;display:flex}.carousel-dots button{cursor:pointer;background:#f4f3ed73;border:0;border-radius:50%;width:.42rem;height:.42rem;padding:0;transition:background .2s,transform .2s}.carousel-dots button.is-active{background:var(--lichen-light);transform:scale(1.35)}.carousel-arrows{gap:.5rem;display:flex}.carousel-arrows button{color:var(--paper);cursor:pointer;background:0 0;border:1px solid #f4f3ed99;border-radius:50%;width:2.25rem;height:2.25rem;font-size:1.1rem;line-height:1;transition:background .2s,color .2s}.carousel-arrows button:hover{background:var(--paper);color:var(--moss)}.process{background:var(--paper-deep);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(3rem,10vw,10rem);padding:clamp(5rem,10vw,9rem) clamp(1.25rem,8vw,9.5rem);display:grid}.process-heading h2{margin:0;font-size:clamp(3.2rem,6vw,6rem);line-height:.88}.process-heading h2 em{color:var(--red)}.process-carousel{min-width:0}.process-card{background:var(--ink);isolation:isolate;min-height:clamp(19rem,29vw,24rem);animation:.45s both reveal;position:relative;overflow:hidden}.process-card>img,.process-card-shade{position:absolute;inset:0}.process-card>img{object-fit:cover;z-index:-2;width:100%;height:100%}.process-card-shade{z-index:-1;background:linear-gradient(#14191633 22%,#141916d6)}.process-card-content{color:var(--paper);height:100%;min-height:inherit;flex-direction:column;padding:clamp(1.5rem,4vw,3rem);display:flex}.process-card-content>span{color:var(--lichen-light);font-family:var(--font-meta);letter-spacing:.09em;font-size:.58rem}.process-card h3{font-family:var(--font-display);letter-spacing:-.045em;max-width:20rem;margin:auto 0 1.5rem;font-size:clamp(2rem,3.5vw,3.35rem);font-weight:300;line-height:.96}.process-card p{color:var(--paper);max-width:28rem;margin:0;font-size:.94rem;line-height:1.7}.process-controls{justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.process-dots{gap:.45rem;display:flex}.process-dots button{cursor:pointer;background:#343d4557;border:0;border-radius:50%;width:.42rem;height:.42rem;padding:0;transition:background .2s,transform .2s}.process-dots button.is-active{background:var(--red);transform:scale(1.35)}.process-arrows{gap:.5rem;display:flex}.process-arrows button{color:var(--ink);cursor:pointer;background:0 0;border:1px solid #343d458c;border-radius:50%;width:2.25rem;height:2.25rem;font-size:1.1rem;line-height:1;transition:background .2s,color .2s}.process-arrows button:hover{background:var(--ink);color:var(--paper)}.contact{background:var(--red);color:var(--paper);text-align:center;padding:clamp(5rem,10vw,10rem) clamp(1.25rem,8vw,9.5rem)}.contact h2{margin-bottom:2.5rem;font-size:clamp(4.3rem,10vw,9rem);line-height:.85}.instagram-link{font-family:var(--font-meta);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #fffc;padding-bottom:.6rem;font-size:.7rem}.instagram-link span{margin-left:2rem;font-size:1rem}.site-footer{font-family:var(--font-meta);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.4rem clamp(1.25rem,5vw,5rem);font-size:.57rem;display:flex}.site-footer a{text-underline-offset:.3rem;text-decoration:underline}.footer-credit{white-space:nowrap;align-items:center;gap:.38rem;display:inline-flex}.footer-credit img{border:1px solid var(--line);border-radius:1px;width:1.18rem;height:.78rem;display:block}.footer-credit [role=img]{font-size:.82rem;line-height:1}.footer-credit a{color:var(--red)}@keyframes reveal{0%{opacity:.5;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@media (max-width:700px){.site-header{padding-top:.4rem;padding-bottom:.4rem}.brand{gap:.3rem}.brand-isotype{width:3.25rem}.brand-logotype{width:11.3rem}.menu-toggle{z-index:1;display:block}.main-nav{background:var(--paper);flex-direction:column;justify-content:center;gap:1.5rem;padding-left:2rem;display:none;position:fixed;inset:0}.main-nav.is-open{display:flex}.main-nav a{font-family:var(--font-display);letter-spacing:-.04em;text-transform:none;font-size:2.75rem}.hero{min-height:calc(100svh - 69px)}.hero-shade{background:linear-gradient(#13161326 25%,#131613cc)}.hero-copy{padding-top:10rem;padding-bottom:4.7rem}.hero-caption{bottom:1.5rem}.section-heading,.about-me,.process{display:block}.section-heading h2{margin-bottom:1.5rem}.image-group-toggle{grid-template-columns:1.8rem minmax(0,1fr) 1.5rem;align-items:start;gap:.6rem .8rem}.image-group-count{grid-area:2/2}.image-group-icon{grid-area:1/3/span 2}.image-group-panel{padding-left:0}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.portfolio-item:nth-child(n){grid-column:span 1;margin-top:0}.portfolio-item:nth-child(2),.portfolio-item:nth-child(5){margin-top:3.5rem}.about-intro{margin-bottom:3rem}.about-me{padding-top:5rem;padding-bottom:5rem}.carousel-frame{aspect-ratio:.94}.process-heading{margin-bottom:3rem}.site-footer{text-align:center;flex-direction:column;align-items:center;gap:.85rem;padding-bottom:1.65rem}.site-footer>a{order:-1}.footer-credit{white-space:normal}}@media (max-width:380px){.hero-copy,.about-me,.portfolio-section,.projects-section,.process{padding-left:1.25rem;padding-right:1.25rem}.hero h1{font-size:3.25rem}.about-intro h2{font-size:2.6rem}.footer-credit{flex-wrap:wrap;justify-content:center;max-width:100%;line-height:1.65}}
