:root{--teal: var(--vaultAccent);--teal-l: color-mix(in srgb, var(--vaultAccent) 80%, white);--stone: #b5a690;--stone-l: #c9b89e}[data-theme=dark]{--bg: var(--vaultDarkBg);--text: var(--vaultDarkText);--bg-alt: color-mix(in srgb, var(--bg) 95%, white);--rule: color-mix(in srgb, var(--bg) 90%, white);--rule-mid: color-mix(in srgb, var(--bg) 80%, white);--dim: color-mix(in srgb, var(--text) 50%, transparent);--mid: color-mix(in srgb, var(--text) 70%, transparent);--bright: color-mix(in srgb, var(--text) 80%, white)}[data-theme=light]{--bg: var(--vaultLightBg);--text: var(--vaultLightText);--bg-alt: color-mix(in srgb, var(--bg) 95%, black);--rule: color-mix(in srgb, var(--bg) 90%, black);--rule-mid: color-mix(in srgb, var(--bg) 80%, black);--dim: color-mix(in srgb, var(--text) 60%, transparent);--mid: color-mix(in srgb, var(--text) 80%, transparent);--bright: color-mix(in srgb, var(--text) 90%, black)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--vaultFont),"Cormorant Garamond",Georgia,serif;line-height:1.6;overflow-x:hidden;transition:background .4s ease,color .4s ease}strong{font-weight:800}em{color:var(--teal);font-style:normal;font-weight:600}strong em,em strong{color:var(--teal);font-weight:900}body:after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:999;opacity:.3}.mono{font-family:DM Mono,monospace;font-size:.6rem;font-weight:300;letter-spacing:.15em;text-transform:uppercase}nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;justify-content:space-between;align-items:center;padding:1.6rem 3rem;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--rule);transition:background .4s,border-color .4s}.nav-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none}.nav-right{display:flex;align-items:center;gap:2rem}.nav-cta{font-family:DM Mono,monospace;font-size:.7rem;font-weight:300;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;color:var(--dim);transition:color .2s}.nav-cta:hover{color:var(--teal)}.theme-toggle{background:none;border:1px solid var(--rule);cursor:pointer;padding:.4rem .7rem;display:flex;align-items:center;gap:.5rem;transition:border-color .2s}.theme-toggle:hover{border-color:var(--teal)}.toggle-track{width:28px;height:14px;background:var(--rule-mid);border-radius:7px;position:relative;transition:background .3s}[data-theme=light] .toggle-track{background:var(--teal)}.toggle-thumb{position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:var(--stone);transition:transform .3s,background .3s}[data-theme=light] .toggle-thumb{transform:translate(14px)}.toggle-label{font-family:DM Mono,monospace;font-size:.65rem;font-weight:300;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}#hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:0 3rem 6rem;overflow:hidden}.hero-img{position:absolute;inset:0;background:var(--bg);background-image:var(--vaultHeroImg);background-size:cover;background-position:center 60%;transition:background .4s}.hero-img:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,color-mix(in srgb,var(--bg) 100%,transparent),color-mix(in srgb,var(--bg) 85%,transparent) 35%,color-mix(in srgb,var(--bg) 55%,transparent) 60%,color-mix(in srgb,var(--bg) 20%,transparent))}.hero-content{position:relative;z-index:2;max-width:860px}.hero-eyebrow{font-size:.75rem;color:var(--teal);margin-bottom:2rem;opacity:0;animation:up .7s ease .3s forwards}h1{font-weight:300;line-height:1.05;letter-spacing:-.025em;color:var(--bright);opacity:0;animation:up .8s ease .5s forwards}.h1-l1{display:block;font-size:clamp(2.8rem,5.5vw,5.8rem);color:var(--bright);white-space:nowrap;text-shadow:0 2px 20px rgba(0,0,0,.4)}.h1-l2{display:block;font-size:clamp(2.4rem,4.5vw,5rem);font-style:italic;color:var(--stone);margin-top:.5rem;text-shadow:0 2px 24px rgba(0,0,0,.7),0 1px 8px rgba(0,0,0,.5)}[data-theme=light] .h1-l2{color:var(--bright);text-shadow:0 2px 12px rgba(255,255,255,.3)}[data-theme=light] .h1-l1{text-shadow:0 2px 12px rgba(255,255,255,.2)}.hero-link{display:inline-flex;align-items:center;gap:.75rem;margin-top:3.5rem;font-family:DM Mono,monospace;font-size:.6rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--bright);opacity:0;animation:up .8s ease .9s forwards;transition:color .2s}.hero-link:after{content:"";display:block;width:32px;height:1px;background:var(--teal);transition:width .3s ease}.hero-link:hover{color:var(--teal)}.hero-link:hover:after{width:56px}.section{border-top:1px solid var(--rule);padding:7rem 3rem;transition:border-color .4s}.w{max-width:1000px;margin:0 auto}.s-eye{display:block;color:var(--teal);margin-bottom:4.5rem;font-size:.75rem;letter-spacing:.12em}#work .work-body{font-size:clamp(1.2rem,2.2vw,1.65rem);font-weight:300;line-height:1.65;color:var(--text);max-width:740px}.img-break{position:relative;height:440px;overflow:hidden;background:var(--rule);background-image:var(--vaultBreakImg);background-size:cover;background-position:center 40%}.img-break:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,color-mix(in srgb,var(--teal) 18%,transparent) 0%,transparent 60%)}#build{background:var(--bg-alt);transition:background .4s}.build-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:3.5rem}.tag{font-family:DM Mono,monospace;font-size:.72rem;font-weight:300;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);border:1px solid color-mix(in srgb,var(--stone) 55%,transparent);padding:.6rem 1.1rem;transition:border-color .2s,color .2s}.tag:hover{border-color:var(--teal);color:var(--teal)}.build-close{font-size:1.25rem;font-weight:300;color:var(--mid);max-width:580px;line-height:1.8}#engagements .eng-body{font-size:clamp(1.2rem,1.8vw,1.45rem);font-weight:300;line-height:1.85;color:var(--text);max-width:700px}#contact .w{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:start}.contact-statement{font-size:clamp(1.7rem,2.8vw,2.5rem);font-weight:300;line-height:1.2;letter-spacing:-.02em;color:var(--bright)}.contact-statement em{font-style:italic;color:var(--stone-l)}.form-row{display:flex;flex-direction:column;gap:.4rem;padding:1.5rem 0;border-bottom:1px solid var(--rule);transition:border-color .4s}.form-row:first-of-type{border-top:1px solid var(--rule)}.c-label{color:var(--teal)}.form-row .c-label{font-size:.72rem;letter-spacing:.12em}.form-input{background:none;border:none;border-bottom:none;outline:none;font-family:var(--vaultFont),"Cormorant Garamond",Georgia,serif;font-size:1rem;font-weight:300;color:var(--bright);padding:.3rem 0;width:100%;transition:color .4s}.form-input::placeholder{color:var(--dim)}.form-textarea{resize:none;line-height:1.7}.form-submit{margin-top:2rem;font-family:DM Mono,monospace;font-size:.6rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;background:var(--bright);border:1px solid var(--bright);cursor:pointer;color:var(--bg);display:inline-flex;align-items:center;gap:.75rem;padding:.85rem 1.75rem;transition:background .2s,color .2s,border-color .2s}.form-submit:hover{background:transparent;color:var(--bright);border-color:var(--bright)}.form-submit:after{content:"";display:block;width:32px;height:1px;background:var(--teal);transition:width .3s ease}.form-submit:hover{color:var(--teal)}.form-submit:hover:after{width:56px}footer{border-top:1px solid var(--rule);padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:center;transition:border-color .4s}footer span{color:var(--dim)}@keyframes up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:1;transform:translateY(0);transition:opacity .75s ease,transform .75s ease}.js-ready .reveal{opacity:0;transform:translateY(18px)}.js-ready .reveal.in{opacity:1;transform:translateY(0)}@media(max-width:800px){nav{padding:1.4rem 1.5rem}#hero{padding:0 1.5rem 4.5rem}.section{padding:5rem 1.5rem}.h1-l2{padding-left:1rem}#contact .w{grid-template-columns:1fr;gap:3rem}footer{padding:1.4rem 1.5rem;flex-direction:column;gap:.5rem;align-items:flex-start}.img-break{height:260px}.nav-right{gap:1.2rem}}
