@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Libre+Franklin:ital,wght@0,100..900;1,100..900&display=swap";:root{--color-primary:#2d3a3a;--color-secondary:#f4ebd9;--color-accent:#d48c45;--color-text:#1f2626;--font-serif:"Playfair Display", serif;--font-sans:"Libre Franklin", sans-serif;--spacing-unit:1rem}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-secondary);color:var(--color-text);font-family:var(--font-sans);opacity:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3%3Cfilter id='noiseFilter'%3%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3%3C/filter%3%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3%3C/svg%3");background-repeat:repeat;background-size:150px 150px;line-height:1.6}h1,h2,h3{font-family:var(--font-serif);color:var(--color-primary);font-weight:700}.noise-overlay{pointer-events:none;opacity:.05;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3%3Cfilter id='noiseFilter'%3%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3%3C/filter%3%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3%3C/svg%3");width:100%;height:100%;position:fixed;top:0;left:0}.main-container{z-index:10;max-width:1200px;margin:0 auto;padding:0 2rem;position:relative}.nav{border-bottom:1px solid #2d3a3a1a;justify-content:space-between;align-items:baseline;padding:3rem 0;display:flex}.brand-logo{cursor:pointer;mix-blend-mode:multiply;width:auto;height:64px;transition:transform .6s cubic-bezier(.2,1,.3,1)}.brand-logo:hover{transform:scale(1.05)rotate(-2deg)}.editorial-grid{grid-template-columns:repeat(12,1fr);gap:2rem;margin-top:4rem;display:grid}.hero-section{grid-column:1/13;padding:4rem 0 2rem}.hero-section h1{letter-spacing:-.03em;max-width:900px;margin-bottom:2rem;font-size:clamp(2.5rem,6vw,5rem);line-height:1.1}.hero-sub{grid-column:1/8;padding-bottom:6rem;font-size:1.125rem;line-height:1.7}.services-intro{border-bottom:1px solid var(--color-accent);grid-column:1/13;margin-top:4rem;padding-bottom:1rem}.services-intro h2{text-transform:uppercase;letter-spacing:.2em;color:var(--color-accent);font-size:1rem}.service-item{grid-column:span 4;margin-top:2rem;transition:transform .5s cubic-bezier(.2,1,.3,1)}.service-item:hover{transform:translate(1rem)}.service-title-row{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.service-item h3{margin-bottom:0;font-size:1.5rem;transition:color .4s;position:relative}.service-item:hover h3{color:var(--color-accent)}.service-icon{color:var(--color-primary);opacity:.8;flex-shrink:0;transition:transform .4s,color .4s}.service-item:hover .service-icon{color:var(--color-accent);opacity:1;transform:scale(1.1)rotate(-5deg)}.service-item p{color:#1f2626e6;font-size:1rem}.cta-section{background-color:var(--color-primary);color:var(--color-secondary);text-align:center;clip-path:polygon(5% 0%,100% 0%,95% 100%,0% 100%);z-index:10;grid-column:1/13;margin:6rem 0;padding:8rem 2rem;position:relative}.cta-section h2{color:var(--color-secondary);margin-bottom:1.5rem;font-size:clamp(2rem,4vw,3rem)}.cta-button{background-color:var(--color-accent);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.1em;margin-top:2rem;padding:1.25rem 2.5rem;font-size:.875rem;font-weight:700;transition:all .5s cubic-bezier(.2,1,.3,1);display:inline-block;box-shadow:0 4px #0000001a}.cta-button:hover{background-color:#be7a35;transform:translateY(-5px);box-shadow:0 12px 24px #0003}@keyframes paintIn{0%{stroke-dashoffset:800px}to{stroke-dashoffset:0}}@keyframes slowRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.paint-stroke-path{stroke-dasharray:800;stroke-dashoffset:800px;animation:2s cubic-bezier(.4,0,.2,1) forwards paintIn}.paint-stroke-container{pointer-events:none}.geo-shape-rotate{transform-origin:50%;animation:60s linear infinite slowRotate}.typewriter-container{min-height:1.2em;display:block}.typewriter-text{color:var(--color-accent);position:relative}.cursor{margin-left:2px;font-weight:200;animation:1s infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media (width<=1024px){.hero-sub{grid-column:1/10}.service-item{grid-column:span 6}}@media (width<=768px){.main-container{padding:0 1.5rem}.hero-sub,.service-item{grid-column:1/13}.cta-section{padding:4rem 1.5rem}}
