@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&family=DM+Sans:wght@400;500;600&display=swap');

:root{
  --paper:#fbf6ef; --paper-deep:#f0e4d7; --white:#fffdf9;
  --plum:#4a2944; --rose:#bd7184; --rose-soft:#e9c8cf;
  --sage:#788661; --gold:#bf9550; --ink:#3d3037;
  --lav:#e8e1ed; --shadow:rgba(74,41,68,.11);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;background-image:radial-gradient(rgba(74,41,68,.045) .8px,transparent .8px);background-size:16px 16px;pointer-events:none;z-index:0}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
h1,h2,h3{font-family:'Cormorant Garamond',serif;color:var(--plum);margin:0;font-weight:600}

.corner-vine{position:fixed;z-index:3;color:var(--sage);font-family:'Cormorant Garamond',serif;font-size:2.2rem;line-height:1;opacity:.65;pointer-events:none;writing-mode:vertical-rl;letter-spacing:12px}
.corner-vine span{color:var(--rose);font-size:1.35rem}
.vine-left{left:16px;top:22%;transform:rotate(8deg)}
.vine-right{right:16px;top:48%;transform:rotate(-8deg)}

.site-header{position:relative;z-index:2;text-align:center;padding:32px 8vw 24px;max-width:1200px;margin:auto}
.site-header.compact{padding-top:38px}
.tiny-kicker,.eyebrow,.extra-label,.label{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.brand-row{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:8px}
.petal-mark{font-family:'Cormorant Garamond',serif;color:var(--rose);font-size:2.5rem;transform:rotate(-8deg)}
.site-name{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,6vw,5rem);line-height:.9;letter-spacing:.01em;color:var(--plum)}
.site-name .accent{color:var(--rose);font-style:italic}
.tagline{max-width:560px;margin:12px auto 0;font-size:.92rem;opacity:.7}
nav{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:25px}
nav a{font-size:.78rem;font-weight:600;letter-spacing:.04em;color:var(--plum);padding-bottom:5px;border-bottom:1px solid transparent;transition:.2s}
nav a:hover,nav a.current{border-color:var(--rose);color:var(--rose)}
.tape-divider{position:relative;width:110px;height:14px;margin:26px auto 0;background:repeating-linear-gradient(135deg,var(--rose-soft),var(--rose-soft) 7px,#f1dce0 7px,#f1dce0 14px);opacity:.8;transform:rotate(-2deg);border-radius:2px}.tape-divider span{position:absolute;left:50%;top:-15px;transform:translateX(-50%);background:var(--paper);padding:0 6px;color:var(--rose);font-size:.8rem}

.hero{position:relative;z-index:1;max-width:1080px;margin:20px auto 30px;padding:56px 7vw;display:grid;grid-template-columns:1.35fr .75fr;gap:50px;align-items:center;border-top:1px solid rgba(74,41,68,.1);border-bottom:1px solid rgba(74,41,68,.1)}
.hero h1{font-size:clamp(3rem,6vw,5.2rem);line-height:.94;margin:10px 0 18px}.hero h1 em{color:var(--rose)}.hero-copy>p{max-width:650px;font-size:1.02rem;opacity:.76}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.button{display:inline-block;border-radius:999px;padding:10px 17px;font-size:.76rem;font-weight:600;letter-spacing:.03em;cursor:pointer;border:1px solid rgba(74,41,68,.15)}.button.primary{background:var(--plum);color:var(--paper)}.button.secondary{background:var(--white);color:var(--plum)}.button:hover{transform:translateY(-1px)}
.scrap-card{background:var(--white);padding:28px 25px 24px;box-shadow:4px 8px 0 rgba(191,149,80,.18),0 12px 30px var(--shadow);transform:rotate(2deg);border:1px solid rgba(74,41,68,.08)}
.scrap-label{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rose);font-weight:600}.scribble{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.15rem;color:var(--sage);margin:18px 0 6px}.scrap-card strong{font-family:'Cormorant Garamond',serif;font-size:1.5rem;line-height:1.15;color:var(--plum);font-weight:600}.tiny-rule{margin:18px 0 8px;color:var(--gold);letter-spacing:8px}.date-note{font-size:.7rem;opacity:.55}

.shelf{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:60px 6vw 20px}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:25px}.section-intro h2,.extras-heading h2{font-size:2.7rem;line-height:.9;margin-top:7px}.section-intro>p{max-width:450px;margin:0;opacity:.65;font-size:.88rem}.centered{text-align:center;display:block}.centered>p{margin:12px auto 0;max-width:600px}
.search-wrap{max-width:520px;margin:0 auto 16px;position:relative}.search-wrap input{width:100%;padding:13px 20px 13px 43px;border-radius:30px;border:1px solid rgba(74,41,68,.15);background:rgba(255,253,249,.9);color:var(--ink);outline:none}.search-wrap input:focus{border-color:var(--rose)}.search-icon{position:absolute;left:18px;top:8px;font-family:serif;font-size:1.4rem;color:var(--rose);z-index:1}
.shelf-strip{display:flex;justify-content:center;gap:9px;overflow-x:auto;padding:3px 0 15px}.shelf-chip{background:var(--paper-deep);color:var(--plum);border:1px solid rgba(74,41,68,.08);padding:8px 15px;border-radius:999px;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap}.shelf-chip.active{background:var(--plum);color:var(--paper)}
.grid{column-count:3;column-gap:20px}.card{display:block;break-inside:avoid;background:var(--white);border:1px solid rgba(74,41,68,.09);padding:27px 21px 22px;margin-bottom:20px;position:relative;box-shadow:0 3px 0 rgba(74,41,68,.03);transition:transform .18s,box-shadow .18s}.card:nth-child(2n){transform:rotate(.45deg)}.card:nth-child(3n){transform:rotate(-.4deg)}.card:hover{transform:translateY(-5px) rotate(0);box-shadow:0 14px 30px var(--shadow)}.card::before{content:"";position:absolute;top:-7px;left:23px;width:30px;height:12px;background:rgba(191,149,80,.65);transform:rotate(-4deg)}.paper-number{float:right;font-family:'Cormorant Garamond',serif;color:var(--rose);font-size:1.1rem}.card .label{display:block;color:var(--rose);margin-bottom:10px}.card h3{font-size:1.55rem;line-height:1.05;margin-bottom:10px}.card .excerpt{font-size:.85rem;opacity:.7;margin:0 0 17px}.card-link{font-size:.74rem;font-weight:600;color:var(--sage)}.card.hidden{display:none}.placeholder{background:linear-gradient(140deg,#fffdf9,#fbf4ee)}.no-results{text-align:center;display:none;color:var(--sage)}.no-results.visible{display:block}

.obsessions-section{position:relative;z-index:1;max-width:1180px;margin:65px auto 0;padding:65px 6vw;background:rgba(240,228,215,.52);border-top:1px solid rgba(74,41,68,.08);border-bottom:1px solid rgba(74,41,68,.08)}.personal-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;margin-top:35px}.obsession-board,.suggestion-card{background:var(--white);border:1px solid rgba(74,41,68,.08);padding:27px;box-shadow:0 7px 22px rgba(74,41,68,.06)}.obsession-board{background:#fffdf9}.board-header{font-family:'Cormorant Garamond',serif;font-size:1.45rem;color:var(--plum);padding-bottom:15px;border-bottom:1px dashed rgba(74,41,68,.16)}.board-header span{color:var(--rose)}.tag-cloud{display:flex;flex-wrap:wrap;gap:9px;padding:22px 0}.obsession-tag{border:1px solid rgba(189,113,132,.3);background:#fbecf0;color:var(--plum);border-radius:999px;padding:8px 12px;cursor:pointer;font-size:.78rem}.obsession-tag span{color:var(--rose);margin-left:5px}.add-form label{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--sage);margin-bottom:7px}.input-row{display:flex;gap:8px}.input-row input{flex:1;min-width:0;border:1px solid rgba(74,41,68,.15);background:var(--paper);padding:10px 12px;outline:none}.input-row button{border:0;background:var(--plum);color:white;padding:0 15px;cursor:pointer}.reset-link{margin-top:10px;background:none;border:0;padding:0;color:var(--sage);font-size:.68rem;text-decoration:underline;cursor:pointer}.suggestion-card{background:linear-gradient(145deg,#fffdf9,#f0e9f1)}.suggestion-card h3{font-size:2rem;line-height:1;margin:8px 0}.suggestion-note{font-size:.8rem;opacity:.65}.suggestions{display:grid;gap:10px;margin-top:18px}.suggestion{font-size:.78rem;background:rgba(255,255,255,.7);padding:10px 12px;border-left:2px solid var(--rose)}.suggestion span{color:var(--gold);margin-right:7px}

.extras-section{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:70px 6vw 20px}.extras-heading{text-align:center;margin-bottom:30px}.extras-heading>p{font-size:.84rem;opacity:.6;margin:10px 0 0}.extras-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.extra-card{background:var(--white);border:1px solid rgba(74,41,68,.08);padding:25px;min-height:220px;display:flex;flex-direction:column;box-shadow:0 5px 18px rgba(74,41,68,.04)}.extra-card.fact{background:linear-gradient(155deg,#fffdf9,#f4dfe4)}.extra-card.vocab{background:linear-gradient(155deg,#fffdf9,#e7eadc)}.extra-card.little-link{background:linear-gradient(155deg,#fffdf9,#eee7d6)}.icon-badge{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:13px;background:rgba(255,255,255,.75);color:var(--rose)}.extra-card p{font-size:.85rem;opacity:.72;flex-grow:1}.vocab-word{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-style:italic;color:var(--plum)}.extra-card h3{font-size:1.5rem;line-height:1.05;margin:5px 0}.shuffle-btn{align-self:flex-start;border:1px solid rgba(74,41,68,.18);background:transparent;color:var(--plum);padding:7px 12px;border-radius:999px;font-size:.72rem;font-weight:600;cursor:pointer}.shuffle-btn:hover{background:rgba(74,41,68,.06)}

.little-page{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:45px 6vw 70px}.little-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:38px}.little-card{padding:30px;min-height:230px;border:1px solid rgba(74,41,68,.08);box-shadow:5px 7px 0 rgba(74,41,68,.04)}.little-card h2{font-size:2rem;line-height:1.05;margin:10px 0 13px}.little-card p{font-size:.84rem;opacity:.68}.pink-paper{background:#f6dfe4}.cream-paper{background:#f7ead9}.sage-paper{background:#e5eadb}.lavender-paper{background:#e9e2ed}.white-paper{background:var(--white)}.wide-paper{grid-column:span 2}.random-box{text-align:center;margin:55px auto 0;padding:40px 25px;background:var(--plum);color:var(--paper);max-width:700px}.random-box h2{color:var(--paper);font-size:2.3rem;margin:12px 0 20px}.random-box .button.primary{background:var(--rose-soft);color:var(--plum)}

.about-page{position:relative;z-index:1;max-width:820px;margin:0 auto;padding:45px 6vw 70px}.about-card{background:var(--white);padding:55px;box-shadow:0 12px 35px rgba(74,41,68,.08);border:1px solid rgba(74,41,68,.08);position:relative}.about-card::after{content:"✿";position:absolute;right:28px;top:22px;color:var(--rose);font-size:1.6rem}.about-card h1{font-size:3.4rem;margin:8px 0 22px}.about-card p{font-family:'Cormorant Garamond',serif;font-size:1.25rem;line-height:1.5}.about-signature{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.5rem;color:var(--rose);margin-top:28px}

.essay{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:45px 6vw 65px}.essay .label{display:block;color:var(--rose);margin-bottom:12px}.essay h1{font-size:clamp(3rem,7vw,5rem);line-height:.95}.essay-deck{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.35rem;opacity:.72;margin:18px 0 7px}.essay-meta{font-size:.74rem;color:var(--sage);margin-bottom:35px}.essay p{font-family:'Cormorant Garamond',serif;font-size:1.25rem;line-height:1.55}.essay .drop{font-size:4.5rem;float:left;line-height:.72;padding-right:8px;color:var(--rose)}blockquote{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--plum);font-size:1.7rem;border-left:2px solid var(--rose);margin:35px 0;padding:8px 20px}.back-link{position:relative;z-index:1;display:block;width:max-content;margin:0 auto 20px;color:var(--plum);font-size:.78rem;font-weight:600;border-bottom:1px solid var(--rose)}

footer{position:relative;z-index:1;margin-top:55px;padding:35px 8vw 45px;text-align:center;border-top:1px solid rgba(74,41,68,.1)}footer p{font-size:.75rem;opacity:.55}.footer-flourish{color:var(--rose);letter-spacing:5px;margin-bottom:8px}

@media(max-width:900px){.hero{grid-template-columns:1fr}.scrap-card{max-width:390px;margin:auto}.grid{column-count:2}.personal-grid,.extras-grid{grid-template-columns:1fr}.corner-vine{display:none}}
@media(max-width:600px){.site-header{padding-left:5vw;padding-right:5vw}.brand-row{align-items:flex-start}.petal-mark{font-size:2rem}.hero{padding:40px 6vw}.hero h1{font-size:3.2rem}.section-intro{display:block}.section-intro>p{margin-top:12px}.grid{column-count:1}.little-grid{grid-template-columns:1fr}.wide-paper{grid-column:span 1}.about-card{padding:32px 24px}.about-card h1{font-size:2.7rem}.input-row{flex-direction:column}.input-row button{padding:10px}.site-name{font-size:3rem}}
