*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#B2A1A1;
  --cream:#F4E8D0;
  --gold:#C8A96B;
  --red:#9B2B1A;
  --red-deep:#7e2415;
  --txt3:rgba(244,232,208,.62);
}
html,body{height:100%}
body{
  font-family:'DM Sans',sans-serif;
  background:var(--bg);
  color:var(--cream);
  min-height:100dvh;
  overflow-x:hidden;
  position:relative;
}

/* ══════════════ AMBIENT BACKGROUND ══════════════ */
.amb{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.amb-beam{position:absolute;border-radius:50%;top:50%;left:50%}
.amb-b1{width:840px;height:840px;border:.5px solid rgba(244,232,208,.10);transform:translate(-50%,-50%)}
.amb-b2{width:640px;height:640px;border:.5px solid rgba(244,232,208,.14);transform:translate(-50%,-50%)}
.amb-b3{width:450px;height:450px;border:.5px solid rgba(244,232,208,.18);transform:translate(-50%,-50%)}
.amb-b4{width:280px;height:280px;border:.5px solid rgba(244,232,208,.24);transform:translate(-50%,-50%)}
.amb-particle{position:absolute;width:2.5px;height:2.5px;border-radius:50%;background:rgba(244,232,208,.45);animation:ambpart linear infinite}
@keyframes ambpart{0%{opacity:0;transform:translateY(0) scale(1)}15%{opacity:1}80%{opacity:.4}100%{opacity:0;transform:translateY(-60px) scale(.2)}}
#amb-canvas{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6}

@media (prefers-reduced-motion: reduce){
  .amb-particle,#amb-canvas{display:none}
}

/* ══════════════ LAYOUT ══════════════ */
.page{
  position:relative;z-index:1;
  max-width:420px;margin:0 auto;
  min-height:100dvh;
  display:flex;flex-direction:column;align-items:center;
  padding:3rem 1.5rem 2rem;
}

/* ── TENGWAR FONT ── */
@font-face{
  font-family:'TengwarAnnatar';
  src:url('https://hv2-assets.pages.dev/Fonts/Tengwar%20Annatar/TengwarAnnatarItalic-2Oov.ttf') format('truetype');
  font-weight:normal;font-style:normal;font-display:swap;
}

/* ── HEADER / LOGO ── */
.hdr{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:.5rem}
.logo-wrap{
  position:relative;width:124px;height:124px;
  animation:logoIn .7s cubic-bezier(.2,.9,.25,1) both;
}

/* ── ONE RING INSCRIPTION ORBIT ── */
.one-ring-wrap{
  position:absolute;
  top:50%;left:50%;
  width:200px;height:200px;
  transform:translate(-50%,-50%);
  pointer-events:none;z-index:0;
  animation:oneRingSpin 32s linear infinite;
}
@keyframes oneRingSpin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(-360deg)}}
.one-ring-wrap svg{
  width:100%;height:100%;display:block;overflow:visible;
  animation:ringGlow 5s ease-in-out infinite;
}
@keyframes ringGlow{
  0%,100%{opacity:.13;filter:drop-shadow(0 0 0px rgba(244,232,208,0))}
  50%{opacity:.95;filter:drop-shadow(0 0 5px rgba(244,232,208,.45)) drop-shadow(0 0 10px rgba(200,169,107,.25))}
}
@media(prefers-reduced-motion:reduce){.one-ring-wrap{animation:none}.one-ring-wrap svg{animation:none;opacity:.38;filter:none}}
@keyframes logoIn{from{opacity:0;transform:scale(.85) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}
.logo-pulse-wrap{position:absolute;inset:-14px;pointer-events:none;z-index:0}
.logo-ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(244,232,208,.38);animation:lpulse 2.8s ease-out infinite}
.logo-ring2{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(244,232,208,.20);animation:lpulse 2.8s ease-out infinite 1.4s}
.logo-ring3{position:absolute;inset:0;border-radius:50%;border:.5px solid rgba(244,232,208,.10);animation:lpulse 2.8s ease-out infinite 2.1s}
@keyframes lpulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.45);opacity:0}}
.logo-btn{
  position:relative;z-index:1;display:block;width:100%;height:100%;
  border:none;background:none;padding:0;border-radius:50%;cursor:pointer;
  transition:transform .25s ease,filter .25s ease;
}
.logo-btn:hover{transform:scale(1.05);filter:drop-shadow(0 0 16px rgba(244,232,208,.45))}
.logo-btn:active{transform:scale(.96)}
.logo-btn svg{width:100%;height:100%;display:block}

