.header{position:sticky;top:0;z-index:100;background-color:color-mix(in srgb,var(--color-cream) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid color-mix(in srgb,var(--color-mist) 80%,transparent)}.header__inner{display:flex;align-items:center;justify-content:space-between;padding-block:.875rem}.header__logo{display:flex;align-items:center;text-decoration:none;line-height:0}.header__logo-image{height:3.5rem;width:auto;display:block}.header__nav{display:flex;gap:2rem}.header__nav a{font-size:.9375rem;font-weight:500;text-decoration:none;color:var(--color-grey)}.header__nav a:hover{color:var(--color-slate)}@media(max-width:640px){.header__logo-image{height:2.75rem}.header__nav{gap:1.25rem}.header__nav a{font-size:.875rem}}.hero{padding-block:var(--section-padding);background:radial-gradient(ellipse 80% 60% at 70% 20%,color-mix(in srgb,var(--color-mist) 50%,transparent),transparent),linear-gradient(165deg,var(--color-cream) 0%,var(--color-cream-alt) 100%)}.hero__layout{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:center}.hero__content{max-width:38rem}.hero__figure{margin:0;position:relative}.hero__figure:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid color-mix(in srgb,var(--color-sage-light) 40%,transparent);transform:translate(.75rem,.75rem);pointer-events:none}.hero__image{width:100%;aspect-ratio:4 / 3;object-fit:cover;object-position:center;display:block;box-shadow:0 12px 40px color-mix(in srgb,var(--color-slate) 12%,transparent)}.hero__eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-sage-dark);margin-bottom:1.5rem}.hero__eyebrow:before{content:"";display:block;width:2rem;height:1px;background-color:var(--color-sage-light)}.hero__title{font-size:clamp(2.75rem,6vw,4.25rem);color:var(--color-slate);margin-bottom:1.5rem}.hero__title em{font-style:italic;color:var(--color-forest)}.hero__subtitle{font-size:clamp(1.125rem,2vw,1.3125rem);font-weight:300;color:var(--color-grey);margin:0 0 2.5rem;line-height:1.7}.hero__actions{display:flex;flex-wrap:wrap;gap:1rem}.hero__btn{display:inline-flex;align-items:center;padding:.8125rem 1.625rem;font-family:var(--font-body);font-size:.9375rem;font-weight:500;text-decoration:none;border-radius:2px;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.hero__btn--primary{background-color:var(--color-slate);color:var(--color-cream);border:1px solid var(--color-slate)}.hero__btn--primary:hover{background-color:var(--color-forest);border-color:var(--color-forest);color:var(--color-cream)}.hero__btn--secondary{background-color:transparent;color:var(--color-slate);border:1px solid var(--color-sage-light)}.hero__btn--secondary:hover{background-color:color-mix(in srgb,var(--color-mist) 40%,transparent);color:var(--color-forest);border-color:var(--color-sage-dark)}@media(max-width:900px){.hero__layout{grid-template-columns:1fr}.hero__figure{order:-1;max-width:36rem}}.about{padding-block:var(--section-padding);background-color:var(--color-cream-alt)}.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,3rem);align-items:start}.about__figure{margin:0;grid-row:span 2}.about__image{width:100%;aspect-ratio:1;object-fit:cover;object-position:center;display:block;border:1px solid color-mix(in srgb,var(--color-mist) 80%,transparent)}.about__text p{margin:0 0 1.25rem;color:var(--color-grey)}.about__text p:last-child{margin-bottom:0}.about__aside{padding:2rem;background-color:var(--color-cream);border-left:3px solid var(--color-sage-dark)}.about__aside-title{font-family:var(--font-display);font-size:1.375rem;color:var(--color-slate);margin-bottom:1rem}.about__list{list-style:none;padding:0;margin:0}.about__list li{padding:.625rem 0;border-bottom:1px solid color-mix(in srgb,var(--color-mist) 60%,transparent);font-size:.9375rem;color:var(--color-charcoal)}.about__list li:last-child{border-bottom:none}.about__list strong{color:var(--color-slate);font-weight:600}@media(max-width:768px){.about__grid{grid-template-columns:1fr}.about__figure{grid-row:auto}.about__image{aspect-ratio:16 / 10}}.work{padding-block:var(--section-padding);background-color:var(--color-cream)}.work__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.work__card{display:flex;flex-direction:column;background-color:var(--color-cream-alt);border:1px solid color-mix(in srgb,var(--color-mist) 70%,transparent);transition:border-color .2s ease,box-shadow .2s ease;overflow:hidden}.work__card:hover{border-color:var(--color-sage-light);box-shadow:0 4px 24px color-mix(in srgb,var(--color-slate) 6%,transparent)}.work__image-wrap{aspect-ratio:16 / 10;overflow:hidden;background-color:var(--color-mist)}.work__image-wrap--placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,color-mix(in srgb,var(--color-mist) 60%,var(--color-cream)),color-mix(in srgb,var(--color-sage-light) 30%,var(--color-cream)))}.work__placeholder-icon{font-size:2.5rem;opacity:.7}.work__image{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .4s ease}.work__card:hover .work__image{transform:scale(1.03)}.work__card-body{padding:1.75rem 2rem 2rem;flex:1;display:flex;flex-direction:column}.work__card-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-slate);margin-bottom:.75rem}.work__card-text{font-size:.9375rem;color:var(--color-grey);margin:0 0 1.25rem;line-height:1.6;flex:1}.work__card-link{font-size:.875rem;font-weight:500;text-decoration:none;color:var(--color-sage-dark)}.work__card-link:hover{color:var(--color-forest)}.work__card-link--muted{color:var(--color-grey);cursor:default}@media(max-width:900px){.work__grid{grid-template-columns:1fr}}.contact{padding-block:var(--section-padding);background-color:var(--color-mist)}.contact__inner{text-align:center;max-width:32rem;margin-inline:auto}.contact__text{font-size:1.125rem;color:var(--color-grey);margin:0 0 1.5rem}.contact__email{display:inline-block;font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--color-slate);text-decoration:none}.contact__email:hover{color:var(--color-forest)}.footer{margin-top:auto;padding-block:2rem;background-color:var(--color-slate);color:color-mix(in srgb,var(--color-cream) 75%,white)}.footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;font-size:.875rem}.footer__brand{display:flex;align-items:center;line-height:0;text-decoration:none}.footer__logo-image{height:3rem;width:auto;display:block}.footer__links{display:flex;gap:1.5rem}.footer__links a{color:color-mix(in srgb,var(--color-cream) 80%,white);text-decoration:none}.footer__links a:hover{color:var(--color-cream)}.footer__copy{width:100%;margin:.5rem 0 0;font-size:.8125rem;color:color-mix(in srgb,var(--color-cream) 55%,white)}@media(max-width:640px){.footer__inner{flex-direction:column;text-align:center}}:root{--color-sage-dark: #647e7b;--color-sage-light: #9fa696;--color-cream: #e5e1d6;--color-cream-alt: #e4e0d5;--color-slate: #2f5363;--color-mist: #cfd5d5;--color-charcoal: #494949;--color-grey: #6a6a6a;--color-forest: #576857;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Source Sans 3", system-ui, sans-serif;--max-width: 72rem;--section-padding: clamp(4rem, 8vw, 7rem)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-weight:400;font-size:1.0625rem;line-height:1.65;color:var(--color-charcoal);background-color:var(--color-cream);-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.2;margin:0}a{color:var(--color-slate);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s ease}a:hover{color:var(--color-sage-dark)}img{max-width:100%;display:block}.container{width:min(100% - 2.5rem,var(--max-width));margin-inline:auto}.section-label{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-sage-dark);margin-bottom:.75rem}.section-title{font-size:clamp(2rem,4vw,2.75rem);color:var(--color-slate);margin-bottom:1.25rem}.section-intro{font-size:1.125rem;color:var(--color-grey);max-width:42rem;margin:0 0 2.5rem}
