/* Monster Wallpaper Studio — pinned-poster direction
   Tokens first; everything downstream references tokens only. */
:root{
  --ground:#ffffff;
  --ink:#1f2b4d;
  --ink-soft:rgba(31,43,77,.66);
  --ink-faint:rgba(31,43,77,.12);
  --citrus:#f7941d;
  --night:#05070a;
  --sand:#e3e1dc;
  --display:"Red Hat Display","Arial Black",system-ui,sans-serif;
  --text:"Red Hat Text",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--text);
  background:var(--ground);
  color:var(--ink);
  font-size:1.0625rem;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img,canvas,svg{display:block;max-width:100%}
a{color:inherit}
::selection{background:var(--ink);color:#fff}
:focus-visible{outline:3px solid var(--citrus);outline-offset:3px}

/* ---------- nav : plain bar ---------- */
.nav{
  display:flex;align-items:center;gap:1rem;
  padding:.9rem 1.1rem;
  max-width:72rem;margin:0 auto;
}
.wordmark{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-family:var(--display);font-weight:900;font-size:1.0625rem;letter-spacing:.01em}
.wordmark-mark{width:clamp(3rem,8vw,5.2rem);height:auto;flex:none}
.wm-short{display:none}
.wm-long{white-space:nowrap}
.nav-links{display:flex;gap:1.25rem;margin-left:auto}
.nav-links a{text-decoration:none;font-weight:500;font-size:.95rem}
.nav-links a:hover{text-decoration:underline;text-underline-offset:4px}
.btn-citrus{
  display:inline-block;background:var(--citrus);color:var(--ink);
  font-weight:700;text-decoration:none;
  padding:.7rem 1.3rem;border-radius:999px;
  transition:transform .18s ease-out, background-color .18s ease-out;
}
.btn-citrus:hover{transform:translateY(-2px);background:#ffa63d}
.btn-citrus:active{transform:translateY(0) scale(.98)}
.btn-navy{
  display:inline-block;background:var(--ink);color:#fff;
  font-weight:700;text-decoration:none;text-align:center;
  padding:.8rem 1.4rem;border-radius:999px;
  transition:transform .18s ease-out, background-color .18s ease-out;
}
.btn-navy:hover{transform:translateY(-2px);background:#2b3a66}
.btn-navy:active{transform:translateY(0) scale(.98)}
.btn-big{font-size:1.15rem;padding:1rem 2.2rem}

/* ---------- hero : pinned title + phone ---------- */
.hero{position:relative;max-width:72rem;margin:0 auto;padding:0 1.1rem 4rem}
/* full-screen code-monster backdrop */
.codemonster-bg{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.hero-pin,.hero-sub,.hero-note,.phone-wrap{position:relative;z-index:1}
.hero-pin{
  position:sticky;top:0;z-index:30;
  background:var(--ground);
  padding:1rem 0 .5rem;
}
.hero-title{
  font-family:var(--display);font-weight:900;
  font-size:clamp(1.9rem,7.2vw,5rem);
  line-height:.94;letter-spacing:-.015em;
  text-transform:uppercase;
}
.hero-sub{
  font-size:clamp(1.15rem,2.6vw,1.5rem);
  font-weight:500;max-width:34rem;
  margin:.8rem 0 .3rem;
}
.hero-note{color:var(--ink-soft);font-size:.95rem;margin-bottom:1rem}

.phone-wrap{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:1rem;z-index:2}
/* ---------- user-supplied iPhone: video composited into measured screen ---------- */
.user-phone{position:relative;width:min(300px,70vw);container-type:inline-size}
.user-phone-photo{display:block;width:100%;height:auto;
  filter:drop-shadow(0 2.2rem 2.5rem rgba(31,43,77,.28))}
.user-phone video{
  position:absolute;left:21.4%;top:5.2%;width:56.2%;height:85.6%;
  object-fit:cover;border-radius:8%/4%;
}
/* masks the video exactly where the baked Dynamic Island sits (both black) */
.user-phone-island{
  position:absolute;left:41.3%;top:6.1%;width:16.4%;height:3.7%;
  background:#000;border-radius:999px;
}
/* lock-screen UI over the live wallpaper: the realistic standby state */
.lockui{position:absolute;inset:0;z-index:3;pointer-events:none;color:#fff}
.lockui-status{position:absolute;top:7.4%;right:7.5%;width:11cqw;height:2.6cqw}
.lockui-date{position:absolute;top:17.6%;left:0;right:0;text-align:center;
  font-size:2.9cqw;font-weight:600;letter-spacing:.06em;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.lockui-time{position:absolute;top:21.5%;left:0;right:0;text-align:center;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue","PingFang SC",sans-serif;
  font-size:15.5cqw;font-weight:200;letter-spacing:-.02em;line-height:1.05;
  text-shadow:0 1px 14px rgba(0,0,0,.4)}
.lockui-btn{position:absolute;bottom:13.5%;width:9.5cqw;height:9.5cqw;border-radius:50%;
  background:rgba(20,24,30,.42);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center}
.lockui-torch{left:27%}
.lockui-camera{right:27%}
.lockui-home{position:absolute;bottom:2.4%;left:50%;transform:translateX(-50%);
  width:24%;height:1cqw;min-height:3px;border-radius:99px;background:rgba(255,255,255,.92)}

/* ---------- sections ---------- */
main,footer{position:relative;z-index:1}
main{max-width:72rem;margin:0 auto;padding:0 1.1rem}
section{padding:4.5rem 0}
h2{
  font-family:var(--display);font-weight:900;text-transform:uppercase;
  font-size:clamp(2rem,6vw,3.6rem);line-height:1;letter-spacing:-.01em;
  margin-bottom:.8rem;
}
.section-sub{color:var(--ink-soft);font-size:1.0625rem;max-width:32rem;margin-bottom:2.4rem}

/* packs */
.pack-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
.pack{background:var(--ground)}
.thumb{
  width:100%;aspect-ratio:2/3;border-radius:1.1rem;background:#0b1030;object-fit:cover;display:block;
}
.pack h3{font-family:var(--display);font-weight:900;font-size:1.375rem;margin:1rem 0 .15rem;text-transform:uppercase;letter-spacing:.01em}
.pack-meta{color:var(--ink-soft);font-size:.92rem;font-weight:500}
.pack-meta.below{margin:-.4rem 0 .9rem}
.pack-desc{margin:.5rem 0 .6rem}
.price{font-family:var(--display);font-weight:900;font-size:2rem;margin-bottom:.9rem}
.pack .btn-navy{width:100%}
.pack-deluxe{background:var(--ink);color:#fff;border-radius:1.4rem;padding:1.2rem}
.pack-deluxe .pack-meta{color:rgba(255,255,255,.7)}
.pack-deluxe .btn-navy{background:#fff;color:var(--ink)}

/* install */
.install-grid{display:grid;gap:1.6rem}
.install-card{background:var(--ink-faint);border-radius:1.4rem;padding:1.8rem}
.install-card h3{font-family:var(--display);font-weight:900;font-size:1.5rem;text-transform:uppercase;margin-bottom:1rem}
.install-card ol{padding-left:1.4rem;display:grid;gap:.8rem}
.install-card li::marker{font-weight:700}

/* faq */
.faq-list{max-width:44rem}
.faq-list details{background:var(--ink-faint);border-radius:1rem;margin-bottom:.8rem;padding:1.1rem 1.3rem}
.faq-list summary{font-weight:700;font-size:1.0625rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";font-size:1.4rem;font-weight:400;flex:none;transition:transform .2s ease-out}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{margin-top:.7rem;color:var(--ink-soft)}

/* cta */
.cta{text-align:center;padding:6rem 0}
.cta-line{
  font-size:clamp(1.3rem,3.4vw,2rem);font-weight:500;
  max-width:26rem;margin:0 auto 1.8rem;
}

/* footer */
.footer{background:var(--sand);position:relative;overflow:hidden;margin-top:2rem}
.foot-inner{max-width:72rem;margin:0 auto;padding:3rem 1.1rem 2.4rem;position:relative;z-index:2}
.foot-word{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:1.3rem;margin-bottom:1rem}
.foot-links{display:flex;flex-wrap:wrap;gap:1.4rem;margin-bottom:1.2rem}
.foot-links a{text-decoration:none;font-weight:500}
.foot-links a:hover{text-decoration:underline;text-underline-offset:4px}
.foot-small{color:var(--ink-soft);font-size:.9rem}
.monster-foot{
  position:absolute;right:6%;bottom:-2.4rem;
  width:5.4rem;height:auto;z-index:1;
}

/* ---------- entrance motion ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .6s ease-out,transform .6s ease-out;transition-delay:var(--d,0s)}
.rv.on{opacity:1;transform:none}

/* ---------- wider screens ---------- */
@media (max-width:47.99rem){
  .pack h3{font-size:1.1rem}
}
@media (max-width:47.99rem){
  .pack h3{font-size:1.1rem}
  .pack .btn-navy{font-size:.88rem;padding:.7rem .4rem;white-space:nowrap}
  .nav{flex-wrap:wrap;row-gap:.5rem;padding:.7rem 1rem}
  .wm-long{display:none}
  .wm-short{display:inline;white-space:nowrap;font-size:1rem}
  .btn-citrus{font-size:.85rem;padding:.55rem 1rem;margin-left:auto}
  .nav-links{flex:1 1 100%;margin-left:0;gap:1.1rem;font-size:.9rem}
  .device-card{width:min(14rem,60vw)}
}
@media (min-width:48rem){
  .pack-grid{grid-template-columns:repeat(3,1fr)}
  .install-grid{grid-template-columns:1fr 1fr}
  .hero-sub{font-size:1.5rem}
}
@media (min-width:72rem){
  .pack-grid{gap:2rem}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  *,*::before,*::after{transition-duration:.01ms !important;animation:none !important}
}
