@font-face{font-family:Times New Roman Pixel;src:url(/fonts/times-new-roman-pixel.woff)format("woff");font-style:normal;font-weight:400;font-display:swap}:root{--harbor-font:"Times New Roman Pixel","Times New Roman",Times,serif;--harbor-ink:#0b2f6b;--bg:#fff;--paper:var(--harbor-ink);--blue:#315cfa;--muted:var(--harbor-ink);--line:#2c2e34}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--bg);color:var(--harbor-ink);font-family:var(--harbor-font);font-synthesis:none;margin:0;font-size:17.3333px;font-style:normal;font-weight:500;line-height:1.6}button,input,textarea,select{font:inherit;color:var(--harbor-ink)}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}:is(a:focus-visible,button:focus-visible,summary:focus-visible){outline-offset:6px;outline:3px solid #88a4ff}input:focus,textarea:focus,select:focus{outline-offset:3px;outline:2px solid #6e90ff}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:0;font-weight:500;line-height:1.02}em{font-family:var(--harbor-font);font-style:normal;font-weight:500}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:100px;padding:0 5%;display:flex}.brand{letter-spacing:0;padding-right:43px;font-size:22.3333px;font-weight:700;line-height:.96;position:relative}.brand-symbol{color:var(--harbor-ink);font-size:41.3333px;line-height:1;position:absolute;top:0;right:0}nav{align-items:center;gap:38px;font-size:15.3333px;display:flex}nav a:hover,.text-link:hover{color:var(--harbor-ink)}.nav-cta{border:1px solid #6c6e75;border-radius:100px;padding:12px 22px}.menu{display:none}.hero{padding:25px 5% 0;overflow:hidden}.hero-top,.hero-bottom,.section-label{letter-spacing:.07em;justify-content:space-between;gap:20px;font-size:13.3333px;font-weight:500;display:flex}.hero-top{color:var(--harbor-ink)}.hero-body{align-items:center;min-height:610px;display:flex;position:relative}.hero-art{object-fit:cover;opacity:.9;width:72%;height:97%;position:absolute;top:3%;right:-7%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 25%);mask-image:linear-gradient(90deg,#0000,#000 25%)}.hero-copy{z-index:1;width:70%;padding:60px 0;position:relative}h1{font-size:calc(clamp(66px,8.7vw,145px) + 1pt)}h1 em{color:var(--harbor-ink)}.hero-copy p{color:var(--harbor-ink);margin:28px 0;font-size:19.3333px;line-height:1.55}.hero-actions{align-items:center;gap:28px;margin-top:38px;display:flex}.button{border:0;border-radius:100px;justify-content:center;align-items:center;min-height:52px;padding:14px 26px;font-size:15.3333px;font-weight:500;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-3px)}.light{color:var(--harbor-ink);background:#f4f5f7}.blue{background:var(--blue);color:var(--harbor-ink)}.text-link{color:inherit;background:0 0;border:0;border-bottom:1px solid #85858a;padding:0;font-size:15.3333px;line-height:2}.hero-caption{text-align:right;letter-spacing:.13em;font-size:13.3333px;line-height:1.8;position:absolute;bottom:48px;right:0}.hero-caption span{color:var(--harbor-ink);font-size:11.3333px}.hero-bottom{border-top:1px solid var(--line);color:var(--harbor-ink);padding:22px 0}.hero-bottom a{letter-spacing:0;color:var(--harbor-ink);font-size:15.3333px}.ribbon{background:var(--blue);letter-spacing:0;justify-content:space-around;align-items:center;gap:20px;padding:26px 4%;font-size:calc(clamp(14px,1.5vw,24px) + 1pt);font-weight:500;display:flex}.ribbon b{font-size:29.3333px;font-weight:500}.section{padding:80px 5% 95px}.section-label{color:var(--harbor-ink);margin-bottom:55px}.intro-grid{grid-template-columns:1.25fr 1fr;gap:12%;display:grid}h2{font-size:calc(clamp(42px,5.3vw,78px) + 1pt)}.intro-copy .lead{letter-spacing:0;color:var(--harbor-ink);margin-bottom:25px;font-size:27.3333px;line-height:1.35}.intro-copy p{color:var(--harbor-ink);max-width:510px;margin-bottom:20px}.signature{padding-top:17px;font-size:19.3333px}.signature strong{font-weight:500}.team-line{border-top:1px solid var(--line);justify-content:space-between;gap:30px;margin-top:70px;padding-top:25px;display:flex}.team-line>span{letter-spacing:.05em;color:var(--harbor-ink);font-size:12.3333px}.team-line>div{gap:55px;font-size:16.3333px;display:flex}.team-line small{color:var(--harbor-ink);margin-top:4px;font-size:13.3333px;display:block}.work{color:var(--harbor-ink);background:#f0f1f4}.work .section-label{color:var(--harbor-ink)}.section-head{justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px;display:flex}.filters{flex-wrap:wrap;gap:8px;display:flex}.filters button{background:0 0;border:1px solid #c9cbd2;border-radius:30px;padding:9px 16px;font-size:15.3333px}.filters .selected{color:var(--harbor-ink);background:#17181c;border-color:#17181c}.project-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.project{color:inherit;text-align:left;background:0 0;border:0;align-self:start;padding:0}.project-visual{height:350px;color:var(--harbor-ink);background:#b8c9f7;flex-direction:column;justify-content:space-between;padding:27px;transition:transform .3s;display:flex}.project:hover .project-visual{transform:translateY(-6px)}.project-number{letter-spacing:.1em;font-size:14.3333px}.project-type{letter-spacing:0;font-size:calc(clamp(30px,3.2vw,48px) + 1pt);line-height:.95}.project-type em{font-size:calc(1.1em - .1pt)}.project-1 .project-visual{color:var(--harbor-ink);background:#315cfa}.project-2 .project-visual{color:var(--harbor-ink);background:#171a24}.view-project{align-self:flex-end;font-size:14.3333px}.project-info{padding:23px 0}.project-info>span{letter-spacing:.05em;color:var(--harbor-ink);font-size:12.3333px}.project-info h3{letter-spacing:0;margin:12px 0;font-size:28.3333px}.project-info p{color:var(--harbor-ink);font-size:15.3333px;line-height:1.7}.work-note{color:var(--harbor-ink);margin-top:25px;font-size:15.3333px}.work-note a{color:var(--harbor-ink);text-decoration:underline}.services{border-bottom:1px solid var(--line)}.services-grid{grid-template-columns:1fr 1.2fr;gap:12%;display:grid}.services-grid>div>p{color:var(--harbor-ink);margin:26px 0}.service-list details{border-top:1px solid var(--line);padding:27px 0}.service-list details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.service-list summary{letter-spacing:0;align-items:start;gap:22px;font-size:22.3333px;display:flex}.service-n{color:var(--harbor-ink);letter-spacing:0;padding-top:5px;font-size:13.3333px}.expand{margin-left:auto;font-size:27.3333px;line-height:1}.service-list details[open] .expand{transform:rotate(45deg)}.service-list p{color:var(--harbor-ink);padding:18px 32px 0 36px;font-size:17.3333px}.join-band{text-align:center;background:var(--blue);padding:65px 5% 72px}.join-band>span{letter-spacing:.07em;font-size:13.3333px}.join-band h2{margin:30px 0}.join-band p{color:var(--harbor-ink);margin-top:22px;font-size:15.3333px}.connect-grid{grid-template-columns:1fr 1fr;gap:12%;display:grid}.connect-grid>div>p{color:var(--harbor-ink);max-width:350px;margin:25px 0}.contact-note{max-width:330px;margin-top:70px}.contact-note span{letter-spacing:.06em;font-size:13.3333px}.contact-note p{color:var(--harbor-ink);margin-top:16px;font-size:15.3333px}label{color:var(--harbor-ink);font-size:15.3333px;display:block}input,select,textarea{width:100%;color:var(--harbor-ink);background:#14161c;border:1px solid #393c46;border-radius:3px;margin:9px 0 24px;padding:13px 15px;font-size:17.3333px;display:block}textarea{resize:vertical;min-height:120px}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.consent{color:var(--harbor-ink);gap:12px;font-size:13.3333px;line-height:1.6;display:flex}.consent input{width:18px;height:18px;accent-color:var(--blue);flex-shrink:0;margin:3px 0 0}.form-bottom{justify-content:space-between;align-items:center;gap:20px;margin-top:24px;display:flex}.form-bottom>span{color:var(--harbor-ink);font-size:13.3333px}.privacy{color:var(--harbor-ink);margin-top:25px;font-size:13.3333px}.privacy summary{text-decoration:underline}.privacy p{padding-top:12px}.error{color:var(--harbor-ink);margin-top:20px;font-size:15.3333px}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.success{border:1px solid var(--line);padding:45px 35px}.success h3{margin:25px 0 15px;font-size:39.3333px}.success p{color:var(--harbor-ink);margin-bottom:25px}.success-icon{color:var(--harbor-ink);font-size:36.3333px}footer{border-top:1px solid var(--line);padding:40px 5% 28px}.footer-brand{letter-spacing:0;justify-content:space-between;align-items:center;font-size:calc(clamp(38px,9.8vw,156px) + 1pt);font-weight:700;line-height:1.2;display:flex}.footer-brand span{color:var(--harbor-ink);font-size:calc(.8em + .2pt)}footer>div{color:var(--harbor-ink);justify-content:space-between;gap:15px;margin-top:30px;font-size:12.3333px;display:flex}footer>div a{color:var(--harbor-ink);font-size:15.3333px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000a;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.project-modal{color:var(--harbor-ink);background:#141720;border:1px solid #404455;width:100%;max-width:640px;max-height:85vh;margin:0;padding:60px 40px 40px;position:relative;overflow:auto}.close-modal{color:var(--harbor-ink);background:0 0;border:0;font-size:15.3333px;position:absolute;top:20px;right:24px}.eyebrow{color:var(--harbor-ink);font-size:13.3333px}.project-modal h2{margin:20px 0;font-size:49.3333px}.project-modal p{color:var(--harbor-ink);margin:25px 0}.skip{z-index:200;color:var(--harbor-ink);background:#fff;padding:12px;position:fixed;top:-100px;left:15px}.skip:focus{top:15px}@media (min-width:1700px){header,.hero,.section,footer{padding-left:max(5%,50vw - 765px);padding-right:max(5%,50vw - 765px)}}@media (max-width:1000px){nav{gap:20px}.hero-body{min-height:540px}.hero-copy{width:80%}.hero-art{width:90%}.intro-grid,.services-grid,.connect-grid{gap:6%}.project-visual{height:300px;padding:22px}.team-line{display:block}.team-line>div{justify-content:space-between;margin-top:22px}.filters{max-width:280px}.ribbon{gap:12px}.ribbon b{font-size:21.3333px}.service-list summary{font-size:19.3333px}}@media (max-width:700px){header{height:80px}.brand{font-size:19.3333px}.brand-symbol{font-size:35.3333px}.menu{color:var(--harbor-ink);background:0 0;border:1px solid #585c66;border-radius:100px;padding:8px 17px;font-size:15.3333px;display:block}nav{z-index:20;border-bottom:1px solid var(--line);background:#12151e;padding:24px 5%;display:none;position:absolute;top:80px;left:0;right:0}nav.open{flex-direction:column;align-items:flex-start;gap:20px;display:flex}.hero-top{gap:10px;font-size:10.3333px}.hero-body{align-items:start;min-height:630px}.hero-copy{width:100%;padding-top:50px}h1{font-size:calc(clamp(54px,14vw,95px) + 1pt)}.hero-copy p{max-width:280px;font-size:17.3333px}.hero-art{opacity:.65;width:135%;height:480px;top:150px;right:-35%;-webkit-mask-image:linear-gradient(#0000,#000 25%);mask-image:linear-gradient(#0000,#000 25%)}.hero-actions{gap:23px}.hero-caption{bottom:24px}.hero-bottom>span:first-child{display:none}.hero-bottom{font-size:11.3333px}.ribbon{flex-wrap:wrap;justify-content:center;gap:10px 18px;padding:19px;font-size:14.3333px}.ribbon b{font-size:16.3333px}.ribbon b:last-of-type,.ribbon span:last-child{display:none}.section{padding:52px 6% 60px}.section-label{margin-bottom:33px;font-size:11.3333px}.section-label>span:last-child{display:none}h2{font-size:49.3333px}.intro-grid,.services-grid,.connect-grid{grid-template-columns:1fr;gap:32px}.intro-copy .lead{font-size:24.3333px}.team-line{margin-top:38px}.team-line>div{flex-direction:column;gap:20px}.team-line>div>span{justify-content:space-between;gap:15px;display:flex}.team-line small{margin-top:0;font-size:12.3333px}.section-head{display:block}.filters{max-width:none;margin-top:25px}.filters button{padding:8px 13px;font-size:14.3333px}.project-grid{grid-template-columns:1fr}.project-visual{height:340px;padding:26px}.project-type{font-size:49.3333px}.project-info{padding-bottom:30px}.work-note{margin-top:0}.service-list summary{font-size:20.3333px}.join-band{padding:48px 6%}.contact-note{margin-top:25px}.form-row{grid-template-columns:1fr;gap:0}.form-bottom>span{font-size:11.3333px}footer{padding:30px 6%}.footer-brand{font-size:calc(11vw + 1pt)}footer>div{flex-wrap:wrap;font-size:11.3333px}footer>div>span:first-child{width:100%}.project-modal{padding:60px 25px 30px}.project-modal h2{font-size:41.3333px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.white-landing{color:var(--harbor-ink);background:#fff;justify-content:center;align-items:center;width:100%;min-height:100svh;display:flex;position:relative;overflow:hidden}.logo-entrance{aspect-ratio:1;place-items:center;width:min(52vw,560px);display:grid}.landing-logo{opacity:0;transform-origin:50%;will-change:transform,opacity;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:auto;display:block}.landing-logo.visible{animation:2s ease-out both logo-fade}.landing-nav{justify-content:center;gap:45px;font-size:15.3333px;display:flex;position:absolute;bottom:35px;left:5%;right:5%}.landing-nav a{border-bottom:1px solid #0000;padding:8px 0}.landing-nav a:hover{border-color:#111}header{color:var(--harbor-ink);background:#fff;border-color:#eee}.brand{padding:0;line-height:1}.brand img{object-fit:contain;width:64px;height:64px;display:block}.footer-brand{justify-content:center}.footer-brand img{object-fit:contain;filter:invert();width:170px;height:170px}@keyframes logo-fade{0%{opacity:0}to{opacity:1}}@media (max-width:700px){.logo-entrance{width:min(70vw,420px)}.landing-nav{gap:24px;font-size:15.3333px;bottom:25px}nav{background:#fff;border-color:#ddd}.menu{color:var(--harbor-ink);border-color:#bbb}.brand img{width:52px;height:52px}}@media (prefers-reduced-motion:reduce){.landing-logo.visible{opacity:1;animation:none!important}}.project-0 .project-visual{color:var(--harbor-ink);background:linear-gradient(90deg,#07142cd9,#07142c30),url(/harbor-wave.webp) 50%/cover}.logo-entrance{opacity:0;position:relative}.logo-entrance.echo-ready{animation:2s ease-out both logo-fade}.logo-entrance .landing-logo{z-index:2;opacity:1;will-change:transform;position:relative;animation:none!important}.logo-echo{object-fit:contain;opacity:0;transform-origin:50%;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform,opacity;width:100%;height:100%;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.logo-entrance.echo-ready{opacity:1;animation:none!important}.logo-echo{display:none}}.logo-entrance .landing-logo,.logo-echo{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}.heat-logo{z-index:3;opacity:0;pointer-events:none;transform-origin:50%;will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden;filter:drop-shadow(0 0 4px #ff241899)drop-shadow(0 0 11px #ff170744);--heat-core:58%;position:absolute;inset:0}.heat-ink{background:radial-gradient(circle at center,transparent var(--heat-core),#f52116 calc(var(--heat-core) + 10%),#ff3922 80%);width:100%;height:100%;-webkit-mask-image:url(/fifth-harbor-logo.png);mask-image:url(/fifth-harbor-logo.png);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.screen-heat{z-index:60;pointer-events:none;opacity:0;will-change:opacity;background:linear-gradient(90deg,#ff1800 0%,#ff180000 11% 89%,#ff1800 100%),linear-gradient(#ff281c99 0%,#ff281c00 10% 90%,#ff281c99 100%);transition:opacity .15s linear;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.heat-logo,.screen-heat{display:none}}.logo-entrance{will-change:transform;transition:transform .45s cubic-bezier(.2,.75,.25,1)}.logo-entrance.center-hover{transform:scale(1.12)}.hover-logo{z-index:2;opacity:0;pointer-events:none;will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#06172b;transition:opacity .45s;position:absolute;inset:0;-webkit-mask-image:url(/fifth-harbor-logo.png);mask-image:url(/fifth-harbor-logo.png);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.logo-entrance.center-hover .hover-logo{opacity:1}.logo-entrance .landing-logo{z-index:1}@media (hover:none){.logo-entrance.center-hover{transform:none}.logo-entrance.center-hover .hover-logo{opacity:0}}.logo-entrance,.logo-entrance.center-hover{transform:scale(var(--logo-scale,1));transition:none}.logo-light{z-index:4;opacity:0;pointer-events:none;will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:opacity .18s;position:absolute;inset:0;-webkit-mask-image:url(/fifth-harbor-logo.png);mask-image:url(/fifth-harbor-logo.png);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.logo-light-spot{aspect-ratio:1;will-change:transform;pointer-events:none;background:radial-gradient(circle,#fff 0% 12%,#ffffffed 27%,#ffffff78 48%,#fff0 72%);width:34%;position:absolute;top:0;left:0}@media (hover:none){.logo-light{display:none}}.hover-logo{background:#a5dfff}.logo-light-spot{background:radial-gradient(circle,#fff 0%,#fffffff5 5%,#ffffffa3 19%,#ffffff4d 37%,#ffffff1a 57%,#fff0 85%);width:25%}.pixel-cursor-layer{z-index:2147483647;pointer-events:none;visibility:hidden;mix-blend-mode:difference;position:fixed;inset:0}.pixel-pointer{pointer-events:none;will-change:transform;position:absolute;top:0;left:0;overflow:visible}.pixel-click{pointer-events:none;transform-origin:50%;will-change:transform,opacity;width:50px;height:50px;position:absolute}@media (hover:hover) and (pointer:fine) and (forced-colors:none){html.pixel-cursor-enabled,html.pixel-cursor-enabled *{cursor:none!important}}@media (hover:none),(pointer:coarse),(forced-colors:active){.pixel-cursor-layer{display:none}}.pixel-cursor-layer{z-index:auto;mix-blend-mode:normal;display:contents;position:static}.pixel-pointer,.pixel-click{z-index:2147483647;mix-blend-mode:difference;position:fixed}@media (hover:none),(pointer:coarse),(forced-colors:active){.pixel-cursor-layer{display:none}}.starfield{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.white-landing>.logo-entrance{z-index:1}
