@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500&display=swap');
:root{color-scheme:light;--ink:#132d3b;--paper:#f7f9fa;--font:"DM Sans",Arial,sans-serif;--reveal:1;--intro-opacity:0;--copy-opacity:1;--shade-opacity:.82;--copy-y:0px;--circle-x:50vw;--circle-y:50vh;--circle-radius:150vmax}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
body{background:var(--paper);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
a,button{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none;text-underline-offset:.3em}a:hover{text-decoration:underline}button{font:inherit;color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
::selection{background:#d0e9f5;color:#132d3b}
.screen{isolation:isolate;position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100vh;height:100dvh;overflow:hidden;color:#fff}
.aperture{position:absolute;inset:0;z-index:-1;clip-path:circle(var(--circle-radius) at var(--circle-x) var(--circle-y));will-change:clip-path;background:#18333e;pointer-events:none}
.aperture img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.image-shade{position:absolute;inset:0;background:#071b27;opacity:var(--shade-opacity)}
.skip-link{position:absolute;top:-10rem;left:2rem;background:var(--paper);color:var(--ink);padding:.75rem 1rem;z-index:10}.skip-link:focus{top:1rem}
.site-header{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:clamp(1.25rem,3.5vh,2.5rem) clamp(1.5rem,4.8vw,5rem)}
.wordmark{font-size:1rem;font-weight:500;opacity:var(--copy-opacity)}
.contact-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.4rem 0;color:inherit;font-size:1rem;opacity:var(--control-opacity,1)}
.view-stack{position:relative;min-width:0;min-height:0;margin:0 clamp(1.5rem,6vw,6rem)}
.intro-panel,.focus-panel{position:absolute;inset:0;min-width:0;min-height:0;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}
.intro-panel{opacity:var(--intro-opacity);visibility:hidden;color:var(--ink)}
.interactive .intro-panel{visibility:visible;pointer-events:auto}
.intro-layout{width:min(900px,100%);min-height:100%;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:1rem}
.circle-origin{width:min(31vw,360px);height:min(31vw,360px);justify-self:center;border-radius:50%}
h1,h2{font-family:inherit;font-weight:500;letter-spacing:-.045em;line-height:1.1;margin:0}
h1{font-size:clamp(3rem,5.3vw,5rem)}
.intro-line{max-width:25ch;margin:1.5rem 0 0;font-size:1.125rem;line-height:1.6}
.focus-panel{opacity:var(--copy-opacity);transform:translateY(var(--copy-y));scrollbar-color:#c8dbe666 transparent}
.focus-layout{min-height:100%;width:min(850px,100%);margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1.8rem;padding:1.5rem 0 2.5rem}
h2{font-size:clamp(3rem,min(6.5vw,10vh),6rem)}h2:focus{outline:none}
.focus-layout p{max-width:38ch;margin:0;font-size:clamp(1.125rem,1.65vw,1.375rem);line-height:1.6;color:#fff;text-wrap:pretty}
.site-footer{position:relative;z-index:4;display:flex;align-items:center;justify-content:center;min-height:5rem;padding:.5rem 1.5rem 1.5rem}
.reveal-control{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:11px;border:0;background:transparent;color:inherit;cursor:pointer;opacity:var(--control-opacity,1)}
.reveal-arrow{display:block;flex-shrink:0;transform:rotate(calc(var(--reveal)*180deg))}
.reveal-control:hover .reveal-arrow{stroke-width:2}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.interactive[data-view="opening"] .contact-link,.interactive[data-view="opening"] .reveal-control{color:var(--ink)}
.interactive .reveal-control{display:inline-flex}
.interactive[data-view="opening"] .focus-panel{pointer-events:none}
.interactive[data-view="opening"] .wordmark{visibility:hidden;pointer-events:none}
.interactive[data-view="focus"] .intro-panel{pointer-events:none}
@media(max-width:720px){.site-header{padding:1rem 1.4rem;gap:1rem}.view-stack{margin:0 1.8rem}.intro-layout{grid-template-columns:1fr;gap:1.8rem;align-content:center;text-align:center;padding:.5rem 0 1rem}.circle-origin{width:clamp(160px,25vh,230px);height:clamp(160px,25vh,230px)}h1{font-size:clamp(2.7rem,9vw,3.6rem)}h1 br{display:none}.intro-line{margin:1rem auto 0}.focus-layout{gap:1.5rem;padding:1rem 0 2rem}h2{font-size:clamp(2.5rem,min(10vw,8vh),4.25rem)}.focus-layout p{font-size:1.125rem}.site-footer{padding:.5rem 1.4rem 1rem;min-height:4.5rem}}
@media(max-height:580px) and (min-width:721px){.site-header{padding-top:.7rem;padding-bottom:.7rem}.site-footer{padding:.4rem 1.5rem .7rem;min-height:3.5rem}.intro-layout{padding:.5rem}.circle-origin{width:220px;height:220px}h1{font-size:3rem}.focus-layout{padding:1rem 0;gap:1.25rem}h2{font-size:3rem}.focus-layout p{font-size:1.125rem}}
@media(prefers-reduced-motion:reduce){.aperture{will-change:auto}.focus-panel{transform:none}}
