@import url('https://fonts.googleapis.com/css2?family=DM+Mono&family=Playfair+Display:ital,wght@0,500;1,500;1,600&family=Space+Grotesk:wght@400;500;600&display=swap');:root{--paper:#f5efe2;--paper2:#e8decc;--ink:#29251f;--red:#a9534b;--blue:#596f76;--gold:#dfbd64;--line:#cbbda8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'Space Grotesk',sans-serif;background:#ddd3c2}.paper-grain{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.eyebrow{font:9px 'DM Mono';letter-spacing:2px;color:#786e61}.wax{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#9e5148;color:#f7e9d9;font:25px 'Playfair Display';transform:rotate(-8deg);box-shadow:0 3px 0 #733d38}.wax.small{width:34px;height:34px;font-size:18px}.gate-wrap{min-height:100vh;display:grid;place-items:center;padding:50px 7%;position:relative}.gate-card{width:min(700px,100%);background:var(--paper);padding:65px;box-shadow:0 25px 70px rgba(53,43,32,.16);text-align:center;position:relative;border:1px solid #d2c4ae}.gate-card:before{content:'';position:absolute;inset:12px;border:1px dashed #cbbda8;pointer-events:none}.gate-card .wax{margin:0 auto 25px}.gate-card h1{font:60px 'Playfair Display';line-height:.96;margin:16px 0}.gate-card h1 em{color:var(--red)}.lead{max-width:510px;margin:0 auto 30px;line-height:1.8;color:#6e6559}.mini-stack{display:flex;justify-content:center;gap:18px;color:var(--red);font-size:22px;margin-bottom:32px}.gate-card form{max-width:520px;margin:auto;text-align:left}.gate-card label{font:8px 'DM Mono';letter-spacing:1px}.pass-row{display:grid;grid-template-columns:1fr auto;margin-top:8px}.pass-row input{min-width:0;border:1px solid #b9aa94;background:#faf5eb;padding:14px;font:12px 'Space Grotesk'}.pass-row button{border:0;background:var(--ink);color:#fff;padding:0 18px;font:9px 'DM Mono';letter-spacing:.5px}.hint{text-align:center;font-size:9px;color:#82786b}.hint b{color:var(--red)}#error{text-align:center;color:#a9534b;min-height:14px;font-size:9px}.gate-note{position:absolute;right:8%;bottom:10%;width:220px;background:#e9dcae;padding:22px;transform:rotate(5deg);box-shadow:0 10px 25px rgba(50,40,30,.12);font-size:10px}.gate-note .tape{position:absolute;top:-13px;left:70px;width:80px;height:25px;background:rgba(204,186,137,.7);transform:rotate(-3deg)}.gate-note b{font:9px 'DM Mono';display:block}.gate-note p{line-height:1.5}.gate-note small{color:#6c6257}header{height:76px;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:rgba(245,239,226,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:10px}.brand b{font:13px 'DM Mono';letter-spacing:2px}.brand small{display:block;font:7px 'DM Mono';letter-spacing:3px;color:#786e61;margin-top:3px}header nav{display:flex;gap:25px}header nav a,.back{font:8px 'DM Mono';text-transform:uppercase;letter-spacing:1px;color:#665d52}.back{border:1px solid var(--line);padding:10px 13px}.book-cover{min-height:680px;background:var(--paper);position:relative;padding:105px 10%;overflow:hidden}.cover-sheet{position:relative;width:min(620px,65%);z-index:4}.cover-sheet:after{content:'';position:absolute;inset:-40px -50px;background:#eee5d3;z-index:-1;transform:rotate(-2deg);box-shadow:0 25px 55px rgba(50,40,30,.12)}.cover-sheet h1{font:76px 'Playfair Display';line-height:.88;margin:20px 0}.cover-sheet h1 em{color:var(--red)}.cover-sheet>p:not(.eyebrow){line-height:1.8;color:#6d6458;max-width:510px}.sticker-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.sticker-row span{border:1px solid #bcae99;padding:7px 10px;font:8px 'DM Mono';background:#f8f0df}.polaroid{position:absolute;background:#fff;padding:13px 13px 27px;width:235px;box-shadow:0 18px 35px rgba(45,36,26,.18);z-index:5}.polaroid b,.polaroid small{display:block}.polaroid b{font:17px 'Playfair Display';margin-top:10px}.polaroid small{font:8px 'DM Mono';color:#81776a;margin-top:6px}.a{right:13%;top:70px;transform:rotate(7deg)}.b{right:31%;bottom:50px;transform:rotate(-7deg)}.fake-photo{height:220px}.photo-a{background:radial-gradient(circle at 70% 25%,#f5d47b 0 25px,transparent 26px),linear-gradient(145deg,#718174,#dca67f 60%,#76645b)}.photo-b{background:radial-gradient(circle at 60% 55%,#9c674a 0 32px,transparent 33px),linear-gradient(145deg,#d8c5a7,#7b6b5c)}.stamp-note{position:absolute;right:7%;bottom:105px;color:var(--red);font:25px 'Playfair Display';font-style:italic;transform:rotate(-12deg);z-index:7}.chapter-section,.gallery-section,.notes-section{background:var(--paper);padding:95px 7%}.section-head{text-align:center}.section-head.left{text-align:left}.section-head h2,.gallery-section h2,.timeline-section h2,.notes-section h2{font:50px 'Playfair Display';margin:12px 0}.section-head>p:last-child{color:#756c60}.chapter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:45px}.chapter-grid button{border:1px solid var(--line);min-height:185px;background:#eee5d4;text-align:left;padding:25px;color:var(--ink);cursor:pointer}.chapter-grid button:nth-child(2n){background:#e6eee3}.chapter-grid i{font:9px 'DM Mono';color:var(--red);font-style:normal}.chapter-grid b,.chapter-grid small{display:block}.chapter-grid b{font:25px 'Playfair Display';margin-top:55px}.chapter-grid small{font-size:9px;color:#746a5d;margin-top:7px}.chapter-grid button:hover{transform:translateY(-5px) rotate(-.5deg);transition:.2s}.gallery-section{background:#dcd2c3}.filters{display:flex;gap:5px;flex-wrap:wrap;margin:25px 0}.filters button{border:1px solid #b9aa94;background:transparent;padding:8px 12px;font:8px 'DM Mono';cursor:pointer}.filters button.active{background:var(--ink);color:#fff}.memory-grid{columns:4 230px;column-gap:15px}.memory{break-inside:avoid;margin:0 0 15px;background:#f8f2e6;padding:15px;box-shadow:0 10px 20px rgba(48,39,29,.09);position:relative}.memory[hidden]{display:none}.memory b{font:19px 'Playfair Display';display:block;margin-top:11px}.memory p{font-size:9px;line-height:1.6;color:#6d6459}.memory small{font:7px 'DM Mono';color:#83786b;display:block;margin-top:9px}.memory .tape{position:absolute;top:-10px;left:35%;width:75px;height:23px;background:rgba(201,182,133,.65);transform:rotate(-3deg)}.photo-img{height:245px}.p1{background:linear-gradient(150deg,#8b8f6f,#e3b886 50%,#a9675c)}.p2{background:radial-gradient(circle at 40% 45%,#f1d4b8 0 20px,transparent 21px),linear-gradient(145deg,#d2b69a,#6f5d51)}.p3{background:radial-gradient(circle at 50% 35%,#e8b6a1 0 24px,transparent 25px),linear-gradient(145deg,#9caa8f,#d5c6a5)}.note{background:#f7edc9}.note blockquote{font:23px 'Playfair Display';line-height:1.35;margin:35px 4px 55px}.place{background:#e6dfce}.map-card{height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:repeating-linear-gradient(25deg,#d8e0d4 0 18px,#e4eadf 19px 37px);color:var(--blue)}.map-card span{font-size:65px}.map-card b{font-size:20px;color:var(--ink)}.map-card small{color:#6f665b}.cake-card{height:220px;background:radial-gradient(circle at 50% 40%,#f2c1bc 0 38px,transparent 39px),linear-gradient(145deg,#f3d7cb,#c27a75);display:grid;place-items:center;text-align:center}.cake-card span{font-size:30px;color:#fff}.cake-card b{font:25px 'Playfair Display';color:#fff}.cake-card small{color:#fff}.lined{min-height:275px;padding:25px 12px;background:repeating-linear-gradient(#f8f0da 0 31px,#d9c6a6 32px 33px)}.lined p{font:16px 'Playfair Display';line-height:1.65}.ticket{height:190px;background:#d5e0d9;border:1px dashed #75847d;padding:25px;display:flex;flex-direction:column;justify-content:center;gap:10px}.ticket small{font:8px 'DM Mono'}.ticket b{font:27px 'Playfair Display'}.ticket span{font:7px 'DM Mono'}.tilt{transform:rotate(-.7deg)}.tilt2{transform:rotate(.7deg)}.timeline-section{padding:100px 12%;background:#2e3534;color:#eee7da}.timeline-section .eyebrow{color:#d7bd72}.timeline-section h2{font-size:62px}.timeline{border-left:1px solid #69726f;margin:50px 0 0 15px}.timeline article{padding:0 0 45px 35px;position:relative}.timeline article:before{content:'';position:absolute;left:-5px;top:3px;width:9px;height:9px;background:var(--gold);border-radius:50%}.timeline span,.timeline b,.timeline small{display:block}.timeline span{font:8px 'DM Mono';color:#d7bd72}.timeline b{font:25px 'Playfair Display';margin:7px 0}.timeline small{font-size:9px;color:#b8bfbc}.notes-section{display:grid;grid-template-columns:1fr 1fr;gap:80px}.note-book{background:#f6e8b9;padding:40px;box-shadow:10px 12px 0 #c7b17d;transform:rotate(1deg);font:20px 'Playfair Display';line-height:1.55}.note-book .signature{font-style:italic;color:var(--red)}.final-card{text-align:center;padding:100px 20px;background:var(--red);color:#fff}.final-card span{font:8px 'DM Mono';letter-spacing:2px}.final-card h2{font:45px 'Playfair Display';max-width:650px;margin:15px auto 25px}.final-card a{border:1px solid rgba(255,255,255,.5);padding:11px 16px;font:8px 'DM Mono'}footer{padding:25px 7%;background:#202522;color:#e9e1d4;display:flex;justify-content:space-between;font:8px 'DM Mono';letter-spacing:1px}@media(max-width:900px){.gate-note{display:none}header nav{display:none}.book-cover{min-height:780px;padding:75px 7%}.cover-sheet{width:100%}.cover-sheet h1{font-size:60px}.a{right:5%;top:450px;width:180px}.b{left:6%;bottom:15px;width:165px}.fake-photo{height:150px}.stamp-note{display:none}.chapter-grid{grid-template-columns:1fr 1fr}.notes-section{grid-template-columns:1fr;gap:40px}}@media(max-width:560px){.gate-card{padding:45px 22px}.gate-card h1{font-size:43px}.pass-row{grid-template-columns:1fr;gap:8px}.pass-row button{height:44px}.cover-sheet h1{font-size:47px}.chapter-grid{grid-template-columns:1fr}.section-head h2,.gallery-section h2,.timeline-section h2,.notes-section h2{font-size:39px}.timeline-section{padding:70px 7%}.notes-section{padding:70px 7%}.note-book{padding:28px;font-size:17px}.final-card h2{font-size:34px}footer{display:block}footer span{display:block;margin-top:10px}}
