:root { --ink:#050505; --milk:#f4efe9; --pink:#ff4ba5; --acid:#ff78ba; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--ink); }
body { margin:0; background:var(--ink); color:var(--milk); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; }
::selection { background:var(--pink); color:var(--ink); }
:focus-visible { outline:2px solid var(--pink); outline-offset:5px; }
.spotlight { position:fixed; z-index:30; width:220px; height:220px; left:var(--spot-x,-300px); top:var(--spot-y,-300px); transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle,rgba(255,75,165,.08),transparent 68%); pointer-events:none; mix-blend-mode:screen; }
.intro-wipe { position:fixed; inset:0; z-index:100; display:grid; place-items:center; background:var(--pink); color:var(--ink); font-size:clamp(28px,6vw,90px); font-weight:900; letter-spacing:-.06em; animation:wipe 1.15s cubic-bezier(.76,0,.24,1) forwards; }
.intro-wipe span { animation:blink .45s steps(2) infinite; }
.site-header { position:fixed; inset:0 0 auto; z-index:20; height:88px; padding:0 3.25vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid rgba(255,255,255,.16); background:rgba(5,5,5,.22); backdrop-filter:blur(14px); text-transform:uppercase; font-size:11px; letter-spacing:.18em; }
.brand { font-family:Georgia,serif; font-size:15px; font-weight:700; letter-spacing:.06em; }.brand span{color:var(--pink)}
.site-header nav{display:flex;gap:36px}.site-header nav a{position:relative;padding:8px 0}.site-header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--pink);transition:.25s}.site-header nav a:hover::after,.site-header nav a:focus-visible::after{right:0}.mature{justify-self:end;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:10px 14px}
.hero{position:relative;min-height:100svh;overflow:hidden;padding:150px 5vw 54px;display:grid;align-items:center;isolation:isolate}.hero::before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 72% 46%,#4b142f 0,#14090e 31%,#050505 64%)}
.cow-field{position:absolute;inset:-7%;z-index:-2;pointer-events:none;transform:translate(var(--mx-back,0),var(--my-back,0));transition:transform .35s ease-out;filter:blur(1px);opacity:.72}.cow-field i{position:absolute;display:block;background:radial-gradient(ellipse at 42% 38%,rgba(255,75,165,.58),rgba(132,27,78,.28) 48%,transparent 72%);border-radius:64% 36% 58% 42% / 47% 67% 33% 53%;mix-blend-mode:screen;animation:cow-drift 15s ease-in-out infinite alternate}.cow-field i:nth-child(1){width:30vw;height:21vw;left:-12%;top:12%;transform:rotate(18deg)}.cow-field i:nth-child(2){width:18vw;height:27vw;left:26%;top:-14%;animation-delay:-4s;transform:rotate(-26deg)}.cow-field i:nth-child(3){width:13vw;height:10vw;left:42%;top:45%;animation-delay:-8s}.cow-field i:nth-child(4){width:27vw;height:18vw;right:-8%;top:-5%;animation-delay:-2s;transform:rotate(38deg)}.cow-field i:nth-child(5){width:16vw;height:22vw;right:17%;bottom:-11%;animation-delay:-10s}.cow-field i:nth-child(6){width:10vw;height:8vw;left:14%;bottom:9%;animation-delay:-6s}.cow-field i:nth-child(7){width:8vw;height:13vw;right:5%;top:42%;animation-delay:-12s}.eclipse-system{position:absolute;z-index:0;width:min(68vw,980px);aspect-ratio:1;right:-3%;top:2%;pointer-events:none;transform:translate(var(--mx-soft,0),var(--my-soft,0));transition:transform .28s ease-out}.eclipse-ring,.eclipse-core{position:absolute;inset:50% auto auto 50%;border-radius:50%;transform:translate(-50%,-50%)}.eclipse-core{width:53%;aspect-ratio:1;background:radial-gradient(circle at 48% 46%,rgba(5,5,5,.05) 0 45%,#070407 65%);box-shadow:0 0 95px 16px rgba(255,75,165,.25),inset 0 0 48px rgba(255,75,165,.18)}.eclipse-ring{aspect-ratio:1}.ring-one{width:68%;background:conic-gradient(from 16deg,transparent 0 8%,rgba(255,75,165,.95) 13%,transparent 19% 46%,rgba(255,255,255,.36) 51%,transparent 57% 82%,rgba(255,75,165,.65) 88%,transparent 94%);-webkit-mask:radial-gradient(circle,transparent 0 48%,#000 49% 50%,transparent 51%);mask:radial-gradient(circle,transparent 0 48%,#000 49% 50%,transparent 51%);animation:orbit-spin 24s linear infinite}.ring-two{width:84%;border:1px solid rgba(255,255,255,.09);box-shadow:0 0 42px rgba(255,75,165,.09) inset;animation:eclipse-breathe 7s ease-in-out infinite}
.hero-copy{position:relative;z-index:6;width:min(760px,60vw)}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 24px;color:#e9dfe3;font-size:11px;letter-spacing:.22em;text-transform:uppercase}.eyebrow span{width:32px;height:1px;background:var(--pink)}h1{margin:0;font-size:clamp(60px,6.65vw,108px);line-height:.82;letter-spacing:-.072em;text-transform:uppercase;font-weight:900}.headline{display:inline-block}h1 em{position:relative;left:4.8vw;color:var(--pink);font-family:Georgia,serif;font-weight:400;text-transform:none;white-space:nowrap}.hero-intro{max-width:440px;margin:38px 0 30px;color:#cdc3c8;font-size:clamp(15px,1.3vw,20px);line-height:1.55}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{min-width:180px;height:56px;padding:0 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid rgba(255,255,255,.32);border-radius:999px;text-transform:uppercase;letter-spacing:.15em;font-size:11px;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--milk);color:var(--ink);border-color:var(--milk)}.button-primary:hover{background:var(--pink);border-color:var(--pink)}.button-ghost:hover{background:rgba(255,255,255,.08)}
.hero-art{position:absolute;z-index:1;top:9%;right:-1%;width:min(64vw,960px);height:91%}.art-disc{position:absolute;width:63%;aspect-ratio:1;top:11%;left:19%;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:radial-gradient(circle at 50% 43%,#9e235b 0,#ff4ba5 2%,#4b102c 3%,#0d090b 56%,transparent 57%);box-shadow:0 0 110px rgba(255,75,165,.2)}.pink-orbit{position:absolute;inset:8% 10% 6% 15%;border:1px solid rgba(255,75,165,.26);border-radius:50%;transform:rotate(-18deg)}.character{position:absolute;z-index:2;width:78%;height:auto;max-height:95%;object-fit:contain;bottom:-13%;left:10%;filter:drop-shadow(0 22px 32px rgba(0,0,0,.75));animation:float 5s ease-in-out infinite}.character-v2{width:72%;bottom:-5%;left:14%;border-radius:48% 48% 10% 10%;box-shadow:0 35px 80px rgba(0,0,0,.6);filter:saturate(.9) contrast(1.08)}.vertical-word{position:absolute;z-index:0;right:-1%;top:19%;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.18);font-size:clamp(56px,7vw,118px);font-weight:900;writing-mode:vertical-rl;line-height:.8;letter-spacing:-.06em}.hero-foot{position:absolute;z-index:6;bottom:28px;left:3.25vw;right:3.25vw;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#8f858a}.scroll-cue i{display:inline-block;margin-left:10px;color:var(--pink);animation:drop 1.5s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(var(--char-scroll,0%)) rotate(0deg)}50%{transform:translateY(calc(-12px + var(--char-scroll,0%))) rotate(.5deg)}}@keyframes drop{50%{transform:translateY(6px)}}@keyframes cow-drift{0%{translate:0 0;scale:.96}55%{translate:2vw -1.3vw;scale:1.06}100%{translate:-1vw 1.4vw;scale:1}}@keyframes eclipse-breathe{50%{scale:1.045;opacity:.48}}

.section-tag { margin:0; color:var(--pink); font-size:10px; line-height:1; letter-spacing:.24em; text-transform:uppercase; }
.manifesto { position:relative; overflow:hidden; min-height:900px; padding:250px 5vw 140px; background:var(--milk); color:var(--ink); }
.manifesto::before { content:""; position:absolute; width:42vw; height:42vw; right:-16vw; top:-18vw; border-radius:41% 59% 61% 39% / 45% 38% 62% 55%; background:var(--pink); filter:blur(1px); transform:rotate(22deg); }
.manifesto-word { position:absolute; top:38px; left:-4vw; width:max-content; white-space:nowrap; color:transparent; -webkit-text-stroke:1px rgba(5,5,5,.17); font-size:clamp(82px,13vw,210px); font-weight:900; line-height:1; letter-spacing:-.07em; }
.manifesto-grid { position:relative; z-index:2; display:grid; grid-template-columns:.45fr 2fr 1fr; gap:5vw; align-items:start; }
.manifesto h2,.games h2,.capabilities h2,.contact h2 { margin:0; font-size:clamp(64px,8vw,126px); line-height:.85; letter-spacing:-.07em; text-transform:uppercase; }
.manifesto-copy { padding-top:15px; font-size:18px; line-height:1.55; }
.manifesto-copy>p:first-child { margin:0 0 100px; }
.serif-callout { font:italic 27px/1.2 Georgia,serif; }.serif-callout em { color:var(--pink); }

.games { position:relative; padding:150px 5vw 170px; background:#090909; overflow:hidden; }
.games::before { content:""; position:absolute; inset:0; opacity:.12; background-image:radial-gradient(var(--pink) .8px,transparent .8px); background-size:25px 25px; mask-image:linear-gradient(to bottom,transparent,#000,transparent); }
.section-head { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:end; margin-bottom:70px; }
.section-head h2 { margin-top:22px; }.section-head h2 em,.capabilities h2 em,.contact h2 em { color:var(--pink); font-family:Georgia,serif; font-weight:400; text-transform:none; }.section-head>p { max-width:330px; color:#a9a0a4; line-height:1.6; }
.game-list { position:relative; z-index:2; display:grid; grid-template-columns:1.25fr .85fr .85fr; gap:14px; }
.game-card { position:relative; min-height:540px; padding:26px; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; border:1px solid #2a2829; background:linear-gradient(145deg,#171214,#090909 62%); transition:transform .4s,border-color .4s; isolation:isolate; }
.game-card:hover { transform:translateY(-10px) rotateX(1deg); border-color:var(--pink); }.game-card::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.12; background:repeating-radial-gradient(circle at 110% -10%,transparent 0 60px,var(--pink) 62px 63px); }
.game-featured { min-height:660px; background:#080608 url("assets/milfmaster-background.png") center/cover no-repeat; box-shadow:inset 0 0 100px rgba(0,0,0,.58); }.game-featured::before { z-index:1; opacity:.18; background:radial-gradient(circle at 50% 43%,rgba(255,75,165,.3),transparent 42%); }.game-featured::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,#050505 3%,rgba(5,5,5,.9) 22%,transparent 54%),repeating-linear-gradient(to bottom,transparent 0 5px,rgba(255,255,255,.018) 6px); z-index:1; }
.game-art { position:absolute; z-index:0; width:100%; height:100%; object-fit:cover; object-position:center top; inset:0; filter:saturate(.86) contrast(1.06); transition:transform .8s,filter .8s; }.game-featured .game-art { object-fit:contain; object-position:center top; filter:drop-shadow(0 22px 30px rgba(0,0,0,.72)) saturate(.9) contrast(1.05); }.game-featured:hover .game-art { transform:scale(1.025); filter:drop-shadow(0 25px 34px rgba(0,0,0,.78)) saturate(1) contrast(1.04); }
.game-index { position:absolute; z-index:2; top:25px; left:25px; font-size:11px; color:#777; }.game-status { position:absolute; z-index:2; top:25px; right:25px; padding:9px 12px; border:1px solid rgba(255,255,255,.2); border-radius:99px; font-size:9px; letter-spacing:.17em; text-transform:uppercase; }.game-status i { display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:var(--pink); box-shadow:0 0 8px var(--pink); }.game-featured .game-status i { background:#65d88a; box-shadow:0 0 8px #65d88a; }.game-info { position:relative; z-index:2; }.game-info>span { font-size:9px; color:var(--pink); text-transform:uppercase; letter-spacing:.2em; }.game-info h3 { margin:12px 0; font-size:clamp(32px,4vw,62px); letter-spacing:-.05em; text-transform:uppercase; }.game-info p { max-width:330px; margin:0; color:#aaa1a5; font-size:14px; line-height:1.55; }.game-arrow { position:absolute; z-index:2; right:25px; bottom:24px; color:var(--pink); font-size:25px; transition:transform .3s; }.game-card:hover .game-arrow { transform:translate(5px,-5px); }

.capabilities { padding:150px 5vw 100px; background:var(--pink); color:var(--ink); display:grid; grid-template-columns:.85fr 1.15fr; column-gap:9vw; }
.capabilities .section-tag { color:var(--ink); opacity:.6; }.cap-intro>p:last-child { max-width:450px; margin:45px 0 0; font-size:18px; line-height:1.55; }.cap-intro h2 { margin-top:22px; }.capabilities h2 em { color:var(--milk); }
.cap-list { margin:0; padding:20px 0 0; list-style:none; }.cap-list li { display:grid; grid-template-columns:55px 1fr auto; align-items:center; gap:12px; min-height:96px; border-top:1px solid rgba(5,5,5,.3); }.cap-list li:last-child { border-bottom:1px solid rgba(5,5,5,.3); }.cap-list span { font-size:10px; }.cap-list strong { font-size:clamp(20px,2.1vw,33px); letter-spacing:-.035em; text-transform:uppercase; }.cap-list i { font-style:normal; font-size:22px; transition:transform .35s; }.cap-list li:hover i { transform:rotate(90deg) scale(1.25); }
.powered { grid-column:1/-1; margin-top:120px; padding-top:40px; display:flex; align-items:center; justify-content:center; gap:40px; border-top:1px solid rgba(5,5,5,.3); text-transform:uppercase; font-size:10px; letter-spacing:.2em; }.powered img { width:min(270px,32vw); height:auto; filter:brightness(0); }

.contact { position:relative; min-height:830px; overflow:hidden; padding:140px 5vw 100px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:#060606; }
.contact::before { content:""; position:absolute; width:62vw; height:62vw; border-radius:50%; border:1px solid rgba(255,75,165,.28); box-shadow:0 0 180px rgba(255,75,165,.11) inset; }.contact-cow { position:absolute; inset:0; opacity:.08; background:radial-gradient(ellipse at 5% 15%,#fff 0 10%,transparent 11%),radial-gradient(ellipse at 92% 72%,#fff 0 14%,transparent 15%),radial-gradient(ellipse at 15% 90%,#fff 0 6%,transparent 7%); filter:blur(3px); }.contact>* { position:relative; z-index:1; }.contact h2 { margin:30px 0 70px; font-size:clamp(63px,9.7vw,150px); }.contact-link { min-width:min(680px,90vw); padding:22px 5px; display:flex; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.4); font:italic clamp(20px,3vw,42px) Georgia,serif; transition:color .3s,border-color .3s; }.contact-link:hover { color:var(--pink); border-color:var(--pink); }
footer { min-height:180px; padding:45px 5vw; display:grid; grid-template-columns:1fr 1.5fr 1fr; align-items:end; gap:30px; border-top:1px solid #222; background:#060606; text-transform:uppercase; font-size:9px; letter-spacing:.13em; color:#8a8386; }.footer-brand { color:var(--milk); font:700 18px Georgia,serif; letter-spacing:-.02em; }.footer-brand span{color:var(--pink)}.footer-meta { display:flex; flex-direction:column; gap:8px; text-align:center; }footer>a:last-child{text-align:right;color:var(--milk)}

@keyframes wipe { 0%,58%{transform:translateY(0)}100%{transform:translateY(-105%)} } @keyframes blink { 50%{opacity:.42} }
@media(max-width:960px){.game-list{grid-template-columns:1fr 1fr}.game-featured{grid-column:1/-1}.manifesto-grid{grid-template-columns:1fr 2.4fr}.manifesto-copy{grid-column:2}.capabilities{grid-template-columns:1fr}.cap-list{margin-top:75px}}
@media(max-width:760px){.site-header{height:72px;padding:0 20px;grid-template-columns:1fr auto}.site-header nav{display:none}.mature{font-size:8px;padding:8px 10px}.spotlight{display:none}.hero{min-height:820px;padding:116px 22px 44px;align-items:start}.hero-copy{width:100%}.desktop-break{display:none}h1{font-size:clamp(54px,16.5vw,72px);line-height:.8}h1 em{left:0}.hero-intro{width:80%;margin-top:24px}.hero-art{top:39%;right:-26%;width:110vw;height:62%;opacity:.86}.eclipse-system{width:130vw;right:-34%;top:24%}.cow-field{opacity:.5}.cow-field i:nth-child(2),.cow-field i:nth-child(4),.cow-field i:nth-child(7){display:none}.hero-actions{position:absolute;top:570px;width:calc(100vw - 44px)}.button{min-width:0;flex:1;padding:0 15px}.button-ghost{background:rgba(5,5,5,.78);font-size:9px}.hero-foot{left:22px;right:22px}.hero-foot>:first-child{display:none}.manifesto{min-height:auto;padding:190px 22px 90px}.manifesto-word{top:55px}.manifesto-grid{grid-template-columns:1fr}.manifesto-copy{grid-column:auto}.manifesto h2,.games h2,.capabilities h2,.contact h2{font-size:clamp(44px,13vw,62px)}.manifesto-copy>p:first-child{margin-bottom:55px}.games{padding:90px 22px}.section-head{display:block}.section-head>p{margin-top:30px}.game-list{grid-template-columns:1fr}.game-card,.game-featured{grid-column:auto;min-height:460px}.game-art{inset:0;width:100%;height:100%;object-position:center top}.capabilities{padding:90px 22px 70px}.cap-list strong{font-size:19px}.powered{margin-top:75px;gap:25px}.contact{min-height:650px;padding:90px 22px}.contact h2{margin-bottom:50px}.contact-link{min-width:100%}footer{padding:45px 22px;grid-template-columns:1fr;align-items:center;text-align:center}.footer-meta{order:3}footer>a:last-child{text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Static bundle motion states. These replace the previous GSAP runtime. */
.motion-ready .hero-copy > *, .motion-ready .hero-art, .motion-ready [data-reveal] { opacity:0; }
.motion-ready .hero-copy > * { transform:translateY(45px); transition:opacity .85s ease, transform .85s cubic-bezier(.22,1,.36,1); }
.motion-ready .hero-art { transform:scale(.86); transition:opacity:1.35s ease, transform:1.35s cubic-bezier(.22,1,.36,1); }
.motion-ready [data-reveal] { transform:translateY(70px); transition:opacity .85s ease, transform .85s cubic-bezier(.22,1,.36,1); }
.motion-ready .hero-copy > .is-visible, .motion-ready .hero-art.is-visible, .motion-ready [data-reveal].is-visible { opacity:1; transform:none; }
