/* Selos sobre a borda do álbum, sem uma faixa extra acima da foto. */
.album{padding:80px 24px 44px;min-height:100dvh}
.album-head{padding:0 2px}.album-head h2{font-size:clamp(23px,3vw,30px);margin:5px 0 12px;line-height:1.15}.album-head .eyebrow{font-size:9px;letter-spacing:.17em}.progress-wrap{margin-bottom:14px;font-size:11px}.progress-track{margin:0 2px 12px}
.photo-stage{height:clamp(210px,45dvh,440px);min-height:0;padding:22px 28px;overflow:visible;isolation:isolate;border-radius:3px}
.photo-backdrop{inset:0;transform:none;border-radius:3px;overflow:hidden;filter:blur(14px);opacity:.12}
.photo-frame{min-width:0;min-height:0}.photo-frame img{max-width:100%;max-height:100%;object-fit:contain;transform:none;border-width:4px}.photo-stage:after{inset:7px;z-index:3}
.photo-seal{position:absolute;z-index:5;display:grid;place-items:center;width:63px;height:68px;min-height:0;max-width:none;margin:0;gap:0;padding:5px;pointer-events:none;transform:rotate(9deg);filter:drop-shadow(0 2px 2px #51351d35);border:1px solid #b99a6c;background:#f6e7c9;border-radius:45% 48% 43% 49% / 44% 45% 50% 47%}
.photo-seal[data-corner='top-right']{top:-12px;right:-10px;transform:rotate(11deg)}.photo-seal[data-corner='top-left']{top:-12px;left:-10px;transform:rotate(-12deg)}.photo-seal[data-corner='bottom-right']{bottom:-10px;right:-10px;transform:rotate(9deg)}.photo-seal[data-corner='bottom-left']{bottom:-10px;left:-10px;transform:rotate(-9deg)}
.photo-seal:after{content:'';position:absolute;inset:4px;border:1px dashed #bda07599;border-radius:47%;pointer-events:none}
.photo-seal .birthday-rule,.photo-seal small,.photo-seal .birthday-branch{display:none}
.photo-seal .birthday-icons{width:51px;height:55px}.photo-seal .birthday-icons:before{inset:0;background:radial-gradient(ellipse,#ead5a880,transparent 70%)}.photo-seal .birthday-icons:after{right:-2px;top:0;font-size:10px}
.photo-seal .birthday-icons>.birthday-icon{width:49px;height:49px;transform:rotate(-4deg)}
.quote-area{min-height:0;padding:15px 3px 8px;max-width:610px}.quote-deco{font-size:17px;margin-bottom:4px}.quote{font-size:clamp(16px,1.4vw,19px);line-height:1.5;text-wrap:pretty}
.album-actions{margin-top:8px;gap:10px}.icon-button,.next-button{min-height:42px}.navigation-hint{font-size:10px}.experience-footer{padding-bottom:10px;font-size:8px}
.desktop-aside{position:sticky;top:0;height:100dvh;padding-block:26px}.aside-body p{font-size:clamp(21px,2.1vw,32px)}
/* Cover uses the viewport instead of forcing an oversized scrolling page. */
.cover{min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-end;gap:0;padding-top:65px}.cover-art{position:relative;inset:auto;flex:1 1 auto;width:calc(100% - 40px);height:clamp(180px,38dvh,390px);min-height:160px;max-height:42dvh;margin:15px 20px 0}.cover-art img{height:100%;width:100%;object-fit:contain}.cover-copy{flex:none;padding:18px 30px 38px}.cover-copy h1{font-size:clamp(38px,5vw,57px);margin:9px 0 12px}.cover-copy p{font-size:14px;margin-bottom:17px}.birthday-cover{margin:0 0 10px;padding:0;gap:12px}.birthday-cover .birthday-icon{width:43px;height:43px}.birthday-cover span{font-size:13px}.cover-note{font-size:10px;margin-top:11px}
@media(min-width:700px){.album{padding:79px 32px 40px}.experience{width:min(700px,58vw)}.photo-stage{height:42dvh}.cover-copy{padding-inline:36px}.letter-intro{min-height:100dvh;padding:94px 30px 50px}.letter-intro h2{font-size:clamp(30px,3vw,44px)}.birthday-surprise{height:100px;margin-bottom:12px}.birthday-surprise .birthday-icon{height:85px;width:85px}}
@media(min-width:1280px){.album{padding-inline:35px}.experience{width:700px}}
@media(max-width:699px){.album{padding:79px 20px 42px}.album-head h2{font-size:25px}.photo-stage{padding:20px 21px;height:38dvh}.quote{font-size:17px;line-height:1.48}.quote-area{padding-top:15px}.photo-seal{width:54px;height:58px}.photo-seal .birthday-icons{width:43px;height:45px}.photo-seal .birthday-icons>.birthday-icon{width:42px;height:42px}.photo-seal[data-corner='top-right']{right:-8px;top:-9px}.photo-seal[data-corner='top-left']{left:-8px;top:-9px}.photo-seal[data-corner='bottom-right']{right:-8px;bottom:-8px}.photo-seal[data-corner='bottom-left']{left:-8px;bottom:-8px}.navigation-hint{max-width:85px}.next-button{min-width:108px;padding-inline:14px}.cover-art{height:33dvh;min-height:160px}.cover-copy{padding:14px 24px 35px}.cover-copy h1{font-size:clamp(36px,10.5vw,48px)}.cover-copy .eyebrow{font-size:9px}.cover-copy p{font-size:13px;line-height:1.5}.primary-button{min-height:46px}.birthday-cover{margin-bottom:9px}}
@media(max-height:650px){.album-head h2{font-size:23px;margin-bottom:9px}.quote{font-size:16px;line-height:1.42}.quote-area{padding-top:11px}.quote-deco{display:none}.cover-art{min-height:140px;height:28dvh}.cover-copy{padding-top:10px;padding-bottom:30px}.cover-copy h1{font-size:35px}.birthday-cover{display:none}.letter-intro h2{font-size:30px}.birthday-surprise{height:70px}.birthday-surprise .birthday-icon{height:65px;width:65px}}
/* Texto de leitura: marrom profundo, desenho reto e peso mais presente. */
.quote{color:#302016;font-family:'Playfair Display',Georgia,serif;font-style:normal;font-weight:500;line-height:1.62;text-wrap:pretty}
.navigation-hint{color:#624b35;font-size:11px}.progress-wrap{color:#62452f}.album-head .eyebrow{color:#69482e}
@media(max-width:699px){.quote{font-size:18px;line-height:1.58}}
@media(max-height:650px){.quote{font-size:17px;line-height:1.5}}
