@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap";:root{font-family:DM Sans,sans-serif;color:#0c3657;background:#a8d4fa;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-width:320px;margin:0;overflow:hidden}body{height:100svh}a{color:inherit}.coming-soon{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) minmax(9rem,32svh);row-gap:clamp(.5rem,2svh,1.5rem);height:100svh;min-height:0;overflow:hidden;isolation:isolate;padding:clamp(1rem,3.5vmin,3.5rem) clamp(1.25rem,5vw,4.5rem)}.sky{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-3;width:100%;height:100%;background:linear-gradient(#6fb4ff,#d4ebff)}.sky-wash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.45),transparent 36%),linear-gradient(180deg,#164d7808,#fff3);pointer-events:none}.header{display:flex;align-items:center;justify-content:space-between;gap:2rem;width:100%;animation:enter .9s .1s both cubic-bezier(.22,1,.36,1)}.brand{display:inline-flex;align-items:center;gap:.72rem;color:#0a3d65;font-size:.86rem;font-weight:600;letter-spacing:.16em;text-decoration:none;text-transform:uppercase;white-space:nowrap}.brand-mark{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(10,61,101,.4);border-radius:50%;font-family:Fraunces,Georgia,serif;font-size:.57rem;font-weight:600;letter-spacing:-.03em}.contact-links{display:flex;align-items:center;justify-content:flex-end;gap:clamp(1rem,2.4vw,2rem);color:#082f4ebd;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.contact-links a{text-decoration:none}.contact-links a,.email{padding:.35rem 0}.contact-links a:after{display:block;width:0;height:1px;margin-top:3px;background:currentColor;content:"";transition:width .25s ease}.contact-links a:hover:after,.contact-links a:focus-visible:after{width:100%}.email{letter-spacing:.04em;text-transform:lowercase;white-space:nowrap}.message{align-self:center;width:min(900px,100%);margin:0 auto;padding:0;text-align:center}.eyebrow{margin:0 0 clamp(.55rem,1.7svh,1.3rem);color:#0a3d65b8;font-size:clamp(.68rem,1.4vw,.78rem);font-weight:600;letter-spacing:.22em;text-transform:uppercase;animation:enter 1s .25s both cubic-bezier(.22,1,.36,1)}h1{margin:0;color:#082f4e;font-family:Fraunces,Georgia,serif;font-size:clamp(3.4rem,min(11vw,15svh),10rem);font-weight:500;letter-spacing:-.065em;line-height:.88;text-wrap:balance;text-shadow:0 2px 30px rgba(255,255,255,.35);animation:enter 1.15s .35s both cubic-bezier(.22,1,.36,1)}.subtitle{max-width:34rem;margin:clamp(.75rem,2.4svh,1.8rem) auto 0;color:#082f4eb8;font-size:clamp(.9rem,min(2vw,2.2svh),1.18rem);line-height:1.5;text-wrap:balance;animation:enter 1s .5s both cubic-bezier(.22,1,.36,1)}.work{position:relative;align-self:center;width:min(25rem,88vw);height:100%;min-height:0;margin:0 auto;animation:enter .9s .65s both cubic-bezier(.22,1,.36,1)}.work-ring-canvas,.project-links{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.work-ring-canvas{pointer-events:none}.work-label{position:absolute;top:50%;left:50%;z-index:1;margin:0;padding:.48rem .65rem;border:1px solid rgba(8,47,78,.16);background:#e8f6ff8a;color:#082f4ead;font-size:.62rem;font-weight:600;letter-spacing:.18em;line-height:1;text-align:center;text-transform:uppercase;white-space:nowrap;transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-links{pointer-events:none}.project-links a{position:absolute;top:0;left:0;display:flex;align-items:center;gap:.5rem;padding:.42rem .58rem;border:1px solid rgba(8,47,78,.16);background:#eff9ffb3;box-shadow:0 8px 28px #1e537e14;color:#0a3d65;font-size:clamp(.62rem,.8vw,.72rem);font-weight:600;letter-spacing:.03em;line-height:1;text-decoration:none;white-space:nowrap;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background-color .18s ease,border-color .18s ease,color .18s ease}.project-links a:hover,.project-links a:focus-visible{border-color:#082f4e75;background:#ffffffeb;color:#062b47;outline:2px solid rgba(255,255,255,.65);outline-offset:2px}.work:not(.ring-ready){height:auto;padding:.9rem;border:1px solid rgba(8,47,78,.16);background:#eff9ff9e}.work:not(.ring-ready) .work-ring-canvas{display:none}.work:not(.ring-ready) .work-label,.work:not(.ring-ready) .project-links,.work:not(.ring-ready) .project-links a{position:static;width:auto;height:auto;transform:none!important}.work:not(.ring-ready) .work-label{display:inline-block;margin-bottom:.5rem}.work:not(.ring-ready) .project-links{display:flex;flex-wrap:wrap;gap:.45rem}.work:not(.ring-ready) .project-links a{opacity:1!important}@keyframes enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.coming-soon{grid-template-rows:auto minmax(0,1fr) minmax(9rem,30svh)}.header{align-items:flex-start}.contact-links{flex-wrap:wrap;max-width:22rem;row-gap:.25rem}.work{align-self:center;width:min(25rem,88vw)}}@media(min-width:901px)and (max-height:900px){.work{width:min(23rem,36vw)}}@media(max-width:600px){.coming-soon{grid-template-rows:auto minmax(0,1fr) minmax(9rem,29svh);row-gap:clamp(.35rem,1.2svh,.75rem);padding-top:1.25rem;padding-bottom:1.25rem}.header{flex-direction:column;gap:1rem}.contact-links{justify-content:flex-start;width:100%;max-width:none}h1{font-size:clamp(3.4rem,min(20vw,13svh),6.5rem)}.subtitle{max-width:23rem}.work{width:min(100%,23rem)}}@media(max-width:390px){.contact-links{gap:.7rem 1.1rem}.email{width:100%}}@media(max-height:600px){.coming-soon{grid-template-rows:auto minmax(0,1fr) minmax(7.5rem,27svh);row-gap:.35rem;padding-top:.75rem;padding-bottom:.75rem}.eyebrow{margin-bottom:.35rem}h1{font-size:clamp(2.6rem,min(10vw,11svh),6rem)}.subtitle{margin-top:.5rem;font-size:.85rem;line-height:1.3}.work{width:min(20rem,82vw)}}@media(max-width:600px)and (max-height:600px){.header{flex-direction:row;gap:.75rem}.brand>span:last-child{display:none}.contact-links{justify-content:flex-end}h1{font-size:clamp(2.6rem,min(18vw,11svh),4.5rem)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
