.talk{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:var(--space-xl);margin:0 var(--frame);padding:var(--space-xl) var(--gutter)}
.talk__lead{margin-top:var(--space-md);font-size:var(--fs-xl);line-height:1.1;letter-spacing:-.035em}
.talk__facts{margin:var(--space-lg) 0 0;border-top:1px solid var(--rule)}
.talk__facts>div{display:grid;gap:var(--space-xs);padding:var(--space-sm) 0;border-bottom:1px solid var(--rule-soft)}
.talk__facts p:not(.mono){margin:0;font-size:var(--fs-lg);font-weight:900;line-height:1.15;letter-spacing:-.03em}
.talk__facts a{text-decoration-thickness:.06em;text-underline-offset:.12em}
.talk__facts a:hover{text-decoration-line:underline}

.chat{align-self:start;padding:var(--space-lg) var(--gutter);border-radius:var(--radius);background:var(--blue);color:var(--paper)}
.chat__progress{text-align:right}
.chat__progress[hidden],.chat__step[hidden],.chat__done[hidden],.chat__error[hidden]{display:none}
.chat__trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.chat{position:relative}
.chat__error{margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);border-left:5px solid #ffb4a8;font-size:var(--fs-body);line-height:var(--lh-body)}
.chat__button:disabled{opacity:.5;cursor:wait}
.chat:not(.is-steps) .chat__step+.chat__step{margin-top:var(--space-lg)}
.chat__step{margin:0;padding:0;border:0}
.chat__step legend{float:left;width:100%;margin-bottom:var(--space-md);padding:0}
.chat textarea,.chat input{display:block;width:100%;padding:0 0 var(--space-sm);border:0;border-bottom:2px solid var(--paper);border-radius:0;background:none;box-shadow:none;color:var(--paper);appearance:none;transition:border-bottom-width .15s;font:inherit;font-size:var(--fs-xl);font-weight:900;line-height:1.15;letter-spacing:-.035em;resize:vertical;cursor:crosshair}
.chat input::placeholder,.chat textarea::placeholder{color:var(--paper);opacity:.5}
.chat textarea:focus,.chat input:focus{outline:none;border-bottom-width:5px}
.chat [aria-invalid="true"]{border-bottom-color:#ffb4a8}
.chat__hint{max-width:60ch;margin-top:var(--space-sm);font-size:var(--fs-body);line-height:var(--lh-body)}
.chat__hint a{text-decoration:underline}
.chat__actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-lg)}
.chat__button{margin-left:auto;padding:12px 18px;border:1px solid var(--paper);font:var(--fs-micro)/1.4 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;transition:background .2s,color .2s}
.chat__button:hover,.chat__button:focus-visible{background:var(--paper);color:var(--blue)}
.chat__button--back{margin-left:0;border-color:transparent;text-decoration:underline}
.chat__button--back:hover,.chat__button--back:focus-visible{background:none;color:var(--paper);text-decoration:none}
.chat__button--send{background:var(--paper);color:var(--blue)}
.chat__done-title{font-size:var(--fs-2xl);font-weight:900;line-height:var(--lh-title);letter-spacing:var(--ls-title)}
.chat__done p+p{margin-top:var(--space-sm);font-size:var(--fs-body)}

.roadtrip{position:relative;isolation:isolate;display:flex;align-items:end;min-height:calc(100svh - var(--frame)*2);margin:var(--frame) var(--frame) 0;padding:var(--space-xl) var(--gutter);overflow:hidden;border-radius:var(--radius);background:var(--ink);color:var(--paper)}
.roadtrip .roadtrip__media{position:absolute;inset:0;z-index:-1;margin:0}
.roadtrip .roadtrip__media img{width:100%;height:115%;object-fit:cover;will-change:transform}
.roadtrip__media::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,transparent 35%,#000a)}
.roadtrip__title{font-size:var(--fs-3xl);font-weight:900;line-height:.9;letter-spacing:var(--ls-display)}

@media (max-width:674px){
  .talk{grid-template-columns:1fr;gap:var(--space-lg)}
  .roadtrip{min-height:80svh}
  .chat textarea,.chat input{font-size:var(--fs-lg)}
}
