.l8w .talk { padding-block: clamp(2.5rem, 6vw, 6rem) clamp(3rem, 7vw, 7rem); min-height: calc(var(--vh) - var(--top)); }
.l8w .talk .desk { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(1.5rem, 5vw, 6rem); align-items: start; }
.l8w .talk .steps { display: flex; flex-direction: column; gap: clamp(1rem, 2vw, 1.5rem); max-width: 44rem; min-width: 0; }
.l8w .talk .title { margin-bottom: clamp(.25rem, 1vw, .75rem); }
.l8w .talk .art { position: sticky; top: calc(var(--top) + clamp(1rem, 4vh, 3rem)); height: clamp(18rem, 62vh, 36rem); align-items: flex-end; }
.l8w .talk .heading:focus { outline: none; }
.l8w .talk .step { display: flex; flex-direction: column; gap: clamp(.9rem, 1.8vw, 1.25rem); }
.l8w .talk .step[hidden] { display: none; }

.l8w .talk .pad { --off: clamp(.45rem, .8vw, .7rem); position: relative; display: flex; flex-direction: column; gap: clamp(.9rem, 1.8vw, 1.25rem);
  padding: clamp(1.1rem, 2.4vw, 2rem); margin-right: var(--off); background: var(--citrus); border: 2px solid var(--ink); border-radius: 4px;
  box-shadow: var(--off) var(--off) 0 -2px var(--khaki), var(--off) var(--off) 0 0 var(--ink); }
.l8w .talk .pad .tab { position: absolute; left: clamp(1rem, 2.2vw, 1.75rem); top: -2px; transform: translateY(-100%); max-width: calc(100% - 2.5rem);
  padding: .5rem .85rem .4rem; background: var(--ink); color: var(--paper); border-radius: 4px 4px 0 0;
  font-size: var(--t-label); line-height: 1.2; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.l8w .talk .pad .tab:empty { display: none; }
.l8w .talk .heading + .pad:has(.tab:not(:empty)) { margin-top: clamp(2rem, 3vw, 2.4rem); }
.l8w .talk .pad .who { margin: 0; }
.l8w .talk .pad .who + .small { margin-top: -.35rem; padding-bottom: clamp(.9rem, 1.8vw, 1.25rem); border-bottom: 2px solid var(--rule); }
.l8w .talk .pad .act { margin-top: .25rem; }
.l8w .talk .ts:empty { display: none; }

.l8w .hello { padding-block: clamp(2.5rem, 5vw, 4.5rem) clamp(3rem, 6vw, 5.5rem); }
.l8w .hello .li { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2.75rem); max-width: 70rem; margin-top: clamp(.9rem, 1.6vw, 1.25rem); }
.l8w .hello li { --off: clamp(.45rem, .8vw, .7rem); position: relative; display: flex; align-items: flex-end; gap: clamp(.5rem, 1.2vw, 1rem); min-width: 0;
  padding: clamp(3.6rem, 5vw, 4.6rem) clamp(1rem, 2vw, 1.75rem) 0 clamp(.6rem, 1.2vw, 1rem); margin-right: var(--off); background: var(--paper);
  border: 2px solid var(--ink); border-radius: 4px; box-shadow: var(--off) var(--off) 0 -2px var(--khaki), var(--off) var(--off) 0 0 var(--ink);
  transition: transform .18s ease; }
.l8w .hello li:hover, .l8w .hello li:focus-within { transform: translate(-2px, -3px) rotate(-.6deg); }
.l8w .hello li:nth-child(2):hover, .l8w .hello li:nth-child(2):focus-within { transform: translate(-2px, -3px) rotate(.6deg); }
.l8w .hello .mini { width: clamp(5rem, 7vw, 6.75rem); height: auto; overflow: visible; flex: none; margin-bottom: -.1rem; }
.l8w .hello .who-is { display: flex; flex-direction: column; gap: .3rem; min-width: 0; padding-bottom: clamp(1.1rem, 2vw, 1.5rem); }
.l8w .hello .who-is a { font-family: var(--font-display); font-weight: 500; font-size: var(--t-h3); line-height: 1.2; letter-spacing: -.015em; }
.l8w .hello .who-is a::after { content: ""; position: absolute; inset: 0; border-radius: 4px; }
.l8w .hello .who-is a:focus-visible { outline: none; }
.l8w .hello .who-is a:focus-visible::after { outline: 2px solid var(--signal); outline-offset: 4px; }
.l8w .hello .who-is .small { overflow-wrap: break-word; }
.l8w.still .hello li { transition: none; }
.l8w .talk .pretend { border-left: 3px solid var(--signal); padding: .35rem 0 .35rem .85rem; }

