@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;450;500;600&family=Caveat:wght@400;500&display=swap');
:root{--paper:#f8f5ef;--ink:#352b26;--muted:#81776f;--rose:#e9d9d1;--line:#d7ccc2;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--hand:'Caveat',cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #916858;outline-offset:7px}::selection{background:#dac0b0}h1,h2,h3,h4,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.98}h1{font-size:clamp(70px,8.2vw,140px);margin-bottom:30px}h2{font-size:clamp(50px,6.2vw,100px);margin-bottom:28px}em{font-weight:400}button,a{-webkit-tap-highlight-color:transparent}.masthead{height:84px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;top:0;width:100%;z-index:3}.wordmark{font-size:12px;letter-spacing:.19em;font-weight:500}.wordmark span{color:var(--muted);margin-left:16px;font-size:10px}.header-link{font-size:12px}.header-link span{margin-left:20px}.scene{min-height:100svh;position:relative;overflow:hidden}.scene-inner{max-width:1320px;margin:auto;min-height:100svh;padding:105px 6vw 85px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:30px;position:relative}.copy{position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:500;line-height:1.6;margin-bottom:36px}.handwritten{font-family:var(--hand);font-size:27px;line-height:1.15;color:#916d59}.hello-note{transform:rotate(-5deg);margin-left:55px}.scroll-cue{font-size:11px;letter-spacing:.05em;display:inline-flex;align-items:center;gap:50px;margin-top:45px}.scroll-cue span{font-size:28px;font-weight:400;animation:nudge 2s infinite}.chapter-number{position:absolute;bottom:26px;left:6vw;font-size:9px;letter-spacing:.2em;color:var(--muted)}.doll svg{width:100%;height:100%;display:block;overflow:hidden}.doll{position:relative;flex-shrink:0}.hero-doll{width:100%;max-width:400px;justify-self:center;transform:rotate(3deg)}.hero:before{content:'';position:absolute;right:7%;top:24%;width:34%;height:58%;border:1px solid var(--line);border-radius:50% 50% 2px 2px;transform:rotate(8deg)}.blush{background:var(--rose)}.interlude .scene-inner{grid-template-columns:1fr 1.25fr;gap:65px}.interlude h2{font-size:clamp(45px,5.4vw,85px)}.shrug-doll{max-width:400px;width:100%;align-self:end;justify-self:center;margin-bottom:90px}.side-note{font-size:14px;color:#74645b;margin-top:35px}.idea-doll{width:100%;max-width:360px;justify-self:center}.promise .handwritten{margin-top:50px;transform:rotate(-4deg);max-width:360px}.promise:after{content:'✳';position:absolute;left:46%;bottom:12%;font-size:50px;color:#baa18e}.chapter-nav{position:fixed;right:22px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:15px;z-index:10;padding:12px 6px}.chapter-nav a{width:6px;height:6px;border:1px solid #a79080;border-radius:50%;transition:transform .3s,background .3s;box-shadow:0 0 0 4px #f8f5ef55}.chapter-nav a.active{background:#785949;transform:scale(1.4)}.about{padding:110px 6vw 95px;max-width:1320px;margin:auto}.section-heading{text-align:center}.section-heading h2{font-size:clamp(52px,6.4vw,94px)}.section-heading>p:last-child{font-size:17px;color:#756a62}.personality{height:600px;max-width:1020px;margin:55px auto 10px;position:relative}.about-doll{position:absolute;width:400px;left:50%;top:100px;transform:translateX(-50%)}.annotation{position:absolute;display:flex;align-items:center;gap:16px;font-family:var(--hand);font-size:27px;line-height:1.05;color:#6c5548}.annotation b{font-family:var(--serif);font-size:60px;font-weight:400;color:#aa8c78}.a1{top:10px;left:7%;transform:rotate(-7deg)}.a2{top:5px;right:4%;transform:rotate(5deg)}.a3{top:180px;left:0;transform:rotate(-5deg)}.a4{top:190px;right:0;transform:rotate(5deg)}.a5{top:385px;left:3%;transform:rotate(-7deg)}.a6{top:390px;right:0;transform:rotate(4deg)}.beauty-note{max-width:710px;margin:30px auto 0;display:flex;gap:24px;align-items:center;border-top:1px solid var(--line);padding-top:30px}.beauty-note p{font-size:14px;color:#76695f;margin:0}.beauty-note strong{color:var(--ink);font-weight:500}.tiny-star{font-size:43px;color:#b49882}.resume{padding:110px 8vw;background:#efebe3}.resume-intro{max-width:1150px;margin:auto auto 70px}.resume-intro h2{font-size:clamp(48px,5.8vw,86px)}.resume-intro>p:last-child{font-size:15px;color:#756a62}.resume-layout{max-width:1100px;margin:auto;display:grid;grid-template-columns:1.15fr 1fr;gap:85px}.mini-heading{font-family:var(--sans);font-size:10px;letter-spacing:.18em;font-weight:500;margin-bottom:35px}.job{border-top:1px solid #cfc3b6;padding:25px 0 30px}.job-date{font-size:9px;letter-spacing:.13em;color:#8a7768;margin-bottom:10px}.job h3{font-family:var(--serif);font-size:31px;line-height:1.05;font-weight:500;margin-bottom:8px;letter-spacing:-.025em}.job p{font-size:13px;color:#776c63;margin-bottom:0}.job .company{font-size:11px;color:var(--ink);margin-bottom:12px}.achievement{padding:20px 0 0!important;color:#79573d!important;font-family:var(--serif);font-size:37px!important;line-height:1.1}.achievement span{font-family:var(--sans);display:block;font-size:11px;margin-top:8px;color:#776c63}.education{padding-top:35px;border-top:1px solid #cfc3b6}.education article{margin:25px 0}.education span{font-size:10px;color:#8a7768}.education h4{font-family:var(--serif);font-size:24px;line-height:1.15;font-weight:500;margin:7px 0}.tools{font-size:12px;color:#776c63;margin:35px 0}.text-link{display:inline-flex;gap:30px;align-items:center;font-size:12px;border-bottom:1px solid #a88d77;padding-bottom:8px}.text-link span{font-size:20px}.sticky-doll{position:sticky;top:90px;padding-top:50px;text-align:center}.laptop-doll{width:100%;max-width:420px;margin:auto}.sticky-doll .handwritten{transform:rotate(-5deg);margin:24px 0 45px}.open-note{font-size:12px;color:#807163;line-height:1.8}.open-note strong{font-weight:500;color:#4e4137}.invitation .copy>p:not(.eyebrow){max-width:420px;font-size:14px;color:#716055}.pill-link{font-size:11px;display:inline-flex;gap:22px;border:1px solid #baa294;border-radius:40px;padding:12px 20px;margin-top:20px}.invitation h2{font-size:clamp(50px,6.2vw,91px)}.contact{max-width:1280px;margin:auto;padding:110px 7vw 75px;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:50px;min-height:95svh}.contact h2{font-size:clamp(80px,10vw,148px)}.contact .eyebrow{max-width:320px}.availability{font-size:12px;display:flex;gap:9px;align-items:center;margin:30px 0}.availability span{height:7px;width:7px;border-radius:50%;background:#8b9876}.availability i{font-family:var(--hand);font-size:21px}.contact-email{display:block;font-size:clamp(15px,1.6vw,22px);font-weight:500;line-height:1.5;margin-bottom:15px}.contact-email>span{margin-left:10px}.phone{display:block;font-size:17px}.location{font-size:11px;color:var(--muted);margin-top:9px}.contact .text-link{margin-top:25px}.farewell img{width:100%;display:block;max-height:640px;object-fit:contain;mix-blend-mode:multiply}.farewell .handwritten{text-align:center;transform:rotate(-5deg);font-size:25px;margin:12px 0 0}footer{border-top:1px solid var(--line);margin:0 5vw;padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.08em;color:#81756b}.reveal{opacity:0;translate:0 32px;transition:opacity .9s ease,translate 1s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;translate:0 0}.doll.reveal{transition-delay:.12s}@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media(min-width:1600px){.scene-inner{padding-left:55px;padding-right:55px}.hero-doll{max-width:430px}}
@media(max-width:760px){.masthead{height:66px;padding:0 23px}.wordmark{font-size:10px;letter-spacing:.12em}.wordmark span{display:none}.header-link{font-size:10px}.header-link span{margin-left:5px}.chapter-nav{right:8px;gap:12px}.chapter-nav a{width:5px;height:5px}.scene-inner{padding:100px 28px 60px;grid-template-columns:1fr;gap:5px;text-align:center;min-height:100svh}.hero .scene-inner{padding-top:115px}.eyebrow{font-size:9px;margin-bottom:24px}h1{font-size:clamp(66px,15vw,95px);margin-bottom:15px}h2{font-size:54px}.hero-doll{max-width:205px;align-self:end}.hello-note{margin-left:0;font-size:24px}.scroll-cue{margin-top:7px;gap:24px}.hero:before{top:53%;right:24%;width:50%;height:37%}.chapter-number{font-size:8px;left:28px;bottom:18px}.interlude .scene-inner{grid-template-columns:1fr;gap:20px;padding-top:80px}.interlude .copy{grid-row:1}.interlude h2{font-size:51px}.shrug-doll{width:250px;margin:0;align-self:end}.side-note{margin-top:20px;font-size:12px}.idea-doll{max-width:205px;align-self:end}.promise .handwritten{font-size:24px;margin:30px auto}.promise:after{left:80%;bottom:18%;font-size:35px}.about{padding:75px 25px}.section-heading h2{font-size:57px}.section-heading>p:last-child{font-size:14px}.desktop{display:none}.personality{height:640px;margin-top:20px}.about-doll{top:210px;width:280px}.annotation{font-size:21px;gap:8px}.annotation b{font-size:40px}.a1{top:20px;left:0}.a2{top:95px;right:0}.a3{top:155px;left:0}.a4{top:425px;right:0}.a5{top:500px;left:0}.a6{top:575px;right:0}.beauty-note{margin-top:15px;gap:14px}.beauty-note p{font-size:12px}.tiny-star{font-size:32px}.resume{padding:75px 28px}.resume-intro{margin-bottom:40px}.resume-intro h2{font-size:50px}.resume-intro>p:last-child{font-size:13px}.resume-layout{grid-template-columns:1fr;gap:40px}.resume-aside{grid-row:1}.sticky-doll{position:static;padding:0}.laptop-doll{max-width:255px}.sticky-doll .handwritten{font-size:23px;margin:10px 0 20px}.open-note{font-size:11px;margin-bottom:10px}.job h3{font-size:30px}.invitation h2{font-size:54px}.invitation .copy>p:not(.eyebrow){margin-left:auto;margin-right:auto;font-size:13px}.contact{padding:75px 28px 35px;grid-template-columns:1fr;gap:25px;text-align:center}.contact .eyebrow{margin-left:auto;margin-right:auto}.contact h2{font-size:95px}.availability{justify-content:center}.contact-email{font-size:17px}.farewell img{max-height:440px;margin:auto}.farewell .handwritten{font-size:24px}.contact .text-link{margin-top:10px}footer{font-size:8px;flex-wrap:wrap;justify-content:center;text-align:center;gap:10px;padding:20px 0}footer a{width:100%}}
.laptop-doll img,.shrug-doll img{filter:drop-shadow(2px 0 0 #f8f5ef) drop-shadow(-2px 0 0 #f8f5ef) drop-shadow(0 2px 0 #f8f5ef) drop-shadow(0 -2px 0 #f8f5ef)}
.shrug-doll{align-self:center;margin-bottom:0;max-width:390px}
@media(max-width:760px){.shrug-doll{max-width:240px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;translate:none;transition:none}.scroll-cue span{animation:none}}

/* Room for the extra personal notes. */
.personality{height:800px}
.a7{top:570px;left:9%;transform:rotate(-5deg)}
.a8{top:580px;right:5%;transform:rotate(4deg)}
.a9{top:695px;left:37%;flex-direction:column;gap:0;text-align:center;transform:rotate(-3deg)}
.a9 b{line-height:.9}
.hero-doll{max-width:350px}
@media(max-width:760px){
 .personality{height:990px}
 .a7{top:680px;left:0}
 .a8{top:775px;right:0}
 .a9{top:875px;left:22%;flex-direction:row;gap:8px;text-align:left}
 .hero-doll{max-width:205px}
}

.contact h2{font-size:clamp(54px,6.4vw,92px)}
.closing-intro{font-size:14px;color:#716055;max-width:440px}
.farewell img{mix-blend-mode:normal;max-height:610px;image-rendering:auto}
@media(max-width:760px){.contact h2{font-size:54px}.closing-intro{font-size:13px}.farewell img{max-height:440px}}

.farewell img{max-width:360px;margin-inline:auto;transform:none}
@media(max-width:760px){.farewell img{max-width:290px}}

.personality .about-doll{top:50%;left:50%;transform:translate(-50%,-50%)}
.personality .a9{left:50%;transform:translateX(-50%) rotate(-3deg)}
@media(max-width:760px){.personality .about-doll{top:250px;transform:translateX(-50%)}.personality .a9{left:50%;white-space:nowrap;transform:translateX(-50%) rotate(-3deg)}}

.hero::before{content:none;display:none}

/* An editorial scrapbook: paper, tape and marginalia. */
body{background-color:#f7f3ec;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%238a7055' opacity='.075' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
main>section{position:relative;isolation:isolate}
.collage-layer{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.paper-corner{position:absolute;width:200px;height:260px;right:-85px;top:60px;background:#e3d3c04d;transform:rotate(14deg);border:1px solid #b7a18a24;box-shadow:-3px 7px 14px #5c453509}
.collage-tape{position:absolute;left:5%;top:8%;width:95px;height:28px;background:repeating-linear-gradient(90deg,#d8bf9740 0 2px,#dfcfaa50 2px 4px);transform:rotate(-14deg);clip-path:polygon(0 8%,5% 0,9% 7%,13% 1%,18% 7%,95% 0,100% 10%,96% 20%,100% 31%,97% 43%,100% 60%,96% 75%,100% 91%,95% 100%,3% 95%,0 84%,4% 70%,0 54%,3% 39%,0 25%)}
.margin-scribble{position:absolute;right:5%;bottom:36px;font:23px/1 var(--hand);color:#9b7c67;transform:rotate(-5deg)}
.cutout-cross{position:absolute;left:3%;bottom:10%;font-size:33px;font-weight:400;color:#bfa68f;transform:rotate(13deg)}
.scene-inner,.section-heading,.personality,.beauty-note,.resume-intro,.resume-layout,.contact-copy,.farewell{z-index:1}
.hero-doll::before{content:'';position:absolute;inset:9% 0 3%;z-index:-1;background:#fffdf7;box-shadow:3px 8px 18px #54432d10;transform:rotate(-6deg);border:1px solid #ded1c44d;clip-path:polygon(0 0,100% 1%,99% 97%,95% 98%,91% 97%,86% 99%,80% 98%,72% 100%,65% 98%,56% 99%,49% 98%,40% 100%,32% 98%,25% 99%,16% 98%,9% 100%,1% 98%)}
.hero-doll::after,.idea-doll::after{content:'';position:absolute;top:4%;left:35%;width:100px;height:29px;background:#d5c2a76b;transform:rotate(-13deg);z-index:2;clip-path:polygon(0 5%,97% 0,100% 95%,3% 100%,0 75%,4% 50%)}
.hero .eyebrow{display:inline-block;background:#e8d6ca91;padding:7px 12px;transform:rotate(-2deg);font-size:9px}
.hello-note{background:#fffdf5;display:table;padding:12px 20px;box-shadow:2px 4px 0 #dbcbb647;border:1px solid #e8dfd4}
.interlude{background-color:#eadbd3;background-image:linear-gradient(174deg,transparent 0 95%,#d6c4b55c 95% 96%,transparent 96%)}
.interlude .copy{padding:38px 26px;background:#f9f5edbd;box-shadow:7px 9px 0 #bea7921c;transform:rotate(1deg)}
.interlude .copy::before{content:'';position:absolute;top:-10px;right:25%;width:90px;height:25px;background:#cdbb9973;transform:rotate(9deg)}
.interlude .eyebrow{margin-bottom:24px}.interlude h2{font-size:clamp(45px,5vw,79px)}
.promise .paper-corner{left:-70px;right:auto;top:auto;bottom:40px;width:190px;height:180px;background:repeating-linear-gradient(0deg,#e7e0d580 0 1px,#f5f0e6 1px 22px);transform:rotate(-12deg)}
.promise .collage-tape{left:49%;top:auto;bottom:10%;transform:rotate(20deg)}
.promise h2 em{position:relative;white-space:nowrap}.promise h2 em::after{content:'';position:absolute;bottom:4px;left:-2%;width:104%;height:10px;background:#d5b9a571;z-index:-1;transform:rotate(-2deg)}
.promise .handwritten{border-left:2px solid #b5967a;padding:7px 0 7px 20px}
.promise .idea-doll::after{left:58%;top:2%;transform:rotate(15deg);width:80px}
.about{border-left:1px solid #b7a18a24;border-right:1px solid #b7a18a24;background:#fffdf62e}
.about .collage-layer .paper-corner{width:210px;height:160px;top:20px;right:-40px;transform:rotate(-11deg);background:#dfc9be47}
.about .collage-tape{top:23px;left:4%;width:74px}
.about .margin-scribble{bottom:15px;right:25px;font-size:19px}
.section-heading .eyebrow{display:table;margin:0 auto 25px;border:1px solid #ac8e765c;padding:5px 14px;transform:rotate(-3deg)}
.annotation span{background:linear-gradient(transparent 65%,#eadbca66 65% 94%,transparent 94%);padding:3px 5px}
.a7 span{background:#f1e5d9;padding:12px 15px;box-shadow:3px 4px 0 #c7ad941f;transform:rotate(-2deg)}
.a8 span{border:1px dashed #bda58b;padding:12px 15px;background:#fcfaf388}
.beauty-note{background:#eee1d36b;border:0;padding:24px;transform:rotate(-.8deg);position:relative}
.beauty-note::before{content:'';position:absolute;width:75px;height:24px;background:#d4c39c73;top:-11px;left:43%;transform:rotate(8deg)}
.resume{background-color:#eee8dc;background-image:repeating-linear-gradient(90deg,transparent 0 39px,#a88e7210 39px 40px)}
.resume .margin-scribble{top:50px;bottom:auto;right:8%}.resume .collage-tape{top:110px;left:-20px}
.resume .paper-corner{top:auto;bottom:20px;background:#d9bdac40;transform:rotate(-18deg)}
.resume-content{position:relative;background:#fffcf5;padding:35px 30px;box-shadow:5px 7px 0 #a98a6812,0 3px 14px #5d49340a;border:1px solid #ded2c14d}
.resume-content::before{content:'';position:absolute;top:-15px;left:30%;width:110px;height:30px;background:#d3bd9670;transform:rotate(-5deg)}
.job-date{display:table;padding:3px 7px;background:#ece0d3;color:#775d48;transform:rotate(-1deg)}
.job:nth-of-type(even) .job-date{transform:rotate(1deg);background:#ead8d2}
.achievement{position:relative}.achievement::after{content:'';position:absolute;left:-8px;top:13px;width:190px;height:53px;border:1.5px solid #b38a6b;border-radius:50%;transform:rotate(-7deg);pointer-events:none}
.education{background:#f2ece18c;padding:24px 15px;margin:15px -10px 0;border-top:1px dashed #c2ac93}
.open-note{display:table;margin:auto;background:#eee0d5;padding:20px 24px;box-shadow:3px 5px 0 #b69b801f;transform:rotate(3deg);position:relative}
.open-note::before{content:'';position:absolute;top:-9px;left:35%;height:20px;width:65px;background:#cdb58b63;transform:rotate(-9deg)}
.contact .collage-tape{left:4%;top:4%;transform:rotate(-8deg)}
.contact .paper-corner{right:-100px;top:auto;bottom:0;width:220px;height:260px;background:#e6d3c54d;transform:rotate(16deg)}
.contact .eyebrow{display:inline-block;background:#eadbd0;padding:6px 10px;transform:rotate(-1.5deg);font-size:9px}
.availability{display:table;border:1px solid #bcaa8d7a;padding:8px 12px;transform:rotate(-2deg);background:#fdfaf1}
.availability span{display:inline-block;margin-right:8px}.availability i{margin-left:5px}
.farewell .handwritten{display:table;margin:20px auto 0;background:#f4e8d8;padding:10px 18px;border-bottom:1px solid #d6c0a3;box-shadow:2px 3px 0 #bea27d1a}
.contact .margin-scribble{display:none}
@media(max-width:760px){
 .collage-tape{width:65px;height:22px;top:28px;left:15px}.paper-corner{width:120px;height:180px;right:-65px;top:90px}
 .margin-scribble{font-size:18px;right:25px;bottom:26px}.cutout-cross{font-size:24px;left:15px;bottom:4%}
 .hero .margin-scribble{display:none}.hero .eyebrow{font-size:8px}.hello-note{padding:8px 12px;margin-inline:auto}
 .hero-doll::after{width:65px;height:20px;top:4%}.idea-doll::after{width:55px!important;height:20px}
 .interlude .copy{padding:25px 12px;margin-top:10px}.interlude h2{font-size:47px}
 .interlude .margin-scribble{bottom:28px}.interlude .eyebrow{font-size:8px}
 .promise .handwritten{max-width:290px}.promise .collage-tape{left:auto;right:10px;bottom:28px}.promise .margin-scribble{left:24px;right:auto;bottom:28px}
 .about .margin-scribble{font-size:16px;bottom:8px}.about .collage-tape{top:20px;width:50px}
 .annotation span{padding:3px}.a7 span,.a8 span{padding:9px 10px}.beauty-note{padding:20px 14px;margin-bottom:15px}
 .resume{padding-inline:24px}.resume .margin-scribble{top:20px;right:20px;font-size:18px}.resume-content{padding:30px 19px}.achievement::after{width:175px}
 .contact .collage-tape{top:20px;left:15px}.availability{margin-inline:auto}.contact .eyebrow{font-size:8px}.open-note{padding:15px 20px}.farewell .handwritten{font-size:23px}
}

.personality .about-doll{width:320px}
@media(max-width:760px){.personality .about-doll{width:250px}}

/* Ajustes pontuais aos elementos de colagem. */
.hero-doll::before,.hero-doll::after,.idea-doll::after{content:none;display:none}
.availability{display:flex;border:0;padding:0;transform:none;background:none;gap:9px;align-items:center;margin:30px 0}
.availability span{display:block;margin-right:0}
.availability i{margin-left:0}
@media(max-width:760px){.availability{justify-content:center}}

/* Paleta bege quente e chocolate. */
:root{--paper:#e2cfb6;--ink:#3c241b;--muted:#795c48;--rose:#d5bba0;--line:#bda083}
body{background-color:#e2cfb6;color:#3c241b}
.blush,.interlude{background-color:#d5bba0}
.about{background-color:#e5d3bc}
.resume{background-color:#cfb697}
.contact{background-color:transparent}
.paper-corner{background-color:#bc987044;border-color:#96744d33}
.collage-tape{background:repeating-linear-gradient(90deg,#ad895746 0 2px,#c3a47666 2px 4px)}
.margin-scribble,.handwritten,.annotation{color:#714b32}
.cutout-cross,.tiny-star{color:#98734e}
.hero .eyebrow,.contact .eyebrow{background:#c6a38377}
.hello-note{background:#edddc7;border-color:#c7aa87;box-shadow:2px 4px 0 #95734d25}
.interlude .copy{background:#e9d7bfc9;box-shadow:7px 9px 0 #805a361c}
.side-note,.section-heading>p:last-child,.resume-intro>p:last-child,.closing-intro{color:#77553e}
.annotation span{background:linear-gradient(transparent 65%,#c3a17b55 65% 94%,transparent 94%)}
.a7 span{background:#d7bd9d;box-shadow:3px 4px 0 #88633f25}
.a8 span{background:#e8d7be99;border-color:#9a7752}
.beauty-note{background:#cfaf8a65}
.beauty-note p,.job p,.achievement span,.tools,.open-note{color:#71543e}
.beauty-note strong,.open-note strong,.job .company{color:#3c241b}
.resume-content{background:#e9d8be;border-color:#b9956d66;box-shadow:5px 7px 0 #79533122,0 3px 14px #5d39140a}
.job{border-color:#b99a75}
.job-date{background:#cfb18d;color:#5a361e}
.job:nth-of-type(even) .job-date{background:#d4b693}
.achievement{color:#68401f!important}
.education{background:#d8be9a66;border-color:#ac875b}
.education span{color:#795a3d}
.open-note{background:#d5b791;box-shadow:3px 5px 0 #7d583326}
.farewell .handwritten{background:#ddc4a1;border-color:#aa8055}
.chapter-number,footer,.location{color:#806044}
.chapter-nav a{border-color:#94704c;box-shadow:0 0 0 4px #e2cfb655}
.chapter-nav a.active{background:#59351e}
.text-link{border-color:#8d663f}
::selection{background:#ba946a;color:#2e1b13}

/* Aplicação do primeiro autocolante. */
.hero-doll.reveal{opacity:1;translate:none;transition:none;perspective:1000px}
.hero-doll img{transform-origin:52% 4%;backface-visibility:hidden;opacity:0}
.hero-doll.visible img{animation:sticker-apply 1.65s cubic-bezier(.22,.7,.25,1) .25s both}
@keyframes sticker-apply{
0%{opacity:0;transform:translate(36px,-58px) rotate(13deg) rotateX(-36deg) scale(1.07);filter:drop-shadow(22px 32px 16px #3c241b00);clip-path:inset(0 0 100% 0)}
12%{opacity:1;clip-path:inset(0 0 77% 0);filter:drop-shadow(22px 32px 16px #3c241b38)}
42%{opacity:1;transform:translate(9px,-12px) rotate(3deg) rotateX(-16deg) scale(1.025);clip-path:inset(0 0 35% 0);filter:drop-shadow(11px 20px 10px #3c241b30)}
73%{transform:translate(0,2px) rotate(-1deg) rotateX(2deg) scale(.995);clip-path:inset(0 0 0 0);filter:drop-shadow(2px 4px 2px #3c241b22)}
88%{transform:translate(0,-1px) rotate(.4deg) rotateX(0) scale(1.003)}
100%{opacity:1;transform:translate(0,0) rotate(0) rotateX(0) scale(1);clip-path:inset(0 0 0 0);filter:drop-shadow(1px 2px 1px #3c241b16)}
}
@media(prefers-reduced-motion:reduce){.hero-doll img,.hero-doll.visible img{animation:none;opacity:1;transform:none;clip-path:none;filter:none}}

/* Movimento contínuo, sem recorte ou filtro animado. */
.hero-doll img{clip-path:none;filter:drop-shadow(1px 2px 1px #3c241b16);will-change:transform,opacity;transform:translateZ(0)}
.hero-doll.visible img{animation:sticker-settle 1.15s cubic-bezier(.16,1,.3,1) .15s both}
@keyframes sticker-settle{from{opacity:0;transform:translate3d(24px,-42px,0) rotate(9deg) rotateX(-20deg) scale(1.045)}to{opacity:1;transform:translate3d(0,0,0) rotate(0) rotateX(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.hero-doll img,.hero-doll.visible img{animation:none;opacity:1;transform:none;filter:none;will-change:auto}}

#tempo .shrug-doll,#tempo .copy{transition:none;will-change:transform;}
#tempo .shrug-doll{transform-origin:50% 65%;}
@media(prefers-reduced-motion:reduce){#tempo .shrug-doll,#tempo .copy{will-change:auto;}}

/* Small steps from the right; animate only the image to keep the entrance independent. */
#promessa .idea-doll{opacity:1;translate:none;transition:none;}
#promessa .idea-doll img{opacity:0;transform:translate3d(270px,0,0);transform-origin:50% 94%;}
#promessa .idea-doll.walking-in img{animation:walk-in-right 2s linear both;}
@keyframes walk-in-right{
 0%{opacity:0;transform:translate3d(270px,0,0) rotate(8deg)}
 8%{opacity:1;transform:translate3d(248px,-8px,0) rotate(6deg)}
 20%{transform:translate3d(216px,0,0) rotate(-7deg)}
 32%{transform:translate3d(184px,-9px,0) rotate(7deg)}
 44%{transform:translate3d(151px,0,0) rotate(-6deg)}
 56%{transform:translate3d(119px,-8px,0) rotate(6deg)}
 68%{transform:translate3d(86px,0,0) rotate(-5deg)}
 80%{transform:translate3d(54px,-6px,0) rotate(4deg)}
 90%{transform:translate3d(27px,0,0) rotate(-3deg)}
 100%{opacity:1;transform:translate3d(0,0,0) rotate(0)}
}
@media(prefers-reduced-motion:reduce){#promessa .idea-doll img,#promessa .idea-doll.walking-in img{animation:none;opacity:1;transform:none;}}

/* The central portrait fills the space while keeping notes clear. */
.personality .about-doll{width:400px;top:48%;overflow:visible}
.about-doll>img{opacity:0;transform-origin:50% 10%;}
.about-doll.portrait-stuck>img{animation:portrait-stick 1.1s cubic-bezier(.16,1,.3,1) both;}
@keyframes portrait-stick{
 from{opacity:0;transform:translate3d(14px,-35px,0) rotate(8deg) scale(1.045)}
 to{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}
}
.pencil-heart{position:absolute;width:54px;height:54px;pointer-events:none;color:#805337;opacity:0;transform:rotate(var(--heart-angle));}
.pencil-heart svg{display:block;width:100%;height:100%;overflow:visible}
.pencil-heart path{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:220;stroke-dashoffset:220;}
.pencil-main{stroke-width:1.7}.pencil-echo{stroke-width:.75;opacity:.42}
.heart-one{left:3%;top:17%;width:46px;height:46px}
.heart-two{right:0;top:35%;width:60px;height:60px}
.heart-three{left:6%;top:62%;width:35px;height:35px}
.portrait-stuck .pencil-heart{animation:heart-arrive .35s ease .85s forwards,heart-drift 3.8s ease-in-out 1.2s infinite;}
.portrait-stuck .heart-two{animation-delay:1.1s,1.45s;animation-duration:.35s,4.5s}
.portrait-stuck .heart-three{animation-delay:1.35s,1.7s;animation-duration:.35s,3.4s}
.portrait-stuck .pencil-heart path{animation:pencil-draw 1s ease .85s forwards}
.portrait-stuck .heart-two path{animation-delay:1.1s}.portrait-stuck .heart-three path{animation-delay:1.35s}
@keyframes pencil-draw{to{stroke-dashoffset:0}}
@keyframes heart-arrive{to{opacity:1}}
@keyframes heart-drift{0%,100%{transform:translateY(0) rotate(var(--heart-angle))}50%{transform:translateY(-6px) rotate(calc(var(--heart-angle) + 5deg))}}
@media(max-width:1000px) and (min-width:761px){.personality .about-doll{width:350px}}
@media(max-width:760px){
 .personality .about-doll{width:280px;top:255px}
 .heart-one{left:0;top:20%;width:35px;height:35px}
 .heart-two{right:-3%;top:40%;width:40px;height:40px}
 .heart-three{left:3%;top:68%;width:27px;height:27px}
}
@media(prefers-reduced-motion:reduce){
 .about-doll>img,.about-doll.portrait-stuck>img{animation:none;opacity:1;transform:none}
 .pencil-heart,.portrait-stuck .pencil-heart{animation:none;opacity:1}
 .pencil-heart path,.portrait-stuck .pencil-heart path{animation:none;stroke-dashoffset:0}
}

#contacto{overflow:hidden}
#contacto .farewell.reveal{opacity:1;translate:none;transition:none}
#contacto .farewell>img{max-width:400px;max-height:665px;opacity:0;transform:translate3d(270px,0,0);transform-origin:50% 94%}
#contacto .farewell.farewell-walk>img{animation:walk-in-right 2s linear both}
@media(max-width:760px){#contacto .farewell>img{max-width:320px;max-height:500px}}
@media(prefers-reduced-motion:reduce){#contacto .farewell>img,#contacto .farewell.farewell-walk>img{animation:none;opacity:1;transform:none}}

/* Static pencil marks around the editorial pages. */
.static-doodles{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.margin-doodle{position:absolute;display:block;width:29px;height:29px;color:#775334;opacity:.65;animation:none!important}
.margin-doodle svg{width:100%;height:100%;display:block;overflow:visible}
.margin-doodle path{stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.margin-doodle .graphite-echo{stroke-width:.45;opacity:.4}
.doodle-1{left:2%;top:25%;transform:rotate(-16deg)}
.doodle-2{right:2%;top:63%;transform:rotate(13deg);width:33px;height:33px}
.doodle-3{left:30%;bottom:27px;transform:rotate(-8deg);width:23px;height:23px}
#tempo .doodle-1{top:12%;left:30%}
#promessa .doodle-2{top:35%}
#andreia .doodle-1{top:10%;left:3%}
#andreia .doodle-2{top:57%;right:1%}
#percurso .doodle-1{left:2%;top:19%}
#percurso .doodle-2{right:2%;top:72%}
#contacto .doodle-1{top:11%;left:45%}
#contacto .doodle-2{top:65%;right:1%}
/* All hand-drawn hearts now remain still as requested. */
.portrait-stuck .pencil-heart,.portrait-stuck .heart-two,.portrait-stuck .heart-three{animation:heart-arrive .35s ease .85s forwards}
.portrait-stuck .heart-two{animation-delay:1.1s}.portrait-stuck .heart-three{animation-delay:1.35s}
@media(max-width:760px){
 .margin-doodle{width:20px;height:20px;opacity:.5}
 .doodle-1{left:7px;top:30%}.doodle-2{right:7px;top:70%;width:23px;height:23px}
 .doodle-3{left:42%;bottom:18px;width:18px;height:18px}
 #andreia .doodle-1{top:4%;left:7px}#andreia .doodle-2{right:6px;top:52%}
 #contacto .doodle-1{top:24px;left:75%}
}
@media(prefers-reduced-motion:reduce){.portrait-stuck .pencil-heart{animation:none;opacity:1}}

@media(max-width:760px){.extra-doodle{width:17px!important;height:17px!important;opacity:.35!important}.extra-doodle:nth-child(3n){display:none}}

@media(max-width:760px){.closing-center-doodle{display:none}}

@media(max-width:760px){.promise-center-doodle{display:none}}

.skills-detail{margin:35px 0;border-top:1px dashed #ac875b;padding-top:28px}
.skill-group{margin:22px 0}
.skill-group h4{font:500 23px/1.15 var(--serif);margin-bottom:8px;color:var(--ink)}
.skill-group p,.skills-languages{font-size:12px;line-height:1.8;color:#71543e;margin-bottom:0}
.skills-languages{margin-top:25px}.skills-languages strong{font-weight:500;color:var(--ink)}
.personal-letter{padding:100px 8vw;background:#dcc4a5}
.letter-paper{position:relative;max-width:900px;margin:auto;padding:65px 75px;background:#edddc6;box-shadow:6px 8px 0 #79533120;transform:rotate(-.6deg)}
.letter-paper::before{content:'';position:absolute;top:-13px;left:42%;width:115px;height:30px;background:#b5956370;transform:rotate(5deg)}
.letter-paper h2{font-size:clamp(48px,5.4vw,76px);margin-bottom:35px}
.letter-body{max-width:650px}.letter-body p{font-size:15px;line-height:1.9;margin-bottom:20px;color:#614735}
.letter-signature{font-family:var(--hand);font-size:25px;line-height:1.3;color:#714b32;margin:35px 0 0}
.letter-signature span{font-size:36px}
@media(max-width:760px){.personal-letter{padding:65px 24px}.letter-paper{padding:40px 24px;transform:rotate(-.4deg)}.letter-paper h2{font-size:49px}.letter-body p{font-size:13px;line-height:1.85}.letter-paper .eyebrow{font-size:8px}.letter-signature{font-size:23px}.letter-paper::before{left:35%;width:85px}}
