/*
Theme Name: MyDreamLoveyesterday
Theme URI: https://mydreamloveyesterday.com/
Author: MyDreamLoveyesterday
Description: Self-contained midnight memory-archive showcase for fictional adult companions. Brand, domain and promotion link are set in functions.php.
Version: 1.0.0
Requires at least: 5.8
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: mydreamloveyesterday
*/
@font-face{font-family:Fraunces;src:url(assets/fonts/fraunces.ttf) format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:Fraunces;font-style:italic;src:url(assets/fonts/fraunces-italic.ttf) format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:"Work Sans";src:url(assets/fonts/worksans.ttf) format("truetype");font-weight:100 900;font-display:swap}
:root{--night:#1D1224;--night2:#291832;--plum:#4A2853;--cream:#FBF2E4;--cream2:#F1E2CF;--gold:#E7B96E;--coral:#E78D7B;--lilac:#C9B4DA;--ink:#281A2D;--muted:#6E5B70;--line:rgba(40,26,45,.17);--lightline:rgba(251,242,228,.17);--serif:Fraunces,Georgia,serif;--sans:"Work Sans",Arial,sans-serif;--shadow:0 28px 70px -30px rgba(0,0,0,.65)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--cream);font:16px/1.7 var(--sans)}img{max-width:100%;height:auto;display:block}a{color:inherit}button{font:inherit}.wrap{width:min(1240px,92vw);margin:auto}.narrow{width:min(790px,92vw)}
h1,h2{font-family:var(--serif);font-weight:400;line-height:1.04;margin:0 0 .5em;letter-spacing:-.025em}h1{font-size:clamp(2.35rem,5.6vw,5.2rem)}h2{font-size:clamp(1.7rem,3.2vw,2.85rem)}p{margin:0 0 1.2em}.kicker{font:600 .72rem/1.4 var(--sans);letter-spacing:.23em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}.kicker::before{content:"✦";margin-right:10px}.lead{font-size:1.13rem;max-width:64ch;color:var(--lilac)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--gold);color:var(--night);border:1px solid var(--gold);padding:15px 25px;text-decoration:none;font-weight:650;font-size:.9rem;letter-spacing:.02em;border-radius:3px;transition:.25s}.btn::after{content:"↗";font-size:1.1rem}.btn:hover{background:var(--cream);border-color:var(--cream);transform:translateY(-2px)}.btn.ghost{background:transparent;color:inherit;border-color:currentColor}.btn.ghost:hover{background:var(--cream);color:var(--night);border-color:var(--cream)}.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.center{text-align:center;margin-top:38px}
header{position:relative;z-index:30;background:var(--night);border-bottom:1px solid var(--lightline)}header .wrap{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;align-items:center;gap:12px;text-decoration:none;font:500 1.16rem/1.1 var(--serif);max-width:285px}.lmark{flex:0 0 40px;width:40px;height:40px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-style:italic;font-size:1.35rem;position:relative}.lmark::after{content:"";position:absolute;width:6px;height:6px;background:var(--coral);border-radius:50%;right:-2px;top:5px;box-shadow:0 0 0 4px var(--night)}nav{display:flex;align-items:center;gap:20px}nav a{text-decoration:none;font-size:.79rem;font-weight:550;white-space:nowrap}nav a:not(.navcta):hover{color:var(--gold)}.navcta{border:1px solid var(--gold);color:var(--gold);padding:10px 15px;border-radius:3px}.navcta:hover{background:var(--gold);color:var(--night)}.menu{display:none;border:0;background:none;width:44px;height:44px;padding:10px;cursor:pointer}.menu span{display:block;height:1px;background:var(--cream);margin:7px 0;transition:.25s}
.hero{position:relative;overflow:hidden;padding:80px 0 90px;min-height:760px;display:flex;align-items:center;background:radial-gradient(circle at 75% 35%,rgba(123,75,132,.28),transparent 40%),var(--night)}.hero::before{content:"";position:absolute;width:680px;height:680px;border:1px solid rgba(231,185,110,.16);border-radius:50%;right:-120px;top:-80px;box-shadow:0 0 0 80px rgba(231,185,110,.035),0 0 0 160px rgba(231,185,110,.025)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center;position:relative}.hero h1{max-width:820px}.hero h1 em{font-weight:300;color:var(--gold)}.hero-copy .lead{max-width:580px}.hero-visual{position:relative;padding:20px 0 30px 40px}.hero-visual>img{width:100%;max-height:640px;object-fit:cover;object-position:center 32%;border-radius:220px 220px 8px 8px;filter:saturate(.86);box-shadow:var(--shadow)}.moon-note{position:absolute;left:-20px;bottom:0;background:var(--cream);color:var(--ink);padding:22px 24px;width:235px;box-shadow:var(--shadow);transform:rotate(-3deg)}.moon-note small{display:block;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:.64rem}.moon-note strong{font:italic 1.3rem var(--serif);display:block;margin-top:5px}.catalog-no{position:absolute;right:-18px;top:80px;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.25em;color:var(--gold);font-size:.65rem}
.ticker{padding:16px 0;border-block:1px solid var(--lightline);overflow:hidden;white-space:nowrap;color:var(--lilac);font:italic 1.1rem var(--serif)}.ticker div{display:inline-block;animation:tick 42s linear infinite}@keyframes tick{to{transform:translateX(-50%)}}
section{padding:100px 0}.paper{background:var(--cream);color:var(--ink)}.paper .lead,.paper .head p:not(.kicker){color:var(--muted)}.paper .kicker{color:#935D35}.rose{background:var(--cream2);color:var(--ink)}.rose .kicker{color:#935D35}.head{max-width:720px;margin-bottom:50px}.head p:not(.kicker){color:var(--lilac)}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.intro-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:34px 0}.intro-stats li{list-style:none;background:var(--cream);padding:16px 12px;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.intro-stats b{display:block;font:400 2rem var(--serif);color:var(--plum)}.intro-stats{padding:0}.double-photo{position:relative;height:580px}.double-photo img{position:absolute;width:63%;object-fit:cover;object-position:center 22%;box-shadow:var(--shadow);aspect-ratio:3/4}.double-photo img:first-child{left:0;top:0}.double-photo img:last-child{right:0;bottom:0;border:12px solid var(--cream)}
.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.memory-card{display:block;text-decoration:none;background:var(--night2);border:1px solid var(--lightline);transition:.3s;position:relative}.memory-card:hover{transform:translateY(-7px);border-color:var(--gold)}.memory-card[hidden]{display:none}.memory-img{display:block;aspect-ratio:4/5;overflow:hidden;position:relative}.memory-img img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:.6s}.memory-card:hover img{transform:scale(1.025)}.memory-img::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 65%,rgba(29,18,36,.6))}.memory-index{position:absolute;top:16px;left:16px;z-index:1;background:var(--cream);color:var(--ink);padding:5px 10px;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}.memory-body{display:block;padding:24px}.memory-meta{display:flex;justify-content:space-between;color:var(--gold);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.memory-body strong{display:block;font:400 2rem var(--serif);margin:8px 0}.memory-body em{font-style:normal;color:var(--lilac);font-size:.92rem}.memory-foot{display:block;border-top:1px solid var(--lightline);margin-top:20px;padding-top:14px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.memory-foot i{float:right;color:var(--gold);font-style:normal;font-size:1.1rem}
.chapter-list{border-top:1px solid var(--line)}.chapter-row{display:grid;grid-template-columns:70px 180px 1fr 30px;gap:30px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:.25s}.chapter-row:hover{padding-left:12px;background:rgba(74,40,83,.05)}.chapter-row>span{font:italic 1.6rem var(--serif);color:#935D35}.chapter-row img{aspect-ratio:16/10;width:100%;height:110px;object-fit:cover;object-position:center 25%;filter:saturate(.8)}.chapter-row strong{display:block;font:400 1.8rem var(--serif)}.chapter-row em{font-style:normal;color:var(--muted)}.chapter-row i{font-style:normal;font-size:1.4rem;color:#935D35}
.feeling-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feeling{padding:34px;border:1px solid var(--lightline);background:rgba(251,242,228,.025)}.feeling span{font:italic 3rem var(--serif);color:var(--gold)}.feeling h2{font-size:1.6rem;margin-top:18px}.feeling p{color:var(--lilac);margin:0}.memory-quote{border-left:2px solid var(--gold);padding-left:28px;font:italic 1.7rem/1.35 var(--serif);margin:28px 0}.feature-photo{margin:0;position:relative}.feature-photo img{aspect-ratio:4/5;width:100%;object-fit:cover;object-position:center 20%;border-radius:180px 180px 0 0}.feature-photo figcaption{position:absolute;bottom:20px;left:-20px;background:var(--gold);color:var(--night);padding:10px 18px;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em}.brand-line{padding:30px 0;border-bottom:1px solid var(--lightline)}.brand-line .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--lilac);font:italic 1.25rem var(--serif)}
.letter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.letter-card{background:var(--cream);color:var(--ink);padding:30px;text-decoration:none;min-height:270px;display:flex;flex-direction:column;position:relative;transition:.25s;box-shadow:0 15px 35px -28px #000}.letter-card:nth-child(3n+2){transform:translateY(18px)}.letter-card:hover{transform:translateY(-5px) rotate(-.5deg)}.letter-card:nth-child(3n+2):hover{transform:translateY(10px) rotate(.5deg)}.letter-card small{color:#935D35;text-transform:uppercase;letter-spacing:.14em;font-size:.65rem}.letter-card strong{font:400 1.55rem/1.15 var(--serif);margin:20px 0}.letter-card em{margin-top:auto;color:var(--muted);font-style:normal}.letter-card::after{content:"✦";position:absolute;right:22px;bottom:18px;color:#935D35}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.step{background:var(--cream);padding:28px}.step span{font:italic 2.7rem var(--serif);color:#935D35}.step h2{font-size:1.45rem;margin-top:16px}.step p{color:var(--muted);font-size:.92rem;margin:0}
.faq details{border-bottom:1px solid var(--line);padding:21px 0}.faq summary{cursor:pointer;list-style:none;font:400 1.3rem/1.3 var(--serif);display:flex;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font-family:var(--sans);color:#935D35}.faq details[open] summary::after{transform:rotate(45deg)}.faq p{color:var(--muted);margin:15px 0 0}
.pagehero{padding:80px 0;background:var(--cream2);color:var(--ink);position:relative;overflow:hidden}.pagehero::after{content:"✦";position:absolute;right:6vw;top:25px;font-size:14rem;line-height:1;color:rgba(74,40,83,.055)}.pagehero-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:70px;align-items:center;position:relative;z-index:1}.pagehero .lead{color:var(--muted)}.pagehero .kicker{color:#935D35}.pagehero img{width:100%;max-height:360px;object-fit:cover;object-position:center 20%;border-radius:140px 140px 0 0;box-shadow:var(--shadow)}.profile{background:var(--cream);color:var(--ink)}.profile-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start}.profile-photo{position:sticky;top:25px;margin:0}.profile-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 20%;border-radius:190px 190px 4px 4px}.profile-photo figcaption{padding:14px 0;text-align:center;color:var(--muted);font:italic 1rem var(--serif)}.profile .kicker{color:#935D35}.profile h1{font-size:clamp(2.3rem,4.6vw,4.3rem)}.profile .lead{color:var(--muted)}.scene-card{background:var(--night);color:var(--cream);padding:28px;margin:28px 0;position:relative}.scene-card::before{content:"SCENE";position:absolute;right:20px;top:18px;color:var(--gold);font-size:.6rem;letter-spacing:.2em}.scene-card h2{color:var(--gold);font-size:1.4rem}.scene-card p{margin:0;color:var(--lilac)}.ticks{padding:0;list-style:none}.ticks li{padding:9px 0 9px 28px;border-bottom:1px solid var(--line);position:relative}.ticks li::before{content:"✦";position:absolute;left:0;color:#935D35}.opener{font:italic 1.55rem/1.4 var(--serif);padding:24px 28px;background:var(--cream2);border-left:3px solid var(--plum);margin:0 0 28px}.note{color:var(--muted);font-size:.88rem;margin-top:25px}.note a{color:#75466D}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:35px}.filters button{border:1px solid var(--lilac);background:transparent;color:var(--cream);padding:10px 20px;border-radius:2px;cursor:pointer;font-size:.82rem}.filters button.active,.filters button:hover{background:var(--gold);border-color:var(--gold);color:var(--night)}
.chapter-intro{max-width:760px}.chapter-number{font:italic 7rem/1 var(--serif);color:var(--gold);opacity:.3;float:right}.reading{background:var(--cream);color:var(--ink);padding:75px 0 100px}.reading h1{font-size:clamp(2.15rem,4.5vw,3.7rem)}.reading .kicker{color:#935D35}.reading h2{font-size:1.75rem;margin-top:1.5em}.reading p{color:#4C3C4F}.wide{margin:32px 0}.wide img{width:100%;aspect-ratio:16/8;object-fit:cover;object-position:center 24%;border-radius:170px 0 0 0}.endcta{margin-top:50px;background:var(--night);color:var(--cream);padding:30px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.endcta p{margin:0;font:italic 1.35rem var(--serif);color:var(--cream)}.legal section{padding:0}.legal h2{font-size:1.35rem}.legal .lead{color:var(--muted)}
.article-list{display:grid;gap:0;border-top:1px solid var(--line)}.article-row{display:grid;grid-template-columns:160px 1fr 35px;gap:30px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none}.article-row:hover strong{color:#75466D}.article-row img{width:160px;height:110px;object-fit:cover;object-position:center 22%}.article-row small{color:#935D35;text-transform:uppercase;letter-spacing:.13em;font-size:.65rem}.article-row strong{display:block;font:400 1.55rem/1.18 var(--serif);margin:7px 0}.article-row em{font-style:normal;color:var(--muted);font-size:.9rem}.article-row i{font-style:normal;color:#935D35;font-size:1.3rem}
.note-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.night-note{margin:0;background:var(--cream);color:var(--ink);padding:32px 32px 24px;position:relative;box-shadow:var(--shadow)}.night-note::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--coral)}.night-note blockquote{margin:0 0 18px;font:italic 1.35rem/1.4 var(--serif)}.night-note figcaption{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.13em}.night-note a{text-decoration:none}.prompt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.prompt{border:1px solid var(--line);padding:28px;background:rgba(255,255,255,.24)}.prompt span{font:italic 2rem var(--serif);color:#935D35}.prompt h2{font-size:1.5rem;margin:14px 0 8px}.prompt p{color:var(--muted);margin:0}.match-table{border-top:1px solid var(--line)}.match-row{display:grid;grid-template-columns:130px 1fr 1fr;gap:25px;padding:24px 0;border-bottom:1px solid var(--line);align-items:center}.match-row strong{font:400 1.5rem var(--serif)}.match-row span{color:var(--muted)}.match-row a{color:#75466D;font-weight:600}.gloss{margin:0}.gloss dt{font:400 1.45rem var(--serif);color:#75466D;margin-top:25px}.gloss dd{margin:5px 0 0;padding-bottom:18px;border-bottom:1px solid var(--line);color:var(--muted)}
footer{padding:80px 0 35px;background:#140C19;color:var(--cream)}.footer-title{font:400 clamp(2.5rem,6vw,5.6rem)/1 var(--serif);letter-spacing:-.035em;margin-bottom:55px}.footer-title em{color:var(--gold)}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--lightline)}.footer-grid h2{font:600 .67rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.footer-grid a:not(.logo){display:block;text-decoration:none;color:var(--lilac);font-size:.85rem;padding:4px 0}.footer-grid a:hover{color:var(--gold)}.footer-grid p{color:var(--lilac);font-size:.85rem;margin-top:20px}.disc{font-size:.75rem;color:var(--lilac);margin:30px 0 15px}.copy{font-size:.75rem;color:var(--lilac);margin:0}
@media(max-width:1100px){nav{position:absolute;left:0;right:0;top:88px;background:var(--night2);border-bottom:1px solid var(--lightline);padding:25px 5vw;display:flex;flex-direction:column;align-items:flex-start;gap:15px;transform:translateY(-140%);opacity:0;transition:.3s;z-index:-1}.nav-open nav{transform:none;opacity:1}.menu{display:block}.nav-open .menu span:first-child{transform:translateY(4px) rotate(45deg)}.nav-open .menu span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero-grid,.split,.profile-grid{grid-template-columns:1fr}.hero-copy{max-width:800px}.hero-visual{max-width:650px;margin:auto}.hero{padding-top:60px}.memory-grid,.letter-grid{grid-template-columns:1fr 1fr}.steps-grid{grid-template-columns:1fr 1fr}.pagehero-grid{grid-template-columns:1fr .5fr}.profile-photo{position:relative;top:0;max-width:480px}.double-photo{max-width:600px}.footer-grid{grid-template-columns:1fr 1fr}.chapter-row{grid-template-columns:55px 140px 1fr 25px}.feature-photo{max-width:520px}}
@media(max-width:650px){body{font-size:15px}section{padding:70px 0}.hero{min-height:auto;padding:55px 0 70px}.hero-grid{gap:45px}.hero-visual{padding-left:15px}.hero-visual>img{max-height:520px}.moon-note{left:0;width:210px;padding:17px}.catalog-no{display:none}.intro-stats{grid-template-columns:1fr 1fr}.memory-grid,.letter-grid,.feeling-grid,.steps-grid,.note-grid,.prompt-grid,.footer-grid{grid-template-columns:1fr}.letter-card:nth-child(3n+2){transform:none}.chapter-row{grid-template-columns:40px 85px 1fr;gap:14px}.chapter-row img{height:85px}.chapter-row i{display:none}.chapter-row strong{font-size:1.25rem}.chapter-row em{font-size:.8rem}.pagehero-grid{grid-template-columns:1fr}.pagehero img{display:none}.article-row{grid-template-columns:90px 1fr;gap:16px}.article-row img{width:90px;height:100px}.article-row i{display:none}.article-row strong{font-size:1.2rem}.article-row em{display:none}.match-row{grid-template-columns:1fr;gap:5px}.double-photo{height:420px}.brand-line .wrap{font-size:1rem}.wide img{aspect-ratio:4/3;border-radius:90px 0 0 0}.logo{font-size:1rem;max-width:245px}}