.l8w button.link { font: inherit; font-weight: 600; border: 0; padding: 0 0 .16em; cursor: pointer; color: var(--signal); }
.l8w .talk .picked { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem 1rem; font-size: var(--t-label); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--soft); }
.l8w .talk .picked .link { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: var(--t-small); }

.l8w .choices { border-bottom: 2px solid var(--rule); }
.l8w .choices > li { border-top: 2px solid var(--rule); }
.l8w .choices button { display: flex; align-items: baseline; gap: 1.1rem; width: 100%; padding: clamp(.85rem, 1.6vw, 1.1rem) .25rem; background: none; border: 0; color: var(--fg); text-align: left; cursor: pointer;
  font-family: var(--font-display); font-weight: 500; font-size: var(--t-h3); line-height: 1.2; letter-spacing: -.015em; }
.l8w .choices button b { flex: none; width: 2.2ch; font-weight: 300; color: var(--signal); letter-spacing: 0; }
.l8w .choices button:hover { background: var(--citrus); }
.l8w .choices.ways button { align-items: flex-start; }
.l8w .choices.ways button > span { display: flex; flex-direction: column; gap: .3rem; }
.l8w .choices.ways .small { font-family: var(--font-body); font-weight: 400; letter-spacing: 0; }
.l8w .talk .trips { margin-top: clamp(1.4rem, 3vw, 2rem); }
.l8w .talk .trips .cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(13.5rem, 1fr)); gap: .9rem; margin-top: .6rem; }
.l8w .talk .trips .card { position: relative; display: flex; flex-direction: column; gap: .3rem; padding: 1rem 1.1rem 1.05rem; border-radius: 3px; }
.l8w .talk .trips .faces { position: absolute; top: -.9rem; right: .9rem; display: flex; }
.l8w .talk .trips .faces img { width: 2.6rem; height: 2.6rem; border-radius: 50%; object-fit: cover; border: 2.5px solid var(--signal); background: var(--paper); }
.l8w .talk .trips .faces img + img { margin-left: -.7rem; }
.l8w .talk .trips .city { font-family: var(--font-display); font-weight: 500; font-size: var(--t-h3); line-height: 1.15; letter-spacing: -.015em; padding-right: 3.2rem; }
.l8w .talk .trips .link { align-self: flex-start; margin-top: .35rem; font-size: var(--t-small); text-align: left; }
.l8w .choices .q { display: inline-flex; width: 2.2ch; justify-content: flex-start; }
.l8w .choices .q svg { width: 1.05em; height: 1.2em; overflow: visible; transform-origin: 50% 90%; transform: rotate(-8deg); transition: transform .25s ease; }
.l8w .choices .q path { fill: none; stroke: var(--signal); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.l8w .choices button:hover .q svg, .l8w .choices button:focus-visible .q svg { transform: rotate(14deg); }

.l8w .daypick { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.1rem .55rem; padding-top: .45rem; }
.l8w .daypick > * { position: relative; display: flex; flex-direction: column; align-items: center; gap: .1rem; min-width: 0; padding: 0 0 .55rem; font: inherit; color: var(--ink); background: var(--white); border: 2px solid var(--rule); border-radius: 3px; text-align: center; }
.l8w .daypick button { cursor: pointer; transition: transform .18s ease, border-color .18s ease; }
.l8w .daypick > *::before, .l8w .daypick > *::after { content: ""; position: absolute; top: -.5rem; width: .42rem; height: .9rem; border: 2px solid var(--ink); border-radius: .25rem; background: var(--paper); }
.l8w .daypick > *::before { left: 26%; } .l8w .daypick > *::after { right: 26%; }
.l8w .daypick .wd { align-self: stretch; padding: .5rem 0 .38rem; background: var(--khaki); font: 600 var(--t-label)/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; transition: background-color .18s ease, color .18s ease; }
.l8w .daypick .dn { position: relative; margin-top: .35rem; font-family: var(--font-display); font-weight: 500; font-size: var(--t-h3); line-height: 1.1; letter-spacing: -.015em; }
.l8w .daypick .mo { font-size: var(--t-label); line-height: 1.2; color: var(--soft); }
.l8w .daypick button:hover { transform: translateY(-2px); border-color: var(--ink); }
.l8w .daypick button:hover .wd { background: var(--mauve); }
.l8w .daypick button[aria-pressed="true"] { border-color: var(--ink); transform: translateY(-2px) rotate(-2deg); }
.l8w .daypick button[aria-pressed="true"] .wd { background: var(--caerulean); color: var(--paper); }
.l8w .daypick button.fresh { animation: l8-tip .42s ease-out; }
.l8w .daypick .off { background: transparent; border-style: dashed; color: var(--soft); }
.l8w .daypick .off .wd { background: transparent; }
.l8w .daypick .off::before, .l8w .daypick .off::after { border-color: var(--rule); }
.l8w .daypick .strike { position: absolute; left: 22%; top: 38%; width: 56%; height: 44%; overflow: visible; pointer-events: none; }
.l8w .daypick .strike path { fill: none; stroke: var(--fg); opacity: .4; stroke-width: calc(var(--pen) * .6); stroke-linecap: round; vector-effect: non-scaling-stroke; }
.l8w .talk .ring, .l8w .daypick .strike { position: absolute; max-width: none; overflow: visible; pointer-events: none; }
.l8w .talk .ring path { fill: none; stroke: var(--signal); stroke-width: calc(var(--pen) * .7); stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; }
.l8w .daypick .ring { left: -.5em; top: -.22em; width: calc(100% + 1em); height: calc(100% + .44em); }
.l8w .daypick .dn { min-width: 1.6em; }
.l8w .daypick [aria-pressed="true"] .ring path, .l8w .timepick .was .ring path, .l8w .timepick .chosen .ring path { stroke-dashoffset: 0; }
.l8w .daypick .fresh .ring path, .l8w .timepick .chosen .ring path { animation: l8-draw .45s ease-out .05s both; }
.l8w .who { display: flex; flex-wrap: wrap; gap: .6rem .7rem; margin: .9rem 0 .55rem; }
.l8w .who[hidden] { display: none; }
.l8w .who button { position: relative; display: inline-flex; align-items: center; gap: .55rem; min-height: 3rem; padding: .4rem 1rem .4rem .45rem; font: 500 var(--t-small)/1.15 var(--font-display); color: var(--ink); background: var(--white); border: 2px solid var(--rule); border-radius: 3px; cursor: pointer; transition: transform .16s ease, border-color .16s ease, background-color .16s ease; }
.l8w .who button > span:only-child { padding-left: .55rem; }
.l8w .who img { width: 2.25rem; height: 2.25rem; border-radius: 50%; object-fit: cover; border: 2px solid var(--signal); background: var(--paper); flex: none; }
.l8w .who .pair { display: inline-flex; }
.l8w .who .pair img + img { margin-left: -.8rem; }
.l8w .who button:hover { border-color: var(--ink); background: var(--citrus); transform: translateY(-2px) rotate(-1.5deg); }
.l8w .who button[aria-pressed="true"] { border-color: var(--ink); transform: translateY(-2px) rotate(-1.5deg); }
.l8w .who .ring { position: absolute; max-width: none; overflow: visible; pointer-events: none; }
.l8w .who .ring path { fill: none; stroke: var(--signal); stroke-width: calc(var(--pen) * .7); stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; }
.l8w .who .ring { left: -.45em; top: -.35em; width: calc(100% + .9em); height: calc(100% + .7em); }
.l8w .who .ring { opacity: 0; }
.l8w .who [aria-pressed="true"] .ring { opacity: 1; }
.l8w .who [aria-pressed="true"] .ring path { stroke-dashoffset: 0; }
.l8w .who .fresh .ring path { animation: l8-draw .45s ease-out .05s both; }
.l8w .who .fresh { animation: l8-tip .42s ease-out; }
.l8w.still .who button, .l8w.still .who .ring path { transition: none; animation: none; }
.l8w .timepick { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .5rem; }
.l8w .timepick button { position: relative; padding: .65rem 1rem; min-width: 5.25rem; font: 500 var(--t-small)/1.2 var(--font-display); letter-spacing: .01em; color: var(--ink); background: var(--white); border: 2px solid var(--rule); border-radius: 3px; cursor: pointer; transition: transform .16s ease, border-color .16s ease, background-color .16s ease; }
.l8w .timepick button:hover { border-color: var(--ink); background: var(--citrus); transform: translateY(-2px) rotate(-1.5deg); }
.l8w .timepick button:nth-child(even):hover { transform: translateY(-2px) rotate(1.5deg); }
.l8w .timepick button.chosen { border-color: var(--ink); background: var(--citrus); animation: l8-pop .4s ease-out; }
.l8w .timepick .ring { left: -.55rem; top: -.5rem; width: calc(100% + 1.1rem); height: calc(100% + 1rem); }
.l8w .talk .times .part { margin-top: 1rem; font-size: var(--t-label); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--soft); }
.l8w .talk .ticket { display: flex; flex-direction: column; gap: .3rem; background: var(--white); border-left: 3px solid var(--signal); border-radius: 3px; padding: 1.1rem 1.25rem; }
.l8w .timepick button:disabled { opacity: .5; cursor: progress; }
@keyframes l8-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes l8-tip { 0% { transform: none; } 55% { transform: translateY(-6px) rotate(-3.5deg); } 100% { transform: translateY(-2px) rotate(-2deg); } }
@keyframes l8-pop { 0% { transform: none; } 45% { transform: translateY(-5px) scale(1.06) rotate(-2deg); } 100% { transform: translateY(-2px) rotate(-1.5deg); } }
.l8w.still .daypick > *, .l8w.still .timepick button, .l8w.still .daypick .wd { transition: none; animation: none; }
.l8w.still .talk .ring path { animation: none; }

