:root{--primary:#000;--background:#faf9f5;--surface:#faf9f5;--surface-bright:#faf9f5;--on-surface:#1b1c1a;--on-primary:#fff;--on-surface-variant:#444748;--surface-container:#efeeea;--surface-container-high:#e9e8e4;--surface-container-lowest:#fff;--outline:#747878;--outline-variant:#c4c7c7;--secondary:#715b3a;--accent-gold:#c4a882;--margin-desktop:64px;--margin-mobile:16px;--container-max:1440px;--gutter:24px;--font-headline:"Playfair Display", Georgia, serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--font-label:"DM Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--background);color:var(--on-surface);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6;overflow-x:hidden}#root{min-height:100vh}.font-headline-xl{font-family:var(--font-headline);letter-spacing:-.02em;font-size:64px;font-weight:700;line-height:1.1}.font-headline-lg{font-family:var(--font-headline);letter-spacing:-.01em;font-size:40px;font-weight:600;line-height:1.2}.font-headline-md{font-family:var(--font-headline);font-size:24px;font-weight:500;line-height:1.3}.font-body-lg{font-family:var(--font-body);font-size:18px;font-weight:400;line-height:1.6}.font-body-md{font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.6}.font-label-sm{font-family:var(--font-label);letter-spacing:.1em;font-size:12px;font-weight:500;line-height:1.4}.font-label-xs{font-family:var(--font-label);font-size:10px;font-weight:400;line-height:1.2}a{color:inherit;text-decoration:none;transition:color .2s,border-color .2s}button{cursor:pointer;background:0 0;border:none;font-family:inherit;transition:all .2s}img{max-width:100%;display:block}.max-container{max-width:var(--container-max);padding-left:var(--margin-desktop);padding-right:var(--margin-desktop);width:100%;margin:0 auto}.nav-bar{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--outline-variant);background-color:#faf9f5d9;width:100%;height:80px;transition:transform .3s;position:fixed;top:0;left:0}.nav-bar.hidden{transform:translateY(-100%)}.nav-container{height:100%;max-width:var(--container-max);padding:0 var(--margin-desktop);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.logo{font-family:var(--font-headline);text-transform:uppercase;letter-spacing:-.02em;font-size:24px;font-weight:600}.nav-links{display:none}@media (width>=768px){.nav-links{align-items:center;gap:32px;display:flex}}.nav-link{color:var(--on-surface-variant);font-family:var(--font-label);letter-spacing:.1em;padding-bottom:4px;font-size:12px;font-weight:500}.nav-link.active,.nav-link:hover{color:var(--primary);border-bottom:1px solid var(--primary)}.nav-btn{background-color:var(--primary);color:var(--on-primary);font-family:var(--font-label);text-transform:uppercase;letter-spacing:.1em;padding:12px 24px;font-size:12px}.nav-btn:hover{opacity:.8}.stack-section{box-sizing:border-box;flex-direction:column;justify-content:center;width:100%;min-height:100vh;display:flex;position:relative}.hero{z-index:1;min-height:100vh;padding:120px var(--margin-desktop) 64px var(--margin-desktop);background-color:#f5f4f0;flex-direction:column;justify-content:space-between;display:flex;position:relative}.hero-body-wrap{align-items:center;gap:var(--gutter);flex-direction:column;flex:1;width:100%;display:flex}@media (width>=768px){.hero-body-wrap{flex-direction:row}}.about{z-index:2;background-color:var(--surface);border-bottom:1px solid var(--outline-variant)}.services{z-index:3;background-color:var(--surface-bright)}.approach{z-index:4;background-color:var(--surface-container)}.work{z-index:5;background-color:var(--surface-container-high)}.journal{z-index:6;background-color:var(--surface);border-bottom:1px solid var(--outline-variant)}.contact{z-index:7;background-color:var(--surface-container-high)}.hero-content{z-index:10;flex:1;padding:48px 0}.hero-title{max-width:640px;margin-bottom:24px}.hero-title span.italic-serif{font-style:italic;font-weight:400}.hero-description{color:#888;max-width:440px;margin-bottom:48px}.hero-btn{border:1px solid var(--primary);text-transform:uppercase;align-items:center;gap:8px;padding:16px 32px;display:inline-flex}.hero-btn span.material-symbols-outlined{transition:transform .2s}.hero-btn:hover span.material-symbols-outlined{transform:translate(4px)}.hero-visual{flex:1;justify-content:center;align-items:center;width:100%;height:100%;padding:48px 0;display:flex;position:relative}.hero-image-wrapper{aspect-ratio:16/9;border:1px solid var(--outline-variant);background-color:#fff;width:100%;padding:8px;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000d}@media (width>=768px){.hero-image-wrapper{aspect-ratio:4/3;max-width:520px}}.hero-image{object-fit:cover;border:1px solid var(--outline-variant);filter:grayscale();width:100%;height:100%}.ticker{background-color:var(--primary);border-top:1px solid var(--outline);border-bottom:1px solid var(--outline);white-space:nowrap;width:100vw;margin-left:calc(-1 * var(--margin-desktop));margin-right:calc(-1 * var(--margin-desktop));z-index:10;padding:16px 0;overflow:hidden}.ticker-wrap{width:max-content;animation:30s linear infinite scroll;display:flex}.ticker-text{color:var(--on-primary);padding:0 32px;display:inline-block}@keyframes scroll{0%{transform:translate(0,0)}to{transform:translate(-50%)}}.services{padding:96px var(--margin-desktop);max-width:var(--container-max);margin:0 auto}.section-header{margin-bottom:64px}.section-tag{color:var(--outline-variant)}.section-title{margin-top:8px}.services-grid{border-top:1px solid var(--outline-variant);border-left:1px solid var(--outline-variant);grid-template-columns:1fr;display:grid}@media (width>=768px){.services-grid{grid-template-columns:repeat(4,1fr)}}.service-card{border-right:1px solid var(--outline-variant);border-bottom:1px solid var(--outline-variant);cursor:pointer;background-color:#fff;padding:32px;transition:background-color .3s;position:relative}.service-card:hover{background-color:var(--surface-bright)}.service-number{color:var(--outline-variant);margin-bottom:48px;display:block}.service-name{margin-bottom:16px;transition:transform .2s}.service-card:hover .service-name{transform:translate(4px)}.service-card:after{content:"";background-color:var(--accent-gold);transform-origin:0;width:100%;height:4px;transition:transform .3s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.service-card:hover:after{transform:scaleX(1)}.work{padding:96px var(--margin-desktop);max-width:var(--container-max);margin:0 auto}.work-header{border-bottom:1px solid var(--outline-variant);justify-content:space-between;align-items:flex-end;margin-bottom:64px;padding-bottom:32px;display:flex}.work-archive-link{font-family:var(--font-label);text-transform:uppercase;font-size:12px}.work-archive-link:hover{text-decoration:underline}.work-grid{gap:var(--gutter);grid-template-columns:1fr;display:grid}@media (width>=768px){.work-grid{grid-template-columns:repeat(2,1fr)}}.project-card{flex-direction:column;display:flex}.project-card.full-width{grid-column:1/-1}.project-image-wrapper{border:1px solid var(--outline-variant);margin-bottom:24px;position:relative;overflow:hidden}.project-card.full-width .project-image-wrapper{aspect-ratio:21/9}.project-card.half-width .project-image-wrapper{aspect-ratio:1}.project-image{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.16,1,.3,1)}.project-card:hover .project-image{transform:scale(1.05)}.project-meta{justify-content:space-between;align-items:flex-start;display:flex}.project-title{margin-bottom:8px}.project-category{color:var(--outline)}.project-year{color:var(--on-surface)}.project-offset{margin-top:0}@media (width>=768px){.project-offset{margin-top:96px}}.stats{background-color:var(--primary);padding:48px var(--margin-desktop);width:100vw;margin-left:calc(-1 * var(--margin-desktop));margin-right:calc(-1 * var(--margin-desktop));box-sizing:border-box;margin-top:64px}.stats-grid{max-width:var(--container-max);gap:var(--gutter);color:var(--on-primary);grid-template-columns:repeat(2,1fr);margin:0 auto;display:grid}@media (width>=768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-item{border-left:1px solid #e0ddd84d;flex-direction:column;gap:16px;padding-left:24px;display:flex}.stat-value{font-weight:300}.stat-label{text-transform:uppercase;opacity:.6}.journal{padding:96px var(--margin-desktop);max-width:var(--container-max);margin:0 auto}.journal-header{justify-content:space-between;align-items:flex-end;margin-bottom:64px;display:flex}.journal-list{flex-direction:column;display:flex}.journal-item{border-top:1px solid var(--outline-variant);cursor:pointer;flex-direction:column;gap:16px;padding:40px 0;transition:all .3s;display:flex}@media (width>=768px){.journal-item{flex-direction:row;justify-content:space-between;align-items:center}}.journal-item:last-child{border-bottom:1px solid var(--outline-variant)}.journal-info{align-items:center;gap:48px;display:flex}.journal-date{color:var(--outline);min-width:100px}.journal-title{transition:transform .2s;display:inline-block;position:relative}.journal-item:hover .journal-title{transform:translate(16px)}.journal-title:after{content:"";background-color:var(--accent-gold);transform-origin:0;width:100%;height:2px;transition:transform .3s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.journal-item:hover .journal-title:after{transform:scaleX(1)}.journal-icon{color:var(--outline);transition:color .2s}.journal-item:hover .journal-icon{color:var(--primary)}.contact{padding:96px var(--margin-desktop);box-sizing:border-box}.contact-container{max-width:var(--container-max);flex-direction:column;gap:96px;margin:0 auto;padding-bottom:96px;display:flex}@media (width>=768px){.contact-container{flex-direction:row}}.contact-info{flex:1}.contact-title{margin-bottom:32px;line-height:1}.contact-desc{color:var(--on-surface-variant);max-width:380px;margin-bottom:48px}.contact-detail-label{color:var(--outline);margin-bottom:16px}.contact-email{border-bottom:1px solid var(--primary);display:inline-block}.contact-form-side{flex:1}.contact-form{flex-direction:column;gap:32px;display:flex}.contact-row-two{grid-template-columns:1fr;gap:32px;display:grid}@media (width>=768px){.contact-row-two{grid-template-columns:repeat(2,1fr)}}.form-group{border-bottom:1px solid var(--primary);flex-direction:column;padding:8px 0;display:flex}.form-label{color:var(--outline)}.form-input,.form-select,.form-textarea{width:100%;font-family:var(--font-body);color:var(--on-surface);resize:none;background:0 0;border:none;outline:none;padding:8px 0;font-size:16px}.form-select{appearance:none;cursor:pointer}.form-submit-btn{background-color:var(--primary);color:var(--on-primary);width:100%;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.1em;padding:20px;font-size:12px;font-weight:500}.form-submit-btn:hover{opacity:.9}.footer{background-color:var(--primary);color:var(--on-primary);padding:64px var(--margin-desktop);border-top:1px solid var(--outline-variant);width:100vw;margin-left:calc(-1 * var(--margin-desktop));margin-right:calc(-1 * var(--margin-desktop));box-sizing:border-box}.footer-container{max-width:var(--container-max);grid-template-columns:1fr;gap:48px;margin:0 auto;display:grid}@media (width>=768px){.footer-container{gap:var(--gutter);grid-template-columns:repeat(3,1fr)}}.footer-brand{flex-direction:column;gap:32px;display:flex}.footer-logo{font-family:var(--font-headline);font-size:40px;font-weight:700}.footer-brand-desc{opacity:.8;max-width:320px}.footer-links-grid{grid-template-columns:repeat(2,1fr);gap:32px;display:grid}.footer-col{flex-direction:column;gap:16px;display:flex}.footer-col-title{opacity:.4}.footer-link{opacity:.8}.footer-link:hover{text-decoration:underline}.footer-right{flex-direction:column;justify-content:space-between;align-items:flex-start;display:flex}@media (width>=768px){.footer-right{text-align:right;align-items:flex-end}}.footer-socials{flex-direction:column;gap:16px;display:flex}.footer-copyright{opacity:.6;margin-top:48px}@media (width>=768px){.footer-copyright{margin-top:0}}@media (width<=767px){.font-headline-xl{font-size:40px}.font-headline-lg{font-size:28px}.hero-content,.hero-visual{padding:32px 0}.services,.work,.stats,.journal,.contact,.footer{padding-left:var(--margin-mobile);padding-right:var(--margin-mobile);padding-top:64px;padding-bottom:64px}.hero{padding-left:var(--margin-mobile);padding-right:var(--margin-mobile)}.stack-section{min-height:auto!important;box-shadow:none!important;position:relative!important}}.hero-title{min-height:110px}@media (width>=768px){.hero-title{min-height:144px}}
