:root{--color-background: #F5F0E8;--color-text-primary: #1C1A16;--color-text-secondary: #6B6354;--color-accent: #B84D62;--font-heading: "Playfair Display", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--transition-base: .25s ease;--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background-color:var(--color-background);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--font-heading);line-height:1.1}h4,h5,h6{font-family:var(--font-body);font-weight:600}ul[role=list],ol[role=list],nav ul{list-style:none;margin:0;padding:0}:focus-visible{outline:none;box-shadow:0 0 0 3px #b84d6247}.nav-link-underline{position:relative}.nav-link-underline:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background-color:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.nav-link-underline:hover:after,.nav-link-underline.active:after{transform:scaleX(1)}.about-grid{display:grid;grid-template-columns:minmax(280px,40%) 1fr;gap:64px;align-items:start}@media (max-width: 768px){.about-grid{grid-template-columns:1fr}}.project-card__inner{display:flex;flex-direction:column;align-items:stretch}@media (min-width: 900px){.project-card__inner{flex-direction:row}.project-card__media{flex:1 1 52%;min-width:0}.project-card__body{flex:1 1 48%;min-width:0}}.project-card__media{position:relative;flex:1 1 auto;width:100%;aspect-ratio:16 / 9;min-height:200px;max-height:min(72vh,720px);overflow:hidden;background:var(--color-background);isolation:isolate}.project-card__img{width:100%;height:100%;min-width:100%;min-height:100%;object-fit:cover;object-position:center;display:block;transition:transform .65s cubic-bezier(.16,1,.3,1)}.project-card:hover .project-card__img{transform:scale(1.05)}.project-card__media-overlay{z-index:2}.project-card__body{display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(28px,4vw,48px);box-sizing:border-box}.lulu-hero,.erased-hero{display:grid;grid-template-columns:1fr;gap:clamp(32px,5vw,56px);align-items:center}@media (min-width: 900px){.lulu-hero,.erased-hero{grid-template-columns:minmax(260px,38%) 1fr;align-items:start}}.lulu-hero__copy,.erased-hero__copy{min-width:0}.lulu-trailer-wrap{transition:box-shadow .4s ease,transform .4s ease}.lulu-trailer-wrap:hover{box-shadow:0 20px 60px #1c1a1629}.contact-hero{display:grid;grid-template-columns:1fr;gap:clamp(32px,5vw,48px);align-items:start}@media (min-width: 900px){.contact-hero{grid-template-columns:minmax(260px,38%) 1fr}}.contact-mailto-cta:hover{background-color:var(--color-background)!important;transform:translateY(-2px);box-shadow:0 8px 24px #1c1a161f}.contact-mailto-cta{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}.contact-social-link{transition:border-color .2s ease,color .2s ease,background-color .2s ease,transform .2s ease}.contact-social-link:hover{border-color:var(--color-accent)!important;color:var(--color-accent)!important;background-color:#f0d5c073!important;transform:translateY(-2px)}.nav-link-cta{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease,border-color .25s ease}.nav-link-cta:hover{background-color:var(--color-background)!important;transform:translateY(-1px);box-shadow:0 6px 20px #1c1a161a}.nav-link-cta.active{background-color:#f0d5dc8c!important}.ghost-image__skeleton{pointer-events:none;background:linear-gradient(110deg,var(--color-background) 0%,rgba(240,213,220,.75) 42%,var(--color-background) 85%);background-size:220% 100%;animation:ghost-shimmer 1.35s ease-in-out infinite}@keyframes ghost-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.ghost-image__img{transition:opacity .45s ease,transform .65s cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion: reduce){.ghost-image__skeleton{animation:none;background:var(--color-background)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