.l8w .fields.pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: inherit; }
.l8w .field { display: flex; flex-direction: column; gap: .35rem; margin: 0; }
.l8w .field label { font-size: var(--t-small); font-weight: 600; }
.l8w .field label .soft { font-weight: 400; }
.l8w .field label + .small { margin-top: -.2rem; }
.l8w .field input, .l8w .field textarea { font: 400 var(--t-small)/1.4 var(--font-body); color: var(--ink); background: var(--white); border: 2px solid var(--rule); border-radius: 3px; padding: .7rem .8rem; width: 100%; }
.l8w .field textarea { resize: vertical; min-height: 6rem; }
.l8w .field input:focus, .l8w .field textarea:focus { outline: none; border-color: var(--caerulean); }
.l8w .field input[aria-invalid="true"], .l8w .field textarea[aria-invalid="true"] { border-color: var(--ink); border-style: dashed; }
.l8w .talk .error:empty { display: none; }
.l8w .talk .error { font-weight: 600; }
.l8w .talk .error::before { content: "Please check: "; font-weight: 400; }
.l8w .talk .act { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; }
.l8w .talk .btn:disabled { opacity: .6; cursor: progress; }
.l8w button.btn { cursor: pointer; }
.l8w .trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 860px) {
  .l8w .talk .desk { grid-template-columns: minmax(0, 1fr); }
  .l8w .talk .art { position: static; height: clamp(12rem, 56vw, 18rem); }
}
@media (max-width: 640px) {
  .l8w .hello .li { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 520px) {
  .l8w .talk .pad { padding: 1rem .9rem 1.1rem; }
  .l8w .fields.pair { grid-template-columns: minmax(0, 1fr); }
  .l8w .daypick { gap: 1rem .3rem; }
  .l8w .daypick > *::before { left: 20%; } .l8w .daypick > *::after { right: 20%; }
  .l8w .timepick button { min-width: 4.5rem; padding: .6rem .7rem; }
}
.l8w .talk p a.link { white-space: nowrap; }

.l8w .talk .pad .tab .tzopen { margin-left: .6rem; background: none; padding: 0; color: var(--paper); font-weight: 400; letter-spacing: 0; text-transform: none; text-decoration: underline; text-underline-offset: .2em; }
.l8w .talk .tzrow { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .8rem; margin: 0; }
.l8w .talk .tzrow[hidden] { display: none; }
.l8w .talk .tzrow label { font-size: var(--t-small); font-weight: 600; }
.l8w .talk .tzrow select { font: 400 var(--t-small)/1.3 var(--font-body); color: var(--ink); background: var(--white); border: 2px solid var(--rule); border-radius: 3px; padding: .5rem .6rem; max-width: 100%; min-width: 0; }
.l8w .talk .tzrow select:focus { outline: none; border-color: var(--caerulean); }
.l8w .talk .soon { padding-bottom: clamp(.9rem, 1.8vw, 1.25rem); border-bottom: 2px solid var(--rule); }
.l8w .talk .soon[hidden] { display: none; }
.l8w .talk .soon .part { margin-top: 0; }
.l8w .talk .asides { display: flex; flex-wrap: wrap; gap: .4rem 1.75rem; }
.l8w .talk .moving .who, .l8w .talk .moving .who + .small, .l8w .talk .moving .asides { display: none; }
.l8w .talk .soon .ring { opacity: 0; }
.l8w .talk .soon .chosen .ring, .l8w .talk .soon .was .ring { opacity: 1; }

.l8w .talk .weeknav { position: relative; z-index: 3; display: flex; align-items: center; gap: .5rem; margin: 0 0 -.35rem; }
.l8w .talk .weeknav[hidden] { display: none; }
.l8w .talk .weeknav .part { margin: 0 auto 0 0; font-size: var(--t-label); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--soft); }
.l8w .talk .wkbtn { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; padding: 0; background: var(--white); border: 2px solid var(--rule); border-radius: 3px; cursor: pointer; transition: border-color .16s ease, transform .16s ease, background-color .16s ease; }
.l8w .talk .wkbtn:hover:not(:disabled) { border-color: var(--ink); background: var(--citrus); transform: translateY(-2px); }
.l8w .talk .wkbtn:focus-visible { outline: 2px solid var(--caerulean); outline-offset: 2px; }
.l8w .talk .wkbtn:disabled { opacity: .35; cursor: default; }
.l8w .talk .wkbtn svg { width: 1.15rem; height: 1.15rem; overflow: visible; }
.l8w .talk .wkbtn path { fill: none; stroke: var(--ink); stroke-width: var(--pen); stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.l8w .weekview { --g: .55rem; position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 4 * var(--g)) / 5); gap: var(--g); overflow: auto; max-height: min(26rem, 62vh); padding: .6rem 0 .75rem;
  scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: var(--rule) transparent; }
