*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--white: #FFFFFF;--bg: #F8F8F6;--bg-dark: #111210;--border: rgba(0,0,0,.08);--border-dark: rgba(255,255,255,.1);--text: #0E0E0C;--text-muted: #888884;--text-light: rgba(255,255,255,.6);--navy: #1A2E4A;--navy-h: #243d61;--accent: #1A2E4A;--sans: "Inter", system-ui, -apple-system, sans-serif;--ser: "DM Serif Display", Georgia, serif;--max: 1200px;--pad: clamp(1.5rem, 5vw, 4rem);--section: clamp(5rem, 10vw, 9rem);--ease: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.4, 0, 1, 1)}html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}.eyebrow{font-size:.68rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.25rem}.eyebrow.light{color:#fff6}h1,h2,blockquote{font-family:var(--ser);font-weight:400}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;background:var(--navy);color:var(--white);font-family:var(--sans);font-size:.82rem;font-weight:500;letter-spacing:.04em;text-decoration:none;border:none;border-radius:2px;cursor:pointer;transition:background .25s var(--ease),transform .2s var(--ease),box-shadow .25s;position:relative;overflow:hidden}.btn-primary:after{content:"";position:absolute;inset:0;background:#ffffff0f;opacity:0;transition:opacity .2s}.btn-primary:hover{background:var(--navy-h);box-shadow:0 8px 32px #1a2e4a33}.btn-primary:hover:after{opacity:1}.btn-primary:active{transform:scale(.98)}.arr{transition:transform .2s var(--ease);display:inline-block}.btn-primary:hover .arr,.nav-link:hover .arr{transform:translate(3px)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.4rem var(--pad);transition:background .4s,border-color .4s,backdrop-filter .4s}.nav.scrolled{background:#f8f8f6e0;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border)}.nav-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}.nav-logo-img{height:28px;width:auto;display:block}.footer-logo-img{height:22px;opacity:.75}.nav-link{font-size:.8rem;font-weight:500;letter-spacing:.06em;color:var(--text-muted);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;transition:color .2s}.nav-link:hover{color:var(--navy)}.hero{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:var(--max);margin:0 auto;padding:calc(var(--section) + 4rem) var(--pad) var(--section);gap:clamp(2rem,5vw,5rem)}.hero-text{max-width:520px}.hero-headline{font-size:clamp(3rem,5.5vw,5rem);line-height:1.06;letter-spacing:-.02em;color:var(--text);margin-bottom:1.75rem}.hero-sub{font-size:1rem;color:#555550;line-height:1.8;margin-bottom:2.5rem;font-weight:300}.hero-canvas-wrap{width:100%;aspect-ratio:1 / .75;position:relative;border-radius:2px;overflow:hidden}#hero-canvas{width:100%;height:100%;display:block}.strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--white);display:flex;align-items:center;justify-content:center;gap:2rem;padding:1.25rem var(--pad);font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted)}.strip .dot{color:var(--border);font-size:1rem}.services{background:var(--bg)}.services-inner{max-width:var(--max);margin:0 auto;padding:var(--section) var(--pad);display:grid;grid-template-columns:1fr 2fr;gap:clamp(3rem,6vw,6rem);align-items:start}.services-header{position:sticky;top:6rem}.services-header h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.2;letter-spacing:-.02em;color:var(--text)}.services-grid{display:flex;flex-direction:column;gap:0}.service-item{padding:2.5rem 0;border-top:1px solid var(--border);display:flex;flex-direction:row;gap:1.5rem;align-items:flex-start;transition:border-color .3s}.service-item:last-child{border-bottom:1px solid var(--border)}.service-item:hover{border-color:var(--navy)}.service-num{font-size:.65rem;font-weight:500;letter-spacing:.1em;color:var(--text-muted);padding-top:.45rem;flex-shrink:0;width:2.5rem}.service-body{min-width:0}.service-body h3{font-family:var(--ser);font-size:1.5rem;font-weight:400;margin-bottom:.5rem;letter-spacing:-.01em}.service-body p{font-size:.9rem;color:#666660;line-height:1.7;font-weight:300}.philosophy{background:var(--bg-dark);color:var(--white);position:relative;overflow:hidden}.philosophy-inner{position:relative;z-index:2;max-width:var(--max);margin:0 auto;padding:var(--section) var(--pad);max-width:820px}.philosophy blockquote{font-size:clamp(1.5rem,3vw,2.4rem);font-style:italic;line-height:1.35;letter-spacing:-.01em;color:#ffffffe0;margin-bottom:2rem}.philosophy-body{font-size:.9rem;font-weight:300;line-height:1.8;color:#ffffff73}.philosophy-canvas-wrap{position:absolute;inset:0;z-index:1;opacity:.35}#philosophy-canvas{width:100%;height:100%;display:block}.contact{background:var(--white);border-top:1px solid var(--border)}.contact-inner{max-width:var(--max);margin:0 auto;padding:var(--section) var(--pad);display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(3rem,8vw,8rem);align-items:start}.contact-header h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.1;letter-spacing:-.02em;margin-bottom:1rem}.contact-sub{font-size:.9rem;font-weight:300;color:#777772;line-height:1.8}.field{position:relative}.field input,.field textarea{width:100%;padding:1.2rem 1rem .5rem;font-family:var(--sans);font-size:.9rem;font-weight:400;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:2px;outline:none;transition:border-color .2s,background .2s;resize:none;-webkit-appearance:none}.field input:focus,.field textarea:focus{border-color:var(--navy);background:var(--white)}.field label{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:.85rem;color:var(--text-muted);pointer-events:none;transition:all .18s var(--ease);transform-origin:left top}.field-textarea label{top:1.1rem;transform:none}.field input:focus~label,.field input:not(:placeholder-shown)~label{top:.45rem;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);transform:translateY(0)}.field textarea:focus~label,.field textarea:not(:placeholder-shown)~label{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);top:.4rem}.contact-form{display:flex;flex-direction:column;gap:.85rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.contact-form .btn-primary{align-self:flex-start;margin-top:.5rem;padding:.8rem 2rem}.form-success{display:none;flex-direction:column;align-items:flex-start;gap:.5rem;padding:2rem 0;animation:fadeUp .5s var(--ease) both}.form-success.visible{display:flex}.form-success svg{width:28px;height:28px;stroke:var(--navy);margin-bottom:.25rem}.form-success p{font-family:var(--ser);font-size:1.4rem;font-weight:400;color:var(--text)}.form-success span{font-size:.85rem;font-weight:300;color:var(--text-muted)}.footer{background:var(--bg);border-top:1px solid var(--border)}.footer-inner{max-width:var(--max);margin:0 auto;padding:2rem var(--pad);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-loc{font-size:.78rem;color:var(--text-muted);letter-spacing:.06em}.footer-copy{font-size:.75rem;color:#bbb}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-text{animation:fadeUp .9s var(--ease) .1s both}.hero-canvas-wrap{animation:fadeUp .9s var(--ease) .3s both}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}[data-reveal].visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:8rem}.hero-canvas-wrap{max-width:480px;margin:0 auto}.services-inner{grid-template-columns:1fr}.services-header{position:static}.contact-inner{grid-template-columns:1fr}}@media(max-width:600px){.form-row{grid-template-columns:1fr}.strip{gap:1rem}.footer-inner{flex-direction:column;align-items:flex-start;gap:.4rem}}
