@font-face{font-family:Inter;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/Inter-Variable.woff2)format("woff2-variations"),url(/fonts/Inter-Variable.woff2)format("woff2")}@font-face{font-family:Libre Bodoni;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/LibreBodoni-Regular.woff2)format("woff2")}:root{--paper:#fff;--ink:#0a0a0a;--gray:#8a8a84;--line:#0a0a0a21;--pl:#ffffff2e;--pg:#ffffff9e;--sans:"Inter",sans-serif;--serif:"Libre Bodoni",serif;--pad:clamp(1.1rem,4.5vw,4.5rem)}*{box-sizing:border-box;margin:0;padding:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-feature-settings:"cv11" 1;font-size:16px;line-height:1.5;overflow-x:hidden}::selection{background:var(--ink);color:var(--paper)}a{color:inherit;text-decoration:none}.lbl{letter-spacing:.16em;text-transform:uppercase;font-size:.66rem;font-weight:600}.grain{z-index:300;pointer-events:none;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.nav{z-index:100;padding:1rem var(--pad);color:var(--paper);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;transition:background .4s,border-color .4s,color .4s,padding .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav.solid{background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);color:var(--ink);padding-top:.8rem;padding-bottom:.8rem}.wm{letter-spacing:-.03em;font-size:1.15rem;font-weight:900}.nav-links{align-items:center;gap:1.9rem;display:flex}.nav-links a.link{font-size:.9rem;font-weight:500;position:relative}.nav-links a.link:after{content:"";background:currentColor;width:0;height:1.5px;transition:width .3s;position:absolute;bottom:-3px;left:0}.nav-links a.link:hover:after{width:100%}.nav-cta{letter-spacing:.13em;text-transform:uppercase;border:1.5px solid;border-radius:100px;padding:.6rem 1.2rem;font-size:.68rem;font-weight:600;transition:background .25s,color .25s}.nav.solid .nav-cta:hover{background:var(--ink);color:var(--paper)}.nav:not(.solid) .nav-cta:hover{background:var(--paper);color:var(--ink)}.burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:.4rem;display:none}.burger span{background:currentColor;border-radius:2px;width:26px;height:3px;transition:all .3s}.nav:not(.solid) .burger span{background:var(--paper);filter:drop-shadow(0 0 2px #ffffffd9)drop-shadow(0 0 7px #ffffff8c)}.burger.open span:first-child{transform:translateY(7px)rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu{z-index:99;background:var(--ink);color:var(--paper);padding:var(--pad);flex-direction:column;justify-content:center;transition:transform .55s cubic-bezier(.7,0,.2,1);display:flex;position:fixed;inset:0;transform:translateY(-100%)}.mobile-menu.open{transform:translateY(0)}.mobile-menu a{letter-spacing:-.03em;border-bottom:1px solid var(--pl);padding:.35rem 0;font-size:clamp(2.4rem,10vw,4rem);font-weight:800}.mm-foot{color:var(--pg);letter-spacing:.14em;text-transform:uppercase;margin-top:2.2rem;font-size:.7rem;font-weight:600}.hero{height:100svh;min-height:640px;color:var(--paper);background:#0a0a0a;position:relative;overflow:hidden}.hero-media{z-index:0;position:absolute;inset:0}.hero-media .bg-slide{filter:contrast(1.05)brightness(.6);opacity:0;background-position:50%;background-size:cover;animation:20s infinite heroFade;position:absolute;inset:0}@keyframes heroFade{0%{opacity:0}4%{opacity:1}21%{opacity:1}25%{opacity:0}to{opacity:0}}.hero:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0a0a0a66,#0000 32% 55%,#0a0a0ad1);position:absolute;inset:0}.hero-inner{z-index:2;padding:0 var(--pad) clamp(2rem,5vw,3.4rem);position:absolute;bottom:0;left:0;right:0}.hero-wm{letter-spacing:-.05em;font-size:clamp(2.4rem,11.3vw,10.5rem);font-weight:900;line-height:.85;overflow:hidden}.hero-wm span{text-shadow:0 0 1px #ffffffe6,0 0 3px #ffffffb3,0 0 7px #fff6;animation:1s cubic-bezier(.2,.7,.2,1) .3s both rise;display:inline-block}@keyframes rise{0%{transform:translateY(110%)}to{transform:translateY(0)}}.hero-foot{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-top:clamp(1.1rem,3vw,1.8rem);animation:1s .8s both fadein;display:flex}@keyframes fadein{0%{opacity:0}to{opacity:1}}.hero-claim{color:#eee;max-width:44ch;font-size:1.05rem}.hero-actions{flex-wrap:wrap;gap:.7rem;display:flex}.services{color:var(--paper);padding:clamp(4rem,9vw,7rem) var(--pad);border-bottom:1px solid var(--pl);background:#000}.services .sec-head{color:var(--pg);margin-bottom:clamp(2.2rem,5vw,3.2rem)}.services .sec-head h2{color:var(--paper)}.services-grid{grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.2rem);margin-bottom:clamp(2.2rem,5vw,3rem);display:grid;position:relative}.service-card{border:1px solid var(--pl);border-radius:16px;padding:clamp(1.4rem,3vw,1.8rem)}.service-card h3{letter-spacing:-.01em;text-transform:uppercase;margin-bottom:1.1rem;font-size:1.15rem;font-weight:800}.service-tags{flex-wrap:wrap;gap:.5rem;display:flex}.service-tags i{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--pl);color:var(--pg);border-radius:100px;padding:.42rem .85rem;font-size:.64rem;font-style:normal;font-weight:600}@media (width<=900px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.services-grid{grid-template-columns:1fr}}.btn{letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:1.5px solid;border-radius:100px;align-items:center;gap:.6rem;padding:1rem 1.6rem;font-size:.72rem;font-weight:600;transition:transform .2s,background .25s,color .25s;display:inline-flex}.btn .arw{transition:transform .25s}.btn:hover .arw{transform:translate(4px)}.btn-solid{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn-solid:hover{transform:translateY(-2px)}.btn-ghost:hover{background:var(--paper);color:var(--ink)}.marquee{background:var(--ink);color:var(--paper);white-space:nowrap;padding:1.15rem 0;overflow:hidden}.marquee .track{will-change:transform;align-items:center;gap:2.4rem;animation:26s linear infinite scroll;display:inline-flex}.marquee .track b{letter-spacing:-.01em;text-transform:uppercase;font-size:clamp(1.3rem,3.4vw,2.2rem);font-weight:800}.marquee .track s{background:var(--paper);border-radius:50%;width:6px;height:6px;text-decoration:none}@keyframes scroll{to{transform:translate(-50%)}}.about{padding:clamp(4rem,10vw,7.5rem) var(--pad);border-bottom:1px solid var(--line)}.sec-head{color:var(--gray);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:clamp(2rem,5vw,3.5rem);display:flex}.about-grid{grid-template-columns:.85fr 1.15fr 1fr;align-items:end;gap:clamp(2rem,6vw,5rem);display:grid}.about-portrait{aspect-ratio:4/5;background:#111;border-radius:12px;position:relative;overflow:hidden}.about-portrait img{object-fit:cover;filter:grayscale()contrast(1.04)brightness(.96);width:100%;height:100%;transition:filter .6s,transform 1.2s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.about-portrait:hover img{filter:grayscale(0)contrast(1.06)brightness();transform:scale(1.04)}.about-lead{letter-spacing:-.045em;font-size:clamp(1.9rem,4.4vw,3.6rem);font-weight:800;line-height:1}.about-lead .hl{text-underline-offset:.12em;text-decoration:underline .07em}.about-body{color:#333;flex-direction:column;gap:1.1rem;font-size:1.05rem;display:flex}.work{padding:clamp(3.5rem,8vw,7rem) var(--pad);border-bottom:1px solid var(--line)}.sec-head h2{letter-spacing:-.045em;text-transform:uppercase;color:var(--ink);font-size:clamp(2rem,6vw,4.5rem);font-weight:900;line-height:.9}.filters{flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(1.8rem,4vw,2.8rem);display:flex}.filter{letter-spacing:.02em;border:1.5px solid var(--line);cursor:pointer;color:var(--ink);background:0 0;border-radius:100px;align-items:center;gap:.5rem;padding:.6rem 1.15rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.filter:hover{border-color:var(--ink)}.filter.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter .cnt{opacity:.55;font-variant-numeric:tabular-nums;font-size:.66rem}.filter.active .cnt{opacity:.7}.grid{grid-template-columns:repeat(3,1fr);gap:clamp(.7rem,1.6vw,1.15rem);display:grid}.card{aspect-ratio:4/5;background:#111;border-radius:12px;transition:opacity .45s,transform .45s;display:block;position:relative;overflow:hidden}.card.hide{display:none}.card.anim{animation:.5s cubic-bezier(.2,.7,.2,1) both pop}@keyframes pop{0%{opacity:0;transform:scale(.96)translateY(12px)}to{opacity:1;transform:none}}.card img{object-fit:cover;filter:grayscale()contrast(1.04)brightness(.92);width:100%;height:100%;transition:filter .6s,transform 1.2s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0;transform:scale(1.03)}.card .fb{z-index:0;position:absolute;inset:0}.card .scrim{z-index:1;background:linear-gradient(#0000002e,#0000 34% 54%,#000000b8);position:absolute;inset:0}.card:hover img{filter:grayscale(0)contrast(1.06)brightness();transform:scale(1.09)}.tags{z-index:3;flex-wrap:wrap;gap:.32rem;display:flex;position:absolute;top:.9rem;left:.9rem}.tags i{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:#fffffff0;border-radius:100px;padding:.28rem .5rem;font-size:.56rem;font-style:normal;font-weight:700}.cap{z-index:3;color:var(--paper);justify-content:space-between;align-items:flex-end;gap:.5rem;display:flex;position:absolute;bottom:.95rem;left:1rem;right:1rem}.c-name{letter-spacing:-.03em;text-transform:uppercase;font-size:clamp(1.1rem,2.2vw,1.6rem);font-weight:900;line-height:1}.c-loc{letter-spacing:.1em;text-transform:uppercase;opacity:.85;margin-top:.35rem;font-size:.6rem;font-weight:600;display:block}.c-arrow{opacity:0;font-size:1.1rem;transition:all .3s;transform:translate(-6px)}.card:hover .c-arrow{opacity:1;transform:none}.refs{border-bottom:1px solid var(--line);padding:clamp(3rem,7vw,5rem) 0;overflow:hidden}.refs .sec-head{padding:0 var(--pad);margin-bottom:clamp(1.8rem,4vw,2.8rem)}.refs-track-wrap{overflow:hidden}.refs-track{will-change:transform;align-items:center;gap:clamp(2.6rem,6vw,4.5rem);padding:0 clamp(1.6rem,4vw,4.5rem);animation:38s linear infinite refScroll;display:inline-flex}.refs:hover .refs-track{animation-play-state:paused}.ref-item{white-space:nowrap;align-items:center;display:inline-flex}.ref-item img{filter:grayscale()contrast(1.05);opacity:.6;width:auto;height:clamp(26px,4.4vw,42px);transition:filter .4s,opacity .4s}.ref-item:hover img{filter:grayscale(0)contrast();opacity:1}@keyframes refScroll{to{transform:translate(-50%)}}.contact{background:var(--ink);color:var(--paper);padding:clamp(4rem,9vw,7.5rem) var(--pad)}.contact .sec-head{color:var(--pg)}.contact .sec-head h2{color:var(--paper)}.contact-grid{grid-template-columns:1fr .9fr;gap:clamp(2.5rem,6vw,5rem);display:grid}.contact-head{letter-spacing:-.045em;text-transform:uppercase;margin-bottom:2.5rem;font-size:clamp(2rem,5.5vw,4rem);font-weight:900;line-height:.95}.info-block{margin-bottom:1.8rem}.info-block .l{color:var(--pg);margin-bottom:.5rem}.info-block a.big{letter-spacing:-.02em;border-bottom:1.5px solid var(--pl);font-size:clamp(1.2rem,3vw,1.9rem);font-weight:700;transition:border-color .3s}.info-block a.big:hover{border-color:var(--paper)}.info-block .info-note{color:var(--pg);margin-top:.6rem;font-size:.9rem;line-height:1.5}.book-card{border:1px solid var(--pl);border-radius:16px;margin-top:.5rem;padding:1.6rem}.book-card p{color:var(--pg);margin:.6rem 0 1rem;font-size:.92rem}.book-btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}.book-btn:hover{color:var(--paper);background:0 0}.cal-note{color:var(--pg);margin-top:.7rem;font-size:.78rem;line-height:1.5}.cal-note a{text-underline-offset:.15em;text-decoration:underline}.form-card{border:1px solid var(--pl);background:#ffffff05;border-radius:16px;padding:clamp(1.4rem,4vw,2.4rem)}.fp{color:var(--pg);justify-content:space-between;align-items:center;margin-bottom:1.8rem;display:flex}.fp .bar{background:var(--pl);flex:1;height:1.5px;margin:0 1rem;position:relative}.fp .bar i{background:var(--paper);width:33%;transition:width .4s;position:absolute;inset:0 auto 0 0}.step{animation:.4s fade;display:none}.step.active{display:block}@keyframes fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.step h3{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:1.2rem;font-size:1.35rem;font-weight:800}.chips{flex-wrap:wrap;gap:.55rem;display:flex}.chip{border:1px solid var(--pl);cursor:pointer;border-radius:100px;padding:.65rem 1.05rem;font-size:.88rem;transition:all .2s}.chip:hover{border-color:var(--pg)}.chip.sel{background:var(--paper);color:var(--ink);border-color:var(--paper)}.field{margin-bottom:1.05rem}.field label{color:var(--pg);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.45rem;font-size:.62rem;font-weight:600;display:block}.field input,.field textarea{border:none;border-bottom:1px solid var(--pl);width:100%;color:var(--paper);font-family:var(--sans);background:0 0;padding:.55rem 0;font-size:1rem;transition:border-color .3s}.field input:focus,.field textarea:focus{border-color:var(--paper);outline:none}.field textarea{resize:vertical;min-height:58px}.step-nav{justify-content:space-between;gap:1rem;margin-top:1.8rem;display:flex}.mini{color:var(--paper);border-color:var(--pl);opacity:.75;background:0 0}.mini:hover{opacity:1;border-color:var(--paper)}.mini[disabled]{opacity:.2;cursor:not-allowed}.next{background:var(--paper);color:var(--ink);border-color:var(--paper)}.next:hover{color:var(--paper);background:0 0}.form-error{color:#ff8a8a;margin:-.4rem 0 1.05rem;font-size:.85rem}.done{text-align:center;padding:1.5rem 0}.done .big{text-transform:uppercase;margin-bottom:.5rem;font-size:1.6rem;font-weight:800}.done p{color:var(--pg)}.legal{padding:clamp(6.5rem,12vw,9rem) var(--pad) clamp(4rem,8vw,6rem);max-width:72ch}.legal h1{letter-spacing:-.04em;text-transform:uppercase;margin-bottom:.6rem;font-size:clamp(2rem,5vw,3.4rem);font-weight:900;line-height:.95}.legal .legal-meta{color:var(--gray);margin-bottom:2.6rem}.legal h2{letter-spacing:-.02em;margin:2.4rem 0 .9rem;font-size:1.3rem;font-weight:800}.legal h3{margin:1.5rem 0 .5rem;font-size:1.05rem;font-weight:700}.legal p{color:#333;margin-bottom:1rem;font-size:1rem;line-height:1.7}.legal ul{color:#333;margin:0 0 1rem 1.2rem;line-height:1.7}.legal li{margin-bottom:.3rem}.legal a{color:inherit;text-underline-offset:.15em;text-decoration:underline}.legal a:hover{color:var(--gray)}.legal strong{font-weight:700}.footer{background:var(--ink);color:var(--paper);padding:var(--pad);border-top:1px solid var(--pl);padding-top:clamp(3rem,7vw,5rem)}.footer .fm{letter-spacing:-.05em;white-space:nowrap;margin-bottom:2.5rem;font-size:clamp(2.2rem,13vw,9rem);font-weight:900;line-height:.82;overflow:hidden}.footer-cols{flex-wrap:wrap;justify-content:space-between;gap:2rem;padding-bottom:clamp(2.5rem,6vw,4rem);display:flex}.fcol .l{color:var(--pg);margin-bottom:.9rem}.fcol a,.fcol button{text-align:left;width:100%;color:var(--pg);cursor:pointer;background:0 0;border:none;padding:.28rem 0;font-family:inherit;font-size:.95rem;transition:color .2s;display:block}.fcol a:hover,.fcol button:hover{color:var(--paper)}.fcol .fnote{color:var(--pg);padding:.28rem 0;font-size:.8rem;line-height:1.4;display:block}.footer-bar{border-top:1px solid var(--pl);color:var(--pg);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1.4rem 0;font-size:.68rem;font-weight:600;display:flex}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.2,.6,.2,1),transform .8s cubic-bezier(.2,.6,.2,1);transform:translateY(26px)}.reveal.in{opacity:1;transform:none}@media (width<=900px){.nav-links .link,.nav-links .nav-cta{display:none}.burger{display:flex}.about-grid,.contact-grid{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.grid{grid-template-columns:1fr;gap:.8rem}}@media (prefers-reduced-motion:reduce){*{transition-duration:1ms!important;animation:none!important}.reveal{opacity:1;transform:none}.hero-wm span{transform:none}.bg-slide{opacity:0}.bg-slide:first-child{opacity:1}}:focus-visible{outline-offset:3px;outline:2px solid}.cc[data-astro-cid-kror3uvh]{z-index:400;justify-content:center;padding:1rem;display:flex;position:fixed;bottom:0;left:0;right:0}.cc[data-astro-cid-kror3uvh][hidden]{display:none}.cc-box[data-astro-cid-kror3uvh]{background:var(--ink);width:100%;max-width:760px;color:var(--paper);border:1px solid var(--pl);border-radius:16px;padding:clamp(1.1rem,3vw,1.6rem);box-shadow:0 10px 40px #00000059}.cc-text[data-astro-cid-kror3uvh]{color:var(--pg);margin-bottom:1rem;font-size:.85rem;line-height:1.55}.cc-text[data-astro-cid-kror3uvh] a[data-astro-cid-kror3uvh]{color:var(--paper);text-underline-offset:.15em;text-decoration:underline}.cc-opts[data-astro-cid-kror3uvh]{flex-wrap:wrap;gap:1rem;margin-bottom:1.1rem;display:flex}.cc-opt[data-astro-cid-kror3uvh]{color:var(--pg);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.cc-opt[data-astro-cid-kror3uvh] input[data-astro-cid-kror3uvh]{accent-color:var(--paper)}.cc-actions[data-astro-cid-kror3uvh]{flex-wrap:wrap;gap:.6rem;display:flex}.btn[data-astro-cid-kror3uvh].mini{padding:.7rem 1.1rem;font-size:.66rem}@media (width<=560px){.cc-actions[data-astro-cid-kror3uvh]{flex-direction:column}.cc-actions[data-astro-cid-kror3uvh] .btn[data-astro-cid-kror3uvh]{justify-content:center;width:100%}}