.l8w .weekview .col { display: flex; flex-direction: column; gap: .45rem; min-width: 0; margin: 0; scroll-snap-align: start; }
.l8w .weekview .col.timepick { flex-wrap: nowrap; }
.l8w .weekview .day { position: sticky; top: .5rem; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: .1rem; margin-bottom: .25rem; padding: 0 0 .5rem;
  color: var(--ink); background: var(--white); border: 2px solid var(--rule); border-radius: 3px; text-align: center; box-shadow: 0 -1.6rem 0 var(--citrus); }
.l8w .weekview .day::before, .l8w .weekview .day::after { content: ""; position: absolute; top: -.5rem; width: .42rem; height: .9rem; border: 2px solid var(--ink); border-radius: .25rem; background: var(--paper); }
.l8w .weekview .day::before { left: 24%; } .l8w .weekview .day::after { right: 24%; }
.l8w .weekview .wd { align-self: stretch; padding: .45rem 0 .34rem; background: var(--khaki); font: 600 var(--t-label)/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.l8w .weekview .dn { margin-top: .3rem; font-family: var(--font-display); font-weight: 500; font-size: var(--t-h3); line-height: 1.1; letter-spacing: -.015em; }
.l8w .weekview .mo { font-size: var(--t-label); line-height: 1.2; color: var(--soft); }
.l8w .weekview .off .day, .l8w .weekview .blank .day { background: var(--citrus); border-style: dashed; color: var(--soft); }
.l8w .weekview .off .wd, .l8w .weekview .blank .wd { background: transparent; }
.l8w .weekview .off .day::before, .l8w .weekview .off .day::after, .l8w .weekview .blank .day::before, .l8w .weekview .blank .day::after { border-color: var(--rule); }
.l8w .weekview .blank .day { opacity: .5; }
.l8w .weekview .strike { position: absolute; left: 22%; top: 38%; width: 56%; height: 44%; max-width: none; overflow: visible; pointer-events: none; }
.l8w .weekview .strike path { fill: none; stroke: var(--fg); opacity: .4; stroke-width: calc(var(--pen) * .6); stroke-linecap: round; vector-effect: non-scaling-stroke; }
.l8w .weekview .col > button { width: 100%; min-width: 0; padding: .6rem .15rem; text-align: center; }
.l8w .weekview .col > button .ring { left: -.3rem; top: -.4rem; width: calc(100% + .6rem); height: calc(100% + .8rem); opacity: 0; }
.l8w .weekview .col > button.chosen .ring, .l8w .weekview .col > button.was .ring { opacity: 1; }
.l8w.still .talk .wkbtn { transition: none; }
@media (max-width: 520px) {
  .l8w .weekview { --g: .45rem; max-height: min(24rem, 58vh); }
  .l8w .weekview { grid-auto-columns: calc((100% - 3 * var(--g)) / 3.35); }
  .l8w .weekview .day::before { left: 20%; } .l8w .weekview .day::after { right: 20%; }
}

html.embed .l8w .nav, html.embed .l8w .skip, html.embed .l8w .tail, html.embed .l8w .hello, html.embed .l8c,
html.embed .l8w .talk .art, html.embed .l8w .talk .eyebrow, html.embed .l8w .talk .title { display: none !important; }
html.embed body, html.embed .l8w { background: var(--white); }
html.embed .l8w .talk { padding-block: clamp(1.25rem, 3vw, 2rem) 2.5rem; background: var(--white); }
html.embed .l8w .talk .desk { grid-template-columns: minmax(0, 1fr); }
html.embed .l8w .talk .wrap { padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
