.nav-header{position:fixed;top:0;left:0;right:0;z-index:100;background-color:#f9f8f6f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(26,26,26,.1)}.nav-container{display:flex;align-items:center;justify-content:space-between;height:5rem}.nav-logo{display:flex;align-items:baseline;gap:.5rem;text-decoration:none}.nav-logo:hover{color:inherit}.nav-logo-text{font-family:var(--font-heading);font-size:1.5rem;font-weight:400;color:var(--color-foreground);letter-spacing:-.02em}.nav-logo-accent{font-family:var(--font-heading);font-size:.875rem;font-style:italic;color:var(--color-muted-fg)}.nav-menu{display:flex;align-items:center;gap:2.5rem}.nav-link{font-family:var(--font-body);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--color-foreground);text-decoration:none;position:relative;padding:.5rem 0;transition:color var(--transition-base)}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--color-accent);transition:width var(--transition-base)}.nav-link:hover{color:var(--color-accent)}.nav-link:hover:after,.nav-link-active:after{width:100%}.nav-link-active{color:var(--color-accent)}@media(max-width:640px){.nav-menu{gap:1.5rem}.nav-link{font-size:.625rem;letter-spacing:.15em}.nav-logo-text{font-size:1.25rem}.nav-logo-accent{font-size:.75rem}}.footer{padding:6rem 0 3rem}.footer-cta{text-align:center;padding-bottom:4rem}.footer-divider{width:100%;height:1px;background-color:#f9f8f626;margin-bottom:3rem}.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.footer-brand{display:flex;align-items:baseline;gap:.5rem}.footer-logo{font-family:var(--font-heading);font-size:1.25rem;color:var(--color-background)}.footer-logo-accent{font-family:var(--font-heading);font-size:.75rem;font-style:italic;color:#f9f8f699}.footer-tagline{font-family:var(--font-heading);font-size:.875rem;font-style:italic;color:var(--color-accent);letter-spacing:.05em}.footer-copyright{font-size:.625rem;text-transform:uppercase;letter-spacing:.15em;color:#f9f8f666}@media(min-width:768px){.footer{padding:8rem 0 4rem}.footer-cta{padding-bottom:6rem}}.home{padding-top:5rem}.hero{min-height:calc(100vh - 5rem);display:flex;align-items:center;padding:4rem 0}.hero-container{display:flex;align-items:flex-end;justify-content:flex-start}.hero-content{max-width:800px}.hero-label{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.hero-title{margin-bottom:1.5rem}.hero-subtitle{max-width:520px;margin-bottom:2.5rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}.services-header{margin-bottom:4rem}.services-grid{display:grid;grid-template-columns:1fr;gap:0}@media(min-width:768px){.services-grid{grid-template-columns:repeat(3,1fr)}}.service-card{padding:2rem 1.5rem;border-right:none}@media(min-width:768px){.service-card{padding:2.5rem;border-right:1px solid rgba(26,26,26,.1)}.service-card:last-child{border-right:none}}.service-number{display:block;margin-bottom:1.5rem;color:var(--color-accent)}.service-title{margin-bottom:1rem;line-height:1.2}.service-description{font-size:.9375rem;line-height:1.6}.stats{padding:5rem 0}@media(min-width:768px){.stats{padding:6rem 0}}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center}.stat{display:flex;flex-direction:column;align-items:center;gap:.75rem}.stat-number{font-family:var(--font-heading);font-size:clamp(2.5rem,6vw,4rem);line-height:1;color:var(--color-background)}.stat-label{color:#f9f8f699;font-size:.625rem}@media(max-width:640px){.stats-grid{grid-template-columns:1fr;gap:2.5rem}}@media(min-width:1024px){.hero-content{padding-left:8%}}.portfolio{padding-top:5rem}.portfolio-header{padding:6rem 0 4rem}@media(min-width:768px){.portfolio-header{padding:8rem 0 5rem}}.portfolio-intro{max-width:480px;margin-top:1.5rem}.projects-section{padding-top:0}.projects-grid{display:grid;grid-template-columns:1fr;gap:4rem}@media(min-width:768px){.projects-grid{gap:6rem}}.project-card{display:block;text-decoration:none;color:inherit;animation:fadeInUp .8s ease-out forwards;opacity:0}.project-card:hover{color:inherit}.project-image-wrapper{position:relative;aspect-ratio:16 / 10;overflow:hidden;margin-bottom:1.5rem}.project-image{width:100%;height:100%;object-fit:cover;object-position:top}.project-type{position:absolute;top:1.5rem;right:1.5rem;padding:.5rem 1rem;background-color:var(--color-background);color:var(--color-foreground);font-size:.625rem}.project-content{padding:0 .5rem}.project-title{margin-bottom:.75rem;transition:color var(--transition-base)}.project-card:hover .project-title{color:var(--color-accent)}.project-description{font-size:.9375rem;line-height:1.6;margin-bottom:1rem;max-width:600px}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.project-tag{font-size:.625rem;text-transform:uppercase;letter-spacing:.1em;padding:.375rem .75rem;border:1px solid rgba(26,26,26,.2);color:var(--color-muted-fg)}.project-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-foreground);transition:color var(--transition-base)}.project-card:hover .project-link{color:var(--color-accent)}@media(min-width:1024px){.project-card:nth-child(2n){padding-left:15%}.project-card:nth-child(odd){padding-right:15%}}.contact{padding-top:5rem}.contact-header{padding:6rem 0 4rem}@media(min-width:768px){.contact-header{padding:8rem 0 5rem}}.contact-intro{max-width:420px;margin-top:1.5rem}.contact-section{padding-top:0}.contact-grid{display:grid;grid-template-columns:1fr;gap:4rem}@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1fr;gap:6rem}}.contact-info{order:2}@media(min-width:1024px){.contact-info{order:1}}.contact-details{display:flex;flex-direction:column;gap:1.5rem}.contact-detail{display:flex;flex-direction:column;gap:.5rem}.contact-link{font-family:var(--font-heading);font-size:1.125rem;transition:color var(--transition-base)}.contact-link:hover{color:var(--color-accent)}.contact-form{order:1;display:flex;flex-direction:column;gap:2rem}@media(min-width:1024px){.contact-form{order:2}}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-label{font-size:.625rem;color:var(--color-muted-fg)}.form-row{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:640px){.form-row{grid-template-columns:1fr 1fr}}.select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236C6863' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center}.select option{font-family:var(--font-body);font-style:normal}.form-status{padding:1rem;font-size:.875rem;text-align:center}.form-status.success{background-color:#d4af371a;color:var(--color-accent);border:1px solid var(--color-accent)}.form-status.error{background-color:#1a1a1a0d;color:var(--color-foreground);border:1px solid rgba(26,26,26,.2)}.form-submit{align-self:flex-start;margin-top:1rem}.form-submit:disabled{opacity:.6;cursor:not-allowed}.form-submit:disabled:before{display:none}:root{--color-background: #F9F8F6;--color-foreground: #1A1A1A;--color-muted-bg: #EBE5DE;--color-muted-fg: #6C6863;--color-accent: #D4AF37;--color-accent-fg: #FFFFFF;--font-heading: "Playfair Display", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 6rem;--space-2xl: 8rem;--transition-fast: .3s ease-out;--transition-base: .5s ease-out;--transition-slow: .7s ease-out;--transition-image: 1.5s ease-out;--transition-luxury: .5s cubic-bezier(.25, .46, .45, .94)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:400;color:var(--color-foreground);background-color:var(--color-background);line-height:1.625;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}.grid-lines{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:40;display:none}@media(min-width:1024px){.grid-lines{display:flex;justify-content:space-between;padding:0 calc((100vw - 1600px)/2 + 4rem)}.grid-lines:before,.grid-lines:after{content:"";width:1px;height:100vh;background-color:#1a1a1a14}}.grid-line{width:1px;height:100vh;background-color:#1a1a1a14}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;line-height:.95;letter-spacing:-.02em}.heading-hero{font-size:clamp(3rem,8vw,8rem);line-height:.9}.heading-section{font-size:clamp(2.5rem,5vw,4.5rem)}.heading-subsection{font-size:clamp(1.5rem,3vw,2.25rem)}.text-body{font-size:1rem;line-height:1.625}.text-body-lg{font-size:1.125rem;line-height:1.7}.overline{font-family:var(--font-body);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.25em;color:var(--color-muted-fg)}.italic-accent{font-style:italic;color:var(--color-accent)}a{color:inherit;text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;height:3rem;padding:0 2.5rem;font-family:var(--font-body);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;border:none;cursor:pointer;position:relative;overflow:hidden;transition:all var(--transition-luxury)}.btn-primary{background-color:var(--color-foreground);color:var(--color-accent-fg);box-shadow:0 4px 16px #00000026}.btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-accent);transform:translate(-100%);transition:transform var(--transition-luxury);z-index:0}.btn-primary:hover:before{transform:translate(0)}.btn-primary:hover{box-shadow:0 8px 24px #00000040}.btn-primary span{position:relative;z-index:10;color:var(--color-accent-fg)}.btn-secondary{background-color:transparent;color:var(--color-foreground);border:1px solid var(--color-foreground)}.btn-secondary:hover{background-color:var(--color-foreground);color:var(--color-accent-fg)}.input{width:100%;height:3rem;padding:.5rem 0;font-family:var(--font-body);font-size:.875rem;color:var(--color-foreground);background-color:transparent;border:none;border-bottom:1px solid var(--color-foreground);transition:border-color var(--transition-base)}.input::placeholder{font-family:var(--font-heading);font-style:italic;color:var(--color-muted-fg)}.input:focus{outline:none;border-bottom-color:var(--color-accent)}.textarea{min-height:8rem;resize:vertical}.card{background-color:transparent;border-top:1px solid var(--color-foreground);padding:2rem 0;transition:background-color var(--transition-slow)}.card:hover{background-color:#f9f8f680}.img-luxury{transition:transform var(--transition-image),box-shadow var(--transition-image);box-shadow:0 4px 24px #00000014,inset 0 0 0 1px #0000000a}.img-luxury:hover{transform:scale(1.02);box-shadow:0 8px 32px #0000001f,inset 0 0 0 1px #00000014}.container{max-width:1600px;margin:0 auto;padding:0 2rem}@media(min-width:768px){.container{padding:0 4rem}}.section{padding:5rem 0}@media(min-width:768px){.section{padding:8rem 0}}.section-dark{background-color:var(--color-foreground);color:var(--color-background)}.section-dark .overline{color:#f9f8f699}.divider{width:3rem;height:1px;background-color:var(--color-foreground)}.divider-gold{background-color:var(--color-accent)}.text-center{text-align:center}.text-muted{color:var(--color-muted-fg)}.text-gold{color:var(--color-accent)}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .8s ease-out forwards}:focus-visible{outline:1px solid var(--color-foreground);outline-offset:2px}.btn:focus-visible{outline-color:var(--color-accent)}
