*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0907;--bg-soft: #14110d;--bg-card: #1a1612;--ink: #f5f1ea;--ink-soft: #b5ada1;--ink-faint: #7a7268;--accent: #d97435;--accent-bright: #e8893f;--rule: rgba(245, 241, 234, .1);--serif: "Playfair Display", "Times New Roman", serif;--sans: "DM Sans", system-ui, sans-serif;--page-x: clamp(1.25rem, 5vw, 3.5rem)}html,body{background:var(--bg);color:var(--ink)}body{font-family:var(--sans);font-size:17px;line-height:1.65;overflow-x:hidden;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em}body.menu-open{overflow:hidden}.lenis.lenis-smooth{scroll-behavior:auto!important}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:var(--accent);color:var(--bg)}.hero-eyebrow,.pillar-eyebrow,.specialties-eyebrow,.about-eyebrow,.contact-eyebrow,.work-eyebrow{font-family:var(--sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.22em;color:var(--accent);font-weight:500;margin-bottom:1.5rem}.header{position:fixed;top:0;left:0;right:0;z-index:100;padding-top:env(safe-area-inset-top,0);transition:background .4s ease,border-color .4s ease;background:linear-gradient(to bottom,rgba(10,9,7,.5),transparent);border-bottom:1px solid transparent}.header-scrolled{background:#0a0907d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--rule)}.header-nav{max-width:1400px;margin:0 auto;padding:1.25rem var(--page-x);display:flex;justify-content:space-between;align-items:center}.header-logo{display:flex;align-items:center;gap:.6rem;font-family:var(--serif);font-size:1.4rem;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.header-logo-icon{height:1.8rem;width:auto;object-fit:contain}.header-links{display:flex;gap:2.5rem;list-style:none}.header-links a{font-size:.875rem;letter-spacing:.05em;text-transform:lowercase;color:var(--ink-soft);transition:color .3s}.header-links a:hover{color:var(--ink)}.header-cta{font-size:.875rem;padding:.65rem 1.25rem;border:1px solid var(--rule);border-radius:999px;color:var(--ink);transition:border-color .3s,color .3s,background .3s}.header-cta:hover{border-color:var(--accent);color:var(--accent)}.header-hamburger{display:none;background:none;border:none;color:var(--ink);padding:.5rem;cursor:pointer;min-width:44px;min-height:44px;align-items:center;justify-content:center}.header-mobile-menu{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:99;padding-top:6rem;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.header-mobile-menu-open{opacity:1;visibility:visible}.header-mobile-links{list-style:none;display:flex;flex-direction:column;align-items:center;gap:2rem;padding:3rem 2rem}.header-mobile-links a{font-family:var(--serif);font-size:2rem;font-weight:500;letter-spacing:-.02em}.header-mobile-links .header-cta{font-family:var(--sans);font-size:.875rem}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;padding:8rem var(--page-x) 6rem}.hero-image{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;z-index:0;filter:brightness(.55) contrast(1.05);transform-origin:center}.hero-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#0a0907f2,#0a090766 40%,#0a090726 70%),linear-gradient(to right,rgba(10,9,7,.6) 0%,transparent 60%);z-index:1}.hero-inner{position:relative;z-index:2;max-width:920px;width:100%}.hero-eyebrow{color:var(--accent);margin-bottom:1.75rem}.hero-title{font-family:var(--serif);font-size:clamp(2.5rem,7vw,5.5rem);font-weight:500;line-height:1.02;letter-spacing:-.025em;color:var(--ink);margin-bottom:1.75rem;max-width:18ch}.hero-description{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--ink-soft);max-width:540px;line-height:1.65;margin-bottom:2.5rem}.hero-cta{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 1.75rem;background:var(--accent);color:var(--bg);font-weight:500;font-size:.95rem;letter-spacing:.01em;border-radius:999px;transition:transform .3s,background .3s}.hero-cta:hover{background:var(--accent-bright);transform:translateY(-2px)}.hero-cta-arrow{transition:transform .3s}.hero-cta:hover .hero-cta-arrow{transform:translate(4px)}.pillar{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:var(--bg-soft)}.pillar-image{background-size:cover;background-position:center;min-height:60vh}.pillar-content{padding:clamp(4rem,10vw,8rem) clamp(2rem,6vw,5rem);display:flex;flex-direction:column;justify-content:center;max-width:640px}.pillar-title{font-family:var(--serif);font-size:clamp(2rem,4.5vw,3.5rem);font-weight:500;line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin-bottom:1.75rem}.pillar-body{font-size:1.05rem;color:var(--ink-soft);line-height:1.75;margin-bottom:1.25rem}.pillar-list{list-style:none;margin-top:2rem;border-top:1px solid var(--rule)}.pillar-list li{padding:1rem 0;border-bottom:1px solid var(--rule);color:var(--ink);font-size:.95rem;letter-spacing:.01em}.specialties{padding:clamp(6rem,12vw,10rem) var(--page-x);border-bottom:1px solid var(--rule)}.specialties-inner{max-width:1200px;margin:0 auto}.specialties-title{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:500;line-height:1.1;letter-spacing:-.02em;margin-bottom:4rem;max-width:20ch}.specialties-list{list-style:none;display:grid;grid-template-columns:1fr}.specialties-item{display:grid;grid-template-columns:4rem 1fr;align-items:baseline;padding:1.75rem 0;border-top:1px solid var(--rule);transition:padding-left .4s ease}.specialties-item:last-child{border-bottom:1px solid var(--rule)}.specialties-item:hover{padding-left:1rem}.specialties-index{font-family:var(--sans);font-size:.75rem;color:var(--ink-faint);letter-spacing:.1em}.specialties-label{font-family:var(--serif);font-size:clamp(1.25rem,2.5vw,1.85rem);font-weight:500;letter-spacing:-.015em;color:var(--ink)}.work{padding:clamp(6rem,12vw,10rem) var(--page-x);border-bottom:1px solid var(--rule)}.work-header{max-width:1200px;margin:0 auto 4rem}.work-title{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:500}.work-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.work-image{aspect-ratio:4 / 3;background-size:cover;background-position:center;margin-bottom:1rem}.work-item-title{font-family:var(--serif);font-size:1.5rem;font-weight:500}.about{background:var(--bg-soft);padding:clamp(6rem,12vw,10rem) var(--page-x)}.about-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}.about-image-wrap{overflow:hidden}.about-image{width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;filter:grayscale(.15) contrast(1.05)}.about-title{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:500;line-height:1.1;letter-spacing:-.02em;margin-bottom:2rem;max-width:16ch}.about-body{font-size:1.05rem;color:var(--ink-soft);line-height:1.8;margin-bottom:1.5rem}.about-signoff{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--ink);margin-top:2rem}.contact{padding:clamp(6rem,12vw,10rem) var(--page-x)}.contact-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,6vw,5rem);align-items:start}.contact-text{position:sticky;top:8rem}.contact-title{font-family:var(--serif);font-size:clamp(2rem,4.5vw,3.5rem);font-weight:500;line-height:1.05;letter-spacing:-.025em;margin-bottom:1.5rem}.contact-body{font-size:1.05rem;color:var(--ink-soft);line-height:1.7}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.contact-field label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);margin-bottom:.5rem}.contact-field input,.contact-field textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--rule);padding:.75rem 0;color:var(--ink);font-family:inherit;font-size:1rem;transition:border-color .3s}.contact-field input:focus,.contact-field textarea:focus{outline:none;border-bottom-color:var(--accent)}.contact-field textarea{resize:vertical;min-height:100px}.contact-submit{margin-top:1rem;align-self:flex-start;display:inline-flex;align-items:center;gap:.75rem;padding:1rem 1.75rem;background:var(--accent);color:var(--bg);border:none;border-radius:999px;font-family:inherit;font-weight:500;font-size:.95rem;cursor:pointer;transition:background .3s,transform .3s}.contact-submit:hover{background:var(--accent-bright);transform:translateY(-2px)}.contact-submit-arrow{transition:transform .3s}.contact-submit:hover .contact-submit-arrow{transform:translate(4px)}.footer{background:var(--bg);padding:3rem var(--page-x);border-top:1px solid var(--rule)}.footer-content{max-width:1200px;margin:0 auto}.footer-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.footer-right{display:flex;align-items:center;gap:1.5rem}.footer-lang{display:flex;align-items:center;gap:.5rem}.footer-lang-label{font-size:.75rem;color:var(--ink-faint);letter-spacing:.1em;text-transform:uppercase}.footer-lang-select{background:transparent;border:1px solid var(--rule);border-radius:999px;padding:.35rem .85rem;color:var(--ink);font-size:.8rem;cursor:pointer;color-scheme:dark}.footer-lang-select:focus{outline:none;border-color:var(--accent)}.footer-lang-select option{background:var(--bg)}.social-links{display:flex;gap:1.25rem}.social-links a{color:var(--ink-soft);transition:color .3s}.social-links a:hover{color:var(--accent)}.footer-text{color:var(--ink-faint);font-size:.8rem}@media (max-width: 900px){.pillar{grid-template-columns:1fr}.pillar-image{min-height:50vh}.about-inner,.contact-inner{grid-template-columns:1fr}.contact-text{position:static}}@media (max-width: 768px){.header-links,.header-cta-desktop{display:none}.header-hamburger{display:inline-flex}.header-mobile-menu{display:block}.hero{padding-top:7rem;padding-bottom:4rem}.specialties-item{grid-template-columns:3rem 1fr;padding:1.25rem 0}.specialties-item:hover{padding-left:0}.contact-field input,.contact-field textarea{font-size:16px}.footer-top{flex-direction:column;text-align:center;align-items:center}}
