:root{--bg:#f5f1ec;--bg-warm:#ede8e1;--fg:#1a1a18;--fg-muted:#6b6560;--accent:#6b2d3e;--rule:#c8c0b6;--rule-fine:#d9d3cb;--serif:"Cormorant Garamond","Georgia",serif;--sans:"Inter","Helvetica Neue",Arial,sans-serif;--s-xs:0.5rem;--s-sm:1rem;--s-md:2rem;--s-lg:4rem;--s-xl:6rem;--s-2xl:10rem}*,:after,:before{margin:0;padding:0;box-sizing:border-box}::selection{background:var(--accent);color:var(--bg)}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-weight:300;line-height:1.7;letter-spacing:.01em;overflow-x:hidden}nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.5rem 3rem;background:transparent;transition:background .4s ease,border-color .4s ease;border-bottom:.5px solid transparent}nav.scrolled{background:hsla(33,31%,94%,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--rule-fine)}nav .nav-name{font-family:var(--serif);font-size:1rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--fg);text-decoration:none}nav .nav-links{display:flex;gap:2.5rem;list-style:none}nav .nav-links a{font-family:var(--sans);font-size:.7rem;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted);text-decoration:none;transition:color .3s ease}nav .nav-links a:hover{color:var(--fg)}section{padding:var(--s-xl) 3rem}.landing,section{max-width:1200px;margin:0 auto}.landing{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:0 3rem;position:relative}.landing h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.8rem,5.5vw,5.2rem);line-height:1.1;letter-spacing:-.02em;color:var(--fg);margin-bottom:var(--s-md)}.landing .tagline{font-size:.8rem;font-weight:300;letter-spacing:.15em;color:var(--fg-muted);max-width:36rem}.landing .scroll-indicator,.landing .tagline{font-family:var(--sans);text-transform:uppercase}.landing .scroll-indicator{position:absolute;bottom:3rem;left:3rem;font-size:.65rem;letter-spacing:.2em;color:var(--rule);writing-mode:vertical-rl;animation:fade-drift 3s ease-in-out infinite}@keyframes fade-drift{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:.7;transform:translateY(6px)}}.divider{max-width:1200px;margin:0 auto;padding:0 3rem}.divider hr{border:none;border-top:.5px solid var(--rule-fine)}.image-break{width:100%;padding:0;margin:0;overflow:hidden;background:#0a0a09}.image-break img{width:100%;height:70vh;object-fit:cover;display:block;filter:grayscale(100%) contrast(1.2) brightness(.85);opacity:.9}.section-label{font-family:var(--sans);font-size:.65rem;font-weight:300;letter-spacing:.25em;text-transform:uppercase;color:var(--rule);margin-bottom:var(--s-lg)}.approach{padding:var(--s-2xl) 3rem}.approach-text{max-width:38rem}.approach-text p{font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.35rem);font-weight:300;line-height:1.75;color:var(--fg);margin-bottom:var(--s-md)}.approach-text p:last-child{margin-bottom:0}.pull-quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.2vw,1.6rem);line-height:1.6;color:var(--accent);margin-top:var(--s-lg);max-width:34rem}.practice{padding:var(--s-2xl) 3rem}.practice-list{list-style:none;max-width:42rem}.practice-list li{padding:var(--s-md) 0;border-bottom:.5px solid var(--rule-fine)}.practice-list li:first-child{border-top:.5px solid var(--rule-fine)}.practice-list .discipline{font-family:var(--serif);font-size:clamp(1.15rem,1.6vw,1.3rem);font-weight:400;letter-spacing:.01em;color:var(--fg);margin-bottom:.4rem}.practice-list .discipline-desc{font-family:var(--sans);font-size:.82rem;font-weight:300;line-height:1.65;color:var(--fg-muted)}.client-images{max-width:1200px;margin:0 auto;padding:var(--s-lg) 3rem}.client-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem}.client-img-cell{position:relative;overflow:hidden}.client-img-cell img{width:100%;height:42vh;object-fit:cover;display:block;transition:transform .6s ease}.client-img-cell:hover img{transform:scale(1.02)}.img-caption{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;font-family:var(--sans);font-size:.65rem;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:hsla(0,0%,100%,.7);background:linear-gradient(0deg,rgba(0,0,0,.4),transparent)}.clients{padding:var(--s-2xl) 3rem}.client-group{margin-bottom:var(--s-lg)}.client-group:last-child{margin-bottom:0}.client-category{font-family:var(--sans);font-size:.65rem;font-weight:300;letter-spacing:.25em;text-transform:uppercase;color:var(--rule);margin-bottom:var(--s-sm)}.client-names{font-family:var(--serif);font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:300;line-height:1.45;color:var(--fg);letter-spacing:.01em}.process{padding:var(--s-2xl) 3rem}.process-flow{display:flex;align-items:flex-start;gap:0;max-width:100%}.process-step{flex:1 1;text-align:left;padding-right:2rem}.process-connector{width:1px;min-height:80px;background:var(--rule-fine);flex-shrink:0;margin:0 .5rem;align-self:stretch}.step-number{font-family:var(--serif);font-size:2.4rem;font-weight:300;color:var(--rule);line-height:1;display:block;margin-bottom:var(--s-sm);letter-spacing:-.02em}.step-title{font-family:var(--serif);font-size:1.2rem;font-weight:400;color:var(--fg);margin-bottom:.5rem;letter-spacing:.01em}.step-desc{font-family:var(--sans);font-size:.78rem;font-weight:300;line-height:1.65;color:var(--fg-muted)}.contact{padding:var(--s-2xl) 3rem var(--s-xl)}.contact-inner{max-width:38rem}.contact-email{font-family:var(--serif);font-size:clamp(1.4rem,2.5vw,2rem);font-weight:300;color:var(--fg);text-decoration:none;transition:color .3s ease;letter-spacing:.01em}.contact-email:hover{color:var(--accent)}.contact-links{display:flex;gap:2rem;margin-top:var(--s-md)}.contact-links a{font-family:var(--sans);font-size:.7rem;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted);text-decoration:none;transition:color .3s ease}.contact-links a:hover{color:var(--fg)}footer{padding:var(--s-lg) 3rem var(--s-md);max-width:1200px;margin:0 auto;border-top:.5px solid var(--rule-fine)}footer p{font-family:var(--sans);font-size:.6rem;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--rule)}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .8s ease-out,transform .8s ease-out}.fade-in.visible{opacity:1;transform:translateY(0)}.landing-content{animation:landing-entrance 1.2s ease-out both}@keyframes landing-entrance{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){nav{padding:1.25rem 1.5rem}nav .nav-links{gap:1.2rem}nav .nav-links a{font-size:.6rem;letter-spacing:.12em}.approach,.client-images,.clients,.contact,.divider,.landing,.practice,.process,section{padding-left:1.5rem;padding-right:1.5rem}.landing{min-height:90vh}.landing .scroll-indicator{left:1.5rem}.image-break img{height:45vh}.client-grid{grid-template-columns:1fr;gap:1rem}.client-img-cell img{height:35vh}.process-flow{flex-direction:column;gap:0}.process-step{padding:var(--s-md) 0;padding-right:0;border-bottom:.5px solid var(--rule-fine)}.process-step:first-child{border-top:.5px solid var(--rule-fine)}.process-connector{display:none}.step-number{font-size:1.8rem}footer{padding-left:1.5rem;padding-right:1.5rem}}@media (max-width:480px){nav .nav-name{font-size:.85rem;letter-spacing:.1em}nav .nav-links{display:none}.landing h1{font-size:2.2rem}}