@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../fonts/nunito-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../fonts/nunito-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--sky:#EAF7FF;--sky2:#BFE4F8;--w0:#8FD1F3;--w1:#6ec3ee;--w2:#2A78C8;--w3:#1B5A9E;--w4:#0F3A6E;--w5:#061B34;--blue:#378ADD;--blue-2:#185FA5;--paper:#F0EFEC;--ink:#0F2A44;--ink-2:#2F5476;--sun:#FFD37A;--coral:#FF8C6B;--font:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;--maxw:1120px;--gutter:clamp(20px,5vw,56px);--r:22px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);font-size:17px;line-height:1.6;color:var(--ink);background:var(--w5);overflow-x:hidden;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}a{color:inherit}:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:6px}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}h1,h2,h3{font-weight:900;line-height:1.08;letter-spacing:-.015em;text-wrap:balance}h2{font-size:clamp(30px,4.6vw,50px)}p{max-width:62ch}.lead{font-size:clamp(18px,2vw,21px);line-height:1.5}.defs{position:absolute;width:0;height:0;overflow:hidden}.logo{display:inline-flex;align-items:center;text-decoration:none;line-height:1}.logo svg{height:30px;width:auto}.nav .logo{color:var(--ink)}.nav.is-deep .logo,.floor .logo{color:#fff}.nav{position:fixed;inset:0 0 auto;z-index:60;padding:14px 0;color:var(--ink);transition:background .35s,color .35s,box-shadow .35s,padding .35s}.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.nav.is-scrolled{background:#eaf7ffeb;padding:10px 0;box-shadow:0 1px #0f2a4414;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav.is-deep{background:#061b34f0;color:var(--paper);padding:10px 0;box-shadow:0 1px #ffffff14}.nav ul{list-style:none;display:flex;gap:6px}.nav li a{display:block;padding:9px 14px;border-radius:999px;font-weight:700;text-decoration:none;font-size:15.5px;transition:background .2s}.nav li a:hover{background:#378add29}.nav.is-deep li a:hover{background:#ffffff1f}.burger{display:none;width:44px;height:44px;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:12px}.burger span{display:block;width:22px;height:2.5px;background:currentColor;margin:5px auto;border-radius:2px;transition:transform .25s,opacity .25s}@media (max-width:760px){.burger{display:block}.nav ul{position:absolute;top:calc(100% + 6px);left:var(--gutter);right:var(--gutter);flex-direction:column;gap:2px;padding:10px;border-radius:18px;background:#061b34f0;color:var(--paper);box-shadow:0 20px 50px #00000059;transform:translateY(-8px);opacity:0;pointer-events:none;transition:transform .25s,opacity .25s}.nav ul.open{transform:none;opacity:1;pointer-events:auto}.nav li a{padding:13px 16px;font-size:17px}.burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}}.gauge{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:55;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--paper);opacity:0;transition:opacity .4s;pointer-events:none}.gauge.on{opacity:1}.gauge .track{width:3px;height:180px;border-radius:3px;background:#ffffff2e;position:relative}.gauge .track i{position:absolute;left:50%;top:0;width:13px;height:13px;border-radius:50%;background:var(--sun);transform:translate(-50%,calc(var(--d,0) * 180px - 50%));box-shadow:0 0 0 4px #ffd37a40;transition:transform .15s linear}.gauge b{font-size:13px;font-weight:900;letter-spacing:.02em;font-variant-numeric:tabular-nums}@media (max-width:900px){.gauge{display:none}}#bubbles{position:fixed;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}section{position:relative}.wave{position:absolute;left:0;top:-1px;width:100%;height:clamp(50px,8vw,110px);z-index:1;pointer-events:none}.wave svg{width:100%;height:100%}.hero{min-height:100svh;display:flex;flex-direction:column;overflow:hidden}.hero .above{flex:1;position:relative;display:flex;align-items:flex-end;background:linear-gradient(180deg,var(--sky) 0%,var(--sky2) 100%);padding:130px 0 28px}.hero .above .wrap{position:relative;z-index:3;width:100%}.hero h1{font-size:clamp(40px,6.6vw,80px);max-width:14ch;margin-bottom:16px}.hero .above .lead{color:var(--ink-2);max-width:50ch}.sun{position:absolute;right:8%;top:16%;width:clamp(90px,12vw,160px);aspect-ratio:1;border-radius:50%;background:var(--sun);box-shadow:0 0 0 22px #ffd37a47,0 0 0 48px #ffd37a1f;z-index:1}.cloud{position:absolute;z-index:1;fill:#fff;opacity:.9;width:clamp(120px,16vw,220px)}.cloud.c1{left:6%;top:16%}.cloud.c2{left:42%;top:9%;width:clamp(90px,11vw,150px);opacity:.75}.cloud.c3{right:20%;top:38%;width:clamp(80px,9vw,130px);opacity:.6}.waterline{position:relative;z-index:1;height:clamp(64px,8vw,96px);background:var(--sky2)}.waterline .layer{position:absolute;left:0;bottom:0;width:200%;height:100%;display:flex}.waterline .layer svg{width:50%;height:100%;flex:none}.waterline .l1{z-index:1;animation:roll 14s linear infinite}.waterline .l2{z-index:3;animation:roll 9s linear infinite reverse}@keyframes roll{0%{transform:translate(0)}to{transform:translate(-50%)}}.boat{position:absolute;right:max(6%,calc(50% - 520px));bottom:38%;width:clamp(72px,8vw,110px);z-index:2;transform-origin:50% 100%;animation:bob 4.5s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}}.hero .below{background:var(--w0);position:relative;padding:clamp(16px,3vw,32px) 0 clamp(110px,12vw,150px)}.hero .below .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,70px);align-items:center;position:relative;z-index:3}.hero .deep{font-weight:900;font-size:clamp(36px,5.6vw,68px);line-height:1.08;letter-spacing:-.015em;max-width:14ch;margin-bottom:16px;text-wrap:balance}.hero .below .lead{color:var(--ink-2);margin-bottom:30px}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.dive{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;color:var(--ink);padding:12px 20px 12px 14px;border-radius:999px;background:#ffffff73;border:1.5px solid rgba(15,42,68,.12);transition:background .2s,transform .2s}.dive:hover{background:#fff;transform:translateY(2px)}.dive svg{width:22px;height:22px;animation:nod 2.2s ease-in-out infinite}@keyframes nod{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.critters{position:relative;width:100%;max-width:390px;aspect-ratio:390/300;justify-self:end}.critters svg{position:absolute;inset:0;width:100%;height:100%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.critters text{font-family:var(--font)}.critters .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.caret{animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}@media (max-width:760px){.sun{top:10%;right:4%}.hero .below .grid{grid-template-columns:1fr}.critters{display:none}}.about{background:var(--w1);padding:clamp(100px,12vw,160px) 0 clamp(100px,12vw,160px);color:var(--ink)}.about .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(36px,6vw,90px);align-items:start;position:relative;z-index:3}.about h2{margin-bottom:22px}.about p+p{margin-top:16px}.facts{list-style:none;display:grid;gap:14px;margin-top:8px}.facts li{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;background:#ffffff80;border-radius:var(--r);padding:16px 18px}.facts b{font-size:clamp(28px,3.4vw,40px);font-weight:900;line-height:1;color:var(--blue-2);font-variant-numeric:tabular-nums;min-width:2.6ch}.facts span{font-weight:600;line-height:1.35;color:var(--ink-2)}@media (max-width:820px){.about .grid{grid-template-columns:1fr}}.services{background:var(--w2);color:var(--paper);padding:clamp(100px,13vw,170px) 0 clamp(110px,13vw,180px)}.services .grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,6vw,80px);position:relative;z-index:3}.services .intro{position:sticky;top:110px;align-self:start}.services .intro h2{margin-bottom:18px}.services .intro p{color:#f0efecd9}.svc{list-style:none}.svc li{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:26px 0;border-top:1.5px dashed rgba(255,255,255,.28)}.svc li:first-child{border-top:0;padding-top:0}.svc .ico{width:64px;height:64px;border-radius:18px;background:#ffffff24;display:grid;place-items:center}.svc .ico svg{width:34px;height:34px}.svc h3{font-size:clamp(20px,2.2vw,25px);margin-bottom:6px}.svc p{color:#f0efecdb;max-width:56ch}.svc .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.svc .tags span{font-size:13.5px;font-weight:700;padding:5px 11px;border-radius:999px;background:#061b3447}@media (max-width:820px){.services .grid{grid-template-columns:1fr}.services .intro{position:static}}@media (max-width:480px){.svc li{grid-template-columns:1fr}.svc .ico{width:52px;height:52px}}.work{background:var(--w3);color:var(--paper);padding:clamp(100px,13vw,170px) 0 clamp(110px,13vw,180px)}.work .head{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,56px);position:relative;z-index:3}.work .head p{color:#f0efecd1;max-width:46ch}.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,3vw,32px);position:relative;z-index:3}.proj{background:#061b3459;border-radius:calc(var(--r) + 6px);overflow:hidden;border:1.5px solid rgba(255,255,255,.1);display:flex;flex-direction:column}.proj .shot{aspect-ratio:16/10;background:var(--sh,#0F3A6E);position:relative;overflow:hidden}.proj .shot svg{width:100%;height:100%}.proj .shot.photo{aspect-ratio:1452/736}.proj .shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.proj .txt{padding:22px 24px 26px;display:grid;gap:8px}.proj .kind{font-size:14.5px;font-weight:800;color:#9bd0ff}.proj h3{font-size:clamp(20px,2.2vw,24px)}.proj p{color:#f0efecd6;font-size:16px}.proj .res{margin-top:6px;padding-top:12px;border-top:1.5px dashed rgba(255,255,255,.2);font-weight:700;color:var(--sun);font-size:15.5px}.proj .more{margin-top:6px;padding-top:12px;border-top:1.5px dashed rgba(255,255,255,.2);font-weight:700;color:var(--sun);font-size:15.5px;text-decoration:none}.proj .more:after{content:" \2192"}.proj .more:hover{text-decoration:underline;text-underline-offset:4px}@media (max-width:720px){.projects{grid-template-columns:1fr}}.contact{background:var(--w4);color:var(--paper);padding:clamp(100px,13vw,170px) 0 clamp(120px,14vw,200px)}.contact .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,90px);position:relative;z-index:3;align-items:start}.contact h2{margin-bottom:18px}.contact .lead{color:#f0efecdb}.ways{list-style:none;margin-top:30px;display:grid;gap:14px}.ways a{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;font-size:clamp(18px,2vw,22px);padding:6px 0}.ways a:hover span{text-decoration:underline;text-underline-offset:4px}.ways svg{width:26px;height:26px;flex:none}.note-form{position:relative;background:var(--paper);color:var(--ink);border-radius:6px;padding:clamp(30px,4vw,42px) clamp(22px,3.5vw,38px) 30px;transform:rotate(-1.2deg);box-shadow:0 18px 40px #00000047;display:grid;gap:20px;margin-top:10px}.note-form:before{content:"";position:absolute;top:-13px;left:50%;width:100px;height:26px;background:#ffd37ae0;transform:translate(-50%) rotate(-4deg)}.note-form label{display:grid;gap:2px;font-weight:800;font-size:16.5px}.note-form input[type=text],.note-form input[type=email]{font:inherit;font-size:18px;font-weight:600;color:var(--ink);background:transparent;border:0;border-bottom:2px dashed #9BB8D6;border-radius:0;padding:8px 2px;width:100%}.note-form textarea{font:inherit;font-size:18px;font-weight:600;color:var(--ink);width:100%;min-height:152px;resize:vertical;border:0;padding:0 2px;line-height:38px;background:repeating-linear-gradient(transparent 0 36px,#c9d9e6 36px 38px)}.note-form input::placeholder,.note-form textarea::placeholder{color:#9db0c2;font-weight:600}.note-form input:focus{outline:0;border-bottom:2px solid var(--blue)}.note-form textarea:focus{outline:2px solid var(--blue);outline-offset:6px;border-radius:4px}.note-form .consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:600;color:var(--ink-2);line-height:1.45}.note-form .consent input{margin-top:3px;width:17px;height:17px;accent-color:var(--blue-2);flex:none}.note-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.note-form button{font:inherit;font-weight:900;font-size:17px;color:var(--ink);background:var(--coral);border:0;border-radius:999px;padding:14px 26px;cursor:pointer;justify-self:start;transition:background .2s,transform .15s}.note-form button:hover{background:#ff7a55}.note-form button:active{transform:translateY(2px)}.note-form button:disabled{opacity:.6;cursor:progress;transform:none}.form-status{margin:0;padding:12px 14px;border-radius:6px;font-size:15px;font-weight:700;line-height:1.45;background:#e6f0f8;color:var(--ink)}.form-status[data-kind=ok]{background:#e1f4ea;color:#145a37}.form-status[data-kind=error]{background:#fde8e2;color:#8a2a12}@media (max-width:820px){.contact .grid{grid-template-columns:1fr}.note-form{transform:rotate(-.6deg)}}.floor{position:relative;background:var(--w5);color:var(--paper);padding:clamp(70px,9vw,110px) 0 0;overflow:hidden}.floor .wrap{position:relative;z-index:3;display:flex;justify-content:space-between;gap:30px 48px;flex-wrap:wrap;align-items:flex-start}.floor .col{display:grid;gap:10px;font-size:15px;color:#f0efecb8}.floor .col a{text-decoration:none;font-weight:700;color:var(--paper)}.floor .col a:hover{text-decoration:underline;text-underline-offset:4px}.floor .col a.logo:hover{text-decoration:none}.floor .up{display:inline-flex;align-items:center;gap:10px;font-weight:800;text-decoration:none;padding:10px 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.2)}.floor .up svg{width:18px;height:18px}.floor .up:hover{background:#ffffff14}.bed{position:relative;height:clamp(180px,26vw,250px)}.bed svg{position:absolute;bottom:0;left:0;width:100%;height:100%}.weed{transform-origin:50% 100%;transform-box:fill-box;animation:sway 5s ease-in-out infinite}.weed.w2{animation-duration:6.5s;animation-delay:-2s}.weed.w3{animation-duration:4.4s;animation-delay:-1s}.weed.w4{animation-duration:7s;animation-delay:-3.5s}.weed.w5{animation-duration:5.6s;animation-delay:-.7s}.weed.w6{animation-duration:6s;animation-delay:-2.6s}@keyframes sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.floor .legal{position:absolute;left:0;right:0;bottom:16px;z-index:4;text-align:center;font-size:13.5px;color:#f0efec8c}.paused *{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}#bubbles{display:none}}html:has(.lightbox[open]) body{overflow:hidden}.lightbox{width:min(1600px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;background:none;color:var(--paper);overflow:visible}.lightbox::backdrop{background:#061b34d6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lightbox figure{position:relative;display:grid;max-height:calc(100dvh - 32px);background:var(--w5);border:1.5px solid rgba(255,255,255,.12);border-radius:calc(var(--r) + 6px);overflow:hidden;box-shadow:0 30px 80px -20px #0009}.lightbox .lb-stage{position:relative;display:grid;min-height:0}.lightbox .lb-track{display:flex;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior:contain;scrollbar-width:none}.lightbox .lb-track::-webkit-scrollbar{display:none}.lightbox .lb-img{flex:0 0 100%;overflow:auto;min-height:0;overscroll-behavior:contain;scroll-snap-align:start}.lightbox img{display:block;width:100%;height:auto}.lightbox.is-gallery .lb-img{display:grid;place-items:center}.lightbox.is-gallery img{width:auto;max-width:100%;max-height:calc(100dvh - 104px)}.lb-arrow{position:absolute;top:50%;z-index:2;display:none;place-items:center;width:46px;height:46px;margin-top:-23px;border:1.5px solid rgba(255,255,255,.28);border-radius:50%;background:#061b34b8;color:var(--paper);cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .2s,color .2s,opacity .2s}.lb-arrow:hover{background:var(--sun);border-color:var(--sun);color:var(--ink)}.lb-arrow:disabled{opacity:0;pointer-events:none}.lb-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.lb-prev{left:14px}.lb-next{right:14px}.is-gallery .lb-arrow{display:grid}.lightbox figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:14px 64px 16px 22px;font-size:15.5px;font-weight:700;border-top:1.5px solid rgba(255,255,255,.1)}.lb-text{flex:1 1 280px}.lb-count{display:none;font-size:14px;font-weight:700;color:#f0efecb3;font-variant-numeric:tabular-nums}.is-gallery .lb-count{display:block}.lb-link{color:var(--sun);font-weight:800;text-decoration:none;white-space:nowrap}.lb-link:after{content:" \2197"}.lb-link:hover{text-decoration:underline;text-underline-offset:4px}.lb-link[hidden]{display:none}.lightbox figcaption:before{content:"";flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 4px #ffd37a33}.lb-close{position:absolute;right:12px;bottom:9px;z-index:2;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:var(--sun);color:var(--ink);cursor:pointer;transition:transform .2s,background .2s}.lb-close:hover{transform:rotate(90deg);background:#fff}.lb-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}.lightbox[open] figure{animation:lb-in .35s cubic-bezier(.2,.8,.2,1)}.lightbox[open]::backdrop{animation:lb-fade .3s ease}@keyframes lb-in{0%{opacity:0;transform:translateY(18px) scale(.97)}}@keyframes lb-fade{0%{opacity:0}}@media (max-width:560px){.lightbox figcaption{font-size:14px;padding:12px 60px 14px 16px}}@media (prefers-reduced-motion:reduce){.lightbox[open] figure,.lightbox[open]::backdrop{animation:none}}
