:root {
  --ink: #17000f;
  --paper: #fff0f8;
  --wine: #f00086;
  --gold: #ff8ed1;
  --line: rgba(255, 173, 225, .28);
  --hot-pink: #ff1493;
  --baby-pink: #ffb6dc;
  --silver: #f9f4fb;
  --cheetah-kick: "Cheetah Kick", "Brush Script MT", cursive;
}

body {
  background:
    radial-gradient(circle at 12% 22%, rgba(255,82,176,.34), transparent 27rem),
    radial-gradient(circle at 82% 72%, rgba(255,108,190,.25), transparent 32rem),
    linear-gradient(145deg, #260019, #10000b 58%, #350020);
}

.eyebrow {
  color: var(--baby-pink);
  text-shadow: 0 0 16px rgba(255,20,147,.5);
}

.brand i { color: #ff4faf; }
.brand-logo { display:inline-flex; align-items:center; gap:.6rem; min-width:0; }
.brand-logo img { display:block; width:108px; height:auto; filter:drop-shadow(0 0 10px rgba(255,20,147,.28)); }
.brand-logo span { order:-1; font-family:var(--cheetah-kick); font-size:1.35rem; letter-spacing:.02em; color:#ffabd9; text-shadow:0 0 14px rgba(255,20,147,.55); }
.brand b {
  display: inline-block;
  margin-left: .35rem;
  color: #fff;
  font-size: .75rem;
  text-shadow: 0 0 5px #fff, 0 0 14px #ff1493;
  animation: twinkle 2.8s ease-in-out infinite;
}

.site-header {
  background: linear-gradient(180deg, rgba(12,2,10,.72), transparent);
  border-bottom-color: rgba(255,121,198,.28);
}

.site-header nav a:hover { color: #ff69bd; }

.button.primary {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #ff42aa, #d90074 58%, #ff70bd);
  border-color: rgba(255,255,255,.4);
  box-shadow: 0 0 24px rgba(255,20,147,.28), inset 0 1px rgba(255,255,255,.42);
}
.button.primary::after {
  content: "";
  position: absolute;
  inset: -80% auto -80% -35%;
  width: 24%;
  transform: rotate(18deg);
  background: rgba(255,255,255,.55);
  filter: blur(5px);
  transition: left .6s ease;
}
.button.primary:hover { background: linear-gradient(135deg, #ff70bd, #ed0086); }
.button.primary:hover::after { left: 120%; }

.hero {
  background:
    radial-gradient(circle at 70% 28%, rgba(255,54,168,.22), transparent 22rem),
    linear-gradient(90deg, rgba(9,2,8,.97) 0%, rgba(23,2,17,.80) 42%, rgba(25,0,17,.1) 78%),
    url("marion-pink.webp") 72% 35% / cover;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .72;
  background-image:
    radial-gradient(circle, #fff 0 1px, transparent 1.8px),
    radial-gradient(circle, #ff74c1 0 1.2px, transparent 2px),
    radial-gradient(circle, #fff 0 1px, transparent 1.7px);
  background-size: 113px 113px, 167px 167px, 241px 241px;
  background-position: 4px 12px, 48px 70px, 130px 34px;
  mask-image: linear-gradient(90deg, transparent 15%, #000 55%, #000);
}
.hero-content, .hero-note { position: relative; z-index: 1; }
.hero .hero-brand { display:flex; flex-direction:column; align-items:flex-start; margin:.1em 0 0; line-height:.8; }
.hero-brand span { position:relative; z-index:1; margin-left:.18em; font-family:var(--cheetah-kick); font-size:clamp(4.2rem,9vw,8rem); font-weight:400; letter-spacing:.01em; color:#fff; text-shadow:0 0 12px rgba(255,255,255,.7),0 0 30px rgba(255,20,147,.58); }
.header-logo img { width:128px; }
.hero-brand img { width:clamp(245px,34vw,410px); height:auto; margin-top:-.18em; filter:drop-shadow(0 0 24px rgba(255,20,147,.32)); }
.brand-signature { margin:-.2rem 0 1.35rem 1rem; color:#f7d7e9; font-size:.72rem; font-weight:600; letter-spacing:.24em; text-transform:uppercase; }
.production-signature { margin:-1rem 0 2rem .4rem; }
.creator-credit { display:flex;align-items:center;gap:.75rem;width:max-content;max-width:100%;opacity:.58;transition:opacity .25s ease; }
.creator-credit:hover { opacity:.78; }
.creator-credit span { color:#dbcbd4;font-size:.58rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase; }
.creator-credit img { display:block;width:110px;max-width:40vw;height:auto; }
.hero-credit { margin:-.35rem 0 1.35rem .75rem; }
.page-credit { margin:3rem 0 0 auto; }
.production-signature.creator-credit { margin:-1rem 0 2rem .4rem; }
.brand-lockup { display:flex;align-items:center;justify-content:center;gap:.7rem;padding:3rem 1rem 1rem; }
.brand-lockup img { display:block;height:auto; }
.brand-lockup .lockup-prinssxx { width:132px;opacity:.86;filter:drop-shadow(0 0 9px rgba(255,20,147,.22)); }
.brand-lockup .lockup-by { color:#dfc9d5;font-family:"Italiana",serif;font-size:.82rem;font-style:italic;opacity:.68; }
.brand-lockup .lockup-fs { width:108px;opacity:.54; }
.hero h1 em {
  color: #ff5bb5;
  text-shadow: 0 0 28px rgba(255,20,147,.38);
}
.text-link { border-color: #ff63b7; }

.age-gate {
  background:
    radial-gradient(circle at 50% 35%, rgba(255,20,147,.34), transparent 27rem),
    rgba(5,0,5,.94);
}
.age-card {
  background: linear-gradient(145deg, #20051a, #0d050b 64%);
  border: 1px solid rgba(255,145,210,.5);
  box-shadow: 0 0 0 4px rgba(255,20,147,.06), 0 30px 90px #000, 0 0 55px rgba(255,20,147,.2);
}
.monogram {
  position: relative;
  color: #ff78c3;
  border-color: #ff78c3;
  box-shadow: 0 0 24px rgba(255,20,147,.34), inset 0 0 18px rgba(255,20,147,.12);
}
.monogram span {
  position: absolute;
  top: -8px;
  right: -5px;
  color: #fff;
  font-size: .8rem;
  text-shadow: 0 0 8px #fff, 0 0 16px #ff1493;
}

.manifesto {
  background:
    radial-gradient(circle at 88% 18%, rgba(255,54,168,.13), transparent 22rem),
    linear-gradient(135deg, #fff7fb, #ffe5f3);
  color: #250719;
}
.manifesto h2 { color: #84004b; }
.manifesto .copy p:last-child { color: #785269; }

.gallery { background: linear-gradient(180deg, #0a0308, #17000f); }
.activities { padding: clamp(5rem,9vw,9rem) clamp(1.2rem,7vw,8rem); background:linear-gradient(145deg,#31001f,#17000f 58%,#420028); }
.activities .section-head>p { max-width:430px; }
.activity-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,146,210,.22); border:1px solid rgba(255,146,210,.22); }
.activity-grid article { min-height:310px; padding:clamp(1.5rem,3vw,2.8rem); background:linear-gradient(145deg,#3a0828,#190011 68%); }
.activity-grid article span { color:#ff69bd; font-size:.75rem; letter-spacing:.18em; }
.activity-grid h3 { margin:4rem 0 1rem; font-family:"Italiana",serif; font-size:clamp(1.8rem,3vw,2.7rem); font-weight:400; line-height:1.05; color:#fff0f8; }
.activity-grid p { color:#a99ba3; }
.activity-grid article>a { display:inline-block;margin-top:1rem;color:#ff9dd4;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid rgba(255,157,212,.55); }
.gallery h2, .links h2, .contact h2 { text-shadow: 0 0 30px rgba(255,20,147,.18); }
.frame {
  border-color: rgba(255,117,197,.42);
  box-shadow: 0 18px 45px rgba(0,0,0,.45), 0 0 22px rgba(255,20,147,.08);
}
.frame::before {
  content: "✦";
  position: absolute;
  z-index: 3;
  top: 1rem;
  right: 1rem;
  color: white;
  text-shadow: 0 0 8px white, 0 0 18px #ff1493;
}
.frame span { color: #ff9dd4; }

.links {
  background:
    radial-gradient(circle at 78% 8%, rgba(255,0,137,.21), transparent 24rem),
    linear-gradient(145deg, #240018, #0e050c 60%);
}
.link-list a:hover {
  background: linear-gradient(90deg, rgba(255,20,147,.13), transparent);
  box-shadow: inset 3px 0 #ff299e;
}
.link-list b { color: #ff57b2; }
.contact { background: radial-gradient(circle at 18% 80%, rgba(255,20,147,.14), transparent 26rem); }
.contact-pending { margin:1.5rem 0 .65rem; padding:1rem 1.15rem; border-left:2px solid #ff69bd; background:rgba(255,105,189,.08); color:#f8ddeb; }
footer { border-top-color: rgba(255,105,190,.25); }
.footer-links { display:flex;gap:1.2rem;flex-wrap:wrap; }
.legal-footer { display:flex;justify-content:center;align-items:center;gap:1.4rem;flex-wrap:wrap;padding:1.5rem clamp(1rem,4vw,4rem);border-top:1px solid rgba(255,105,190,.25);background:#0d040a;color:#9f8d97;font-size:.72rem; }
.legal-footer a:hover,.footer-links a:hover { color:#ff9dd4; }
.service-list{display:grid;gap:1rem;margin-top:4rem}.service-list article{padding:clamp(1.6rem,4vw,3rem);border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,62,169,.12),rgba(255,255,255,.025))}.service-list h2,.legal-page h2{font-size:clamp(2rem,4vw,3.4rem);color:#ff83c7}.service-list p,.service-list li{color:#c7b8c0}.service-list ul{padding-left:1.2rem}
.faq-list{margin-top:4rem;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:1.3rem .3rem}.faq-list summary{cursor:pointer;font-family:"Italiana",serif;font-size:clamp(1.35rem,3vw,2rem);color:#ffe8f5}.faq-list details p{max-width:780px;color:#c4b3bc}
.legal-page .subpage-inner{max-width:900px}.legal-page section{padding:2rem 0;border-bottom:1px solid var(--line)}.legal-page section p{color:#c7b8c0}.text-button{padding:0;border:0;border-bottom:1px solid #ff69bd;background:none;color:#ffd9ed;font:inherit;cursor:pointer}.error-page{display:grid;align-items:center}
.footer-logo img { width:92px; }
.footer-logo span { font-size:.88rem; }

@keyframes twinkle {
  0%, 100% { opacity: .45; transform: scale(.8) rotate(0deg); }
  50% { opacity: 1; transform: scale(1.18) rotate(22deg); }
}

@media (max-width: 760px) {
  .hero {
    background:
      linear-gradient(180deg, rgba(7,1,6,.42), rgba(11,1,8,.94) 78%),
      url("marion-pink.webp") 55% 18% / cover;
  }
  .hero::before { mask-image: linear-gradient(#000, transparent 80%); }
  .site-header nav { background: rgba(12,2,10,.97); }
  .brand-logo img { width:88px; }
  .brand-logo span { font-size:.85rem; }
  .hero-brand img { width:min(290px,82vw); }
  .activity-grid { grid-template-columns:1fr; }
  .activity-grid article { min-height:240px; }
  .activity-grid h3 { margin-top:2.5rem; }
  .creator-credit img { width:96px; }
  .brand-lockup { gap:.5rem;padding-top:2.2rem; }
  .brand-lockup .lockup-prinssxx { width:106px; }
  .brand-lockup .lockup-fs { width:88px; }
}
