:root{--shell: #f2efe6;--paper: #fbfaf6;--ink: #12242a;--body: #47585c;--deep: #0d3a42;--sea: #2b7078;--shade: #0c1a1e;--shade-deep: #091418;--shade-deepest: #060e11;--water-deep: #082a30;--water-shallow: #4d9aa0;--water-crest: #bcd6d3;--line: rgb(18 36 42 / .12);--line-soft: rgb(18 36 42 / .07);--line-strong: rgb(18 36 42 / .26);--on-deep: rgb(242 239 230 / .82);--on-deep-quiet: rgb(242 239 230 / .6);--font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body: "Commissioner", "Source Sans 3", -apple-system, "Segoe UI", sans-serif;--display-1: clamp(3rem, 8vw, 6.5rem);--display-2: clamp(2rem, 4.8vw, 4rem);--display-3: clamp(1.625rem, 3.2vw, 2.75rem);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.0625rem;--text-lg: 1.1875rem;--gutter: clamp(1.5rem, 4.5vw, 4.5rem);--section: clamp(4rem, 9vw, 9rem);--maxw: 82rem;--header-h: 5.75rem;--radius: 3px;--radius-pill: 999px;--ease: cubic-bezier(.22, .61, .36, 1);--ease-settle: cubic-bezier(.16, 1, .3, 1)}@media(max-width:60rem){:root{--header-h: 4.25rem}}@media(max-width:40rem){:root{--text-base: 1.0625rem;--text-md: 1.0625rem;--text-lg: 1.125rem}body{line-height:1.68}.lede,.prose p{line-height:1.7}.display-1,.display-2,.display-3{letter-spacing:-.015em;line-height:1.04}.btn{inline-size:100%}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--shell);color:var(--ink);font-family:var(--font-body);font-size:var(--text-md);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}img,svg,video,canvas{display:block;max-inline-size:100%}picture{display:contents}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--deep);color:var(--shell)}:focus-visible{outline:2px solid var(--sea);outline-offset:3px;border-radius:1px}.skip-link{position:absolute;inset-block-start:0;inset-inline-start:0;transform:translateY(-120%);background:var(--deep);color:var(--shell);padding:.85rem 1.4rem;z-index:100;font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:transform .18s var(--ease)}.skip-link:focus-visible{transform:translateY(0)}.display-1,.display-2,.display-3{font-family:var(--font-display);font-weight:300;letter-spacing:-.022em;line-height:.94;text-wrap:balance;color:var(--ink)}.display-1{font-size:var(--display-1)}.display-2{font-size:var(--display-2);line-height:.98}.display-3{font-size:var(--display-3);line-height:1.04}.accent{font-style:italic;font-weight:400;color:var(--deep);line-height:1.1}.eyebrow{font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--sea)}.lede{font-size:var(--text-lg);line-height:1.62;font-weight:300;color:var(--body);text-wrap:pretty}.prose p{font-size:var(--text-md);line-height:1.72;font-weight:400;color:var(--body);text-wrap:pretty}.prose p+p{margin-block-start:.9rem}a{color:var(--deep);text-decoration-color:#0d3a424d;text-underline-offset:.22em;transition:color .16s var(--ease)}a:hover{color:var(--sea)}.container{inline-size:100%;max-inline-size:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.band{padding-block-start:var(--section)}.band--head{padding-block-end:clamp(2rem,4vw,3rem)}.band--tail{padding-block-end:var(--section)}.rule{border:0;block-size:1px;background:var(--line)}.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-block-size:3.125rem;padding:.9rem 2.25rem;border:1px solid transparent;border-radius:var(--radius-pill);font-size:var(--text-base);font-weight:500;letter-spacing:.01em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),box-shadow .24s var(--ease),transform .24s var(--ease)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0);transition-duration:60ms}.btn--primary{background:var(--deep);color:var(--shell);box-shadow:0 .4rem 1.4rem #0d3a422e}.btn--primary:hover{background:var(--ink);color:var(--shell);box-shadow:0 .7rem 1.9rem #0d3a4242}.btn:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(100deg,transparent 32%,rgba(255,255,255,.22) 50%,transparent 68%);translate:-110% 0;opacity:0}.btn:hover:after{opacity:1;animation:btn-sweep .9s var(--ease-settle)}@keyframes btn-sweep{0%{translate:-110% 0}to{translate:110% 0}}.btn--invert{background:var(--shell);color:var(--deep);box-shadow:0 .4rem 1.4rem #0000002e}.btn--invert:hover{background:var(--paper);color:var(--deep)}.btn--invert-ghost{background:transparent;border-color:#f2efe666;color:var(--shell)}.btn--invert-ghost:hover{border-color:var(--shell);background:#f2efe61a;color:var(--shell)}.link-quiet{font-size:var(--text-base);font-weight:500;color:var(--deep);text-decoration:none;border-block-end:1px solid rgba(13,58,66,.35);padding-block-end:3px;transition:border-color .16s var(--ease)}.link-quiet:hover{border-block-end-color:var(--deep)}.is-menu-open{overflow:hidden}.is-menu-open body{overflow:visible}.clc-reveal{opacity:0;transform:translateY(1.75rem) scale(.988);transition:opacity 1.1s var(--ease-settle),transform 1.1s var(--ease-settle)}.clc-reveal.is-in{opacity:1;transform:none}@keyframes arrive{0%{opacity:0;transform:translateY(1.75rem) scale(.988)}}.clc-arrive{animation:arrive 1.1s var(--ease-settle) var(--arrive-delay, 0ms) backwards}.lines__line{display:block;overflow:hidden;padding-block:.12em .24em;margin-block:-.12em -.24em;padding-inline:.08em;margin-inline:-.08em}.lines__inner{display:block;transform:translateY(115%);animation:line-rise 1.1s var(--ease) forwards;animation-delay:var(--line-delay, 0ms)}@keyframes line-rise{to{transform:translateY(0)}}body:has(clc-home) .header:not(.is-stuck):not(.is-open) .wordmark,body:has(clc-home) .header:not(.is-stuck):not(.is-open) .wordmark__place,body:has(clc-home) .header:not(.is-stuck):not(.is-open) .nav__link{color:var(--shell)}body:has(clc-home) .header:not(.is-stuck):not(.is-open) .nav__link:hover,body:has(clc-home) .header:not(.is-stuck):not(.is-open) .nav__link.is-active{color:var(--shell);border-block-end-color:var(--shell)}body:has(clc-home) .header:not(.is-stuck):not(.is-open) .langs__btn{color:#f2efe69e}body:has(clc-home) .header:not(.is-stuck):not(.is-open) .langs__btn.is-on,body:has(clc-home) .header:not(.is-stuck):not(.is-open) .langs__btn:hover{color:var(--shell)}body:has(clc-home) .header:not(.is-stuck):not(.is-open) .burger__bar{background:var(--shell)}@keyframes hero-reveal{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}@keyframes hero-iris{0%{opacity:1}to{opacity:.38}}@keyframes hero-settle{0%{opacity:0;transform:translateY(1.25rem)}}@keyframes hero-drift{0%{transform:scale(1.08) translateY(0)}to{transform:scale(1.16) translateY(6%)}}@keyframes tile-settle{0%{transform:perspective(1600px) rotateX(7deg) translateY(2.5rem)}to{transform:perspective(1600px) rotateX(0) translateY(0)}}::view-transition-old(root){animation:route-out .26s cubic-bezier(.4,0,1,1) both}::view-transition-new(root){animation:route-in .62s var(--ease-settle) both}@keyframes route-out{to{opacity:0;transform:translateY(-.75rem)}}@keyframes route-in{0%{opacity:0;transform:translateY(1.5rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}::view-transition-old(root),::view-transition-new(root){animation:none}.btn:hover:after{animation:none;opacity:0}.clc-reveal{opacity:1;transform:none;transition:none}.clc-arrive{animation:none}.lines__inner{transform:none;animation:none}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
