@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');
:root{--lila:#B9A0E8;--lav:#DDD1F4;--pink:#F4C6D7;--pink2:#FBE7EE;--cream:#FFF8F3;--violet:#68507D;--ink:#342C3B;--white:#fff;--line:rgba(104,80,125,.12);--shadow:0 24px 80px rgba(104,80,125,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Poppins,sans-serif;color:var(--ink);background:var(--cream)}a{color:inherit;text-decoration:none}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;position:absolute;z-index:10;width:100%}.nav>div{display:flex;gap:28px;align-items:center}.brand{font-weight:800;font-size:24px;letter-spacing:-1.2px}.brand span,.eyebrow span{color:#9b6bd1}.pill{background:rgba(255,255,255,.7);backdrop-filter:blur(15px);padding:12px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.8)}.hero{min-height:100vh;padding:140px 8vw 90px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:7vw;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--cream),#f9f0ff 48%,#ffeef4)}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:12px;font-weight:700;letter-spacing:3px;color:var(--violet)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(54px,8vw,112px);line-height:.94;letter-spacing:-6px;max-width:900px;margin:18px 0 30px}.hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.8;max-width:620px;color:#6f6475}.btn{border:0;font:inherit;font-weight:700;padding:15px 22px;border-radius:16px;cursor:pointer;display:inline-block}.primary{background:var(--violet);color:#fff;box-shadow:0 12px 30px rgba(104,80,125,.22)}.route-card{position:relative;z-index:2;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(20px);padding:38px;border-radius:32px;box-shadow:var(--shadow)}.city{display:inline-flex;flex-direction:column}.city.right{float:right;text-align:right}.city b{font-size:24px}.city small{color:#8b8090}.route{clear:both;display:flex;align-items:center;gap:8px;padding:45px 0 30px;color:#9b6bd1}.route i{height:1px;flex:1;background:linear-gradient(90deg,var(--pink),var(--lila));position:relative}.route-card>p{text-align:center;color:#6f6475;line-height:1.7}.orb{position:absolute;border-radius:50%;filter:blur(3px);opacity:.45}.o1{width:420px;height:420px;background:var(--pink);right:-120px;top:-120px}.o2{width:300px;height:300px;background:var(--lav);left:-90px;bottom:-90px}.statement{padding:140px 8vw;text-align:center;background:#fff}.statement span{font-size:11px;letter-spacing:8px;color:#a793b3}.statement h2,.section-head h2,.continue h2{font-size:clamp(38px,5vw,72px);letter-spacing:-3px;line-height:1.05;margin:22px 0}.timeline{padding:110px 8vw}.section-head{max-width:720px;margin-bottom:50px}.section-head>p:last-child{color:#7f7385;line-height:1.7}.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.memory{background:#fff;border-radius:28px;padding:18px;box-shadow:0 15px 45px rgba(104,80,125,.08);overflow:hidden}.memory img,.memory video{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:19px;margin-bottom:18px}.memory small{font-size:10px;letter-spacing:1.5px;color:#927ca0}.memory h3{font-size:22px;margin:9px 0}.memory p{color:#766b7c;line-height:1.65}.memory span{font-size:12px;color:#9b83a8}.memory-art{aspect-ratio:4/3;border-radius:19px;display:grid;place-items:center;font-size:64px;background:linear-gradient(135deg,var(--pink2),var(--lav));color:#a57dcc;margin-bottom:18px}.continue{padding:100px 8vw;background:var(--violet);color:#fff;display:flex;justify-content:space-between;align-items:center;min-height:420px}.continue>div:first-child{max-width:720px}.continue p{color:#e9deee;line-height:1.8}.continue .eyebrow{color:var(--pink)}.heart-big{font-size:160px;color:var(--pink);opacity:.9}footer{text-align:center;padding:70px 20px;background:#2f2735;color:#fff}footer p{margin:14px 0 8px;color:#d9cddd}footer small{color:#998c9f}.auth-bg{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 20% 20%,var(--pink),transparent 35%),radial-gradient(circle at 80% 80%,var(--lav),transparent 35%),var(--cream)}.auth-card{width:min(460px,100%);padding:42px;background:rgba(255,255,255,.76);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.8);border-radius:30px;box-shadow:var(--shadow)}.auth-card h1{font-size:42px;letter-spacing:-2px;margin:28px 0 8px}.muted{color:#817588}form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;color:#75667e}input,textarea,select{width:100%;border:1px solid var(--line);background:#fff;padding:14px 15px;border-radius:14px;font:inherit;color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--lila);box-shadow:0 0 0 4px rgba(185,160,232,.18)}form{display:grid;gap:16px}.error,.success{padding:12px 14px;border-radius:12px;background:#ffe6e8;color:#8f3843}.success{background:#e9f8ef;color:#356947}.app-shell{background:#f8f4fa}.sidebar{position:fixed;width:230px;height:100vh;background:#fff;padding:32px 24px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.sidebar nav{display:grid;gap:8px;margin-top:50px}.sidebar nav a{padding:12px;border-radius:12px;color:#786a80}.sidebar nav a:hover{background:var(--pink2);color:var(--violet)}.user-chip{margin-top:auto;display:flex;align-items:center;gap:10px}.user-chip>div{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--lav);font-weight:700}.user-chip span{display:flex;flex-direction:column;font-size:12px}.user-chip a{color:#9b8ca3}.dashboard{margin-left:230px;padding:55px 6vw 100px;display:grid;gap:70px}.welcome h1{font-size:54px;letter-spacing:-3px;margin:8px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:35px}.stats div{padding:22px;background:#fff;border-radius:20px}.stats b{font-size:26px;display:block}.stats span{font-size:11px;color:#897b91}.panel{background:#fff;padding:32px;border-radius:28px;box-shadow:0 15px 50px rgba(104,80,125,.06)}.section-head.compact{margin-bottom:28px}.section-head.compact h2{font-size:38px;margin:10px 0}.form-grid{grid-template-columns:1fr 1fr}.form-grid .wide{grid-column:1/-1}.upload{padding:18px;border:1px dashed var(--lila);border-radius:16px}.app-grid{grid-template-columns:repeat(2,1fr)}.chat{max-height:500px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:12px}.bubble{align-self:flex-start;max-width:76%;background:#f5eff8;padding:12px 16px;border-radius:18px 18px 18px 4px}.bubble.mine{align-self:flex-end;background:var(--lav);border-radius:18px 18px 4px 18px}.bubble b{font-size:11px}.bubble p{margin:3px 0}.bubble small{font-size:9px;color:#83768a}.message-form{grid-template-columns:1fr auto;margin-top:18px}.message-form input{background:#faf7fb}@media(max-width:850px){.nav{padding:0 22px}.nav>div>a:first-child{display:none}.hero{grid-template-columns:1fr;padding:130px 22px 70px}.hero h1{letter-spacing:-4px}.route-card{padding:25px}.memory-grid{grid-template-columns:1fr}.continue{padding:70px 22px}.heart-big{display:none}.statement,.timeline{padding:80px 22px}.sidebar{width:100%;height:68px;bottom:0;top:auto;z-index:20;padding:8px 14px;flex-direction:row;align-items:center;justify-content:center;border-top:1px solid var(--line)}.sidebar>.brand,.user-chip{display:none}.sidebar nav{margin:0;display:flex;justify-content:space-around;width:100%}.sidebar nav a{font-size:20px;padding:9px 13px}.sidebar nav span{display:none}.dashboard{margin-left:0;padding:38px 18px 100px;gap:45px}.welcome h1{font-size:42px}.stats{grid-template-columns:1fr 1fr}.stats div:last-child{grid-column:1/-1}.panel{padding:22px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.app-grid{grid-template-columns:1fr}.message-form{grid-template-columns:1fr}.auth-card{padding:28px}}
