:root{--ivory: #faf7f2;--sand: #ece5da;--charcoal: #1c1a17;--ink: #0f0e0c;--bronze: #a0784a;--bronze-light: #c9a87c;--muted: #6b6258;--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", -apple-system, sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:var(--font-body);font-weight:300;color:var(--ivory);background:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased}::selection{background:var(--bronze);color:var(--ivory)}a{color:inherit}button{font:inherit;background:none;border:none;color:inherit;cursor:pointer}html.no-scroll,html.no-scroll body{overflow:hidden;overscroll-behavior:none}.preloader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;background:var(--ink)}.preloader__word{font-family:var(--font-display);font-size:clamp(1.5rem,5vw,3.4rem);letter-spacing:.3em;margin-right:-.3em;color:var(--ivory);display:flex;overflow:hidden;white-space:pre}.preloader__count{font-size:.75rem;font-weight:400;letter-spacing:.4em;color:var(--bronze-light);font-variant-numeric:tabular-nums}.preloader__line{width:min(240px,50vw);height:1px;background:#faf7f226;overflow:hidden}.preloader__line i{display:block;height:100%;background:var(--bronze-light);transform-origin:left}.header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:1.5rem clamp(1.25rem,4vw,3rem);transition:background .4s,backdrop-filter .4s}.header.is-scrolled{background:#0f0e0c80;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.header__logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ivory)}.header__logo img{height:2.25rem;width:auto;display:block}.header__wordmark{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.22em;margin-right:-.22em;white-space:nowrap}@media (max-width: 640px){.header__wordmark{font-size:.9rem;letter-spacing:.16em}}.header__logo img+.header__wordmark{display:none}.header__nav{display:flex;align-items:center;gap:clamp(1rem,3vw,2.25rem)}.header__nav a{position:relative;color:var(--ivory);text-decoration:none;font-size:.78rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;opacity:.85;transition:opacity .2s,color .2s;padding:.25rem 0}.header__nav a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--bronze-light);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease-out)}.header__nav a:hover{opacity:1;color:var(--bronze-light)}.header__nav a:hover:after{transform:scaleX(1);transform-origin:left}.header__nav a.active{opacity:1;color:var(--bronze-light)}.header__nav a.active:after{transform:scaleX(1);transform-origin:left}.header__nav a:focus-visible,.btn:focus-visible,.header__logo:focus-visible{outline:2px solid var(--bronze-light);outline-offset:4px}.header__cta{border:1px solid rgba(250,247,242,.4)!important;border-radius:999px;padding:.6rem 1.4rem!important;transition:background .25s,border-color .25s!important}.header__cta:after{display:none!important}.header__cta:hover{background:var(--bronze);border-color:var(--bronze)!important;color:var(--ivory)!important}.header__burger{display:none;flex-direction:column;justify-content:center;gap:6px;width:40px;height:40px;align-items:center}.header__burger i{display:block;width:22px;height:1.5px;background:var(--ivory);transition:transform .3s var(--ease-out)}.header__burger.is-open i:first-child{transform:translateY(3.75px) rotate(45deg)}.header__burger.is-open i:last-child{transform:translateY(-3.75px) rotate(-45deg)}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3rem;background:#0f0e0cf5;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.mobile-menu__links{display:flex;flex-direction:column;align-items:center;gap:1.6rem}.mobile-menu__links a{font-family:var(--font-display);font-size:2rem;font-weight:500;text-decoration:none;color:var(--ivory)}.mobile-menu__links a.active{color:var(--bronze-light);font-style:italic}.mobile-menu__contact{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.85rem;color:#faf7f2a6}.mobile-menu__contact a{color:inherit;text-decoration:none}@media (max-width: 640px){.header__nav a:not(.header__cta){display:none}.header{padding:1.1rem 1.25rem}.header__cta{padding:.5rem .95rem!important;font-size:.66rem;white-space:nowrap}.header__burger{display:flex}}.journey{position:relative;height:100vh;height:100svh}.journey__stage{position:relative;height:100%;overflow:hidden;background:var(--ink)}.scene{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;overflow:hidden;will-change:transform,opacity,filter;transform-origin:50% 46%}.scene__bg{position:absolute;top:-6%;right:0;bottom:-6%;left:0;z-index:0}.scene__bg img{width:100%;height:100%;object-fit:cover;display:block}.scene__bg--placeholder{background:radial-gradient(ellipse 60% 50% at 78% 28%,rgba(160,120,74,.28),transparent 70%),radial-gradient(ellipse 50% 60% at 15% 80%,rgba(201,168,124,.14),transparent 65%),radial-gradient(ellipse 80% 80% at 50% 110%,rgba(43,37,32,.9),transparent 80%),linear-gradient(160deg,#23211e,#1c1a17 55%,#12100e)}.scene__veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,#0f0e0c80,#0f0e0c38 45%,#0f0e0c99)}.scene__veil--side{background:linear-gradient(90deg,#0f0e0cc7,#0f0e0c73 55%,#0f0e0c1f)}.scene__veil--deep{background:#0f0e0ca8}.scene:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at center,transparent 55%,rgba(15,14,12,.45) 100%)}.scene__content{position:relative;z-index:2;width:100%;max-width:74rem;margin:0 auto;padding:7rem clamp(1.5rem,5vw,4rem) 5rem}.scene__content--center{text-align:center;display:flex;flex-direction:column;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:.9rem;font-size:.72rem;font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:var(--bronze-light);margin-bottom:1.6rem}.eyebrow:before{content:"";width:2.5rem;height:1px;background:var(--bronze)}.scene__content--center .eyebrow:after{content:"";width:2.5rem;height:1px;background:var(--bronze)}.scene__title{font-family:var(--font-display);font-weight:500;font-size:clamp(2.6rem,6.5vw,5.2rem);line-height:1.06;margin-bottom:1.75rem}.scene__title em{font-style:italic;color:var(--bronze-light)}.line-mask{display:block;overflow:hidden}.line-mask>span{display:block}.scene__lead{max-width:35rem;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.75;color:#faf7f2d9;margin-bottom:2.25rem}.scroll-cue{display:flex;flex-direction:column;align-items:center;gap:.9rem;font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;color:#faf7f2b3}.scroll-cue i{width:1px;height:3.5rem;background:linear-gradient(var(--bronze-light),transparent);animation:cue-drop 2.2s var(--ease-out) infinite}@keyframes cue-drop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.card{position:relative;padding:1.9rem 1.75rem;border:1px solid rgba(250,247,242,.14);border-radius:6px;background:#0f0e0c6b;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden;cursor:pointer;transition:border-color .3s,background .3s}.card:before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--bronze-light),transparent);opacity:0;transition:opacity .4s}.card:hover{border-color:#a0784ab3;background:#0f0e0c99}.card:hover:before{opacity:1}.services{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem;max-width:47rem}.service__icon{display:inline-flex;width:2.4rem;height:2.4rem;padding:.45rem;border:1px solid rgba(201,168,124,.4);border-radius:50%;color:var(--bronze-light);transition:background .3s,color .3s}.service__icon svg{width:100%;height:100%}.service:hover .service__icon{background:var(--bronze);border-color:var(--bronze);color:var(--ivory)}.service h3{font-family:var(--font-display);font-weight:500;font-size:1.35rem;margin:.7rem 0 .55rem}.service p{font-size:.88rem;line-height:1.65;color:#faf7f2bf}@media (max-width: 768px){.services{grid-template-columns:1fr}}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}.project{display:block;text-decoration:none;color:var(--ivory);padding:0}.project__media{display:block;aspect-ratio:16 / 10;overflow:hidden}.project__media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9);transform:scale(1.01);transition:transform .7s var(--ease-out),filter .7s}.project:hover .project__media img{transform:scale(1.07);filter:saturate(1.05)}.project__body{display:block;padding:1.4rem 1.6rem 1.7rem}.project__year{font-size:.68rem;letter-spacing:.25em;color:var(--bronze-light)}.project h3{font-family:var(--font-display);font-weight:500;font-size:1.4rem;margin:.6rem 0 .5rem}.project p{font-size:.86rem;line-height:1.6;color:#faf7f2bf;margin-bottom:1.2rem}.project__more{display:inline-block;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze-light);border-bottom:1px solid currentColor;padding-bottom:.2rem;transition:color .2s}.project:hover .project__more{color:var(--ivory)}@media (max-width: 860px){.projects{grid-template-columns:1fr}}.reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;text-align:left}.review p{font-family:var(--font-display);font-style:italic;font-size:1.08rem;line-height:1.6;margin-bottom:1.4rem}.review cite{font-style:normal;font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;color:var(--bronze-light)}@media (max-width: 860px){.reviews{grid-template-columns:1fr}}.stats{display:flex;flex-wrap:wrap;gap:clamp(2rem,5vw,4.5rem);margin-top:1.25rem}.stat dd{font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:500;color:var(--bronze-light);line-height:1}.stat dt{order:1;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:#faf7f299;margin-top:.7rem}.stat{display:flex;flex-direction:column}.btn{display:inline-block;padding:1.05rem 2.9rem;border-radius:999px;background:var(--bronze);color:var(--ivory);text-decoration:none;font-size:.8rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;cursor:pointer}.footer{width:100%;margin-top:clamp(2.5rem,6vh,5rem);border-top:1px solid rgba(250,247,242,.16);padding-top:1.75rem;text-align:left}.footer__top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1.5rem 2.5rem}.footer__wordmark{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.25em;margin-right:-.25em;white-space:nowrap}.footer__nav{display:flex;flex-wrap:wrap;gap:1.5rem}.footer__nav a{font-size:.74rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:#faf7f2bf;transition:color .2s}.footer__nav a:hover{color:var(--bronze-light)}.footer__contact{display:flex;flex-direction:column;gap:.45rem;font-size:.8rem}.footer__contact a{text-decoration:none;color:#faf7f2bf;transition:color .2s}.footer__contact a:hover{color:var(--bronze-light)}.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;margin-top:1.75rem;font-size:.72rem;letter-spacing:.08em;color:#faf7f280}@media (max-height: 760px){.footer{margin-top:2rem;padding-top:1.25rem}.footer__bottom{margin-top:1.1rem}}#contact .scene__title{font-size:clamp(2.2rem,4.8vw,4rem);margin-bottom:1.4rem}#contact .scene__lead{margin-bottom:1.9rem}@media (max-height: 820px){.scene__content{padding-top:5.5rem;padding-bottom:3rem}.scene__title{font-size:clamp(2.1rem,5vw,3.6rem);margin-bottom:1.2rem}.scene__lead{margin-bottom:1.6rem}.project__media{aspect-ratio:21 / 10}.card{padding:1.4rem}.project{padding:0}.project__body{padding:1.1rem 1.3rem 1.4rem}}.page{background:var(--ink);min-height:100vh;display:flex;flex-direction:column}.page-hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;overflow:hidden}.page-hero__bg{position:absolute;top:0;right:0;bottom:0;left:0}.page-hero__bg img{width:100%;height:100%;object-fit:cover;display:block}.page-hero__veil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(15,14,12,.55) 0%,rgba(15,14,12,.3) 45%,var(--ink) 100%)}.page-hero__content{position:relative;width:100%;max-width:74rem;margin:0 auto;padding:9rem clamp(1.5rem,5vw,4rem) 3.5rem}.page-hero__content .scene__lead{margin-bottom:0}.page-section{width:100%;max-width:74rem;margin:0 auto;padding:clamp(3rem,8vh,5.5rem) clamp(1.5rem,5vw,4rem) 0}.page-section__title{font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1.12;margin-bottom:2rem}.page-section__title em{font-style:italic;color:var(--bronze-light)}.page-section--split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}@media (max-width: 860px){.page-section--split{grid-template-columns:1fr}}.page-text{font-size:clamp(.98rem,1.3vw,1.1rem);line-height:1.8;color:#faf7f2d1;max-width:38rem}.page-text+.page-text{margin-top:1.4rem}.stats--column{flex-direction:column;gap:2rem;margin-top:.4rem;padding-left:clamp(0rem,2vw,1.5rem);border-left:1px solid rgba(201,168,124,.35)}.service__num{font-size:.68rem;letter-spacing:.25em;color:var(--bronze-light)}.approach{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}.approach__step h3{font-family:var(--font-display);font-weight:500;font-size:1.4rem;margin:.7rem 0 .55rem}.approach__step p{font-size:.88rem;line-height:1.65;color:#faf7f2bf}@media (max-width: 860px){.approach{grid-template-columns:1fr}}.projects--page{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 860px){.projects--page{grid-template-columns:1fr}}.project__link{display:block;text-decoration:none;color:var(--ivory)}.project__meta{display:flex;justify-content:space-between;align-items:baseline}.project__scope{font-size:.72rem!important;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze-light)!important;margin-bottom:.6rem!important}.page-section--contact{padding-bottom:1rem}.contact-info__list{display:flex;flex-direction:column;gap:.7rem;margin-bottom:2rem}.contact-info__list a{width:fit-content;font-size:clamp(1rem,1.5vw,1.2rem);text-decoration:none;color:#faf7f2d9;border-bottom:1px solid rgba(201,168,124,.4);padding-bottom:.2rem;transition:color .2s,border-color .2s}.contact-info__list a:hover{color:var(--bronze-light);border-color:var(--bronze-light)}.contact-form{display:flex;flex-direction:column;gap:1.2rem;padding:clamp(1.5rem,3vw,2.25rem);border:1px solid rgba(250,247,242,.14);border-radius:6px;background:#faf7f208}.contact-form label{display:flex;flex-direction:column;gap:.5rem}.contact-form label span{font-size:.7rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--bronze-light)}.contact-form input,.contact-form select,.contact-form textarea{font:inherit;font-size:.95rem;color:var(--ivory);background:#faf7f20d;border:1px solid rgba(250,247,242,.18);border-radius:4px;padding:.85rem 1rem;transition:border-color .25s,background .25s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#faf7f259}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--bronze);background:#faf7f212}.contact-form select{cursor:pointer}.contact-form select option{background:var(--charcoal)}.contact-form textarea{resize:vertical;min-height:7rem}.contact-form .btn{align-self:flex-start;margin-top:.4rem}.cta-strip{width:100%;max-width:74rem;margin:0 auto;padding:clamp(3.5rem,10vh,6.5rem) clamp(1.5rem,5vw,4rem) 0;text-align:center;display:flex;flex-direction:column;align-items:center}.cta-strip .eyebrow:after{content:"";width:2.5rem;height:1px;background:var(--bronze)}.cta-strip__title{font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.1;margin-bottom:2rem}.cta-strip__title em{font-style:italic;color:var(--bronze-light)}.page-footer{width:100%;max-width:74rem;margin:auto auto 0;padding:clamp(3rem,8vh,5rem) clamp(1.5rem,5vw,4rem) 2rem}.journey--static{height:auto}.journey--static .journey__stage{height:auto;overflow:visible}.journey--static .scene{position:relative;min-height:100vh;min-height:100svh;height:auto}.journey--static .scene__bg{top:0;right:0;bottom:0;left:0}.journey--static .scene__content{padding-top:6.5rem;padding-bottom:4rem}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
