:root{
  --bg:#050505;--bg2:#0a0908;--panel:rgba(18,16,12,.72);--panel2:rgba(8,8,8,.86);
  --gold:#d7aa52;--gold2:#f3d184;--gold3:#8f6728;--ivory:#f0e7d2;--muted:#b9ad96;
  --line:rgba(215,170,82,.24);--shadow:0 30px 90px rgba(0,0,0,.55);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:
 radial-gradient(circle at 20% 10%,rgba(215,170,82,.08),transparent 30%),
 radial-gradient(circle at 80% 25%,rgba(126,91,35,.08),transparent 26%),
 linear-gradient(180deg,#030303 0%,#090806 46%,#030303 100%);
 color:var(--ivory);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.14;z-index:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
#three-bg{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.54}
.page{position:relative;z-index:2}
.wrap{width:min(var(--max),calc(100% - 36px));margin:auto}
.nav{position:sticky;top:0;z-index:50;background:rgba(5,5,5,.74);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.navin{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,"Times New Roman",serif;letter-spacing:.08em;font-weight:700}
.brand img{width:46px;height:46px;border-radius:50%;box-shadow:0 0 35px rgba(215,170,82,.16)}
.links{display:flex;align-items:center;gap:24px;font-size:.92rem;color:var(--muted)}
.links a:hover{color:var(--gold2)}
.menu{display:none;background:none;border:1px solid var(--line);color:var(--ivory);border-radius:12px;padding:10px 12px}
.hero{min-height:calc(100vh - 78px);display:grid;place-items:center;padding:72px 0 62px;position:relative}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.kicker{display:inline-flex;gap:9px;align-items:center;border:1px solid var(--line);background:rgba(215,170,82,.06);padding:8px 12px;border-radius:999px;color:var(--gold2);text-transform:uppercase;font-size:.72rem;letter-spacing:.18em}
.kicker i{width:6px;height:6px;border-radius:50%;background:var(--gold2);box-shadow:0 0 18px var(--gold2);animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.25;transform:scale(.7)}}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;margin:0}
h1{font-size:clamp(3.4rem,7vw,7.5rem);line-height:.88;letter-spacing:-.045em;margin-top:24px;text-shadow:0 12px 50px rgba(0,0,0,.4)}
h1 span{display:block;color:transparent;background:linear-gradient(120deg,#8d6528 0%,#f1d285 38%,#b88035 72%,#f3d184 100%);-webkit-background-clip:text;background-clip:text}
.lede{font-size:clamp(1.05rem,1.6vw,1.28rem);line-height:1.75;color:var(--muted);max-width:660px;margin:28px 0 0}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);transition:.25s ease;cursor:pointer;color:var(--ivory)}
.btn:hover{transform:translateY(-2px);border-color:rgba(243,209,132,.55);box-shadow:0 14px 40px rgba(0,0,0,.28)}
.btn.primary{background:linear-gradient(135deg,#6f4e1e,#d2a34b);color:#0a0805;border-color:#d7aa52;font-weight:800}
.medallion-stage{perspective:1200px;display:grid;place-items:center;min-height:560px;position:relative}
.medallion-glow{position:absolute;width:76%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(215,170,82,.18),rgba(215,170,82,.05) 40%,transparent 70%);filter:blur(12px);animation:breathe 5s ease-in-out infinite}
@keyframes breathe{50%{transform:scale(1.08);opacity:.72}}
.medallion{width:min(100%,520px);aspect-ratio:1;position:relative;transform-style:preserve-3d;animation:float 7s ease-in-out infinite;filter:drop-shadow(0 34px 45px rgba(0,0,0,.6))}
.medallion img{width:100%;height:100%;object-fit:contain;border-radius:50%;transform:translateZ(34px)}
.medallion:after{content:"";position:absolute;inset:7%;border-radius:50%;border:1px solid rgba(243,209,132,.36);transform:translateZ(5px);box-shadow:inset 0 0 70px rgba(215,170,82,.08),0 0 70px rgba(215,170,82,.08)}
@keyframes float{0%,100%{transform:translateY(0) rotateY(-5deg) rotateX(2deg)}50%{transform:translateY(-16px) rotateY(6deg) rotateX(-2deg)}}
.banner-shell{margin:0 auto 84px;border:1px solid var(--line);border-radius:24px;padding:8px;background:rgba(215,170,82,.035);box-shadow:var(--shadow);overflow:hidden}
.banner-shell img{display:block;width:100%;border-radius:17px}
.section{padding:88px 0}
.section-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:end;margin-bottom:34px}
.eyebrow{color:var(--gold);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;margin-bottom:12px}
h2{font-size:clamp(2.35rem,4.4vw,4.8rem);line-height:.95;letter-spacing:-.035em}
.section-head p{color:var(--muted);line-height:1.8;margin:0;max-width:700px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(25,21,15,.76),rgba(8,8,8,.86));padding:26px;box-shadow:0 18px 60px rgba(0,0,0,.24);transform-style:preserve-3d;transition:.28s ease;position:relative;overflow:hidden}
.card:before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(215,170,82,.14),transparent 30%);opacity:0;transition:.2s}
.card:hover{transform:translateY(-5px) rotateX(1deg);border-color:rgba(243,209,132,.48)}
.card:hover:before{opacity:1}
.card .num{font-family:Georgia,serif;font-size:3rem;color:rgba(215,170,82,.28)}
.card h3{font-size:1.55rem;margin:10px 0 10px}
.card p{color:var(--muted);line-height:1.7;margin:0}
.echo{display:grid;grid-template-columns:.75fr 1.25fr;gap:26px;border:1px solid var(--line);border-radius:28px;padding:30px;background:linear-gradient(135deg,rgba(215,170,82,.07),rgba(5,5,5,.92));align-items:stretch}
.echo-mark{min-height:280px;border-radius:20px;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,rgba(215,170,82,.18),transparent 34%),#070706;border:1px solid rgba(215,170,82,.16);overflow:hidden;position:relative}
.echo-mark:before,.echo-mark:after{content:"";position:absolute;border:1px solid rgba(215,170,82,.25);border-radius:50%;animation:spin 18s linear infinite}
.echo-mark:before{width:210px;height:210px}.echo-mark:after{width:150px;height:150px;animation-direction:reverse;animation-duration:12s}
.echo-mark strong{font-family:Georgia,serif;font-size:7rem;color:var(--gold2);font-weight:400;transform:translateY(-10px)}
@keyframes spin{to{transform:rotate(360deg)}}
.echo-copy{display:flex;flex-direction:column;justify-content:center;padding:12px 8px}
.echo-copy blockquote{font-family:Georgia,serif;font-size:clamp(1.55rem,3vw,2.6rem);line-height:1.26;margin:0 0 18px}
.echo-copy p{color:var(--muted);line-height:1.75;margin:0}
.oracle{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;align-items:stretch}
.oracle-info,.chat{border:1px solid var(--line);border-radius:26px;background:var(--panel2);padding:28px}
.oracle-info h3{font-size:2.2rem;margin-bottom:14px}.oracle-info p{color:var(--muted);line-height:1.75}
.status{display:flex;align-items:center;gap:9px;margin-top:22px;color:var(--muted);font-size:.9rem}.status i{width:8px;height:8px;border-radius:50%;background:#8aa57b;box-shadow:0 0 16px #8aa57b}
.chat{min-height:480px;display:flex;flex-direction:column;padding:0;overflow:hidden}
.chatlog{flex:1;padding:22px;overflow:auto;display:flex;flex-direction:column;gap:14px;max-height:430px}
.msg{max-width:86%;padding:13px 15px;border-radius:16px;line-height:1.55;font-size:.95rem}
.msg.ai{align-self:flex-start;background:rgba(215,170,82,.1);border:1px solid var(--line)}
.msg.user{align-self:flex-end;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.ai-toggle{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(215,170,82,.05);cursor:pointer;font-size:.86rem;color:var(--ivory)}
.ai-toggle input{margin-top:3px;accent-color:var(--gold)}
.ai-toggle small{display:block;color:var(--muted);font-size:.78rem;margin-top:2px;font-weight:400}
.chatbar{display:flex;gap:10px;padding:14px;border-top:1px solid var(--line);background:rgba(0,0,0,.35)}
.chatbar input{flex:1;min-width:0;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:#0a0908;color:var(--ivory);outline:none}.chatbar input:focus{border-color:var(--gold)}
.chatbar button{border:0;border-radius:12px;padding:0 18px;background:linear-gradient(135deg,#7c5722,#d8aa52);color:#080604;font-weight:800;cursor:pointer}
.socials{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.social{padding:25px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.025);transition:.25s}.social:hover{transform:translateY(-4px);border-color:rgba(243,209,132,.5)}.social small{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.13em;margin-bottom:12px}.social strong{font-family:Georgia,serif;font-size:1.7rem}.social p{color:var(--muted);margin-bottom:0;line-height:1.6}
.policy-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}.policy-strip a{color:var(--muted);border-bottom:1px solid transparent}.policy-strip a:hover{color:var(--gold2);border-color:var(--gold2)}
footer{border-top:1px solid var(--line);padding:36px 0 46px;color:var(--muted)}.foot{display:flex;justify-content:space-between;gap:24px;align-items:center}.foot img{width:52px;height:52px;border-radius:50%}.foot-brand{display:flex;align-items:center;gap:12px}.foot strong{color:var(--ivory);display:block;font-family:Georgia,serif}.tiny{font-size:.82rem;color:#8e8370;line-height:1.55}
.legal{padding:70px 0 100px}.legal article{max-width:900px;margin:auto;border:1px solid var(--line);background:rgba(8,8,8,.86);border-radius:26px;padding:clamp(24px,5vw,56px);box-shadow:var(--shadow)}.legal h1{font-size:clamp(2.8rem,5vw,5.4rem);margin:0 0 12px}.legal h2{font-size:1.8rem;margin:38px 0 12px;letter-spacing:-.02em}.legal p,.legal li{color:var(--muted);line-height:1.8}.legal .meta{color:var(--gold);font-size:.84rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:28px}.legal a{color:var(--gold2);text-decoration:underline;text-decoration-color:rgba(215,170,82,.35)}
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(24px);transition:.75s cubic-bezier(.2,.8,.2,1)}.js .reveal.on{opacity:1;transform:none}
@media(max-width:900px){.links{display:none}.menu{display:block}.hero-grid,.section-head,.oracle,.echo{grid-template-columns:1fr}.hero{padding-top:44px}.medallion-stage{min-height:430px}.grid3,.socials{grid-template-columns:1fr}.section-head{gap:18px}.banner-shell{margin-bottom:40px}.foot{align-items:flex-start;flex-direction:column}.nav.open .links{display:flex;position:absolute;top:78px;left:0;right:0;flex-direction:column;align-items:flex-start;padding:22px;background:#080706;border-bottom:1px solid var(--line)}}
@media(max-width:560px){.wrap{width:min(var(--max),calc(100% - 22px))}.hero-grid{gap:26px}.medallion-stage{min-height:340px}.actions{display:grid}.btn{width:100%}.section{padding:64px 0}.oracle-info,.echo,.card{padding:20px}.chat{min-height:440px}.msg{max-width:92%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}#three-bg{display:none}.reveal{opacity:1;transform:none}}

/* === Stoic Ech'oes content-protection layer === */
html, body, .page {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
input, textarea, button, select {
  -webkit-user-select: text;
  -moz-user-select: text;
  user-select: text;
  -webkit-touch-callout: default;
}
img, video, canvas, svg, .protected-media {
  -webkit-user-drag: none;
  user-drag: none;
  -webkit-touch-callout: none;
}
#capture-shield {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: grid;
  place-items: center;
  background: #030303;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .08s linear, visibility .08s linear;
}
#capture-shield.active {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.capture-shield-inner {
  display: grid;
  place-items: center;
  gap: 12px;
  color: #d8aa54;
  letter-spacing: .16em;
  text-align: center;
  text-transform: uppercase;
}
.capture-shield-inner img { width: 92px; height: 92px; border-radius: 50%; }
.capture-shield-inner strong { font-family: Georgia, serif; font-size: clamp(1.5rem, 4vw, 2.8rem); }
.capture-shield-inner span { color: #a99b82; font-size: .75rem; }
html.window-blurred body > *:not(#capture-shield) { filter: blur(18px) brightness(.22); }
html.window-blurred body::after {
  content: "Stoic Ech'oes";
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  display: grid;
  place-items: center;
  background: rgba(0,0,0,.72);
  color: rgba(216,170,84,.88);
  font: 700 clamp(2rem,8vw,8rem)/1 Georgia,serif;
  letter-spacing: .12em;
  pointer-events: none;
}
@media print {
  html, body { background:#000 !important; }
  body * { display:none !important; visibility:hidden !important; }
  body::before {
    content:"Stoic Ech'oes — PROTECTED CONTENT";
    display:grid !important;
    visibility:visible !important;
    position:fixed;
    inset:0;
    place-items:center;
    background:#000;
    color:#c79a48;
    font:700 24pt Georgia,serif;
  }
}
