/* Official Scott reference styles scoped to the Scott section */
@scope (#editorial-inquiry) {

:scope{
  --bg:#F6F5F2;
  --card:#FFFFFF;
  --navy:#0F1B2D;
  --steel:#3F5877;
  --text:#3E4A5E;
  --mute:#7A8496;
  --line:#E6E8EC;
  --bubble:#F2F4F7;
  --red:#B3261E;
  --green:#3F8F6B;
  --on-navy:#FFFFFF;
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :scope:not([data-theme="light"]){
    --bg:#0D1420; --card:#141E2E; --navy:#E8ECF3; --steel:#9DB3D1; --text:#C3CBD8; --mute:#8A94A6;
    --line:#26324A; --bubble:#1C2840; --red:#F0675E; --green:#6CC59B; --on-navy:#0D1420;
    color-scheme:dark;
  }
}
:scope[data-theme="dark"]{
  --bg:#0D1420; --card:#141E2E; --navy:#E8ECF3; --steel:#9DB3D1; --text:#C3CBD8; --mute:#8A94A6;
  --line:#26324A; --bubble:#1C2840; --red:#F0675E; --green:#6CC59B; --on-navy:#0D1420;
  color-scheme:dark;
}
*,*::before,*::after{ box-sizing:inherit; }
.page{
  margin:0; min-height:100vh; color:var(--text);
  background:
    radial-gradient(60% 40% at 0% 0%, rgba(120,150,200,.10), transparent 70%),
    radial-gradient(50% 40% at 100% 100%, rgba(200,120,110,.08), transparent 70%),
    var(--bg);
  font-family:"DM Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased; line-height:1.55;
}
.page{ max-width:760px; margin:0 auto; padding:clamp(2rem,5vw,3rem) clamp(1rem,4vw,1.5rem) 3rem; text-align:center; }

/* ── Logo ── */
.brand{ display:inline-flex; align-items:center; gap:.7rem; text-align:left; }
.hat-anchor{ display:inline-block; width:40px; height:45px; }
.brand b{ display:block; color:var(--navy); font-size:1rem; letter-spacing:.02em; }
.brand small{ display:block; color:var(--mute); font-size:.62rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }

h1{ margin:1.6rem 0 0; font-weight:700; font-size:clamp(2.6rem,7.5vw,4.6rem); line-height:1.02; letter-spacing:-.045em; color:var(--navy); }
h1 span{ display:block; color:var(--steel); }
.scott-intro{ margin:1.4rem auto 0; max-width:31rem; color:var(--text); font-size:1.05rem; }

/* ── Tarjeta del chat ── */
.chat{
  position:relative; margin:2.4rem auto 0; text-align:left;
  background:var(--card); border:1px solid var(--line); border-radius:22px;
  box-shadow:0 30px 60px -35px rgba(15,27,45,.35);
  padding:1.4rem 1.5rem 1rem; overflow:visible;
}
.chat-head{ display:flex; align-items:center; gap:.8rem; }
.avatar{ position:relative; width:40px; height:45px; flex:none; z-index:50; }
.who b{ display:block; color:var(--navy); font-size:1rem; }
.who small{ color:var(--mute); font-size:.82rem; }
.status{ margin-left:auto; display:flex; align-items:center; gap:.45rem; color:var(--mute); font-size:.8rem; }
.status i{ width:7px; height:7px; border-radius:50%; background:var(--green); }
.status.typing i{ animation:blink 1s infinite; }
@keyframes blink{ 50%{ opacity:.25; } }
.progress{ margin:1rem 0 0; height:3px; background:var(--line); border-radius:3px; overflow:hidden; }
.progress div{ height:100%; width:8%; background:var(--red); border-radius:3px; transition:width .7s cubic-bezier(.3,1.2,.5,1); }

.log{ min-height:230px; max-height:420px; overflow-y:auto; padding:1.2rem 2px .4rem; display:flex; flex-direction:column; gap:.6rem; scroll-behavior:smooth; }
.msg{ max-width:82%; padding:.75rem 1rem; border-radius:16px; font-size:.98rem; animation:in .45s cubic-bezier(.3,1.3,.5,1) both; }
.msg.scott{ background:var(--bubble); color:var(--navy); border-top-left-radius:6px; align-self:flex-start; }
.msg.user{ background:var(--navy); color:var(--on-navy); border-top-right-radius:6px; align-self:flex-end; }
@keyframes in{ from{ opacity:0; transform:translateY(8px) scale(.98); } to{ opacity:1; transform:none; } }
.dots{ display:inline-flex; gap:4px; padding:1rem 1.1rem; }
.dots span{ width:6px; height:6px; border-radius:50%; background:var(--mute); animation:dot 1s infinite; }
.dots span:nth-child(2){ animation-delay:.15s } .dots span:nth-child(3){ animation-delay:.3s }
@keyframes dot{ 0%,60%,100%{ transform:translateY(0); opacity:.5 } 30%{ transform:translateY(-4px); opacity:1 } }

.options{ display:flex; flex-wrap:wrap; gap:.5rem; padding:.4rem 0 .2rem; }
.opt{
  font:inherit; font-size:.92rem; color:var(--navy); background:var(--card);
  border:1px solid var(--line); border-radius:999px; padding:.55rem 1rem; cursor:pointer;
  transition:border-color .2s, transform .3s cubic-bezier(.3,1.6,.5,1);
  animation:in .4s cubic-bezier(.3,1.3,.5,1) both;
}
.opt:hover{ border-color:var(--red); transform:translateY(-2px); }
.opt:focus-visible{ outline:2px solid var(--red); outline-offset:2px; }

.summary{ align-self:stretch; border:1px solid var(--line); border-radius:16px; padding:1rem 1.1rem; animation:in .5s both; }
.summary b{ color:var(--navy); }
.summary dl{ display:grid; grid-template-columns:auto 1fr; gap:.35rem 1rem; margin:.7rem 0 0; font-size:.92rem; }
.summary dt{ color:var(--mute); } .summary dd{ margin:0; color:var(--navy); word-break:break-word; }

.composer{ display:flex; gap:.6rem; padding:.8rem 0 1rem; }
.composer input{
  flex:1; min-width:0; font:inherit; font-size:1rem; color:var(--navy);
  background:var(--card); border:1px solid var(--line); border-radius:14px; padding:.9rem 1rem;
}
.composer input:focus{ outline:none; border-color:var(--steel); }
.composer input:disabled{ opacity:.5; }
.send{
  flex:none; width:52px; border:0; border-radius:14px; background:var(--navy); color:var(--on-navy);
  display:grid; place-items:center; cursor:pointer; transition:transform .3s cubic-bezier(.3,1.6,.5,1);
}
.send:hover{ transform:translateY(-2px); } .send:disabled{ opacity:.35; cursor:default; transform:none; }
.send:focus-visible{ outline:2px solid var(--red); outline-offset:2px; }
.error{ color:var(--red); font-size:.82rem; min-height:1.1em; margin:.2rem 0 0; }
.foot{ display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:.8rem; font-size:.75rem; color:var(--mute); }
.foot button{ font:inherit; color:var(--steel); background:none; border:0; cursor:pointer; padding:0; }

.topics{ display:flex; justify-content:center; flex-wrap:wrap; gap:.6rem; margin-top:1.2rem; }
.topics .opt{ animation:none; background:transparent; color:var(--text); }
.disclaimer{ margin-top:.9rem; font-size:.78rem; color:var(--mute); }

/* ── Sombrero de Scott ── */
.hat{ position:absolute; inset:0; }
.hat svg{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.h-layer{ position:absolute; inset:0; opacity:0; transition:transform .45s cubic-bezier(.34,1.56,.64,1) calc((3 - var(--k)) * .035s), opacity .18s linear calc(.22s + (3 - var(--k)) * .02s); }
.h-layer path{ fill:none; stroke:var(--navy); stroke-width:1.4; vector-effect:non-scaling-stroke; stroke-linejoin:round; }
.h-front{ position:absolute; inset:0; z-index:2; transition:transform .5s cubic-bezier(.34,1.56,.64,1); }
.hat.is-on .h-front{ transform:translate(-14px,-14px); transition:transform .8s cubic-bezier(.34,1.56,.64,1); }
.hat.is-on .h-layer{ opacity:1; transform:translate(calc(var(--k) * -3.5px), calc(var(--k) * -3.5px)); transition:transform .8s cubic-bezier(.34,1.56,.64,1) calc((4 - var(--k)) * .05s), opacity .12s linear calc((4 - var(--k)) * .05s); }
.h-move{ position:absolute; inset:0; transform-origin:30% 96%; }
.h-move.thinking{ animation:think 1.2s ease-in-out infinite; }
@keyframes think{ 0%,100%{ rotate:-4deg } 50%{ rotate:4deg } }
.hat-r{ fill:#C62A2F } .hat-w{ fill:#FFFFFF } .hat-band{ fill:#14235C } .hat-brim{ fill:#C62A2F }
.hat-line{ fill:none; stroke:#0F1B2D; stroke-width:2.6 } .hat-outline{ fill:none; stroke:#0F1B2D; stroke-width:3.4; stroke-linejoin:round }
.mini-star{ fill:#FFFFFF; transform-box:fill-box; transform-origin:center; }
.pop .mini-star{ animation:star-pop .6s cubic-bezier(.3,1.6,.5,1) both; animation-delay:calc(var(--n) * .06s); }
@keyframes star-pop{ 0%{ transform:scale(1) } 45%{ transform:scale(1.9) rotate(72deg) } 100%{ transform:scale(1) rotate(72deg) } }
.spark{ position:absolute; left:50%; top:30%; width:10px; height:10px; margin:-5px 0 0 -5px; pointer-events:none; z-index:60; }

@media (prefers-reduced-motion: reduce){
  .msg, .opt, .summary{ animation:none; }
  .h-move.thinking{ animation:none; }
  .hat *{ transition-duration:.01s !important; }
}
@media (max-width:520px){
  .status span{ display:none; }
  .msg{ max-width:90%; }
}

}
#editorial-inquiry.scott-reference{--bg:#F6F5F2
--card:#FFFFFF
--navy:#0F1B2D
--steel:#3F5877
--text:#3E4A5E
--mute:#7A8496
--line:#E6E8EC
--bubble:#F2F4F7
--red:#B3261E
--green:#3F8F6B
--on-navy:#FFFFFF;background:radial-gradient(60% 40% at 0% 0%,rgba(120,150,200,.10),transparent 70%),radial-gradient(50% 40% at 100% 100%,rgba(200,120,110,.08),transparent 70%),#F6F5F2;overflow:visible;position:relative;padding:45px 18px 85px}
#editorial-inquiry .page{overflow:visible}
#editorial-inquiry .chat{overflow:visible}

/* Section containment prevents legacy site section .intro styling. */
#editorial-inquiry .page{min-height:0!important;background:transparent!important;max-width:760px!important;margin:0 auto!important;padding:0 14px 22px!important;display:block!important}
#editorial-inquiry .scott-intro{display:block!important;position:static!important;min-height:0!important;height:auto!important;max-width:31rem!important;margin:1.4rem auto 0!important;padding:0!important;background:none!important;color:#3E4A5E!important;font-size:1.05rem!important;line-height:1.55!important;text-align:center!important;transform:none!important}
#editorial-inquiry .chat{position:relative!important;overflow:visible!important;max-width:100%!important;min-height:0!important}
#editorial-inquiry .brand{min-height:45px}
