/* People-first editorial system. All motion settles; no continuous hero loops. */
.brand-hero{padding-top:138px;padding-bottom:72px}
.brand-hero h1{font-weight:650;letter-spacing:-.06em}
.brand-hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,5vw,72px)}
.brand-hero-copy{align-self:center}
.page-visual{min-width:0;margin:0;align-self:center}
.visual-kicker{font-size:11px;line-height:1.6;font-weight:500;letter-spacing:.035em;color:#656055;margin:0 0 18px}
.photo-composition-frame{position:relative;padding:14px}
.photo-composition-frame>.signal-lines{z-index:2}
.photo-composition-mask{overflow:hidden;background:#d8d0be;position:relative}
.photo-composition-mask img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:3/2}
.photo-composition figcaption{font-size:9px;color:#6a6457;line-height:1.6;margin-top:20px}
.photo-offset .photo-composition-mask{transform:rotate(-2deg);padding:8px;background:#faf8f2;box-shadow:14px 15px 0 #d8d1c0}
.photo-offset .photo-composition-frame{padding:22px 15px 28px;overflow:hidden}
.photo-circle .photo-composition-frame{width:94%;max-width:470px;margin:auto;padding:9px}
.photo-circle .photo-composition-mask{border-radius:50%;aspect-ratio:1}
.photo-circle .photo-composition-mask img{aspect-ratio:1;object-position:45% center}
.photo-arch .photo-composition-frame{max-width:430px;margin:auto;overflow:hidden}
.photo-arch .photo-composition-mask{border-radius:48% 48% 3px 3px;aspect-ratio:1/1.06}
.photo-arch .photo-composition-mask img{aspect-ratio:1/1.06}
.photo-editorial .photo-composition-frame{padding:0}
.photo-editorial .photo-composition-mask{aspect-ratio:1.2}
.photo-editorial .photo-composition-mask img{aspect-ratio:1.2}
.editorial-line{--editorial-opacity:.65;stroke:currentColor;stroke-width:1.15;stroke-dasharray:100;stroke-dashoffset:0;opacity:var(--editorial-opacity);animation:editorial-draw 1.7s cubic-bezier(.22,1,.36,1) both}
.editorial-line-quiet{--editorial-opacity:.28}.editorial-line-faint{--editorial-opacity:.15}
.line-pattern-edge{inset:0;width:100%;height:100%}
.line-pattern-orbit{inset:-8%;width:116%;height:116%}
.line-pattern-rings{inset:-5%;width:110%;height:110%}
.line-pattern-lens{inset:-5%;width:110%;height:110%}
.photo-circle .line-pattern-orbit{inset:0;width:100%;height:100%;transform:none;overflow:visible}
.photo-circle .editorial-line{stroke-dasharray:none}
.photo-circle .line-pattern-rings{inset:-14%;width:128%;height:128%;transform:rotate(8deg)}
.footer-signal-art{opacity:.2;width:45%}
.signal-trace,.signal-trace-alt,.signal-ring{animation:editorial-settle 1.8s ease-out both;stroke-dasharray:none}
.audience-experience{position:relative}
.audience-stage{position:relative;aspect-ratio:560/410;width:100%;isolation:isolate;margin:0 0 20px}
.audience-guide{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#2a28f0;stroke-width:1;opacity:.3;pointer-events:none}
.audience-guide circle+circle{opacity:.34}
.audience-guide path{display:none}
.audience-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;display:flex;align-items:center;flex-direction:column;gap:7px}
.audience-center>span{display:grid;place-items:center;width:49px;height:49px;border:1px solid #2a28f0;border-radius:50%;font-size:32px;font-weight:600;line-height:1;color:#2a28f0;background:#ebe6d9}
.audience-center small{font-size:9px;color:#595345;letter-spacing:.025em}
.audience-person{position:absolute;z-index:2;left:var(--person-x);top:var(--person-y);width:var(--person-size);aspect-ratio:1;border:0;padding:0;cursor:pointer;background:transparent;transform:translate(-50%,-50%);transition:left 950ms cubic-bezier(.22,1,.36,1),top 950ms cubic-bezier(.22,1,.36,1),width 950ms cubic-bezier(.22,1,.36,1),opacity .8s;transition-delay:var(--person-delay);color:var(--ink);overflow:visible}
.audience-crop{position:absolute;z-index:1;inset:0;display:block;border-radius:50%;overflow:hidden;background:#d5cdbc;box-shadow:0 0 0 5px var(--paper);transition:box-shadow .25s,filter .6s}
.audience-crop img{position:absolute;object-fit:fill;display:block}
.audience-person-label{position:absolute;z-index:2;top:calc(100% + 7px);left:50%;transform:translateX(-50%);background:#f4f0e6;padding:3px 6px;border-radius:2px;font-size:8px;line-height:1.4;white-space:nowrap;letter-spacing:.015em}
.audience-person::before,.audience-person::after{content:"";position:absolute;border:1px solid var(--accent);border-radius:50%;pointer-events:none;opacity:0;transform:scale(.8)}
.audience-person::before{inset:-7px}.audience-person::after{inset:-14px}
.audience-person[aria-pressed=true]::before{animation:audience-ring-admit .7s cubic-bezier(.22,1,.36,1) both}
.audience-person[aria-pressed=true]::after{animation:audience-ring-admit .9s .08s cubic-bezier(.22,1,.36,1) both;--audience-ring-opacity:.18}
.audience-person:hover{z-index:4}
.audience-person:hover .audience-crop,.audience-person[aria-pressed=true] .audience-crop{box-shadow:0 0 0 3px var(--paper),0 0 0 4px #2a28f0}
.audience-person:focus-visible{outline:3px solid var(--accent);outline-offset:8px;border-radius:50%}
.audience-experience:not([data-mode=explore]) .is-distant{opacity:.48}
.audience-experience:not([data-mode=explore]) .is-distant:hover,.audience-experience .is-distant:focus-visible{opacity:1}
.audience-experience:not([data-mode=explore]) .is-close .audience-crop{box-shadow:0 0 0 3px var(--paper),0 0 0 4px #2a28f0}
.audience-controls{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid #cbc4b5;padding-top:17px}
.audience-controls button{border:1px solid #c9c1b1;background:transparent;color:#4f493d;padding:9px 11px;border-radius:2px;cursor:pointer;font-size:10px;font-weight:500;line-height:1.4;transition:background .2s,color .2s}
.audience-controls button[aria-pressed=true]{background:#15130d;color:#fff;border-color:#15130d}
.audience-controls button:hover:not([aria-pressed=true]){background:#fbf8f1}
.audience-controls button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.audience-summary{font-size:12px;line-height:1.7;color:#4f493d;margin:13px 0 10px;min-height:21px}
.audience-detail{display:grid;grid-template-columns:100px 1fr;gap:10px;background:#f6f2e8;border-left:2px solid #2a28f0;padding:12px 14px;font-size:11px;line-height:1.65;min-height:62px}
.audience-detail strong{font-weight:600;color:#2420ad}.audience-detail>span{color:#615a4d}
.audience-disclosure{font-size:9px;line-height:1.7;color:#6a6457;margin:11px 0 0;max-width:64ch}
.audience-cluster .audience-crop{border-radius:15px}
.audience-cluster .audience-person:nth-of-type(2n) .audience-crop{border-radius:50%}
.audience-cluster .audience-guide path{display:none}
.audience-cluster .audience-guide circle{stroke-dasharray:2 7}
.audience-cluster[data-mode=explore] .audience-person:nth-of-type(1){left:27%;top:26%;width:23%}
.audience-cluster[data-mode=explore] .audience-person:nth-of-type(2){left:53%;top:18%;width:20%}
.audience-cluster[data-mode=explore] .audience-person:nth-of-type(3){left:79%;top:32%;width:23%}
.audience-cluster[data-mode=explore] .audience-person:nth-of-type(4){left:18%;top:65%;width:20%}
.audience-cluster[data-mode=explore] .audience-person:nth-of-type(5){left:46%;top:77%;width:23%}
.audience-cluster[data-mode=explore] .audience-person:nth-of-type(6){left:76%;top:72%;width:21%}
.blog-card-image{display:block;overflow:hidden;margin:calc(-1 * clamp(24px,3vw,34px)) calc(-1 * clamp(24px,3vw,34px)) 26px;aspect-ratio:1.65}
.blog-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.blog-card:hover .blog-card-image img{transform:scale(1.025)}
.article-editorial img{height:auto;aspect-ratio:1.85;object-fit:cover;object-position:center 40%}
.home-insight-image{width:calc(100% + 2 * clamp(24px,3vw,38px));max-width:none;height:210px;object-fit:cover;margin:calc(-1 * clamp(24px,3vw,38px)) calc(-1 * clamp(24px,3vw,38px)) 25px}
.home-insight-card{overflow:hidden}
.visual-kicker-below{margin:18px auto 0;width:94%;max-width:470px}
.photo-composition figcaption.visual-kicker-below{font-size:11px;color:#595345}
@keyframes editorial-draw{from{stroke-dashoffset:100;opacity:0}to{stroke-dashoffset:0;opacity:var(--editorial-opacity)}}
@keyframes editorial-settle{from{opacity:0}to{opacity:.5}}
@keyframes audience-ring-admit{from{opacity:0;transform:scale(.8)}to{opacity:var(--audience-ring-opacity,.42);transform:scale(1)}}
@media(max-width:1050px){.audience-controls button{font-size:9px;padding:8px}.audience-detail{grid-template-columns:86px 1fr;font-size:10px}.audience-person-label{font-size:7px}}
@media(max-width:850px){.brand-hero{padding:120px 0 62px}.brand-hero-grid{grid-template-columns:1fr;gap:42px}.page-visual{width:100%;max-width:620px}.audience-stage{max-width:580px}.audience-controls button{font-size:11px;padding:10px}.audience-person-label{font-size:9px}.audience-detail{grid-template-columns:100px 1fr;font-size:12px}.photo-composition-mask img{max-height:530px}.photo-editorial .photo-composition-mask{aspect-ratio:1.5}.photo-editorial .photo-composition-mask img{aspect-ratio:1.5}}
@media(max-width:480px){.brand-hero{padding-top:110px}.brand-hero h1{font-size:48px}.audience-stage{margin-bottom:24px}.audience-person-label{font-size:7px;padding:2px 4px}.audience-center>span{width:35px;height:35px;font-size:24px}.audience-center small{font-size:7px}.audience-controls{gap:5px}.audience-controls button{font-size:9px;padding:9px 8px}.audience-detail{font-size:10px;grid-template-columns:82px 1fr;padding:11px}.audience-summary{font-size:11px;min-height:38px}.audience-disclosure{font-size:8px}.visual-kicker{font-size:10px}.photo-composition figcaption{font-size:8px}.article-editorial img{aspect-ratio:1.4}.home-insight-image{height:200px}}
@media(max-width:360px){.brand-hero h1{font-size:42px}.audience-controls button{font-size:8px;padding:9px 6px}.audience-person-label{font-size:6.5px}.audience-detail{grid-template-columns:70px 1fr}}
.audience-controls button{min-height:44px;font-size:11px}
.audience-detail{font-size:12px}
.audience-disclosure,.photo-composition figcaption{font-size:10px}
@media(max-width:480px){.audience-controls button{font-size:10px;padding:9px 8px}.audience-detail{font-size:11px}.audience-disclosure,.photo-composition figcaption{font-size:9px}}
@media(prefers-reduced-motion:reduce){.editorial-line,.signal-trace,.signal-ring,.audience-person::before,.audience-person::after{animation:none!important;stroke-dashoffset:0}.audience-person[aria-pressed=true]::before{opacity:.42;transform:scale(1)}.audience-person[aria-pressed=true]::after{opacity:.18;transform:scale(1)}.audience-person,.audience-crop,.audience-controls button,.blog-card-image img{transition:none!important}.blog-card:hover .blog-card-image img{transform:none}}
