:root {
  color-scheme: light;
  --ink: #2b2132; --muted: #645a64; --line: #d9cfc4; --paper: #f4efe7;
  --plum: #49264b; --brass: #ebbc72; --green: #23575a;
  --surface: #fffcf7; --focus: #11757a; --danger: #812d28;
  font: 16px/1.5 "Segoe UI", system-ui, sans-serif;
}
* { box-sizing: border-box } [hidden] { display:none!important }
.callback-panel { margin-bottom:24px; max-width:800px }
.callback-panel form { max-width:540px }
.callback-panel form > button { margin-top:12px }
.callback-panel input[type=tel],.callback-panel input[inputmode=numeric] { max-width:300px; display:block }
.callback-panel .checkbox { display:flex; gap:12px; align-items:flex-start }
.callback-panel .checkbox input { width:auto; margin-top:6px; flex:none }
#browser-interview > summary { padding:12px 0; cursor:pointer; color:var(--plum) }
#browser-interview[open] > summary { margin-bottom:12px }
body { margin:0; background:var(--paper); color:var(--ink) }
header { padding:24px max(4vw,22px); display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; justify-content:space-between; color:var(--plum); border-bottom:1px solid var(--line) }
.brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; font-weight:700; font-size:19px; letter-spacing:-.025em }
.brand img { border-radius:10px }
.header-note { color:var(--muted) }
.header-actions { gap:20px }
.header-note,.small,small { font-size:.84rem } .small,small { color:var(--muted) }
.help-link { color:var(--plum); white-space:nowrap; font-size:.84rem }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0 }
main,footer { width:min(1280px,92%); margin:36px auto 48px }
main { min-height:60vh }
.skip-link { position:absolute; left:16px; top:8px; z-index:10; padding:12px 18px; background:var(--surface); transform:translateY(-160%) }
.skip-link:focus { transform:none }
footer { border-top:1px solid var(--line); display:flex; flex-wrap:wrap; align-items:center; gap:12px; justify-content:space-between; padding:15px 0; color:var(--muted); font-size:.8rem }
h1,h2,h3,h4 { line-height:1.18; margin:0 0 .6em }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:500 }
h1 { font-size:clamp(2rem,4vw,3rem); margin:.2em 0 .55em }
h2 { font-size:1.6rem } h3 { font-size:1.12rem; margin-top:1em }
.eyebrow { text-transform:uppercase; letter-spacing:.12em; font-size:.74rem; font-weight:750; color:var(--green) }
.panel,.starter { background:var(--surface); padding:clamp(20px,2.4vw,32px); border:1px solid var(--line); border-radius:16px; min-width:0 }
.starter { margin-top:18px; background:#f1e5d1 } .starter h3 { margin-top:0 }
.narrow { max-width:760px }
.page-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-bottom:30px; padding:8px 0 24px; border-bottom:1px solid var(--line) }
.page-heading p { margin:0; color:var(--muted) }
.entry-panel { display:grid; grid-template-columns:1.07fr 1fr; min-height:620px; max-width:1236px; margin:12px auto; background:var(--surface); border:1px solid var(--line); border-radius:22px; overflow:hidden }
.entry-story { position:relative; display:flex; flex-direction:column; padding:44px 42px 26px; color:#fff9ee; background:radial-gradient(ellipse at 20% 15%,#684066,transparent 60%),linear-gradient(145deg,var(--plum),#302036); overflow:hidden }
.entry-story .eyebrow { color:#e5bd83 }
.entry-headline { position:relative; z-index:1; font:normal clamp(2.5rem,4.8vw,4rem)/1.06 Georgia,serif; letter-spacing:-.045em; margin:26px 0 18px }
.entry-headline em { color:#edc68e }
.entry-story-copy { color:#ded1db; font-size:.95rem; line-height:1.7; margin:0; max-width:350px }
.entry-orb-stage { position:relative; min-height:260px; flex:1; display:grid; place-items:center; margin:12px 0 }
.entry-reassurance { font-size:.8rem; color:#ded1db; border-top:1px solid #f4efe730; padding-top:20px; margin-bottom:0 }
.entry-form { min-width:0; padding:52px 48px 36px; align-self:center }
.entry-form > .eyebrow { margin-bottom:20px }
.entry-panel h1 { font-size:clamp(1.9rem,3vw,2.4rem); letter-spacing:-.025em }
.entry-description { color:var(--muted); font-size:.93rem; line-height:1.7; margin-bottom:26px }
.entry-panel form > button { width:100% }
.entry-panel .entry-submit { justify-content:space-between; min-height:52px; margin-top:22px }
.entry-submit span { font-size:1.3rem; font-weight:400 }
.entry-panel details { margin-block:18px; font-size:.88rem }
.organizer-entry { margin-top:22px; padding-top:24px; border-top:1px solid var(--line) }
.organizer-entry h2 { font-family:inherit; font-size:.88rem; font-weight:650 }
.organizer-entry p { margin-block:6px; color:var(--muted); font-size:.84rem }
.organizer-entry a { font-size:.88rem; font-weight:600; gap:10px; text-decoration:none }
.organizer-entry a:hover { text-decoration:underline }
.organizer-entry a,#return-workspace { display:inline-flex; align-items:center; min-height:44px }
#join-pin,#invitation-pin { font-size:1.6rem; letter-spacing:.22em; font-variant-numeric:tabular-nums }
#join-pin { min-height:68px; padding:15px 17px; background:#fffdfa }
#join-pin::placeholder { color:#7a6f79; font-size:1.15rem; letter-spacing:.04em }
a { color:#55305c; text-underline-offset:3px }
nav,.row,.toolbar,.tabs { display:flex; flex-wrap:wrap; gap:10px; align-items:center }
.spread { justify-content:space-between }
#organizer-view:has(#workspace-nav:not([hidden])) { display:grid; grid-template-columns:200px minmax(0,1fr); gap:32px; align-items:start }
#organizer-view:has(#workspace-nav:not([hidden])) > section { grid-column:2; min-width:0 }
#workspace-nav { display:flex; flex-direction:column; align-items:stretch; gap:6px; padding:22px 12px 12px; border-radius:16px; background:linear-gradient(150deg,#553157,#35243c); color:#fff9ee; position:sticky; top:24px }
.workspace-label { padding:0 12px 18px; color:#edc68e; font-size:.67rem; font-weight:650; letter-spacing:.14em; text-transform:uppercase }
#workspace-nav a { padding:12px; color:#f4eaf0; font-weight:550; font-size:.9rem; text-decoration:none; border:1px solid transparent; border-radius:8px }
#workspace-nav a:hover { background:#ffffff12; border-color:#ffffff30 }
#workspace-nav a[aria-current] { color:var(--plum); background:#f9f1e7; border-color:#f9f1e7 }
#workspace-nav :focus-visible { outline-color:var(--brass) }
#workspace-nav #signout { margin-top:24px; color:#f4eaf0; background:transparent; border-color:#a28ba7; font-size:.84rem }
button,.button { display:inline-flex; align-items:center; justify-content:center; border:1px solid #b4a5b2; border-radius:9px; padding:11px 17px; min-height:44px; font-size:.9rem;line-height:1.35; font-family:inherit; font-weight:600; color:var(--ink); text-decoration:none; cursor:pointer; background:var(--surface); transition:background-color 120ms ease,box-shadow 120ms ease }
.motion-toggle { font-size:.76rem; min-height:44px; padding:6px 10px; color:var(--plum); background:transparent; border-color:transparent }
.motion-toggle[aria-pressed=true] { border-color:var(--line) }
.primary,[aria-pressed="true"].secondary { background:var(--plum); border-color:var(--plum); color:white; box-shadow:0 2px 4px #34243a18 }
.danger { color:#812d28; border-color:#904941; background:linear-gradient(#fffafa,#f4ded5) }
button:hover:not(:disabled),.button:hover { filter:brightness(.95) }
button:active:not(:disabled),.button:active { transform:translateY(1px); box-shadow:inset 0 1px 3px #0004 }
button:disabled { color:#655f62; background:#e8e3df; border-color:#afa6a4; box-shadow:none; cursor:not-allowed }
:focus-visible { outline:3px solid var(--focus); outline-offset:3px }
label { display:block; margin:12px 0 5px; font-size:.88rem; font-weight:650 }
input:not([type=checkbox]),textarea,select { display:block; width:100%; min-width:0; min-height:44px; margin:4px 0 10px; padding:11px 13px; border:1px solid #a899a5; border-radius:8px; background:#fffdfa; color:var(--ink); font:inherit; font-size:1rem; font-weight:400 }
textarea { resize:vertical; min-height:65px } input[readonly] { background:#f4f0ea }
table { width:100%; border-collapse:collapse; font-size:.93rem; margin-top:12px }
th,td { text-align:left; padding:9px 8px; border-bottom:1px solid #d9d0c4; vertical-align:top; overflow-wrap:anywhere }
th,.facts dt { font-size:.74rem; font-weight:700; color:var(--muted); letter-spacing:.03em }
th { background:#f5eee7 } td small { display:block }
tbody tr:hover { background:#f6eee8 }
.toolbar { margin-block:20px; padding-block:16px; border-block:1px solid var(--line) } .tabs { margin-bottom:16px; gap:8px }
#saved-actions { margin-bottom:20px }
.editor-section { display:inline-flex; gap:2px; align-items:center }
.section-description { max-width:70ch; margin-top:0; color:var(--muted) }
.section-help-button { width:44px; height:44px; padding:0; border-color:transparent; font-size:1rem; color:var(--plum); background:transparent; box-shadow:none }
.advanced-fields { border-top:1px solid var(--line); padding-top:8px }
.section-help-dialog { width:min(560px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:clamp(20px,4vw,32px); border:1px solid var(--line); border-radius:12px; background:#fffcf7; color:var(--ink); box-shadow:0 16px 60px #20152840 }
.section-help-dialog::backdrop { background:#24182c80 }
.section-help-dialog h2 { padding-right:12px }
.section-help-dialog ul { padding-left:22px }
.section-help-dialog li + li { margin-top:10px }
.section-help-example { padding:12px 16px; border-left:3px solid var(--brass); background:var(--paper) }
.section-help-dialog > button { margin-top:8px }
.pair,.review-grid,.master-detail,.facts { display:grid; gap:16px; align-items:start }
.pair { grid-template-columns:1fr 1fr } .review-grid { grid-template-columns:minmax(280px, .85fr) minmax(0,1.35fr) }
.master-detail { grid-template-columns:minmax(190px,.7fr) minmax(0,1.6fr); margin-bottom:12px }
.master-list { display:grid; gap:3px; max-height:62vh; overflow-y:auto; padding:4px }
.master-list button,.record-link { text-align:left; justify-content:flex-start; font-size:.93rem; box-shadow:none; border:1px solid transparent; border-radius:4px; background:transparent; padding:8px; min-height:44px }
.master-list button.secondary[aria-pressed=true],.record-link[aria-pressed=true] { color:#39253e; border-left:4px solid #633763; background:#ecdfeb; box-shadow:none }
.master-list button:hover,.record-link:hover { text-decoration:underline }
.record-link { color:var(--plum); padding:4px; font-weight:700 }
.editor-field { margin:0 0 10px } .editor-item { min-inline-size:0; margin:0; padding:12px; border:1px solid var(--line); border-radius:6px }
.editor-item legend { padding:0 5px; font-weight:700 } .editor-item .master-detail { grid-template-columns:1fr } .editor-item .master-list { max-height:160px }
details { margin:12px 0 } summary { cursor:pointer; color:var(--plum); font-weight:650; min-height:44px; padding-block:10px } .editor-item>div>details>summary { margin-bottom:12px }
.notice,#editor-error:not(:empty) { background:#fff0d0; color:#553b11; padding:12px 16px; border-left:4px solid #91630e; margin-bottom:16px }
.field-error { color:var(--danger); font-weight:600 }
.field-error:empty { display:none }
[aria-invalid=true] { border:2px solid var(--danger)!important }
#editor-state { color:var(--muted); font-size:.93rem }
.facts { grid-template-columns:repeat(auto-fit,minmax(105px,1fr)); padding:15px 0; border-block:1px solid var(--line) }
.facts dd { margin:3px 0; font-size:.93rem } .actions { margin:12px 0 }
.badge { display:inline-block; background:#e0edeb; color:#164d50; border:1px solid #91ada8; border-radius:5px; padding:2px 6px; font:600 .75rem/1.4 "Segoe UI",sans-serif }
.answer { border-top:1px solid var(--line); padding:10px 0; margin:0 }
.answer summary strong { font-size:.93rem } .answer .badge { margin-left:7px }
.field-answer { font-size:.9rem } #invite-result { margin-top:24px; scroll-margin-top:24px }
.invitation-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:20px; align-items:start; max-width:1100px }
.invitation-preview { border-top:4px solid var(--brass); position:sticky; top:20px }
.notice-copy { white-space:pre-wrap; overflow-wrap:anywhere }
.invitation-submit { grid-column:1/-1 }
.invitation-submit p:empty { display:none }
.register-panel { position:sticky; top:20px; max-height:calc(100vh - 40px); overflow:auto }
.review-status { padding:16px; margin-top:20px; background:#f1e5d1; border-left:4px solid #91630e; border-radius:4px }
.review-status h3 { margin-top:0 }
.review-status p { margin-bottom:0 }
.review-actions { margin-block:16px }
.primary-facts { grid-template-columns:repeat(3,minmax(0,1fr)) }
.primary-facts dd { font-size:1.1rem; font-weight:600; overflow-wrap:anywhere }
.record-metadata,.record-downloads { border-bottom:1px solid var(--line); padding-bottom:8px }
.record-metadata .facts { border:0; padding:0 }
#record-detail h2,#interview-answers { scroll-margin-top:24px }
.notice:not([hidden]),#invite-result:not([hidden]) { animation:feedback-in 140ms ease-out }
@keyframes feedback-in { from { opacity:.45 } to { opacity:1 } }
.interview-heading { max-width:800px; margin-bottom:26px }
.interview-heading h1 { margin-bottom:14px }
.interview-heading .lede { color:var(--muted) }
.interview-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:24px; align-items:start }
.interview-grid aside { display:flex; flex-direction:column; gap:20px }
.conversation { text-align:center; padding:0; overflow:hidden }
.conversation label,.conversation input { text-align:left }
.voice-stage { padding:24px 28px 28px; background:radial-gradient(ellipse at 25% 10%,#684066,transparent 65%),linear-gradient(145deg,var(--plum),#302036); color:#fff9ee }
.voice-stage .small { color:#ded1db }
.voice-stage .badge { background:#ffffff0f; color:#f3e5ef; border-color:#9d819e; border-radius:20px; padding:5px 10px }
.voice-stage > .row { align-items:start; gap:12px }
.voice-stage #progress { max-width:220px; text-align:right }
#voice-heading { font-size:1.8rem }
#voice-help { color:#ded1db; font-size:.93rem; max-width:48ch; margin:0 auto; line-height:1.65 }
.voice-session { padding:22px 28px 24px }
.aurora-orb { position:relative; width:180px; height:180px; display:grid; place-items:center; border-radius:47% 53% 49% 51% / 54% 44% 56% 46%; background:radial-gradient(circle at 28% 24%,#ffe4ae,#e8b5cd 18%,#b59dcd 38%,#77a7a7 59%,#486b7e 75%,#4c355c 93%); box-shadow:inset -12px -16px 30px #35213d80,inset 3px 3px 10px #ffe6d080,0 18px 42px #140d2338 }
.aurora-orb::before,.aurora-orb::after { content:""; position:absolute; inset:-26px; border:1px solid #d4bec536; border-radius:50%; transform:rotate(-24deg) scaleY(.76) }
.aurora-orb::after { inset:-43px; border-color:#d4bec51f; transform:rotate(30deg) scaleY(.78) }
.entry-orb { animation:orb-breathe 6s ease-in-out infinite }
.voice-orb { margin:48px auto 40px }
.voice-orb.active,.voice-stage:has(.voice-activity.working:not([hidden])) .voice-orb { animation:orb-breathe 3s ease-in-out infinite }
.voice-stage:has(.voice-activity:not([hidden]):not(.working)) .voice-orb { animation:none }
.voice-wave { display:flex; align-items:center; gap:5px; height:42px }
.voice-wave i { width:4px; height:16px; border-radius:5px; background:#fff6ed; opacity:.92; box-shadow:0 1px 6px #3d2c4833 }
.voice-wave i:nth-child(2),.voice-wave i:nth-child(6) { height:23px }
.voice-wave i:nth-child(3),.voice-wave i:nth-child(5) { height:33px }
.voice-wave i:nth-child(4) { height:42px }
.voice-orb.speaking .voice-wave i { animation:voice-wave .9s ease-in-out infinite alternate }
.voice-orb.speaking .voice-wave i:nth-child(2n) { animation-delay:-.4s }
.voice-orb.speaking .voice-wave i:nth-child(3n) { animation-delay:-.7s }
@keyframes orb-breathe { 50% { transform:scale(1.045) rotate(5deg); border-radius:52% 48% 51% 49% / 45% 53% 47% 55% } }
@keyframes voice-wave { from { transform:scaleY(.5) } to { transform:scaleY(1.1) } }
audio { width:100%; height:35px; margin:10px 0 20px }
.checkbox { display:flex; gap:10px; text-align:left; font-weight:400; line-height:1.6; align-items:flex-start; margin:18px 0 }
.checkbox input { margin-top:4px; accent-color:var(--green) }
#start-voice { width:100%; margin-top:12px }
#voice-controls { justify-content:center; margin-top:20px }
.transcript { height:480px; overflow-y:auto; font-size:14px; line-height:1.7 }
.caption { padding:14px 0; border-bottom:1px solid var(--line); white-space:pre-wrap; overflow-wrap:anywhere }
.caption strong { display:block; color:var(--green); font-size:11px; letter-spacing:.8px; text-transform:uppercase; margin-bottom:4px }
.voice-activity { display:flex; align-items:center; justify-content:center; gap:14px; padding:13px 16px; margin:22px 0 0; border:1px solid #aa8c9d; border-radius:10px; background:#ffffff0d; color:#f6d7a3; font-weight:600; font-size:.9rem }
.activity-dots { display:flex; gap:5px; flex:none }
.activity-dots i { width:7px; height:7px; border-radius:50%; background:currentColor }
.voice-activity.working .activity-dots i { animation:opening-pulse 1.4s ease-in-out infinite }
.voice-activity.working .activity-dots i:nth-child(2) { animation-delay:.18s }
.voice-activity.working .activity-dots i:nth-child(3) { animation-delay:.36s }
@keyframes opening-pulse { 0%,80%,100% { opacity:.4; transform:translateY(0) } 40% { opacity:1; transform:translateY(-3px) } }
.debrief { margin-block: 1rem; padding-block: .75rem; border-block: 1px solid currentColor; }
.debrief form { display: grid; gap: .5rem; }
.debrief button { justify-self: start; }
.debrief [role="log"] { overflow-wrap: anywhere; }
body[data-motion=paused] *,body[data-motion=paused] *::before,body[data-motion=paused] *::after { animation:none!important; transition:none!important }
@media(max-width:1100px) {
  #organizer-view:has(#workspace-nav:not([hidden])) { grid-template-columns:170px minmax(0,1fr); gap:22px }
  .review-grid,.master-detail { grid-template-columns:1fr }
  .master-list { max-height:210px }
  .register-panel { position:static; max-height:450px }
  .entry-form,.entry-story { padding-inline:32px }
  .header-note { display:none }
}
@media(max-width:800px) {
  #organizer-view:has(#workspace-nav:not([hidden])) { display:block }
  #workspace-nav { position:static; flex-direction:row; flex-wrap:wrap; align-items:center; padding:10px; margin-bottom:28px; gap:5px }
  .workspace-label { display:none }
  #workspace-nav a { padding:10px; min-height:44px }
  #workspace-nav #signout { margin:0 0 0 auto }
  .review-grid,.interview-grid,.master-detail,.invitation-layout { grid-template-columns:1fr }
  main { width:94%; margin-top:24px }
  .transcript { height:300px }
  .register-panel,.invitation-preview { position:static; max-height:none }
  .entry-panel { grid-template-columns:1fr; min-height:0; margin-top:0 }
  .entry-story { min-height:260px; padding:30px 32px }
  .entry-headline { font-size:2.75rem; max-width:340px; margin-top:18px }
  .entry-story-copy { position:relative; z-index:1; max-width:330px; font-size:.88rem }
  .entry-orb-stage { position:absolute; right:26px; top:10px; width:190px; min-height:230px; margin:0; opacity:.4 }
  .entry-orb { width:130px; height:130px }
  .entry-reassurance { display:none }
  .entry-form { padding:34px 36px }
  .entry-form > .eyebrow { margin-bottom:16px }
}
@media(max-width:440px) {
  header { gap:8px; padding:16px }
  .brand { font-size:.95rem; gap:8px }
  .brand img { width:28px; height:28px }
  .header-actions { gap:10px }
  .help-link { display:inline-flex; align-items:center; min-height:44px }
  .pair { grid-template-columns:1fr }
  .page-heading > .row { width:100% }
  .page-heading > .row .button { flex:1 }
  .toolbar > .row { width:100%; gap:8px }
  .toolbar > .row button { flex:1 }
  .primary-facts { gap:8px }
  .entry-story { padding:22px 24px; min-height:135px }
  .entry-headline { font-size:2rem; max-width:250px; margin:0 }
  .entry-story-copy,.entry-story > .eyebrow,.entry-form > .eyebrow { display:none }
  .entry-orb-stage { right:-55px; top:0; opacity:.2 }
  .entry-orb { width:110px; height:110px }
  .entry-form { padding:24px }
  .entry-panel h1 { font-size:1.9rem }
  .entry-description { font-size:.88rem; margin-bottom:20px }
  .voice-stage,.voice-session { padding:22px 20px }
  .voice-stage #progress { text-align:left; max-width:none }
  .voice-orb { width:150px; height:150px }
  #workspace-nav #signout { margin-left:0 }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important }
  .motion-toggle { display:none }
}

.telephone-panel { margin-bottom: 1.5rem; }
.telephone-panel .button { white-space: normal; overflow-wrap: anywhere; }
.telephone-pin { font-weight: 700; }
