:root{
  --paper:#ffffff;
  --ink:#1a1a1a;
  --body:#4a4640;
  --muted:#8a857e;
  --accent:#f7931e;
  --rule:#eae5dc;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
  background:var(--paper);
  color:var(--body);
  font-family:"Inter","Segoe UI",system-ui,sans-serif;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:100svh;
  padding:40px 24px;
  -webkit-font-smoothing:antialiased;
}
.stage{width:100%;max-width:820px;text-align:center}
.banner{animation:rise .9s cubic-bezier(.2,.7,.3,1) both}
.banner img{display:block;width:100%;height:auto}
.identity{
  margin-top:30px;
  padding-top:28px;
  border-top:1px solid var(--rule);
  animation:rise .9s cubic-bezier(.2,.7,.3,1) .18s both;
}
h1{
  font-family:"Inter",sans-serif;
  font-size:clamp(1.15rem,2.6vw,1.5rem);
  font-weight:600;
  letter-spacing:.01em;
  color:var(--ink);
  line-height:1.3;
}
.roles{
  margin-top:10px;
  font-size:clamp(.82rem,1.9vw,.92rem);
  color:var(--muted);
  letter-spacing:.02em;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
}
.roles span{white-space:nowrap}
.roles i{font-style:normal;color:var(--accent);padding:0 8px}
.line{
  margin-top:20px;
  font-family:"Spectral",Georgia,serif;
  font-style:italic;
  font-weight:300;
  font-size:clamp(1rem,2.2vw,1.15rem);
  color:var(--ink);
  line-height:1.6;
}
.ai-entry{
  margin:28px auto 0;
  padding:22px 24px;
  max-width:680px;
  border:1px solid var(--rule);
  border-radius:18px;
  background:linear-gradient(135deg,#fff 0%,#faf7f2 100%);
  animation:rise .9s cubic-bezier(.2,.7,.3,1) .26s both;
}
.ai-entry strong{display:block;color:var(--ink);font-size:1rem;margin-bottom:7px}
.ai-entry p{font-size:.88rem;line-height:1.6;color:var(--body)}
.ai-entry a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:15px;
  padding:12px 20px;
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  text-decoration:none;
  font-size:.86rem;
  font-weight:600;
  letter-spacing:.02em;
  transition:transform .2s,background .2s;
}
.ai-entry a:hover{background:var(--accent);transform:translateY(-1px)}
.ai-entry a:focus-visible{outline:3px solid rgba(247,147,30,.35);outline-offset:3px}
.ai-entry-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:15px}
.ai-entry-actions a{margin-top:0;background:var(--accent);color:#fff;padding:10px 16px}
.ai-entry>a.all-products{margin-top:10px;background:transparent;color:var(--ink);border:1px solid var(--rule);padding:9px 15px}
.ai-entry>a.all-products:hover{background:var(--ink);color:#fff}
.contact{
  margin-top:30px;
  font-size:.86rem;
  letter-spacing:.02em;
  animation:rise .9s cubic-bezier(.2,.7,.3,1) .32s both;
}
.contact a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(247,147,30,.45);padding-bottom:2px;transition:color .25s,border-color .25s}
.contact a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.contact a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}
.note{margin-top:34px;font-size:.72rem;color:var(--muted);opacity:.9;animation:rise .9s cubic-bezier(.2,.7,.3,1) .42s both}
.note a{color:inherit;text-underline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.banner,.identity,.ai-entry,.contact,.note{animation:none}}
@media (max-width:600px){
  body{padding:28px 18px}
  .identity{margin-top:24px;padding-top:22px}
  .roles{flex-direction:column;gap:4px}
  .roles i{display:none}
  .ai-entry{padding:19px 18px}
  .note{margin-top:26px}
}
