/* ExpireOnDate.com — shared shell
   Theme tokens, page background, primary nav, footer and floating ghost.
   This is the single source of truth: index.html and every other page load it.
   Edit the chrome here, not per page. */

/* ---------- theme tokens ---------- */
:root{--ink:#09070b;--coal:#131017;--paper:#e8dfca;--paper-deep:#d3c5a5;--bone:#f0eadc;--mist:#b8adbd;--plum:#7e456f;--red:#a83032;--gold:#b9995f}

/* ---------- page base ---------- */
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background-color:var(--ink);background-image:radial-gradient(ellipse at 20% 10%,rgba(126,69,111,.18),transparent 38%),radial-gradient(circle at 82% 78%,rgba(86,28,75,.12),transparent 34%),url("/assets/skull-pattern.svg");background-size:auto,auto,80px 80px;background-position:center,center,0 0;background-attachment:fixed,fixed,fixed;color:var(--bone);font-family:"DM Sans",sans-serif}
/* retires the old ghost wallpaper baked into site.css */
body::before{content:none}
.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.paper-grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.06;mix-blend-mode:soft-light;background-image:url("/assets/paper-grain.svg")}

/* ---------- chrome typography + link reset (scoped: page content is untouched) ---------- */
.utility-bar,.site-nav,footer{font-family:"DM Sans",sans-serif}
footer{color:var(--bone)}
.utility-bar a,.site-nav a,footer a{color:inherit;text-decoration:none}

