:root{--berth-lime:#c6ff3d;--berth-lime-deep:#a8e01f;--berth-lime-soft:#e6ffa8;--berth-black:#0b0b0b;--berth-charcoal:#1f1f1f;--berth-stone:#ebe6eb;--berth-sand:#f5f4ef;--berth-white:#fff;--grey-950:#0b0b0b;--grey-900:#141414;--grey-800:#1f1f1f;--grey-700:#2b2d2d;--grey-600:#4a4a48;--grey-500:#6e6e6a;--grey-400:#9a9992;--grey-300:#bdbbb5;--grey-200:#d6d3cc;--grey-100:#ebe6eb;--grey-50:#f5f4ef;--surface-page:var(--berth-sand);--surface-page-alt:var(--berth-white);--surface-card:var(--berth-white);--surface-inset:var(--berth-stone);--surface-dark:var(--berth-black);--surface-dark-raised:var(--berth-charcoal);--surface-accent:var(--berth-lime);--text-heading:var(--grey-950);--text-body:var(--grey-700);--text-muted:var(--grey-500);--text-meta:var(--grey-600);--text-on-dark:var(--berth-white);--text-on-dark-muted:var(--grey-400);--text-on-accent:var(--berth-black);--text-accent:var(--berth-lime-deep);--text-accent-on-dark:var(--berth-lime);--border-hairline:#0b0b0b1f;--border-rule:var(--grey-300);--border-strong:var(--grey-950);--border-on-dark:#ffffff24;--border-accent:var(--berth-lime);--focus-ring:#c6ff3d73;--overlay-scrim:#0b0b0bb8;--font-sans:"Satoshi", "Inter", "Helvetica Now Display", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-display:var(--font-sans);--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-display-xl:72px;--fs-display:56px;--fs-display-sm:48px;--fs-h1:44px;--fs-h2:32px;--fs-h3:24px;--fs-h4:20px;--fs-body-lg:18px;--fs-body:16px;--fs-body-sm:14px;--fs-meta:12px;--fs-meta-sm:11px;--lh-tight:.98;--lh-snug:1.08;--lh-heading:1.15;--lh-body:1.55;--lh-relaxed:1.7;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-bold:700;--fw-black:900;--tracking-display:-.03em;--tracking-heading:-.02em;--tracking-body:0em;--tracking-meta:.14em;--tracking-wordmark:.42em;--text-body-style:var(--fw-regular) var(--fs-body) / var(--lh-body) var(--font-sans);--space-0:0;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:24px;--space-7:32px;--space-8:48px;--space-9:64px;--space-10:96px;--space-11:128px;--space-12:192px;--gutter:24px;--section-y:96px;--section-y-lg:128px;--container:1240px;--container-narrow:720px;--measure:64ch;--radius-none:0;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--radius-curve:50%;--border-width:1px;--border-width-strong:2px;--shadow-none:none;--shadow-hairline:0 0 0 1px var(--border-hairline);--shadow-card:0 1px 2px #0b0b0b0f, 0 8px 24px -12px #0b0b0b1a;--shadow-raised:0 16px 40px -12px #0b0b0b38;--shadow-overlay:0 32px 80px -24px #0b0b0b73;--shadow-focus:0 0 0 3px var(--focus-ring);--shadow-inset-rule:inset 0 -1px 0 var(--border-hairline);--scrim-bottom:linear-gradient(to top, #0b0b0bd9 0%, #0b0b0b73 45%, #0b0b0b00 100%);--scrim-top:linear-gradient(to bottom, #0b0b0bbf 0%, #0b0b0b00 100%);--dur-instant:90ms;--dur-fast:.14s;--dur-base:.24s;--dur-slow:.42s;--dur-reveal:.64s;--ease-snap:cubic-bezier(.2, .85, .15, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.6, 0, .2, 1);--ease-linear:linear;--travel-sm:8px;--travel-md:16px;--travel-lg:32px}*,:before,:after{box-sizing:border-box}html{height:100%}html,body{max-width:100vw}body{background:var(--berth-black);min-height:100%;color:var(--text-body);font:var(--text-body-style);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,p{margin:0}a{color:var(--berth-lime);text-decoration:none}a:hover{color:var(--berth-lime-deep)}::selection{background:var(--berth-lime);color:var(--berth-black)}:focus-visible{box-shadow:var(--shadow-focus);outline:none}@keyframes berth-draw{to{stroke-dashoffset:0}}@keyframes berth-glide{0%{offset-distance:0%;opacity:0}8%{opacity:1}92%{opacity:1}to{offset-distance:100%;opacity:0}}@keyframes berth-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.btn{font-family:var(--font-sans);font-weight:var(--fw-bold);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;box-sizing:border-box;transition:background var(--dur-fast) var(--ease-snap), border-color var(--dur-fast) var(--ease-snap), transform var(--dur-instant) var(--ease-snap);border-style:solid;justify-content:center;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)scale(.985)}.btn-sm{letter-spacing:.06em;text-transform:uppercase;height:34px;padding:0 16px;font-size:12px}.btn-md{letter-spacing:.01em;height:44px;padding:0 22px;font-size:14px}.btn-accent{background:var(--berth-lime);color:var(--text-on-accent);border-width:1.5px;border-color:var(--berth-lime)}.btn-accent:hover{background:var(--berth-lime-deep);border-color:var(--berth-lime-deep);color:var(--text-on-accent)}.btn-outline-on-dark{color:var(--text-on-dark);border-width:1.5px;border-color:var(--border-on-dark);background:0 0}.btn-outline-on-dark:hover{border-color:var(--berth-white);color:var(--text-on-dark);background:#ffffff14}.btn-arrow{margin-right:-2px;font-size:1.05em;line-height:1}.site-nav-links{flex:1;gap:clamp(14px,2.2vw,30px);min-width:0;display:flex;overflow:hidden}@media (max-width:700px){.site-nav-links{display:none}}.nav-link{font:500 12px / 1 var(--font-sans);letter-spacing:.06em;color:#ffffffb8;white-space:nowrap}.nav-link:hover{color:#fff}.link-on-dark{color:#ffffffb8}.link-on-dark:hover{color:var(--berth-lime)}.link-white-hover-lime{color:#fff;align-items:center;gap:8px;display:inline-flex}.link-white-hover-lime:hover{color:var(--berth-lime)}.work-card{background:var(--grey-900);border:1px solid var(--border-on-dark);transition:border-color var(--dur-base) var(--ease-snap);flex-direction:column;display:flex;overflow:hidden}.work-card:hover{border-color:var(--grey-500)}.work-card-media{aspect-ratio:1/1.15;background:var(--berth-charcoal);position:relative;overflow:hidden}.work-card-media img{transition:transform .42s var(--ease-snap)}.work-card:hover .work-card-media img{transform:scale(1.03)}.work-card-tile{background-blend-mode:normal;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;padding:0 18px;display:flex;position:absolute;inset:0}.work-card-tile:before{content:"";pointer-events:none;background:repeating-linear-gradient(135deg,#ffffff09 0 1px,#0000 1px 14px);position:absolute;inset:0}.work-card-tile-figure{font:700 clamp(40px, 4.4vw, 58px) / 1 var(--font-display);letter-spacing:-.035em;transition:transform .42s var(--ease-snap);transform-origin:0;position:relative}.work-card:hover .work-card-tile-figure{transform:scale(1.04)}.work-card-tile-label{font:500 11px/1.4 var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:#ffffffb3;position:relative}.social-icon{color:#ffffffb8;transition:color var(--dur-fast) var(--ease-snap)}.social-icon:hover{color:var(--berth-lime)}.rw{display:block}.rw-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rw-stage{isolation:isolate;white-space:nowrap;transition:width .6s var(--ease-snap);margin:.04em 0 .08em;display:inline-block;position:relative}.rw-bar{z-index:-1;background:var(--berth-lime);transform-origin:0;animation:rw-bar-in .9s var(--ease-snap) .35s both;position:absolute;inset:.02em 0 -.06em}.rw-layer{padding:0 .14em;display:inline-block}.rw-out{position:absolute;top:0;left:0}.rw-char-in,.rw-char-out{animation:rw-in .62s var(--ease-snap) both;display:inline-block}.rw-char-out{animation-name:rw-out;animation-duration:.42s}@keyframes rw-bar-in{0%{transform:scaleX(0)}to{transform:none}}@keyframes rw-in{0%{opacity:0;filter:blur(8px);transform:translateY(.45em)rotate(6deg)}to{opacity:1;filter:blur();transform:none}}@keyframes rw-out{to{opacity:0;filter:blur(8px);transform:translateY(-.4em)rotate(-4deg)}}.hero-line{margin-bottom:-.06em;padding-bottom:.06em;display:block;overflow:hidden}.hero-line>span{animation:hero-line-up 1s var(--ease-snap) both;display:block}@keyframes hero-line-up{0%{transform:translateY(105%)}to{transform:none}}.hero-photo{transform:translate3d(calc(var(--px,0) * -16px), calc(var(--py,0) * -10px), 0);transition:transform .9s var(--ease-out);position:absolute;inset:-3%}.hero-photo-zoom{animation:hero-kenburns 24s var(--ease-in-out) infinite alternate;position:absolute;inset:0}@keyframes hero-kenburns{0%{transform:scale(1)}to{transform:scale(1.08)translate(-1.5%)}}.hero-swirl{transform:translate3d(calc(var(--px,0) * 10px), calc(var(--py,0) * 8px), 0);transition:transform 1.1s var(--ease-out)}.hero-spotlight{z-index:2;pointer-events:none;opacity:0;transition:opacity .5s var(--ease-snap);background:radial-gradient(520px circle at var(--mx,70%) var(--my,40%), #c6ff3d1a, #c6ff3d08 40%, transparent 70%);mix-blend-mode:screen;position:absolute;inset:0}[data-pointer=on]>.hero-spotlight{opacity:1}.hero-grain{z-index:3;pointer-events:none;opacity:.08;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}.hero-ticker{z-index:5;border-top:1px solid var(--border-on-dark);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b0b0b9e;position:absolute;bottom:0;left:0;right:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.hero-ticker-track{width:max-content;animation:38s linear infinite hero-marquee;display:flex}.hero-ticker:hover .hero-ticker-track{animation-play-state:paused}.hero-ticker-item{font:500 11px/1 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:#fff9;white-space:nowrap;align-items:center;gap:22px;padding:16px 0 16px 22px;display:inline-flex}.hero-ticker-item:after{content:"";background:var(--berth-lime);border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #c6ff3dcc}@keyframes hero-marquee{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.rw-out{display:none}.rw-char-in,.rw-bar,.hero-line>span,.hero-photo-zoom,.hero-ticker-track{animation:none}.rw-stage,.hl{transition:none}}.hl{background:linear-gradient(var(--berth-lime), var(--berth-lime)) no-repeat 0 60% / 0% 92%;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .95s var(--ease-snap) var(--hl-delay,0s), color .35s var(--ease-snap) calc(var(--hl-delay,0s) + .2s);margin:0 -.04em;padding:0 .12em}.hl-on{color:var(--berth-black);background-size:100% 92%}.award-badge{border:1px solid var(--border-on-dark);border-radius:var(--radius-pill);color:var(--berth-lime);background:#ffffff0a;align-items:center;gap:12px;padding:10px 18px 10px 12px;display:inline-flex;position:relative;overflow:hidden}.award-badge:after{content:"";animation:award-shine 5s var(--ease-in-out) 1.6s infinite;pointer-events:none;background:linear-gradient(105deg,#0000 35%,#c6ff3d2e 50%,#0000 65%);position:absolute;inset:0;transform:translate(-100%)}.award-badge-title{font:700 13px/1 var(--font-sans);color:#fff}.award-badge-sub{font:500 10px/1 var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:#ffffff8c}@keyframes award-shine{0%{transform:translate(-100%)}40%,to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.award-badge:after{animation:none;display:none}}.more-work summary{cursor:pointer;width:max-content;font:500 14px/1.4 var(--font-sans);justify-self:start;list-style:none}.more-work summary::-webkit-details-marker{display:none}.more-work-arrow{transition:transform var(--dur-base) var(--ease-snap);display:inline-block}.more-work[open] .more-work-arrow{transform:rotate(90deg)}.more-work-close,.more-work[open] .more-work-open{display:none}.more-work[open] .more-work-close{display:inline}.more-work-panel{animation:berth-rise .5s var(--ease-snap) both;gap:16px;margin-top:20px;display:grid}.logo-wall{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:clamp(12px,1.6vw,20px);display:grid}.logo-wall-tile{background:var(--berth-white);border:1px solid var(--border-on-dark);height:120px;transition:transform var(--dur-base) var(--ease-snap);justify-content:center;align-items:center;padding:20px;display:flex}.logo-wall-tile:hover{transform:translateY(-3px)}.logo-wall-tile img{object-fit:contain;max-width:100%}.logo-chip{border-radius:var(--radius-md);background:var(--berth-white);padding:4px;display:inline-flex}.award-badge{transition:border-color var(--dur-base) var(--ease-snap);text-decoration:none}.award-badge:hover{border-color:var(--berth-lime);color:var(--berth-lime)}.award-badge-arrow{color:#ffffff8c;margin-left:4px;font-size:14px}
