/*!
AVBB OWNERSHIP NOTICE
Copyright (c) 2026 A Visual By Benji Ltd. All rights reserved.
Third-party components retain their original ownership and licences.
*/
.portfolio-booking-invite{display:flex;justify-content:center;align-items:center;gap:20px;margin:25px auto 0}
.portfolio-handnote{display:block;font:italic 18px/1.3 'Space Grotesk',Arial,sans-serif;letter-spacing:-.03em;transform:rotate(-5deg);color:var(--avbb-peach)}
.portfolio-booking-invite .portfolio-handnote{color:var(--avbb-cream)}
.portfolio-book-ticket{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:52px;padding:14px 23px;background:var(--avbb-cream);color:var(--avbb-ink);border:1px solid var(--avbb-cream);font:13px 'Archivo Black',Arial,sans-serif;transition:transform .25s ease,background .25s ease;box-shadow:5px 5px 0 #0e0b0938}
.portfolio-book-ticket>span{font:25px/1 'Space Grotesk',Arial,sans-serif;transition:transform .25s ease}
.portfolio-book-ticket:hover,.portfolio-book-ticket:focus-visible{background:var(--avbb-peach);transform:translateY(-3px) rotate(-2deg)}
.portfolio-book-ticket:hover>span{transform:translate(3px,-3px)}
.portfolio-director-note{position:relative;padding-top:70px}
.portfolio-director-note .portfolio-handnote{max-width:280px;margin-bottom:28px}
.portfolio-drawn-arrow{position:absolute;top:-40px;right:20px;width:130px;height:100px;color:var(--avbb-peach);transform:rotate(17deg)}
.portfolio-marker{display:inline-block;position:relative}
.portfolio-marker svg{position:absolute;left:-2%;bottom:-13px;width:104%;height:28px;overflow:visible;color:var(--avbb-peach);pointer-events:none}
.portfolio-outline{color:transparent;-webkit-text-stroke:1.5px var(--avbb-ink)}
#photography .portfolio-sample{padding:12px 12px 20px;background:#fffaf0;border:1px solid #0e0b0922;box-shadow:0 10px 24px #0e0b0910;transform-origin:50% 85%}
#photography .portfolio-sample:nth-child(1){rotate:-2deg}
#photography .portfolio-sample:nth-child(3){rotate:2deg}
#photography .portfolio-sample figcaption{padding:0 7px}
#photography .portfolio-sample h3{font-size:clamp(20px,2vw,29px)}
#photography .portfolio-sample__media img{transition:transform .5s ease}
#photography .portfolio-sample:hover img{transform:scale(1.045)}
#weddings{position:relative;border-top:1px solid #0e0b0924}
.portfolio-wedding-note{margin:-5px 0 36px;color:var(--avbb-red);transform:rotate(-2deg)}
.portfolio-weddings__grid>a{position:relative}
.portfolio-weddings__grid>a::after{content:'↗';display:grid;place-items:center;position:absolute;top:14px;right:14px;width:48px;height:48px;border-radius:50%;background:var(--avbb-cream);color:var(--avbb-ink);font-size:27px;transition:transform .25s ease}
.portfolio-weddings__grid>a:hover::after{transform:rotate(45deg)}
/* Viewfinder-style controls: the framing moves with the cards, not the page. */
.portfolio-deck-controls{border:0;border-radius:0;background:#0e0b09ed;padding:7px 10px;gap:20px}
.portfolio-deck-controls::before,.portfolio-deck-controls::after{content:'';position:absolute;top:0;bottom:0;width:14px;border:1px solid var(--avbb-peach);pointer-events:none}
.portfolio-deck-controls::before{left:-4px;border-right:0}.portfolio-deck-controls::after{right:-4px;border-left:0}
.portfolio-deck-controls button{border-color:transparent;border-radius:0;background:#f4eee112}
.portfolio-deck-controls button:disabled{opacity:.22}
.portfolio-deck-controls button svg{transition:transform .22s ease}
.portfolio-deck-controls [data-deck-next]:hover svg{transform:translateX(3px)}
.portfolio-deck-controls [data-deck-previous]:hover svg{transform:translateX(-3px)}
.portfolio-deck-controls span{font-size:10px;text-transform:lowercase}
.portfolio-next-chapter{position:absolute;z-index:35;right:var(--avbb-rail);bottom:28px;min-height:44px;display:flex;align-items:center;gap:15px;font-size:11px;border-bottom:1px solid #f4eee155}
.portfolio-next-chapter span{font-size:20px;color:var(--avbb-peach)}
#release-deck .release-deck__bar{display:none}
.portfolio-booking-scene{padding-top:150px;padding-bottom:100px;min-height:85svh;scroll-margin-top:70px}
.portfolio-clapper{position:absolute;top:0;left:-2%;width:104%;height:30px;rotate:-1deg;background:var(--avbb-ink);overflow:hidden}
.portfolio-clapper span{display:block;width:110%;height:100%;background:repeating-linear-gradient(115deg,transparent 0 48px,var(--avbb-cream) 48px 96px)}
.portfolio-booking-scene .portfolio-cta__inner{max-width:980px}
.portfolio-booking-scene h2{font-size:clamp(52px,9vw,134px);line-height:.88;margin-bottom:46px}
.portfolio-booking-scene .portfolio-marker svg{inset:-14% -5% auto;width:110%;height:130%;color:var(--avbb-peach)}
.portfolio-book-ticket--large{font-size:18px;min-width:275px;min-height:68px;transform:rotate(-2deg)}
.portfolio-book-ticket--large:hover{transform:rotate(0) translateY(-3px)}
.portfolio-booking-scene p.portfolio-booking-note{font-size:12px;margin:24px auto 18px;opacity:.8}
.portfolio-credit-link{display:inline-flex;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #f4eee166;font-size:11px}
#music-videos,#social-content,#photography,#weddings,#book-a-date{scroll-margin-top:0}
#book-a-date{scroll-margin-top:70px}
.portfolio-scene-stamp{position:absolute;bottom:40px;right:4%;padding:20px;border:1px solid #f4eee155;transform:rotate(9deg);font:italic 16px/1.4 'Space Grotesk',Arial,sans-serif;text-align:left;color:var(--avbb-cream)}
.portfolio-scene-stamp b{font:18px/1.8 'Archivo Black',Arial,sans-serif}
.portfolio-book-ticket:focus-visible,.portfolio-next-chapter:focus-visible,.portfolio-deck-controls button:focus-visible{outline:2px solid var(--avbb-peach);outline-offset:5px}
@media(max-width:960px){.portfolio-next-chapter{right:22px;bottom:26px;font-size:10px;gap:8px}.portfolio-scene-stamp{display:none}}
@media(max-width:680px){
 .portfolio-header{gap:8px}.portfolio-header>span{gap:7px!important}
 .portfolio-header .portfolio-book{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 11px;font-size:8px;letter-spacing:.02em;white-space:nowrap}
 .portfolio-brand{gap:7px;font-size:10px}.portfolio-brand img{height:27px}
 .portfolio-hero{padding-bottom:94px}.portfolio-booking-invite{gap:12px;margin-top:22px}.portfolio-handnote{font-size:15px}
 .portfolio-book-ticket{min-height:48px;padding:12px 17px;font-size:12px;gap:24px}
 .portfolio-hero__motion{margin-top:16px}
 .portfolio-director-note{padding-top:40px}.portfolio-drawn-arrow{width:90px;height:70px;top:-12px;right:18px}
 .portfolio-director-note .portfolio-handnote{max-width:210px}
 #social-content,#photography{padding-top:96px}
 #photography .portfolio-samples{gap:40px;padding:8px 6px}
 #photography .portfolio-sample{padding:9px 9px 18px}
 .portfolio-marker svg{bottom:-10px}
 .portfolio-next-chapter{bottom:12px;left:50%;right:auto;transform:translateX(-50%);min-height:30px;white-space:nowrap;font-size:10px}
 .portfolio-deck-controls{bottom:55px;padding:3px 8px;gap:15px}
 .social-deck.is-enhanced .social-deck__stage{padding-bottom:135px}
 .social-deck.is-enhanced .social-deck__cards{height:calc(100svh - 277px)}
 #release-deck .release-deck__stage{padding-bottom:115px}
 #release-deck .release-deck__cards{max-height:calc(100svh - 255px)}
 .portfolio-booking-scene{min-height:0;padding:100px 18px 75px}
 .portfolio-booking-scene h2{font-size:clamp(43px,12.5vw,76px);margin-bottom:32px}
 .portfolio-booking-scene p:not(.eyebrow){font-size:14px}
 .portfolio-book-ticket--large{font-size:16px;min-width:235px;min-height:62px}
 .portfolio-booking-scene p.portfolio-booking-note{font-size:11px}
 .portfolio-clapper{height:22px}
}
@media(max-width:680px) and (max-height:740px){
 .social-deck.is-enhanced .social-deck__stage{padding-bottom:125px}
 .social-deck.is-enhanced .social-deck__cards{height:calc(100svh - 244px)}
}
@media(prefers-reduced-motion:reduce){
 .portfolio-book-ticket,.portfolio-book-ticket>span,#photography .portfolio-sample__media img,.portfolio-weddings__grid>a::after,.portfolio-deck-controls button svg{transition:none}
 .portfolio-next-chapter{position:relative;inset:auto;transform:none;justify-content:center;margin:24px auto}
}
body.portfolio-static-deck #release-deck .portfolio-next-chapter{position:relative;inset:auto;transform:none;justify-content:center;margin:24px auto}
