/* Local context stays a quiet, native disclosure. */
.somos-conversation [hidden] {
  display: none !important;
}
.consultation-context {
  margin: 0 0 24px;
  border-top: 1px solid #203c3730;
  border-bottom: 1px solid #203c3730;
  font:
    12px/1.6 "DM Sans",
    sans-serif;
}
.consultation-context > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 48px;
  cursor: pointer;
  list-style: none;
  color: var(--ink);
}
.consultation-context > summary::-webkit-details-marker {
  display: none;
}
.consultation-context > summary > span {
  font-size: 20px;
  font-weight: 300;
}
.consultation-context[open] > summary > span {
  transform: rotate(45deg);
}
.consultation-panel {
  padding: 0 0 18px;
}
.consultation-note {
  font-size: 11px;
  line-height: 1.7;
  color: var(--muted);
  max-width: 710px;
  margin: 5px 0 16px;
}
.consultation-note:empty {
  display: none;
}
.context-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 30px;
  margin-block: 22px;
}
.context-grid h4,
.context-grid label > span {
  display: block;
  font:
    600 10px/1.5 Manrope,
    sans-serif;
  letter-spacing: 0.06em;
  margin-bottom: 7px;
}
.context-grid p {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 13px;
}
.context-grid textarea,
.profile-controls input,
.profile-controls select {
  width: 100%;
  min-width: 0;
  border: 1px solid #203c3745;
  border-radius: 2px;
  background: #ffffff36;
  color: var(--ink);
  font:
    13px/1.5 "DM Sans",
    sans-serif;
  padding: 10px;
  min-height: 44px;
}
.context-grid textarea {
  resize: vertical;
}
.context-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 24px;
}
.context-actions button,
.profile-controls button {
  min-height: 44px;
  text-align: left;
  font-size: 11px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.context-actions button:hover,
.profile-controls button:hover {
  color: #3b5d4e;
}
.consultation-profiles {
  margin-top: 12px;
  border-top: 1px solid #203c3722;
}
.consultation-profiles > summary {
  min-height: 44px;
  padding-block: 12px;
  cursor: pointer;
}
.context-retention {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  cursor: pointer;
}
.context-retention input {
  width: 18px;
  height: 18px;
  accent-color: var(--ink);
  flex-shrink: 0;
}
.profile-controls {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  max-width: 650px;
  margin-block: 20px 10px;
}
.profile-controls button {
  grid-column: 2;
}
.consultation-context :focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 3px;
}
.consultation-context button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
@media (max-width: 760px) {
  .context-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .profile-controls {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .profile-controls button {
    grid-column: 1;
  }
  .consultation-context {
    margin-bottom: 18px;
  }
}
.somos-conversation {
  max-width: 1010px;
  margin: 65px auto 0;
  padding-top: 37px;
  border-top: 1px solid #203c3740;
}
.presence-identity {
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: Manrope, sans-serif;
  font-size: 17px;
  letter-spacing: -0.02em;
}
.presence-identity img {
  width: 53px;
  height: 47px;
  object-fit: contain;
}
.connection-label {
  margin-left: auto;
  font:
    10px/1.5 "DM Sans",
    sans-serif;
  letter-spacing: 0;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 8px;
}
.connection-label:before {
  content: "";
  width: 5px;
  height: 5px;
  border: 1px solid currentColor;
  border-radius: 50%;
}
[data-state="ready"] .connection-label:before {
  background: var(--ink);
}
.conversation-intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 50px;
  padding-block: 40px 45px;
}
.conversation-intro > p {
  font-family: "Instrument Serif", serif;
  font-size: clamp(52px, 7vw, 100px);
  line-height: 1;
  letter-spacing: -0.03em;
}
.conversation-intro > span {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.65;
  padding-bottom: 8px;
}
.conversation-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  padding-bottom: 27px;
}
.conversation-suggestions button {
  font-size: 11px;
  min-height: 44px;
  border: 1px solid #a9b59b;
  border-radius: 99px;
  padding: 12px 17px;
  transition:
    background 0.25s,
    border-color 0.25s;
  text-align: left;
}
.conversation-suggestions button:hover {
  background: var(--leaf);
  border-color: #839569;
}
.conversation-form {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  border-top: 1px solid #203c37;
  border-bottom: 1px solid #203c37;
  padding: 19px 0 18px;
}
.conversation-form textarea {
  border: 0;
  background: transparent;
  width: 100%;
  resize: none;
  font:
    400 22px/1.4 "DM Sans",
    sans-serif;
  min-height: 49px;
  max-height: 180px;
  padding: 10px 6px;
  color: var(--ink);
  outline-offset: 0;
}
.conversation-form textarea::placeholder {
  color: #617362;
}
.conversation-form textarea:focus {
  outline: 0;
}
.conversation-form:focus-within {
  box-shadow: 0 2px 0 var(--ink);
}
.conversation-form button {
  display: grid;
  place-items: center;
  min-height: 52px;
  min-width: 52px;
  border-radius: 50%;
  font-size: 28px;
  background: var(--ink);
  color: var(--mineral);
  flex-shrink: 0;
  transition:
    background 0.25s,
    transform 0.25s;
}
.conversation-form button:hover {
  background: #3b5d4e;
  transform: rotate(8deg);
}
.conversation-form button[hidden] {
  display: none;
}
.conversation-form button:disabled {
  opacity: 0.45;
  transform: none;
}
.conversation-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
  margin-top: 9px;
  font-size: 10px;
  color: var(--muted);
}
.conversation-meta button {
  min-height: 44px;
  font-size: 10px;
  white-space: nowrap;
}
.conversation-privacy {
  font-size: 10px;
  line-height: 1.7;
  max-width: 660px;
  color: var(--muted);
  margin-top: 8px;
}
.conversation-log {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.conversation-log:empty {
  display: none;
}
.conversation-log:not(:empty) {
  padding-block: 10px 45px;
}
.conversation-message {
  position: relative;
  max-width: 93%;
  padding-top: 15px;
  border-top: 1px solid #203c3722;
}
.conversation-message[data-role="user"] {
  align-self: flex-end;
  width: auto;
  max-width: 78%;
  border: 0;
  padding: 18px 23px;
  background: #e3e9d3;
  border-radius: 2px;
}
.conversation-message-label {
  font:
    600 9px/1.5 Manrope,
    sans-serif;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 15px;
  display: block;
}
.conversation-message-body {
  font-size: 18px;
  line-height: 1.65;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.conversation-message[data-role="assistant"] .conversation-message-body {
  font-family: "Instrument Serif", serif;
  font-size: clamp(26px, 3.1vw, 42px);
  letter-spacing: -0.016em;
  line-height: 1.22;
}
.conversation-message[data-role="user"] .conversation-message-body {
  font-size: 15px;
}
.conversation-message[data-state="error"] .conversation-message-body {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #775330;
}
.conversation-message[data-state="waiting"] .conversation-message-body {
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  color: var(--muted);
}
.conversation-message[data-state="waiting"] .conversation-message-body:after {
  content: " …";
}
.message-note {
  font:
    10px/1.5 "DM Sans",
    sans-serif;
  color: var(--muted);
  margin-top: 13px;
}
.message-retry {
  font-size: 12px;
  border-bottom: 1px solid;
  min-height: 44px;
  margin-top: 10px;
}
.somos-conversation[data-state="unavailable"] .connection-label {
  color: #775330;
}
@media (max-width: 760px) {
  .somos-conversation {
    margin-top: 38px;
    padding-top: 26px;
  }
  .presence-identity {
    font-size: 15px;
    gap: 11px;
  }
  .presence-identity img {
    width: 44px;
    height: 39px;
  }
  .connection-label {
    font-size: 8px;
    max-width: 160px;
    text-align: right;
  }
  .conversation-intro {
    display: block;
    padding-block: 32px;
  }
  .conversation-intro > p {
    font-size: 65px;
  }
  .conversation-intro > span {
    display: block;
    font-size: 13px;
    margin-top: 22px;
  }
  .conversation-suggestions {
    gap: 8px;
    padding-bottom: 23px;
  }
  .conversation-suggestions button {
    font-size: 10px;
    padding: 11px 13px;
  }
  .conversation-form {
    gap: 10px;
    padding-block: 12px;
  }
  .conversation-form textarea {
    font-size: 17px;
    min-height: 48px;
    padding-left: 0;
  }
  .conversation-form button {
    min-width: 46px;
    min-height: 46px;
    font-size: 25px;
  }
  .conversation-meta {
    font-size: 9px;
    gap: 15px;
  }
  .conversation-meta button {
    font-size: 9px;
  }
  .conversation-privacy {
    font-size: 9px;
  }
  .conversation-message {
    max-width: 100%;
  }
  .conversation-message[data-role="user"] {
    max-width: 89%;
    padding: 15px 18px;
  }
  .conversation-message[data-role="assistant"] .conversation-message-body {
    font-size: 29px;
  }
  .conversation-message[data-role="user"] .conversation-message-body {
    font-size: 14px;
  }
}

/* Dialogue as the final editorial scene — not an inset widget. */
.presence-heading .presence-premise{font-family:"DM Sans",sans-serif;font-size:clamp(17px,2vw,30px);font-weight:400;line-height:1.35;letter-spacing:-.025em;margin-bottom:28px;color:var(--muted)}
.somos-conversation{max-width:none;width:100%;margin:76px 0 0;padding-top:40px;border-top:1px solid #203c3750;position:relative}
.somos-conversation:before{content:"";position:absolute;top:-2px;left:0;width:clamp(64px,12vw,190px);height:3px;background:var(--ink)}
.presence-identity{gap:23px;font-family:"Instrument Serif",serif;font-size:clamp(35px,4vw,62px);line-height:1;letter-spacing:-.035em;padding-bottom:28px}
.presence-identity img{width:clamp(70px,7vw,102px);height:auto;max-height:90px}
.connection-label{font:11px/1.5 "DM Sans",sans-serif;letter-spacing:.02em;gap:10px;align-self:center}
.conversation-intro{padding:40px 0 50px;align-items:center;gap:70px}
.conversation-intro>p{font-size:clamp(67px,8.8vw,140px);line-height:.98;letter-spacing:-.038em}
.conversation-intro>span{font-size:16px;line-height:1.65;max-width:330px}
.consultation-context{margin-bottom:40px;font-size:13px}
.consultation-context>summary{min-height:58px}
.conversation-log{gap:46px;overflow:clip;overflow-clip-margin:14px}
.conversation-log:not(:empty){padding:22px 0 60px}
.conversation-message{scroll-margin-top:110px;width:100%;max-width:none;padding-top:28px;position:relative}
.conversation-message[data-role=user]{background:transparent;border-left:2px solid #9dab7f;max-width:74%;padding:14px 0 14px 26px;border-radius:0;margin:0 0 6px;align-self:flex-end}
.conversation-message[data-role=user] .conversation-message-body{font-family:"Instrument Serif",serif;font-size:clamp(26px,3.1vw,44px);line-height:1.25;letter-spacing:-.015em;color:#496153}
.conversation-message-label{font-size:11px;letter-spacing:.18em;margin-bottom:23px}
.conversation-message[data-role=assistant]{padding-top:33px}
.conversation-message[data-role=assistant]:before{content:"";position:absolute;top:-1px;left:0;width:64px;height:2px;background:var(--ink)}
.conversation-message[data-role=assistant] .conversation-message-body{font-size:clamp(44px,5vw,76px);line-height:1.14;letter-spacing:-.026em;max-width:100%;position:relative;font-kerning:none;font-variant-ligatures:none}
.conversation-message[data-role=assistant] .conversation-message-body[data-density=short]{font-size:clamp(49px,6.4vw,98px);line-height:1.09}
.conversation-message[data-state=waiting] .conversation-message-body{font-family:"Instrument Serif",serif;font-style:italic;font-size:clamp(37px,4vw,60px);line-height:1.2;color:var(--muted)}
.conversation-message[data-state=error] .conversation-message-body{font:16px/1.6 "DM Sans",sans-serif;letter-spacing:0;color:#775330}
.flight-visual{display:block;white-space:pre-wrap;perspective:950px;perspective-origin:50% 50%;user-select:none}
.flight-word{display:inline-block;white-space:nowrap;vertical-align:baseline}
.flight-word-long{display:inline;white-space:normal;overflow-wrap:anywhere}
.flight-glyph{display:inline-block;backface-visibility:hidden;position:relative;transform-style:preserve-3d}
.flight-finish{position:absolute;right:0;top:13px;display:inline-flex;align-items:center;min-height:44px;margin-top:0;padding:0;font:12px/1.4 "DM Sans",sans-serif;text-decoration:underline;text-underline-offset:5px;color:var(--muted)}
.flight-finish:hover{color:var(--ink)}
.conversation-suggestions{gap:12px;padding:0 0 36px}
.conversation-suggestions button{font-size:13px;padding:15px 20px;min-height:48px;background:#e3e9d32a}
.conversation-form{padding:25px 0;gap:26px;border-bottom-color:#203c3777}
.conversation-form textarea{font:400 clamp(25px,3.1vw,43px)/1.24 "Instrument Serif",serif;letter-spacing:-.01em;min-height:72px;padding:10px 4px}
.conversation-form textarea::placeholder{color:#617362}
.conversation-form button{width:72px;height:72px;min-width:72px;min-height:72px;font-size:38px}
.conversation-meta{margin-top:13px;font-size:12px}
.conversation-meta button{font-size:12px}
.conversation-privacy{font-size:11px;max-width:790px;margin-top:12px}
@media(min-width:1500px){.somos-conversation{max-width:1600px}.conversation-message[data-role=assistant] .conversation-message-body{max-width:23em}}
@media(max-width:760px){
.presence-heading .presence-premise{font-size:16px;max-width:260px;margin-bottom:22px;line-height:1.45}
.somos-conversation{margin-top:36px;padding-top:29px}
.presence-identity{font-size:42px;gap:15px;padding-bottom:22px;flex-wrap:wrap}
.presence-identity img{width:66px;max-height:60px}
.connection-label{font-size:9px;max-width:150px;line-height:1.5;letter-spacing:0}
.conversation-intro{padding:28px 0 36px;display:block}
.conversation-intro>p{font-size:clamp(58px,14.7vw,105px);line-height:1.02}
.conversation-intro>span{font-size:14px;margin-top:24px;max-width:300px}
.conversation-intro>span br{display:none}
.consultation-context{margin-bottom:24px;font-size:12px}
.conversation-log{gap:30px;overflow-clip-margin:8px}
.conversation-log:not(:empty){padding:12px 0 38px}
.conversation-message[data-role=user]{max-width:92%;padding:10px 0 10px 16px}
.conversation-message[data-role=user] .conversation-message-body{font-size:27px}
.conversation-message-label{font-size:9px;margin-bottom:16px}
.conversation-message[data-role=assistant]{padding-top:25px}
.conversation-message[data-role=assistant] .conversation-message-body{font-size:clamp(31px,8.8vw,48px);line-height:1.2;letter-spacing:-.014em}
.conversation-message[data-role=assistant] .conversation-message-body[data-density=short]{font-size:clamp(35px,10.2vw,55px);line-height:1.16}
.conversation-message[data-state=waiting] .conversation-message-body{font-size:32px}
.conversation-message[data-state=error] .conversation-message-body{font-size:14px;line-height:1.55}
.conversation-suggestions{gap:8px;padding-bottom:25px}
.conversation-suggestions button{font-size:11px;min-height:44px;padding:12px 14px}
.conversation-form{gap:12px;padding:17px 0}
.conversation-form textarea{font-size:29px;min-height:60px;line-height:1.2;padding-left:0}
.conversation-form button{width:54px;height:54px;min-width:54px;min-height:54px;font-size:28px}
.conversation-meta{font-size:10px;gap:20px;align-items:flex-start}
.conversation-meta button{font-size:10px;flex-shrink:0}
.conversation-privacy{font-size:10px;line-height:1.65}
.flight-finish{font-size:11px;margin-top:0;top:9px}
}
@media(forced-colors:active){.flight-glyph{transform:none!important;opacity:1!important;color:CanvasText!important}.somos-conversation:before,.conversation-message[data-role=assistant]:before{background:CanvasText}}

/* Native-scroll reading chapters. No nested wheel capture or timed reveal. */
.somos-presence{overflow-anchor:none}
.conversation-log{overflow:visible;overflow-anchor:none}
.conversation-message[data-reading=scroll]{overflow:visible;padding-bottom:0;isolation:isolate}
.reply-scroll-stage{position:relative;background:var(--mineral);width:100%;min-width:0}
[data-reading=scroll]>.reply-scroll-stage{position:sticky;top:104px}
.reply-scroll-viewport[data-panned=true]{mask-image:linear-gradient(to bottom,transparent,black 25px,black 100%)}
.reply-scroll-viewport{display:block;overflow:clip;width:100%;position:relative;perspective:1000px;overflow-clip-margin:4px}
[data-reading=scroll] .flight-visual{display:block;position:relative;white-space:pre-wrap;user-select:none;transform-origin:top left}
[data-reading=scroll] .flight-glyph{will-change:auto}
.reply-scroll-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:-9px 0 22px;min-height:44px}
.reply-scroll-cue{font:11px/1.45 "DM Sans",sans-serif;color:var(--muted);letter-spacing:.015em}
.reply-scroll-tools .flight-finish{position:static;top:auto;margin:0;flex-shrink:0;font-size:11px;min-height:44px}
.reply-scroll-rule{height:1px;width:100%;margin-top:28px;background:#203c3720;overflow:hidden}
.reply-scroll-rule i{display:block;height:100%;background:var(--ink);transform:scaleX(0);transform-origin:left}
[data-reading=direct] .reply-scroll-rule{display:none}
.conversation-reading-nav{display:flex;align-items:center;flex-wrap:wrap;gap:7px 24px;padding:11px 0 17px;margin-bottom:20px;border-bottom:1px solid #203c3733;font:11px/1.5 "DM Sans",sans-serif;color:var(--ink)}
.conversation-reading-caption{margin-right:auto;color:var(--muted)}
.conversation-reading-nav button{min-height:44px;padding:8px 0;font-size:11px}
.conversation-reading-nav button[data-read-direct]{text-decoration:underline;text-underline-offset:5px}
.conversation-reading-nav button[aria-pressed=true]{font-weight:600}
@media(max-width:760px){
[data-reading=scroll]>.reply-scroll-stage{top:88px}
.reply-scroll-tools{gap:12px;margin:-6px 0 18px;min-height:44px}
.reply-scroll-cue{font-size:9px;max-width:190px}
.reply-scroll-tools .flight-finish{font-size:10px}
.reply-scroll-rule{margin-top:20px}
.conversation-reading-nav{gap:0 20px;padding-top:0;margin-bottom:12px}
.conversation-reading-caption{flex-basis:100%;font-size:10px;padding-bottom:4px}
.conversation-reading-nav button{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.reply-scroll-stage{position:relative!important}.reply-scroll-viewport{height:auto!important;overflow:visible}.reply-scroll-tools .flight-finish{display:none}}
@media(forced-colors:active){.reply-scroll-stage{position:relative!important;background:Canvas}.reply-scroll-viewport{height:auto!important;overflow:visible}.reply-scroll-tools .flight-finish{display:none}}
