@font-face{font-family:'Cinzel';font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/cinzel-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Cinzel';font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/cinzel-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Cinzel';font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/cinzel-latin-700-normal.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-weight:400;font-style:italic;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-400-italic.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-weight:500;font-style:italic;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-500-italic.woff2) format('woff2');}

*{box-sizing:border-box;margin:0;}
:root{--k:1;--sand:#EAD9B0;--sand-dim:#C9B689;--ivory:#F5EFE2;}
html,body{height:100%;overflow-x:hidden;overflow-x:clip;}
body{font-family:'Cormorant Garamond',Georgia,serif;color:var(--ivory);background:#04070F;overflow-x:hidden;
  min-height:100vh;min-height:100svh;display:flex;flex-direction:column;}

/* background: photo over a coded sunrise fallback */
.bg{position:fixed;inset:0;z-index:-4;}
.bg svg{width:100%;height:100%;display:block;}
.bg-photo{position:fixed;inset:-6%;z-index:-3;background-image:url(/assets/earth.webp);background-size:cover;background-position:center;animation:kenburns 75s ease-in-out infinite alternate;}
@keyframes kenburns{0%{transform:scale(1);}100%{transform:scale(1.12);}}
#stars{position:fixed;inset:0;z-index:-2;pointer-events:none;}
.film{position:fixed;inset:0;z-index:-1;background:
  linear-gradient(rgba(4,7,15,.40),rgba(4,7,15,.40)),
  radial-gradient(ellipse 62% 90% at 50% 50%, rgba(4,7,15,.45) 0%, rgba(4,7,15,.12) 60%, rgba(4,7,15,0) 100%);}
#sand{position:fixed;inset:0;z-index:5;pointer-events:none;}
.sun-breathe{animation:breathe 9s ease-in-out infinite;transform-origin:720px 648px;}
@keyframes breathe{50%{transform:scale(1.06);opacity:.92;}}
.sun-core{animation:corepulse 9s ease-in-out infinite;transform-origin:720px 650px;}
@keyframes corepulse{50%{transform:scale(1.12);}}
.atmo-shimmer{animation:shimmer 7s ease-in-out infinite;}
@keyframes shimmer{50%{opacity:.55;}}

main{--k:1;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:calc(8vh * var(--k)) 16px 4vh;position:relative;z-index:1;}
h1{font-family:'Cinzel',serif;font-weight:700;font-size:calc(clamp(30px,6vw,72px) * var(--k));letter-spacing:.12em;color:var(--sand);text-shadow:0 2px 24px rgba(0,0,0,.55);line-height:1.15;}
.rule{width:90px;height:1px;background:linear-gradient(90deg,transparent,var(--sand-dim),transparent);margin:calc(32px * var(--k)) auto;}
p{font-size:calc(clamp(19px,2.2vw,27px) * var(--k));line-height:1.6;max-width:820px;font-weight:500;text-shadow:0 1px 14px rgba(0,0,0,.65);}
.line+.line{margin-top:calc(22px * var(--k));}
.line strong{font-family:'Cinzel',serif;font-weight:600;letter-spacing:.18em;color:var(--sand);font-size:.8em;}
.soon{font-family:'Cinzel',serif;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--sand);font-size:calc(clamp(15px,1.9vw,22px) * var(--k));}
.soon-sub{font-style:italic;letter-spacing:.06em;color:var(--sand-dim);font-size:calc(clamp(20px,2.4vw,28px) * var(--k));}

/* sand-blown letters */
.w{display:inline-block;white-space:pre;}
.ch{display:inline-block;opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot));filter:blur(7px);
  transition:opacity var(--dur) ease-out var(--del),transform var(--dur) cubic-bezier(.16,.8,.32,1) var(--del),filter var(--dur) ease-out var(--del);}
.in .ch{opacity:1;transform:translate(0,0) rotate(0deg);filter:blur(0);}

footer{position:relative;z-index:6;text-align:center;padding:10px 16px 22px;}

/* "Global Love Movement" sits in the sunburst, "coming soon" on the earth (landing.js places them) */
.horizon{position:fixed;left:0;right:0;top:0;z-index:2;pointer-events:none;}
.horizon p{position:absolute;left:0;right:0;margin:0 auto;padding:0 16px;max-width:none;text-align:center;}
.soon{text-shadow:0 0 14px rgba(4,7,15,.95),0 0 30px rgba(4,7,15,.8),0 2px 4px rgba(0,0,0,.9);}
.horizon .soon-sub{margin-top:0;color:var(--ivory);text-shadow:0 0 12px rgba(4,7,15,.95),0 0 26px rgba(4,7,15,.85),0 1px 3px rgba(0,0,0,.9);}

/* the short name, small, under the title */
.gtl{margin-top:calc(14px * var(--k));font-family:'Cinzel',serif;font-weight:600;font-size:calc(clamp(13px,1.4vw,18px) * var(--k));letter-spacing:.6em;padding-left:.6em;color:var(--sand-dim);text-shadow:0 1px 10px rgba(0,0,0,.6);}

/* the secret doorway: the O in LOVE (looks exactly like every other letter) */
.secret{cursor:inherit;-webkit-tap-highlight-color:transparent;}
.legal{margin-top:12px;font-size:13px;font-style:italic;color:var(--sand-dim);opacity:.55;}

@media (prefers-reduced-motion: reduce){
  .bg-photo,.sun-breathe,.sun-core,.atmo-shimmer{animation:none;}
  .ch{transition:none;}
}
