@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=Noto+Serif+Devanagari:wght@400;700&family=Inter:wght@400;500;600&display=swap');
:root{
  --paper:#FFF8ED; --paper-deep:#FFF0D6; --ink:#2C1A0E; --ink-soft:#5C3820;
  --gold:#C47B00; --goldb:#E8950A; --verm:#C0341A; --vermb:#D94520;
  --sage:#3D7A3A; --line:rgba(44,26,14,0.18);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:24px;position:relative;overflow-x:hidden;
  background:linear-gradient(180deg,#0e0702 0%,#1e1005 35%,#3a1e08 70%,#5c2e0a 100%);
}

/* Animated sunrise background */
.bg-sunrise{position:fixed;inset:0;z-index:0;pointer-events:none;}
.bg-s1{position:absolute;inset:0;background:radial-gradient(ellipse 120% 50% at 50% 115%,rgba(232,149,10,0.55),transparent 65%);animation:sunPulse 5s ease-in-out infinite alternate;}
.bg-s2{position:absolute;inset:0;background:radial-gradient(ellipse 80% 35% at 50% 120%,rgba(255,200,80,0.3),transparent 55%);animation:sunPulse 7s ease-in-out infinite alternate-reverse;}
.bg-s3{position:absolute;inset:0;background:radial-gradient(ellipse 60% 25% at 50% 125%,rgba(192,52,26,0.25),transparent 50%);}
@keyframes sunPulse{0%{opacity:.6;transform:scale(1);}100%{opacity:1;transform:scale(1.08);}}

/* Floating particles */
.particle{position:fixed;border-radius:50%;pointer-events:none;z-index:1;animation:floatParticle linear infinite;}
@keyframes floatParticle{
  0%{transform:translateY(100vh) rotate(0deg);opacity:0;}
  10%{opacity:1;}90%{opacity:.6;}100%{transform:translateY(-10vh) rotate(360deg);opacity:0;}
}

/* Card */
.card{
  position:relative;z-index:10;
  width:100%;max-width:420px;
  background:rgba(255,248,237,0.95);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border:1px solid rgba(196,123,0,0.3);
  border-radius:16px;padding:38px 36px;
  box-shadow:0 20px 60px rgba(0,0,0,0.5),0 0 0 1px rgba(232,149,10,0.15);
  animation:cardRise .6s ease both;
}
@keyframes cardRise{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}

/* Om mark */
.mark-wrap{text-align:center;margin-bottom:6px;}
.mark{
  font-family:'Noto Serif Devanagari',serif;
  font-size:42px;color:var(--goldb);display:inline-block;
  animation:omGlow 3s ease-in-out infinite alternate;
  text-shadow:0 0 20px rgba(232,149,10,0.5);
}
@keyframes omGlow{
  0%{text-shadow:0 0 10px rgba(232,149,10,0.3);}
  100%{text-shadow:0 0 30px rgba(232,149,10,0.9),0 0 60px rgba(192,52,26,0.4);}
}
h1{font-family:'Cormorant Garamond',serif;font-size:26px;margin:0 0 4px;text-align:center;color:var(--ink);font-weight:700;}
.sub{text-align:center;font-size:13px;color:var(--ink-soft);margin:0 0 24px;font-family:'Inter',sans-serif;}

label{display:block;font-size:12px;font-weight:600;color:var(--ink-soft);margin:14px 0 5px;font-family:'Inter',sans-serif;}
input{
  width:100%;padding:11px 13px;
  border:1px solid rgba(44,26,14,0.2);border-radius:8px;
  font-size:14px;background:rgba(255,255,255,0.8);color:var(--ink);
  font-family:'Inter',sans-serif;transition:border-color .15s,box-shadow .15s;
}
input:focus{outline:none;border-color:var(--goldb);box-shadow:0 0 0 3px rgba(232,149,10,0.15);}

select{
  width:100%;padding:11px 13px;
  border:1px solid rgba(44,26,14,0.2);border-radius:8px;
  font-size:14px;background:rgba(255,255,255,0.8);color:var(--ink);
  font-family:'Inter',sans-serif;transition:border-color .15s,box-shadow .15s;
  cursor:pointer;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235C3820' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;
}
select:focus{outline:none;border-color:var(--goldb);box-shadow:0 0 0 3px rgba(232,149,10,0.15);}

button.primary{
  width:100%;margin-top:22px;padding:13px;border:none;border-radius:8px;
  background:linear-gradient(135deg,var(--verm),var(--goldb));
  color:#fff;font-size:15px;font-weight:600;cursor:pointer;
  font-family:'Inter',sans-serif;letter-spacing:.03em;
  transition:transform .15s,box-shadow .15s;
  box-shadow:0 4px 16px rgba(192,52,26,0.35);
}
button.primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(192,52,26,0.5);}
button.primary:disabled{opacity:.6;cursor:default;transform:none;}

.alt{text-align:center;margin-top:18px;font-size:13px;color:var(--ink-soft);font-family:'Inter',sans-serif;}
.alt a{color:var(--verm);text-decoration:none;font-weight:600;}

.msg{font-size:13px;border-radius:8px;padding:10px 12px;margin-top:14px;display:none;font-family:'Inter',sans-serif;}
.msg.error{background:rgba(192,52,26,0.1);color:#8B1A0A;border:1px solid rgba(192,52,26,0.25);display:block;}
.msg.success{background:rgba(61,122,58,0.1);color:#1A5A18;border:1px solid rgba(61,122,58,0.25);display:block;}

.divider{display:flex;align-items:center;gap:10px;margin:16px 0;font-size:11px;color:rgba(44,26,14,0.4);}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:rgba(44,26,14,0.15);}

.footer-note{
  text-align:center;font-size:10.5px;color:rgba(255,240,220,0.45);
  margin-top:24px;position:relative;z-index:10;
  font-family:'Inter',sans-serif;
}
.footer-links{
  text-align:center;font-size:11px;margin-top:8px;position:relative;z-index:10;
  font-family:'Inter',sans-serif;
}
.footer-links a{color:rgba(255,240,220,0.6);text-decoration:none;margin:0 6px;}
.footer-links a:hover{color:#fff;text-decoration:underline;}

/* ═══ Mobile Responsive ═══ */
@media(max-width:600px){
  html,body{width:100%;min-height:100vh;min-height:100dvh;}
  body{padding:0 !important;margin:0 !important;align-items:stretch !important;justify-content:flex-start !important;overflow-y:auto !important;}
  .card{
    max-width:100% !important;width:100% !important;
    min-height:100vh;min-height:100dvh;
    border-radius:0 !important;border:none !important;
    padding:40px 22px !important;margin:0 !important;
    display:flex !important;flex-direction:column;justify-content:center;
    box-shadow:none !important;
    backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
    background:#FFF8ED !important;
    animation:none !important;
  }
  h1{font-size:26px;}
  .mark{font-size:44px;}
  button.primary{font-size:16px;padding:15px;}
  .footer-note{font-size:10px;}
  input,select{font-size:16px;padding:14px;}
  label{font-size:13px;}
}
