:root{--cream:#faf7f2;--cream-dark:#f0e6c8;--gold:#c9a96e;--gold-dark:#8b6914;--tobacco:#3d2e0e;--text-dark:#3d2e0e;--text-light:#9a8b72;--sand:#f5efe4;--sage:#c2b9a7;--font-serif:"Cormorant Garamond", serif;--font-sans:"Raleway", sans-serif;--transition-smooth:all .8s cubic-bezier(.16, 1, .3, 1);--transition-fast:all .3s ease;--z-overlay:200;--z-nav:100}.skip-link{background:var(--tobacco);color:var(--cream);letter-spacing:.05em;z-index:99999;border-radius:0 0 4px 4px;padding:.75rem 1.5rem;font-size:.85rem;transition:top .2s;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:0}*{box-sizing:border-box;margin:0;padding:0}html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}body{font-family:var(--font-sans);color:var(--text-dark);background-color:var(--cream);cursor:none;opacity:0;line-height:1.6;animation:1.5s cubic-bezier(.16,1,.3,1) forwards bodyFadeIn;overflow-x:hidden}@keyframes bodyFadeIn{to{opacity:1}}a,button{color:inherit;cursor:none;text-decoration:none}ul{list-style:none}img{width:100%;height:auto;display:block}.noise{pointer-events:none;z-index:9999;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox=\"0 0 200 200\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cfilter id=\"noiseFilter\"%3E%3CfeTurbulence type=\"fractalNoise\" baseFrequency=\"0.65\" numOctaves=\"3\" stitchTiles=\"stitch\"/%3E%3C/filter%3E%3Crect width=\"100%25\" height=\"100%25\" filter=\"url(%23noiseFilter)\"/%3E%3C/svg%3E");position:fixed;inset:0}.scroll-progress{background:var(--gold);z-index:10001;transform-origin:0;width:0%;height:3px;position:fixed;top:0;left:0}.custom-cursor{background-color:var(--gold);pointer-events:none;z-index:10000;border-radius:50%;width:6px;height:6px;transition:width .2s,height .2s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.custom-cursor-follower{border:1px solid var(--gold);pointer-events:none;z-index:9999;border-radius:50%;width:32px;height:32px;transition:width .4s cubic-bezier(.16,1,.3,1),height .4s cubic-bezier(.16,1,.3,1),background-color .4s cubic-bezier(.16,1,.3,1),border-color .4s cubic-bezier(.16,1,.3,1);position:fixed;top:0;left:0;transform:translate(-50%,-50%)}body.hovering .custom-cursor{opacity:0;width:0;height:0}body.hovering .custom-cursor-follower{border-color:var(--gold);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#b08d571a;width:60px;height:60px}.container{width:90%;max-width:1400px;margin:0 auto}.playfair,.garamond{font-family:var(--font-serif)}.italic{font-style:italic}.gold-text{color:var(--gold)}.mt-2{margin-top:2rem}.mt-5{margin-top:5rem}.micro-heading{text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-size:.75rem;font-weight:500}.navbar{z-index:100;width:100%;color:var(--tobacco);padding:2rem 0;transition:padding .6s cubic-bezier(.16,1,.3,1),background-color .6s;position:fixed;top:0}.navbar.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#faf7f2f2;padding:1rem 0;box-shadow:0 10px 30px #0000000d}.nav-content{justify-content:space-between;align-items:center;display:flex}.nav-left{align-items:center;gap:2rem;display:flex}.logo{font-family:var(--font-serif);letter-spacing:3px;transition:var(--transition-smooth);font-size:1.5rem}.logo:hover{letter-spacing:5px;color:var(--gold)}.macron{position:relative}.macron:after{content:"";background-color:currentColor;width:100%;height:1.5px;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.location-tag{text-transform:uppercase;letter-spacing:1px;border-left:1px solid #3d2e0e40;padding-left:2rem;font-size:.7rem}.nav-links{text-transform:uppercase;letter-spacing:1px;align-items:center;gap:3rem;font-size:.8rem;display:flex}.btn-outline{border:1px solid var(--gold);color:var(--gold-dark);transition:var(--transition-fast);border-radius:50px;padding:.6rem 1.5rem}.btn-outline:hover{background:var(--gold);color:var(--cream)}.nav-mobile-toggle{cursor:pointer;z-index:var(--z-nav);background:0 0;border:none;flex-direction:column;gap:6px;padding:0;display:flex}.menu-line{background-color:var(--tobacco);width:28px;height:1.5px;transition:var(--transition-fast)}.show-mobile{display:none}.nav-overlay{background-color:var(--tobacco);width:100%;height:100%;color:var(--cream);z-index:var(--z-overlay);flex-direction:column;justify-content:center;align-items:center;transition:transform .8s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;left:0;transform:translateY(-100%)}.nav-overlay.active{transform:translateY(0)}.nav-overlay-close{font-size:3rem;font-family:var(--font-serif);opacity:.7;color:inherit;background:0 0;border:none;padding:0;line-height:1;position:absolute;top:2rem;right:2rem}.nav-overlay-links{text-align:center;flex-direction:column;gap:2rem;display:flex}.overlay-link{font-family:var(--font-serif);text-transform:uppercase;color:var(--cream-dark);transition:var(--transition-smooth);font-size:clamp(3rem,10vw,6rem);position:relative}.overlay-link:hover{color:var(--gold);transform:scale(1.05)}.nav-overlay-footer{letter-spacing:2px;text-transform:uppercase;opacity:.6;font-size:.8rem;position:absolute;bottom:3rem}.hero-editorial{height:100vh;min-height:800px;padding-top:15vh;position:relative}.grid-hero{grid-template-columns:1fr 1fr;align-items:center;display:grid;position:relative}.hero-text-huge{z-index:10;margin-left:-5%;position:relative}.fluid-title{letter-spacing:-2px;color:var(--gold-dark);font-size:clamp(4rem,10vw,12rem);font-weight:400;line-height:.9}.sub-text{font-family:var(--font-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);vertical-align:middle;margin-left:2rem;font-size:.85rem;display:inline-block}.indent{color:var(--sage);margin-left:15%}.hero-image-wrapper{border-radius:4px;width:45%;height:75vh;position:absolute;top:10vh;right:0;overflow:hidden}.parallax-img{object-fit:cover;width:100%;height:130%;transform:translateY(-10%)}.floating-btn{background-color:var(--gold);color:#fff;text-align:center;width:140px;height:140px;font-family:var(--font-serif);transition:var(--transition-smooth);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;font-style:italic;display:flex;position:absolute;bottom:-20px;left:-20px;box-shadow:0 20px 40px #b08d574d}.floating-btn:hover{background-color:var(--text-dark);transform:scale(1.05)}.philosophy-editorial{background-color:var(--cream);padding:15rem 0}.two-col-asymmetric{grid-template-columns:4fr 5fr;gap:8rem;display:grid}.medium-title{color:var(--gold-dark);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:400;line-height:1.15}.body-text{color:var(--text-dark);font-size:clamp(1.1rem,1.5vw,1.5rem);font-weight:300;line-height:1.8}.body-es{color:var(--text-light);border-left:1px solid var(--sage);padding-left:1.5rem;font-size:.9rem;font-style:italic}.services-editorial{background-color:var(--sand);padding:10rem 0 15rem}.centered-intro{text-align:center;margin-bottom:6rem}.services-list{border-top:1px solid #0000001a}.service-row{transition:var(--transition-fast);border-bottom:1px solid #0000001a;grid-template-columns:50px 1fr 2fr;align-items:center;padding:3rem 0;display:grid;position:relative}.service-row:hover{background-color:#00000005;margin-left:-2rem;margin-right:-2rem;padding-left:2rem;padding-right:2rem}.service-number{font-size:.8rem;font-family:var(--font-sans);color:var(--gold)}.service-name h3{color:var(--gold-dark);font-size:clamp(1.8rem,3vw,3rem);font-weight:400}.service-desc{color:var(--text-light);justify-self:end;font-size:1rem}.service-img-hover{opacity:0;pointer-events:none;z-index:10;width:300px;height:200px;transition:var(--transition-smooth);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)scale(.8)}.service-img-hover img{object-fit:cover;height:100%}.service-row:hover .service-img-hover{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(2deg);box-shadow:0 20px 40px #0003}.gallery-editorial{background-color:var(--cream);padding:10rem 0}.gallery-grid{grid-template-rows:auto auto;grid-template-columns:2fr 1fr;gap:2rem;display:grid}.gallery-item{border-radius:4px;position:relative;overflow:hidden}.gallery-item.large{grid-row:span 2;height:80vh}.gallery-item:not(.large){height:calc(40vh - 1rem)}.gallery-item img{object-fit:cover;width:100%;height:130%}@media (width<=900px){.gallery-grid{grid-template-columns:1fr}.gallery-item.large{grid-row:auto;height:50vh}.gallery-item:not(.large){height:40vh}}.footer-editorial{background-color:var(--tobacco);color:var(--cream-dark);padding:8rem 0 3rem}.footer-top{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:flex-end;padding-bottom:4rem;display:flex}.huge-footer-cta{font-size:clamp(3rem,7vw,7rem);line-height:1}.btn-solid{background:var(--gold);color:var(--cream);text-transform:uppercase;letter-spacing:2px;transition:var(--transition-fast);border-radius:50px;padding:1.5rem 3rem;font-size:.9rem}.btn-solid:hover{background:var(--cream-dark);color:var(--tobacco)}.footer-bottom{color:#ffffff80;justify-content:space-between;margin-top:3rem;font-size:.85rem;display:flex}@media (prefers-reduced-motion:reduce){body{opacity:1;animation:none}.scroll-reveal{opacity:1;transform:none}.nav-overlay{transition:none}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=900px){.hide-mobile{display:none!important}.show-mobile{display:flex!important}body{cursor:auto}.custom-cursor,.custom-cursor-follower{display:none!important}.navbar{padding:1.5rem 0}.nav-content{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.hero-editorial{height:auto;min-height:90vh;padding-top:12vh;padding-bottom:5vh}.grid-hero{grid-template-columns:1fr;gap:2rem}.hero-text-huge{text-align:left;margin-left:0}.hero-image-wrapper{width:100%;height:50vh;margin-top:2rem;position:relative;top:0;left:0}.parallax-img{height:110%}.two-col-asymmetric{text-align:left;grid-template-columns:1fr;gap:2rem}.col-right{padding-left:0}.service-row{grid-template-columns:40px 1fr;gap:1rem;padding:2rem 0}.service-desc{grid-column:2;justify-self:start;margin-top:.5rem}.service-img-hover{display:none!important}.footer-top{text-align:left;flex-direction:column;align-items:start;gap:2rem}.footer-bottom{flex-direction:column;gap:2rem}}
