/* User-directed homepage refinement; shared header and button alignment. */
:root{--rv-admin-offset:0px;--rv-header-height:92px}
body.admin-bar{--rv-admin-offset:32px}
body .wp-site-blocks>header:has(.rv-header){position:sticky;top:var(--rv-admin-offset);z-index:100;background:rgb(255 255 255 / 95%);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);margin-block:0}
body .rv-header{align-items:center}
body .rv-header>.wp-block-image{width:200px;flex:0 0 200px;margin:0;align-self:center}
body .rv-header>.wp-block-image a{display:flex;align-items:center;min-height:var(--wp--custom--control--text-link-height)}
body .rv-header>.wp-block-image img{display:block;width:100%;height:auto;transform-origin:left center;transition:transform 240ms var(--wp--custom--motion--ease)}
body .rv-header .rv-nav{align-self:center;margin-block:0}
.rv-is-scrolled .rv-header>.wp-block-image img{transform:scale(.88)}
body .wp-site-blocks>header:has(.is-menu-open){backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
body .wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--wp--custom--control--button-height);line-height:1.25;padding-block:14px;text-align:center}
.wp-block-button__link>.rv-button-label{display:inline-block;transform:translateY(var(--wp--custom--control--label-optical-shift))}
.rv3-button>.rv-button-label{display:inline-block;transform:translateY(var(--wp--custom--control--label-optical-shift))}
body.home .rv-closing>.wp-block-image{overflow:hidden}
body.home .rv-closing>.wp-block-image img{transform-origin:center;max-width:none}
.rv3-event-tile-nearest{border-color:transparent;background:var(--wp--preset--color--pale)}
.rv3-event-tile-nearest .rv3-tile-date strong{color:var(--wp--preset--color--deep)}
.rv3-offer-events .rv3-offer-event-visual{width:43%;max-width:240px;right:20px;bottom:-22px}
.rv3-offer-events .rv3-poster-program{display:block;max-width:17ch;font-weight:600;font-size:.875rem;line-height:1.25}
.rv3-offer-events .rv3-poster-place{font-size:.75rem}
body.home main>.entry-content{padding-bottom:0!important}
body.home main>.entry-content>.rv-closing{margin-bottom:0}
body.home .rv3-collaborations{border-block:0}
body.home main :is(h2,[id]){scroll-margin-top:calc(var(--rv-header-height) + var(--rv-admin-offset) + 24px)}
.rv3-offer{transition:transform var(--wp--custom--motion--feedback) var(--wp--custom--motion--ease),box-shadow var(--wp--custom--motion--feedback) ease}
@media(hover:hover) and (pointer:fine){
 .rv3-offer:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgb(27 47 58 / 13%)}
 .rv3-offer:hover .rv3-offer-link a::before{transform:translateX(5px)}
}
.rv3-offer:focus-within{transform:translateY(-4px)}
.rv3-offer-link a::before,.rv3-text-link a::after,.rv3-case-writing>.rv3-button::after,.rv3-tile-link svg{transition:transform var(--wp--custom--motion--feedback) var(--wp--custom--motion--ease)}
.rv3-text-link a:is(:hover,:focus-visible)::after,.rv3-case-writing>.rv3-button:is(:hover,:focus-visible)::after,.rv3-tile-link:is(:hover,:focus-visible) svg,.rv3-offer:focus-within .rv3-offer-link a::before{transform:translateX(5px)}
@media(min-width:901px){
 body.home #postup>h2{position:sticky;top:calc(var(--rv-header-height) + var(--rv-admin-offset) + 24px);align-self:start;padding-top:0}
 .rv3-proof .rv3-proof-layout{align-items:start}
 .rv3-proof .rv3-case-wrap{display:flex;min-height:0;height:auto}
 .rv3-proof .rv3-case-study{flex:1;display:flex;align-items:flex-start;box-sizing:border-box;min-height:0;height:auto}
 .rv3-proof .rv3-testimonials{display:flex;flex-direction:column;gap:14px;padding-top:0;height:auto}
 .rv3-proof .rv3-proof-layout>.rv3-testimonials{margin-block-start:0}
 .rv3-proof .rv3-testimonials figure{padding:0;display:flex;flex-direction:column;justify-content:flex-start;gap:12px;margin:0}
 .rv3-proof .rv3-testimonials figcaption{margin-top:0;padding-top:14px}
 .rv3-proof .rv3-quote-board{gap:14px;height:auto}
 .rv3-proof .rv3-quote-board-viewport{flex:none}
 .rv3-proof .rv3-quote-board-controls{flex:none;margin-top:0}
}
@media(max-width:782px){body.admin-bar{--rv-admin-offset:46px}}
@media(max-width:550px){body .rv-header>.wp-block-image{width:162.5px;flex-basis:162.5px}}
@media(max-width:550px){.rv3-offer-events .rv3-offer-event-visual{right:10px;width:43%;padding:20px 14px 34px}.rv3-offer-events .rv3-poster-program{font-size:.75rem}.rv3-offer-events .rv3-poster-date strong{font-size:3.25rem}}
@media(prefers-reduced-motion:reduce){
 body .rv-header>.wp-block-image img,.rv3-offer,.rv3-offer-link a::before,.rv3-text-link a::after,.rv3-case-writing>.rv3-button::after,.rv3-tile-link svg{transition:none}
 .rv3-offer:is(:hover,:focus-within),.rv3-offer-link a::before,.rv3-text-link a::after,.rv3-case-writing>.rv3-button::after,.rv3-tile-link svg{transform:none!important}
 body.home .rv-closing>.wp-block-image img{transform:none!important;object-position:57% 50%!important}
}
@media print{body .wp-site-blocks>header:has(.rv-header),body.home #postup>h2{position:static;backdrop-filter:none}}

.f3.rv3-events{padding-bottom:0}
.rv3-event-track{padding-bottom:36px}
@media(min-width:901px){.rv3-event-track{padding-inline:36px;margin-inline:-36px;scroll-padding-inline:36px}}

/* Line reveal: keep headings visible for first paint and AT; JS animates .rv-line-ink only. */
.rv-line-reveal{display:flex;flex-direction:column}
.rv-line-reveal .rv-line-mask{flex:none;display:block;overflow:hidden;padding-block:.12em;margin-block:-.12em;text-wrap:nowrap}
.rv-line-reveal .rv-line-ink{display:block;white-space:nowrap;transform:translateY(110%)}
.rv-hero-panels-pending body.home .rv-conversation .rv-layer{opacity:0}
.rv-conversation .rv-layer.rv-hinge-ready{opacity:0;transform-origin:8% 0%;transform:perspective(900px) translate3d(0,24px,0) rotateX(-15deg) rotateZ(-2.4deg)}
.rv-conversation .rv-layer.rv-hinge-ready:nth-child(2){transform:perspective(900px) translate3d(0,24px,0) rotateX(-15deg) rotateZ(2deg)}
.rv-conversation .rv-layer.rv-hinge-ready:nth-child(3){transform:perspective(900px) translate3d(0,24px,0) rotateX(-15deg) rotateZ(-1.6deg)}
@media(prefers-reduced-motion:reduce){.rv-hero-panels-pending body.home .rv-conversation .rv-layer{opacity:1}.rv-line-reveal .rv-line-ink{transform:none!important}}

/* The nearest event arrives as a physical ticket from the card's lower edge. */
.rv3-offer-event-visual::before,.rv3-offer-event-visual::after{content:'';position:absolute;top:68%;width:16px;height:16px;border-radius:50%;background:var(--wp--preset--color--pale)}
.rv3-offer-event-visual::before{left:-9px}.rv3-offer-event-visual::after{right:-9px}
.rv3-ticket-motion{transform:translateY(calc(100% + 30px)) rotate(3deg);will-change:transform;transition:transform var(--wp--custom--motion--entrance) var(--wp--custom--motion--ease)}
.rv3-ticket-motion.rv3-ticket-play{transform:translateY(0) rotate(3deg)}

/* Optical centring and authored arrow feedback for every unfilled text link. */
.rv3-offer-link a,.rv3-text-link a{line-height:1.25}
.rv3-offer:hover .rv3-offer-link a::before,.rv3-offer-link a:is(:hover,:focus-visible)::before,.rv3-text-link a:is(:hover,:focus-visible)::after{transform:none}
.rv3-offer-link a:is(:hover,:focus-visible)::before,.rv3-offer:hover .rv3-offer-link a::before,.rv3-text-link a:is(:hover,:focus-visible)::after{animation:rv-arrow-nudge var(--wp--custom--motion--standard) var(--wp--custom--motion--ease)}

/* Audit paper: a small authored check sequence, rendered as native SVG linework. */
body.home .rv3-audit-document p{display:flex;align-items:center;gap:11px}
body.home .rv3-audit-document p>span:last-child{min-width:0}
.rv3-audit-check{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;color:var(--wp--preset--color--deep);transform:rotate(8deg)}
.rv3-audit-check svg{display:block;width:100%;height:100%;overflow:visible;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rv3-audit-check circle{stroke-dasharray:57;stroke-dashoffset:0}
.rv3-audit-check path{stroke-dasharray:14;stroke-dashoffset:0}
.rv3-check-motion .rv3-audit-check :is(circle,path){stroke-dashoffset:var(--rv-check-length)}
.rv3-check-motion .rv3-audit-check circle{--rv-check-length:57}
.rv3-check-motion .rv3-audit-check path{--rv-check-length:14}
.rv3-checks-play .rv3-audit-check circle{animation:rv3-check-draw 520ms cubic-bezier(.16,1,.3,1) forwards}
.rv3-checks-play .rv3-audit-check path{animation:rv3-check-draw var(--wp--custom--motion--standard) var(--wp--custom--motion--ease) forwards}
.rv3-checks-play p:nth-child(1) .rv3-audit-check circle{animation-delay:0ms}
.rv3-checks-play p:nth-child(1) .rv3-audit-check path{animation-delay:180ms}
.rv3-checks-play p:nth-child(2) .rv3-audit-check circle{animation-delay:150ms}
.rv3-checks-play p:nth-child(2) .rv3-audit-check path{animation-delay:330ms}
.rv3-checks-play p:nth-child(3) .rv3-audit-check circle{animation-delay:300ms}
.rv3-checks-play p:nth-child(3) .rv3-audit-check path{animation-delay:480ms}
@keyframes rv3-check-draw{to{stroke-dashoffset:0}}

/* Event cards: stable geometry, clear whole-card state and an explicit arrow affordance. */
.rv3-event-tile{transition:transform var(--wp--custom--motion--feedback) var(--wp--custom--motion--ease),box-shadow var(--wp--custom--motion--feedback) ease,border-color var(--wp--custom--motion--feedback) ease;cursor:pointer}
.rv3-tile-link::before{content:'';position:absolute;inset:0;z-index:1}
.rv3-tile-link,.rv3-tile-link:is(:hover,:focus,:active,:visited){text-decoration:none;text-underline-offset:0}
.rv3-tile-link svg{box-sizing:content-box;width:24px;height:24px;padding:7px;border-radius:50%;background:transparent;color:var(--wp--preset--color--ink);transition:transform var(--wp--custom--motion--feedback) var(--wp--custom--motion--ease),background-color var(--wp--custom--motion--fast) ease}
@media(hover:hover) and (pointer:fine){
 .rv3-event-tile:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--wp--preset--color--deep) 42%,transparent);box-shadow:0 14px 30px rgb(27 47 58 / 13%)}
 .rv3-event-tile:hover .rv3-tile-link svg{background:var(--wp--preset--color--cyan);transform:translateX(2px)}
}
.rv3-event-tile:focus-within{transform:translateY(-4px);border-color:var(--wp--preset--color--focus);box-shadow:0 14px 30px rgb(27 47 58 / 13%)}
.rv3-event-tile:focus-within .rv3-tile-link svg{background:var(--wp--preset--color--cyan);transform:translateX(2px)}
@media(prefers-reduced-motion:reduce){
 .rv3-audit-document.rv3-check-motion .rv3-audit-check :is(circle,path){stroke-dashoffset:0!important}
 .rv3-event-tile,.rv3-tile-link svg{transition:none}
 .rv3-event-tile:is(:hover,:focus-within),.rv3-event-tile:is(:hover,:focus-within) .rv3-tile-link svg{transform:none!important}
 .rv3-ticket-motion,.rv3-ticket-motion.rv3-ticket-play{transform:rotate(3deg)!important;transition:none;will-change:auto}
 .rv3-offer-link a::before,.rv3-text-link a::after{animation:none!important}
}

/* Keep Complianz actions compact while preserving a usable touch target. */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn{
 height:auto!important;
 min-height:44px!important;
 min-width:0!important;
 align-self:center!important;
 padding:8px 14px!important;
 line-height:1.25!important;
 zoom:1!important;
}

/* Complianz button widths should follow their labels on wider screens. */
@media (min-width: 769px){
 #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons{flex-wrap:wrap;justify-content:flex-end}
 #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn{width:auto!important;flex:0 0 auto!important}
}
