/* Nicole's signature: glowing dots. Gold only at the moment of connection. */
@keyframes nyc-drift{0%,100%{transform:translate(0,0)}50%{transform:translate(3px,-4px)}}
@keyframes nyc-join{0%,62%,100%{background:rgba(255,255,255,.55);box-shadow:none}70%,86%{background:#FFC629;box-shadow:0 0 0 4px rgba(255,198,41,.14),0 0 14px rgba(255,198,41,.8)}}
@keyframes nyc-run{0%{left:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:100%;opacity:0}}
@keyframes nyc-sweep{0%{transform:translateX(-30%)}100%{transform:translateX(130%)}}
/* cluster beside headlines */
.dots{display:inline-block;position:relative;width:46px;height:30px;vertical-align:middle;margin-left:.18em}
.dots i{position:absolute;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.55);animation:nyc-drift 7s ease-in-out infinite}
.dots i:nth-child(1){left:2px;top:18px}
.dots i:nth-child(2){left:14px;top:6px;animation-delay:-2s}
.dots i:nth-child(3){left:27px;top:20px;animation-delay:-4s}
.dots i:nth-child(4){left:38px;top:4px;animation-delay:-1s}
.dots i.g{left:22px;top:12px;width:7px;height:7px;animation:nyc-drift 7s ease-in-out infinite,nyc-join 6s ease-in-out infinite}
.chap .dots{width:60px;height:40px;transform:scale(1.25);transform-origin:left center}
/* trail between sections */
section.s,section.blk,.band,.next{border-top:0 !important;position:relative}
section.s::before,section.blk::before,.next::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:radial-gradient(circle,rgba(255,255,255,.3) 1px,transparent 1.6px) 0 50%/16px 3px repeat-x}
section.s::after,section.blk::after,.next::after{content:"";position:absolute;top:-3px;width:9px;height:9px;margin-left:-4px;border-radius:50%;background:#FFC629;box-shadow:0 0 14px 2px rgba(255,198,41,.75);animation:nyc-run 11s linear infinite;opacity:0}
section.blk:nth-of-type(odd)::after,section.s:nth-of-type(odd)::after{animation-delay:-5s;animation-duration:13s}
.next{border-top:0}
/* band at the top of each inner page */
.dotband{position:relative;height:30px;overflow:hidden;background:radial-gradient(circle,rgba(255,255,255,.28) 1px,transparent 1.6px) 0 0/18px 10px}
.dotband::after{content:"";position:absolute;top:0;bottom:0;width:22%;background:radial-gradient(ellipse at center,rgba(255,198,41,.55),rgba(255,198,41,0) 70%);mix-blend-mode:screen;-webkit-mask:radial-gradient(circle,#000 1px,transparent 1.6px) 0 0/18px 10px;mask:radial-gradient(circle,#000 1px,transparent 1.6px) 0 0/18px 10px;animation:nyc-sweep 9s linear infinite}
/* dot-pattern card head with a glow passing through */
.card.case2::before{content:"";display:block;height:64px;margin:-30px -30px 22px;background:radial-gradient(circle,rgba(255,255,255,.24) 1px,transparent 1.6px) 0 0/14px 14px;border-bottom:1px solid rgba(255,255,255,.1);position:relative}
.card.case2{position:relative;overflow:hidden}
.card.case2::after{content:"";position:absolute;left:0;top:0;width:40%;height:64px;background:radial-gradient(ellipse at center,rgba(255,198,41,.6),rgba(255,198,41,0) 70%);-webkit-mask:radial-gradient(circle,#000 1px,transparent 1.6px) 0 0/14px 14px;mask:radial-gradient(circle,#000 1px,transparent 1.6px) 0 0/14px 14px;animation:nyc-sweep 8s linear infinite}
.card.case2:nth-child(even)::after{animation-delay:-4s}
/* three-step visual: listen, context, connect */
.steps3{display:grid;grid-template-columns:repeat(3,1fr);position:relative;margin:34px 0 46px;list-style:none;padding:26px 0 0}
.steps3::before{content:"";position:absolute;top:31px;left:6px;right:calc(33.33% - 6px);height:1px;background:rgba(255,255,255,.35)}
.steps3::after{content:"";position:absolute;top:27px;left:6px;width:9px;height:9px;border-radius:50%;background:#FFC629;box-shadow:0 0 14px 2px rgba(255,198,41,.75);animation:nyc-step 6s ease-in-out infinite}
@keyframes nyc-step{0%{left:0;opacity:0}10%{opacity:1}70%{left:calc(66.66% - 2px);opacity:1}100%{left:calc(66.66% - 2px);opacity:0}}
.steps3 li{position:relative;padding-top:22px;font:600 15px/1.3 Archivo,Arial,sans-serif;letter-spacing:.04em;color:rgba(255,255,255,.85)}
.steps3 li::before{content:"";position:absolute;top:-1px;left:0;width:11px;height:11px;border-radius:50%;border:1.5px solid #fff;background:#000}
.steps3 li:last-child::before{background:#FFC629;border-color:#FFC629;box-shadow:0 0 14px rgba(255,198,41,.7)}
.aim{margin:0;max-width:26em;font:700 clamp(24px,2.6vw,36px)/1.15 Archivo,Arial,sans-serif;font-stretch:86%}
/* social cards for posts */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.post{display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:1.91/1;padding:22px 24px;background:#000;border:1px solid rgba(255,255,255,.18);text-decoration:none;position:relative;overflow:hidden;min-width:0}
.post::before{content:"";width:11px;height:11px;border-radius:50%;background:#FFC629;box-shadow:0 0 0 5px rgba(255,198,41,.12),0 0 16px rgba(255,198,41,.7)}
.post b{font:700 clamp(18px,1.6vw,23px)/1.12 Archivo,Arial,sans-serif;font-stretch:88%;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.post small{color:rgba(255,255,255,.55);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.post:hover{border-color:#fff}
.post:hover b{text-decoration:underline;text-underline-offset:4px}
/* intelligent hamburger, every width */
.navtoggle{display:grid !important;place-items:center;width:52px;height:52px;padding:0 !important;border:0 !important;background:none;cursor:pointer;position:relative;z-index:70}
.navtoggle .bars{position:relative;width:30px;height:20px}
.navtoggle .bars i{position:absolute;left:0;height:2px;background:#FFC629;border-radius:2px;box-shadow:0 0 10px rgba(255,198,41,.8);transition:transform .3s ease,opacity .3s ease,width .3s ease}
.navtoggle .bars i:nth-child(1){top:0;width:30px}
.navtoggle .bars i:nth-child(2){top:9px;width:22px}
.navtoggle .bars i:nth-child(3){top:18px;width:14px}
.navtoggle:hover .bars i{width:30px}
.navtoggle[aria-expanded=true] .bars i:nth-child(1){transform:translateY(9px) rotate(45deg);width:30px}
.navtoggle[aria-expanded=true] .bars i:nth-child(2){opacity:0}
.navtoggle[aria-expanded=true] .bars i:nth-child(3){transform:translateY(-9px) rotate(-45deg);width:30px}
body.menu-open{overflow:hidden}
@media (max-width:760px){.posts{grid-template-columns:1fr}.steps3 li{font-size:13px;padding-right:8px}.card.case2::before{margin:-24px -22px 20px}}
@media (min-width:761px) and (max-width:1100px){.posts{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.dots i,.dots i.g,section.s::after,section.blk::after,.next::after,.dotband::after,.card.case2::after,.steps3::after{animation:none !important}.dots i.g{background:#FFC629}.steps3::after,section.s::after,section.blk::after,.next::after,.dotband::after,.card.case2::after{display:none}}
body.menu-open header.v2{z-index:80;position:fixed}
body.menu-open header.v2 .brand{position:relative;z-index:70}

/* role words, problem to delivered, connectors */
.rot{margin:14px 0 0;height:1.4em;overflow:hidden;font:600 13px/1.4 Archivo,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.rot span{display:block;animation:nyc-rot 15s steps(1) infinite}
.rot i{display:block;font-style:normal;height:1.4em}
.rot i::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6);margin-right:10px;vertical-align:2px}
@keyframes nyc-rot{0%{transform:translateY(0)}20%{transform:translateY(-1.4em)}40%{transform:translateY(-2.8em)}60%{transform:translateY(-4.2em)}80%{transform:translateY(-5.6em)}}
.p2d{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;margin:30px 0 0;font:600 12px/1 Archivo,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.p2d i{position:relative;height:2px;background:linear-gradient(90deg,rgba(255,198,41,.35),#FFC629);box-shadow:0 0 10px rgba(255,198,41,.5)}
.p2d i::before,.p2d i::after{content:"";position:absolute;top:-4px;width:10px;height:10px;border-radius:50%}
.p2d i::before{left:-2px;border:1.5px solid #fff;background:#000}
.p2d i::after{right:-2px;background:#FFC629;box-shadow:0 0 14px 3px rgba(255,198,41,.8)}
.p2d i b{position:absolute;top:-3px;left:0;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 12px 3px rgba(255,198,41,.9);animation:nyc-p2d 3.6s ease-in-out infinite}
@keyframes nyc-p2d{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:calc(100% - 8px);opacity:0}}
.connectors h2{margin:0 0 14px;font:700 clamp(30px,3.6vw,50px)/1.04 Archivo,Arial,sans-serif;font-stretch:85%}
.connectors .lbl{margin:0 0 18px}
.connectors .sub{max-width:34em;color:rgba(255,255,255,.8);margin:0 0 40px}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.slot{border:1px dashed rgba(255,255,255,.28);background:radial-gradient(circle,rgba(255,255,255,.12) 1px,transparent 1.6px) 0 0/14px 14px;padding:26px 24px;min-height:170px;display:flex;flex-direction:column;justify-content:flex-end}
.slot .dots{margin:0 0 auto}
.slot .lbl{margin:18px 0 6px}
.slot p:not(.lbl){margin:0;color:rgba(255,255,255,.55);font-size:16px}
.chap{overflow:hidden}
@media (max-width:980px){.slots{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.slots{grid-template-columns:1fr 1fr;gap:10px}.slot{min-height:140px;padding:18px 16px}}
@media (prefers-reduced-motion:reduce){.rot span,.p2d i b{animation:none !important}.p2d i b{display:none}}

/* Rough Diamond: a quiet book note beside the connectors */
.book{display:flex;gap:22px;align-items:flex-start;margin:44px 0 0;padding:28px 0 0;border-top:1px solid var(--rule);max-width:620px}
.book img{flex:none;width:90px;height:auto;box-shadow:0 8px 24px rgba(0,0,0,.6)}
.book .lbl{margin:0 0 8px}
.book h3{margin:0 0 8px;font:700 22px/1.1 Archivo,Arial,sans-serif;font-stretch:86%}
.book p:not(.lbl){margin:0;color:rgba(255,255,255,.72);font-size:16px;line-height:1.5}
.book .buy{display:inline-block;margin-top:12px;font-size:15px;color:rgba(255,255,255,.86);text-decoration:underline;text-decoration-color:rgba(255,198,41,.7);text-underline-offset:4px}
.book .buy:hover{color:#fff;text-decoration-color:var(--g)}
@media (max-width:760px){.book{gap:16px;margin-top:34px}.book img{width:72px}.book h3{font-size:20px}}
