.cannes-map{background:var(--color-white);color:var(--color-fluent-dark-navy);margin:0 20px 48px;@media (min-width:768px){margin-bottom:96px}& .cannes-map__head{margin:0 auto 32px;max-width:1280px}& .cannes-map__heading{color:var(--color-fluent-dark-navy);font-family:Roboto,sans-serif;font-size:clamp(28px,3.4vw,40px);font-weight:500;letter-spacing:-.01em;line-height:1.1;margin:0 0 16px}& .cannes-map__subheading{font-size:16px;font-style:italic;font-weight:400;line-height:140%;margin:0}& .cannes-map__layout{display:grid;gap:40px;grid-template-columns:1fr;margin:0 auto;max-width:1280px;@media (min-width:900px){align-items:start;grid-template-columns:45% 55%}}& .cannes-map__map{@media (min-width:900px){position:sticky;top:130px}}& .cannes-map__map-inner{aspect-ratio:4/3;background:#e9eef5;border-radius:12px;overflow:hidden;position:relative;& img{display:block;height:100%;object-fit:cover;width:100%}}& .cannes-map__list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}& .cannes-map__item{border-bottom:1px solid rgba(11,19,64,.12);display:flex;flex-direction:column;gap:10px;padding:24px 0;&:first-child{padding-top:0}&:last-child{border-bottom:none}&.is-active .cannes-map__num{animation:cannes-map-num-pulse .6s ease-out 1;transform-origin:center}}& .cannes-map__item-top{color:var(--color-fluent-shark);display:flex;flex-wrap:wrap;font-size:12px;gap:24px;letter-spacing:.08em;text-transform:uppercase}& .cannes-map__top-meta{align-items:center;display:inline-flex;gap:8px;&:first-child{@media (min-width:600px){margin-left:42px}}& i{color:var(--color-fluent-dolphin);font-size:14px}}& .cannes-map__item-head{align-items:flex-start;display:flex;gap:14px}& .cannes-map__num{align-items:center;background:var(--color-fluent-salmon);border-radius:50%;color:var(--color-white);display:inline-flex;flex:0 0 auto;font-size:14px;font-weight:700;height:28px;justify-content:center;margin-top:4px;width:28px}& .cannes-map__title{color:var(--color-fluent-dark-navy);font-size:clamp(22px,2.2vw,28px);font-weight:600;line-height:1.2;margin:0;text-wrap:pretty}& .cannes-map__rsvps{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0 0;@media (min-width:600px){margin-left:42px}}& .cannes-map__rsvp{align-items:center;background:var(--color-fluent-beeswax);border:none;border-radius:4px;color:var(--color-fluent-dark-navy);cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:8px;letter-spacing:.05em;padding:12px 18px;text-decoration:none;text-transform:uppercase;transition:background .2s ease;&:active,&:focus,&:hover{background:var(--color-fluent-beeswax);border:none;color:var(--color-fluent-dark-navy);filter:brightness(.95);font-weight:700}& i{font-size:11px}& .cannes-map__rsvp-arrow{color:currentColor;flex:0 0 auto;height:10px;width:13px}}& .cannes-map__passed{align-items:flex-start;display:flex;flex-direction:column;gap:16px;margin-top:10px;@media (min-width:600px){margin-left:42px}}& .cannes-map__passed-msg{color:var(--color-fluent-dark-navy);font-size:18px;font-weight:600;line-height:1.35;margin:0}& .cannes-map__details{display:flex;flex-direction:column;gap:24px;margin-left:0;@media (min-width:600px){margin-left:42px}&[hidden]{display:none}}& .cannes-map__meta-list{display:flex;flex-direction:column;gap:6px;margin-top:15px}& .cannes-map__meta{align-items:center;color:var(--color-fluent-dark-navy);display:flex;font-size:16px;font-weight:600;gap:10px;line-height:140%;& i{color:var(--color-fluent-dark-navy);text-align:center;width:14px}}& .cannes-map__desc{color:var(--color-fluent-dark-navy);font-size:16px;line-height:1.55;margin:0;& p:last-child{margin-bottom:0}}& .cannes-map__speakers{display:grid;gap:20px;grid-template-columns:1fr;list-style:none;margin:0 0 10px;padding:0;@media (min-width:600px){column-gap:22px;grid-template-columns:1fr 1fr}}& .cannes-map__speaker{align-items:flex-start;display:flex;gap:14px}& .cannes-map__speaker-avatar{background:#e9eef5;border-radius:50%;flex:0 0 auto;height:56px;overflow:hidden;width:56px;& img{display:block;height:100%;object-fit:cover;width:100%}}& .cannes-map__speaker-text{display:flex;flex-direction:column;gap:2px}& .cannes-map__speaker-name{color:var(--color-fluent-dark-navy);font-size:15px;font-weight:700;line-height:1.25;margin:0}& .cannes-map__speaker-title{color:var(--color-fluent-dark-navy);font-size:14px;line-height:1.3;margin:0 0 5px}& .cannes-map__speaker-company{color:var(--color-fluent-dark-navy);font-size:12px;font-weight:700;letter-spacing:.06em;margin:2px 0 0;text-transform:uppercase}& .cannes-map__speaker-company--logo{line-height:0;& svg{color:var(--color-fluent-dark-navy);display:inline-block;height:auto;width:64px}}& .cannes-map__item.is-expanded .cannes-map__rsvps .cannes-map__toggle{display:none}& .cannes-map__toggle{align-items:center;align-self:center;background:transparent;border:none;color:var(--color-fluent-shark);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-style:italic;gap:4px;padding:4px 0;& i{color:var(--color-fluent-salmon);font-size:14px;transition:transform .25s ease}&[aria-expanded=true] i{transform:rotate(180deg)}&:focus,&:hover{background:transparent}}& .cannes-map__toggle--close{align-self:flex-start}& .cannes-map__pin{align-items:center;background:var(--color-fluent-salmon);border:2px solid var(--color-white);border-radius:50%;color:var(--color-white);cursor:pointer;display:inline-flex;font-size:16px;font-weight:700;height:36px;justify-content:center;padding:0;position:absolute;transform:translate(-50%,-50%);transition:all .2s ease-in-out;width:36px;z-index:2;@media (min-width:768px){font-size:22px;height:48px;width:48px}&:active,&:focus,&:hover{background:var(--color-fluent-salmon);border:2px solid var(--color-white);box-shadow:0 0 24px 0 rgba(42,46,172,.5);color:var(--color-white);outline:none}&:hover{font-size:26px;height:56px;width:56px;@media (min-width:768px){font-size:30px;height:64px;width:64px}}&:focus-visible{outline:2px solid var(--color-white);outline-offset:2px}&.is-active{box-shadow:0 12px 32px rgba(0,0,0,.35),0 0 24px 0 rgba(42,46,172,.5);font-size:22px;height:48px;width:48px;z-index:3;@media (min-width:768px){font-size:30px;height:64px;width:64px}}}}.cannes-map__overlay{align-items:center;background:rgba(11,19,64,.78);display:flex;inset:0;justify-content:center;opacity:0;overflow:hidden;padding:24px;pointer-events:none;position:fixed;transition:opacity .3s ease;z-index:9000;&[hidden]{display:flex}&.is-open{opacity:1;pointer-events:auto}& .cannes-map__panel{--tooth-w:14px;--tooth-h:7px;background:var(--color-white);filter:drop-shadow(0 24px 48px rgba(0,0,0,.25));-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='7' viewBox='0 0 14 7' preserveAspectRatio='none'><polygon points='0,7 3.5,0 7,7 10.5,0 14,7' fill='black'/></svg>") 0 0 /var(--tooth-w) var(--tooth-h) repeat-x,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='7' viewBox='0 0 14 7' preserveAspectRatio='none'><polygon points='0,0 3.5,7 7,0 10.5,7 14,0' fill='black'/></svg>") 0 100% /var(--tooth-w) var(--tooth-h) repeat-x,linear-gradient(#000,#000) 0 var(--tooth-h) /100% calc(100% - var(--tooth-h)*2) no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='7' viewBox='0 0 14 7' preserveAspectRatio='none'><polygon points='0,7 3.5,0 7,7 10.5,0 14,7' fill='black'/></svg>") 0 0 /var(--tooth-w) var(--tooth-h) repeat-x,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='7' viewBox='0 0 14 7' preserveAspectRatio='none'><polygon points='0,0 3.5,7 7,0 10.5,7 14,0' fill='black'/></svg>") 0 100% /var(--tooth-w) var(--tooth-h) repeat-x,linear-gradient(#000,#000) 0 var(--tooth-h) /100% calc(100% - var(--tooth-h)*2) no-repeat;max-height:calc(100vh - 48px);overflow-y:auto;padding:calc(40px + var(--tooth-h)) 36px calc(36px + var(--tooth-h));position:relative;transform:translateX(110vw);transition:transform .45s cubic-bezier(.22,.61,.36,1);width:min(440px,100%)}&.is-open .cannes-map__panel{transform:translateX(0)}& .cannes-map__close{align-items:center;background:transparent;border:none;color:rgba(11,19,64,.6);cursor:pointer;display:inline-flex;font-size:24px;height:28px;justify-content:center;line-height:1;padding:0;position:absolute;right:22px;top:22px;transition:color .2s ease;width:28px;&:hover{color:var(--color-fluent-dark-navy)}}& .cannes-map__form-title{color:var(--color-fluent-dark-navy);font-size:26px;font-weight:600;line-height:1.15;margin:0 0 20px}}body.cannes-map-locked{overflow:hidden}@keyframes cannes-map-num-pulse{0%{transform:scale(1)}40%{transform:scale(1.2)}to{transform:scale(1)}}