:root{color-scheme:light;--bg: #f7f7f2;--bg-soft: #ecece6;--ink: #0d0d0b;--ink-soft: #393b36;--muted: #74766f;--line: rgba(13, 13, 11, .16);--line-strong: rgba(13, 13, 11, .34);--accent: #8f9d85;--accent-dark: #617258;--inverse: #f8f8f2;--inverse-muted: rgba(248, 248, 242, .64);--max-width: 1440px;--page-pad: 2.25rem;--nav-height: 72px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{overflow-x:hidden;background:var(--bg);scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 1.5rem)}body{min-width:320px;margin:0;overflow-x:hidden;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}button,input,textarea,select{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}:focus-visible{outline:2px solid var(--accent-dark);outline-offset:4px}.skip-link{position:fixed;top:1rem;left:1rem;z-index:100;transform:translateY(-150%);background:var(--ink);color:var(--inverse);padding:.75rem 1rem}.skip-link:focus{transform:translateY(0)}.section-grid{display:grid;width:min(100%,var(--max-width));margin:0 auto;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 2rem;padding:0 var(--page-pad)}.section-kicker,.site-nav,.side-index,.intro-status dt,.project-index-row__category,.project-index-row__summary,.project-card__meta,.project-card__details,.projects-controls,.contact-details,.contact-links,.contact-footer,.project-dialog__details,.project-dialog__tags{font-size:.78rem}.section-kicker{margin:0;color:var(--muted);font-weight:700;text-transform:uppercase}.eyebrow{margin:0 0 1rem;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase}.site-nav{position:fixed;top:0;left:0;z-index:40;display:grid;width:100%;min-height:var(--nav-height);grid-template-columns:minmax(130px,1fr) auto;align-items:center;padding:0 var(--page-pad);border-bottom:1px solid rgba(13,13,11,.08);background:#f7f7f2db;transition:background-color .22s ease,border-color .22s ease,min-height .22s ease}.site-nav.is-scrolled{min-height:64px;border-color:#0d0d0b24;background:#f7f7f2f5}.brand-lockup,.site-nav__links{display:flex;align-items:center}.brand-lockup{gap:.75rem;font-weight:800}.brand-lockup span:first-child{width:.72rem;height:.72rem;background:var(--ink)}.site-nav__links{gap:2.8rem}.site-nav__links a{position:relative;padding:.65rem 0;color:var(--ink-soft)}.site-nav__links a:after,.contact-email:after,.contact-links a:after,.project-card__action:after{position:absolute;right:0;bottom:.28rem;left:0;height:1px;content:"";background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.site-nav__links a:hover,.site-nav__links a:focus-visible,.site-nav__links a.is-active{color:var(--ink)}.site-nav__links a:hover:after,.site-nav__links a:focus-visible:after,.site-nav__links a.is-active:after,.contact-email:hover:after,.contact-email:focus-visible:after,.contact-links a:hover:after,.contact-links a:focus-visible:after,.project-card__action:hover:after,.project-card__action:focus-visible:after{transform:scaleX(1)}.side-index{position:fixed;top:8.4rem;bottom:2rem;left:var(--page-pad);z-index:20;display:flex;width:56px;flex-direction:column;justify-content:space-between;color:#0d0d0b6b;pointer-events:none}.side-index:before{position:absolute;top:3.1rem;bottom:7.8rem;left:50%;width:1px;content:"";background:#0d0d0b14}.side-index__label{font-weight:700;text-transform:uppercase;writing-mode:vertical-rl}.side-index__nav{display:grid;gap:.72rem;pointer-events:auto}.side-index__nav a{display:block;width:2rem;padding:.28rem 0;color:#0d0d0b6b;font-weight:700;transition:color .18s ease,transform .18s ease}.side-index__nav a:hover,.side-index__nav a:focus-visible{color:var(--ink);transform:translate(.2rem)}.intro-section{min-height:98svh;border-bottom:1px solid var(--line)}.intro-grid{min-height:98svh;align-items:end;padding-top:calc(var(--nav-height) + 5.8rem);padding-bottom:7.2rem}.intro-copy{grid-column:2 / 8}.intro-copy h1{margin:1.7rem 0 0;font-family:Archivo,Inter,sans-serif;font-size:8.55rem;font-weight:900;line-height:.84;text-transform:uppercase}.intro-copy__body{max-width:620px;margin-top:3.75rem}.intro-role{max-width:620px;margin:0;font-size:2rem;font-weight:650;line-height:1.08}.intro-text{max-width:570px;margin:2.15rem 0 0;color:var(--ink-soft);font-size:1.04rem;line-height:1.66}.intro-status{grid-column:9 / 13;align-self:end;justify-self:end;width:min(100%,388px)}.intro-status dl{margin:0;padding:0;border-top:1px solid var(--line-strong)}.intro-status__item{display:grid;grid-template-columns:6.8rem minmax(0,1fr);gap:1rem;align-items:baseline;padding:1.08rem 0;border-bottom:1px solid var(--line)}.intro-status dt{margin:0;color:var(--muted);font-weight:700;text-transform:uppercase}.intro-status dt span{display:block;margin-bottom:.3rem;color:var(--accent-dark);font-family:Archivo,Inter,sans-serif;font-size:1.04rem;line-height:1}.intro-status dd{display:grid;gap:.28rem;margin:0;color:var(--ink)}.intro-status dd span{display:flex;align-items:baseline;min-width:0;font-size:.96rem;line-height:1.35}.with-status-dot i{display:inline-block;width:.48rem;height:.48rem;flex:0 0 auto;margin-right:.58rem;border-radius:50%;background:var(--accent);transform-origin:center;animation:status-pulse 2.8s ease-in-out infinite}.projects-section{padding:7.4rem 0 8.5rem;border-bottom:1px solid var(--line)}.projects-section--index{padding:5.2rem 0 7.4rem}.projects-heading{align-items:end;margin-bottom:4.5rem}.projects-heading>.section-kicker{grid-column:2 / 5}.projects-heading>div{grid-column:5 / 13}.projects-heading h2{max-width:720px;margin:0;font-family:Archivo,Inter,sans-serif;font-size:3.8rem;font-weight:700;line-height:.98}.projects-heading--index{min-height:124px;align-items:center;margin-bottom:0;border-bottom:1px solid var(--line)}.projects-heading--index>.section-kicker{grid-column:2 / 5}.projects-heading--index h2{grid-column:5 / 13;max-width:520px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.06rem;font-weight:600;line-height:1.36}.projects-controls{display:grid;max-width:460px;grid-template-columns:auto minmax(120px,1fr) 42px 42px;gap:.9rem;align-items:center;margin-top:2.2rem;color:var(--muted);font-weight:700}.projects-progress{height:1px;overflow:hidden;background:var(--line)}.projects-progress span{display:block;width:100%;height:100%;background:var(--ink);transform-origin:left;transition:transform .22s ease}.projects-controls button{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);background:transparent;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.projects-controls button:hover,.projects-controls button:focus-visible{border-color:var(--ink);background:var(--ink);color:var(--inverse)}.projects-controls button:disabled{color:#0d0d0b42;cursor:default}.projects-controls button:disabled:hover{border-color:var(--line);background:transparent;color:#0d0d0b42}.projects-rail{display:flex;width:100vw;gap:2rem;overflow-x:auto;overscroll-behavior-inline:contain;padding:0 max(var(--page-pad),calc((100vw - var(--max-width)) / 2 + var(--page-pad))) 2rem;cursor:grab;scroll-behavior:smooth;scroll-padding-left:max(var(--page-pad),calc((100vw - var(--max-width)) / 2 + var(--page-pad)));scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.projects-rail::-webkit-scrollbar{display:none}.projects-rail.is-dragging{cursor:grabbing;scroll-snap-type:none;-webkit-user-select:none;user-select:none}.project-index-list{width:min(100%,var(--max-width));margin:0 auto;padding:0 var(--page-pad);border-bottom:1px solid var(--line)}.project-index-shell{scroll-margin-top:96px}.project-index-row{position:relative;display:grid;width:100%;min-height:150px;grid-template-columns:76px minmax(230px,.9fr) minmax(220px,.55fr) minmax(360px,1.15fr) 64px;align-items:stretch;overflow:hidden;padding:0;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;cursor:pointer;isolation:isolate;transition:background-color .26s ease,color .26s ease}.project-index-row__number,.project-index-row__meta,.project-index-row__summary,.project-index-row__arrow{position:relative;z-index:1}.project-index-row__number{display:flex;align-items:center;justify-content:center;color:var(--accent-dark);font-family:Archivo,Inter,sans-serif;font-size:1.58rem;font-weight:700}.project-index-row__meta{display:grid;grid-template-columns:minmax(0,1fr) 148px;gap:1.8rem;align-items:center;min-width:0;padding:1.25rem 1rem 1.25rem 0}.project-index-row__title{display:block;font-family:Archivo,Inter,sans-serif;font-size:3rem;font-weight:700;line-height:.98;transition:transform .26s ease}.project-index-row__category{color:var(--ink-soft);text-transform:uppercase}.project-index-row__summary{display:flex;align-items:center;padding-right:1.4rem;color:var(--ink-soft);line-height:1.45}.project-index-row__cover{position:relative;min-width:0;margin:.75rem 0;overflow:hidden;border-left:1px solid var(--line)}.project-index-row__cover:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:#0d0d0b00;transition:background-color .26s ease}.project-index-row__cover img{width:100%;height:100%;min-height:124px;object-fit:cover;transition:transform .52s ease}.project-index-row__arrow{display:flex;align-items:center;justify-content:center;border-left:1px solid var(--line)}.project-index-row__view{position:absolute;z-index:3;top:var(--cursor-y);left:var(--cursor-x);display:grid;width:72px;height:72px;place-items:center;border-radius:50%;background:var(--accent);color:var(--ink);font-size:.82rem;font-weight:700;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.88);transition:opacity .16s ease,transform .22s ease}.project-index-row:hover,.project-index-row:focus-visible{background:var(--ink);color:var(--inverse)}.project-index-row:hover .project-index-row__title,.project-index-row:focus-visible .project-index-row__title{transform:translate(.42rem)}.project-index-row:hover .project-index-row__category,.project-index-row:hover .project-index-row__summary,.project-index-row:focus-visible .project-index-row__category,.project-index-row:focus-visible .project-index-row__summary{color:#f8f8f2b8}.project-index-row:hover .project-index-row__cover:after,.project-index-row:focus-visible .project-index-row__cover:after{background:#0d0d0b1f}.project-index-row:hover .project-index-row__cover img,.project-index-row:focus-visible .project-index-row__cover img{transform:scale(1.035)}.project-index-row:hover .project-index-row__view,.project-index-row:focus-visible .project-index-row__view{opacity:1;transform:translate(-50%,-50%) scale(1)}.project-card{position:relative;display:grid;min-height:650px;flex:0 0 min(76vw,1080px);grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr auto;gap:1.35rem 1.6rem;overflow:hidden;padding:1.35rem 0 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);background:var(--bg);scroll-snap-align:start;isolation:isolate}.project-card__copy{position:relative;z-index:2}.project-card__meta{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin-bottom:1.8rem;color:var(--muted);font-weight:700;text-transform:uppercase}.project-card__meta span:first-child{color:var(--accent-dark);font-family:Archivo,Inter,sans-serif;font-size:1.28rem}.project-card h3{margin:0;font-family:Archivo,Inter,sans-serif;font-size:4.8rem;font-weight:900;line-height:.88;text-transform:uppercase;transition:transform .36s ease}.project-card__copy p{max-width:410px;margin:1.4rem 0 0;color:var(--ink-soft);line-height:1.58}.project-card__media{min-width:0;overflow:hidden;border-left:1px solid var(--line);background:var(--bg-soft)}.project-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .62s ease,filter .62s ease}.project-card__details{display:grid;gap:1rem;color:var(--muted)}.project-card__details div{border-top:1px solid var(--line);padding-top:.9rem}.project-card__details dt{margin-bottom:.32rem;font-weight:700;text-transform:uppercase}.project-card__details dd{margin:0;color:var(--ink);font-size:.92rem;line-height:1.45}.project-card__action{position:relative;z-index:3;display:inline-flex;width:max-content;align-items:center;gap:.5rem;align-self:end;border:0;border-bottom:1px solid var(--line-strong);background:transparent;padding:0 0 .55rem;color:var(--ink);cursor:pointer;font-weight:700}.project-card__action:after{bottom:-1px}.project-card__action svg{transition:transform .22s ease}.project-card__action:hover svg,.project-card__action:focus-visible svg{transform:translate(.16rem,-.16rem)}.project-card__cursor{position:absolute;top:var(--cursor-y);left:var(--cursor-x);z-index:5;display:grid;width:72px;height:72px;place-items:center;border-radius:50%;background:var(--accent);color:var(--ink);font-size:.82rem;font-weight:700;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.88);transition:opacity .16s ease,transform .22s ease}.project-card__cursor.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.project-card:hover h3{transform:translate(.32rem)}.project-card:hover .project-card__media img{transform:scale(1.035)}.project-card--split .project-card__copy{grid-column:1 / 5;grid-row:1}.project-card--split .project-card__media{grid-column:6 / 13;grid-row:1 / 4}.project-card--split .project-card__details{grid-column:1 / 5;grid-row:2;align-self:end}.project-card--split .project-card__action{grid-column:1 / 5;grid-row:3}.project-card--overlay .project-card__media{grid-column:1 / 13;grid-row:1 / 4;border-left:0}.project-card--overlay .project-card__copy{grid-column:1 / 7;grid-row:3;align-self:end;max-width:620px;border-top:1px solid var(--line-strong);background:var(--bg);padding:1.35rem 1.4rem 1rem 0}.project-card--overlay .project-card__details{grid-column:8 / 12;grid-row:3;align-self:end;background:var(--bg);padding:1rem 0 0 1.2rem}.project-card--overlay .project-card__action{grid-column:12 / 13;grid-row:3;align-self:end}.project-card--offset .project-card__media{grid-column:1 / 9;grid-row:1 / 3;min-height:410px;border-left:0}.project-card--offset .project-card__copy{grid-column:7 / 13;grid-row:2;align-self:end;background:var(--bg);padding:1.4rem 0 0 1.4rem}.project-card--offset .project-card__details{grid-column:1 / 6;grid-row:3}.project-card--offset .project-card__action{grid-column:7 / 13;grid-row:3}.project-card--type .project-card__copy{grid-column:1 / 8;grid-row:1 / 3;align-self:center}.project-card--type h3{max-width:680px;font-size:6.4rem}.project-card--type .project-card__media{grid-column:8 / 13;grid-row:1 / 4}.project-card--type .project-card__details{grid-column:1 / 6;grid-row:3}.project-card--type .project-card__action{grid-column:6 / 8;grid-row:3}.contact-section{overflow:hidden;background:var(--ink);color:var(--inverse)}.contact-grid{min-height:88svh;align-items:center;padding-top:7rem;padding-bottom:5rem}.contact-copy{grid-column:2 / 8}.contact-copy .section-kicker{color:var(--accent)}.contact-copy h2{display:grid;gap:.12em;margin:1.2rem 0 0;font-family:Archivo,Inter,sans-serif;font-size:6rem;font-weight:900;line-height:.9;text-transform:uppercase}.contact-copy h2 span{display:block}.contact-panel{grid-column:8 / 13;align-self:end}.contact-email{position:relative;display:inline-flex;max-width:100%;align-items:center;gap:1rem;padding-bottom:.78rem;color:var(--inverse);font-family:Archivo,Inter,sans-serif;font-size:2rem;font-weight:700;overflow-wrap:anywhere}.contact-email:after{bottom:0;height:1px;background:#f8f8f2a6;transform:scaleX(1)}.contact-email:hover:after,.contact-email:focus-visible:after{transform:scaleX(.86)}.contact-details{display:grid;margin:3rem 0 2rem;padding:0;border-top:1px solid rgba(248,248,242,.22)}.contact-details div{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:1rem;padding:1.05rem 0;border-bottom:1px solid rgba(248,248,242,.14)}.contact-details dt{color:var(--inverse-muted);font-weight:700;text-transform:uppercase}.contact-details dd{margin:0;color:var(--inverse)}.contact-links{display:flex;flex-wrap:wrap;gap:1rem 1.35rem}.contact-links a{position:relative;display:inline-flex;align-items:center;gap:.35rem;min-height:44px;color:#f8f8f2c7}.contact-links a:hover,.contact-links a:focus-visible{color:var(--inverse)}.contact-footer{display:grid;width:min(100%,var(--max-width));margin:0 auto;grid-template-columns:1fr auto auto auto;gap:1.5rem;padding:1.4rem var(--page-pad) 2rem;border-top:1px solid rgba(248,248,242,.16);color:var(--inverse-muted)}.contact-footer span:first-child{color:var(--inverse);font-weight:800}.contact-footer a{color:#f8f8f285;transition:color .18s ease}.contact-footer a:hover,.contact-footer a:focus-visible{color:var(--inverse)}.project-dialog{width:min(980px,calc(100vw - 2rem));padding:0;border:1px solid var(--line-strong);background:var(--bg);color:var(--ink)}.project-dialog::backdrop{background:#0d0d0b94}.project-dialog__inner{position:relative;display:grid;grid-template-columns:minmax(260px,.95fr) minmax(0,1.05fr)}.project-dialog__media{min-height:520px;background:var(--ink)}.project-dialog__media img{width:100%;height:100%;object-fit:cover}.project-dialog__content{padding:2.25rem}.project-dialog__content .section-kicker,.project-dialog__content .eyebrow{color:var(--muted)}.project-dialog__content h2{margin:0 0 1.2rem;font-family:Archivo,Inter,sans-serif;font-size:4rem;line-height:.95}.project-dialog__description{margin:0 0 2rem;color:var(--ink-soft);font-size:1.1rem}.project-dialog__details{display:grid;gap:1rem;margin:0 0 1.6rem}.project-dialog__details div{border-top:1px solid var(--line);padding-top:1rem}.project-dialog__details dt{margin-bottom:.35rem;color:var(--muted);text-transform:uppercase}.project-dialog__details dd{margin:0}.project-dialog__tags{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.25rem}.project-dialog__tags span{border:1px solid var(--line);padding:.45rem .6rem}.icon-button{position:absolute;top:1rem;right:1rem;z-index:3;display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);background:var(--bg);cursor:pointer}.text-link{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;color:inherit;font-weight:700}.admin-shell{min-height:100svh;background:var(--bg);color:var(--ink)}.admin-shell--login{display:grid;place-items:center;padding:var(--page-pad)}.admin-header{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;min-height:72px;padding:0 var(--page-pad);border-bottom:1px solid var(--line);background:#f7f7f2f5}.admin-header__meta,.admin-actions,.admin-button,.admin-project-editor__head,.admin-section__heading--with-action,.admin-file-button{display:flex;align-items:center}.admin-header__meta{gap:1rem;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase}.admin-hero,.admin-section,.admin-login{width:min(100%,var(--max-width));margin:0 auto;padding-right:var(--page-pad);padding-left:var(--page-pad)}.admin-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem 2rem;padding-top:5.8rem;padding-bottom:4rem;border-bottom:1px solid var(--line)}.admin-hero .section-kicker{grid-column:1 / 4}.admin-hero h1{grid-column:4 / 9;margin:0;font-family:Archivo,Inter,sans-serif;font-size:4.8rem;font-weight:900;line-height:.9;text-transform:uppercase}.admin-actions{grid-column:9 / 13;justify-content:flex-end;gap:.75rem;align-self:end;flex-wrap:wrap}.admin-section{display:grid;grid-template-columns:minmax(180px,.28fr) minmax(0,1fr);gap:2rem;padding-top:3.8rem;padding-bottom:3.8rem;border-bottom:1px solid var(--line)}.admin-section__heading{align-self:start}.admin-section__heading p,.admin-project-editor__head p{margin:0 0 .85rem;color:var(--accent-dark);font-family:Archivo,Inter,sans-serif;font-size:1.24rem;font-weight:700}.admin-section__heading h2,.admin-project-editor__head h3{margin:0;font-family:Archivo,Inter,sans-serif;font-size:2rem;line-height:.98}.admin-section__heading--with-action{justify-content:space-between;gap:1rem}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.admin-form-grid label,.admin-status-item label,.admin-upload-row label,.admin-login__form label{display:grid;gap:.45rem;min-width:0;color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase}.admin-field--wide{grid-column:1 / -1}.admin-form-grid input,.admin-form-grid textarea,.admin-form-grid select,.admin-status-item input,.admin-status-item textarea,.admin-upload-row input,.admin-inline-fields input,.admin-login input{width:100%;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);padding:.78rem .85rem;outline:0;transition:border-color .18s ease,background-color .18s ease}.admin-form-grid textarea,.admin-status-item textarea{resize:vertical}.admin-form-grid input:focus,.admin-form-grid textarea:focus,.admin-form-grid select:focus,.admin-status-item input:focus,.admin-status-item textarea:focus,.admin-upload-row input:focus,.admin-inline-fields input:focus,.admin-login input:focus{border-color:var(--ink);background:#ffffff5c}.admin-button,.admin-icon-button,.admin-file-button{border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer;font-size:.78rem;font-weight:800;text-transform:uppercase;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.admin-button,.admin-file-button{gap:.45rem;justify-content:center;min-height:42px;padding:.7rem .9rem}.admin-button--dark,.admin-button:hover,.admin-button:focus-visible,.admin-file-button:hover,.admin-file-button:focus-visible,.admin-icon-button:hover,.admin-icon-button:focus-visible{border-color:var(--ink);background:var(--ink);color:var(--inverse)}.admin-button:disabled,.admin-file-button:has(input:disabled){opacity:.48;cursor:wait}.admin-icon-button{display:grid;width:40px;height:40px;place-items:center}.admin-message{margin:0;color:var(--accent-dark);font-size:.78rem;font-weight:800;text-transform:uppercase}.admin-message--error{color:#9a3e32}.admin-status-list,.admin-project-list{display:grid;gap:1rem}.admin-status-list{grid-column:2;margin-top:1.35rem}.admin-status-item{display:grid;grid-template-columns:minmax(160px,.34fr) minmax(0,1fr) auto;gap:1rem;align-items:end;padding-top:1rem;border-top:1px solid var(--line)}.admin-check{align-self:center}.admin-check input{width:auto}.admin-project-list{grid-column:1 / -1}.admin-project-editor{padding:1.2rem 0 1.7rem;border-top:1px solid var(--line-strong)}.admin-project-editor__head{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:1rem;margin-bottom:1.2rem}.admin-project-editor__head p{margin:0}.admin-upload-row{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:1rem;align-items:end;margin-top:1rem}.admin-upload-row__preview{display:grid;height:92px;place-items:center;overflow:hidden;border:1px solid var(--line);background:var(--bg-soft)}.admin-upload-row__preview img{width:100%;height:100%;object-fit:cover}.admin-file-button{position:relative;min-width:148px}.admin-file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.admin-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.admin-two-column h3{margin:0 0 1rem;color:var(--muted);font-size:.78rem;text-transform:uppercase}.admin-inline-fields{display:grid;grid-template-columns:minmax(120px,.4fr) minmax(0,.8fr) minmax(0,1fr);gap:.7rem;margin-bottom:.7rem}.admin-inline-fields--links{grid-template-columns:minmax(120px,.4fr) minmax(0,1fr)}.admin-login{max-width:680px;padding-top:5rem;padding-bottom:5rem}.admin-login h1{margin:1rem 0;font-family:Archivo,Inter,sans-serif;font-size:4.4rem;font-weight:900;line-height:.88;text-transform:uppercase}.admin-login p{max-width:520px;color:var(--ink-soft)}.admin-login__form{display:grid;gap:.9rem;margin-top:2rem}.admin-login__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem}.admin-back-link{display:inline-flex;margin-bottom:3rem;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;transition:color .18s ease}.admin-back-link:hover,.admin-back-link:focus-visible{color:var(--ink)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .62s ease,transform .62s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.intro-copy .section-kicker,.intro-copy h1,.intro-role,.intro-text,.contact-copy .section-kicker,.contact-copy h2 span{opacity:0;transform:translateY(14px);transition:opacity .56s ease,transform .56s ease}.intro-copy.is-visible .section-kicker,.intro-copy.is-visible h1,.intro-copy.is-visible .intro-role,.intro-copy.is-visible .intro-text,.contact-copy.is-visible .section-kicker,.contact-copy.is-visible h2 span{opacity:1;transform:translateY(0)}.intro-copy.is-visible h1{transition-delay:90ms}.intro-copy.is-visible .intro-role{transition-delay:.17s}.intro-copy.is-visible .intro-text{transition-delay:.25s}.contact-copy.is-visible h2 span:first-child{transition-delay:90ms}.contact-copy.is-visible h2 span:last-child{transition-delay:.18s}@keyframes status-pulse{0%,to{opacity:.64;transform:scale(1)}50%{opacity:1;transform:scale(1.32)}}@media(max-width:1180px){:root{--page-pad: 1.65rem}.section-grid{gap:0 1.35rem}.side-index{display:none}.intro-copy{grid-column:1 / 8}.intro-copy h1{font-size:6.9rem}.intro-role{font-size:1.72rem}.intro-status{grid-column:8 / 13}.intro-status__item{grid-template-columns:6.7rem minmax(0,1fr);gap:1rem}.projects-heading>.section-kicker{grid-column:1 / 4}.projects-heading>div{grid-column:4 / 13}.projects-heading h2{font-size:3.2rem}.projects-heading--index h2{font-size:1.02rem}.project-index-row{grid-template-columns:64px minmax(220px,.9fr) minmax(320px,1.1fr) 56px}.project-index-row__summary{display:none}.project-index-row__meta{grid-template-columns:minmax(0,1fr);gap:.75rem}.project-index-row__title{font-size:2.7rem}.project-card{min-height:620px;flex-basis:82vw}.project-card h3{font-size:3.9rem}.project-card--type h3{font-size:5rem}.contact-copy h2{font-size:4.8rem}.contact-email{font-size:1.58rem}.admin-hero h1{font-size:3.8rem}.admin-section{grid-template-columns:minmax(140px,.24fr) minmax(0,1fr)}.admin-status-item{grid-template-columns:minmax(140px,.32fr) minmax(0,1fr)}.admin-check{grid-column:1 / -1}}@media(max-width:880px){:root{--nav-height: 68px}.site-nav{grid-template-columns:auto 1fr}.site-nav__links{justify-content:flex-end;gap:1.4rem}.intro-section,.intro-grid{min-height:auto}.intro-grid{padding-top:calc(var(--nav-height) + 4rem);padding-bottom:5rem}.intro-copy,.intro-status,.projects-heading>.section-kicker,.projects-heading>div,.contact-copy,.contact-panel{grid-column:1 / -1}.intro-copy h1{font-size:5.7rem}.intro-copy__body{margin-top:2.6rem}.intro-status{margin-top:3.5rem}.projects-section{padding:5.8rem 0 6.5rem}.projects-heading{gap:1.2rem;margin-bottom:3rem}.projects-heading--index{min-height:136px;margin-bottom:0}.projects-heading h2{font-size:2.65rem}.projects-heading--index h2{font-size:1rem}.projects-controls{max-width:none}.projects-rail{gap:1.25rem;padding-bottom:1.5rem;scroll-snap-type:x mandatory}.project-card{min-height:auto;flex-basis:85vw;grid-template-columns:1fr;grid-template-rows:auto;gap:1.2rem;padding-top:1.1rem}.project-card__copy,.project-card__media,.project-card__details,.project-card__action,.project-card--split .project-card__copy,.project-card--split .project-card__media,.project-card--split .project-card__details,.project-card--split .project-card__action,.project-card--overlay .project-card__copy,.project-card--overlay .project-card__media,.project-card--overlay .project-card__details,.project-card--overlay .project-card__action,.project-card--offset .project-card__copy,.project-card--offset .project-card__media,.project-card--offset .project-card__details,.project-card--offset .project-card__action,.project-card--type .project-card__copy,.project-card--type .project-card__media,.project-card--type .project-card__details,.project-card--type .project-card__action{grid-column:1;grid-row:auto}.project-card--overlay .project-card__copy,.project-card--overlay .project-card__details,.project-card--offset .project-card__copy{max-width:none;border-top:0;background:transparent;padding:0}.project-card__media,.project-card--offset .project-card__media{height:360px;min-height:0;border-left:0}.project-card h3,.project-card--type h3{font-size:3.4rem}.project-card__cursor{display:none}.project-index-row{min-height:0;grid-template-columns:58px minmax(0,1fr) 48px}.project-index-row__number{align-items:flex-start;padding-top:1.45rem;font-size:1.28rem}.project-index-row__meta{padding:1.45rem 1rem 1rem 0}.project-index-row__title{font-size:2.3rem}.project-index-row__cover{grid-column:2 / 4;min-height:132px;margin:0 0 1rem;border-left:0}.project-index-row__arrow{grid-column:3;grid-row:1}.project-index-row__view{display:none}.contact-grid{min-height:auto;gap:3rem;padding-top:5.6rem}.contact-copy h2{font-size:4.2rem}.contact-panel{align-self:start}.contact-footer,.project-dialog__inner{grid-template-columns:1fr}.project-dialog__media{min-height:260px}.admin-header,.admin-hero,.admin-section,.admin-two-column,.admin-upload-row,.admin-inline-fields,.admin-inline-fields--links{grid-template-columns:1fr}.admin-header{position:static;align-items:start;padding-top:1rem;padding-bottom:1rem}.admin-header__meta,.admin-actions{justify-content:flex-start}.admin-hero{padding-top:3.6rem}.admin-hero .section-kicker,.admin-hero h1,.admin-actions,.admin-status-list{grid-column:1}.admin-section{gap:1.6rem}.admin-form-grid,.admin-status-item{grid-template-columns:1fr}.admin-project-editor__head{grid-template-columns:54px minmax(0,1fr) auto}.admin-upload-row__preview{height:160px}}@media(max-width:620px){:root{--page-pad: 1rem;--nav-height: 64px}body{font-size:15px}.site-nav{grid-template-columns:24px 1fr;min-height:var(--nav-height)}.brand-lockup span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.site-nav__links{gap:.92rem}.intro-grid{padding-top:calc(var(--nav-height) + 3.1rem);padding-bottom:4.3rem}.intro-copy h1{margin-top:1.3rem;font-size:3.9rem}.intro-copy__body{margin-top:2.25rem}.intro-role{font-size:1.35rem}.intro-text{margin-top:1.7rem;font-size:.98rem}.intro-status__item,.contact-details div{grid-template-columns:1fr;gap:.46rem}.intro-status dt span{display:inline;margin-right:.65rem;margin-bottom:0}.projects-section{padding:4.6rem 0 5rem}.projects-heading h2{font-size:2.2rem}.projects-heading--index h2{font-size:1rem}.projects-controls{grid-template-columns:auto minmax(88px,1fr) 38px 38px;gap:.7rem}.projects-controls button{width:38px;height:38px}.project-card{flex-basis:85vw}.project-card__media,.project-card--offset .project-card__media{height:300px}.project-card h3,.project-card--type h3{font-size:2.55rem}.project-index-row__title{font-size:2.08rem}.project-index-row__category{font-size:.72rem}.project-card__meta{gap:.45rem .75rem;margin-bottom:1.25rem}.project-card__details{gap:.75rem}.contact-grid{padding-top:4.8rem;padding-bottom:4rem}.contact-copy h2{font-size:2.5rem}.contact-email{font-size:1.3rem}.project-dialog{width:calc(100vw - 1rem)}.project-dialog__content{padding:1.35rem}.project-dialog__content h2{font-size:2.7rem}.admin-shell--login{place-items:stretch}.admin-header__meta,.admin-actions,.admin-section__heading--with-action{align-items:flex-start;flex-direction:column}.admin-hero h1,.admin-login h1{font-size:2.8rem}.admin-section{padding-top:2.8rem;padding-bottom:2.8rem}.admin-section__heading h2,.admin-project-editor__head h3{font-size:1.65rem}.admin-login__row{grid-template-columns:1fr}.admin-project-editor__head{grid-template-columns:42px minmax(0,1fr) auto}.admin-upload-row__preview{height:140px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal,.intro-copy .section-kicker,.intro-copy h1,.intro-role,.intro-text,.contact-copy .section-kicker,.contact-copy h2 span{opacity:1;transform:none}.project-card__cursor,.project-index-row__view{display:none}.with-status-dot i{animation:none}}
