/* V38 — a tactile, playful world with quieter reading surfaces. */
:root{--blush:#ffd8eb;--shell:#fffafd;--soft-ink:#61555e}
html{scroll-padding-top:100px}body{background:var(--shell)}body.menu-open{overflow:hidden}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}
body .wave-announcement{background:#ffb7da;color:#101014}body .wave-header nav a{text-decoration:none;font-weight:700}body .wave-header nav a:hover{color:#ffb7da}.wave-actions #waveMenuToggle{background:#fff7fb;color:#101014;border-color:#fff7fb}
.wave-home .wave-hero{min-height:760px;grid-template-columns:1fr 1.1fr;padding-top:140px;padding-bottom:100px;background:#111015;--hero-tint:#4b1939}.wave-home .hero-landscape{background:radial-gradient(ellipse at 80% 50%,var(--hero-tint),#111015 70%)}.wave-home .liquid-field{opacity:.2}.wave-home .hero-grid{opacity:.35}.wave-home .wave-hero h1{font-size:clamp(70px,7.8vw,124px);max-width:700px;line-height:.9;letter-spacing:-.075em}.wave-home .wave-hero h1 em{font-family:Georgia,serif;font-style:italic;font-weight:400;color:#ffb7da;letter-spacing:-.09em}.wave-home .wave-hero-copy>p:not(.eyebrow){font-size:18px;max-width:380px}.wave-home .wave-hero-copy .wave-pill{background:#ffd8eb;min-width:205px}.hero-links{gap:24px}.hero-play-link{font-size:9px;line-height:1.6;max-width:170px}.wave-home .wave-hero-art.surf-collage{position:relative;transform:none;animation:none;width:100%;isolation:isolate;perspective:900px}.wave-home .surf-collage .surf-sculpture{width:105%;max-width:105%;height:auto;max-height:610px;object-fit:contain;mix-blend-mode:normal;filter:none;transform:rotate(-6deg);animation:sculptureFloat 8s ease-in-out infinite alternate;will-change:transform}.collage-orbit{position:absolute;inset:8% 0 8% 0;border:1px solid #ffb7da60;border-radius:50%;transform:rotate(-25deg) scaleY(.65);z-index:-1}.collage-tag{position:absolute;display:flex;flex-direction:column;gap:7px;padding:16px 22px;background:#fffafd;color:#101014;text-decoration:none;font-size:17px;font-weight:800;box-shadow:4px 5px 0 #10101440;transition:transform .2s}.collage-tag span{font:9px monospace;letter-spacing:.12em}.tag-sounds{top:10%;left:-4%;transform:rotate(-9deg)}.tag-play{bottom:8%;right:-2%;transform:rotate(6deg);background:#ffd8eb}.collage-tag:hover{transform:rotate(0) translateY(-6px)}.vibe-switch{position:absolute;bottom:0;left:8%;border:1px solid #ffffff70;border-radius:50%;background:#101014;color:#ffb7da;width:90px;height:90px;font-size:28px;transform:rotate(-12deg);transition:transform .3s}.vibe-switch span{display:block;font:8px/1.4 monospace;letter-spacing:.02em}.vibe-switch:hover{transform:rotate(10deg) scale(1.08)}
@keyframes sculptureFloat{to{transform:translateY(-16px) rotate(2deg)}}
body .worked-with-section{padding:38px 0 40px;background:#111015;border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26}body .worked-with-heading{margin-bottom:28px;align-items:center}body .worked-with-heading h2{font-size:28px!important;letter-spacing:-.04em}.worked-with-heading .micro{font-size:9px;color:#ffb7da}.artist-emblem{border-color:#ffd8eb80}.artist-float-name{color:#fff7fb}.artist-float-item{width:105px}.artist-emblem{width:82px;height:82px}.artist-float-track{gap:30px}
body .shop-section,body .pod-section{background:#fffafd}.shop-section .kit-section-intro{align-items:center}body .kit-section-intro h2{font-size:clamp(36px,5vw,76px)}body .kit-lite-art img,body .goods-image-frame img{transition:transform .45s cubic-bezier(.2,.8,.2,1)}body .kit-lite-art:hover img{transform:rotate(-4deg) scale(1.045)}body .goods-stage:hover img{transform:rotate(4deg) scale(1.04)}
body .wave-about{background:#ffdfed;color:#101014;position:relative;overflow:hidden;grid-template-columns:.9fr 1.1fr;padding:90px 5vw}body .wave-about h2{font-size:clamp(64px,7.7vw,115px);line-height:.85;margin:30px 0;letter-spacing:-.08em}.wave-about>div:first-child>img{display:none}.wave-about>div:first-child:after{content:'✳';display:block;font-size:130px;line-height:1;color:#e15a9d;transform:rotate(-8deg);margin:30px 0 0}.wave-accordions details{padding:23px 0;border-color:#10101438}.wave-accordions summary{font-size:22px;letter-spacing:-.025em}.wave-accordions p{font-size:15px;line-height:1.7;max-width:550px}.wave-about .eyebrow{font-size:10px}.wave-about .wave-pill{margin-top:25px}
/* The feature is part of the page, without a boxed player frame. */
body .transmission-section{background:#111015;padding:56px 5vw 65px;border:0}body .video-console{max-width:none;padding:0;margin:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}body .video-console-top,body .video-console-bottom{background:transparent;color:#fff7fb;border:0;border-radius:0;padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font:10px monospace;letter-spacing:.06em}body .video-console-top b{margin-right:auto}body .video-console-top small{color:#ffb7da}body .video-console-bottom a{color:#fff7fb}body .video-console .console-dot{background:#ffb7da;width:7px;height:7px;flex:none}body .video-console-screen{border:0;border-radius:0;overflow:hidden;background:#111015;padding:0;aspect-ratio:16/9;min-height:0}body .video-sound-toggle{background:#fff7fbe8;color:#101014;border:0;backdrop-filter:blur(10px);font-size:10px;bottom:18px;right:18px}
body .records-section{background:#111015}body #records .section-head :is(h1,h2){white-space:nowrap;font-size:clamp(40px,5vw,78px)}#fmPlayer[hidden]{display:none!important}body .archive-entry{background:#17141a;border-color:#ffffff24}.record-tile-meta .archive-field{font-family:Arial,sans-serif}
/* Eight real resources: one square, one useful worksheet. */
body .resources-section{background:#fffafd;padding:85px 5vw}body .resources-section>.section-head{padding-left:0;padding-right:0;align-items:center}.resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.resource-grid .resource-card{display:flex;flex-direction:column;aspect-ratio:1;min-width:0;padding:24px;border:1px solid #10101428;background:#fff;color:#101014;text-decoration:none;position:relative;transition:transform .25s,box-shadow .25s,border-color .25s}.resource-grid .resource-card:nth-child(3n+2){background:#fff0f7}.resource-card>span{font:11px monospace;color:#65525e;letter-spacing:.1em}.resource-card>b{font-size:clamp(20px,2vw,30px);line-height:1.04;letter-spacing:-.04em;margin:26px 0 12px;max-width:220px}.resource-card>small{font-size:12px;line-height:1.6;color:#61555e;max-width:220px}.resource-card>em{margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;align-items:center;font:9px monospace;letter-spacing:.08em}.resource-card>em span{font-size:23px}.resource-grid .resource-card:hover{transform:translateY(-6px) rotate(-1deg);box-shadow:5px 7px 0 #ffd8eb;border-color:#101014}.resource-card:focus-visible{outline:3px solid #b10059;outline-offset:4px}
body .membership-section{background:#f7eaf0}body .member-card.featured{background:#ffd8eb}body .member-card{padding:30px;display:flex;flex-direction:column}.member-card>button{margin-top:auto;padding:14px 20px;border:1px solid #101014;background:#101014;color:white;border-radius:99px;font-weight:700}.member-card ul{margin-bottom:30px}body .starter-banner{background:#fffafd;border:1px solid #10101435;gap:30px;padding:28px}.starter-banner .starter-identity{aspect-ratio:1;background:#101014;color:#ffb7da;padding:14px;display:flex;flex-direction:column;justify-content:space-between;width:130px;transform:rotate(-4deg);border-radius:4px}.starter-identity span,.starter-identity small{font:8px monospace;letter-spacing:.08em}.starter-identity b{font-size:29px;line-height:.9;letter-spacing:-.07em}.starter-banner h3{font:900 clamp(23px,3vw,42px)/1 Arial,sans-serif;letter-spacing:-.055em;margin:12px 0}.starter-banner p{font-size:13px;line-height:1.5}.starter-notify{margin-left:auto;flex:none;background:#101014;color:#fff;padding:18px 25px;border-radius:99px;font-size:11px;text-decoration:none;font-weight:bold}
body #submit input:not([type=checkbox]):not([type=file]),body #submit textarea{background:#fff;color:#101014;border:1px solid #d6cbd1;border-radius:3px;padding:16px;opacity:1}body #submit input::placeholder,body #submit textarea::placeholder{color:#6d6269;opacity:1}body #submit .file-drop{background:#fff;color:#101014;border:1px dashed #a895a0;border-radius:3px;align-items:center}body #submit .file-drop small{opacity:1;color:#6d6269}body #submit .two{gap:12px;margin:12px 0}body #submit .one-shot-lock{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0;font:10px monospace}body #submit form>button{background:#ffd8eb;color:#101014;border-radius:99px;padding:17px 26px}body #submit .portal-art{background:transparent;border:1px solid #ffffff20;border-radius:50% 50% 0 0}.portal-art span{font-family:monospace}
/* FAQ rows share generous spacing and predictable controls. */
body #services .kit-section-head{margin-top:75px!important;padding-top:35px;border-top:1px solid #10101425}body #services .kit-section-head h3{font-size:38px;margin:14px 0 24px}body #services .kit-faq{max-width:none!important;display:grid;grid-template-columns:1fr 1fr;column-gap:40px;align-items:start}body .kit-faq details,body .faq-grid details{border:0;border-bottom:1px solid #10101430;padding:0;margin:0}body .kit-faq summary,body .faq-grid summary{display:flex;align-items:center;justify-content:space-between;gap:22px;list-style:none;cursor:pointer;padding:23px 0;font-size:17px;font-weight:700;line-height:1.35;letter-spacing:-.025em}body .kit-faq summary::-webkit-details-marker,body .faq-grid summary::-webkit-details-marker{display:none}body .kit-faq summary:after,body .faq-grid summary:after{content:'+';width:28px;height:28px;border:1px solid #10101440;border-radius:50%;display:grid;place-items:center;flex:none;font:20px Arial}body .kit-faq details[open] summary:after,body .faq-grid details[open] summary:after{content:'−';background:#ffd8eb}body .kit-faq details p,body .faq-grid details p{font-size:14px;line-height:1.8;margin:0;padding:0 45px 25px 0;color:#61555e}body #contact{display:grid;grid-template-columns:.8fr 1.2fr;column-gap:7vw;row-gap:30px;padding:80px 5vw 90px;background:#fffafd;border-top:1px solid #10101430}body #contact .section-head{display:block;padding:0;margin:0}body #contact .section-head :is(h1,h2){font-size:clamp(42px,5vw,75px);line-height:.95;max-width:360px}#contact .section-head p:not(.micro){font-size:15px;color:#61555e}.faq-grid{display:block}.contact-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.contact-actions a{padding:12px 16px;border:1px solid #10101430;border-radius:99px;font:10px monospace;text-decoration:none}.contact-actions a:hover{background:#ffd8eb}
body .wave-newsletter{background:#f3eaf0;border-top:1px solid #10101420;color:#101014;padding:75px 5vw;position:relative}body .wave-newsletter h2{font-size:clamp(42px,5vw,76px);line-height:.97}.wave-newsletter input{background:#fff;border-color:#b7a8b1;border-radius:4px}.wave-newsletter small{color:#61555e}.wave-newsletter button{border:0!important}.wave-newsletter p{line-height:1.6}body .site-footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;align-items:center;background:#111015}.site-footer .surfsup-footer-brand{grid-row:span 2}.site-footer .footer-main,.site-footer .footer-contact-bar{flex-wrap:wrap;gap:20px}.site-footer .wave-legal{grid-column:1/-1}.site-footer .surfsup-footer-brand img{width:150px;height:auto}.wave-legal{padding-top:28px}
/* Full-screen navigation: five clear doors into the world. */
body dialog.wave-menu{position:fixed;inset:0;margin:0;width:100vw;height:100svh;max-width:none;max-height:none;border:0;padding:28px 5vw 25px;background:#111015;color:#fff7fb;overflow-y:auto;overflow-x:hidden}body .wave-menu::backdrop{background:#111015}.wave-menu .dialog-head{margin:0;padding-bottom:18px;border-bottom:1px solid #ffffff25;position:relative;z-index:2}.wave-menu .menu-home{padding:0;border:0}.wave-menu .menu-home img{width:95px;height:64px;object-fit:contain}.wave-menu .menu-kicker{font:10px monospace;letter-spacing:.13em;color:#ffb7da}.wave-menu .dialog-head button{width:auto;height:42px;border-radius:99px;padding:0 20px;font:10px monospace;letter-spacing:.08em;color:white;border-color:#ffffff60}.menu-layout{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:3vw;min-height:calc(100svh - 200px)}.wave-menu .menu-main a{display:grid;grid-template-columns:24px auto 1fr 25px;align-items:baseline;gap:18px;color:#fff7fb;border:0;border-bottom:1px solid #ffffff20;padding:14px 0;text-decoration:none;transition:color .2s,transform .2s}.menu-main a small{font:10px monospace;color:#ffb7da}.menu-main a strong{font:900 clamp(38px,5.4vw,84px)/.94 Arial,sans-serif;letter-spacing:-.075em}.menu-main a>span{font:11px/1.4 Arial,sans-serif;color:#b9aeb7;max-width:120px;justify-self:end}.menu-main a i{font:26px Arial;font-style:normal;transition:transform .2s}.wave-menu .menu-main a:hover,.wave-menu .menu-main a:focus-visible{color:#ffb7da;transform:translateX(8px)}.menu-main a:hover i{transform:rotate(45deg)}.menu-art{position:relative;min-width:0;display:grid;place-items:center;isolation:isolate}.menu-art>img{width:100%;max-height:480px;object-fit:contain;aspect-ratio:1;animation:menuBob 6s ease-in-out infinite alternate;filter:drop-shadow(0 20px 20px #0004)}.menu-orbit{position:absolute;inset:10%;border:1px solid #ffb7da45;border-radius:50%;transform:rotate(-30deg) scaleX(.8);z-index:-1}.menu-art p{font:10px/1.8 monospace;letter-spacing:.12em;text-align:center;color:#ffb7da}.menu-footer{border-top:1px solid #ffffff25;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;font:9px monospace;letter-spacing:.08em}.menu-footer nav{display:flex;flex-wrap:wrap;gap:25px}.wave-menu .menu-footer a{font:11px Arial,sans-serif;padding:5px 0;border:0;color:#fff7fb;text-decoration:none}.wave-menu .menu-footer a:hover{color:#ffb7da}@keyframes menuBob{to{transform:translateY(-10px) rotate(3deg)}}
body .res-list{max-width:1200px;margin:0 auto;padding:0 5vw 70px}.res-item{border-radius:12px;margin-bottom:20px!important}.res-pdf{padding:12px 17px;background:#101014;color:#fff!important;border-radius:99px;text-decoration:none;font:10px monospace!important;white-space:nowrap}
@media(max-width:1100px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-card>b{font-size:32px}.resource-card>small{font-size:14px;max-width:280px}.resource-grid .resource-card{aspect-ratio:1.15;padding:26px}.menu-main a>span{display:none}.menu-main a{grid-template-columns:20px 1fr 25px!important}.menu-main a strong{font-size:clamp(42px,7vw,75px)}}
@media(max-width:800px){.wave-home .wave-hero{grid-template-columns:1fr 1fr;gap:0}.wave-home .wave-hero h1{font-size:clamp(59px,8.5vw,90px)}.collage-tag{padding:11px 13px;font-size:12px}.collage-tag span{font-size:8px}.vibe-switch{width:70px;height:70px}.vibe-switch span{font-size:7px}.wave-about{gap:30px}body .wave-about h2{font-size:68px}.wave-accordions summary{font-size:19px}.starter-notify{margin-left:0}body #contact{grid-template-columns:1fr;gap:30px}.contact-actions{grid-column:1}.menu-layout{grid-template-columns:1.2fr .8fr}.menu-art>img{max-height:320px}.menu-footer{align-items:flex-start}.menu-footer nav{gap:15px}}
@media(max-width:600px){html{scroll-padding-top:80px}.wave-home .wave-hero{display:flex;flex-direction:column-reverse;min-height:830px;gap:10px;padding:115px 6vw 80px}.wave-home .wave-hero-art.surf-collage{width:82%;align-self:center;margin-bottom:14px}.wave-home .surf-collage .surf-sculpture{max-height:310px;width:100%;max-width:100%}.tag-sounds{left:-9%;top:8%}.tag-play{right:-7%;bottom:10%}.vibe-switch{left:-4%;bottom:0;width:54px;height:54px;font-size:20px}.vibe-switch span{font-size:6px}.wave-home .wave-hero h1{font-size:68px;margin:20px 0;line-height:.9}.wave-home .wave-hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.5;margin:20px 0}.hero-links{gap:18px}.hero-play-link{max-width:130px;font-size:8px}.wave-home .wave-hero-copy .wave-pill{min-width:180px;font-size:10px;padding:17px 20px}.wave-home .hero-caption{bottom:19px}.artist-float-item{width:90px}.artist-emblem{width:72px;height:72px}body .worked-with-section{padding:30px 0}.worked-with-heading .micro{margin-top:0}body .worked-with-heading h2{font-size:25px!important}body .wave-about{grid-template-columns:1fr;padding:55px 6vw;gap:25px}body .wave-about h2{font-size:72px;max-width:100%;margin:20px 0}.wave-about>div:first-child:after{position:absolute;right:8%;top:80px;font-size:85px}.wave-about .wave-accordions{position:relative}body .transmission-section{padding:30px 0}.video-console-top,.video-console-bottom{margin:0 6vw;font-size:8px!important;gap:10px!important}.video-sound-toggle{bottom:10px!important;right:10px!important;font-size:8px!important;padding:10px!important}.resource-grid{gap:12px}.resource-grid .resource-card{aspect-ratio:auto;min-height:245px;padding:17px}.resource-card>b{font-size:23px;margin-top:23px}.resource-card>small{font-size:11px;line-height:1.5}.resource-card>em{font-size:8px;padding-top:18px}body .resources-section{padding:55px 6vw}body .resources-section h2{font-size:40px}body .starter-banner{padding:20px;gap:20px}.starter-banner .starter-identity{width:90px;flex:none}.starter-identity b{font-size:22px}.starter-identity small{font-size:6px}.starter-banner>div:nth-child(2){flex:1;min-width:150px}.starter-notify{width:100%;text-align:center}.starter-banner h3{font-size:26px}body #services .kit-faq{grid-template-columns:1fr}body .kit-faq summary,body .faq-grid summary{font-size:16px;padding:20px 0}body #contact{padding:55px 6vw}body .wave-newsletter{padding:55px 6vw}body .site-footer{grid-template-columns:1fr 1fr;padding:40px 6vw}.site-footer .surfsup-footer-brand{grid-row:auto}.site-footer .footer-main{font-size:10px;display:flex;flex-direction:column}.site-footer .footer-contact-bar{font-size:10px;line-height:1.5}.site-footer .surfsup-footer-brand img{width:110px}.menu-layout{grid-template-columns:1fr;min-height:0;padding:24px 0}.menu-art{display:none}.wave-menu .menu-main a{padding:17px 0}.menu-main a strong{font-size:57px}.wave-menu .menu-kicker{font-size:8px;max-width:110px;text-align:center}.wave-menu .menu-home img{width:65px;height:52px}.wave-menu .dialog-head button{font-size:9px;padding:0 14px;height:36px}body dialog.wave-menu{padding:20px 6vw}.menu-footer{flex-direction:column;gap:18px}.menu-footer nav{gap:20px}.menu-footer>span{font-size:8px}.contact-actions a{font-size:9px}.wave-header .wave-brand{justify-self:start}}
@media(max-width:360px){.wave-home .wave-hero h1{font-size:58px}.resource-grid{grid-template-columns:1fr}.resource-grid .resource-card{min-height:220px}.menu-main a strong{font-size:48px}}
@media(prefers-reduced-motion:reduce){.surf-sculpture,.menu-art>img{animation:none!important}.collage-tag,.resource-card{transition:none!important}}
/* Surf's Up interludes: original vinyl-fish artwork and drifting water. */
.surf-reef{height:520px;position:relative;overflow:hidden;isolation:isolate;background:#efe1d2;color:#183d41}.reef-sky{position:relative;padding:42px 5vw;z-index:2;pointer-events:none}.reef-sky>span,.reef-caption{font:10px/1.4 monospace;letter-spacing:.13em}.reef-sky h2{font:italic 400 clamp(45px,6.5vw,100px)/1 Georgia,serif;letter-spacing:-.055em;margin:20px 0;max-width:none}.reef-water{position:absolute;inset:46% 0 0;background:linear-gradient(#74b9b1,#215c60 80%,#153c43);color:#74b9b1}.waterline{position:absolute;width:200%;height:95px;top:-92px;left:-40%;animation:tideDrift 12s ease-in-out infinite alternate}.reef-light{position:absolute;inset:0;background:repeating-radial-gradient(ellipse at 50% -60%,transparent 0 40px,#cefff425 45px,transparent 55px 105px);opacity:.6;transform:scaleX(1.6);animation:waterShimmer 9s ease-in-out infinite alternate}.reef-fish{position:absolute;top:var(--depth);left:-12%;width:95px;color:#eacdc1;animation:fishSwim 37s linear infinite;animation-delay:var(--delay);filter:drop-shadow(0 10px 6px #153c4322)}.reef-fish svg{width:100%;transform:scaleX(-1)}.fish-1{width:63px;color:#c2d4b6;animation-duration:43s}.fish-2{width:115px;color:#f5b9d2;animation-duration:48s}.fish-3{width:48px;color:#9abecd;animation-duration:32s}.reef-caption{position:absolute;bottom:26px;left:5vw;right:5vw;display:flex;justify-content:space-between;gap:20px;color:#e9f5eb;z-index:2}.reef-bubble{position:absolute;width:8px;height:8px;border:1px solid #d7f8ed70;border-radius:50%;bottom:0;animation:bubbleRise 8s linear infinite}.b1{left:20%}.b2{left:57%;animation-delay:-3s;width:16px;height:16px}.b3{left:84%;animation-delay:-6s}.reef-orbit{position:absolute;right:12%;top:15%;width:130px;height:130px;border:14px solid #f2b5d0;border-radius:50%;box-shadow:inset 0 0 0 2px #fff6,0 16px 30px #153c4340;transform:rotateX(55deg) rotate(-20deg);animation:floatRing 7s ease-in-out infinite alternate}.reef-goods{background:#eddae4}.reef-goods .reef-water{background:linear-gradient(#8bbabf,#3b637b 85%,#263e55);color:#8bbabf}.reef-goods .reef-orbit{right:68%;border-color:#f1e4be}.reef-goods .reef-sky{text-align:right}.reef-goods .reef-fish{animation-direction:reverse}.reef-goods .reef-fish svg{transform:none}.wave-menu .menu-main a:nth-child(2) strong{transform:rotate(-3deg)}.wave-menu .menu-main a:nth-child(4) strong{transform:rotate(2deg)}
@keyframes tideDrift{to{transform:translateX(16%) translateY(14px)}}@keyframes fishSwim{to{left:112%;transform:translateY(-16px)}}@keyframes bubbleRise{to{transform:translateY(-300px);opacity:0}}@keyframes waterShimmer{to{transform:scaleX(1.9) translateX(30px);opacity:.35}}@keyframes floatRing{to{transform:translateY(20px) rotateX(55deg) rotate(15deg)}}
.motion-paused .surf-reef *{animation-play-state:paused!important}
@media(max-width:650px){.surf-reef{height:380px}.reef-sky{padding:36px 6vw}.reef-sky h2{font-size:49px;max-width:340px}.reef-goods .reef-sky h2{margin-left:auto}.reef-sky>span,.reef-caption{font-size:8px}.reef-caption{bottom:22px}.reef-orbit{width:85px;height:85px;border-width:10px}.reef-fish{width:65px}.fish-2{width:85px}.fish-3{width:40px}}
@media(prefers-reduced-motion:reduce){.surf-reef *{animation:none!important}.reef-fish{left:15%}.fish-1{left:40%}.fish-2{left:65%}.fish-3{left:85%}}
.wave-transition{background:radial-gradient(ellipse at 50% 110%,#254f60,transparent 70%),linear-gradient(140deg,#abcac6,#d9cad5);overflow:hidden}.wave-transition:after{content:"";position:absolute;inset:55% -20% -20%;border-top:1px solid #ffffff70;border-radius:45%;background:#5e9aab35;transform:rotate(-8deg)}.wave-transition img{mix-blend-mode:normal;position:relative;z-index:1;filter:drop-shadow(0 16px 20px #193c4633)}
/* The supplied film is the entire banner, at its original widescreen ratio. */
body.wave-home .wave-header{margin-bottom:0}
body.wave-home .wave-hero.film-hero{display:block;position:relative;min-height:0;max-height:none;height:auto;aspect-ratio:7/3;padding:0;margin:0;overflow:hidden;background:#02151d}
.film-hero #heroLoop{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:1;filter:none}
.film-hero:before,.film-hero:after{display:none}
.film-motion{margin-top:14px;background:transparent;color:inherit;border:1px solid #ffffff45;border-radius:99px;padding:8px 12px;font:9px monospace;letter-spacing:.06em;cursor:pointer}
/* Deep water interludes: light, depth and original branded objects. */
body .surf-reef.deep-water{height:480px;background:radial-gradient(ellipse at 64% -20%,#226777 0,transparent 55%),linear-gradient(120deg,#020e17,#06313e 65%,#020f1b);color:#eef8f6;border:0}
.deep-water:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 35%,#77dcd622 0,transparent 40%),linear-gradient(0deg,#010b14aa,transparent 40%);pointer-events:none;z-index:2}
.deep-light{position:absolute;inset:-80% -30% -20%;background:repeating-conic-gradient(from 153deg at 55% 0%,transparent 0deg 7deg,#82f4ed25 8deg 10deg,transparent 12deg 21deg);filter:blur(13px);transform-origin:55% 0;animation:deepLight 14s ease-in-out infinite alternate;opacity:.7}
.deep-ripples{position:absolute;inset:50% -20% -45%;background:repeating-radial-gradient(ellipse at 50% 0,transparent 0 30px,#7de6dc22 33px,transparent 39px 72px);transform:perspective(300px) rotateX(55deg);filter:blur(3px);animation:deepRipple 12s ease-in-out infinite alternate;opacity:.6}
.deep-copy{position:absolute;left:7%;top:26%;width:46%;z-index:3}.deep-copy p,.deep-bottom{font:10px/1.6 monospace;letter-spacing:.16em;color:#a4c6cc}.deep-copy h2{font:italic 400 clamp(44px,6.2vw,90px)/1.03 Georgia,serif;letter-spacing:-.055em;max-width:630px;margin:22px 0;color:#edf7f6;text-shadow:0 3px 25px #001016}
.deep-object{position:absolute;width:310px;height:310px;right:13%;top:18%;perspective:800px;animation:deepFloat 11s ease-in-out infinite alternate;filter:drop-shadow(10px 35px 20px #0008);z-index:1}
.submerged-record{width:100%;height:100%;border-radius:50%;background:repeating-radial-gradient(circle,#0b1720 0 3px,#28414a 4px,#101e28 5px 8px);border:2px solid #679aa255;transform:rotateY(-24deg) rotateX(18deg) rotate(-20deg);display:grid;place-items:center;position:relative;overflow:hidden}
.submerged-record:after,.submerged-tag:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(125deg,transparent 0 24px,#98f9ef28 26px,transparent 34px 66px);mix-blend-mode:screen;animation:deepReflection 9s ease-in-out infinite alternate;pointer-events:none}
.submerged-record span{display:grid;place-content:center;text-align:center;width:36%;height:36%;background:#c77b9a;border-radius:50%;color:#20242d;font:900 24px/.9 Arial,sans-serif;letter-spacing:-1.5px;box-shadow:0 0 25px #0009}.submerged-record i{position:absolute;z-index:2;left:calc(50% - 4px);top:calc(50% - 4px);width:8px;height:8px;background:#032630;border-radius:50%}
.deep-bottom{position:absolute;left:7%;right:7%;bottom:30px;display:flex;justify-content:space-between;z-index:3;font-size:9px}
.reef-goods.deep-water{background:radial-gradient(ellipse at 24% -20%,#26546c 0,transparent 55%),linear-gradient(120deg,#02121d,#103243 65%,#071322)}.reef-goods .deep-copy{left:auto;right:7%;text-align:right}.reef-goods .deep-object{right:auto;left:16%;top:11%;width:210px;height:330px;transform:rotate(12deg)}
.submerged-tag{position:relative;height:100%;width:100%;border:1px solid #b4dce066;border-radius:8px;background:linear-gradient(130deg,#b2d0d24d,#183748d9 45%,#85a6b455);box-shadow:inset 0 0 30px #dafcff15;transform:rotateY(20deg) rotate(-14deg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;overflow:hidden}.submerged-tag:before{content:"";width:13px;height:13px;border:1px solid #a7d3db;border-radius:50%;position:absolute;top:18px;background:#092334}.submerged-tag img{width:78%;height:auto;opacity:.86}.submerged-tag span{font:9px/1.8 monospace;letter-spacing:.13em;text-align:center;color:#d3e6e6}
@keyframes deepLight{to{transform:rotate(7deg) scaleX(1.1);opacity:.4}}@keyframes deepRipple{to{transform:perspective(300px) rotateX(60deg) translateY(20px);opacity:.3}}@keyframes deepFloat{to{translate:0 18px;rotate:5deg}}@keyframes deepReflection{to{transform:translateX(25px) scale(1.2);opacity:.4}}
@media(max-width:650px){body .surf-reef.deep-water{height:420px}.deep-copy{left:7%;top:9%;width:80%}.deep-copy h2{font-size:46px;max-width:300px;margin-top:13px}.deep-copy p{font-size:8px}.deep-object{width:190px;height:190px;right:10%;top:47%}.deep-bottom{font-size:7px;bottom:22px}.reef-goods .deep-copy{top:9%;right:7%}.reef-goods .deep-object{width:125px;height:205px;left:12%;top:43%}}
@media(prefers-reduced-motion:reduce){.deep-water *{animation:none!important}}
@media(max-width:650px){.deep-object{width:170px;height:170px;top:45%}.reef-goods .deep-object{width:115px;height:180px;top:45%}}
/* Graphic editorial breaks: a compact change of rhythm, with no water scenery. */
.graphic-break{position:relative;isolation:isolate;overflow:hidden;min-height:270px;padding:30px 5vw;background:#f3eee4;color:#111015;border-block:2px solid #111015;display:flex;flex-direction:column;justify-content:space-between}.graphic-index,.graphic-caption{font:10px/1.4 monospace;letter-spacing:.14em;position:relative;z-index:2}.graphic-break h2{font:900 clamp(60px,10vw,150px)/.85 Arial,sans-serif;letter-spacing:-.075em;margin:25px 0;position:relative;z-index:2;max-width:80%;transform:rotate(-2deg)}.graphic-star{position:absolute;right:8%;top:-30px;font-size:300px;line-height:1;color:#f4a8c9;z-index:0;transform:rotate(14deg)}.graphic-stamp{position:absolute;right:5%;bottom:28px;background:#111015;color:#f7d5e6;border:2px solid #111015;padding:17px;font:900 13px/1.1 Arial,sans-serif;transform:rotate(8deg);box-shadow:5px 5px 0 #c28fa5;z-index:3}.graphic-goods{background:#ded9e9}.graphic-goods .graphic-star{color:#faf5e9;right:10%;transform:rotate(-15deg)}.graphic-break.in-view h2{animation:graphicSettle .6s cubic-bezier(.2,.8,.2,1) both}@keyframes graphicSettle{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
.wave-transition,.wave-transition.active,.wave-transition.arriving{border-radius:0!important;background:#f3eee4}.wave-transition{transform:translateX(-105%);transition:transform .4s cubic-bezier(.76,0,.24,1)}.wave-transition.active{transform:translateX(0)}.wave-transition.arriving{transform:translateX(105%)}.wave-transition:after{inset:0 0 0 72%;border:0;border-radius:0;transform:none;background:#efbfd4}.wave-transition img{width:clamp(150px,24vw,300px);filter:none;transform:rotate(-7deg)}
@media(max-width:600px){.graphic-break{min-height:220px;padding:24px 6vw}.graphic-break h2{font-size:59px;max-width:100%;margin:35px 0 50px}.graphic-star{font-size:200px;right:-20px;top:0}.graphic-stamp{font-size:9px;padding:10px;bottom:18px}.graphic-caption{font-size:7px;max-width:65%}.graphic-index{font-size:8px}}
@media(prefers-reduced-motion:reduce){.graphic-break.in-view h2{animation:none}}
.motion-paused .graphic-break *{animation-play-state:paused!important}
/* Let the real products carry the transitions. No decorative interlude panels. */
.wave-home #lab,.wave-home #merch{position:relative;isolation:isolate}
.wave-home .product-reveal{--entry:1;overflow:hidden}
.wave-home .product-reveal img{translate:0 calc((1 - var(--entry))*65px);scale:calc(.88 + var(--entry)*.12);rotate:calc((1 - var(--entry))*var(--entry-angle));transform-origin:50% 80%;will-change:translate,scale,rotate;transition:filter .25s ease}
.wave-home .collection-intro{--entry:1}
.wave-home .collection-intro h2{translate:0 calc((1 - var(--entry))*30px);opacity:calc(.35 + var(--entry)*.65)}
.wave-home .collection-intro>p,.wave-home .kit-intro-copy{translate:0 calc((1 - var(--entry))*18px);opacity:calc(.55 + var(--entry)*.45)}
body .kit-lite-art:hover img,body .goods-stage:hover img{transform:scale(1.025)}
body .wave-transition,body .wave-transition.active,body .wave-transition.arriving{background:#101014;border-radius:0!important;transform:none!important;transition:opacity .3s ease}
body .wave-transition{opacity:0}body .wave-transition.active{opacity:1}body .wave-transition.arriving{opacity:0}body .wave-transition img,body .wave-transition:after{display:none}
@media(prefers-reduced-motion:reduce){.wave-home .product-reveal img,.wave-home .collection-intro h2,.wave-home .collection-intro>p,.wave-home .kit-intro-copy{translate:none;scale:1;rotate:none;opacity:1;will-change:auto}}
body #submit .portal-art{border:0;border-radius:0;background:none;box-shadow:none;min-height:310px;display:grid;place-items:center}
body #submit .portal-art:before,body #submit .portal-art:after{display:none}
body #submit .portal-art img{width:min(240px,70%);max-width:100%;height:auto;transform:none}
@media(max-width:900px){body #submit .portal-art{position:relative;top:auto;min-height:260px}}
/* One purchase control across all collections, product pages and services. */
body :is(.cart-add,.goods-checkout,.service-add,.buy-row .buy-button,.kit-urgency-cta){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:180px;max-width:100%;min-height:48px;height:auto;margin:0;padding:14px 16px;border:1px solid #101014;border-radius:99px;background:#101014;color:#fff7fb;font:700 11px/18px Arial,sans-serif;letter-spacing:.04em;text-align:center;text-decoration:none;white-space:nowrap;box-shadow:none;cursor:pointer;transition:background .2s,color .2s}
body :is(.cart-add,.goods-checkout,.service-add,.buy-row .buy-button,.kit-urgency-cta):hover{background:#ffd8eb;color:#101014}
body :is(.cart-add,.goods-checkout,.service-add):disabled,body .goods-checkout[aria-disabled=true]{background:#e4dfe3;border-color:#c8bfc6;color:#686067;cursor:not-allowed}
body :is(.cart-add,.goods-checkout,.service-add,.buy-row .buy-button):focus-visible{outline:3px solid #f291bf;outline-offset:3px}
body .goods-grid .goods-product{display:grid;grid-template-rows:auto 56px 1fr;align-content:start}
body .goods-grid .goods-tabs{box-sizing:border-box;height:56px;min-height:56px;align-items:center;padding:8px 25px;margin:0}
body .goods-grid .goods-tabs[hidden]{display:flex!important;visibility:hidden;pointer-events:none}
body .goods-grid .pod-copy{display:grid;grid-template-rows:2.2em minmax(64px,1fr) 40px 44px 48px;gap:16px;padding:20px 25px 28px;font-size:clamp(24px,2.5vw,40px);height:100%;box-sizing:border-box}
body .goods-grid .pod-copy h3{font-size:inherit;line-height:1.1;margin:0}
body .goods-grid .pod-copy>p{margin:0;font-size:13px;line-height:1.6}
body .goods-grid .goods-price{margin:0;font:700 26px/40px Arial,sans-serif}
body .goods-grid .goods-size{margin:0;height:44px;font-size:11px;align-self:center}
body .goods-grid .commerce-actions{align-self:end;display:flex;align-items:center;margin:0}
.one-size-value{display:inline-flex;align-items:center;height:40px;font-size:11px}
body .kit-lite-price-row{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:auto}
body .kit-lite-price-row>strong{font:700 26px/40px Arial,sans-serif}
body .kit-lite-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:100%}
body .kit-lite-copy h3{min-height:2.2em}body .kit-lite-desc{min-height:4.8em}
body .kit-lite-copy{padding-bottom:28px}body .kit-lite-price-row>.kit-view-link{min-height:80px;display:flex;align-items:center}
body .service-form{display:flex;flex-direction:column;align-items:flex-start}body .service-form .service-add{margin-top:auto}
@media(max-width:600px){body .goods-grid .pod-copy{font-size:25px;padding:18px;grid-template-rows:2.2em minmax(84px,1fr) 40px 44px 48px;gap:14px}body .goods-grid .goods-tabs{padding:8px 18px;gap:6px}body .goods-tabs button{font-size:10px;padding:8px 10px}body .kit-lite-desc{min-height:6.4em}body :is(.cart-add,.goods-checkout,.service-add,.buy-row .buy-button){font-size:10px;padding-inline:10px}}

/* Identical, gapless halves keep the announcement continuous at every loop. */
body .wave-announcement>div{gap:0;animation-duration:120s}
body .wave-announcement>div>span{flex:none;padding:0;white-space:pre}
