/* ── MYESCAPIST SHARED ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --ink:#1a1a18; --ink-soft:#4a4a45; --ink-faint:#9a9a92;
  --white:#FAFAF8; --line:rgba(26,26,24,0.11);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans',sans-serif;
}
html{height:100%;scroll-behavior:smooth;}
body{
  min-height:100vh; color:#1a1a18;
  font-family:'DM Sans',sans-serif; font-weight:300;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden; position:relative;
  transition:background-color 1.4s cubic-bezier(0.4,0,0.2,1);
}

/* ── ALL LINKS BLACK ── */
a{color:#1a1a18;} a:visited{color:#1a1a18;}

/* ── STATIC FINE GRAIN — warm gold tint, screen blend, no motion ── */
body::before{
  content:''; position:fixed; inset:0;
  z-index:2; pointer-events:none;
  opacity:0.06;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.40' numOctaves='1' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='1.4 0.5 0 0 0.18 1.0 0.6 0 0 0.09 0.1 0.04 0 0 0.01 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat:repeat;
  background-size:180px 180px;
  mix-blend-mode:screen;
}

/* ── SUBTLE GROUNDING GRADIENT ── */
body::after{
  content:''; position:fixed; inset:0;
  z-index:1; pointer-events:none;
  background:linear-gradient(to bottom,
    rgba(26,26,24,0.02) 0%,
    rgba(255,255,255,0.07) 100%
  );
}

/* ── PROGRESS LINE ── */
.progress-line{
  position:fixed; top:0; left:0; height:1px;
  background:#1a1a18; width:0%;
  transition:width 0.8s cubic-bezier(0.4,0,0.2,1);
  z-index:200; opacity:0.18;
}

/* ── COOKIE ── */
.cookie-banner{
  position:fixed; bottom:0; left:0; right:0;
  z-index:9999; background:#1a1a18; color:#fafaf8;
  padding:1rem 1.5rem; display:flex;
  align-items:center; justify-content:space-between;
  gap:1rem; flex-wrap:wrap;
  font-size:13px; font-family:'DM Sans',sans-serif; font-weight:300; line-height:1.55;
  transform:translateY(110%); transition:transform 0.5s ease;
}
.cookie-banner.show{transform:translateY(0);}
.cookie-accept{
  background:#fafaf8; color:#1a1a18; border:none;
  padding:7px 16px; font-size:11px; font-family:'DM Sans',sans-serif; font-weight:400;
  letter-spacing:0.12em; text-transform:uppercase;
  cursor:pointer; border-radius:1px; white-space:nowrap; flex-shrink:0;
  -webkit-appearance:none;
}

/* ── FOOTER ── */
footer{
  position:relative; z-index:10;
  border-top:1px solid rgba(26,26,24,0.1);
  padding:1.6rem 1.5rem 1.3rem;
  display:flex; flex-direction:column; align-items:center; gap:0.9rem;
}
.footer-links{
  display:flex; flex-direction:row; flex-wrap:wrap;
  align-items:center; gap:1rem 1.6rem; justify-content:center;
}
.footer-links a{
  display:inline-flex; align-items:center; gap:5px;
  color:#1a1a18 !important; text-decoration:none !important;
  font-size:0.82rem; font-family:'DM Sans',sans-serif; font-weight:300;
  letter-spacing:0.02em; line-height:1; white-space:nowrap;
  transition:opacity 0.2s;
}
.footer-links a:visited{color:#1a1a18 !important;}
.footer-links a:hover{opacity:0.45;}
.fi{
  display:inline-block;
  width:16px!important; height:16px!important;
  min-width:16px!important; min-height:16px!important;
  max-width:16px!important; max-height:16px!important;
  flex-shrink:0; fill:#1a1a18;
}
.footer-copy{
  font-size:0.72rem; color:#9a9a92;
  letter-spacing:0.06em; font-family:'DM Sans',sans-serif; font-weight:300;
}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(16px);}
  to{opacity:1;transform:translateY(0);}
}

@media(max-width:480px){
  .footer-links{gap:0.8rem 1.1rem;}
  .footer-links a{font-size:0.76rem;}
  .fi{width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;max-width:15px!important;max-height:15px!important;}
  .cookie-banner{padding:0.9rem 1.1rem;font-size:12px;}
}