.hname{
  font-family:'DM Serif Display',serif;
  font-weight:400;
  font-size:30px;
  color:var(--cream);
  letter-spacing:.01em;
  text-align:center;
  text-shadow:0 1px 12px rgba(0,0,0,.18);
  animation:fadeUp .7s .1s cubic-bezier(.2,.9,.25,1) both;
}
.htag{
  font-family:'DM Sans',sans-serif;
  font-size:13px;font-style:italic;font-weight:300;
  color:var(--txt3);text-align:center;margin-top:-.6rem;
  animation:fadeUp .7s .18s cubic-bezier(.2,.9,.25,1) both;
}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* ── SOCIAL ROW ── */
.social-row{
  display:flex;gap:.7rem;align-items:center;justify-content:center;
  margin:1.5rem 0 1.85rem;
  animation:fadeUp .7s .26s cubic-bezier(.2,.9,.25,1) both;
}
.soc-link{
  display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:50%;
  background:var(--cream);
  border:1.5px solid var(--gold);
  color:var(--red);
  text-decoration:none;flex-shrink:0;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.soc-link svg{width:18px;height:18px;display:block}
.soc-link:hover,.soc-link:focus-visible{
  background:var(--red);border-color:var(--red);color:var(--cream);
  transform:translateY(-3px);
  box-shadow:0 6px 18px rgba(0,0,0,.22);
}
.soc-link:active{transform:translateY(-1px) scale(.96)}

/* ── LINK BUTTONS ── */
.links{
  width:100%;display:flex;flex-direction:column;gap:.85rem;
  margin-bottom:2rem;
}
.link-btn{
  position:relative;
  display:flex;align-items:center;gap:.75rem;
  width:100%;
  background:rgba(250,249,246,.13);
  border:1px solid rgba(200,169,107,.55);
  border-radius:14px;
  padding:1.05rem 1.25rem;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  text-decoration:none;
  cursor:pointer;
  font-family:'Plus Jakarta Sans','DM Sans',sans-serif;
  font-weight:600;
  font-size:15px;
  color:var(--cream);
  letter-spacing:.01em;
  transition:background .2s ease,border-color .2s ease,transform .15s ease,box-shadow .2s ease;
  opacity:0;animation:linkIn .55s cubic-bezier(.2,.9,.25,1) forwards;
  overflow:hidden;
}
.link-btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 30%,rgba(244,232,208,.10) 50%,transparent 70%);
  transform:translateX(-120%);
  transition:transform .6s ease;
  pointer-events:none;
}
.link-btn:hover::before{transform:translateX(120%)}
.link-btn:hover,.link-btn:focus-visible{
  background:rgba(250,249,246,.20);
  border-color:var(--gold);
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(0,0,0,.20);
}
.link-btn:active{transform:translateY(0) scale(.985)}
@keyframes linkIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

.link-icon{
  flex-shrink:0;width:38px;height:38px;border-radius:9px;
  background:rgba(244,232,208,.12);
  border:.5px solid rgba(200,169,107,.4);
  display:flex;align-items:center;justify-content:center;
  color:var(--cream);
}
.link-icon svg{width:18px;height:18px}
.link-text{flex:1;line-height:1.3}
.link-title{display:block}
.link-sub{
  display:block;font-family:'DM Sans',sans-serif;font-weight:400;font-style:italic;
  font-size:13.5px;color:var(--txt3);margin-top:2px;letter-spacing:0;
}
.link-arrow{flex-shrink:0;color:var(--cream);opacity:.98;transition:transform .2s ease}
.link-btn:hover .link-arrow{transform:translateX(3px)}

/* ── FOOTER ── */
.footer{
  margin-top:auto;padding-top:1.5rem;
  text-align:center;
  animation:fadeUp .7s .4s cubic-bezier(.2,.9,.25,1) both;
}
.footer-name{
  font-family:'Plus Jakarta Sans','DM Sans',sans-serif;font-weight:400;
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--cream);opacity:.7;
  text-decoration:none;display:inline-block;
}
.footer-mirror{margin-bottom:.35rem;transition:opacity .2s ease}
.footer-mirror:hover,.footer-mirror:focus-visible{opacity:1}

/* ── focus visibility (a11y) ── */
a:focus-visible,button:focus-visible{outline:2px solid var(--cream);outline-offset:3px}

@media(max-width:360px){
  .hname{font-size:26px}
  .logo-wrap{width:108px;height:108px}
}

/* Logo SVG (dipindah dari <defs><style> inline di dalam markup) */
.cls-1,.cls-3{fill:#f4e8d0}.cls-2{fill:#b2a1a1}.cls-3,.cls-4{stroke:#c8a96b;stroke-miterlimit:10}.cls-4{fill:#9b2b1a}
