html{background:#ffffff;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;overflow-x:hidden;background:#ffffff}
.v-d,.v-m{display:none;margin:0 auto;zoom:var(--z,1)}
.v-d{width:1440px}.v-m{width:390px}
html.is-d .v-d,html.is-m .v-m{display:block}
@media (min-width:820px){html:not(.is-d):not(.is-m) .v-d{display:block}}
@media (max-width:819px){html:not(.is-d):not(.is-m) .v-m{display:block}}
.tslide[hidden]{display:none!important}
button{-webkit-tap-highlight-color:transparent}
.form-msg{grid-column:1/-1;margin:0;font-family:'Jost',system-ui,sans-serif;font-size:16px;line-height:1.55}
.form-msg.err{color:#CF5C65}
.form-ok{font-family:'Newsreader',Georgia,serif;font-size:22px;line-height:1.4}
.field-err{border-color:#CF5C65!important;border-bottom-color:#CF5C65!important}
/* mobile menu */
.menu{position:fixed;inset:0;z-index:1000;background:#F6F2EC;display:flex;flex-direction:column;padding:28px 24px 40px;box-sizing:border-box;overflow-y:auto;font-family:'Jost',system-ui,sans-serif}
.menu[hidden]{display:none}
.menu-top{display:flex;align-items:center;justify-content:space-between}
.menu-close{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer;margin-right:-12px}
.menu-nav{display:flex;flex-direction:column;margin-top:48px;border-top:1px solid #E4DED5}
.menu-nav a{font-family:'Newsreader',Georgia,serif;font-size:32px;line-height:1.2;color:#1E1E1E;text-decoration:none;padding:16px 0;border-bottom:1px solid #E4DED5}
.menu-nav a[aria-current="page"]{color:#A42C35}
.menu-foot{margin-top:auto;padding-top:40px;display:flex;flex-direction:column;gap:14px}
.menu-foot a{color:#1E1E1E;text-decoration:none;font-size:16px}
.menu-foot .menu-cta{display:flex;align-items:center;justify-content:center;height:54px;background:#A42C35;color:#ffffff;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px}

/* LinkedIn icon: enlarge slightly on hover (logo colour stays as LinkedIn allows) */
a[aria-label="LinkedIn"] svg{transition:transform .2s ease;transform-origin:50% 50%}
a[aria-label="LinkedIn"]:hover svg,a[aria-label="LinkedIn"]:focus-visible svg{transform:scale(1.12)}
@media (prefers-reduced-motion:reduce){a[aria-label="LinkedIn"] svg{transition:none}}

/* Discovery brief: image upload */
.up-box{cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
.up-box:hover,.up-box:focus-visible,.up-box.up-over{border-color:#A42C35!important;background:#FBF8F4!important;outline:none}
.up-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.up-list:empty{display:none}
.up-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:#F6F2EC;font-family:'Jost',sans-serif;font-size:14px;color:#1E1E1E}
.up-list li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.up-rm{flex:none;width:28px;height:28px;border:0;background:transparent;color:#6B665F;font-size:20px;line-height:1;cursor:pointer}
.up-rm:hover{color:#A42C35}
.up-note{margin:8px 0 0;font-family:'Jost',sans-serif;font-size:13px;color:#A42C35}
.up-note:empty{display:none}

/* Articles: reveal on scroll, highlighted words, parallax, reading progress */
html.fx [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
html.fx [data-reveal].in{opacity:1;transform:none}
mark[data-hl]{background-image:linear-gradient(rgba(164,44,53,.18),rgba(164,44,53,.18));background-repeat:no-repeat;background-position:0 88%;background-size:100% 42%}
html.fx mark[data-hl]{background-size:0% 42%;transition:background-size .7s ease}
html.fx .in mark[data-hl]{background-size:100% 42%}
html.fx .in mark[data-hl="1"]{transition-delay:0.47s}
html.fx .in mark[data-hl="2"]{transition-delay:0.59s}
html.fx .in mark[data-hl="3"]{transition-delay:0.71s}
html.fx .in mark[data-hl="4"]{transition-delay:0.83s}
html.fx .in mark[data-hl="5"]{transition-delay:0.95s}
html.fx .in mark[data-hl="6"]{transition-delay:1.07s}
html.fx .in mark[data-hl="7"]{transition-delay:1.19s}
html.fx .in mark[data-hl="8"]{transition-delay:1.31s}
html.fx .in mark[data-hl="9"]{transition-delay:1.43s}
html.fx .in mark[data-hl="10"]{transition-delay:1.55s}
html.fx .in mark[data-hl="11"]{transition-delay:1.67s}
html.fx .in mark[data-hl="12"]{transition-delay:1.79s}
html.fx .in mark[data-hl="13"]{transition-delay:1.91s}
html.fx .in mark[data-hl="14"]{transition-delay:2.03s}
html.fx .in mark[data-hl="15"]{transition-delay:2.15s}
html.fx .in mark[data-hl="16"]{transition-delay:2.27s}
html.fx .in mark[data-hl="17"]{transition-delay:2.39s}
html.fx .in mark[data-hl="18"]{transition-delay:2.51s}
html.fx .in mark[data-hl="19"]{transition-delay:2.63s}
html.fx .in mark[data-hl="20"]{transition-delay:2.75s}
[data-parallax-layer]{will-change:transform}
.read-progress{position:fixed;left:0;top:0;width:100%;height:3px;background:#A42C35;transform-origin:0 50%;transform:scaleX(0);z-index:900;pointer-events:none}
/* Landing page: 3D word cloud */
.cloud3d{position:relative;overflow:visible}
.cloud3d .cloud3d-flat{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:inherit;display:block}
.cloud3d.live .cloud3d-flat{display:none}
.cloud3d-stage{position:absolute;width:1000px;height:1000px;transform-origin:0 0;perspective:1500px;isolation:isolate;pointer-events:none}
.c3-bub,.c3-lab,.c3-ghost{position:absolute;left:0;top:0;will-change:transform}
.c3-bub{mix-blend-mode:multiply}
.c3-box{position:relative;width:100%;height:100%;background:var(--c);border-radius:22px}
.c3-box::after{content:"";position:absolute;bottom:-34px;width:0;height:0;border-style:solid;border-width:36px 13px 0 13px;border-color:var(--c) transparent transparent transparent}
.c3-bub.tl .c3-box::after{left:9%}.c3-bub.tr .c3-box::after{right:9%}
.c3-lab{display:flex;align-items:center;justify-content:center}
.c3-w,.c3-ghost{font-family:'Bebas Neue','Oswald','Arial Narrow',sans-serif;text-transform:uppercase;line-height:.84;white-space:nowrap;color:#fff}
.c3-w{text-align:left;letter-spacing:.005em;padding-top:.06em}
.c3-ghost{z-index:100}
