/* Full-width public layout and animated community sections. */
body.portal-site{background:var(--portal-bg,#fff)}
body.portal-site main{width:100%;max-width:none}
body.portal-site .container{width:calc(100% - clamp(24px,5vw,96px));max-width:none}
body.portal-v3{--site-gutter:clamp(20px,4vw,72px);background:var(--v3-paper)}
body.portal-v3 .v3-shell{max-width:none;width:100%}
body.portal-v3 .v3-utility{padding:10px var(--site-gutter)}
body.portal-v3 .v3-masthead{padding:26px var(--site-gutter)}
body.portal-v3 .v3-leaderboard{padding:0 var(--site-gutter) 20px}
body.portal-v3 .v3-nav-inner{padding:0 var(--site-gutter)}
body.portal-v3 main{max-width:none;width:100%;padding:28px var(--site-gutter)}
body.portal-v3 .v3-columns{grid-template-columns:minmax(0,1fr) minmax(300px,24%);gap:30px}
body.portal-v3 .v3-slide{min-height:480px}
body.portal-v3 .portal-advertise{padding:32px var(--site-gutter);width:100%}
body.portal-v3 .site-footer .container{max-width:none;width:calc(100% - 2*var(--site-gutter))}
body.portal-v3 .portal-magazine-flyer{border-top:3px solid var(--v3-red);padding-top:18px}
.portal-magazine-flyer img{width:100%;height:auto;object-fit:contain;border:1px solid var(--v3-rule,#dfe6ee)}
body.portal-site .portal-magazine-flyer>.button{display:flex;width:100%;margin-top:12px;text-align:center;white-space:normal}
.v3-slide:not([hidden]){animation:agency-slide-enter .65s ease-out both}
.v3-slide:not([hidden]) .v3-slide-photo{animation:agency-photo-drift 7s ease-out both;transform-origin:center}
.v3-slide:not([hidden]) .v3-slide-copy>*{animation:agency-copy-enter .6s ease-out both}
.v3-slide:not([hidden]) .v3-slide-copy>h2{animation-delay:.12s}
.v3-slide:not([hidden]) .v3-slide-copy>p:not(.v3-tag){animation-delay:.2s}
.v3-slide:not([hidden]) .v3-slide-copy>.v3-actions{animation-delay:.28s}
@keyframes agency-slide-enter{from{opacity:.25}to{opacity:1}}
@keyframes agency-photo-drift{from{transform:scale(1.045)}to{transform:scale(1)}}
@keyframes agency-copy-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
body.portal-v3 .community-testimonials,body.portal-v3 .community-partners{padding-top:30px;margin-top:30px;border-top:1px solid var(--v3-rule)}
.community-testimonials .v3-section-heading>span{font-size:12px;color:var(--v3-muted)}
.community-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.community-quotes figure{margin:0;padding:26px;border:1px solid var(--v3-rule);border-top:3px solid var(--v3-red);border-radius:4px;background:var(--v3-soft)}
.community-quotes blockquote{margin:0;font-size:16px;line-height:1.75}.community-quotes figcaption{margin-top:20px;font-size:14px}.community-quotes figcaption strong,.community-quotes figcaption span{display:block}.community-quotes figcaption span{font-size:12px;color:var(--v3-muted);margin-top:3px}
.community-invitation{display:flex;align-items:center;gap:26px;padding:28px;background:var(--v3-soft);border:1px solid var(--v3-rule);border-radius:4px}
.community-quote-mark{font-size:100px;line-height:.75;font-family:Georgia,serif;color:var(--v3-red);align-self:flex-start}
.community-invitation>div:nth-child(2){flex:1}body.portal-v3 .community-invitation h3{font-size:24px;margin-bottom:8px}.community-invitation p{color:var(--v3-muted);font-size:14px}.community-invitation small{font-size:12px;color:var(--v3-muted)}
.partner-motion-toggle{background:transparent;border:1px solid var(--v3-rule);color:var(--v3-ink);font-size:12px;border-radius:4px;padding:8px 12px;min-height:40px}.partner-motion-toggle[hidden]{display:none!important}
.partner-placeholder-note{color:var(--v3-muted);font-size:12px}
.partner-window{overflow:hidden;max-width:100%;padding:12px 0;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}
.partner-track{display:flex;width:max-content;animation:agency-partners-scroll 26s linear infinite;will-change:transform}
.partner-group{display:flex;flex:none;gap:24px;padding-right:24px}
.partner-logo-tile{display:flex;align-items:center;justify-content:center;flex:0 0 240px;width:240px;height:110px;background:#fff;border:1px solid var(--v3-rule);border-radius:6px;padding:10px}
.partner-logo-tile img{width:220px;height:90px;object-fit:contain;max-width:100%}
.partner-window:hover .partner-track,.partner-window:focus-within .partner-track,.partner-window.partner-paused .partner-track{animation-play-state:paused}
@keyframes agency-partners-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(min-width:768px) and (max-width:1100px){body.portal-v3 .v3-columns{grid-template-columns:minmax(0,1fr) 270px;gap:22px}.community-quotes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){body.portal-v3{--site-gutter:16px}body.portal-v3 .v3-nav-inner{padding:10px var(--site-gutter)}body.portal-v3 main{padding:20px var(--site-gutter)}body.portal-v3 .v3-slide{min-height:440px}body.portal-v3 .v3-masthead{padding:20px var(--site-gutter)}body.portal-v3 .v3-utility{font-size:10px}body.portal-v3 .v3-columns{gap:0}body.portal-v3 .portal-sidebar>.portal-magazine-flyer{order:0;max-width:420px;align-self:center;margin-top:0}.community-quotes{grid-template-columns:1fr}.community-invitation{padding:22px;gap:14px;flex-wrap:wrap}.community-invitation>div:nth-child(2){flex:1 1 75%}.community-invitation>.v3-button{margin-left:0}.community-quote-mark{font-size:70px}.partner-logo-tile{flex-basis:190px;width:190px;height:95px}.partner-logo-tile img{width:175px;height:75px}.partner-group{gap:16px;padding-right:16px}.partner-motion-toggle{font-size:10px;padding:7px}.community-partners .v3-section-heading{align-items:center}.community-partners .v3-section-heading h2{font-size:22px!important}}
@media(prefers-reduced-motion:reduce){.v3-slide:not([hidden]),.v3-slide:not([hidden]) .v3-slide-photo,.v3-slide:not([hidden]) .v3-slide-copy>*,.partner-track{animation:none!important;transform:none!important;will-change:auto}.partner-window{overflow-x:auto;mask-image:none}.partner-track{width:auto}.partner-group[aria-hidden=true]{display:none}}
.partner-group{min-width:calc(100vw - 2*var(--site-gutter));justify-content:space-around}
@media(prefers-reduced-motion:reduce){.partner-motion-toggle{display:none!important}}
