/* Dynamic editorial layer for Design Week experiences */
:root{--ease:cubic-bezier(.22,1,.36,1)}
body.walks{--accent:var(--turq)}
body.dynamic-page{overflow-x:hidden}
body.dynamic-page .topbar{position:sticky;top:0;background:rgba(21,24,24,.9);backdrop-filter:blur(18px);z-index:30}
.motion-ready .reveal{opacity:1;transform:none}
.motion-ready .reveal.is-visible{animation:revealIn .85s var(--ease) both}
.motion-ready .reveal[data-delay="1"]{animation-delay:.08s}.motion-ready .reveal[data-delay="2"]{animation-delay:.16s}.motion-ready .reveal[data-delay="3"]{animation-delay:.24s}
.dynamic-hero{min-height:78vh}
.hero-word{position:absolute;right:-.04em;bottom:-.18em;font-size:clamp(8rem,23vw,25rem);line-height:.78;font-weight:800;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.14);pointer-events:none;animation:wordDrift 9s ease-in-out infinite alternate}
.intro-panel{padding:clamp(76px,10vw,150px) clamp(20px,7vw,108px);display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.25fr);gap:clamp(42px,8vw,130px);align-items:start;border-top:1px solid var(--line);position:relative}
.intro-panel .intro-index{font-size:clamp(6rem,15vw,14rem);line-height:.75;font-weight:800;color:transparent;-webkit-text-stroke:1px var(--accent);opacity:.8}
.intro-panel .lead{font-size:clamp(1.45rem,2.6vw,2.75rem);line-height:1.16;max-width:900px;margin:0 0 28px}
.intro-panel .body-copy{font-size:clamp(1rem,1.35vw,1.28rem);line-height:1.7;max-width:760px;color:rgba(248,249,253,.76)}
.signal-line{height:2px;background:linear-gradient(90deg,var(--accent),transparent);transform-origin:left;animation:signal 3.8s var(--ease) infinite}
.marquee{overflow:hidden;border-block:1px solid var(--line);background:var(--accent);color:var(--coal)}
.marquee-track{display:flex;width:max-content;animation:marquee 34s linear infinite}
.marquee-track span{padding:16px 18px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}
.marquee-track span:after{content:"✦";margin-left:36px;font-size:.75em}
.guide-section,.content-section{padding:clamp(72px,9vw,135px) clamp(20px,7vw,108px)}
.guide-head,.section-heading{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:6vw;align-items:end;margin-bottom:48px}
.guide-head h2,.section-heading h2{margin:0}.guide-head p,.section-heading p{font-size:clamp(1rem,1.5vw,1.35rem);line-height:1.55;color:rgba(248,249,253,.72);margin:0;max-width:760px}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:guide}
.guide-card{counter-increment:guide;min-height:250px;padding:30px;border:1px solid var(--line);position:relative;overflow:hidden;transition:transform .5s var(--ease),border-color .5s var(--ease),background .5s var(--ease)}
.guide-card:before{content:"0" counter(guide);display:block;color:var(--accent);letter-spacing:.18em;font-size:.75rem;margin-bottom:60px}
.guide-card:after{content:"";position:absolute;width:130px;height:130px;border:24px solid var(--accent);border-radius:50%;right:-72px;bottom:-72px;opacity:.18;transition:transform .5s var(--ease)}
.guide-card:hover{transform:translateY(-9px);border-color:var(--accent);background:rgba(255,255,255,.03)}.guide-card:hover:after{transform:scale(1.35)}
.guide-card h3{font-size:clamp(1.35rem,2vw,2rem);margin:0 0 12px}.guide-card p{margin:0;color:rgba(248,249,253,.7);line-height:1.5}
.map-section{position:relative}.map-section:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.map-pin{animation:pinIn .55s var(--ease) both;animation-delay:var(--pin-delay,0s)}
.speaker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.speaker-card{min-height:390px;border:1px solid var(--line);padding:32px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;transition:transform .55s var(--ease),border-color .55s var(--ease)}
.speaker-card:hover{transform:translateY(-10px);border-color:var(--accent)}
.speaker-initial{font-size:clamp(5rem,10vw,10rem);line-height:.75;font-weight:800;color:transparent;-webkit-text-stroke:1px var(--accent);opacity:.72;transition:transform .6s var(--ease)}.speaker-card:hover .speaker-initial{transform:translate(12px,-8px) rotate(3deg)}
.speaker-meta{position:relative;z-index:1}.speaker-meta h3{font-size:clamp(1.65rem,3vw,3rem);line-height:.95;margin:0 0 10px}.speaker-topic{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.73rem}.speaker-bio{color:rgba(248,249,253,.67);line-height:1.55;margin:18px 0 0;max-width:560px}.speaker-card{gap:28px}.speaker-bio+.speaker-bio{margin-top:12px}.speaker-role{color:rgba(248,249,253,.67);font-size:.95rem;line-height:1.45;margin:0;max-width:560px}.speaker-talk{font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:400;line-height:1.3;margin:14px 0 0;max-width:560px}
.agenda-flow{display:grid;gap:0;border-top:1px solid var(--line)}
.agenda-row{display:grid;grid-template-columns:120px minmax(0,.65fr) minmax(0,1.35fr);gap:28px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start;transition:padding .35s var(--ease),background .35s var(--ease)}
.agenda-row:hover{padding-left:18px;background:linear-gradient(90deg,rgba(205,6,230,.1),transparent 75%)}
.agenda-time{font-weight:800;color:var(--accent);font-size:1.15rem}.agenda-name{font-weight:800;font-size:1.12rem}.agenda-topic{color:rgba(248,249,253,.72);line-height:1.45}
.process-line{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}
.process-step{padding:34px 26px 38px;border-right:1px solid var(--line);position:relative}.process-step:last-child{border-right:0}.process-step .step-no{display:block;color:var(--accent);font-weight:800;font-size:2rem;margin-bottom:48px}.process-step h3{margin:0 0 12px}.process-step p{margin:0;color:rgba(248,249,253,.7);line-height:1.5}
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.project-card{min-height:250px;padding:34px;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.project-card:after{content:"";position:absolute;inset:auto -60px -100px auto;width:190px;height:190px;border-radius:50%;background:var(--accent);opacity:.12;transition:transform .5s var(--ease)}.project-card:hover:after{transform:scale(1.35)}.project-card h3{font-size:clamp(1.7rem,3vw,3rem);margin:0}.project-card p{color:rgba(248,249,253,.68);max-width:440px;line-height:1.45}.project-card .project-tag{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-size:.7rem}
.route-diagram{display:grid;grid-template-columns:repeat(7,1fr);align-items:center;gap:10px;margin:60px 0}.route-node{aspect-ratio:1;border:1px solid var(--accent);border-radius:50%;display:grid;place-items:center;text-align:center;padding:12px;font-weight:800;position:relative;background:var(--coal);z-index:1}.route-line{height:2px;background:linear-gradient(90deg,var(--accent),rgba(248,249,253,.2));position:relative;overflow:hidden}.route-line:after{content:"";position:absolute;width:40%;height:100%;background:#fff;animation:routePulse 2.4s linear infinite}
.walk-types{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.walk-type{padding:24px;border:1px solid var(--line);min-height:130px;display:flex;align-items:flex-end;font-weight:800}.walk-cta{display:inline-flex;align-items:center;gap:18px;padding:18px 24px;background:var(--accent);color:var(--coal);text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.walk-cta:after{content:"↗";font-size:1.2rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-actions .button{margin:0}
.location-section{padding:clamp(72px,9vw,135px) clamp(20px,7vw,108px);display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(34px,7vw,100px);align-items:stretch;border-block:1px solid var(--line);background:linear-gradient(135deg,rgba(255,117,13,.09),transparent 42%)}
.location-copy{display:flex;flex-direction:column;justify-content:center}.location-copy h2{max-width:650px}.location-address{margin:34px 0 0;padding:22px 0;border-block:1px solid var(--line);display:grid;gap:8px;font-size:clamp(1rem,1.5vw,1.3rem);line-height:1.5}.location-address strong{color:var(--accent);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase}.location-note{max-width:520px;margin:24px 0;color:rgba(248,249,253,.72);font-size:1rem;line-height:1.6}.location-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;align-self:flex-start;min-width:250px;padding:18px 22px;background:var(--accent);color:var(--coal);font-weight:800;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.location-cta:hover,.location-cta:focus-visible{transform:translateY(-4px);box-shadow:0 16px 38px rgba(255,117,13,.2)}
.location-map{position:relative;min-height:540px;overflow:hidden;border:1px solid var(--accent);background:#202424;color:#fff;text-decoration:none}.location-map:before{content:"";position:absolute;z-index:3;inset:0 0 auto;height:8px;background:linear-gradient(90deg,var(--orange) 25%,var(--magenta) 25% 50%,var(--turq) 50% 75%,var(--blue) 75%);pointer-events:none}.location-route{position:absolute;inset:0;width:100%;height:100%}.route-shadow{fill:none;stroke:rgba(0,0,0,.42);stroke-width:14}.route-path{fill:none;stroke:var(--accent);stroke-width:7;stroke-linecap:round;stroke-dasharray:4 18}.route-start{fill:rgba(5,101,247,.22);stroke:var(--blue);stroke-width:4}.route-start-core{fill:#fff}.route-destination-ring{fill:rgba(255,117,13,.12);stroke:rgba(255,117,13,.28);stroke-width:2}.route-destination-pin{fill:var(--accent)}.route-origin,.route-destination,.route-disclaimer,.location-open,.location-stamp{position:absolute;z-index:2}.route-origin{left:7%;bottom:12%;padding:8px 11px;background:var(--blue);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.route-destination{right:4%;top:38%;display:grid;gap:3px;padding:12px 14px 12px 44px;background:linear-gradient(90deg,transparent,rgba(32,36,36,.94) 36%);text-align:right;text-shadow:0 2px 12px #000}.route-destination small{color:var(--accent);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}.route-destination strong{font-size:clamp(2.6rem,7vw,5.3rem);line-height:.86;text-transform:uppercase}.route-destination b{font-size:.9rem;font-weight:400}.route-disclaimer{left:18px;bottom:18px;color:rgba(248,249,253,.82);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.location-open{right:18px;bottom:18px;display:flex;align-items:center;gap:12px;padding:11px 14px;background:var(--accent);color:var(--coal);font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transition:transform .3s var(--ease)}.location-map:hover .location-open,.location-map:focus-visible .location-open{transform:translate(-4px,-4px)}.location-stamp{left:18px;top:24px;padding:10px 14px;background:var(--coal);border-left:4px solid var(--accent);font-size:.74rem;font-weight:800;letter-spacing:.16em;pointer-events:none}
.pricing-section{padding:clamp(72px,9vw,135px) clamp(20px,7vw,108px);display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(38px,7vw,110px);align-items:start;border-top:1px solid var(--line);background:linear-gradient(145deg,rgba(255,117,13,.1),transparent 38%)}
.pricing-intro h2{max-width:620px}.pricing-intro>p:last-of-type{max-width:500px;color:rgba(248,249,253,.72);font-size:1rem;line-height:1.6}.price-table-wrap{min-width:0;border-top:3px solid var(--accent)}.price-table{width:100%;border-collapse:collapse}.price-table th,.price-table td{padding:18px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.price-table thead th{padding-top:14px;color:rgba(248,249,253,.55);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}.price-table thead th:last-child,.price-table td{text-align:right}.price-table tbody th{font-size:clamp(1rem,1.35vw,1.2rem);font-weight:400}.price-table tbody td{padding-left:22px;color:var(--accent);font-size:clamp(1rem,1.4vw,1.22rem);font-weight:800;white-space:nowrap}.price-table small{display:block;max-width:480px;margin-top:5px;color:rgba(248,249,253,.58);font-size:.78rem;font-weight:400;line-height:1.4}
@keyframes revealIn{from{opacity:.2;transform:translateY(34px)}to{opacity:1;transform:none}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes wordDrift{to{transform:translate(2vw,-1vw) rotate(1deg)}}@keyframes signal{0%,100%{transform:scaleX(.15);opacity:.35}50%{transform:scaleX(1);opacity:1}}@keyframes pinIn{from{opacity:0;transform:translate(-50%,-30%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes routePulse{from{transform:translateX(-120%)}to{transform:translateX(350%)}}
@media(max-width:900px){.intro-panel,.guide-head,.section-heading{grid-template-columns:1fr}.intro-panel .intro-index{font-size:7rem}.guide-grid,.process-line{grid-template-columns:1fr 1fr}.speaker-grid{grid-template-columns:1fr}.agenda-row{grid-template-columns:90px 1fr}.agenda-topic{grid-column:2}.walk-types{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.dynamic-hero{min-height:auto}.hero-word{font-size:9rem;right:-1rem}.guide-grid,.process-line,.project-grid,.walk-types{grid-template-columns:1fr}.process-step{border-right:0;border-bottom:1px solid var(--line)}.agenda-row{grid-template-columns:72px 1fr;gap:16px}.route-diagram{grid-template-columns:1fr;max-width:230px;margin-inline:auto}.route-node{width:160px;justify-self:center}.route-line{height:70px;width:2px;justify-self:center;background:linear-gradient(180deg,var(--accent),rgba(248,249,253,.2))}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}.hero-word,.marquee-track,.route-line:after,.map-pin{animation:none!important}.guide-card,.speaker-card{transition:none!important}}

/* Mobile-first approval pass */
@media(max-width:760px){
.experience-hero.dynamic-hero{min-height:auto;padding:48px 20px 64px;grid-template-columns:1fr;gap:32px}
.dynamic-hero .lead{font-size:1.08rem;line-height:1.55}
.hero-word{font-size:7rem;right:-1rem;bottom:-.4rem}
.intro-panel,.guide-head,.section-heading{grid-template-columns:1fr;gap:24px;padding-left:20px;padding-right:20px}
.intro-panel .intro-index{font-size:5rem}
.body-copy,.guide-head>p,.section-heading>p{font-size:1rem;line-height:1.6}
.guide-section,.content-section,.agenda-section,.map-section{padding:64px 20px}
.guide-grid,.process-line,.project-grid,.walk-types,.speaker-grid{grid-template-columns:1fr}
.guide-card,.project-card,.speaker-card,.walk-type{min-height:auto;padding:24px}
.agenda-row{grid-template-columns:64px 1fr;gap:14px;padding:22px 0}
.agenda-topic{grid-column:2;font-size:1rem;line-height:1.5}
.agenda-time{font-size:1rem}
.speaker-card p,.project-card p,.guide-card p{font-size:1rem;line-height:1.55}
.route-diagram{grid-template-columns:1fr;max-width:230px;margin-inline:auto}
.route-node{width:160px;justify-self:center}
.route-line{height:70px;width:2px;justify-self:center;background:linear-gradient(180deg,var(--accent),rgba(248,249,253,.2))}
.hero-actions{display:grid;grid-template-columns:1fr}.pricing-section,.location-section{grid-template-columns:1fr;padding:64px 20px;gap:30px}.price-table th,.price-table td{padding:16px 0}.price-table tbody td{padding-left:14px;font-size:.96rem;white-space:normal}.price-table small{font-size:.76rem}.location-map{min-height:420px}.location-address{font-size:1.05rem}.route-destination{top:47%;right:7%}.route-destination strong{font-size:2.8rem}.route-destination b{max-width:170px;font-size:.82rem}.route-origin{bottom:21%}.route-disclaimer{left:14px;bottom:14px;max-width:120px;color:rgba(248,249,253,.82);font-size:.68rem}.location-open{right:14px;bottom:14px;max-width:185px}.location-stamp{left:14px;top:20px}
}
