/* Frequency: a violet listening room, animated like a living record sleeve. */
[data-design=frequency]{--violet:#b490ee;--rose:#f1a9cd}
[data-design=frequency] .header{position:relative}
[data-design=frequency] .hero{height:790px;min-height:790px;background:radial-gradient(ellipse at 75% 45%,#8151af40,transparent 62%)}
[data-design=frequency] #fluid{opacity:.85;filter:hue-rotate(12deg) saturate(1.25)}
[data-design=frequency] .hero-copy{padding-top:126px;width:65%}
[data-design=frequency] h1{font-size:clamp(100px,10.5vw,165px);line-height:.83}
[data-design=frequency] h1 .outline{background:linear-gradient(110deg,#e5d6ff90,#ba8de830,#ffb4db80);background-clip:text;-webkit-text-stroke:1px #d8b5ff}
[data-design=frequency] .hero-description{max-width:450px}
[data-design=frequency] .hero .sculpture{left:53%;right:2%;transform:rotateY(var(--scroll-turn,0deg));transition:transform .45s ease-out}
[data-design=frequency] .record-stage{width:390px;height:390px;left:12%;top:21%;animation:record-float 11s ease-in-out infinite;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.record-spin{width:100%;height:100%;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s ease-out}
[data-design=frequency] .record{animation:vinyl-turn 24s linear infinite;box-shadow:0 5px 0 #4a355e,0 7px 0 #876396,15px 35px 65px #0008,inset 0 0 7px #e6b8ff80}
.record-shine{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 45deg,transparent 0deg,#f6d9ff22 15deg,transparent 30deg,transparent 160deg,#ffd5e81a 185deg,transparent 210deg);pointer-events:none}
[data-design=frequency] .record-label span{font-size:5px;letter-spacing:.7px}
@keyframes vinyl-turn{to{transform:rotate(360deg)}}
.frequency-ring{position:absolute;left:6%;top:15%;width:470px;height:470px;border:1px solid #c3a3ed20;border-radius:50%;pointer-events:none;animation:ring-breathe 7s ease-in-out infinite}
.ring-inner{width:440px;height:440px;left:8.5%;top:17%;border-style:dashed;border-color:#dbb4ff15;animation-delay:-3s}
@keyframes ring-breathe{0%,100%{transform:scale(.97);opacity:.45}50%{transform:scale(1.035);opacity:1}}
.floating-photo{position:absolute;z-index:2;margin:0;padding:5px 5px 23px;background:#e6dcef;border:1px solid #fff6;box-shadow:0 15px 45px #0006;pointer-events:none}
.floating-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85)}
.floating-photo figcaption{position:absolute;bottom:7px;left:9px;font-size:6px;font-weight:700;letter-spacing:1.6px;color:#44394c}
.photo-crowd{width:150px;height:112px;right:2%;top:13%;transform:rotate(11deg);animation:photo-sway 9s ease-in-out infinite;--photo-angle:11deg}
.photo-artist{width:105px;height:147px;left:5%;top:60%;transform:rotate(-13deg);animation:photo-sway 12s ease-in-out infinite;animation-delay:-4s;--photo-angle:-13deg}
@keyframes photo-sway{0%,100%{transform:translateY(0) rotate(var(--photo-angle))}50%{transform:translateY(-12px) rotate(calc(var(--photo-angle) + 4deg))}}
.record-control{position:absolute;top:81%;left:50%;transform:translateX(-50%);border:1px solid #c5a2ef40;background:#211531b8;backdrop-filter:blur(12px);padding:13px 17px;display:flex;align-items:center;gap:14px;border-radius:30px;white-space:nowrap;box-shadow:0 10px 30px #0003;transition:border-color .25s,background .25s}
.record-control:hover{border-color:#e5c7ff;background:#352246}
.record-control-label{font-size:7px;letter-spacing:1.7px;color:#decef0}
.record-control-icon{font-size:13px;color:#e4bbf8}
.equalizer{height:15px;display:flex;align-items:center;gap:3px}
.equalizer i{display:block;width:2px;height:70%;background:linear-gradient(#eeb7e4,#b593ef);animation:eq-wave 1s ease-in-out infinite alternate}
.equalizer i:nth-child(2){animation-delay:-.5s}.equalizer i:nth-child(3){animation-delay:-.8s}.equalizer i:nth-child(4){animation-delay:-.2s}.equalizer i:nth-child(5){animation-delay:-.65s}
@keyframes eq-wave{from{transform:scaleY(.25)}to{transform:scaleY(1)}}
.motion-paused .record,.motion-paused .frequency-ring,.motion-paused .floating-photo,.motion-paused .equalizer i,.record-stopped .record,.record-stopped .equalizer i{animation-play-state:paused!important}
.reading-progress{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#9679f6,#f3b0d6);z-index:60;transform:scaleX(0);transform-origin:left;pointer-events:none}
[data-design=frequency] .ticker{background:#1a1028;padding:22px 0;border-color:#d4b1ff25}
[data-design=frequency] .ticker>div{letter-spacing:3px;font-size:11px}
[data-design=frequency] .about{padding-top:115px;padding-bottom:75px}
.frequency-gallery{padding-top:40px;padding-bottom:105px;overflow:hidden}
.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:45px}
.gallery-heading h2{font-size:clamp(65px,7vw,112px);line-height:.94;margin-bottom:0;letter-spacing:-4px}
.gallery-heading h2 em{font-family:Georgia,serif;font-weight:400;font-style:italic;color:var(--rose);letter-spacing:-5px}
.gallery-intro{width:240px}.gallery-intro p{font-size:12px;line-height:1.9;color:#bcb1cc;margin-bottom:25px}
.gallery-controls{display:flex;align-items:center;gap:10px}.gallery-counter{font-size:9px;letter-spacing:2px;color:#c6b3d9;margin-right:auto}
.gallery-controls button{border:1px solid #c7a2f344;background:transparent;width:42px;height:42px;border-radius:50%;font-size:20px;transition:background .25s,color .25s,opacity .25s}
.gallery-controls button:hover:not(:disabled){background:#d8b5ff;color:#100b1f}.gallery-controls button:disabled{opacity:.25;cursor:default}
.gallery-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;position:relative;padding:12px 0 20px;scroll-padding-left:0;overscroll-behavior-x:contain}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-image{position:relative;flex:0 0 41%;height:440px;border:0;background:#20172f;padding:0;overflow:hidden;text-align:left;scroll-snap-align:start;scroll-snap-stop:always;isolation:isolate;border-radius:2px}
.gallery-image:nth-child(even){flex-basis:29%;height:380px;align-self:center}
.gallery-image:after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(#100b1f35,transparent 35%,#100b1fd9)}
.gallery-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s cubic-bezier(.2,.65,.2,1),filter 1s;filter:saturate(.8)}
.gallery-image:hover img,.gallery-image:focus-visible img{transform:scale(1.07);filter:saturate(1.2)}
.gallery-image-count{position:absolute;top:20px;left:20px;z-index:1;font-size:7px;letter-spacing:2px;color:#ece1f9}
.gallery-image-caption{position:absolute;left:25px;right:25px;bottom:25px;z-index:1}
.gallery-image-caption small{font-size:7px;letter-spacing:2px;display:block;color:#dfc2f5;margin-bottom:10px}
.gallery-image-caption strong{font-size:26px;line-height:1.12;letter-spacing:-1px;font-weight:500;max-width:90%;display:block}
.gallery-image-caption i{font-size:22px;font-style:normal;position:absolute;right:0;bottom:0}
.gallery-footnote{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:9px;font-size:7px;letter-spacing:1.8px;color:#a594b5}
.gallery-footnote b{font-size:20px;margin-left:18px;font-weight:400;color:#e2c2f9}
.cinematic{height:670px;position:relative;overflow:hidden;isolation:isolate}
.cinematic-image{position:absolute;inset:-90px 0;z-index:-2;transform:translateY(var(--scene-shift,0px));will-change:transform}
.cinematic-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}
.cinematic-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#100b1fe6 5%,#100b1f70 60%,#100b1f40),linear-gradient(0deg,#100b1f,transparent 30%,transparent 80%,#191026)}
.cinematic-content{padding:100px 7%}.cinematic .eyebrow{font-size:9px;color:#dcc4f1}
.cinematic h2{font-family:var(--display);font-size:clamp(75px,8.5vw,132px);font-weight:700;line-height:.88;letter-spacing:-1px;margin:28px 0 30px}
.cinematic h2 span{-webkit-text-stroke:1px #e7c8ff;color:transparent}
.cinematic-note{position:absolute;bottom:35px;right:7%;font-size:7px;letter-spacing:2px;color:#ccb9de}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--reveal-delay,0ms),transform .8s cubic-bezier(.2,.65,.2,1) var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1;transform:none}
.motion-paused .reveal{opacity:1;transform:none;transition:none}
.image-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:75px 10vw 50px;border:0;color:#f3f1ec;background:#100b1ff5;overflow:auto}
.image-dialog::backdrop{background:#100b1fdd;backdrop-filter:blur(12px)}
.lightbox-open{overflow:hidden}
.image-dialog figure{margin:0 auto;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px}
.image-dialog figure>img{display:block;max-width:100%;max-height:calc(100dvh - 220px);object-fit:contain;box-shadow:0 20px 100px #0008}
.image-dialog figcaption{display:flex;justify-content:space-between;align-items:center;width:min(100%,1000px);gap:20px}
.image-dialog figcaption span{font-size:8px;letter-spacing:2px;color:#cbb1e1}.image-dialog figcaption strong{font-size:20px;font-weight:400}
.lightbox-toolbar{position:absolute;top:25px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center}
.lightbox-toolbar>span{font-size:9px;letter-spacing:2px;color:#cbb1e1}.lightbox-close{font-size:10px;letter-spacing:2px;border:1px solid #d9b9f544;border-radius:30px;background:none;padding:12px 18px}
.lightbox-prev,.lightbox-next{position:absolute;top:47%;width:48px;height:48px;border-radius:50%;border:1px solid #d9b9f544;background:#22172e;font-size:23px}.lightbox-prev{left:3%}.lightbox-next{right:3%}
.image-dialog button:hover{background:#d8b5ff;color:#100b1f}
@media(min-width:1600px){[data-design=frequency] .hero{height:850px}[data-design=frequency] .record-stage{width:440px;height:440px;left:17%}.frequency-ring{width:530px;height:530px;left:11%}.ring-inner{width:490px;height:490px;left:14%}.photo-artist{left:10%;top:65%}.photo-crowd{right:10%}}
@media(max-width:1100px){[data-design=frequency] .record-stage{width:310px;height:310px;left:9%;top:27%}.frequency-ring{width:365px;height:365px;left:4%;top:23%}.ring-inner{width:340px;height:340px;left:6%;top:25%}.photo-crowd{width:120px;height:95px;top:20%}.photo-artist{width:85px;height:125px;top:61%;left:0}.record-control{top:79%}.gallery-image{height:360px}.gallery-image:nth-child(even){height:320px}.gallery-image-caption{left:18px;right:18px}.gallery-image-caption strong{font-size:22px}.cinematic{height:600px}}
@media(max-width:650px){[data-design=frequency] .hero{height:920px;min-height:920px}[data-design=frequency] .hero-copy{padding-top:65px;width:100%}[data-design=frequency] h1{font-size:19vw}[data-design=frequency] .hero-description{max-width:315px;font-size:12px;line-height:1.85}[data-design=frequency] .hero .sculpture{left:0;right:0;top:430px;height:375px;transform:none}[data-design=frequency] .record-stage{width:245px;height:245px;left:calc(50% - 122px);top:15%}.frequency-ring{width:300px;height:300px;left:calc(50% - 150px);top:8%}.ring-inner{width:275px;height:275px;left:calc(50% - 137px);top:11%}.photo-crowd{width:90px;height:75px;top:4%;right:5%}.photo-artist{width:68px;height:100px;top:53%;left:6%;padding-bottom:19px}.floating-photo figcaption{font-size:5px;letter-spacing:1px;left:7px}.record-control{top:95%;padding:11px 14px;gap:12px}.record-control-label{font-size:6px;letter-spacing:1.4px}.record-control .equalizer{height:12px}[data-design=frequency] .record-shadow{bottom:8%}[data-design=frequency] .hero-bottom{bottom:23px}[data-design=frequency] .about{padding-top:70px;padding-bottom:40px}.frequency-gallery{padding-top:20px;padding-bottom:60px}.gallery-heading{display:block;margin-bottom:20px}.gallery-heading h2{font-size:72px;letter-spacing:-3px}.gallery-heading h2 em{letter-spacing:-4px}.gallery-intro{width:100%;display:flex;align-items:flex-end;justify-content:space-between;margin-top:25px;gap:20px}.gallery-intro p{font-size:10px;margin:0}.gallery-controls{gap:7px}.gallery-controls button{width:34px;height:34px;font-size:17px}.gallery-counter{font-size:7px;letter-spacing:1px;margin-right:8px}.gallery-track{gap:15px;overflow: auto;margin-right:-6.8%;padding-right:6.8%}.gallery-image{flex-basis:80%;height:345px}.gallery-image:nth-child(even){flex-basis:70%;height:310px}.gallery-image-caption strong{font-size:25px}.gallery-image-count{font-size:6px;left:18px;top:18px}.gallery-footnote{font-size:6px;letter-spacing:1px;gap:15px}.gallery-footnote span:last-child{max-width:130px;text-align:right;line-height:1.7}.gallery-footnote b{margin-left:6px}.cinematic{height:530px}.cinematic-content{padding:90px 6%}.cinematic .eyebrow{font-size:7px;letter-spacing:1.2px}.cinematic h2{font-size:17vw;line-height:.94;margin:30px 0}.cinematic-note{font-size:6px;letter-spacing:1px;left:6%;right:auto;bottom:28px}.image-dialog{padding:80px 16px 85px}.image-dialog figure>img{max-height:calc(100dvh - 270px)}.image-dialog figcaption{display:block}.image-dialog figcaption span{font-size:7px;display:block;margin-bottom:14px}.image-dialog figcaption strong{font-size:20px}.lightbox-toolbar>span{font-size:7px;letter-spacing:1px}.lightbox-close{font-size:8px;padding:10px 13px}.lightbox-prev,.lightbox-next{top:auto;bottom:25px;width:40px;height:40px}.lightbox-prev{left:calc(50% - 50px)}.lightbox-next{right:calc(50% - 50px)}}
.motion-paused .record-stage{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){[data-design=frequency] .record-stage,.record,.frequency-ring,.floating-photo,.equalizer i{animation:none!important}.reveal{opacity:1;transform:none;transition:none}.cinematic-image{transform:none;will-change:auto}.reading-progress{display:none}[data-design=frequency] .record-spin{transform:none}}
/* Reference palette: black, cobalt, hot pink, peach and amber. */
[data-design=frequency]{--ink:#050507;--paper:#f6f3ed;--amber:#ffb185;--violet:#3456ff;--rose:#f43fb2;--line:#ffffff24}
[data-design=frequency] body{background:#050507}
[data-design=frequency] .hero{background:radial-gradient(ellipse at 82% 55%,#ec297a16,transparent 60%),#050507}
[data-design=frequency] #fluid{filter:none;opacity:.95}
[data-design=frequency] h1 .outline{background:linear-gradient(110deg,#2355ff 5%,#ac56ff 30%,#f534bc 55%,#ff718b 75%,#ffbc8c);background-clip:text;-webkit-text-stroke:0;color:transparent}
[data-design=frequency] .record{background:conic-gradient(from 35deg,#08090c,#4678e5 12%,#131528 19%,#060609 35%,#301623 47%,#ffb38a 53%,#341327 58%,#08070b 75%,#d42b94 88%,#08090c);border-color:#f8bd9d70;box-shadow:0 5px 0 #171728,0 7px 0 #6c4562,15px 35px 65px #000a,inset 0 0 7px #ffb38a70}
[data-design=frequency] .record-label{background:radial-gradient(circle at 20% 15%,#dc3c97,#202d8b 50%,#08090d 85%);box-shadow:0 0 0 2px #ffb38a50}
[data-design=frequency] .record-label span{color:#f4d8c7}
[data-design=frequency] .frequency-ring{border-color:#f94c9d25}.ring-inner{border-color:#4169ff30}
[data-design=frequency] .record-shadow{background:#f3478750}
[data-design=frequency] .record-control{background:#0c0c12db;border-color:#ffb18550}
[data-design=frequency] .record-control:hover{background:#21121b;border-color:#ffb185}
[data-design=frequency] .record-control-label{color:#f0d5c5}
[data-design=frequency] .record-control-icon{color:#ffb185}
[data-design=frequency] .equalizer i{background:linear-gradient(#ffb185,#f43fb2,#3456ff)}
[data-design=frequency] .floating-photo{background:#f6f3ed}
[data-design=frequency] .floating-photo figcaption{color:#292329}
[data-design=frequency] .ticker{background:#0b0b10;border-color:#ffffff24}
[data-design=frequency] .services{background:#0d0d11}
[data-design=frequency] .service-icon{color:#f04bb9}
[data-design=frequency] .gallery-heading h2 em{color:#ffb185}
[data-design=frequency] .gallery-intro p,[data-design=frequency] .gallery-counter,[data-design=frequency] .gallery-footnote{color:#aaa6ad}
[data-design=frequency] .gallery-controls button{border-color:#ffffff40}
[data-design=frequency] .gallery-controls button:hover:not(:disabled){background:#ffb185;color:#08090c}
[data-design=frequency] .gallery-image{background:#0d0d11}
[data-design=frequency] .gallery-image-caption small{color:#ffc3a0}
[data-design=frequency] .gallery-image:after{background:linear-gradient(#05050735,transparent 35%,#050507e8)}
[data-design=frequency] .gallery-image img{filter:saturate(1)}
[data-design=frequency] .cinematic-shade{background:linear-gradient(90deg,#050507e6 5%,#05050770 60%,#05050740),linear-gradient(0deg,#050507,transparent 30%,transparent 80%,#0d0d11)}
[data-design=frequency] .cinematic h2 span{-webkit-text-stroke:1px #ffb185}
[data-design=frequency] .cinematic .eyebrow,[data-design=frequency] .cinematic-note{color:#e4c4b2}
[data-design=frequency] .contact{background:radial-gradient(ellipse at 90% 100%,#fa347b20,transparent 55%),radial-gradient(ellipse at 5% 100%,#234fff22,transparent 60%),#09090c}
[data-design=frequency] .contact h2>span{background-image:linear-gradient(100deg,#3456ff,#bd55ee 35%,#f43fb2 60%,#ffb185)}
[data-design=frequency] .reading-progress{background:linear-gradient(90deg,#3456ff,#f43fb2,#ffb185)}
[data-design=frequency] .image-dialog{background:#050507f7}
[data-design=frequency] .image-dialog::backdrop{background:#050507dd}
[data-design=frequency] .image-dialog figcaption span,[data-design=frequency] .lightbox-toolbar>span{color:#e7c0a7}
[data-design=frequency] .lightbox-prev,[data-design=frequency] .lightbox-next{background:#131017;border-color:#ffffff40}
[data-design=frequency] .image-dialog button:hover{background:#ffb185;color:#050507}
