:root{--ink: #050608;--muted: #5e6c70;--soft: #8a979a;--line: #dce5e5;--cyan: #12b8c8;--cyan-dark: #087c89;--paper: #fff;--surface: rgba(255, 255, 255, .74);--surface-strong: rgba(255, 255, 255, .9);--grid-fine: rgba(5, 6, 8, .018);--grid-major: rgba(5, 6, 8, .032)}*{box-sizing:border-box}html{min-width:320px;overflow-x:clip;color:var(--ink);background:var(--paper);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;scroll-behavior:smooth}body{min-height:100vh;min-height:100dvh;margin:0;overflow-x:clip;background:var(--paper)}a{color:inherit;text-decoration:none}p{margin:0}.site-shell{position:relative;z-index:0;min-height:100vh;min-height:100dvh;overflow:hidden;padding:max(clamp(18px,2.5vw,34px),env(safe-area-inset-top)) max(clamp(20px,4vw,60px),env(safe-area-inset-right)) max(clamp(24px,5vw,72px),env(safe-area-inset-bottom)) max(clamp(20px,4vw,60px),env(safe-area-inset-left))}.topbar,main,.site-footer{position:relative;z-index:2}.topbar{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:1180px;margin:0 auto}.logo-link{display:inline-flex;align-items:center;flex-shrink:0}.logo{display:block;width:clamp(150px,16vw,238px);height:auto}.logo-small{width:clamp(132px,13vw,190px)}.home-shell{display:grid;min-height:100svh;min-height:100dvh;grid-template-rows:1fr auto}.home-main{position:fixed;top:40%;left:50%;z-index:2;display:flex;width:min(100%,460px);flex-direction:column;align-items:center;gap:14px;padding:0 24px;text-align:center;transform:translate(-50%,-50%)}.home-logo{display:block;width:clamp(180px,20vw,300px);height:auto}.home-main h1{max-width:340px;color:var(--muted);font-size:clamp(14px,1vw,16px);font-weight:400;line-height:1.45}.home-projects{display:grid;gap:6px;margin-top:4px}.home-projects h2{color:var(--soft);font-size:11px;font-weight:700;letter-spacing:.12em;line-height:1;text-transform:uppercase}.home-projects a{color:var(--ink);font-size:14px;line-height:1.2;transition:color .16s ease}.home-links,.home-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 20px;color:var(--muted);font-size:13px}.home-links{margin-top:3px}.home-links a,.home-projects a,.home-footer a{transition:color .16s ease}.home-links a:hover,.home-links a:focus-visible,.home-projects a:hover,.home-projects a:focus-visible,.home-footer a:hover,.home-footer a:focus-visible{color:var(--ink)}.home-footer{position:relative;z-index:2;align-self:end;justify-self:center;color:var(--muted)}.nav-links{display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,2.2vw,26px);color:var(--muted);font-size:13px;line-height:1}.nav-links a{padding:10px 0;transition:color .16s ease}.nav-links a:hover,.nav-links a:focus-visible{color:var(--ink)}.hero-section{display:grid;align-content:center;min-height:min(760px,calc(100svh - 120px));max-width:980px;margin:0 auto;padding:clamp(84px,14vh,156px) 0 clamp(64px,12vh,132px)}.eyebrow,.section-kicker{margin:0 0 16px;color:var(--cyan-dark);font-size:12px;font-weight:760;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3{margin:0;letter-spacing:0}h1{max-width:900px;font-size:clamp(44px,7.2vw,96px);line-height:.98}h2{max-width:620px;font-size:clamp(30px,4.1vw,54px);line-height:1.05}h3{font-size:18px;line-height:1.2}.hero-lede{max-width:690px;margin-top:26px;color:var(--muted);font-size:clamp(18px,2vw,25px);line-height:1.42}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;min-height:42px;padding:0 17px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:13px;transition:border-color .16s ease,background .16s ease,color .16s ease}.button:hover,.button:focus-visible{border-color:var(--ink);background:var(--surface-strong)}.button-primary{border-color:var(--ink);background:var(--ink);color:#fff}.button-primary:hover,.button-primary:focus-visible{border-color:var(--cyan-dark);background:var(--cyan-dark);color:#fff}.content-section{max-width:1180px;margin:0 auto;padding:clamp(54px,9vw,104px) 0;border-top:1px solid var(--line)}.section-grid{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1fr);gap:clamp(32px,6vw,82px);align-items:start}.card-grid,.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.info-card,.contact-card{min-height:172px;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.info-card p{margin-top:18px;color:var(--muted);font-size:15px;line-height:1.55}.project-callout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,5vw,64px);align-items:end;padding:clamp(24px,5vw,42px);border:1px solid var(--line);border-radius:8px;background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.project-callout h2{max-width:100%}.project-callout p{max-width:680px;margin-top:18px;color:var(--muted);font-size:clamp(17px,1.55vw,21px);line-height:1.58}.copy-block{max-width:680px;color:var(--muted);font-size:clamp(17px,1.55vw,21px);line-height:1.58}.copy-block p+p{margin-top:18px}.fact-list{display:grid;border-top:1px solid var(--line)}.fact-list div{display:grid;grid-template-columns:minmax(120px,.36fr) minmax(0,1fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}.fact-list span,.contact-card span{color:var(--soft);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.fact-list strong{font-size:18px;line-height:1.35}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-card{display:flex;min-height:112px;flex-direction:column;justify-content:space-between;transition:border-color .16s ease,background .16s ease}.contact-card strong{overflow-wrap:anywhere;font-size:clamp(17px,2vw,22px);line-height:1.24}.contact-card:hover,.contact-card:focus-visible{border-color:var(--cyan);background:var(--surface-strong)}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1180px;margin:0 auto;padding-top:38px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px 22px}.site-footer a:hover,.site-footer a:focus-visible,.policy-page a:hover,.policy-page a:focus-visible{color:var(--cyan-dark)}.art-stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.art-stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-color:var(--paper);background-image:linear-gradient(var(--grid-fine) 1px,transparent 1px),linear-gradient(90deg,var(--grid-fine) 1px,transparent 1px),linear-gradient(var(--grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-major) 1px,transparent 1px);background-size:16px 16px,16px 16px,80px 80px,80px 80px}.grid-dots{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.art-stage img{z-index:1;mix-blend-mode:darken}.hero-art-top{position:absolute;top:0;left:50%;display:block;width:min(100vw,1717px);height:auto;opacity:.82;transform:translate(-50%);-webkit-user-select:none;user-select:none}.hero-art{position:absolute;bottom:0;display:block;height:auto;-webkit-user-select:none;user-select:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 5%);mask-image:linear-gradient(to bottom,transparent 0%,#000 5%)}.hero-art-right{right:0;width:min(92vw,1420px);opacity:.52}.hero-art-left{bottom:-32px;left:clamp(-380px,-18vw,-140px);width:min(88vw,1320px);opacity:.44;transform:scaleX(-1);transform-origin:center bottom}.page-shell{display:grid;grid-template-rows:auto 1fr auto}.page-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background-color:var(--paper);background-image:radial-gradient(circle at 74% 8%,rgba(18,184,200,.1),transparent 28%),linear-gradient(var(--grid-fine) 1px,transparent 1px),linear-gradient(90deg,var(--grid-fine) 1px,transparent 1px),linear-gradient(var(--grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-major) 1px,transparent 1px);background-size:auto,16px 16px,16px 16px,80px 80px,80px 80px}.policy-page{width:min(100%,820px);margin:0 auto;padding:clamp(64px,10vw,118px) 0 clamp(56px,9vw,104px)}.product-heading{display:flex;align-items:center;gap:clamp(18px,4vw,34px)}.codeswim-logo{display:block;width:clamp(96px,15vw,144px);height:auto;flex-shrink:0;border-radius:22%}.policy-page h1{max-width:760px;font-size:clamp(42px,6vw,76px)}.policy-updated{margin-top:18px;color:var(--soft);font-size:14px}.policy-page section{padding-top:34px}.policy-page section:first-of-type{margin-top:42px;border-top:1px solid var(--line)}.policy-page h2{max-width:100%;font-size:clamp(22px,2.6vw,32px);line-height:1.15}.policy-page p{margin-top:12px;color:var(--muted);font-size:17px;line-height:1.7}.policy-page a{color:var(--ink);text-decoration:underline;text-decoration-color:#12b8c86b;text-underline-offset:3px}@media(max-width:900px){.section-grid,.card-grid{grid-template-columns:1fr}}@media(max-width:700px){.site-shell{padding:max(16px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.topbar{align-items:flex-start;gap:18px}.nav-links{flex-wrap:wrap;gap:4px 14px;padding-top:4px;font-size:12px}.hero-section{min-height:auto;padding:72px 0 70px}.hero-actions{flex-direction:column;align-items:stretch}.button{justify-content:center}.project-callout{grid-template-columns:1fr}.content-section{padding:52px 0}.contact-grid{grid-template-columns:1fr}.fact-list div{grid-template-columns:1fr;gap:8px}.site-footer{align-items:flex-start;flex-direction:column}.site-footer nav{justify-content:flex-start}.product-heading{align-items:flex-start;flex-direction:column}.codeswim-logo{width:108px}.hero-art-top{left:0;width:min(175vw,1000px);opacity:.64;transform:scale(1.08);transform-origin:top left}.hero-art-right{right:-24vw;width:min(166vw,760px)}.hero-art-left{bottom:8vh;left:calc(min(220vw,1120px)/-2 + 8vw);width:min(220vw,1120px)}}@media(max-width:460px){.topbar{flex-direction:column}.home-main{top:41%}.home-logo{width:min(74vw,220px)}h1{font-size:clamp(40px,13vw,58px)}.home-main h1{font-size:14px}.policy-page h1{font-size:clamp(38px,12vw,54px)}}
