:root {
  --ivory: #fffaf3;
  --cream: #fbf3ea;
  --blush: #f7dfdb;
  --rose: #c9746e;
  --brown: #725247;
  --soft-brown: #a8766a;
  --gold: #d8ab4e;
  --line: rgba(216, 171, 78, 0.28);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(circle at top, #fffdf8 0%, var(--ivory) 42%, var(--cream) 100%);
  color: var(--brown);
  font-family: Georgia, "Times New Roman", serif;
}

.entry-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 42px 18px;
}

.entry-card {
  width: min(760px, 100%);
  padding: clamp(34px, 6vw, 64px);
  border: 1px solid var(--line);
  border-radius: 34px;
  background: rgba(255, 253, 248, 0.82);
  box-shadow: 0 24px 80px rgba(114, 82, 71, 0.1);
  text-align: center;
}

.eyebrow {
  margin: 0 0 18px;
  color: var(--rose);
  font-family: Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

h1 {
  margin: 0;
  color: var(--brown);
  font-size: clamp(3rem, 10vw, 6.2rem);
  font-weight: 400;
  line-height: 0.9;
}

.intro {
  max-width: 640px;
  margin: 34px auto 0;
  color: var(--soft-brown);
  font-size: clamp(1.05rem, 2.5vw, 1.45rem);
  line-height: 1.55;
}

.entry-actions,
.remembered-panel {
  margin: 38px auto 0;
  max-width: 520px;
}

.entry-button {
  display: block;
  width: 100%;
  margin-top: 14px;
  padding: 18px 22px;
  border: 1px solid #e6c8c0;
  border-radius: 999px;
  background: var(--blush);
  color: var(--brown);
  font-family: Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
}

.entry-button.secondary {
  background: rgba(255, 255, 255, 0.55);
}

.remembered-panel {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.54);
}

.remembered-panel h2 {
  margin: 0;
  font-size: clamp(2rem, 5vw, 3.3rem);
  font-weight: 400;
}

.remembered-panel p:last-child {
  color: var(--soft-brown);
}

.footer-line {
  margin: 32px 0 0;
  color: var(--soft-brown);
  font-size: 1rem;
}

.hidden { display: none !important; }

/* Release 0.10.38 — bell arrival transition */
body.entry-is-loading{overflow:hidden}
.entry-loading-overlay{
  position:fixed;
  inset:0;
  z-index:100;
  display:grid;
  place-items:center;
  padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 50% 34%,rgba(255,255,255,.98),rgba(255,250,243,.92) 48%,rgba(247,223,219,.7)),
    var(--ivory);
  backdrop-filter:blur(10px);
}
.entry-loading-card{
  position:relative;
  width:min(100%,520px);
  padding:28px clamp(20px,5vw,42px) 32px;
  overflow:hidden;
  border:1px solid rgba(216,171,78,.34);
  border-radius:34px;
  background:linear-gradient(180deg,rgba(255,253,248,.98),rgba(251,243,234,.96));
  box-shadow:0 34px 92px rgba(114,82,71,.16),inset 0 0 0 1px rgba(255,255,255,.86);
  text-align:center;
}
.entry-loading-card::before{
  content:"";
  position:absolute;
  inset:11px;
  border:1px solid rgba(216,171,78,.16);
  border-radius:25px;
  pointer-events:none;
}
.entry-loading-card .eyebrow{position:relative;z-index:1;margin:0;color:var(--rose);font-size:.64rem}
.entry-loading-bell-wrap{
  position:relative;
  z-index:1;
  width:min(100%,330px);
  aspect-ratio:4/3;
  margin:0 auto -8px;
  overflow:hidden;
}
.entry-loading-bell-wrap img{
  width:100%;height:100%;object-fit:cover;object-position:center 72%;
  animation:entryBellBreathe 2.8s ease-in-out infinite;
}
.entry-loading-card h2{position:relative;z-index:1;margin:0 0 10px;font-size:clamp(1.55rem,5vw,2.3rem);font-weight:400;letter-spacing:.06em}
.entry-loading-card > p:last-of-type{position:relative;z-index:1;margin:0;color:var(--soft-brown);font-size:1rem;line-height:1.5}
.entry-loading-line{position:relative;z-index:1;width:min(100%,250px);height:3px;margin:22px auto 0;overflow:hidden;border-radius:999px;background:rgba(216,171,78,.14)}
.entry-loading-line span{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,transparent,var(--gold),var(--rose),transparent);animation:entryLoadingSweep 1.8s ease-in-out infinite}
@keyframes entryBellBreathe{0%,100%{transform:scale(1);filter:drop-shadow(0 18px 26px rgba(114,82,71,.08))}50%{transform:scale(1.018);filter:drop-shadow(0 22px 32px rgba(114,82,71,.12))}}
@keyframes entryLoadingSweep{0%{transform:translateX(-110%)}100%{transform:translateX(250%)}}
@media(max-width:640px){
  .entry-loading-overlay{padding-inline:9px}
  .entry-loading-card{padding:20px 16px 26px;border-radius:28px}
  .entry-loading-card::before{inset:8px;border-radius:21px}
  .entry-loading-bell-wrap{width:min(100%,280px);margin-bottom:-4px}
}


/* Release 0.10.39 — full-card bell background */
.entry-loading-card{
  background:
    linear-gradient(180deg,rgba(255,253,249,.58),rgba(255,250,244,.9) 68%,rgba(255,253,249,.96)),
    url('../assets/concierge-open-soon-bell.png') center 58%/cover no-repeat !important;
}
.entry-loading-card::before{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.02));}
.entry-loading-bell-wrap{display:none !important;}
.entry-loading-card h2,
.entry-loading-card > p:last-of-type,
.entry-loading-card .eyebrow,
.entry-loading-line{position:relative;z-index:1;}
.entry-loading-card h2{margin-top:120px !important;}
@media(max-width:700px){.entry-loading-card h2{margin-top:108px !important;}}
