:root{--ink:#24152b;--plum:#3b1648;--rose:#ff5f9e;--rose-soft:#ffc4da;--gold:#ffd166;--cream:#fffaf2;--paper:#fff;--mint:#bce8d1;--line:rgba(59,22,72,.14);--shadow:0 28px 80px rgba(44,17,53,.16);--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);line-height:1.6}button,input{font:inherit}button{border:0;cursor:pointer}a{color:inherit}
.login-page{min-height:100svh;display:grid;place-items:center;padding:24px;overflow:hidden;background:radial-gradient(circle at 13% 18%,rgba(255,95,158,.24),transparent 28%),radial-gradient(circle at 88% 82%,rgba(188,232,209,.42),transparent 28%),linear-gradient(145deg,#fffaf2 0 55%,#f9edf5 100%)}.login-page:before{content:"ALEDA  ·  DREAM EDITION";position:fixed;top:22px;left:24px;color:var(--plum);font-size:.72rem;font-weight:900;letter-spacing:.22em}.login-shell{width:min(100%,590px)}.login-card{position:relative;isolation:isolate;overflow:hidden;padding:clamp(30px,7vw,62px);background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.9);border-radius:36px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}.login-card:before{content:"";position:absolute;z-index:-1;width:230px;height:230px;right:-92px;top:-100px;border:40px solid rgba(255,95,158,.12);border-radius:50%}.cat-mark{width:70px;height:70px;display:grid;place-items:center;color:#fff;background:var(--plum);border-radius:22px;box-shadow:9px 9px 0 var(--rose);font-size:2rem;transform:rotate(-4deg)}.eyebrow{margin:24px 0 12px;color:var(--rose);font-size:.76rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.login-card h1{max-width:480px;margin:0;font:700 clamp(2.7rem,8vw,4.9rem)/.95 var(--serif);letter-spacing:-.055em}.login-copy{max-width:450px;margin:24px 0 30px;color:#716176;font-size:1.05rem}.login-card label{font-weight:850}.hint{margin:4px 0 10px;color:#8c7b8e;font-size:.9rem}.password-field{display:flex;align-items:center;overflow:hidden;background:#fff;border:2px solid var(--ink);border-radius:18px;box-shadow:0 8px 0 rgba(59,22,72,.08)}.password-field:focus-within{border-color:var(--rose);box-shadow:0 0 0 5px rgba(255,95,158,.13)}.password-field input{min-width:0;flex:1;padding:16px 18px;border:0;outline:0;background:transparent;font-size:1.05rem}.password-field button{padding:14px 17px;color:var(--plum);background:transparent;font-weight:850}.form-message{min-height:24px;margin:14px 0 0;color:#ba285d;font-weight:750}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 24px;border-radius:999px;font-weight:900;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.button:hover{transform:translateY(-3px)}.button:focus-visible,.nav-button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.button.primary{color:var(--ink);background:var(--gold);box-shadow:0 7px 0 #dcae3e}.button.full{width:100%;margin-top:19px}
.site-page{min-height:100svh;overflow-x:hidden;background:var(--cream)}nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px clamp(18px,5vw,72px);background:rgba(255,250,242,.86);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--plum);font-size:.84rem;font-weight:950;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.brand-mark{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;color:#fff;background:var(--plum);border-radius:12px}.nav-actions{display:flex;align-items:center;gap:8px}.nav-button{min-height:42px;padding:9px 15px;border:1px solid var(--line);border-radius:999px;color:var(--plum);background:#fff;font-weight:850;white-space:nowrap}.music-button[aria-pressed=true]{color:#fff;background:var(--plum);border-color:var(--plum)}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);align-items:center;gap:clamp(38px,7vw,92px);min-height:min(780px,calc(100svh - 68px));max-width:1220px;margin:auto;padding:clamp(70px,10vw,130px) 28px}.hero-stars{position:absolute;top:28px;left:28px;color:var(--plum);font-size:.72rem;font-weight:900;letter-spacing:.22em}.hero-copy h1{max-width:750px;margin:0;font:700 clamp(3.6rem,8.2vw,7.5rem)/.84 var(--serif);letter-spacing:-.075em}.hero-copy h1 em{display:inline-block;color:var(--rose);font-style:italic;font-weight:500;transform:translateX(.08em)}.hero-copy>p:not(.eyebrow){max-width:590px;margin:28px 0 32px;color:#67536c;font-size:clamp(1rem,1.5vw,1.17rem)}.hero-visual{position:relative;display:grid;place-items:center;min-height:440px}.hero-visual:before{content:"";position:absolute;width:88%;aspect-ratio:1;border:1px solid rgba(59,22,72,.18);border-radius:50%}.hero-visual:after{content:"";position:absolute;width:68%;aspect-ratio:1;background:var(--rose-soft);border-radius:48% 52% 58% 42%;transform:rotate(18deg);box-shadow:26px 26px 0 var(--mint)}.cat-badge{position:relative;z-index:2;display:grid;place-items:center;width:58%;aspect-ratio:1;color:#fff;background:var(--plum);border-radius:50%;font-size:clamp(5rem,11vw,9rem);box-shadow:0 20px 55px rgba(59,22,72,.28);transform:rotate(-6deg)}.visual-note{position:absolute;z-index:3;left:2%;bottom:15%;padding:10px 14px;color:#fff;background:var(--rose);border-radius:7px;font:800 .78rem/1 var(--sans);letter-spacing:.07em;transform:rotate(-8deg)}.visual-seal{position:absolute;z-index:3;right:0;top:10%;width:82px;height:82px;display:grid;place-items:center;color:var(--ink);background:var(--gold);border-radius:50%;text-align:center;font:900 .74rem/1.1 var(--sans);letter-spacing:.13em;text-transform:uppercase;transform:rotate(10deg)}
.section{padding:clamp(76px,10vw,125px) 26px}.section-inner{max-width:1120px;margin:auto}.section-heading{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:48px;margin-bottom:42px}.section-heading .eyebrow{margin-top:0}.section-heading h2{max-width:700px;margin:0;font:700 clamp(2.6rem,5.5vw,5rem)/.95 var(--serif);letter-spacing:-.05em}.section-heading>p{margin:0 0 5px;color:#6d5c71;font-size:1rem}
.dream-section{color:#fff;background:var(--plum)}.dream-section .section-heading>p{color:#ddcce1}.dream-section .eyebrow{color:var(--gold)}.dream-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.dream-card{position:relative;isolation:isolate;display:flex;min-height:260px;flex-direction:column;justify-content:space-between;overflow:hidden;padding:27px;color:var(--ink);background:#fff;border:2px solid transparent;border-radius:26px;box-shadow:0 16px 0 rgba(0,0,0,.09);transition:transform .24s ease,background .24s ease,border-color .24s ease;cursor:pointer}.dream-card:after{content:"SEÇ";position:absolute;top:22px;right:22px;color:var(--plum);font-size:.66rem;font-weight:950;letter-spacing:.15em}.dream-card:hover{transform:translateY(-7px) rotate(-1deg)}.dream-card.selected{background:var(--gold);border-color:#fff;transform:translateY(-8px)}.dream-card input{position:absolute;opacity:0}.dream-icon{font-size:2.4rem}.dream-card b{display:block;margin-top:auto;font:700 2rem/1 var(--serif)}.dream-card small{display:block;margin-top:12px;color:#6d5c71;font-size:.9rem;line-height:1.5}.dream-result{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px 24px;margin-top:30px;padding:24px 26px;color:var(--ink);background:var(--rose-soft);border-radius:24px}.dream-result[hidden]{display:none}.result-cat{grid-row:1/4;font-size:2.4rem}.dream-result .eyebrow{margin:0;color:var(--plum)}.dream-result h3{margin:0;font:700 2rem/1 var(--serif)}.dream-result p:last-of-type{margin:0}.dream-result .button{grid-column:3;grid-row:1/4}
.photo-section{color:var(--ink);background:#ffe9f1}.photo-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr 1.25fr;gap:14px;align-items:stretch}.photo-card{position:relative;min-height:390px;margin:0;overflow:hidden;background:var(--plum);border-radius:22px;box-shadow:0 18px 45px rgba(59,22,72,.15)}.photo-card:nth-child(2),.photo-card:nth-child(3){min-height:340px;margin-top:50px}.photo-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s ease,filter .55s ease}.photo-card:hover img{transform:scale(1.045);filter:saturate(1.08)}.photo-card figcaption{position:absolute;right:12px;bottom:12px;left:12px;padding:10px 12px;color:#fff;background:rgba(36,21,43,.72);border:1px solid rgba(255,255,255,.2);border-radius:12px;backdrop-filter:blur(12px);font-size:.78rem;font-weight:850}
.letter-section{position:relative;display:grid;place-items:center;background:var(--cream)}.letter-card{position:relative;width:min(100%,920px);padding:clamp(34px,7vw,74px);background:#fff;border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow)}.letter-card:before{content:"“";position:absolute;top:20px;right:35px;color:var(--rose-soft);font:700 9rem/1 var(--serif)}.letter-card h2{max-width:760px;margin:0 0 22px;font:700 clamp(2.5rem,5.3vw,4.8rem)/.95 var(--serif);letter-spacing:-.05em}.letter-card>p:not(.eyebrow){max-width:700px;color:#6d5c71;font-size:1.07rem}.letter-card span{display:inline-block;margin-top:14px;color:var(--rose);font-weight:900}footer{padding:28px;color:#fff;background:var(--ink);text-align:center;font-size:.9rem;font-weight:700}
.music-consent{position:fixed;inset:auto 18px 18px auto;z-index:40;width:min(420px,calc(100vw - 36px));padding:18px;color:#fff;background:var(--ink);border:1px solid rgba(255,255,255,.12);border-radius:22px;box-shadow:0 20px 70px rgba(36,21,43,.4)}.music-consent[hidden]{display:none}.music-consent>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}.music-consent span{font-size:1.8rem}.music-consent p{margin:0;font-size:.87rem}.music-consent .button{grid-column:1/-1;width:100%}.toast{position:fixed;left:50%;bottom:25px;z-index:50;transform:translate(-50%,20px);padding:12px 18px;color:#fff;background:var(--ink);border-radius:999px;opacity:0;pointer-events:none;transition:.25s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}.balloon{position:fixed;z-index:30;bottom:-90px;width:34px;height:44px;border-radius:50% 50% 46% 46%;animation:float 5.5s ease-in forwards;pointer-events:none}.balloon:after{content:"";position:absolute;top:42px;left:16px;width:1px;height:75px;background:rgba(36,21,43,.28)}.kiss{position:fixed;z-index:31;bottom:12%;font-style:normal;font-size:1.65rem;animation:kiss 2.2s ease-out forwards;pointer-events:none}@keyframes float{to{transform:translateY(-115vh) translateX(var(--drift)) rotate(18deg);opacity:0}}@keyframes kiss{to{transform:translate(var(--x),-180px) scale(1.6) rotate(18deg);opacity:0}}
@media(max-width:850px){nav{align-items:stretch;flex-direction:column;gap:10px;padding:12px 16px}.brand{justify-content:center;font-size:.76rem}.nav-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.nav-button{width:100%;min-height:44px}.hero{grid-template-columns:1fr;min-height:auto;padding-top:78px}.hero-stars{top:24px}.hero-copy h1{font-size:clamp(3.4rem,14.5vw,6.2rem)}.hero-visual{min-height:330px}.cat-badge{width:min(54%,220px)}.section-heading{grid-template-columns:1fr;gap:18px}.dream-grid{grid-template-columns:1fr}.dream-card{min-height:205px}.dream-result{grid-template-columns:auto 1fr}.dream-result .button{grid-column:1/-1;grid-row:auto;width:100%}.photo-grid{grid-template-columns:1fr 1fr}.photo-card,.photo-card:nth-child(2),.photo-card:nth-child(3){min-height:380px;margin:0}}
@media(max-width:520px){.login-page{padding:14px}.login-page:before{display:none}.login-card{padding:28px 22px;border-radius:27px}.login-card h1{font-size:clamp(2.65rem,13vw,3.65rem)}.password-field input{padding-left:14px}.hero{padding-right:19px;padding-left:19px}.hero-visual{min-height:280px}.visual-seal{width:68px;height:68px}.section{padding:72px 18px}.photo-grid{gap:9px}.photo-card,.photo-card:nth-child(2),.photo-card:nth-child(3){min-height:270px;border-radius:16px}.photo-card figcaption{right:7px;bottom:7px;left:7px;padding:8px}.letter-card{border-radius:24px}.letter-card:before{top:10px;right:20px;font-size:6rem}.toast{max-width:calc(100vw - 28px);white-space:normal;text-align:center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition:none!important}}
