:root{--bg:#faf6f0;--bg-soft:#f2ece1;--ink:#221f1a;--ink-dim:#6b6459;--ink-faint:#786f5f;--border:#e8e0d0;--cream:#f2ede1;--oceanfront:#8a6a2e;--zer0:#3e5fd6;--hamptons:#a8415f;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--display:"Fraunces", "Iowan Old Style", Georgia, serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;font:17px/1.6 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);margin:0;overflow-x:hidden}body:before{content:"";z-index:1;opacity:.05;mix-blend-mode:multiply;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}#root{min-height:100svh}h1,h2,h3{font-family:var(--display);color:var(--ink);margin:0;font-weight:500}p{margin:0}a{color:inherit}button{font:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nav{z-index:50;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:22px clamp(20px,5vw,64px);display:flex;position:sticky;top:0}.nav-brand{font-family:var(--display);letter-spacing:1.5px;color:var(--ink);font-size:16px;text-decoration:none}.nav-links{gap:28px;min-width:0;display:flex}.nav-links a{color:var(--ink-dim);font-size:14px;text-decoration:none;transition:color .2s;position:relative}.nav-links a:after{content:"";background:var(--oceanfront);height:1px;transition:right .25s;position:absolute;bottom:-4px;left:0;right:100%}.nav-links a:hover{color:var(--ink)}.nav-links a:hover:after{right:0}.hero{z-index:0;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:88svh;padding:40px clamp(20px,6vw,64px);display:flex;position:relative;overflow:hidden}.hero:after{content:"A";z-index:-1;font-family:var(--display);color:var(--oceanfront);opacity:.09;pointer-events:none;white-space:nowrap;font-size:min(60vw,760px);font-weight:500;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-46%)}.hero-eyebrow{text-transform:uppercase;letter-spacing:3px;color:var(--ink-faint);margin-bottom:22px;font-size:12px}.hero h1{letter-spacing:-1.5px;max-width:16ch;font-size:clamp(42px,7vw,88px);line-height:1.04}.hero h1 em{color:var(--oceanfront);font-style:italic}.hero-sub{max-width:46ch;color:var(--ink-dim);margin-top:26px;font-size:clamp(16px,1.6vw,19px);line-height:1.6}.hero-cue{letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-faint);flex-direction:column;align-items:center;gap:12px;margin-top:64px;font-size:12px;text-decoration:none;transition:color .2s;display:flex}.hero-cue:hover{color:var(--ink-dim)}.hero-cue-line{background:linear-gradient(180deg, var(--ink-faint), transparent);width:1px;height:40px}.work{flex-direction:column;gap:clamp(80px,12vw,160px);padding:clamp(60px,10vw,120px) clamp(20px,6vw,64px);display:flex}.work-card{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(32px,5vw,72px);display:grid}.work-card.is-reversed{grid-template-columns:.85fr 1.15fr}.work-card.is-reversed .work-media{order:2}.work-media{aspect-ratio:16/10;border:1px solid var(--border);border-radius:16px;position:relative;overflow:hidden;box-shadow:0 30px 80px -30px #221f1a47}.work-media:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #221f1a0f}.work-media a{width:100%;height:100%;display:block}.work-media img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1)}.work-media:hover img{transform:scale(1.045)}@media (prefers-reduced-motion:reduce){.work-media img{transition:none}.work-media:hover img{transform:none}}.work-index{font-family:var(--mono);color:var(--accent);margin-bottom:18px;font-size:13px}.work-copy .eyebrow{text-transform:uppercase;letter-spacing:2.5px;color:var(--accent);margin-bottom:10px;font-size:12px}.work-copy h2{letter-spacing:-.6px;margin-bottom:18px;font-size:clamp(28px,3.2vw,42px)}.work-description{color:var(--ink-dim);max-width:46ch;font-size:16px;line-height:1.65}.work-tags{flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0;list-style:none;display:flex}.work-tags li{letter-spacing:.4px;border:1px solid var(--border);color:var(--ink-dim);border-radius:999px;padding:6px 12px;font-size:12px}.work-link{color:var(--ink);align-items:center;gap:8px;margin-top:28px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.work-link span{transition:transform .2s}.work-link:hover span{transform:translate(4px)}.work-link-note{color:var(--ink-faint);font-size:13px;font-style:italic;font-weight:400}@media (width<=640px){.nav-brand{flex-shrink:0}.nav-links{scrollbar-width:none;gap:20px;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-links a{flex-shrink:0}}@media (width<=860px){.work-card,.work-card.is-reversed{grid-template-columns:1fr}.work-card.is-reversed .work-media{order:0}}.contact{text-align:center;flex-direction:column;align-items:center;gap:18px;padding:clamp(80px,12vw,140px) clamp(20px,6vw,64px);display:flex}.contact:before{content:"";background:var(--oceanfront);width:48px;height:2px;display:block}.contact h2{letter-spacing:-.6px;font-size:clamp(32px,4vw,48px)}.contact p{max-width:42ch;color:var(--ink-dim);font-size:16px}.btn{background:var(--ink);color:var(--bg);border-radius:999px;margin-top:14px;padding:14px 32px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px -10px #221f1a59}.contact-note{color:var(--ink-faint);font-size:12px;font-style:italic}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;color:var(--ink-dim);margin-bottom:10px;font-size:12px}.page-hero{max-width:900px;padding:clamp(64px,9vw,96px) clamp(20px,6vw,64px) clamp(40px,6vw,64px)}.page-hero:before{content:"";background:var(--oceanfront);width:48px;height:2px;margin-bottom:28px;display:block}.page-hero h2{letter-spacing:-1px;margin-top:18px;font-size:clamp(32px,4.5vw,56px);line-height:1.08}.page-hero-sub{max-width:56ch;color:var(--ink-dim);margin-top:24px;font-size:clamp(16px,1.6vw,19px);line-height:1.65}.page-section{padding:0 clamp(20px,6vw,64px) clamp(80px,12vw,140px)}.principles,.specialties{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(28px,4vw,48px);margin:18px 0 0;padding:0;list-style:none;display:grid}.principle h3,.specialty h3{letter-spacing:-.2px;margin-bottom:10px;font-size:19px}.principle p,.specialty p{color:var(--ink-dim);font-size:15px;line-height:1.6}.faq-list{border-top:1px solid var(--border);max-width:720px;margin:0;padding:0;list-style:none}.faq-item{border-bottom:1px solid var(--border)}.faq-question{text-align:left;width:100%;font-family:var(--display);color:var(--ink);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-size:clamp(17px,2vw,20px);display:flex}.faq-icon{font-family:var(--sans);color:var(--oceanfront);flex-shrink:0;font-size:20px;font-weight:400;transition:transform .25s}.faq-icon.is-open{transform:rotate(45deg)}.faq-answer{overflow:hidden}.faq-answer p{max-width:60ch;color:var(--ink-dim);padding:0 0 24px;font-size:15px;line-height:1.65}.mission-hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60svh;padding:40px clamp(20px,6vw,64px);display:flex}.mission-hero:before{content:"";background:var(--oceanfront);width:48px;height:2px;margin:0 auto 28px;display:block}.mission-statement{font-family:var(--display);letter-spacing:-.5px;max-width:16ch;color:var(--ink);margin:18px 0 0;font-size:clamp(32px,5.5vw,58px);font-style:italic;font-weight:500;line-height:1.15}.mission-sub{max-width:52ch;color:var(--ink-dim);margin-top:26px;font-size:clamp(16px,1.6vw,19px);line-height:1.65}.footer{text-align:center;color:var(--ink-faint);padding:28px clamp(20px,6vw,64px) 40px;font-size:13px}