/* ---------- utility bar + primary nav ---------- */
.utility-bar{min-height:30px;padding:6px max(20px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;gap:20px;background:#050406;color:#807580;border-bottom:1px solid #241b25;font-size:10px;text-transform:uppercase;letter-spacing:.2em}.utility-bar p{margin:0}.status-dot{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#7eaa78;box-shadow:0 0 9px #7eaa78}.site-nav{position:sticky;top:0;z-index:50;background:rgba(9,7,11,.89);backdrop-filter:blur(18px);border-bottom:1px solid rgba(185,153,95,.18)}.nav-inner{width:min(1180px,calc(100% - 40px));min-height:78px;margin:auto;display:flex;align-items:center;gap:34px}.brand{display:inline-flex;align-items:center;gap:12px;flex:none}.brand-skull{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;font-size:30px;line-height:1;filter:drop-shadow(0 0 9px rgba(178,118,186,.58));transform-origin:center;animation:skullFloat 3.4s ease-in-out infinite}@keyframes skullFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-5px) rotate(3deg)}}.brand small{display:block;margin-bottom:2px;font-size:8px;color:var(--gold);text-transform:uppercase;letter-spacing:.42em}.brand strong{font-family:"UnifrakturMaguntia",serif;font-size:24px;font-weight:400;line-height:1;white-space:nowrap}.brand strong span{color:#ce5557}.desktop-links{display:flex;align-items:center;justify-content:center;gap:27px;margin-left:auto}.desktop-links a{position:relative;padding:30px 0 27px;color:#d2c7d3;font-size:14px;font-weight:600}.desktop-links a::after{content:"";position:absolute;left:0;right:100%;bottom:21px;height:1px;background:var(--gold);transition:right .25s}.desktop-links a:hover{color:#fff}.desktop-links a:hover::after{right:0}.nav-cta{min-height:44px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d86062;background:linear-gradient(180deg,#bd3b3e,#8f2629);box-shadow:0 8px 28px rgba(168,48,50,.3);color:#fff;font-family:Cinzel,serif;font-size:11px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;transition:transform .2s,filter .2s,box-shadow .2s}.nav-cta:hover{transform:translateY(-2px);filter:brightness(1.12);box-shadow:0 12px 34px rgba(168,48,50,.44)}.mobile-menu{display:none;margin-left:auto;position:relative}.mobile-menu summary{list-style:none;width:42px;height:42px;padding:11px 8px;border:1px solid #49374a;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{display:block;height:1px;margin:5px 0;background:var(--bone)}.mobile-menu>div{position:absolute;right:0;top:50px;width:min(320px,calc(100vw - 40px));padding:18px;background:#100c12;border:1px solid #49374a;box-shadow:0 30px 70px #000}.mobile-menu a{display:block;padding:13px 9px;border-bottom:1px solid #2b222c;color:#d2c7d3;font-family:Cinzel,serif;font-size:13px}.mobile-menu .mobile-cta{margin-top:12px;border:1px solid #d86062;background:linear-gradient(180deg,#bd3b3e,#8f2629);color:#fff;font-weight:700;text-align:center}

/* ---------- footer + floating ghost ---------- */
footer{position:relative;overflow:hidden;background:rgba(7,6,9,.48);border-top:1px solid rgba(126,69,111,.38);backdrop-filter:blur(1px)}footer::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 14% 18%,rgba(126,69,111,.08),transparent 34%),radial-gradient(circle at 86% 70%,rgba(126,69,111,.06),transparent 30%)}.footer-main{position:relative;z-index:1;padding:52px 0 30px}.footer-grid{display:grid;grid-template-columns:minmax(285px,1.35fr) 2fr;align-items:start;gap:72px}.footer-brand-column{max-width:330px}.footer-logo{display:inline-flex;align-items:center;gap:10px}.footer-logo .brand-skull{width:31px;height:31px;font-size:24px}.footer-logo-name{font-family:"UnifrakturMaguntia",serif;font-size:25px;line-height:1;color:var(--bone)}.footer-logo-name span{color:#ce5557}.footer-subscribe{margin-top:20px}.footer-subscribe h3,.footer-nav h3{margin:0 0 10px;color:#9a8da0;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.footer-subscribe p{margin:0 0 13px;color:#a79cab;font-size:14px;line-height:1.55}.footer-form{display:grid;gap:10px}.footer-form input{width:100%;height:45px;padding:0 14px;border:1px solid #5f2f70;border-radius:9px;outline:none;background:#17111c;color:var(--bone);font:inherit;font-size:14px}.footer-form input::placeholder{color:#827586}.footer-form input:focus{border-color:#a95cc0;box-shadow:0 0 0 3px rgba(169,92,192,.13)}.footer-form button{height:47px;border:1px solid #cb79e3;border-radius:9px;background:linear-gradient(180deg,#b962cf,#85409d);box-shadow:0 8px 24px rgba(141,65,164,.24);color:#fff;font:700 14px "DM Sans",sans-serif;cursor:pointer;transition:transform .2s,filter .2s}.footer-form button:hover{transform:translateY(-2px);filter:brightness(1.1)}.footer-nav{display:grid;grid-template-columns:1.35fr .8fr .95fr;gap:48px}.footer-nav a{display:block;margin:0 0 11px;color:#cfc3d2;font-size:14px;line-height:1.35}.footer-nav a:hover{color:#d988ef}.footer-bottom{position:relative;z-index:1;margin-top:38px;padding-top:24px;display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(126,69,111,.36);color:#958a99;font-size:11.5px}.footer-bottom p{margin:0}@media(max-width:880px){.footer-grid{grid-template-columns:1fr;gap:44px}.footer-brand-column{max-width:520px}.footer-nav{gap:32px}}@media(max-width:620px){.footer-main{padding-top:42px}.footer-nav{grid-template-columns:1fr 1fr;gap:30px}.footer-nav>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}.footer-logo-name{font-size:23px}}.floating-ghost{position:fixed;left:2vw;top:16vh;z-index:0;width:145px;height:145px;opacity:.13;pointer-events:none;filter:drop-shadow(0 0 26px rgba(178,118,186,.52));animation:haunt 26s ease-in-out infinite alternate}.floating-ghost img{display:block;width:100%;height:100%}@keyframes haunt{0%{transform:translate(0,0) rotate(-8deg)}28%{transform:translate(76vw,12vh) rotate(8deg)}58%{transform:translate(48vw,58vh) rotate(-12deg)}82%{transform:translate(7vw,66vh) rotate(5deg)}100%{transform:translate(72vw,4vh) rotate(-5deg)}}

/* content pages: keep the ghost behind the copy (index positions its own sections above it) */
body.font-body .floating-ghost{z-index:-1}

/* ---------- responsive (chrome only) ---------- */
@media(max-width:1040px){.desktop-links{gap:17px}.desktop-links a{font-size:12px}.nav-cta{padding-inline:14px;font-size:10px}}
@media(max-width:880px){.desktop-links,.nav-cta{display:none}.mobile-menu{display:block}}
@media(max-width:620px){.shell,.nav-inner{width:min(100% - 28px,1180px)}.utility-bar{display:none}.nav-inner{min-height:68px}.brand strong{font-size:21px}.floating-ghost{width:90px;height:90px;opacity:.1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.floating-ghost{transform:translate(72vw,10vh)}}
