/* Full-frame photographic score. Every content surface sits over a live photograph. */
:root{--pad:clamp(22px,5.5vw,90px);--header:88px;--paper:#f2eee2;--gold:#ddd0a5}
html{scroll-padding-top:88px}body.fullframe-site{background:#181a17}#main{position:relative;z-index:2}.ff-world{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#333}.ff-world-layer{position:absolute;inset:0;opacity:0;will-change:opacity}.ff-world-layer:first-child{opacity:1}.ff-world-camera{position:absolute;inset:0;transform:translate(var(--world-x,0px),var(--world-y,0px)) scale(var(--world-scale,1.08));will-change:transform}.ff-world-photo{position:absolute;inset:0}.ff-world-clean,.ff-world-background,.ff-world-subject{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:var(--photo-focus,50% 50%);max-width:none}.ff-world-layer--masked .ff-world-photo{inset:auto;left:50%;top:48%;width:max(100vw,calc(100svh * 1366 / 2048));aspect-ratio:1366/2048;transform:translate(-50%,-48%)}.ff-world-layer--masked .ff-world-clean,.ff-world-layer--masked .ff-world-background,.ff-world-layer--masked .ff-world-subject{object-fit:fill}.ff-world-background-clip{position:absolute;inset:0;mask-image:url('assets/masks/pmoss-background-mask-v3.svg');mask-mode:luminance;mask-size:100% 100%;transform:translateZ(0);will-change:transform}.ff-world-background{filter:blur(12px);opacity:var(--world-blur-opacity,0);transform:scale(var(--world-back-scale,1.02));transform-origin:50% 60%;will-change:opacity,transform}.ff-world-subject{mask-image:url('assets/masks/pmoss-foreground-mask-v3.svg');mask-size:100% 100%;mask-mode:alpha;will-change:transform;transform:translate(var(--world-subject-x,0px),0)}.ff-world-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#07090688,transparent 22%,transparent 68%,#07090694),linear-gradient(90deg,#07090655,transparent 52%);opacity:.65}.ff-world-smoke{position:absolute;inset:-15%;opacity:var(--world-smoke,0);transform:translateY(var(--smoke-y,15%)) scale(var(--smoke-scale,1));will-change:transform,opacity;mix-blend-mode:screen}.ff-world-smoke img{width:100%;height:100%;object-fit:cover}
.scene-header{position:fixed;inset:0 0 auto;z-index:50;background:linear-gradient(#050706b0,transparent);backdrop-filter:none;border:0;min-height:88px;grid-template-columns:1fr auto 1fr;gap:28px;color:#fffdf1}.artist-home{font-size:12px;letter-spacing:.12em;line-height:1.1;text-shadow:0 1px 8px #000}.artist-home>span{display:block;font-size:7px;letter-spacing:.16em;margin-top:8px}.scene-header .main-nav{gap:26px}.scene-header .main-nav a{font-size:11px;text-shadow:0 1px 8px #000}.header-listen{justify-self:end;font-size:9px;letter-spacing:.08em;display:flex;align-items:center;gap:20px;min-height:44px;text-shadow:0 1px 8px #000}.main-nav a:hover{color:#fff}.main-nav a[aria-current]{border-bottom:1px solid #eee9d6}.fullframe-site h2{font-family:var(--display);font-size:clamp(70px,7.2vw,116px);font-weight:400;line-height:1}.fullframe-site h2 em{font:italic .78em/1 Georgia,serif;letter-spacing:-.045em;color:inherit}.eyebrow{color:#e8e4d3;font-size:9px;letter-spacing:.2em}.ff-scene,.social-section,.booking-section{position:relative;background:transparent;color:var(--paper)}.ff-arrival{height:220svh}.ff-arrival-sticky{position:sticky;top:0;height:100svh;min-height:690px;padding:120px var(--pad) 80px;overflow:hidden}.ff-arrival-copy{position:absolute;left:var(--pad);top:19%;opacity:var(--arrival-copy,1);transform:translateY(var(--arrival-y,0px));will-change:transform,opacity;text-shadow:0 2px 22px #0006}.ff-arrival h1{font-family:var(--display);font-size:clamp(86px,9.8vw,155px);line-height:.95;letter-spacing:-.025em;font-weight:400;margin:20px 0 22px}.ff-arrival h1>span{color:#dbd0b6}.ff-signature{display:flex;gap:22px;align-items:center;font-size:14px;line-height:1.1}.ff-signature .brand-logo{width:44px;height:44px;border-right:1px solid #ddd6bf66;padding-right:18px;box-sizing:content-box}.ff-signature em{font:italic 31px/1.3 Georgia,serif}.scene-actions{display:flex;gap:16px;margin-top:28px}.scene-actions a,.ff-text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:10px;border-bottom:1px solid #efe5ce77;text-shadow:0 1px 12px #000}.scene-actions a{padding:0 13px;background:#11171065;border:1px solid #e7e1d255;backdrop-filter:blur(8px)}.scene-actions a:hover{background:#eee5ce;color:#111}.ff-arrival-line{position:absolute;bottom:14%;right:var(--pad);text-align:right;font-family:var(--display);font-size:clamp(48px,6.5vw,96px);line-height:1.04;opacity:var(--arrival-line,0);transform:translateY(var(--arrival-line-y,45px));will-change:opacity,transform;text-shadow:0 2px 24px #0008}.ff-arrival-line em{font:italic .64em/1.1 Georgia,serif}.ff-scene-footer{position:absolute;bottom:28px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:8px;letter-spacing:.15em;text-shadow:0 1px 10px #000}
.ff-music{height:185svh}.ff-music-sticky{position:sticky;top:0;height:100svh;min-height:800px;padding:120px var(--pad) 32px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}.ff-music-title{display:flex;align-items:center;justify-content:space-between;text-shadow:0 2px 16px #0008}.ff-music-title h2{font-size:clamp(55px,6.5vw,90px)}.ff-record{display:flex;gap:45px;align-items:center;align-self:flex-start;margin-left:4vw;transform:translateX(var(--record-x,0px));will-change:transform}.ff-record-art{display:block;width:clamp(190px,22vw,330px);aspect-ratio:1;transform:rotate(var(--record-rotate,-7deg)) scale(var(--record-scale,.9));box-shadow:0 25px 55px #0006;will-change:transform}.ff-record-art img{width:100%;height:100%}.ff-record-copy{padding:24px;background:linear-gradient(90deg,#090f0aa8,#090f0a22);text-shadow:0 2px 20px #0008}.ff-record-copy h3{font:400 clamp(50px,5.7vw,84px)/.94 var(--display);margin:12px 0}.ff-record-copy h3 em{font:italic .8em Georgia,serif}.ff-record-copy>p:not(.eyebrow){font-size:12px}.ff-catalog{width:100%;padding:20px 24px 16px;background:#090f0abc;border:1px solid #e4ddca30;backdrop-filter:blur(10px)}.ff-release-list{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:10px}.ff-release-list .music-catalog-row{display:flex;align-items:center;gap:12px;color:var(--paper);padding:10px 0;border-top:1px solid #fff4;min-width:0}.music-catalog-row>span:first-child{font-size:9px}.music-catalog-row>:is(img,picture){width:48px;height:48px;flex-shrink:0}.music-catalog-row>span:nth-of-type(2){flex:1;min-width:0}.music-catalog-row strong{display:block;font-size:13px}.music-catalog-row small{display:block;font-size:9px;color:#d6d7cc;margin-top:4px}.music-catalog-row>span:last-child{font-size:14px}.ff-platforms{display:flex;gap:26px;margin-top:12px}.ff-platforms a{display:inline-flex;gap:12px;align-items:center;min-height:38px;font-size:9px}
.ff-studio{height:210svh}.ff-studio-sticky{height:100svh;position:sticky;top:0;min-height:690px}.ff-studio-title{position:absolute;bottom:15%;left:var(--pad);font:400 clamp(68px,10vw,150px)/.92 var(--display);opacity:var(--studio-title-opacity,1);transform:translateY(var(--studio-title-y,0px));text-shadow:0 3px 30px #0008}.ff-studio-title em{font:italic .78em Georgia,serif}
.ff-watch{height:180svh}.ff-watch-sticky{position:sticky;top:0;height:100svh;min-height:850px;padding:120px var(--pad) 24px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}.ff-watch-title{text-shadow:0 2px 22px #0008}.ff-watch-title .eyebrow{margin-bottom:16px}.ff-watch-lead{width:max-content;max-width:100%;padding:20px 24px;background:linear-gradient(90deg,#070b08b5,#070b0820);text-shadow:0 2px 18px #0008}.ff-watch-lead h3{font:italic clamp(44px,5vw,78px)/1 Georgia,serif;margin:12px 0}.ff-watch-lead>p:not(.eyebrow){font-size:11px}.ff-watch-actions{display:flex;align-items:center;gap:26px;margin-top:20px}.ff-watch-actions .feature-play{position:static;inset:auto;transform:none;display:flex;gap:12px;background:none;padding:0;border:0;color:#fff}.ff-watch-actions .play-disc{width:48px;height:48px;border:1px solid #fff8;background:#14180c88;font-size:14px}.ff-watch-actions .feature-play>span+span{font-size:10px;background:none;padding:0}.ff-video-catalog{padding:16px 20px 0;background:#060a07bb;border:1px solid #e4ddca30;backdrop-filter:blur(8px)}.video-rail-heading{margin:0 0 14px}.rail-controls button{width:38px;height:32px}.video-rail{gap:18px;scrollbar-width:thin;padding:0 0 12px}.video-card{flex-basis:calc((100% - 72px)/5);min-width:165px}.video-poster{aspect-ratio:16/9}.video-card-caption{gap:8px;padding:8px 0}.video-card-caption h3{font-size:10px}.video-card-caption .track-number{font-size:8px;color:#e1dfd0}.video-card .play-disc{width:35px;height:35px;font-size:10px}.video-card .card-play{opacity:.85}
.social-section{min-height:125svh;padding:145px var(--pad) 65px;display:flex;flex-direction:column;justify-content:space-between;gap:60px}.social-section .section-heading{margin-bottom:0;text-shadow:0 2px 22px #0008}.social-section h2{font-size:clamp(60px,8vw,108px)}.social-layout{padding:28px;background:#0a110bb3;border:1px solid #e4ddca30;backdrop-filter:blur(10px);grid-template-columns:.85fr 1.4fr;gap:7vw}.social-copy>p{font:italic clamp(26px,3vw,42px)/1.15 Georgia,serif}.social-directory{margin-top:25px}.social-directory a{min-height:44px;font-size:11px}.clip-rail{gap:20px}.clip-image{height:195px;aspect-ratio:auto}.clip-image img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}.clip-copy h3{min-height:0;font-size:15px}.clip-copy .eyebrow{font-size:8px;color:#dedbcf}.clip-credit{color:#d8d8ca;font-size:9px}.clip-link{font-size:10px}.booking-section{min-height:110svh;padding:145px var(--pad) 90px;display:flex;flex-direction:column;justify-content:center;isolation:isolate}.booking-section>.eyebrow{margin-bottom:28px}.booking-grid{position:relative;z-index:2;grid-template-columns:1.1fr 1fr;gap:12vw}.booking-grid h2{font-size:clamp(70px,8vw,120px);color:var(--paper)}.booking-grid h2 em{color:#f0e4c8}.booking-grid>div{padding:24px;background:linear-gradient(90deg,#0b100ca6,#0b100c44)}.booking-grid>div>p:first-child{font-size:18px}.booking-email{font-size:clamp(18px,2.3vw,32px);border-color:#fff5;min-height:52px}.booking-hint{color:#e2dfd2}.site-footer{position:relative;z-index:2;background:#080c0977;backdrop-filter:blur(9px);border-top:1px solid #fff3;padding-block:30px}.site-footer .brand-logo{width:48px;height:48px}#music-catalog,#music,#videos,#photos,#socials,#booking{scroll-margin-top:0}
@media(max-width:1000px){.scene-header{grid-template-columns:1fr auto}.header-listen{display:none}.ff-record{margin-left:0;gap:25px}.ff-release-list{gap:12px}.ff-release-list .music-catalog-row{gap:7px}.music-catalog-row>:is(img,picture){width:38px;height:38px}.music-catalog-row strong{font-size:11px}.social-layout{gap:35px;grid-template-columns:1fr 1.6fr}.booking-grid{gap:40px}}
@media(max-width:700px){:root{--pad:22px;--header:112px}html{scroll-padding-top:112px}.scene-header{min-height:112px;padding:15px var(--pad) 8px;grid-template-columns:1fr;gap:10px}.artist-home{font-size:10px;display:flex;justify-content:space-between;align-items:center}.artist-home>span{font-size:7px;margin:0}.scene-header .main-nav{gap:8px;justify-content:space-between}.scene-header .main-nav a{font-size:11px;min-height:44px}.ff-arrival{height:190svh}.ff-arrival-sticky{min-height:690px;padding-top:125px}.ff-arrival-copy{top:18%;left:22px}.ff-arrival h1{font-size:clamp(72px,22vw,110px)}.ff-signature{font-size:11px;gap:13px}.ff-signature .brand-logo{width:32px;height:32px;padding-right:13px}.ff-signature em{font-size:22px}.scene-actions{position:absolute;left:0;top:calc(max(100svh,690px) * .70);margin:0;white-space:nowrap;gap:12px}.scene-actions a{font-size:10px;min-height:44px;padding:0 12px;background:#0a100be6}.ff-arrival-line{bottom:17%;font-size:44px;max-width:90%}.ff-scene-footer{bottom:24px;font-size:7px}.ff-music{height:160svh}.ff-music-sticky{height:100svh;min-height:880px;padding:130px 22px 25px;gap:20px}.ff-music-title{display:block}.ff-music-title h2{font-size:54px;margin-top:12px}.ff-record{gap:20px}.ff-record-art{width:40vw;max-width:195px}.ff-record-copy{padding:15px 0;background:none}.ff-record-copy h3{font-size:43px}.ff-record-copy .eyebrow{font-size:7px;letter-spacing:.12em}.ff-record-copy>p:not(.eyebrow){font-size:10px}.ff-record-copy .ff-text-link{font-size:8px;gap:8px}.ff-catalog{padding:14px}.ff-release-list{grid-template-columns:1fr 1fr;gap:0 15px}.ff-release-list .music-catalog-row{min-height:64px}.music-catalog-row>span:first-child{display:none}.music-catalog-row>:is(img,picture){width:35px;height:35px}.music-catalog-row strong{font-size:10px}.music-catalog-row small{font-size:8px}.music-catalog-row>span:last-child{font-size:12px}.ff-platforms{gap:15px;margin-top:7px}.ff-platforms a{font-size:8px;gap:6px;min-height:44px}.ff-studio{height:175svh}.ff-studio-title{font-size:76px}.ff-watch{height:160svh}.ff-watch-sticky{min-height:930px;height:110svh;padding:130px 22px 22px;gap:24px}.ff-watch-title h2{font-size:55px}.ff-watch-title .eyebrow{margin-bottom:12px}.ff-watch-lead{padding:16px;background:#060d0899}.ff-watch-lead h3{font-size:47px}.ff-watch-actions{gap:18px;flex-wrap:wrap}.ff-watch-actions .ff-text-link{font-size:9px;gap:10px}.ff-video-catalog{padding:12px}.video-rail{margin-right:0;padding-right:0;gap:14px}.video-card{flex-basis:76%;min-width:0}.video-poster{aspect-ratio:16/9}.video-card-caption h3{font-size:11px}.social-section{min-height:130svh;padding:130px 22px 50px;gap:50px}.social-section h2{font-size:54px}.social-section .section-heading>.text-link{margin-top:18px}.social-layout{display:block;padding:20px}.social-copy>p{font-size:26px}.social-directory{gap:0 16px;margin-top:15px}.social-directory a{font-size:10px}.clip-rail{margin-top:25px;gap:16px;max-width:100%;padding-right:0}.social-clip{flex:0 0 76%;max-width:230px}.clip-image{height:220px}.booking-section{min-height:100svh;padding:130px 22px 70px}.booking-grid{display:block;margin:0}.booking-grid h2{font-size:65px}.booking-grid>div{margin-top:30px;padding:20px}.booking-grid>div>p:first-child{font-size:15px}.booking-email{font-size:19px;gap:10px}.site-footer{padding:25px 22px;gap:20px}.ff-world-vignette{background:linear-gradient(180deg,#05090699,transparent 27%,transparent 65%,#050906aa)}.ff-world-layer--masked .ff-world-photo{width:max(100vw,calc(max(100svh,690px) * 1366 / 2048));top:50%;transform:translate(-50%,-50%)}
}
/* Exact source pendant: the alpha and light maps never replace the photographed RGB. */
.scene-header .main-nav a{min-width:44px;justify-content:center}.ff-platforms a{min-height:44px}.rail-controls button{min-width:44px;min-height:44px}.clip-link{min-height:44px;display:inline-flex;align-items:center}.video-card-caption>a{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.ff-signature{width:max-content;padding:9px 13px;background:#10171080;border-left:1px solid #eee4cc66;backdrop-filter:blur(5px)}
.booking-grid{grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.booking-grid>.booking-intro{padding:0;background:none;position:relative}.booking-grid>.booking-contact{padding:28px;align-self:center;margin:0;background:linear-gradient(90deg,#09100bdd,#09100b88)}.booking-grid h2{position:relative;z-index:2;font-size:clamp(66px,7.5vw,108px)}.booking-jewel{position:relative;width:clamp(190px,21vw,300px);aspect-ratio:840/930;margin:24px 0 0 5vw;transform:rotate(var(--jewel-rotate,-6deg));filter:drop-shadow(0 18px 20px #0009)}.booking-jewel-plane{position:absolute;width:153.57143%;height:180.64516%;left:-26.19048%;top:-47.31183%;mask-image:url('assets/jewelry/gamecock-cutout-mask-v4.svg');mask-mode:alpha;mask-size:100% 100%}.booking-jewel-plane>img{position:absolute;width:100%;height:100%;max-width:none;object-fit:fill}.booking-jewel-light{position:absolute;inset:0;mask-image:url('assets/jewelry/gamecock-diamond-mask-v4.svg');mask-mode:luminance;mask-size:100% 100%;background:linear-gradient(112deg,transparent 35%,#eff4ffbb 48%,#fff 50%,#fff5dfaa 53%,transparent 65%);background-size:350% 100%;background-position:var(--jewel-light,20%) 50%;mix-blend-mode:screen;opacity:.5}
@media(min-width:1001px){.ff-record{width:100%;justify-content:space-between;margin-left:0;gap:15vw}.ff-record-copy{margin-right:3vw;min-width:230px}}
@media(max-width:700px){.scene-header .main-nav{gap:3px}.ff-arrival h1{font-size:clamp(70px,20vw,96px);margin:15px 0 13px}.ff-signature{padding:7px 9px;gap:10px}.ff-signature em{font-size:20px}.ff-music-sticky{min-height:820px}.ff-watch-sticky{height:100svh;min-height:820px}.booking-section{min-height:110svh}.booking-grid>.booking-intro{display:flex;align-items:center;gap:6px}.booking-grid h2{font-size:clamp(45px,13vw,65px);flex:1}.booking-jewel{width:36vw;flex:0 0 36vw;margin:0 0 0 -12px;transform:rotate(var(--jewel-rotate,-6deg))}.booking-grid>.booking-contact{margin-top:28px;padding:20px}.booking-email{font-size:clamp(16px,4.9vw,21px)}.booking-section>.eyebrow{margin-bottom:40px}}
@media(prefers-reduced-motion:reduce){.booking-jewel{transform:rotate(-5deg)}.booking-jewel-light{display:none}}
/* Static modes keep complete photographic sections and remove animation-only distance. */
html:not([data-fullframe-motion="full"]) .ff-world{display:none}html:not([data-fullframe-motion="full"]) .ff-scene,html:not([data-fullframe-motion="full"]) .social-section,html:not([data-fullframe-motion="full"]) .booking-section{height:auto;min-height:100svh;background-image:linear-gradient(#080c0933,#080c0955),var(--static-photo);background-size:cover;background-position:var(--static-focus,center)}html:not([data-fullframe-motion="full"]) .ff-arrival{--static-photo:url('assets/photos/pmoss-golf-cart-2048.jpg');--static-focus:50% 48%}html:not([data-fullframe-motion="full"]) .ff-music{--static-photo:url('assets/film/sometimes-patio-1920.jpg')}html:not([data-fullframe-motion="full"]) .ff-watch{--static-photo:url('assets/film/sometimes-closeup-1920.jpg')}html:not([data-fullframe-motion="full"]) .social-section,html:not([data-fullframe-motion="full"]) .booking-section{--static-photo:url('assets/photos/pmoss-night-1600.jpg');--static-focus:50% 35%}html:not([data-fullframe-motion="full"]) .ff-arrival-sticky,html:not([data-fullframe-motion="full"]) .ff-music-sticky,html:not([data-fullframe-motion="full"]) .ff-watch-sticky,html:not([data-fullframe-motion="full"]) .ff-studio-sticky{position:relative}html:not([data-fullframe-motion="full"]) .ff-arrival-line{display:none}html:not([data-fullframe-motion="full"]) .ff-arrival-copy{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ff-world-background,.ff-world-smoke{display:none}.ff-record,.ff-record-art{transform:none!important}.ff-arrival-line{display:none}}

@media(max-width:700px){.ff-world-background{filter:blur(5px)}}

/* Cache the masked blur as one surface; scroll only composites its opacity. */
.ff-world-background-clip{opacity:var(--world-blur-opacity,0);will-change:opacity;isolation:isolate}.ff-world-background{opacity:1;transform:scale(1.035);will-change:auto}.ff-world-subject{display:none}

.ff-world-next{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 45%;opacity:var(--photo-next,0);will-change:opacity}.booking-section{min-height:100svh}
.booking-jewel{overflow:clip}.ff-platforms a{min-width:44px}

/* Picture sources retain the catalog artwork footprint at every breakpoint. */
.catalog-art{display:block}.catalog-art>img{display:block;width:100%;height:100%;object-fit:cover}
