:root{--paper:#FAF9F6;--ink:#15171B;--hairline:#E4E1DA;--muted:#6B6E76;--accent:#2447C7}.site{background:var(--paper);color:var(--ink);font-family:var(--font-instrument),sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}.site header{position:absolute;top:0;left:0;right:0;justify-content:space-between;padding:28px 48px;opacity:0;animation:fadeIn .8s ease 2.6s forwards}.site header,.wordmark{display:flex;align-items:center}.wordmark{font-family:var(--font-fraunces),serif;font-weight:600;font-size:20px;letter-spacing:-.01em;color:var(--ink);text-decoration:none;gap:10px}.site nav{display:flex;gap:36px}.site nav a{font-size:14px;font-weight:500;color:var(--muted);text-decoration:none;transition:color .2s}.site nav a:hover{color:var(--ink)}.cta:focus-visible,.site nav a:focus-visible,.wordmark:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:2px}.hero{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;max-width:1280px;margin:0 auto;padding:120px 48px 80px;gap:40px;position:relative}.hero-copy{max-width:620px}.eyebrow{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:28px;opacity:0;animation:fadeIn .8s ease 1.5s forwards}.hero h1{font-family:var(--font-fraunces),serif;font-weight:500;font-size:clamp(44px,6.2vw,76px);line-height:1.04;letter-spacing:-.02em}.hero h1 .line{display:block;filter:blur(14px);opacity:0;transform:translateY(14px)}.hero h1 .line:first-child{animation:focusIn 1.1s cubic-bezier(.2,.7,.2,1) 1.05s forwards}.hero h1 .line:nth-child(2){animation:focusIn 1.1s cubic-bezier(.2,.7,.2,1) 1.25s forwards}.hero h1 em{font-style:italic;font-weight:400;color:var(--accent)}.lede{margin-top:28px;font-size:18px;line-height:1.65;color:var(--muted);max-width:480px;opacity:0;animation:fadeIn .9s ease 2.1s forwards}.actions{margin-top:40px;display:flex;align-items:center;gap:28px;opacity:0;animation:fadeIn .9s ease 2.4s forwards}.cta{display:inline-block;background:var(--ink);color:var(--paper);font-size:15px;font-weight:500;padding:14px 28px;border-radius:999px;text-decoration:none;transition:background .2s,transform .2s}.cta:hover{transform:translateY(-1px)}.lens-wrap{position:relative;display:flex;align-items:center;justify-content:center;min-height:440px;will-change:transform}.lens{width:min(420px,36vw);height:auto;overflow:visible}.lens .orbit{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:900;stroke-dashoffset:900;animation:drawRing 1.4s cubic-bezier(.4,0,.2,1) forwards;transform-origin:220px 220px;transform-box:view-box;transition:transform .9s cubic-bezier(.3,.7,.2,1),stroke .9s ease}.lens .orbit.o1{animation-delay:.15s}.lens .orbit.o2{animation-delay:.35s}.lens .orbit.o3{animation-delay:.55s}.lens .orbit.o4{animation-delay:.75s}.lens .orbit.o5{animation-delay:.95s}.lens.colored:not(:hover) .orbit.o2{stroke:var(--accent)}.lens.colored:not(:hover) .orbit.o4{stroke:#2E9E8F}.lens .orbits{transform-origin:220px 220px;transform-box:view-box}@media (hover:hover){.lens:hover .orbit.o2{transform:rotate(-36deg)}.lens:hover .orbit.o3{transform:rotate(18deg)}.lens:hover .orbit.o4{transform:rotate(-18deg)}.lens:hover .orbit.o5{transform:rotate(36deg)}.lens:hover .orbits{animation:lensSpin 9s linear infinite}}@keyframes lensSpin{to{transform:rotate(1turn)}}.navmark{width:26px;height:26px}.navmark ellipse{fill:none;stroke:var(--ink);stroke-width:12}.navmark ellipse.tinted{stroke:var(--accent)}@keyframes drawRing{to{stroke-dashoffset:0}}@keyframes focusIn{to{filter:blur(0);opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}.services{max-width:1080px;margin:0 auto;padding:120px 48px 140px;width:100%}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:56px}.section-head h2{font-family:var(--font-fraunces),serif;font-weight:500;font-size:clamp(32px,4vw,48px);letter-spacing:-.02em}.kicker{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.service-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:24px 48px;padding:36px 0;border-top:1px solid var(--hairline);opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.service-row.visible{opacity:1;transform:none}.service-row:last-child{border-bottom:1px solid var(--hairline)}.service-row h3{font-family:var(--font-fraunces),serif;font-weight:500;font-size:26px;letter-spacing:-.01em}.service-row p{font-size:16px;line-height:1.65;color:var(--muted);max-width:54ch}.service-row .tags{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px 18px}.service-row .tags span{font-size:12.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);opacity:.55}.about{border-top:1px solid var(--hairline);background:#ffffff}.about-inner{max-width:1080px;margin:0 auto;padding:120px 48px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px}.about-statement{font-family:var(--font-fraunces),serif;font-weight:400;font-size:clamp(24px,3vw,34px);line-height:1.4;letter-spacing:-.01em}.about-statement em{font-style:italic;color:var(--accent)}.about-detail{margin-top:36px;font-size:16px;line-height:1.7;color:var(--muted)}.about-points{margin-top:48px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.about-point{border-top:1px solid var(--hairline);padding-top:18px}.about-point h4{font-family:var(--font-instrument),sans-serif;font-size:15px;font-weight:600;margin-bottom:8px}.about-point p{font-size:14.5px;line-height:1.6;color:var(--muted)}.contact{max-width:1080px;margin:0 auto;padding:120px 48px 100px;width:100%}.contact-lede{font-size:17px;line-height:1.6;color:var(--muted);margin-top:-36px;max-width:56ch}.contact-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:64px;margin-top:56px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.field label{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.field input,.field textarea{font-family:var(--font-instrument),sans-serif;font-size:16px;color:var(--ink);background:#ffffff;border:1px solid var(--hairline);border-radius:8px;padding:13px 16px;transition:border-color .2s}.field textarea{min-height:140px;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--ink)}.field input::placeholder,.field textarea::placeholder{color:#a8aab0}.send-btn{font-family:var(--font-instrument),sans-serif;font-size:15px;font-weight:500;background:var(--ink);color:var(--paper);border:none;border-radius:999px;padding:14px 32px;cursor:pointer;transition:transform .2s}.send-btn:hover{transform:translateY(-1px)}.send-btn:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.send-btn[disabled]{opacity:.5;cursor:default}.form-note{margin-top:16px;font-size:15px;line-height:1.5}.form-note:empty{display:none}.form-note.ok{color:#1d7a46}.form-note.err{color:#b4231f}.contact-aside h3{font-family:var(--font-fraunces),serif;font-weight:500;font-size:22px;margin-bottom:12px}.contact-aside p{font-size:16px;line-height:1.7;color:var(--muted)}.contact-aside .email{display:inline-block;margin-top:8px;font-size:17px;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--hairline);padding-bottom:2px;transition:border-color .2s}.contact-aside .email:hover{border-color:var(--ink)}.contact-aside .email:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.site footer{border-top:1px solid var(--hairline);padding:32px 48px;justify-content:space-between;max-width:1080px;margin:0 auto;width:100%}.fmark,.site footer{display:flex;align-items:center}.fmark{font-family:var(--font-fraunces),serif;font-weight:600;font-size:16px;gap:8px}.site footer .navmark{width:20px;height:20px}.site footer p{font-size:13.5px;color:var(--muted)}@media (prefers-reduced-motion:reduce){.actions,.eyebrow,.hero h1 .line,.lede,.site header{animation:none;opacity:1}.hero h1 .line{filter:none;transform:none}.lens .orbit{stroke-dashoffset:0;transition:none}.lens .orbit,.lens:hover .orbits{animation:none}.lens.colored .orbit.o2{stroke:var(--accent)}.lens.colored .orbit.o4{stroke:#2E9E8F}.service-row{opacity:1;transform:none;transition:none}}@media (max-width:860px){.hero{grid-template-columns:1fr;padding:120px 24px 60px;text-align:left}.lens-wrap{min-height:0;order:-1;margin-top:20px}.lens{width:180px}.site header{padding:22px 24px}.site nav{display:none}.services{padding:72px 24px 90px}.service-row{grid-template-columns:1fr;gap:12px;padding:28px 0}.section-head{flex-direction:column;gap:8px;margin-bottom:36px}.about-inner{padding:72px 24px}.about-inner,.about-points{grid-template-columns:1fr;gap:20px}.about-points{margin-top:32px}.contact{padding:72px 24px 70px}.contact-grid{grid-template-columns:1fr;gap:40px;margin-top:36px}.site footer{padding:28px 24px;flex-direction:column;gap:8px}}